:root {
  --ink: #071528;
  --ink-deep: #040c19;
  --ink-soft: #102744;
  --paper: #f6f3ed;
  --paper-soft: #ebe7de;
  --gold: #e4b55f;
  --gold-bright: #f2cc7c;
  --mist: #bdc8d9;
  --line: rgba(197, 210, 224, 0.16);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 16px; }
body.menu-open { overflow: hidden; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 4px; }
::selection { color: var(--ink); background: var(--gold); }

.page-noise { position: fixed; z-index: 20; inset: 0; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.skip-link { position: fixed; z-index: 100; top: -60px; left: 20px; padding: 10px 16px; background: var(--gold); color: var(--ink); border-radius: 6px; font-weight: 800; transition: top .2s; }
.skip-link:focus { top: 16px; }

.site-header { position: relative; z-index: 25; max-width: 1440px; height: 94px; padding: 0 clamp(24px, 5vw, 76px); margin: auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { position: relative; flex: 0 0 45px; width: 45px; height: 45px; overflow: hidden; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #173d72, #0a1b34); box-shadow: inset 0 0 0 1px rgba(242, 204, 124, .14); }
.brand-mark img { position: absolute; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
.brand-fallback { color: var(--gold-bright); font-family: var(--serif); font-size: 18px; font-weight: 700; letter-spacing: -2px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { letter-spacing: -.8px; font-size: 21px; font-weight: 800; }.brand-copy strong span { color: var(--gold); }
.brand-copy small { color: #c6a86d; padding-top: 4px; font-size: 9px; letter-spacing: 1.1px; font-weight: 800; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 32px); font-size: 13px; color: #c5d0dd; font-weight: 600; }
.main-nav > a:not(.nav-login) { position: relative; }.main-nav > a:not(.nav-login)::after { content: ''; position: absolute; bottom: -7px; left: 0; width: 0; height: 1px; background: var(--gold); transition: width .25s ease; }.main-nav > a:not(.nav-login):hover::after { width: 100%; }
.nav-login { color: var(--paper); }
.button { border: 0; min-height: 46px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 6px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }.button:hover { transform: translateY(-2px); }.button span { font-size: 17px; }.button-small { min-height: 39px; font-size: 12px; padding: 0 14px; }.button-large { min-height: 58px; padding: 0 23px; font-size: 14px; }.button-gold { background: var(--gold); color: var(--ink); box-shadow: 0 8px 24px rgba(228,181,95,.15); }.button-gold:hover { background: var(--gold-bright); box-shadow: 0 12px 30px rgba(228,181,95,.23); }.button-light { background: var(--paper); color: var(--ink); }.button-light:hover { background: #fff; }
.menu-toggle { display: none; width: 47px; height: 47px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: transparent; }.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--paper); border-radius: 2px; }.mobile-menu { position: absolute; z-index: 24; top: 82px; left: 18px; right: 18px; padding: 22px; border: 1px solid rgba(228,181,95,.25); border-radius: 14px; background: #0d213c; box-shadow: 0 22px 50px rgba(0,0,0,.35); }.mobile-menu[hidden] { display: none; }.mobile-menu a { display: block; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--mist); font-weight: 700; }.mobile-menu .button { width: 100%; margin-top: 18px; }

.hero { position: relative; max-width: 1440px; min-height: 654px; margin: auto; padding: clamp(68px, 8vw, 124px) clamp(24px, 7vw, 105px) 76px; display: grid; grid-template-columns: minmax(0, .93fr) minmax(350px, .75fr); gap: clamp(40px, 7vw, 112px); align-items: center; overflow: hidden; }.hero::before { content: ''; position: absolute; inset: 0 0 auto; height: 100%; opacity: .42; pointer-events: none; background: linear-gradient(90deg, var(--ink) 0%, rgba(7,21,40,.82) 47%, rgba(7,21,40,.12) 100%); }.hero-orbit { position: absolute; border: 1px solid rgba(228,181,95,.13); border-radius: 50%; pointer-events: none; }.hero-orbit-a { width: 620px; height: 620px; top: -350px; left: 27%; }.hero-orbit-b { width: 370px; height: 370px; bottom: -246px; left: -110px; }.hero-copy, .hero-stage { position: relative; z-index: 1; }.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--gold); font-family: var(--mono); font-size: 11px; letter-spacing: 1.4px; font-weight: 500; }.eyebrow-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(228,181,95,.12); }.hero h1, h2 { margin: 15px 0 0; letter-spacing: -3.4px; font-size: clamp(48px, 5vw, 76px); line-height: .99; font-weight: 800; }.hero h1 em, h2 em { font-family: var(--serif); font-weight: 600; }.hero-lead { max-width: 530px; margin: 27px 0 0; color: var(--mist); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.76; }.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 34px; }.text-action { display: inline-flex; align-items: center; gap: 10px; color: var(--paper); font-size: 13px; font-weight: 800; }.text-action span { color: var(--gold); font-size: 18px; transition: transform .2s ease; }.text-action:hover span { transform: translateY(4px); }.microcopy { margin: 26px 0 0; color: #98a9c0; font-size: 12px; font-weight: 600; }.microcopy span { color: var(--gold); font-size: 9px; }
.hero-stage { min-height: 456px; }.hero-image-wrap { position: absolute; inset: 0 7% 0 0; overflow: hidden; border-radius: 2px 58px 2px 2px; border: 1px solid rgba(231, 240, 250, .14); background: #102744; }.hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; filter: saturate(.7) brightness(.72); }.hero-image-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,21,40,.06), rgba(7,21,40,.58)); }.stage-label { position: absolute; z-index: 2; display: flex; gap: 9px; color: rgba(238,242,246,.8); font-family: var(--mono); font-size: 9px; letter-spacing: 1px; }.stage-label span { color: var(--gold); }.stage-label-top { top: 19px; left: 20px; }.stage-label-bottom { right: 2px; bottom: 11px; transform: rotate(-90deg); transform-origin: right center; }.session-card { position: absolute; z-index: 3; right: -18px; bottom: 28px; width: min(280px, 66%); padding: 17px 18px; border: 1px solid rgba(208, 222, 240, .28); border-radius: 9px; background: rgba(11,31,58,.93); backdrop-filter: blur(12px); box-shadow: 0 20px 45px rgba(0,0,0,.28); }.session-card-top, .session-foot { display: flex; align-items: center; color: #aab7c9; font-family: var(--mono); font-size: 9px; letter-spacing: .3px; }.session-card-top strong { margin-left: auto; color: var(--paper); font-size: 17px; letter-spacing: -1px; }.live-dot { width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(228,181,95,.13); }.session-question { margin-top: 20px; font-size: 13px; font-weight: 700; }.session-progress { height: 4px; margin: 13px 0 10px; overflow: hidden; background: #314965; }.session-progress span { display: block; height: 100%; background: #92b9ff; }.session-foot { justify-content: space-between; }.score-chip { position: absolute; z-index: 3; top: 82px; right: -33px; width: 103px; height: 103px; padding: 20px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(228,181,95,.62); border-radius: 50%; background: rgba(10, 27, 52, .9); transform: rotate(10deg); }.score-chip strong { color: var(--gold-bright); font-size: 24px; line-height: 1; }.score-chip span { margin-top: 7px; color: var(--mist); text-align: center; font-family: var(--mono); font-size: 8px; line-height: 1.35; letter-spacing: .4px; }

.proof-strip { max-width: 1440px; min-height: 124px; margin: auto; padding: 20px clamp(24px, 7vw, 105px); display: grid; grid-template-columns: repeat(3, 1fr) 1.8fr; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.proof-item { min-height: 48px; padding-left: clamp(15px, 3vw, 42px); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line); }.proof-item:first-child { padding-left: 0; border-left: 0; }.proof-item strong { font-size: 23px; letter-spacing: -1px; }.proof-item span { padding-top: 3px; color: #98a9c0; font-size: 11px; font-weight: 700; }.proof-quote { padding-left: clamp(20px, 3vw, 42px); display: flex; align-items: center; }.quote-mark { color: var(--gold); font-family: var(--serif); font-size: 54px; line-height: .5; }.proof-quote p { max-width: 265px; margin: 0 0 0 8px; color: #bdc8d9; font-family: var(--serif); font-size: 14px; line-height: 1.35; }
.section-shell { max-width: 1440px; margin: auto; padding-left: clamp(24px, 7vw, 105px); padding-right: clamp(24px, 7vw, 105px); }.exam-section { padding-top: clamp(80px, 10vw, 134px); padding-bottom: clamp(78px, 9vw, 124px); }.section-heading { display: grid; grid-template-columns: 1fr .56fr; gap: 55px; align-items: end; }.section-heading h2, .method-intro h2, .performance-copy h2, .faq-head h2, .cta-content h2 { font-size: clamp(39px, 4.3vw, 62px); }.section-heading > p { max-width: 350px; margin: 0 0 8px; color: #aebccc; font-size: 15px; line-height: 1.7; }.exam-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 56px; }.exam-tab { min-height: 36px; padding: 0 14px; border: 1px solid rgba(190,205,224,.2); border-radius: 20px; background: transparent; color: #a7b7c9; font-size: 11px; font-weight: 800; transition: all .2s ease; }.exam-tab:hover, .exam-tab.active { border-color: var(--gold); background: var(--gold); color: var(--ink); }.exam-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-top: 22px; }.exam-card { min-height: 307px; padding: 22px; display: flex; flex-direction: column; border: 1px solid rgba(190,205,224,.14); border-radius: 3px; background: #0c213c; transition: transform .28s ease, background .28s ease, border-color .28s ease; }.exam-card:hover { border-color: rgba(228,181,95,.6); background: #102a49; transform: translateY(-7px); }.exam-card[hidden] { display: none; }.card-featured { background: #dcae57; color: #0a1b34; border-color: #dcae57; }.card-featured:hover { background: #e7bc6c; }.card-number { color: currentColor; opacity: .56; font-family: var(--mono); font-size: 10px; }.exam-card-icon { width: 48px; height: 48px; margin-top: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--gold); font-family: var(--serif); font-size: 22px; }.card-featured .exam-card-icon { color: #0a1b34; }.card-kicker { margin: 26px 0 0; color: #9caec4; font-family: var(--mono); font-size: 9px; letter-spacing: .65px; text-transform: uppercase; }.card-featured .card-kicker { color: rgba(7,21,40,.62); }.exam-card h3 { margin: 8px 0 0; font-size: 26px; letter-spacing: -1px; }.exam-card > p:not(.card-kicker) { margin: 12px 0 0; color: #c2ccda; font-size: 12px; line-height: 1.6; }.card-featured > p:not(.card-kicker) { color: rgba(7,21,40,.72); }.card-bottom { margin-top: auto; padding-top: 15px; display: flex; align-items: center; justify-content: space-between; font-family: var(--mono); font-size: 9px; letter-spacing: .2px; }.circle-button { width: 34px; height: 34px; border: 1px solid rgba(198,215,234,.4); border-radius: 50%; background: transparent; color: var(--paper); font-size: 17px; transition: .2s ease; }.circle-button:hover { background: var(--paper); color: var(--ink); }.card-featured .circle-button { border-color: rgba(7,21,40,.44); color: var(--ink); }.card-featured .circle-button:hover { background: #0a1b34; color: var(--gold); }
.method-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(44px, 9vw, 150px); padding: clamp(78px, 9vw, 130px) clamp(24px, 7vw, 105px); background: var(--paper); color: var(--ink); }.method-intro { max-width: 515px; }.method-intro .eyebrow, .performance-copy .eyebrow, .faq-head .eyebrow, .cta-content .eyebrow { color: #98732f; }.method-intro h2 { margin-top: 15px; }.method-intro h2 em, .performance-copy h2 em, .faq-head h2 em { color: #a57e36; }.method-intro .text-action { margin-top: 30px; color: var(--ink); }.method-list { border-top: 1px solid rgba(7,21,40,.2); }.method-item { min-height: 132px; padding: 22px 0; display: grid; grid-template-columns: 50px 1fr 30px; gap: 14px; align-items: start; border-bottom: 1px solid rgba(7,21,40,.2); }.method-index { color: #a57e36; font-family: var(--mono); font-size: 10px; }.method-item h3 { margin: 0; font-size: 24px; letter-spacing: -1px; }.method-item p { max-width: 385px; margin: 8px 0 0; color: #526276; font-size: 13px; line-height: 1.65; }.method-symbol { color: #a57e36; font-size: 22px; }
.performance-section { padding-top: clamp(90px, 10vw, 140px); padding-bottom: clamp(90px, 10vw, 140px); display: grid; grid-template-columns: 1.04fr .86fr; gap: clamp(46px, 9vw, 140px); align-items: center; }.performance-board { position: relative; padding: 18px 20px 0; overflow: hidden; border: 1px solid rgba(190,205,224,.2); border-radius: 4px; background: #0c203a; box-shadow: 18px 18px 0 rgba(228,181,95,.08); }.performance-board::after { content: ''; position: absolute; right: -130px; bottom: -130px; width: 290px; height: 290px; border: 1px solid rgba(228,181,95,.2); border-radius: 50%; }.board-top, .board-footer { display: flex; justify-content: space-between; color: #91a7c0; font-family: var(--mono); font-size: 9px; letter-spacing: .85px; }.board-content { position: relative; z-index: 1; min-height: 294px; display: grid; grid-template-columns: 1fr .9fr; align-items: center; }.performance-score span { color: var(--gold); font-family: var(--mono); font-size: 9px; letter-spacing: 1px; }.performance-score strong { display: block; margin-top: 12px; color: var(--paper); font-size: 54px; letter-spacing: -3px; line-height: .9; }.performance-score strong span { color: #8397b0; font-family: var(--sans); font-size: 16px; letter-spacing: -1px; }.performance-score p { margin: 14px 0 0; color: #aebdcc; font-size: 11px; }.performance-score b { color: #c7df8c; }.radar-wrap { position: relative; width: min(210px, 100%); aspect-ratio: 1; margin-left: auto; }.radar-ring { position: absolute; inset: 0; border: 1px solid rgba(177,200,225,.2); transform: rotate(30deg); }.ring-two { inset: 17%; }.ring-three { inset: 34%; }.radar-shape { position: absolute; inset: 18%; background: rgba(228,181,95,.28); clip-path: polygon(49% 0, 91% 40%, 73% 93%, 20% 76%, 0 34%); border: 1px solid var(--gold); }.radar-label { position: absolute; color: #91a7c0; font-family: var(--mono); font-size: 8px; }.radar-label.top { top: -17px; left: 43%; }.radar-label.right { top: 47%; right: -23px; }.radar-label.bottom { bottom: -17px; left: 34%; }.radar-label.left { top: 47%; left: -21px; }.board-footer { position: relative; z-index: 1; margin: 0 -20px; padding: 17px 20px; border-top: 1px solid rgba(190,205,224,.15); }.board-footer div { display: flex; flex-direction: column; gap: 5px; }.board-footer strong { color: var(--paper); font-family: var(--sans); font-size: 14px; }.performance-copy h2 { margin-top: 13px; }.performance-copy > p:not(.eyebrow) { margin: 22px 0 0; color: #aebccc; font-size: 14px; line-height: 1.75; }.check-list { padding: 0; margin: 27px 0 0; list-style: none; }.check-list li { padding: 11px 0 11px 26px; position: relative; border-top: 1px solid var(--line); color: #d0d9e3; font-size: 12px; font-weight: 600; }.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--gold); font-weight: 800; }.check-list li:last-child { border-bottom: 1px solid var(--line); }
.testimonial-section { max-width: 1440px; min-height: 354px; margin: auto; padding: 62px clamp(24px, 7vw, 105px); display: grid; grid-template-columns: 165px minmax(0, 1fr) 150px; gap: 36px; align-items: center; background: linear-gradient(115deg, #0b203c, #102b4b); }.student-stamp { width: 112px; height: 112px; padding: 12px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(228,181,95,.52); border-radius: 50%; transform: rotate(-11deg); }.student-stamp span { color: var(--gold); font-family: var(--serif); font-size: 35px; font-weight: 700; }.student-stamp small { color: #acb7c7; font-family: var(--mono); font-size: 7px; line-height: 1.45; letter-spacing: .7px; }.testimonial-section blockquote { max-width: 720px; margin: 0; font-family: var(--serif); font-size: clamp(25px, 3vw, 39px); line-height: 1.22; letter-spacing: -.7px; }.testimonial-section blockquote em { color: var(--gold); }.student-meta { display: flex; flex-direction: column; gap: 5px; }.student-meta strong { font-size: 14px; }.student-meta span { color: #aabacd; font-family: var(--mono); font-size: 9px; line-height: 1.5; }
.cta-section { position: relative; min-height: 417px; padding-top: 70px; padding-bottom: 70px; display: flex; align-items: center; overflow: hidden; background: #dcae57; color: var(--ink); }.cta-grid { position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(7,21,40,.38) 1px, transparent 1px), linear-gradient(90deg, rgba(7,21,40,.38) 1px, transparent 1px); background-size: 41px 41px; }.cta-content { position: relative; z-index: 2; max-width: 580px; }.cta-content h2 { margin-top: 14px; }.cta-content .eyebrow { color: #624921; }.cta-content h2 em { font-family: var(--serif); }.cta-content > p:not(.eyebrow) { max-width: 430px; margin: 20px 0 0; color: rgba(7,21,40,.72); line-height: 1.7; font-size: 14px; font-weight: 600; }.cta-content .button { margin-top: 26px; }.cta-graphic { position: absolute; z-index: 1; top: 0; right: 0; width: 42%; height: 100%; }.orb { position: absolute; display: block; border-radius: 50%; border: 1px solid rgba(7,21,40,.26); }.orb-one { width: 420px; height: 420px; top: -70px; right: -90px; }.orb-two { width: 250px; height: 250px; top: 17%; right: 17%; }.orb-three { width: 95px; height: 95px; top: 29%; left: 5%; background: #0e2948; border: 0; }.cta-card-mini { position: absolute; top: 24%; right: 22%; width: 224px; padding: 22px; border: 1px solid rgba(7,21,40,.4); border-radius: 4px; background: rgba(244,227,190,.5); box-shadow: 14px 14px 0 rgba(7,21,40,.1); transform: rotate(7deg); }.cta-card-mini span { font-family: var(--mono); font-size: 9px; letter-spacing: .8px; }.cta-card-mini strong { display: block; margin-top: 9px; font-size: 29px; letter-spacing: -1px; }.cta-card-mini div { height: 5px; margin-top: 17px; overflow: hidden; background: rgba(7,21,40,.18); }.cta-card-mini i { display: block; width: 68%; height: 100%; background: #0b203c; }.cta-card-mini small { display: block; margin-top: 10px; color: rgba(7,21,40,.7); font-size: 10px; font-weight: 700; }
.faq-section { padding-top: clamp(82px, 9vw, 120px); padding-bottom: clamp(86px, 10vw, 130px); display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(48px, 9vw, 150px); }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { padding: 22px 0; display: flex; justify-content: space-between; list-style: none; cursor: pointer; color: #e5eaf0; font-size: 14px; font-weight: 700; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--gold); font-size: 19px; transition: transform .2s ease; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list p { max-width: 490px; margin: -5px 0 20px; color: #aebccc; font-size: 13px; line-height: 1.7; }
.site-footer { max-width: 1440px; margin: auto; padding: 55px clamp(24px, 7vw, 105px) 25px; display: grid; grid-template-columns: 1fr .7fr; gap: 45px; border-top: 1px solid var(--line); }.footer-brand p { margin: 18px 0 0; color: #a6b4c5; font-size: 12px; }.brand-mark-mini { width: 38px; height: 38px; flex-basis: 38px; border-radius: 10px; }.footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }.footer-links div { display: flex; flex-direction: column; gap: 11px; }.footer-links strong { color: var(--gold); font-family: var(--mono); font-size: 9px; letter-spacing: .8px; }.footer-links a { color: #b7c1cf; font-size: 12px; font-weight: 600; }.footer-links a:hover { color: var(--gold); }.footer-bottom { grid-column: 1/-1; margin-top: 13px; padding-top: 20px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: #73859c; font-family: var(--mono); font-size: 8px; letter-spacing: .3px; }
.demo-toast { position: fixed; z-index: 40; right: 24px; bottom: 24px; min-width: min(375px, calc(100vw - 48px)); padding: 14px 15px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(228,181,95,.42); border-radius: 8px; background: #102744; box-shadow: 0 22px 60px rgba(0,0,0,.35); animation: toast-in .25s ease both; }.demo-toast[hidden] { display: none; }.demo-toast.is-hiding { animation: toast-out .22s ease both; }.demo-toast > div { display: flex; gap: 11px; align-items: center; }.toast-icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-weight: 900; }.demo-toast p { display: flex; flex-direction: column; gap: 3px; margin: 0; }.demo-toast strong { font-size: 12px; }.demo-toast p span { color: #b8c7d8; font-size: 10px; }.demo-toast button { padding: 3px; border: 0; background: transparent; color: #abbaca; font-size: 19px; }.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }@keyframes toast-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }@keyframes toast-out { to { opacity: 0; transform: translateY(10px); } }
@media (max-width: 980px) { .main-nav > a:not(.nav-login), .nav-login { display: none; }.hero { grid-template-columns: 1fr .78fr; gap: 28px; }.exam-cards { grid-template-columns: repeat(2, 1fr); }.section-heading, .performance-section, .faq-section { gap: 48px; }.cta-graphic { opacity: .65; }.testimonial-section { grid-template-columns: 120px 1fr; }.student-meta { grid-column: 2; }.proof-strip { grid-template-columns: repeat(3, 1fr); }.proof-quote { display: none; } }
@media (max-width: 720px) { .site-header { height: 81px; padding: 0 20px; }.main-nav { display: none; }.menu-toggle { display: block; }.brand-copy strong { font-size: 19px; }.brand-mark { width: 40px; height: 40px; flex-basis: 40px; }.hero { min-height: auto; padding: 68px 24px 52px; display: block; }.hero h1 { font-size: clamp(45px, 13vw, 58px); letter-spacing: -2.8px; }.hero-lead { max-width: 570px; font-size: 16px; }.hero-stage { min-height: 395px; margin: 54px 0 0 3px; }.hero-image-wrap { inset: 0 10px 0 0; }.session-card { right: -3px; bottom: 18px; width: 73%; }.score-chip { right: -16px; top: 48px; }.proof-strip { grid-template-columns: 1fr 1fr; gap: 17px 0; padding: 29px 24px; }.proof-item { padding-left: 18px; }.proof-item:nth-child(3) { padding-left: 0; border-left: 0; }.proof-item strong { font-size: 21px; }.section-heading { display: block; }.section-heading > p { margin: 22px 0 0; }.exam-tabs { margin-top: 34px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; scrollbar-width: none; }.exam-tab { white-space: nowrap; }.exam-cards { grid-template-columns: 1fr; }.exam-card { min-height: 257px; }.method-section { display: block; padding: 76px 24px; }.method-list { margin-top: 42px; }.performance-section { display: block; padding: 76px 24px; }.performance-copy { margin-top: 68px; }.performance-board { box-shadow: 10px 10px 0 rgba(228,181,95,.08); }.board-content { min-height: 266px; }.performance-score strong { font-size: 43px; }.testimonial-section { min-height: auto; padding: 58px 24px; display: block; }.student-stamp { margin-bottom: 35px; }.testimonial-section blockquote { font-size: 28px; }.student-meta { margin-top: 25px; }.cta-section { min-height: 520px; padding-top: 63px; padding-bottom: 63px; }.cta-graphic { width: 100%; top: 31%; opacity: .45; }.cta-card-mini { right: 13%; }.faq-section { display: block; padding-top: 76px; padding-bottom: 82px; }.faq-list { margin-top: 42px; }.site-footer { display: block; padding: 46px 24px 22px; }.footer-links { margin-top: 42px; }.footer-bottom { gap: 10px; align-items: flex-start; flex-direction: column; }.demo-toast { right: 15px; bottom: 15px; min-width: calc(100vw - 30px); }.reveal { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

body.modal-open { overflow: hidden; }
.start-modal[hidden] { display: none; }
.start-modal { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(1, 8, 18, .76); backdrop-filter: blur(7px); }
.modal-panel { position: relative; width: min(100%, 540px); padding: clamp(30px, 5vw, 48px); overflow: hidden; border: 1px solid rgba(228, 181, 95, .45); border-radius: 12px; background: #0d223e; box-shadow: 0 34px 90px rgba(0,0,0,.5); animation: modal-in .24s ease both; }
.modal-panel::after { content: ''; position: absolute; z-index: -1; right: -80px; bottom: -100px; width: 230px; height: 230px; border: 1px solid rgba(228,181,95,.2); border-radius: 50%; }
.modal-close { position: absolute; top: 17px; right: 17px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--paper); font-size: 22px; line-height: 1; }
.modal-panel h2 { margin-top: 12px; font-size: clamp(37px, 7vw, 54px); }.modal-panel h2 em { font-family: var(--serif); color: var(--gold); }.modal-lead { max-width: 390px; margin: 17px 0 0; color: var(--mist); font-size: 14px; line-height: 1.7; }.program-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 27px 0; }.program-picker button { min-height: 50px; padding: 0 14px; border: 1px solid rgba(190,205,224,.24); border-radius: 5px; background: rgba(7,21,40,.3); color: var(--mist); font-size: 13px; font-weight: 800; text-align: left; transition: .18s ease; }.program-picker button:hover, .program-picker button.is-selected { border-color: var(--gold); background: var(--gold); color: var(--ink); }.modal-panel form .button { width: 100%; }.modal-note { margin: 16px 0 0; color: #9aacbf; text-align: center; font-size: 10px; font-weight: 700; }@keyframes modal-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 420px) { .modal-panel { padding: 33px 23px 28px; }.program-picker { grid-template-columns: 1fr; } }
