
:root{
  --bg:#050708;
  --bg2:#090d10;
  --paper:#f5f1e9;
  --text:#f6f2e9;
  --muted:#949088;
  --gold:#cda55e;
  --gold2:#f0d39a;
  --line:rgba(255,255,255,.075);
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.sheet-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button{font:inherit}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 44px),var(--max));margin:auto}
.eyebrow,.overline{font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:var(--gold2);font-weight:800}

to{transform:translateX(220%)}}
.progress{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold2),var(--gold));z-index:100}

.header{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(5,7,8,.72);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.04);transition:.3s background}
.header.scrolled{background:rgba(5,7,8,.92)}
.nav{min-height:68px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:11px}.brand img{width:42px;height:42px;border-radius:50%}.brand b{display:block;font-size:13px}.brand small{display:block;margin-top:4px;color:var(--gold2);font-size:9px;text-transform:uppercase;letter-spacing:.19em}
.nav nav{display:flex;gap:26px;margin-left:auto;font-size:12px;color:#d6d1c7}.nav nav a:hover{color:var(--gold2)}
.nav>button{margin-left:8px;border:1px solid rgba(205,165,94,.26);background:transparent;color:var(--gold2);border-radius:999px;padding:10px 17px;cursor:pointer}

.hero{position:relative;height:100svh;min-height:720px;overflow:hidden}
.hero-media{position:absolute;inset:0;will-change:transform}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:scale(1.05)}
.hero-media-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,7,.98) 0%,rgba(4,6,7,.88) 36%,rgba(4,6,7,.36) 64%,rgba(4,6,7,.16)),linear-gradient(0deg,rgba(4,6,7,.72),transparent 45%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-copy{max-width:690px;padding-top:46px}
.hero-copy h1{font-size:clamp(76px,8.3vw,122px);line-height:.82;letter-spacing:-.075em;margin:18px 0 0}.hero-copy h1 em{font-style:normal;color:var(--gold2)}
.hero-copy p{font-size:22px;margin:28px 0 0}.hero-cta,.final-cta{margin-top:28px;border:0;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#131617;border-radius:999px;padding:15px 21px;font-weight:850;cursor:pointer}.hero-cta i,.final-cta i{font-style:normal;margin-left:8px}
.hero-meta{position:absolute;left:22px;right:22px;bottom:38px;display:flex;gap:24px}.hero-meta>div{padding-right:24px;border-right:1px solid var(--line)}.hero-meta>div:last-child{border-right:0}.hero-meta b{display:block;font-size:30px;color:var(--gold2)}.hero-meta span{font-size:11px;color:#8d8981}
.hero-scroll{position:absolute;right:35px;bottom:38px;display:flex;align-items:center;gap:10px;color:#726e67;font-size:9px;text-transform:uppercase;letter-spacing:.18em}.hero-scroll i{width:48px;height:1px;background:#5e5a54;overflow:hidden}.hero-scroll i:after{content:"";display:block;width:60%;height:100%;background:var(--gold);animation:scrollhint 1.8s ease-in-out infinite}@keyframes scrollhint{from{transform:translateX(-120%)}to{transform:translateX(200%)}}

.statement{padding:20vh 0 22vh;background:#050708}.statement-text{font-size:clamp(46px,6vw,84px);line-height:1.05;letter-spacing:-.055em;margin:0;max-width:1100px;color:#4d4c49}.statement-text span{color:#f2eee6}

.story{height:310vh;background:#050708}
.story-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.story-images{position:absolute;inset:0}
.story-image{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.06);filter:blur(6px);transition:opacity .65s ease,transform 1s ease,filter .65s ease}.story-image.active{opacity:1;transform:scale(1);filter:blur(0)}
.story-image img{width:100%;height:100%;object-fit:cover}
.story-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,7,.88),rgba(4,6,7,.28) 55%,rgba(4,6,7,.68)),linear-gradient(0deg,rgba(4,6,7,.65),transparent 45%)}
.story-ui{position:relative;height:100%;z-index:2;display:flex;align-items:center}
.story-index{position:absolute;left:0;top:50%;transform:translateY(-50%);display:grid;gap:10px;color:#aaa69d}.story-index i{height:130px;width:1px;background:rgba(255,255,255,.18);position:relative}.story-index i:after{content:"";position:absolute;left:0;top:0;width:100%;height:var(--story-progress,0%);background:var(--gold)}.story-index small{color:#6e6a63}
.story-copy{margin-left:auto;width:min(620px,55vw);position:relative;min-height:300px}
.story-step{position:absolute;inset:0;opacity:0;transform:translateY(30px);transition:opacity .55s,transform .65s}.story-step.active{opacity:1;transform:none}.story-step>span{font-size:10px;color:var(--gold);letter-spacing:.17em}.story-step h2{font-size:clamp(68px,8vw,118px);line-height:.86;letter-spacing:-.07em;margin:12px 0 18px}.story-step p{font-size:18px;color:#c8c3b9;max-width:430px;line-height:1.5}

.subjects-intro{padding:20vh 0 10vh;background:#f3efe7;color:#151819}.subjects-intro h2{font-size:clamp(60px,7vw,100px);line-height:.94;letter-spacing:-.065em;margin:14px 0 0}
.subjects-scroll{height:300vh;background:#f3efe7;color:#151819}
.subjects-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.subjects-track{display:flex;gap:24px;padding-left:max(22px,calc((100vw - 1280px)/2));padding-right:12vw;will-change:transform}
.subject-card{width:min(76vw,900px);height:68vh;min-height:520px;flex:0 0 auto;border-radius:34px;padding:44px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 25px 80px rgba(0,0,0,.08)}
.subject-card.math{background:linear-gradient(145deg,#f7efe1,#e7d8c2)}.subject-card.physics{background:linear-gradient(145deg,#e5e5f6,#cbd2ea)}.subject-card.info{background:linear-gradient(145deg,#dceae4,#bfd4ca)}
.subject-no{position:absolute;right:32px;top:28px;font-size:13px;color:rgba(0,0,0,.35)}.subject-symbol{font-size:86px;line-height:1;margin-top:10px}.subject-card h3{font-size:clamp(54px,6vw,84px);letter-spacing:-.06em;margin:auto 0 14px}.subject-card p{font-size:20px;max-width:500px;line-height:1.4;color:#3f4341}.subject-foot{padding-top:18px;border-top:1px solid rgba(0,0,0,.10);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#626460}

.formats{padding:18vh 0;background:#050708}.formats-head h2{font-size:clamp(60px,7vw,100px);line-height:.92;letter-spacing:-.065em;margin:14px 0 9vh}
.format-list{border-top:1px solid var(--line)}.format-row{display:grid;grid-template-columns:90px .8fr 1fr 40px;gap:24px;align-items:center;min-height:150px;border-bottom:1px solid var(--line);transition:.3s background,.3s padding}.format-row:hover{background:rgba(255,255,255,.025);padding:0 18px}.format-no{color:var(--gold)}.format-row h3{font-size:31px;margin:0;letter-spacing:-.04em}.format-row p{margin:0;color:#98948c;font-size:14px}.format-row i{font-style:normal;color:var(--gold);font-size:20px}

.trust{position:relative;min-height:100svh;display:flex;align-items:center;background:#0a0e10;overflow:hidden}.trust-photo{position:absolute;right:0;top:0;bottom:0;width:52%}.trust-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.trust-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0e10 0%,rgba(10,14,16,.25) 45%,rgba(10,14,16,.05))}
.trust-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;padding:13vh 0}.trust-copy h2{font-size:clamp(70px,8vw,116px);line-height:.84;letter-spacing:-.075em;margin:14px 0 26px}.trust-copy p{color:#aaa69d;font-size:16px;line-height:1.6;max-width:500px}
.trust-numbers{display:grid;gap:0;border-top:1px solid var(--line)}.trust-numbers>div{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0}.trust-numbers strong{font-size:48px;color:var(--gold2);letter-spacing:-.05em}.trust-numbers span{font-size:12px;color:#8b877f}

.editorial{padding:13vh 0;background:#050708}.editorial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:end}.editorial-grid figure{margin:0;position:relative;overflow:hidden;border-radius:28px}.editorial-main{height:70vh}.editorial-wide{height:48vh}.editorial-grid img{width:100%;height:100%;object-fit:cover}.editorial-grid figcaption{position:absolute;left:18px;bottom:16px;padding:9px 12px;border-radius:999px;background:rgba(5,7,8,.68);border:1px solid var(--line);font-size:11px}

.reviews{padding:15vh 0;background:#050708}.reviews-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:end;border-top:1px solid var(--line);padding-top:7vh}.big-rating{font-size:clamp(100px,13vw,190px);line-height:.75;letter-spacing:-.08em}.stars{color:#e7b53e;letter-spacing:.08em;margin-top:25px}.reviews-grid p{color:#807c75}.reviews-copy h2{font-size:clamp(62px,7vw,100px);line-height:.9;letter-spacing:-.065em;margin:0}.reviews-copy a{display:inline-block;margin-top:32px;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-size:12px;font-weight:800}
.reviews-widget{display:flex;justify-content:center;margin-top:64px}.reviews-widget iframe{display:block;width:100%;max-width:528px;height:824px;border:0;border-radius:16px;background:#101315}
.reviews-widget iframe[hidden],.reviews-widget-fallback[hidden]{display:none}
.reviews-widget-fallback{width:min(100%,640px);padding:clamp(28px,5vw,52px);border:1px solid rgba(220,185,129,.28);border-radius:22px;background:#101315;text-align:center}
.reviews-widget-fallback h3{margin:18px 0 12px;font-size:clamp(30px,4vw,46px);line-height:1.04;letter-spacing:-.05em}
.reviews-widget-fallback p{max-width:440px;margin:0 auto 26px;color:#aaa69d;line-height:1.55}
.reviews-widget-fallback a{display:inline-block;padding:14px 22px;border-radius:999px;background:var(--gold2);color:#101315;font-weight:700;text-decoration:none}

.final{min-height:90svh;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,rgba(205,165,94,.08),transparent 30%),#050708}.final-inner{text-align:center}.final h2{font-size:clamp(70px,9vw,130px);line-height:.86;letter-spacing:-.075em;margin:14px 0 0}
footer{padding:26px 0 40px;border-top:1px solid var(--line);background:#050708}.footer-grid{display:flex;align-items:center;justify-content:space-between}.footer-brand img{width:39px;height:39px}.footer-grid p{font-size:11px;color:#706c65}

.contact-sheet{position:fixed;inset:0;z-index:150;visibility:hidden;pointer-events:none}.contact-sheet.open{visibility:visible;pointer-events:auto}.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.38);backdrop-filter:blur(14px);opacity:0;transition:.35s}.contact-sheet.open .sheet-backdrop{opacity:1}.sheet-panel{position:absolute;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;width:min(calc(100% - 28px),620px);padding:28px;border-radius:28px;background:#111619;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.55);transition:.4s cubic-bezier(.2,.8,.2,1)}.contact-sheet.open .sheet-panel{transform:translate(-50%,0);opacity:1}.sheet-close{position:absolute;right:18px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:white;font-size:24px}.sheet-panel h3{font-size:42px;letter-spacing:-.05em;margin:12px 0 24px}.sheet-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.sheet-links a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.sheet-links a:nth-child(odd){padding-right:18px}.sheet-links a:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.sheet-links i{font-style:normal;color:var(--gold)}

.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.reveal-media{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1)}.reveal-media.visible{clip-path:inset(0)}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

@media(max-width:900px){
  .nav nav{display:none}.shell{width:min(calc(100% - 28px),1280px)}
  .hero-media-shade{background:linear-gradient(0deg,rgba(4,6,7,.98) 0%,rgba(4,6,7,.88) 48%,rgba(4,6,7,.12) 80%)}
  .hero-content{align-items:flex-end;padding-bottom:120px}.hero-copy h1{font-size:62px}.hero-copy p{font-size:18px}.hero-meta{bottom:28px}.hero-scroll{display:none}
  .statement{padding:13vh 0 15vh}.statement-text{font-size:44px}
  .story-copy{width:74vw}.story-step h2{font-size:72px}.story-index{left:14px}
  .subjects-intro{padding:13vh 0 7vh}.subjects-intro h2{font-size:58px}.subject-card{width:84vw;height:66vh;padding:30px}.subject-card h3{font-size:56px}
  .formats{padding:13vh 0}.formats-head h2{font-size:58px}.format-row{grid-template-columns:50px 1fr 40px;gap:14px;padding:24px 0}.format-row p{grid-column:2}.format-row h3{font-size:26px}
  .trust-photo{width:100%;opacity:.42}.trust-photo:after{background:linear-gradient(0deg,#0a0e10 8%,rgba(10,14,16,.25) 70%)}.trust-grid{grid-template-columns:1fr;padding:11vh 0}.trust-copy h2{font-size:62px}.trust-numbers{max-width:520px}
  .editorial-grid{grid-template-columns:1fr}.editorial-main,.editorial-wide{height:58vh}
  .reviews-grid{grid-template-columns:1fr;gap:40px}.reviews-copy h2{font-size:62px}.final h2{font-size:68px}
}
@media(max-width:600px){
  .nav{min-height:60px}.brand img{width:38px;height:38px}.brand b{font-size:12px}.nav>button{padding:9px 13px}
  .hero{min-height:720px}.hero-media img{object-position:60% 42%}.hero-copy h1{font-size:54px}.hero-meta{gap:12px}.hero-meta>div{padding-right:12px}.hero-meta b{font-size:24px}
  .story{height:300vh}.story-copy{width:78vw;margin-left:55px}.story-step h2{font-size:56px}.story-step p{font-size:15px}.story-index i{height:90px}
  .subjects-intro h2{font-size:48px}.subjects-scroll{height:auto}.subjects-sticky{position:relative;height:auto;overflow:visible;padding:0 14px 12vh}.subjects-track{display:grid;transform:none!important;padding:0;gap:14px}.subject-card{width:100%;height:auto;min-height:430px;padding:28px}.subject-symbol{font-size:64px}.subject-card h3{font-size:48px}.subject-card p{font-size:17px}
  .formats-head h2{font-size:48px}.format-row{grid-template-columns:38px 1fr 26px}.format-row h3{font-size:23px}
  .trust-copy h2{font-size:54px}.trust-numbers strong{font-size:38px}
  .editorial{padding:9vh 0}.editorial-main,.editorial-wide{height:52vh}
  .big-rating{font-size:120px}.reviews-copy h2{font-size:50px}.final h2{font-size:56px}
  .sheet-panel{bottom:10px;padding:22px}.sheet-panel h3{font-size:34px}.sheet-links{grid-template-columns:1fr}.sheet-links a:nth-child(odd),.sheet-links a:nth-child(even){padding:15px 0;border-left:0}
}


/* ---------- Release polish ---------- */
:focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:4px;
}
.skip-link{
  position:fixed;left:12px;top:-70px;z-index:500;
  background:var(--gold2);color:#101314;padding:10px 14px;border-radius:12px;
  font-weight:800;font-size:13px;transition:top .2s;
}
.skip-link:focus{top:12px}

.nav-cta{
  margin-left:8px;border:1px solid rgba(205,165,94,.26);
  background:transparent;color:var(--gold2);border-radius:999px;
  padding:10px 17px;cursor:pointer;
}
button{color:inherit}
button:active,.hero-cta:active,.final-cta:active{transform:scale(.98)}

.hero-media picture,.hero-media img,
.story-image picture,.story-image img,
.trust-photo picture,.trust-photo img,
.editorial-grid picture,.editorial-grid img{width:100%;height:100%}

.hero-media picture,.story-image picture,.trust-photo picture,.editorial-grid picture{display:block}


@supports(height:100dvh){
  .hero{height:100dvh}
  .story-sticky,.subjects-sticky{height:100dvh}
  .trust{min-height:100dvh}
}

@media(max-width:900px){
  .nav nav{display:none}
}
@media(max-width:600px){
  .nav-cta{padding:9px 13px}
}

@media(prefers-reduced-data:reduce){
  .hero-media img{transform:none!important}
}


.legal-footer{
  margin-top:24px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.legal-footer p{margin:0;color:#66625c;font-size:10px;line-height:1.5}
.legal-footer nav{display:flex;gap:16px}
.legal-footer a{color:#8e8980;font-size:10px;transition:.2s color}
.legal-footer a:hover{color:var(--gold2)}

.legal-page{
  min-height:100vh;background:#070a0c;color:var(--text);padding:118px 0 80px;
}
.legal-page .legal-shell{width:min(calc(100% - 40px),900px);margin:auto}
.legal-page .back{
  display:inline-block;margin-bottom:34px;color:var(--gold2);font-size:12px;
}
.legal-page h1{
  font-size:clamp(42px,7vw,76px);letter-spacing:-.055em;line-height:.95;margin:0 0 34px;
}
.legal-page h2{font-size:22px;margin:38px 0 12px}
.legal-page p,.legal-page li{color:#aaa69d;font-size:14px;line-height:1.7}
.legal-page strong{color:#eee9e0}
.legal-page .legal-card{
  padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.018);
}
.legal-page ul{padding-left:20px}
.legal-page .legal-note{
  margin-top:26px;padding:17px 18px;border-left:2px solid var(--gold);background:rgba(205,165,94,.05);
}
.legal-page footer{
  margin-top:58px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#66625c;
}
@media(max-width:700px){
  .legal-footer{display:block}
  .legal-footer nav{margin-top:12px;display:grid;gap:8px}
}

/* Mobile release stability */
@media(max-width:700px){
  .hero-media{transform:none!important;opacity:1!important}
  .story-image{filter:none}
}


/* =========================================================
   Mobile v1.5 — separate composition, not desktop emulation
   ========================================================= */
.story-mobile{display:none}

@media(max-width:700px){

  html{scroll-padding-top:72px}
  body{overflow-x:hidden}

  .shell{width:min(calc(100% - 30px),1280px)}

  /* Header */
  .header{
    position:sticky;
    top:0;
    background:rgba(5,7,8,.94);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }
  .nav{min-height:70px;gap:10px}
  .brand{min-width:0;gap:8px}
  .brand img{width:38px;height:38px;flex:0 0 auto}
  .brand b{font-size:12px;white-space:nowrap}
  .brand small{font-size:8px;letter-spacing:.17em}
  .nav-cta{margin-left:auto;padding:9px 13px;font-size:12px}

  /* Hero */
  .hero{
    height:auto!important;
    min-height:0!important;
    overflow:hidden;
    padding:0 0 36px;
  }
  .hero-media{
    position:relative!important;
    inset:auto!important;
    height:440px!important;
    min-height:0!important;
    transform:none!important;
    opacity:1!important;
  }
  .hero-media img{
    width:100%;height:100%;
    object-fit:cover;
    object-position:58% 48%;
    transform:none!important;
  }
  .hero-media-shade{
    background:
      linear-gradient(180deg,rgba(3,5,6,.02) 18%,rgba(3,5,6,.30) 58%,#050708 100%),
      linear-gradient(90deg,rgba(3,5,6,.12),transparent 60%);
  }
  .hero-content{
    position:relative!important;
    height:auto!important;
    display:block!important;
    padding:0!important;
    margin-top:-58px;
  }
  .hero-copy{padding:0!important;position:relative;z-index:2}
  .overline{font-size:9px;line-height:1.35}
  .hero-copy h1{
    font-size:54px;
    line-height:.90;
    letter-spacing:-.065em;
    margin:12px 0 0;
  }
  .hero-copy p{font-size:17px;line-height:1.45;margin:20px 0 0}
  .hero-cta{margin-top:22px;padding:14px 19px}
  .hero-meta{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    margin-top:34px;
    gap:0;
  }
  .hero-meta>div{
    padding:0 11px;
    border-right:1px solid var(--line);
  }
  .hero-meta>div:first-child{padding-left:0}
  .hero-meta>div:last-child{padding-right:0;border-right:0}
  .hero-meta b{font-size:27px}
  .hero-meta span{font-size:10px;line-height:1.3}
  .hero-scroll{display:none!important}

  /* Statement */
  .statement{padding:82px 0 90px}
  .statement-text{
    font-size:40px!important;
    line-height:1.04!important;
    letter-spacing:-.05em;
  }

  /* Desktop story hidden; dedicated cards shown */
  .story{
    height:auto!important;
    padding:0 0 90px;
  }
  .story-sticky{display:none!important}
  .story-mobile{
    display:grid;
    gap:18px;
    padding:0 15px;
  }
  .mobile-story-card{
    position:relative;
    min-height:560px;
    border-radius:28px;
    overflow:hidden;
    background:#101416;
    border:1px solid rgba(255,255,255,.07);
  }
  .mobile-story-card figure{
    position:absolute;
    inset:0;
    margin:0;
  }
  .mobile-story-card picture,
  .mobile-story-card img{
    display:block;
    width:100%;
    height:100%;
  }
  .mobile-story-card img{
    object-fit:cover;
  }
  .mobile-story-card:nth-child(1) img{object-position:53% 43%}
  .mobile-story-card:nth-child(2) img{object-position:62% 47%}
  .mobile-story-card:nth-child(3) img{object-position:50% 40%}
  .mobile-story-card:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02) 32%,rgba(2,4,5,.25) 60%,rgba(2,4,5,.94) 100%);
  }
  .mobile-story-copy{
    position:absolute;
    left:26px;right:26px;bottom:27px;
    z-index:2;
  }
  .mobile-story-copy>span{
    color:var(--gold);
    font-size:10px;
    letter-spacing:.16em;
  }
  .mobile-story-copy h2{
    font-size:46px;
    line-height:.93;
    letter-spacing:-.055em;
    margin:8px 0 10px;
  }
  .mobile-story-copy p{
    margin:0;
    color:#d0cbc2;
    font-size:15px;
    line-height:1.45;
    max-width:320px;
  }

  /* Subjects */
  .subjects-intro{padding:84px 0 38px}
  .subjects-intro h2{
    font-size:45px!important;
    line-height:.97!important;
  }
  .subjects-scroll{height:auto!important}
  .subjects-sticky{
    position:relative!important;
    height:auto!important;
    overflow:visible!important;
    display:block!important;
    padding:0 15px 90px!important;
  }
  .subjects-track{
    display:grid!important;
    gap:14px!important;
    padding:0!important;
    transform:none!important;
  }
  .subject-card{
    width:100%!important;
    height:auto!important;
    min-height:390px!important;
    padding:26px!important;
    border-radius:27px;
  }
  .subject-symbol{font-size:58px;margin:0 0 56px}
  .subject-card h3{font-size:43px!important;margin:0 0 12px}
  .subject-card p{font-size:16px;line-height:1.45}
  .subject-foot{margin-top:26px;font-size:10px}

  /* Formats */
  .formats{
    min-height:0!important;
    padding:88px 0 92px!important;
  }
  .formats-head h2{
    font-size:46px!important;
    line-height:.95!important;
    margin:12px 0 44px!important;
  }
  .format-row{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:34px 1fr 24px!important;
    gap:10px!important;
    padding:22px 0!important;
  }
  .format-row:hover{
    background:transparent!important;
    padding:22px 0!important;
  }
  .format-row h3{font-size:22px!important}
  .format-row p{
    grid-column:2!important;
    font-size:13px!important;
    line-height:1.5;
  }
  .format-row i{grid-column:3;grid-row:1}

  /* About — photo then content, no overlay on face */
  .trust{
    min-height:0!important;
    display:block!important;
    padding:0 0 92px;
    overflow:hidden;
  }
  .trust-photo{
    position:relative!important;
    width:100%!important;
    height:490px!important;
    opacity:1!important;
  }
  .trust-photo img{
    object-position:center 31%;
  }
  .trust-photo:after{
    background:linear-gradient(180deg,transparent 58%,#0a0e10 100%)!important;
  }
  .trust-grid{
    display:block!important;
    padding:0!important;
    margin-top:-48px;
  }
  .trust-copy{position:relative;z-index:2}
  .trust-copy h2{
    font-size:50px!important;
    line-height:.92!important;
    margin:10px 0 22px;
  }
  .trust-copy p{
    font-size:15px;
    line-height:1.6;
    max-width:none;
  }
  .trust-numbers{margin-top:32px}
  .trust-numbers>div{padding:18px 0}
  .trust-numbers strong{font-size:41px!important}

  /* Never show zeros while JS wakes up */
  .trust-numbers strong[data-count="12"]::before{content:""}

  /* Real photos */
  .editorial{padding:76px 0}
  .editorial-grid{grid-template-columns:1fr!important;gap:14px!important}
  .editorial-main,.editorial-wide{
    height:auto!important;
    aspect-ratio:4/5;
  }
  .editorial-wide{aspect-ratio:4/3}

  /* Reviews: tighter, no dead space */
  .reviews{padding:82px 0 86px!important}
  .reviews-grid{
    grid-template-columns:1fr!important;
    gap:42px!important;
    padding-top:0!important;
    border-top:0!important;
  }
  .big-rating{font-size:104px!important}
  .reviews-copy h2{
    font-size:47px!important;
    line-height:.94!important;
  }
  .reviews-copy a{margin-top:24px!important}

  /* Final CTA: no 70vh blank lead-in */
  .final{
    min-height:0!important;
    display:block!important;
    padding:96px 0 104px!important;
  }
  .final-inner{text-align:center}
  .final h2{
    font-size:50px!important;
    line-height:.92!important;
    margin-top:12px!important;
  }
  .final-cta{margin-top:26px!important}

  footer{padding-bottom:32px!important}
  .footer-grid{display:block!important}
  .footer-grid>p{margin-top:14px}

  /* No reveal can hide content on mobile */
  .reveal,.reveal-media{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
  }
}

/* iOS layout safety: no intrinsic placeholder sections */
section{
  content-visibility:visible!important;
  contain-intrinsic-size:auto!important;
}

/* v1.5.4 — outcome-led story and quieter subject cards */
.hero-copy{max-width:790px}
.hero-copy h1{font-size:clamp(64px,6.7vw,100px);line-height:.9}
.hero-copy p{max-width:590px;line-height:1.45}
.statement-note{max-width:690px;margin:26px 0 0;color:#a9a49b;font-size:18px;line-height:1.6}
.story-image:nth-child(1) img{object-position:32% center}
.story-image:nth-child(2) img{object-position:36% center}
.story-image:nth-child(3) img{object-position:30% center}

.subjects-intro,.subjects-scroll{background:#0b0f10;color:var(--text)}
.subjects-intro{padding:13vh 0 7vh}
.subjects-intro h2{font-size:clamp(48px,5.9vw,78px);color:#e9e5dd}
.subjects-intro p{max-width:660px;color:#a9a49b;font-size:17px;line-height:1.6;margin:24px 0 0}
.subjects-scroll{height:220vh}
.subjects-track{gap:18px}
.subject-card{width:min(54vw,650px);height:58vh;min-height:420px;padding:36px;border-radius:27px;border:1px solid rgba(255,255,255,.09);box-shadow:none}
.subject-card.math{background:linear-gradient(145deg,#23211d,#121617)}
.subject-card.physics{background:linear-gradient(145deg,#1c222a,#121618)}
.subject-card.info{background:linear-gradient(145deg,#1b2724,#111718)}
.subject-no{color:#918c82}
.subject-symbol{font-size:62px;color:var(--gold2)}
.subject-card h3{font-size:clamp(42px,4.2vw,64px)}
.subject-card p{font-size:17px;color:#b9b5ac}
.subject-foot{border-color:rgba(255,255,255,.11);color:#9b978e}

.formats-head p{margin:-5vh 0 7vh;color:#aaa59c;font-size:16px;line-height:1.5}
.format-item{border-bottom:1px solid var(--line)}
.format-row{list-style:none;cursor:pointer;border:0;min-height:112px;padding:20px 8px;grid-template-columns:70px minmax(210px,.8fr) minmax(220px,1fr) 40px;transition:background .2s,padding .2s}
.format-row::-webkit-details-marker{display:none}
.format-row::marker{content:""}
.format-row:hover,.format-item[open] .format-row{background:rgba(255,255,255,.03);padding:20px 18px}
.format-row p{line-height:1.5}
.format-toggle{grid-column:4;grid-row:1;color:var(--gold2);font-size:28px;line-height:1;text-align:center;transition:transform .25s}
.format-item[open] .format-toggle{transform:rotate(45deg)}
.format-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding:4px 30px 34px 102px;animation:formatReveal .26s ease both}
.format-detail p{max-width:640px;margin:0;color:#bcb8b0;font-size:15px;line-height:1.65}
.format-detail button{flex:0 0 auto;border:1px solid rgba(205,165,94,.35);border-radius:999px;background:rgba(205,165,94,.08);color:var(--gold2);padding:12px 16px;cursor:pointer;font-weight:700;font-size:12px}
.format-detail button:hover{background:rgba(205,165,94,.16)}
@keyframes formatReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

.challenges{padding:13vh 0;background:#080b0d}
.challenges h2{font-size:clamp(48px,6.3vw,82px);line-height:.98;letter-spacing:-.06em;margin:18px 0 52px;max-width:1000px}
.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.challenge-grid article{min-height:300px;padding:28px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#141a1c,#0b0f10);display:flex;flex-direction:column}
.challenge-grid span{font-size:11px;color:var(--gold2)}
.challenge-grid h3{font-size:clamp(22px,2.2vw,30px);line-height:1.12;letter-spacing:-.035em;margin:45px 0 14px}
.challenge-grid p{margin:0;color:#aaa59c;font-size:14px;line-height:1.55}
.final-inner{max-width:960px}
.final h2{font-size:clamp(62px,7.7vw,106px)}
.final p{max-width:650px;margin:28px auto 0;color:#aaa59c;font-size:18px;line-height:1.55}

@media(max-width:900px){
  .format-row{grid-template-columns:50px 1fr 30px;gap:12px}
  .format-row p{grid-column:2;grid-row:2}
  .format-toggle{grid-column:3;grid-row:1}
  .format-detail{display:block;padding:0 20px 30px 62px}
  .format-detail button{margin-top:18px}
  .challenge-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .hero-copy h1{font-size:46px!important;line-height:.94!important}
  .hero-copy p{font-size:16px!important}
  .hero-meta span{font-size:10px}
  .statement-note{font-size:15px;line-height:1.55;margin-top:20px}
  .mobile-story-card:nth-child(1) img{object-position:30% 50%}
  .mobile-story-card:nth-child(2) img{object-position:31% 50%}
  .mobile-story-card:nth-child(3) img{object-position:22% 50%}
  .subjects-intro,.subjects-scroll{background:#0b0f10!important;color:var(--text)!important}
  .subjects-intro{padding:72px 0 28px!important}
  .subjects-intro h2{font-size:39px!important;color:#e9e5dd!important}
  .subjects-intro p{font-size:15px;line-height:1.5;margin-top:18px}
  .subjects-sticky{padding-bottom:72px!important}
  .subject-card{min-height:300px!important;padding:23px!important}
  .subject-symbol{font-size:45px!important;margin:0 0 36px!important}
  .subject-card h3{font-size:34px!important}
  .subject-card p{font-size:14px!important}
  .subject-foot{font-size:9px!important;margin-top:auto}
  .formats-head p{margin:-22px 0 30px;font-size:14px}
  .format-row{grid-template-columns:32px 1fr 28px!important;gap:9px!important;min-height:0!important;padding:20px 0!important}
  .format-row:hover,.format-item[open] .format-row{padding:20px 0!important;background:transparent!important}
  .format-row h3{font-size:21px!important}
  .format-row p{grid-column:2!important;grid-row:2!important;font-size:13px!important}
  .format-toggle{grid-column:3!important;grid-row:1!important;font-size:25px}
  .format-detail{padding:0 0 28px 41px}
  .format-detail p{font-size:14px}
  .format-detail button{font-size:11px;text-align:left}
  .challenges{padding:76px 0}
  .challenges h2{font-size:43px;margin:14px 0 30px}
  .challenge-grid{grid-template-columns:1fr;gap:12px}
  .challenge-grid article{min-height:205px;padding:22px}
  .challenge-grid h3{font-size:23px;margin:28px 0 10px}
  .challenge-grid p{font-size:13px}
  .final h2{font-size:47px!important}
  .final p{font-size:15px;margin-top:20px}
}

/* v1.5.5 — prominent header contact button */
.nav>button.nav-cta{
  margin-left:auto;
  min-height:48px;
  padding:12px 24px;
  border:1px solid var(--gold2);
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#131617;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 4px 22px rgba(205,165,94,.19);
  transition:filter .2s,box-shadow .2s,transform .2s;
}
.nav>button.nav-cta:hover{filter:brightness(1.08);box-shadow:0 6px 28px rgba(205,165,94,.28)}
.nav>button.nav-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){
  .nav{gap:8px}
  .nav>button.nav-cta{min-height:43px;padding:10px 17px;font-size:13px}
}
@media(max-width:360px){
  .brand b{font-size:11px}
  .nav>button.nav-cta{padding:10px 14px;font-size:12px}
}

/* v1.5.7 — visible in-person address and online option */
.hero-copy .hero-availability{
  margin:15px 0 0;
  color:#d8c7a8;
  font-size:13px;
  font-weight:700;
  letter-spacing:.015em;
}
.study-place{padding:0 0 15vh;background:#050708;scroll-margin-top:86px}
.study-place h2{max-width:850px;margin:16px 0 48px;font-size:clamp(56px,7vw,92px);line-height:.94;letter-spacing:-.065em}
.study-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.study-place-card{min-height:300px;padding:32px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#171b1c,#0c1011)}
.study-place-card.online{background:linear-gradient(145deg,#252017,#111513)}
.study-place-kind{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.study-place-card h3{margin:52px 0 18px;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.045em}
.study-place-card address{font-size:24px;line-height:1.25;font-style:normal;font-weight:750;color:var(--gold2)}
.study-place-card p{max-width:420px;margin:14px 0 0;color:#aaa59c;font-size:15px;line-height:1.55}
.study-place-cta{margin-top:25px;padding:12px 17px;border:1px solid rgba(205,165,94,.4);border-radius:999px;background:rgba(205,165,94,.1);color:var(--gold2);font-size:13px;font-weight:750;cursor:pointer}
.study-place-cta:hover{background:rgba(205,165,94,.2)}
.footer-facts{text-align:right}
.footer-facts p{margin:0 0 7px}
.footer-facts p:last-child{margin-bottom:0}
@media(max-width:700px){
  .hero-copy .hero-availability{font-size:12px;margin-top:14px}
  .study-place{padding:0 0 88px}
  .study-place h2{font-size:43px;line-height:.98;margin:14px 0 30px}
  .study-place-grid{grid-template-columns:1fr;gap:12px}
  .study-place-card{min-height:0;padding:24px;border-radius:24px}
  .study-place-card h3{font-size:31px;margin:35px 0 16px}
  .study-place-card address{font-size:22px}
  .study-place-card p{font-size:14px}
  .footer-facts{text-align:left;margin-top:18px}
  .footer-facts p{margin:0 0 9px;line-height:1.5}
}

/* v1.5.8 — help with questions between lessons */
.between-lessons{padding:0 0 15vh;background:#050708;scroll-margin-top:86px}
.between-lessons-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:64px;padding:48px 52px;border:1px solid rgba(205,165,94,.19);border-radius:28px;background:linear-gradient(115deg,#171915,#0c1111 72%)}
.between-lessons h2{margin:16px 0 0;font-size:clamp(46px,5.2vw,72px);line-height:.98;letter-spacing:-.06em}
.between-lessons p{max-width:500px;margin:0 0 4px;color:#c3beb4;font-size:19px;line-height:1.6}
@media(max-width:700px){
  .between-lessons{padding:0 0 88px}
  .between-lessons-inner{grid-template-columns:1fr;gap:24px;padding:28px 24px;border-radius:24px}
  .between-lessons h2{font-size:43px;line-height:1.02}
  .between-lessons p{font-size:16px;line-height:1.55}
}

/* v1.5.10 — statistics choice */
.analytics-settings{border:0;background:none;color:#bca985;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.analytics-settings:hover{color:#e0c18b}
.statistics-banner{position:fixed;z-index:1000;bottom:20px;left:20px;right:20px;display:none;align-items:center;justify-content:space-between;gap:24px;max-width:920px;margin:auto;padding:20px 24px;border:1px solid rgba(205,165,94,.45);border-radius:18px;background:#14191a;color:#f4f0e8;box-shadow:0 12px 42px rgba(0,0,0,.5)}
.statistics-banner.shown{display:flex}
.statistics-banner p{margin:0;font-size:14px;line-height:1.5}
.statistics-banner a{color:#e6c898}
.statistics-banner>div{display:flex;gap:8px;flex:none}
.statistics-banner button{padding:10px 14px;border:1px solid #c8a974;border-radius:999px;background:transparent;color:#e6c898;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.statistics-banner button[data-statistics=yes]{background:#d6b47f;color:#14191a}
.statistics-banner button:focus-visible,.analytics-settings:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.statistics-banner{bottom:12px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;padding:18px}.statistics-banner.shown{display:flex}.statistics-banner>div{justify-content:flex-end;flex-wrap:wrap}.statistics-banner button{font-size:12px}}

/* v1.5.13 — phone reply or explicit anonymous message */
.site-message{padding:110px 0 125px;background:#0b0f10;scroll-margin-top:72px}
.site-message-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,550px);gap:clamp(35px,7vw,120px);align-items:start}
.site-message h2{margin:18px 0 28px;font-size:clamp(54px,6.5vw,96px);line-height:.94;letter-spacing:-.065em}
.site-message-copy>p{max-width:490px;margin:0;color:#bdb8af;font-size:18px;line-height:1.6}
.site-message-form{padding:clamp(24px,3vw,38px);border:1px solid rgba(205,165,94,.22);border-radius:26px;background:linear-gradient(145deg,#171c1d,#101415)}
.site-message-form>label{display:block;margin-bottom:13px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.site-message-form textarea{display:block;width:100%;min-height:178px;resize:vertical;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:16px;outline:none;background:#090d0e;color:var(--text);font:inherit;font-size:16px;line-height:1.5}
.site-message-form textarea::placeholder{color:#777a78}
.site-message-form textarea:focus{border-color:var(--gold2);box-shadow:0 0 0 3px rgba(205,165,94,.14)}
.site-message-contact-field{margin-top:22px}
.site-message-contact-field[hidden]{display:none}
.site-message-contact-field label{display:block;margin-bottom:12px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.site-message-contact-field input{display:block;width:100%;min-height:54px;padding:15px 18px;border:1px solid rgba(255,255,255,.16);border-radius:14px;outline:none;background:#090d0e;color:var(--text);font:inherit;font-size:16px}
.site-message-contact-field input::placeholder{color:#777a78}
.site-message-contact-field #siteMessageName:focus::placeholder{color:transparent}
.site-message-contact-field input:focus{border-color:var(--gold2);box-shadow:0 0 0 3px rgba(205,165,94,.14)}
.site-message-anonymous{display:flex!important;align-items:flex-start;gap:12px;margin:20px 0 0!important;color:#e3dfd7!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.5;text-transform:none!important;cursor:pointer}
.site-message-anonymous input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold2);cursor:pointer}
.site-message-anonymous input:focus-visible{outline:2px solid #fff;outline-offset:3px}
.site-message-note{margin:17px 0 22px;color:#a9a69f;font-size:13px;line-height:1.55}
.site-message-note a{color:var(--gold2);text-underline-offset:3px}
.site-message-dialog{padding:0;border:0;background:none;color:var(--gold2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.site-message-submit{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:52px;padding:14px 22px;border:0;border-radius:999px;background:var(--gold2);color:#111513;font-size:14px;font-weight:800;cursor:pointer}
.site-message-submit:hover{filter:brightness(1.08)}
.site-message-submit:disabled{opacity:.55;cursor:wait}
.site-message-submit:focus-visible,.site-message-dialog:focus-visible,.sheet-form-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.site-message-status{min-height:1.4em;margin:14px 0 0;color:#bdb8af;font-size:13px;line-height:1.4}
.site-message-status[data-state=success]{color:#b7dfba}
.site-message-status[data-state=error]{color:#f4b7aa}
.site-message-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sheet-form-link{display:flex;justify-content:space-between;gap:16px;margin-top:15px;padding:14px 0 0;color:var(--gold2);font-size:13px;font-weight:750}
@media(max-width:700px){
  .site-message{padding:80px 0 88px}
  .site-message-grid{grid-template-columns:1fr;gap:30px}
  .site-message h2{font-size:clamp(45px,12vw,62px);margin:14px 0 20px}
  .site-message-copy>p{font-size:16px}
  .site-message-form{padding:24px;border-radius:22px}
  .site-message-submit{width:100%}
}
