html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:#fff;color:#172554}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;padding-block:22px;gap:20px}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:15px;padding-block:12px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10;padding:12px}.hero{padding:84px 0 76px;background:radial-gradient(ellipse at 20% 0%,#e5edf8,transparent 65%),linear-gradient(#2457a708 1px,transparent 1px),linear-gradient(90deg,#2457a708 1px,transparent 1px),#f5f7fa;background-size:auto,64px 64px,64px 64px,auto}.eyebrow{color:#2457a7;font-weight:600;margin-bottom:24px}h1{font-size:clamp(38px,5.5vw,76px);line-height:1.45;letter-spacing:-1.3px;max-width:950px}em{font-style:normal;color:#2457a7}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.5;letter-spacing:-.7px;margin-bottom:28px}h3{font-size:24px}.intro{max-width:650px;font-size:20px;line-height:2;margin-block:28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.caption{font-size:14px;color:#526079;margin-top:24px}.story{padding-block:110px 80px;text-align:center}.conversation{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:60px auto 32px;max-width:960px}.voice{text-align:start;border-block-start:3px solid #2457a7;padding:30px;background:#f5f7fa;transform:translateX(var(--shift,0px));will-change:transform}.voice.teacher{border-color:#167b86;transform:translateX(calc(-1 * var(--shift,0px)))}.voice span{font-size:14px;color:#526079}.voice h3{margin-block:16px}.voice p{font-size:16px}.connection{padding:24px}.connection>span{display:block;color:#167b86;font-size:34px}.connection p{margin-top:10px}.audience{background:#f5f7fa;padding-block:96px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.split p{line-height:2;max-width:490px}.split .flow-btn{margin-top:30px}ol{padding-inline-start:28px;counter-reset:steps;list-style:none}li{position:relative;padding:20px 24px;border-bottom:1px solid #cbd4e2}li:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;inset-inline-start:-24px;top:20px;color:#2457a7;font-family:Roboto}li strong{font-size:22px}li p{font-size:16px;margin-top:8px}.teacher-section{padding-block:110px}.editorial{border-inline-start:3px solid #167b86;padding:32px}.editorial>p:first-child{font-size:30px}.editorial hr{border:0;border-top:1px solid #cbd4e2;margin:24px 0}.editorial .body{font-size:16px}.faq{padding-block:40px 100px;max-width:850px}details{border-bottom:1px solid #cbd4e2;padding:20px 0}summary{cursor:pointer;font-size:20px;padding-block:8px}details p{margin-top:16px;line-height:2}.forms{background:#f5f7fa;padding-block:80px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:44px}form{display:flex;flex-direction:column;gap:12px;scroll-margin-top:30px}form h3{margin-bottom:16px}textarea,select{width:100%;padding:12px;border:1px solid #7c8aa5;border-radius:6px;background:white;color:#172554}textarea{min-height:120px;resize:vertical}form label{font-weight:600}form small{color:#526079}form button{margin-top:16px;align-self:start}form [role=status]{font-size:15px;min-height:54px}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:36px;font-size:14px}footer span{display:block;color:#526079}@media(max-width:767px){.wrap{width:calc(100% - 36px)}header{align-items:start}header img{width:80px;height:auto}nav{gap:8px;flex-wrap:wrap}nav a{font-size:13px;padding:8px}h1{letter-spacing:-.7px}.hero{padding-block:52px}.intro{font-size:18px}.story,.teacher-section{padding-block:64px}.conversation,.split,.form-grid{grid-template-columns:1fr;gap:24px}.conversation{margin-top:32px}.voice,.voice.teacher{transform:none!important;will-change:auto}.voice{padding:24px}.audience{padding-block:56px}.editorial{padding:24px}.faq{padding-block:24px 60px}footer{flex-wrap:wrap}summary{font-size:18px}.forms{padding-block:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.voice,.voice.teacher{transform:none!important;will-change:auto}}

/* Review: readable touch navigation and explicit keyboard focus. */
nav a{display:inline-flex;align-items:center;min-height:44px}
:focus-visible{outline:3px solid #2457A7;outline-offset:4px}
@media(max-width:480px){header{flex-wrap:wrap}header nav{width:100%;justify-content:space-between}nav a{font-size:14px}}
textarea[aria-invalid="true"],select[aria-invalid="true"]{border-width:2px}
/* Landing-specific composition; values are review proposals, not global tokens. */
:root{--landing-reveal:560ms;--landing-drift:28s}h1,h2{letter-spacing:normal}h1{font-size:clamp(42px,5.2vw,76px);line-height:1.48}h2{font-size:clamp(30px,3.5vw,50px)}.wrap{width:min(1240px,calc(100% - 80px))}header{padding-block:24px}header img{width:106px}.hero{position:relative;isolation:isolate;overflow:hidden;padding:74px 0 24px;background:var(--flow-brand-canvas)}.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.hero-copy{position:relative;z-index:2}.hero .intro{font-size:18px;max-width:540px}.hero .eyebrow{font-size:14px}.aurora{position:absolute;inset:-25%;z-index:-2;background:radial-gradient(ellipse at 65% 30%,rgb(36 87 167 / .18),transparent 48%),radial-gradient(ellipse at 20% 60%,rgb(22 123 134 / .17),transparent 45%);animation:flow-aurora var(--landing-drift) ease-in-out infinite alternate;animation-play-state:paused}.kinetic{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#2457a70c 1px,transparent 1px),linear-gradient(90deg,#2457a70c 1px,transparent 1px);background-size:72px 72px}.hero.grid-active:before{opacity:0}.hero-art{position:relative;min-height:510px;display:flex;flex-direction:column;justify-content:center;gap:45px;padding:20px}.hero-art article{position:relative;width:74%;padding:26px 32px;border:1px solid #2457a72b;border-radius:20px;background:#fff;box-shadow:0 22px 55px #1725540c}.hero-art .method{align-self:end;background:#172554;color:#fff}.hero-art strong{display:block;font-size:29px;line-height:1.6;margin:12px 0}.hero-art small,.hero-art span{font-size:13px}.hero-art span{display:inline-block;border-top:1px solid #8190a650;padding-top:12px}.link-mark{position:absolute;top:44%;left:46%;z-index:2;background:#167b86;color:white;border:8px solid #e5edf8;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;font-size:28px}.orbit{position:absolute;inset:8% -5%;border:1px solid #2457a723;border-radius:50%;transform:rotate(-28deg)}.orbit-two{inset:20% -12%;transform:rotate(28deg)}.art-note{font-size:13px;text-align:center}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #2457a722;margin-top:64px;padding-top:22px;font-size:12px}.hero-bottom button{background:transparent;border:1px solid #8190a6;border-radius:8px;min-height:44px;padding:8px 14px;color:#172554}.hero-bottom a{padding:12px}.story{background:#172554;color:white;text-align:start;padding:120px 0}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start}.story-heading{position:sticky;top:64px}.story .eyebrow{color:#E5EDF8}.story-heading>p{max-width:440px}.story-beats{border-inline-start:1px solid #e5edf833;padding-inline-start:44px}.beat{padding:30px 0 80px;min-height:340px;perspective:900px}.beat:last-child{padding-bottom:0}.step{font-size:12px;color:#E5EDF8;display:block;margin-bottom:30px}.beat h3{font-size:30px;margin-bottom:24px}.beat p{color:#E5EDF8;font-size:18px}.story-link{display:inline-block;color:white;margin-top:24px;padding:10px 0}.story-diagram{margin-top:52px;display:flex;align-items:center;gap:15px}.story-diagram svg{width:65%;height:100px;overflow:visible}.story-diagram path{fill:none;stroke-width:3}.track{stroke:#e5edf833}.progress{stroke:#E5EDF8;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--progress,1))}.audience{background:white;padding-block:120px}.split{gap:100px}.route-list{padding:32px 48px;background:#F5F7FA;border-radius:20px}.route-list li{padding-block:28px}.teacher-section{border-top:1px solid #CBD5E1;padding-block:120px}.editorial{background:#E5EDF8;border:0;border-radius:100px 12px 12px 12px;padding:60px 42px}.editorial>p:first-child{font-size:34px}.principles{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;padding-block:60px 120px}.principle-list article{position:relative;padding:28px 56px 28px 20px;border-top:1px solid #CBD5E1;transition:background-color 200ms}.principle-list article>span{position:absolute;right:0;color:#167B86}.principle-list p{margin-top:10px}.faq{padding-block:80px 110px}.forms{background:#E5EDF8}.boundary{position:relative;background:white;padding:48px;border:1px solid #8190a6;border-radius:20px}.boundary:before{content:'';position:absolute;top:-2px;right:8%;width:90px;height:3px;background:#167B86;animation:flow-boundary 10s ease-in-out infinite alternate;animation-play-state:paused}.in-view .aurora,.boundary.in-view:before{animation-play-state:running}.paused .aurora,.paused .boundary:before{animation-play-state:paused!important}@keyframes flow-aurora{to{transform:translate(5%,4%) rotate(8deg)}}@keyframes flow-boundary{to{right:75%}}@keyframes flow-enter{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal-enter{animation:flow-enter var(--landing-reveal) var(--flow-motion-ease) both}@media(hover:hover){.principle-list article:hover{background:#E5EDF8}.flow-btn:hover{transform:translateY(-2px)}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-layout{gap:24px}.hero-art{padding:0;min-height:440px}.hero-art article{width:90%;padding:22px}.hero-art strong{font-size:24px}.story-layout{gap:48px}.split{gap:40px}.principles{gap:40px}}@media(max-width:767px){.wrap{width:calc(100% - 36px)}header{gap:12px}header nav{width:auto}.hero{padding-top:36px}.hero-layout{grid-template-columns:1fr;gap:24px}.hero-art{max-width:460px;width:100%;margin:auto;min-height:440px}.hero-art article{width:70%;padding:22px 26px}.hero-art strong{font-size:26px}.hero-bottom{flex-wrap:wrap;margin-top:28px}.hero-bottom span{width:100%;font-size:10px}.story{padding-block:64px}.story-layout{grid-template-columns:1fr;gap:32px}.story-heading{position:static}.story-diagram{margin-top:24px}.story-beats{padding-inline-start:22px}.beat{min-height:0;padding:24px 0 44px}.beat h3{font-size:25px}.beat p{font-size:17px}.step{margin-bottom:16px}.audience,.teacher-section{padding-block:64px}.route-list{padding:20px 40px}.editorial{padding:44px 28px}.principles{grid-template-columns:1fr;gap:24px;padding-block:32px 64px}.faq{padding-block:40px 64px}.boundary{padding:24px}.form-grid{gap:44px}.aurora,.boundary:before{animation:none!important}.kinetic{display:none}.hero.grid-active:before{opacity:1}.hero:before{background-size:48px 48px}.reveal-enter{animation:none}}@media(prefers-reduced-motion:reduce){.aurora,.boundary:before,.reveal-enter{animation:none!important}.kinetic{display:none}.hero.grid-active:before{opacity:1}.flow-btn:hover{transform:none}.story-heading{position:static}}@media(forced-colors:active){.aurora,.kinetic,.orbit{display:none}.hero-art article,.boundary{border:1px solid CanvasText}}
.story-layout>*{min-width:0}.story-diagram svg{min-width:0;flex:1}.story-diagram span{flex:none}.hero-bottom span{overflow-wrap:anywhere}

/* Approved soft orbit points and tails */

.hero-connector-gap{height:65px;width:65px;flex:none;align-self:center;margin:-48px 0}
.hero-art .orbit{pointer-events:none}
.hero-art .orbit::after{content:"";position:absolute;left:0;top:0;width:36px;height:8px;border-radius:50%;background:radial-gradient(ellipse 7px 4px at 80% 50%,rgba(36,87,167,.85) 0%,rgba(36,87,167,.58) 38%,rgba(36,87,167,0) 100%),linear-gradient(90deg,transparent 0%,rgba(36,87,167,.04) 12%,rgba(36,87,167,.18) 45%,rgba(36,87,167,.38) 72%,transparent 100%);filter:blur(.65px);opacity:.82;offset-path:ellipse(50% 50% at 50% 50%);offset-anchor:80% 50%;offset-rotate:auto;animation:flow-orbit-travel 14s linear infinite}
.hero-art .orbit-two::after{background:radial-gradient(ellipse 7px 4px at 80% 50%,rgba(22,123,134,.85) 0%,rgba(22,123,134,.58) 38%,rgba(22,123,134,0) 100%),linear-gradient(90deg,transparent 0%,rgba(22,123,134,.04) 12%,rgba(22,123,134,.18) 45%,rgba(22,123,134,.38) 72%,transparent 100%);offset-rotate:auto 180deg;animation-duration:19s;animation-delay:-8s;animation-direction:reverse}
@keyframes flow-orbit-travel{from{offset-distance:0%}to{offset-distance:100%}}
@media(prefers-reduced-motion:reduce){.hero-art .orbit::after{animation:none;offset-distance:22%}}
@supports not (offset-path:ellipse(50% 50% at 50% 50%)){.hero-art .orbit::after{display:none}}
