.entry-header { position: fixed; z-index: 40; isolation: isolate; top: 16px; left: max(24px, calc((100vw - 1440px) / 2)); right: max(24px, calc((100vw - 1440px) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 9px 20px; color: #fff; background: radial-gradient(ellipse at 8% 0%, #72cccb20, transparent 55%), linear-gradient(115deg, #172f4a70, #12233b66 50%, #29425450); border: 1px solid #ffffff30; border-radius: 24px; box-shadow: 0 12px 36px #00122426, 0 2px 4px #00122418, inset 0 2px 3px #ffffff38, inset 0 -2px 4px #72cccb18; backdrop-filter: blur(24px) saturate(170%); -webkit-backdrop-filter: blur(24px) saturate(170%); transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.entry-header > * { position: relative; z-index: 1; }
.entry-header::after { content: ""; position: absolute; z-index: 0; top: 1px; left: 20px; right: 20px; height: 18px; border-radius: inherit; background: linear-gradient(180deg, #ffffff24, #ffffff00); pointer-events: none; }
@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
  .entry-header::before, .intro-question-card::before { content: ""; position: absolute; z-index: 0; inset: -1px; padding: 1px; border-radius: inherit; background: linear-gradient(125deg, #ffffffb3, #72cccb52 28%, #ffffff12 50%, #b89bf866 76%, #ffffff94); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
}
.entry-brand { display: flex; align-items: center; justify-self: start; }
.entry-logo-pair { display: grid; }
.entry-logo { grid-area: 1 / 1; width: 240px; height: 50px; object-fit: contain; transition: opacity .25s ease; }
.entry-logo-light { opacity: 0; }
.audience-switch { display: flex; padding: 3px; gap: 3px; border: 1px solid #ffffff25; border-radius: 999px; background: #06122126; box-shadow: inset 0 2px 5px #00122418, 0 1px 0 #ffffff1c; }
.audience-switch button { border: 0; border-radius: 999px; background: transparent; color: #d2dce9; padding: 8px 20px; font-size: 13px; min-height: 38px; transition: background .25s, color .25s; }
.audience-switch button[aria-pressed="true"] { background: linear-gradient(165deg, #f1fffb, #c9ece6 55%, #a7d8d4); color: #06142f; box-shadow: 0 3px 9px #00122424, inset 0 1px 1px #fff, inset 0 -2px 4px #72cccb4d; }
body[data-audience="parent"] .audience-switch button[aria-pressed="true"] { background: linear-gradient(165deg, #fff9fd, var(--ai-pink-soft) 55%, #f5c6ea); color: var(--ai-pink-text); box-shadow: 0 3px 9px #00122424, inset 0 1px 1px #fff, inset 0 -2px 4px #f59add40; }
.entry-header .motion-toggle { justify-self: end; color: #d7e7ed; width: 38px; height: 38px; border: 1px solid #ffffff29; background: #ffffff0d; box-shadow: inset 0 1px 1px #ffffff40, 0 2px 5px #00122414; }
.entry-header .motion-toggle:hover { background: #ffffff15; }
.entry-header :focus-visible, .intro :focus-visible { outline-color: var(--ai-mint); }

.entry-header[data-tone="light"] { color: var(--ai-navy); background: radial-gradient(ellipse at 8% 0%, #72cccb18, transparent 55%), radial-gradient(ellipse at 92% 100%, #b89bf81c, transparent 50%), linear-gradient(115deg, #ffffff99, #f3f9ff66 55%, #ffffff70); border-color: #ffffff99; box-shadow: 0 12px 36px #24529b14, 0 2px 4px #24529b12, inset 0 2px 3px #fff, inset 0 -2px 4px #b7ccdc40; }
.entry-header[data-tone="light"]::before { background: linear-gradient(125deg, #fff, #72cccb6b 28%, #24529b14 50%, #b89bf857 76%, #fff); }
.entry-header[data-tone="light"]::after { background: linear-gradient(180deg, #ffffffb3, #ffffff00); }
.entry-header[data-tone="light"] .entry-logo { opacity: 0; }
.entry-header[data-tone="light"] .entry-logo-light { opacity: 1; }
.entry-header[data-tone="light"] .audience-switch { background: #dcebf12e; border-color: #24529b12; box-shadow: inset 0 2px 5px #24529b0d, 0 1px 0 #ffffffb3; }
.entry-header[data-tone="light"] .audience-switch button:not([aria-pressed="true"]) { color: #466276; }
.entry-header[data-tone="light"] .motion-toggle { color: #466276; border-color: #24529b22; background: #ffffff59; }
.entry-header[data-tone="light"] .motion-toggle:hover { background: #ffffffb3; }
.entry-header[data-tone="light"] :focus-visible { outline-color: var(--ai-blue); }

.intro { position: relative; background: var(--ai-space); color: #fff; }
.intro-scroll { height: 430svh; }
.intro-stage { position: sticky; top: 0; height: 100svh; min-height: 700px; overflow: clip; isolation: isolate; }
.intro-layers, .intro-shade { position: absolute; inset: 0; z-index: -3; }
.intro-image { position: absolute; top: 0; bottom: 0; left: -30%; width: 130%; max-width: none; height: 100%; object-fit: cover; object-position: center; opacity: 0; will-change: opacity, transform; }
.intro-image.is-active { opacity: 1; }
.intro-shade { z-index: -2; background: linear-gradient(90deg, #091423e6 0%, #102038a3 35%, #12213a22 65%, #101d3029 100%), linear-gradient(0deg, #0a172ade, transparent 40%, #0715264d); }
.intro-form { position: relative; height: 100%; }
.intro-frame { position: relative; height: 100%; display: grid; grid-template-columns: 1fr 360px; align-items: center; gap: 70px; padding: 140px max(54px, calc((100vw - 1320px) / 2)) 130px; }
.js-ready .intro:not(.is-stacked) .intro-frame { position: absolute; inset: 0; opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .45s ease, transform .6s cubic-bezier(.2,.65,.3,1); }
.js-ready .intro:not(.is-stacked) .intro-frame.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.intro-mobile-art { display: none; }
.intro-copy { max-width: 640px; align-self: center; }
.intro-kicker { font: 600 10px var(--ai-sans); letter-spacing: 2.4px; color: #c4d8e6; display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.intro-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ai-mint); }
.intro-greeting { display: block; font-size: 17px; color: #c0f0e6; margin-bottom: 18px; min-height: 30px; }
.intro-copy h1, .intro-copy h2 { font-size: clamp(42px, 4.5vw, 68px); line-height: 1.25; font-weight: 700; letter-spacing: 0; }
.intro-copy h1 em, .intro-copy h2 em { font-style: normal; color: var(--ai-mint); }
body[data-audience="parent"] .intro-copy h1 em, body[data-audience="parent"] .intro-copy h2 em { color: var(--ai-pink); }
.intro-tagline { font: 28px/1.3 var(--ai-heading); margin-top: 24px; color: #eef1fa; }
.intro-tagline em { color: var(--ai-violet); }
.intro-description { font-size: 17px; color: #d0ddeb; line-height: 1.9; max-width: 510px; margin-top: 23px; }
.intro-question-card { position: relative; isolation: isolate; align-self: end; margin-bottom: 10px; padding: 28px; border-radius: 24px; background: radial-gradient(ellipse at 8% 0%, #72cccb16, transparent 55%), radial-gradient(ellipse at 92% 100%, #b89bf812, transparent 50%), linear-gradient(115deg, #17324abb, #11243ab8 52%, #204153b3); border: 1px solid #ffffff30; box-shadow: 0 22px 64px #020c2440, 0 3px 8px #0012242b, inset 0 2px 3px #ffffff4d, inset 0 -2px 5px #72cccb21; backdrop-filter: blur(24px) saturate(170%); -webkit-backdrop-filter: blur(24px) saturate(170%); }
.intro-question-card > * { position: relative; z-index: 1; }
.intro-question-card::after { content: ""; position: absolute; z-index: 0; top: 1px; left: 24px; right: 24px; height: 56px; border-radius: inherit; background: linear-gradient(180deg, #ffffff1c, #ffffff00); pointer-events: none; }
.intro-question-card .card-eyebrow { display: block; font: 9px var(--ai-sans); letter-spacing: 2px; color: #c9deed; margin-bottom: 13px; }
.intro-question-card h3 { font-size: 23px; font-weight: 600; line-height: 1.5; }
.intro-question-card > p { font-size: 13px; color: #e1eaf4; margin-top: 9px; }
.intro-fields { display: grid; gap: 16px; margin-top: 21px; }
.intro-fields label { display: block; font-size: 13px; color: #e1eaf4; }
.intro input[type="text"], .intro select { display: block; width: 100%; padding: 12px 14px; min-height: 46px; border-radius: 11px; border: 1px solid #ffffff33; background: #091a2e70; box-shadow: inset 0 2px 5px #03102040, inset 0 -1px 0 #ffffff1a; color: #fff; margin-top: 8px; font-size: 16px; outline-offset: 3px; }
.intro input::placeholder { color: #bed0df; }
.intro select option { color: #18334d; background: #fff; }
.intro-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 23px; }
.intro-card-actions .button { min-height: 44px; font-size: 13px; padding: 11px 18px; }
.intro-question-card .button-mint { background: linear-gradient(165deg, #eafff8, #b7e7df 55%, var(--ai-mint)); box-shadow: 0 4px 14px #00122426, inset 0 1px 1px #fff, inset 0 -2px 4px #08756f24; }
.intro-skip { border: 0; background: transparent; color: #c4d7e2; font-size: 12px; padding: 10px 3px; }
.intro-skip:hover { color: #fff; text-decoration: underline; }
.exam-options { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; border: 0; padding: 0; }
.exam-options legend { font-size: 13px; color: #cddce8; padding: 0 0 12px; }
.exam-options label { position: relative; cursor: pointer; display: inline-flex; }
.exam-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.exam-options span { display: inline-flex; align-items: center; justify-content: center; padding: 11px 16px; min-height: 44px; border-radius: 999px; color: #e4edf6; background: linear-gradient(165deg, #ffffff0d, #0a1c324d); border: 1px solid #ffffff2e; box-shadow: inset 0 1px 1px #ffffff24; font-size: 13px; }
.exam-options input:checked + span { background: linear-gradient(165deg, #eafff8, #c5eeeb 55%, #a7d8d4); color: #06142f; border-color: #c5eeeb; box-shadow: 0 3px 8px #00122426, inset 0 1px 1px #fff, inset 0 -2px 4px #72cccb4d; }
.exam-options input:focus-visible + span { outline: 3px solid var(--ai-mint); outline-offset: 3px; }
.intro-note { font-size: 11px !important; color: #cbdce8 !important; line-height: 1.8; }
.profile-summary { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.profile-summary span { border-radius: 8px; font-size: 12px; color: #dbefef; background: #91dfd41a; border: 1px solid #91dfd432; padding: 6px 10px; overflow-wrap: anywhere; }
.remember-profile { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; color: #d0dee9; margin-top: 20px; }
.remember-profile input { accent-color: var(--ai-mint); margin-top: 5px; }
.profile-status { font-size: 12px; color: #c0f0e6; margin-top: 15px; }
.intro-question-card .profile-save { width: 100%; margin-top: 19px; }
.profile-links { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; font-size: 12px; color: #d8e5ec; }
.profile-links button { background: transparent; border: 0; color: #adc2d3; font-size: 11px; padding: 8px 0; }
.profile-links a { padding: 8px 0; }
.profile-links a:hover { text-decoration: underline; }

.scene-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.scene-art-note { position: absolute; top: 28px; right: 30px; font-size: 10px; color: #d1dce8; text-shadow: 0 2px 12px #000; }
.route-section, .team-scene, .closing-scene { scroll-margin-top: -104px; }
.team-scene { position: relative; isolation: isolate; overflow: hidden; background: #101b2a; color: #fff; margin-block: 40px 80px; }
.team-scene .scene-art { object-position: 70%; }
.team-scene::before, .closing-scene::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #091423ed, #101b2a9c 42%, #101b2a0a 75%), linear-gradient(0deg, #09142380, transparent 45%); }
.team-scene .talk-section { grid-template-columns: minmax(0, 460px) 1fr; gap: 28px; align-items: start; min-height: 100svh; padding: 118px 0 80px; }
.team-scene .talk-section > div { grid-column: 1; }
.team-scene .eyebrow { color: var(--ai-pink); }
.team-scene .accent-navy { color: var(--ai-pink); }
.team-scene .section-copy, .team-scene .small-copy { color: #d1ddea; }
.team-scene .talk-reasons > span { color: #e1eff4; background: #ffffff14; border-color: #ffffff29; }
.team-scene .callback-card { color: var(--ai-ink); background: #f2f8ffe0; border: 1px solid #ffffff66; box-shadow: 0 18px 50px #0002; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); }
.closing.closing-scene { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; min-height: 100svh; border-radius: 0; text-align: left; padding: 130px max(54px, calc((100vw - 1320px) / 2)) 100px; }
.closing-scene h2 { font-size: clamp(38px, 4.1vw, 62px); max-width: 700px; }
.closing-scene p { color: #d0ddeb; }
.closing-scene .closing-word { font-size: clamp(45px, 7vw, 100px); margin: 35px 0 0; opacity: .22; }
@media (max-width: 800px) {
  .team-scene { margin-block: 20px 55px; }
  .team-scene .talk-section { grid-template-columns: 1fr; padding-block: 130px 65px; gap: 32px; }
  .team-scene .talk-section > div { max-width: 440px; }
  .team-scene .scene-art { object-position: 69%; }
  .team-scene::before { background: linear-gradient(180deg, #0b172bbc, #101b2a38 40%, #101b2ab3), linear-gradient(90deg, #0a172ba6, transparent 85%); }
  .closing.closing-scene { padding: 120px 30px 65px; min-height: max(800px, 100svh); }
  .closing-scene .scene-art { object-position: 65%; }
  .closing-scene::before { background: linear-gradient(180deg, #0a172baa, #101b2a38 50%, #101b2ab3), linear-gradient(90deg, #0a172b90, transparent); }
  .closing-scene h2 { font-size: clamp(31px, 7vw, 45px); }
  .closing-scene .scene-art-note, .team-scene .scene-art-note { top: 20px; right: 20px; font-size: 8px; }
}
@media (max-width: 640px) {
  .route-section, .team-scene, .closing-scene { scroll-margin-top: -122px; }
  .closing.closing-scene { padding: 145px 24px 60px; justify-content: flex-start; min-height: max(850px, 100svh); }
  .closing-scene .button-row { width: 100%; max-width: 360px; margin-top: auto; }
  .closing-scene h2 { font-size: clamp(29px, 8vw, 38px); }
  .closing-scene .closing-word { font-size: 50px; margin-top: 22px; }
}

.intro.is-stacked .intro-scroll { height: auto; }
.intro.is-stacked .intro-stage { position: relative; height: auto; min-height: 0; overflow: visible; }
.intro.is-stacked .intro-layers, .intro.is-stacked .intro-shade { display: none; }
.intro.is-stacked .intro-form { height: auto; }
.intro.is-stacked .intro-frame { min-height: 100svh; height: auto; isolation: isolate; overflow: hidden; padding-bottom: 80px; }
.intro.is-stacked .intro-frame::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0c192be6, #11223989 55%, #101e3b26), linear-gradient(0deg, #0b172dc2, transparent 55%); }
.intro.is-stacked .intro-mobile-art { display: block; position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
body:not(.js-ready) .intro-scroll { height: auto; }
body:not(.js-ready) .intro-stage { position: relative; height: auto; }
body:not(.js-ready) .intro-form { height: auto; }
body:not(.js-ready) .intro-frame { min-height: 100svh; }
body:not(.js-ready) .intro-layers { display: none; }
body:not(.js-ready) .intro-mobile-art { display: block; position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1100px) {
  .entry-header { grid-template-columns: auto 1fr auto; gap: 16px; }
  .audience-switch { justify-self: center; }
  .intro-frame { grid-template-columns: 1fr 360px; gap: 35px; padding-inline: 36px; }
  .intro-copy h1, .intro-copy h2 { font-size: 48px; }
  .intro-question-card { padding: 23px; }
  .intro-tagline { font-size: 24px; }
  .intro-description { font-size: 15px; }
}
@media (min-width: 801px) and (max-height: 850px) {
  .intro-frame { padding-top: 140px; padding-bottom: 95px; }
  .intro-copy h1, .intro-copy h2 { font-size: clamp(38px, 4vw, 56px); }
  .intro-greeting { margin-bottom: 12px; }
  .intro-kicker { margin-bottom: 17px; }
  .intro-tagline { font-size: 24px; margin-top: 17px; }
  .intro-description { font-size: 15px; margin-top: 17px; }
  .intro-question-card { padding: 21px; margin-bottom: 0; }
  .intro-fields { gap: 10px; margin-top: 16px; }
  .intro-question-card h3 { font-size: 21px; }
  .intro-card-actions { margin-top: 16px; }
}
@media (max-width: 800px) {
  .entry-header { top: 10px; left: 12px; right: 12px; padding: 8px 14px; gap: 12px; border-radius: 18px; grid-template-columns: auto 1fr auto; }
  .entry-logo { width: 190px; height: 42px; }
  .audience-switch button { font-size: 12px; padding: 8px 14px; }
  .intro-frame { grid-template-columns: 1fr; gap: 28px; }
  .intro.is-stacked .intro-frame { padding: 130px 30px 45px; min-height: max(860px, 100svh); align-content: space-between; }
  .intro-copy { max-width: 530px; }
  .intro-copy h1, .intro-copy h2 { font-size: 45px; }
  .intro-question-card { width: min(430px, 100%); justify-self: end; margin-bottom: 0; }
  .intro.is-stacked .intro-mobile-art { object-position: 65%; }
  .intro.is-stacked .intro-frame::before { background: linear-gradient(180deg, #0a172bbf 0%, #112138a3 35%, #11203850 65%, #07172bc2), linear-gradient(90deg, #0a172ba3, transparent 70%); }
  .intro-greeting { font-size: 15px; margin-bottom: 12px; }
  .intro-kicker { font-size: 9px; margin-bottom: 16px; }
  .intro-description { font-size: 15px; }
}
@media (max-width: 640px) {
  .entry-header { grid-template-columns: 1fr auto; gap: 5px; padding: 6px 12px 8px; }
  .entry-logo { width: 178px; height: 38px; }
  .audience-switch { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; padding: 3px; }
  .audience-switch button { flex: 1; padding: 6px 10px; min-height: 34px; font-size: 12px; }
  .entry-header .motion-toggle { grid-column: 2; grid-row: 1; width: 32px; height: 32px; }
  .intro.is-stacked .intro-frame { padding: 140px 22px 32px; min-height: max(930px, 100svh); gap: 35px; }
  .intro-copy h1, .intro-copy h2 { font-size: clamp(34px, 9.8vw, 43px); }
  .intro-greeting { font-size: 14px; }
  .intro-kicker { font-size: 8px; letter-spacing: 1.5px; }
  .intro-tagline { font-size: 22px; margin-top: 17px; }
  .intro-description { font-size: 14px; margin-top: 17px; }
  .intro-question-card { padding: 22px; border-radius: 21px; }
  .intro-question-card h3 { font-size: 21px; }
  .intro-fields { gap: 12px; margin-top: 17px; }
  .intro-question-card .card-eyebrow { font-size: 8px; }
  .intro-question-card > p { font-size: 12px; }
  .intro-card-actions { margin-top: 20px; }
  .intro-card-actions .button { font-size: 12px; }
  .exam-options span { font-size: 12px; padding-inline: 13px; }
  .profile-summary { gap: 6px; }
}
html { scroll-padding-top: 104px; }
@media (max-width: 640px) { html { scroll-padding-top: 122px; } }
@media (prefers-reduced-motion: reduce) { .entry-header, .entry-logo, .intro-frame, .intro-image { animation: none !important; transition: none !important; } }
