:root{--ink:#101d2d;--text:#334454;--muted:#657586;--blue:#3659eb;--blue-dark:#2443c8;--ice:#eef3ff;--lime:#d9fa8b;--canvas:#f7f9fc;--white:#fff;--line:#e2e8ef;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffa44d;outline-offset:4px}.wrap{max-width:1200px;width:calc(100% - 64px);margin:auto}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{text-decoration:none;font-size:1.04rem;font-weight:750;letter-spacing:0;white-space:nowrap;display:flex;align-items:center;gap:10px}.brand:before{content:"✳";display:grid;place-items:center;background:var(--blue);color:white;width:34px;height:34px;border-radius:10px;font-size:1.22rem;line-height:1}.links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.links a{text-decoration:none;color:var(--text);font-size:.91rem;font-weight:650}.links a:hover,.links a[aria-current=page]{color:var(--blue)}.nav-cta{border:1px solid var(--line);border-radius:999px;padding:10px 18px!important}.hero{background:var(--white);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:5%;align-items:center;padding:76px 0 90px}.eyebrow,.kicker,.proof{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--blue);margin:0 0 20px}.hero h1{font-size:clamp(3.3rem,6.4vw,6.3rem);font-weight:700;letter-spacing:0;word-spacing:.06em;line-height:1.15;margin:0 0 25px;max-width:760px}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{font-size:1.17rem;color:var(--text);max-width:590px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:white;border-radius:999px;font-size:.91rem;font-weight:750;padding:14px 22px;text-decoration:none;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:var(--blue-dark);transform:translateY(-2px)}.button.secondary{background:#eef2ff;color:var(--blue)}.button.secondary:hover{background:#dfe7ff}.hero-photo{position:relative;min-height:510px}.hero-photo img{width:100%;height:510px;object-fit:cover;object-position:50% 53%;border-radius:160px 20px 160px 20px;display:block}.photo-chip{position:absolute;left:-35px;bottom:32px;max-width:280px;background:white;border-radius:16px;padding:18px 20px;box-shadow:0 24px 65px #17315028;font-size:.91rem;font-weight:750;line-height:1.35}.photo-chip span{display:block;font-size:.73rem;letter-spacing:.12em;color:var(--blue);text-transform:uppercase;margin-bottom:6px}.strip{background:var(--ink);color:#dce4ef}.strip .wrap{display:flex;gap:30px;justify-content:space-between;align-items:center;min-height:92px}.strip strong{color:white;font-size:.97rem}.strip p{margin:0;font-size:.9rem;max-width:650px}.section{padding:110px 0}.section-head{max-width:750px;margin-bottom:48px}.section-head h2{margin-bottom:18px}h2{font-size:clamp(2.45rem,4.4vw,4.1rem);font-weight:700;letter-spacing:0;word-spacing:.06em;line-height:1.21;margin:0 0 24px}h3{font-size:clamp(1.9rem,3.2vw,3rem);font-weight:700;letter-spacing:0;word-spacing:.06em;line-height:1.25;margin:0 0 15px}.lead{font-size:1.14rem;color:var(--text);line-height:1.7;margin:0 0 22px}.muted{color:var(--muted)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.feature p:not(.proof){max-width:560px}.visual{position:relative}.visual img{display:block;width:100%;height:470px;object-fit:cover;border-radius:var(--radius)}.visual.photo-school img{object-position:50% 50%}.visual.photo-home img{object-position:50% 50%}.visual .caption{position:absolute;bottom:22px;left:22px;right:22px;border-radius:13px;background:#ffffffeb;padding:17px 20px;font-weight:750;max-width:345px;backdrop-filter:blur(10px);box-shadow:0 10px 32px #1a31522b}.caption small{display:block;color:var(--blue);font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.soft{background:var(--ice)}.feature.reverse .visual{order:-1}.fine{font-size:.87rem;line-height:1.6}.status{display:inline-flex;align-items:center;gap:8px;background:#ecf2ff;color:#2443bc;border-radius:99px;padding:8px 13px;font-size:.76rem;font-weight:800;letter-spacing:.03em;margin:0 0 22px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.orange{background:#fff1dc;color:#99621a}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.flow div{background:white;border:1px solid var(--line);border-radius:15px;padding:24px}.flow b{color:var(--blue);display:block;font-size:1.2rem;margin-bottom:8px}.flow span{font-size:.92rem;color:var(--text)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:29px;display:flex;flex-direction:column;min-height:265px;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 16px 38px #1a315215;transform:translateY(-3px)}.card .tag{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 20px}.card h3{font-size:1.53rem;letter-spacing:0;word-spacing:.05em;line-height:1.3}.card p{margin:0 0 16px;color:var(--text)}.card .fine{margin-top:auto}.card a{margin-top:auto;color:var(--blue);font-size:.91rem;font-weight:750}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%;align-items:start}.about-grid p{max-width:760px}.site-footer{background:var(--ink);color:#d6e1ed;padding:48px 0}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font-size:.9rem}.small{font-size:.79rem;color:#aebed0;margin-top:25px}.page-intro{padding:80px 0 68px;background:var(--white);border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(3rem,5.5vw,5.3rem);font-weight:700;letter-spacing:0;word-spacing:.06em;line-height:1.18;margin:0 0 20px;max-width:800px}.page-intro p:not(.eyebrow){font-size:1.1rem;color:var(--text);max-width:740px}.jump{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px}.jump a{text-decoration:none;color:var(--blue);background:var(--ice);padding:9px 15px;border-radius:100px;font-size:.85rem;font-weight:700}.catalog{padding:80px 0}.catalog section{padding-bottom:78px;margin-bottom:78px;border-bottom:1px solid var(--line)}.catalog h2{font-size:clamp(2.3rem,3.8vw,3.3rem)}.catalog .lead{max-width:720px}.catalog .card{min-height:285px}.catalog .card .muted{font-size:.91rem}.document{max-width:790px;padding:70px 0 100px}.document h2{font-size:1.55rem;letter-spacing:0;word-spacing:.05em;line-height:1.3;margin:42px 0 11px}.document p,.document li{color:var(--text)}.document ul{padding-left:24px}.draft{background:#fff6e8;border:1px solid #f3d8aa;border-radius:14px;padding:20px 23px;margin:28px 0 36px;color:#62420e}@media(max-width:800px){.wrap{width:calc(100% - 38px)}.nav{min-height:70px;align-items:flex-start;flex-direction:column;padding:16px 0}.links{gap:17px}.nav-cta{padding:0!important;border:0}.hero-inner,.feature,.about-grid{grid-template-columns:1fr;gap:40px}.hero-inner{padding:60px 0 68px}.hero-photo{min-height:0}.hero-photo img{height:340px;border-radius:70px 15px 70px 15px}.photo-chip{left:12px;bottom:12px;max-width:245px}.strip .wrap{display:block;padding:20px 0}.strip p{margin-top:6px}.section{padding:70px 0}.feature.reverse .visual{order:0}.visual img{height:340px}.cards,.flow{grid-template-columns:1fr}.card,.catalog .card{min-height:0}.page-intro{padding:60px 0 45px}.catalog{padding:55px 0}.catalog section{padding-bottom:55px;margin-bottom:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Visual refresh: a richer canvas, distinct product moments, and editorial type. */
:root {
  --ink: #17213b;
  --text: #39445c;
  --muted: #68738b;
  --blue: #4d55d9;
  --blue-dark: #363ec0;
  --ice: #edf0ff;
  --canvas: #f5f3f8;
  --line: #dddfea;
  --radius: 26px;
}
body {
  background: #f5f3f8;
  background-image: radial-gradient(circle at 8% 35%, #e7e8fa 0, transparent 34%),
    radial-gradient(circle at 92% 78%, #ffeadc 0, transparent 32%);
}
.site-header {
  background: #fdfbfa;
  border-bottom-color: #e8e5ed;
}
.brand:before {
  background: linear-gradient(145deg, #6e76e8, #3d3a9a);
  border-radius: 12px;
  box-shadow: 0 8px 22px #4845ad33;
}
.hero {
  position: relative;
  isolation: isolate;
  background: #141d39;
  background-image: radial-gradient(ellipse at 77% 20%, #5965b454 0, transparent 43%),
    radial-gradient(ellipse at 12% 88%, #394bb464 0, transparent 48%),
    linear-gradient(120deg, #121b36, #202f55);
  color: #fff;
}
.hero:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(52vw, 690px);
  aspect-ratio: 1;
  top: -33%;
  right: -16%;
  border-radius: 50%;
  border: 1px solid #ffffff24;
  box-shadow: 0 0 0 90px #ffffff08, 0 0 0 180px #ffffff07;
  pointer-events: none;
}
.hero-inner { padding: 86px 0 100px; gap: 7%; }
.hero h1, .page-intro h1 { letter-spacing: -.018em; word-spacing: 0; }
.hero h1 { max-width: 690px; font-weight: 700; line-height: 1.13; }
.hero h1 em { color: #b9c1ff; }
.hero .eyebrow { color: #b6c3ff; }
.hero p:not(.eyebrow) { color: #dae2f1; }
.hero .button { background: #c6d4ff; color: #18244c; }
.hero .button:hover { background: #fff; }
.hero .button.secondary { background: #ffffff18; color: #fff; border: 1px solid #ffffff48; }
.hero .button.secondary:hover { background: #ffffff2d; }
.hero-photo { transform: rotate(2deg); }
.hero-photo img {
  border-radius: 38% 22px 38% 22px;
  height: 535px;
  object-position: 50% 53%;
  box-shadow: 0 28px 75px #070c2770;
}
.photo-chip { color: var(--ink); transform: rotate(-2deg); }
.strip { background: #e3e6ff; color: #34415f; }
.strip strong { color: #242e63; }
.section { position: relative; }
.section:not(.soft) { background: transparent; }
.section.soft {
  background: #f6eae2;
  background-image: radial-gradient(circle at 4% 95%, #eccbba 0, transparent 34%),
    linear-gradient(120deg, #fff3e7, #eeeafa);
}
.section-head h2, .about-grid h2, .catalog h2 { letter-spacing: -.018em; word-spacing: 0; line-height: 1.17; }
.section-head { max-width: 830px; }
.kicker { color: #5755b6; }
.feature { gap: 8%; }
.visual img { box-shadow: 0 25px 60px #26315a25; }
.visual.photo-home img { object-position: 50% 50%; }
.visual .caption {
  background: #fcfbf4eb;
  border: 1px solid #ffffffbd;
  box-shadow: 0 14px 40px #26243a35;
}
.find-caption { display: grid; gap: 4px; }
.find-caption span { color: #27304b; font-size: 1.2rem; }
.find-caption strong { color: #4b4aa8; font-size: .88rem; }
.find-caption i { font-style: normal; padding: 0 3px; }
.flow { gap: 14px; }
.flow div { background: #ffffffbd; border-color: #ffffff; box-shadow: 0 8px 30px #734d6420; }
.flow b { font-size: 1.07rem; }
.card {
  background: #ffffffd9;
  backdrop-filter: blur(10px);
  border: 1px solid #ffffff;
  border-radius: 23px;
  box-shadow: 0 14px 34px #2733550e;
}
.card:hover { box-shadow: 0 22px 44px #27335520; }
.card:nth-child(3n + 2) { background: #f0efffe8; }
.card:nth-child(3n + 3) { background: #fff4eae8; }
.card .tag { color: #605dc0; }
.card h3 { letter-spacing: -.012em; line-height: 1.24; }
.about-grid { border-top: 1px solid #dcdde9; padding-top: 42px; }
.page-intro {
  background: #1a2443;
  background-image: radial-gradient(circle at 87% 12%, #5e66ba75 0, transparent 36%),
    radial-gradient(circle at 0 100%, #4843a06b 0, transparent 45%);
  color: #fff;
  border: 0;
}
.page-intro .eyebrow { color: #bdc8ff; }
.page-intro p:not(.eyebrow) { color: #dbe3f4; }
.jump a { background: #ffffff1c; border: 1px solid #ffffff50; color: #fff; }
.jump a:hover { background: #ffffff31; }
.catalog { background: transparent; }
.catalog section { scroll-margin-top: 25px; }
.site-footer { background: #111a32; }
@media (max-width: 800px) {
  .hero-inner { padding: 62px 0 72px; }
  .hero h1 { font-size: clamp(3.1rem, 11vw, 4.8rem); }
  .hero-photo { transform: none; }
  .hero-photo img { height: 390px; border-radius: 95px 17px 95px 17px; }
  .photo-chip { transform: none; }
  .section-head h2 { font-size: clamp(2.5rem, 9vw, 3.6rem); }
}
