/* Existing APEX narrative, films, diagrams, course art and commercial flow. */
body { background:var(--apx-canvas); color:var(--apx-ink); }
header.nav { background:var(--apx-canvas); border-bottom-color:var(--apx-line); backdrop-filter:none; }
.container { max-width:1320px; }
.nav-links .link { min-height:44px; display:inline-flex; align-items:center; font-size:13px; }
.hero { min-height:min(90vh,940px); padding:64px 0 88px; background:#080c10; isolation:isolate; }
.hero-center { align-items:flex-start; text-align:left; }
.hero .container { padding-inline:44px; }
.hero-badge { border-color:#354952; background:rgba(8,12,16,.75); box-shadow:none; font-size:10px; }
.wordmark { align-items:flex-start; }
.wm-apex-img { width:clamp(250px,36vw,480px); max-width:100%; }
.wm-full { justify-content:flex-start; text-align:left; font-size:11px; letter-spacing:.13em; text-indent:0; }
.wm-full::before,.wm-full::after { display:none; }
.hero-tag { max-width:820px; margin:32px 0 24px; font:500 clamp(38px,4.5vw,64px)/1.1 var(--font-b); letter-spacing:-.045em; color:#edf4f4; text-shadow:none; }
.hero-sub { max-width:650px; margin:0 0 28px; font:400 16px/1.8 var(--font-b); color:#c3cfd5; text-shadow:none; }
.hero-video-scrim { background:linear-gradient(90deg,rgba(8,12,16,.86) 0%,rgba(8,12,16,.5) 52%,rgba(8,12,16,.12) 100%),linear-gradient(0deg,#080c10,transparent 30%); }
.hero-actions { justify-content:flex-start; }
.hero-free { border-color:#354952; background:rgba(8,12,16,.8); border-radius:8px; box-shadow:none; font-size:12px; padding:12px 16px; }
.hero-scroll { align-items:flex-start; }
.hero-meta { align-self:stretch; margin-top:40px; border-color:#354952; background:rgba(8,12,16,.75); box-shadow:none; border-radius:8px; }
.stat-strip .s b { font-family:var(--font-m); font-size:28px; font-weight:500; text-shadow:none; animation:none; }
.stat-strip .s span { color:var(--text-2); font-size:11px; line-height:1.6; letter-spacing:.03em; }
.section { padding:88px 0; }
.section-head { text-align:left; max-width:800px; margin:0 0 40px; }
.section-head h2 { font:500 clamp(28px,3.6vw,44px)/1.2 var(--font-b); letter-spacing:-.035em; margin:16px 0 20px; }
.section-head p { font:400 16px/1.8 var(--font-b); color:var(--apx-muted); max-width:720px; }
.eyebrow { font:500 11px/1.6 var(--font-m); letter-spacing:.13em; }
.btn { position:relative; overflow:hidden; min-height:48px; padding:14px 22px; font:600 14px/1.4 var(--font-b); border-radius:8px; box-shadow:none; transition:background 180ms var(--ease),border-color 180ms var(--ease),transform 180ms var(--ease),filter 180ms var(--ease); }
.btn-primary { color:var(--apx-on-accent); background:var(--apx-accent); border-color:var(--apx-accent); box-shadow:inset 0 1px rgba(255,255,255,.2); }
.btn-primary:hover { filter:brightness(1.08); transform:translateY(-1px); box-shadow:none; }
.btn-primary { padding-right:64px; border-radius:4px; text-align:left; }
.btn-primary::after { content:'↗'; position:absolute; right:7px; top:50%; width:34px; height:34px; display:grid; place-items:center; background:var(--apx-on-accent); color:var(--apx-accent); border-radius:2px; font-size:24px; transform:translateY(-50%); transition:transform 180ms var(--ease); }
.btn-primary:hover { background:var(--apx-action-hover); filter:none; }
.btn-primary:hover::after { transform:translate(2px,calc(-50% - 2px)); }
.btn-primary:active { background:var(--apx-action-pressed); transform:translateY(1px); }
.hero-badge { color:var(--apx-metal); border-color:var(--apx-metal); }
.showcase,.cine,.feat,.price,.acad-level { border-radius:6px; }
@media(prefers-reduced-motion:reduce) { .btn-primary::after { transition:none; } }
.btn-ghost { background:transparent; border-color:var(--apx-control-line); color:var(--text); }
.btn-ghost:hover { transform:translateY(-1px); border-color:var(--apx-accent); box-shadow:none; }
.btn:active { transform:scale(.985); }
.btn:is(:focus-visible),a:focus-visible,button:focus-visible { outline:2px solid var(--apx-accent); outline-offset:4px; }
.hero .btn-ghost { color:#edf4f4; border-color:#748c94; }
.showcase,.cine,.grid-stage,.feat,.price,.acad-level,.cta-band,.foot-cta-band { border-radius:12px; box-shadow:none; }
.grid-stage { overflow:hidden; isolation:isolate; }
.showcase-title,.cine-title { font-family:var(--font-b); font-weight:500; letter-spacing:-.035em; text-shadow:none; }
.showcase-bg { animation:none; }
.feat { border-color:var(--apx-line); transition:border-color 180ms var(--ease),transform 180ms var(--ease); }
.feat:hover { box-shadow:none; border-color:var(--apx-control-line); transform:translateY(-2px); }
.feat h3 { font-family:var(--font-b); font-weight:500; font-size:22px; letter-spacing:-.02em; }
.feat p { font-size:14px; line-height:1.8; }
.prices { gap:20px; }
.price { background:var(--apx-surface); border-color:var(--apx-line); padding:28px; }
.price h3 { font:500 23px var(--font-b); }
.price .amt b { font:500 44px var(--font-m); font-variant-numeric:tabular-nums; }
.price .desc,.price li { font-size:14px; line-height:1.75; }
.price.flagship { border-color:var(--gold); box-shadow:none; }
.faq-item { border-color:var(--apx-line); border-radius:8px; background:var(--apx-surface); }
.faq-q { min-height:60px; font:500 16px/1.5 var(--font-b); }
.faq-a { font:400 15px/1.85 var(--font-b); color:var(--apx-muted); }
.reveal { transition:opacity 500ms var(--ease),transform 500ms var(--ease); }
@media(max-width:960px) {
  .hero .container { padding-inline:28px; }
  .hero { min-height:0; padding:48px 0 64px; }
  .hero-tag { font-size:48px; }
}
@media(max-width:1100px) {
  .nav-links,.nav-cta .link,.nav-theme { display:none; }
  .nav-toggle,.mobile-menu { display:block; }
  .mm-theme { display:flex; }
}
@media(max-width:600px) {
  .hero .container,.container { padding-inline:20px; }
  .hero { padding:40px 0 56px; }
  .hero-tag { font-size:36px; line-height:1.15; margin-top:28px; }
  .hero-sub { font-size:15px; }
  .wm-apex-img { width:290px; }
  .wm-full { font-size:9px; letter-spacing:.06em; }
  .hero-free { flex-direction:column; align-items:flex-start; gap:8px; width:100%; border-radius:8px; }
  .hero-scroll { align-self:flex-start; }
  .section { padding:64px 0; }
  .section-head { margin-bottom:28px; }
  .section-head p { font-size:15px; }
  .stat-strip .s b { font-size:23px; }
  .price { padding:24px; }
  .btn { white-space:normal; text-align:center; }
  .hero-video-scrim { background:linear-gradient(90deg,rgba(8,12,16,.72),rgba(8,12,16,.35)),linear-gradient(0deg,#080c10,transparent 40%); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
