
/* Layout: lesson page — sticky top bar, left rail with lesson map (desktop), single 680px reading column; brand = the book */
:root{
  --bg:#FBF8F2; --surface:#F3EEE4; --ink:#141312; --muted:#6E675D; --rule:#DED5C6;
  --gold:#A9864F; --gold-soft:#EADFC9; --red:#A9473B; --red-soft:#F3E4DF; --green:#3F7A57; --green-soft:#E3EDE5;
  --night:#0E0D0C; --night-fg:#F4EDE1;
  --display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --body:'PT Serif', Georgia, serif;
  --ui:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#11100E; --surface:#1A1815; --ink:#EDE6DA; --muted:#A39A8B; --rule:#2E2A24;
  --gold:#C7A26A; --gold-soft:#2B241A; --red:#D9806F; --red-soft:#2A1A17; --green:#7DB592; --green-soft:#16211A;
  --night:#000; --night-fg:#F4EDE1; color-scheme:dark; } }
:root[data-theme="dark"]{
  --bg:#11100E; --surface:#1A1815; --ink:#EDE6DA; --muted:#A39A8B; --rule:#2E2A24;
  --gold:#C7A26A; --gold-soft:#2B241A; --red:#D9806F; --red-soft:#2A1A17; --green:#7DB592; --green-soft:#16211A;
  --night:#000; --night-fg:#F4EDE1; color-scheme:dark; }

*{box-sizing:border-box} body{margin:0}
body{ background:var(--bg); color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
.topbar{ position:sticky; top:env(safe-area-inset-top,0px); z-index:10; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--rule); }
.topbar .in{ max-width:1180px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:16px; font-family:var(--ui); font-size:13px; }
.brand{ font-family:var(--display); font-weight:900; font-size:18px; letter-spacing:.01em; white-space:nowrap; }
.brand em{ font-style:italic; font-weight:400; color:var(--gold); }
.crumbs{ color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1; }
.prog{ display:flex; align-items:center; gap:8px; color:var(--muted); white-space:nowrap; }
.bar{ width:120px; height:4px; background:var(--rule); border-radius:2px; overflow:hidden; }
.bar i{ display:block; height:100%; width:50%; background:var(--gold); transition:width .4s; }

.wrap{ max-width:1180px; margin:0 auto; padding-inline:20px; display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; padding-block:36px 80px; }
.rail{ position:sticky; top:calc(env(safe-area-inset-top,0px) + 70px); align-self:start; font-family:var(--ui); font-size:13px; }
.rail h4{ margin:0 0 10px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.rail ol{ list-style:none; margin:0 0 28px; padding:0; display:grid; gap:2px; }
.rail li a{ display:flex; gap:10px; align-items:baseline; padding:7px 10px; border-radius:6px; text-decoration:none; color:var(--muted); }
.rail li a b{ font-weight:600; color:var(--gold); font-variant-numeric:tabular-nums; width:18px; flex:none; }
.rail li a.done{ color:var(--ink); } .rail li a.done b::after{ content:"✓"; margin-left:2px; }
.rail li a.cur{ background:var(--surface); color:var(--ink); font-weight:600; }
.rail .secnav a{ padding:5px 10px; }
.rail .secnav a:hover, .rail li a:hover{ color:var(--ink); }
main{ min-width:0; max-width:700px; }

.eyebrow{ font-family:var(--ui); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-weight:600; }
h1{ font-family:var(--display); font-weight:900; font-size:clamp(34px,5vw,52px); line-height:1.04; margin:10px 0 14px; text-wrap:balance; letter-spacing:-.01em; }
.lede{ font-style:italic; font-size:20px; line-height:1.5; color:var(--muted); margin:0 0 22px; }
.meta{ display:flex; flex-wrap:wrap; gap:8px; font-family:var(--ui); font-size:12.5px; margin-bottom:30px; }
.meta span{ border:1px solid var(--rule); border-radius:999px; padding:5px 12px; color:var(--muted); }

/* video */
.video{ position:relative; aspect-ratio:16/9; max-width:100%; background:var(--night); color:var(--night-fg); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:26px; }
.video svg.bg{ position:absolute; inset:0; width:100%; height:100%; }
.video .vt{ position:relative; font-family:var(--display); font-size:clamp(22px,3.4vw,34px); font-weight:700; line-height:1.1; max-width:70%; }
.video .vk{ position:relative; font-family:var(--ui); font-size:11px; letter-spacing:.24em; color:#C7A26A; text-transform:uppercase; margin-bottom:8px; }
.video .play{ position:absolute; top:50%; left:50%; translate:-50% -50%; width:76px; height:76px; border-radius:50%; border:1.5px solid #C7A26A; display:grid; place-items:center; }
.video .play::after{ content:""; border-left:20px solid #F4EDE1; border-top:12px solid transparent; border-bottom:12px solid transparent; margin-left:6px; }
.video .note{ position:absolute; top:16px; right:16px; font-family:var(--ui); font-size:11px; background:rgba(199,162,106,.16); color:#E6D3B0; padding:5px 10px; border-radius:999px; }
.chapters{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:8px; overflow:hidden; margin:12px 0 0; font-family:var(--ui); font-size:12.5px; }
.chapters div{ background:var(--bg); padding:10px 12px; } .chapters b{ display:block; color:var(--gold); font-variant-numeric:tabular-nums; font-weight:600; }

section.blk{ margin-top:56px; scroll-margin-top:80px; }
h2{ font-family:var(--display); font-weight:700; font-size:30px; line-height:1.15; margin:6px 0 16px; text-wrap:balance; }
h3{ font-family:var(--display); font-weight:700; font-size:21px; margin:30px 0 10px; }
p{ margin:0 0 16px; }
.drop::first-letter{ font-family:var(--display); font-weight:900; float:left; font-size:62px; line-height:.8; padding:6px 10px 0 0; }
.pull{ border-left:3px solid var(--gold); padding:4px 0 4px 20px; font-family:var(--display); font-style:italic; font-size:22px; line-height:1.4; margin:26px 0; }
figure{ margin:26px 0; }
figure .plate{ background:#FBF8F2; border:1px solid var(--rule); border-radius:8px; padding:18px; overflow-x:auto; }
figure svg{ width:100%; min-width:520px; height:auto; display:block; }
figcaption{ font-family:var(--ui); font-size:12.5px; color:var(--muted); margin-top:8px; }
figcaption b{ color:var(--ink); letter-spacing:.12em; text-transform:uppercase; font-size:11px; margin-right:6px; }
.box{ border-radius:8px; padding:18px 20px; margin:22px 0; }
.box .tag{ font-family:var(--ui); font-weight:700; font-size:11px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:6px; }
.box p{ margin:0; font-size:16px; }
.box.term{ background:var(--surface); } .box.term .tag{ color:var(--muted); }
.box.mistake{ background:var(--red-soft); } .box.mistake .tag{ color:var(--red); }
.box.rule{ background:var(--night); color:var(--night-fg); } .box.rule .tag{ color:#C7A26A; } .box.rule p{ font-family:var(--display); font-size:21px; line-height:1.4; }
ul.flags{ list-style:none; padding:0; margin:0 0 16px; display:grid; gap:10px; }
ul.flags li{ padding-left:28px; position:relative; }
ul.flags li::before{ content:"!"; position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:50%; background:var(--red-soft); color:var(--red); font-family:var(--ui); font-weight:700; font-size:12px; display:grid; place-items:center; }

.stats{ display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--ink); border-bottom:1px solid var(--rule); margin:22px 0; }
.stats div{ padding:12px 12px 12px 0; font-family:var(--ui); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.stats div + div{ padding-left:14px; border-left:1px solid var(--rule); }
.stats b{ display:block; font-family:var(--display); font-size:30px; letter-spacing:0; text-transform:none; color:var(--ink); margin-top:2px; font-variant-numeric:tabular-nums; }
.stats b.neg{ color:var(--red); }

/* practice */
.task{ border:1px solid var(--rule); border-radius:10px; overflow:hidden; }
.task header{ background:var(--surface); padding:16px 20px; font-family:var(--ui); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:baseline; }
.task header strong{ font-size:15px; } .task header span{ font-size:12.5px; color:var(--muted); }
.check{ list-style:none; margin:0; padding:0; }
.check li{ border-top:1px solid var(--rule); }
.check label{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:14px; padding:14px 20px; cursor:pointer; }
.check input{ appearance:none; width:22px; height:22px; border:1.5px solid var(--muted); border-radius:5px; margin:2px 0 0; display:grid; place-items:center; cursor:pointer; }
.check input:checked{ background:var(--green); border-color:var(--green); }
.check input:checked::after{ content:""; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; rotate:45deg; margin-top:-2px; }
.check input:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.check .t{ font-family:var(--ui); font-weight:600; font-size:14.5px; display:block; }
.check .d{ font-size:15px; color:var(--muted); line-height:1.5; }
.task footer{ padding:14px 20px; border-top:1px solid var(--rule); font-family:var(--ui); font-size:13.5px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.verdict{ font-weight:600; } .verdict.ok{ color:var(--green); } .verdict.bad{ color:var(--red); }

/* quiz */
.q{ border-top:1px solid var(--rule); padding:22px 0; }
.q .qn{ font-family:var(--ui); font-size:12px; letter-spacing:.2em; color:var(--gold); font-weight:600; }
.q .qt{ font-family:var(--display); font-weight:700; font-size:20px; margin:6px 0 12px; line-height:1.3; }
.opts{ display:grid; gap:8px; }
.opts button{ text-align:left; font:inherit; font-family:var(--ui); font-size:14.5px; padding:12px 14px; border:1px solid var(--rule); border-radius:8px; background:var(--bg); color:var(--ink); cursor:pointer; }
.opts button:hover{ border-color:var(--muted); }
.opts button:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.opts button.right{ border-color:var(--green); background:var(--green-soft); }
.opts button.wrong{ border-color:var(--red); background:var(--red-soft); }
.opts button:disabled{ cursor:default; }
.why{ margin-top:12px; font-size:15.5px; color:var(--muted); }
.score{ font-family:var(--ui); font-size:14px; margin-top:8px; }

/* tools */
.tools{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.tool{ border:1px solid var(--rule); border-radius:10px; padding:16px; font-family:var(--ui); }
.tool small{ display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:6px; }
.tool strong{ display:block; font-size:15px; margin-bottom:4px; } .tool span{ font-size:13px; color:var(--muted); }

.next{ margin-top:60px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.next a{ display:block; text-decoration:none; border-radius:10px; padding:20px; font-family:var(--ui); }
.next .n1{ border:1px solid var(--rule); }
.next .n2{ background:var(--night); color:var(--night-fg); }
.next small{ display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.next .n2 small{ color:#C7A26A; }
.next strong{ display:block; font-family:var(--display); font-size:21px; margin-top:6px; line-height:1.2; }
.next span{ display:block; font-size:13px; margin-top:6px; opacity:.75; }
.pilot{ margin-top:40px; font-family:var(--ui); font-size:12.5px; color:var(--muted); border-top:1px dashed var(--rule); padding-top:14px; }

@media (max-width:900px){ .wrap{ grid-template-columns:minmax(0,1fr); gap:0; } .rail{ display:none; } .bar{ width:70px; } }
@media (max-width:520px){ body{ font-size:16px; } .stats{ grid-template-columns:1fr; } .stats div + div{ padding-left:0; border-left:0; border-top:1px solid var(--rule); } .next{ grid-template-columns:1fr; } .crumbs{ display:none; } .video .vt{ max-width:100%; } .video .play{ width:56px; height:56px; } }
@media (prefers-reduced-motion:reduce){ *{ transition:none!important; scroll-behavior:auto!important; } }
html{ scroll-behavior:smooth; }

/* ---- additions for full academy ---- */
.brand{ text-decoration:none; }
.topbar .acc{ font-family:var(--ui); font-size:12.5px; border:1px solid var(--rule); border-radius:999px; padding:6px 12px; text-decoration:none; color:var(--ink); white-space:nowrap; }
.box.upd{ background:var(--gold-soft); border-left:3px solid var(--gold); } .box.upd .tag{ color:var(--gold); }
.box.calc{ background:var(--surface); border:1px dashed var(--rule); } .box.calc .tag{ color:var(--green); }
.box ul, .box ol{ margin:8px 0 0; padding-left:20px; font-size:16px; }
.box p + p{ margin-top:10px; }
main ol, main ul:not(.flags):not(.check){ padding-left:22px; margin:0 0 16px; }
main li{ margin-bottom:6px; }
table.tbl{ width:100%; border-collapse:collapse; font-family:var(--ui); font-size:13.5px; margin:22px 0; display:block; overflow-x:auto; }
table.tbl th{ text-align:left; font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); border-bottom:2px solid var(--ink); padding:8px 10px 8px 0; white-space:nowrap; }
table.tbl td{ border-bottom:1px solid var(--rule); padding:9px 10px 9px 0; vertical-align:top; }
.stats{ grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.stats b.pos{ color:var(--green); }
.player{ border-radius:10px; overflow:hidden; background:#000; aspect-ratio:16/9; }
.player video{ width:100%; height:100%; display:block; background:#000; }
.chapters button{ all:unset; display:block; background:var(--bg); padding:10px 12px; cursor:pointer; }
.chapters button:hover{ background:var(--surface); }
.chapters button:focus-visible{ outline:2px solid var(--gold); outline-offset:-2px; }
.chapters button b{ display:block; color:var(--gold); font-variant-numeric:tabular-nums; font-weight:600; }
.chapters button.on{ background:var(--surface); font-weight:600; }
video::cue{ font-family:Inter, system-ui, sans-serif; font-size:90%; background:rgba(14,13,12,.78); color:#F4EDE1; }
.terms dl{ margin:0; display:grid; gap:0; border-top:1px solid var(--rule); }
.terms dt{ font-family:var(--ui); font-weight:600; font-size:14.5px; padding-top:12px; }
.terms dd{ margin:2px 0 0; padding-bottom:12px; border-bottom:1px solid var(--rule); font-size:15.5px; color:var(--muted); }
.tool a{ text-decoration:none; } .tool a:hover strong{ text-decoration:underline; text-underline-offset:3px; }
.donebar{ margin-top:18px; font-family:var(--ui); font-size:14px; padding:14px 16px; border-radius:8px; background:var(--surface); display:none; }
.donebar.on{ display:block; } .donebar.ok{ background:var(--green-soft); color:var(--ink); }
.locknote{ font-family:var(--ui); font-size:13px; color:var(--muted); margin-top:10px; }
.next a.n1:hover{ border-color:var(--muted); }

/* ---- catalog (index) ---- */
.hero{ background:var(--night); color:var(--night-fg); }
.hero .in{ max-width:1180px; margin:0 auto; padding:72px 20px 64px; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:48px; align-items:end; }
.hero .eyebrow{ color:#C7A26A; }
.hero h1{ font-size:clamp(40px,6.4vw,76px); margin:14px 0 18px; }
.hero h1 em{ font-style:italic; font-weight:400; color:#C7A26A; }
.hero p{ font-size:19px; color:#CFC6B6; max-width:560px; }
.hero .cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.btn{ display:inline-block; font-family:var(--ui); font-weight:600; font-size:14.5px; padding:13px 20px; border-radius:8px; text-decoration:none; border:1px solid transparent; }
.btn.gold{ background:#C7A26A; color:#0E0D0C; } .btn.ghost{ border-color:#4a443b; color:#F4EDE1; }
.btn.ink{ background:var(--ink); color:var(--bg); }
.hero .facts{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#2b2722; border:1px solid #2b2722; border-radius:10px; overflow:hidden; }
.hero .facts div{ background:#151311; padding:18px; font-family:var(--ui); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#9d9384; }
.hero .facts b{ display:block; font-family:var(--display); font-size:34px; letter-spacing:0; text-transform:none; color:#F4EDE1; margin-bottom:2px; }
.cat{ max-width:1180px; margin:0 auto; padding:56px 20px 90px; }
.cat > h2{ font-size:36px; }
.courses{ display:grid; gap:28px; margin-top:26px; }
.course{ border:1px solid var(--rule); border-radius:14px; overflow:hidden; }
.course header{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; padding:26px 28px; background:var(--surface); align-items:end; }
.course header h3{ font-size:30px; margin:6px 0 6px; }
.course header p{ margin:0; color:var(--muted); font-size:16px; }
.course .access{ text-align:right; font-family:var(--ui); font-size:13px; }
.course .access b{ display:block; font-family:var(--display); font-size:22px; }
.course .cprog{ display:flex; align-items:center; gap:10px; font-family:var(--ui); font-size:12.5px; color:var(--muted); margin-top:12px; }
.course .cprog .bar{ width:180px; }
.lessons{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.lessons li a{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:12px; align-items:baseline; padding:14px 28px; text-decoration:none; border-top:1px solid var(--rule); font-family:var(--ui); font-size:14.5px; }
.lessons li a:hover{ background:var(--surface); }
.lessons li a b{ color:var(--gold); font-variant-numeric:tabular-nums; font-weight:600; }
.lessons li a i{ font-style:normal; font-size:11px; color:var(--muted); letter-spacing:.08em; }
.lessons li a.done i{ color:var(--green); }
.how{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:22px; }
.how div{ border:1px solid var(--rule); border-radius:10px; padding:20px; font-family:var(--ui); font-size:14px; color:var(--muted); }
.how b{ display:block; font-family:var(--display); font-size:20px; color:var(--ink); margin-bottom:6px; }
.foot{ border-top:1px solid var(--rule); max-width:1180px; margin:0 auto; padding:26px 20px 50px; font-family:var(--ui); font-size:12.5px; color:var(--muted); }
@media (max-width:820px){ .hero .in{ grid-template-columns:1fr; padding:48px 20px 40px; } .course header{ grid-template-columns:1fr; } .course .access{ text-align:left; } .lessons li a{ padding:14px 18px; } .course header{ padding:22px 18px; } }

/* ---- certificate ---- */
.cert-wrap{ max-width:1000px; margin:40px auto; padding:0 20px; }
.cert{ aspect-ratio:1.414/1; background:#FBF8F2; color:#141312; border:1px solid #DED5C6; padding:6% 7%; position:relative; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 30px 60px -30px rgba(0,0,0,.35); }
.cert::before{ content:""; position:absolute; inset:16px; border:1px solid #B08D57; pointer-events:none; }
.cert .k{ font-family:var(--ui); letter-spacing:.3em; font-size:12px; color:#A9864F; text-transform:uppercase; font-weight:600; }
.cert h1{ font-size:clamp(30px,5vw,56px); margin:6px 0 0; color:#141312; }
.cert .nm{ font-family:var(--display); font-style:italic; font-size:clamp(28px,4.6vw,52px); border-bottom:1px solid #DED5C6; padding-bottom:8px; margin-top:4%; min-height:1.2em; }
.cert .ds{ font-family:var(--body); font-size:clamp(14px,1.6vw,18px); color:#6E675D; max-width:70%; }
.cert .sig{ display:flex; justify-content:space-between; align-items:end; font-family:var(--ui); font-size:12px; color:#6E675D; }
.cert .sig b{ display:block; font-family:var(--display); font-size:22px; color:#141312; font-style:italic; font-weight:400; }
.certform{ display:flex; gap:10px; flex-wrap:wrap; margin:20px 0; font-family:var(--ui); }
.certform input{ font:inherit; padding:12px 14px; border:1px solid var(--rule); border-radius:8px; background:var(--bg); color:var(--ink); min-width:260px; flex:1; }
@media print{ .topbar,.certform,.noprint{ display:none!important; } body{ background:#fff; } .cert-wrap{ margin:0; max-width:none; } .cert{ box-shadow:none; } @page{ size:A4 landscape; margin:0; } }
.chapters{ display:flex; flex-wrap:wrap; }
.chapters button{ flex:1 1 160px; }
.bookoffer{ display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:center; margin-top:28px; padding:28px; border:1px solid var(--rule); border-radius:14px; background:var(--surface); }
.bookoffer img{ width:180px; height:auto; border-radius:4px; box-shadow:0 18px 36px -18px rgba(0,0,0,.45); }
.bookoffer h3{ font-size:30px; margin:6px 0 10px; }
.bookoffer p{ color:var(--muted); max-width:620px; }
.bookoffer .cta{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
@media (max-width:620px){ .bookoffer{ grid-template-columns:1fr; } .bookoffer img{ width:140px; } }
.appcard{ margin-top:18px; border-radius:12px; padding:20px 22px; background:var(--night); color:var(--night-fg); }
.appcard .appk{ display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; font-family:var(--ui); }
.appcard .appk b{ font-family:var(--display); font-size:22px; }
.appcard .appk i{ font-style:normal; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#C7A26A; font-weight:600; }
.appcard .appw{ font-family:var(--ui); font-size:13.5px; color:#B9B0A2; margin:6px 0 10px; }
.appcard p{ font-size:16px; margin:0 0 14px; }
.appcard .appb{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.appcard .btn.ink{ background:#F4EDE1; color:#0E0D0C; padding:10px 16px; }
.appcard .locknote{ color:#B9B0A2; margin:0; }
/* ---- landing ---- */
.btn.big{font-size:17px;padding:17px 30px;border-radius:10px}
.herosub{font-family:var(--ui);font-size:13px!important;color:#9d9384!important;margin-top:12px}
.lp{padding:72px 20px;border-top:1px solid var(--rule)}
.lp.dark{background:var(--night);color:var(--night-fg);border-top:0}
.lp.dark .eyebrow{color:#C7A26A}.lp.dark h2{color:var(--night-fg)}
.lpin{max-width:1180px;margin:0 auto}
.lp h2,.final h2{font-size:clamp(28px,4vw,44px);margin:10px 0 28px;max-width:820px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.pain{border:1px solid var(--rule);border-radius:14px;padding:24px;font-family:var(--ui);font-size:15px;color:var(--muted);background:var(--surface)}
.pain b{display:block;font-family:var(--display);font-size:23px;color:var(--ink);margin-bottom:8px}
.wins{list-style:none;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px 30px}
.wins li{position:relative;padding-left:34px;font-size:18px;line-height:1.45;color:#E8E0D2}
.wins li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#C7A26A;color:#0E0D0C;font:700 13px/22px var(--ui);text-align:center}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.steps div{border:1px solid var(--rule);border-radius:14px;padding:22px;font-family:var(--ui);font-size:14.5px;color:var(--muted)}
.steps i{display:inline-block;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);font:700 15px/34px var(--ui);text-align:center;font-style:normal;margin-bottom:12px}
.steps b{display:block;font-family:var(--display);font-size:21px;color:var(--ink);margin-bottom:6px}
.appsrow{margin-top:22px;font-family:var(--ui);font-size:14px;color:var(--muted)}.appsrow span{margin-right:6px}.appsrow b{color:var(--ink)}
.author{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.author p{font-size:18px;color:#CFC6B6;max-width:620px}
.author .facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2b2722;border:1px solid #2b2722;border-radius:10px;overflow:hidden}
.author .facts div{background:#151311;padding:18px;font-family:var(--ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9d9384}
.author .facts b{display:block;font-family:var(--display);font-size:30px;letter-spacing:0;text-transform:none;color:#F4EDE1}
.faq{border-top:1px solid var(--rule);max-width:860px}
.faq details{border-bottom:1px solid var(--rule);padding:18px 0}
.faq summary{cursor:pointer;font-family:var(--ui);font-weight:600;font-size:17px;list-style:none}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--gold);font-size:22px;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq p{margin:10px 0 0;color:var(--muted);font-size:16px}
.final{background:var(--night);color:var(--night-fg);text-align:center;padding:80px 20px}
.final h2{margin:0 auto 26px;color:var(--night-fg)}
.lsn summary{cursor:pointer;padding:14px 28px;font-family:var(--ui);font-size:14px;font-weight:600;border-top:1px solid var(--rule);color:var(--gold)}
#program{padding-top:72px}
@media (max-width:820px){.author{grid-template-columns:1fr}.lp{padding:52px 18px}.btn.big{display:block;text-align:center}.lsn summary{padding:14px 18px}}
/* ---- Aspiro theme: same look as aspiroapp.com (dark, Montserrat, purple/green glow, glass cards, pill buttons) ---- */
:root, :root[data-theme="dark"], :root:not([data-theme="light"]){
  --bg:#05060F; --surface:#0E1022; --ink:#F2F3FA; --muted:#A3A6C2; --rule:#23264A;
  --gold:#22D07A; --gold-soft:rgba(34,208,122,.12); --red:#FF7A7A; --red-soft:rgba(255,122,122,.12); --green:#22D07A; --green-soft:rgba(34,208,122,.12);
  --night:#070818; --night-fg:#F2F3FA; --violet:#7C6CFF; --violet-2:#4A4FC4;
  --display:'Montserrat', Arial, sans-serif; --body:'Montserrat', Arial, sans-serif; --ui:'Montserrat', Arial, sans-serif;
  color-scheme:dark;
}
body{ background:var(--bg); font-size:16px; line-height:1.7; background-image:radial-gradient(900px 600px at 85% -10%, rgba(124,108,255,.18), transparent 60%), radial-gradient(700px 500px at -10% 40%, rgba(34,208,122,.08), transparent 60%); background-attachment:fixed; }
h1,h2,h3,.brand,.course header h3,.pain b,.steps b,.hero .facts b,.author .facts b{ font-family:var(--display); font-weight:800; letter-spacing:-.01em; }
h1 em,h2 em,.hero h1 em{ font-style:normal; font-weight:800; color:var(--green)!important; }
.brand{ font-size:17px; } .brand em{ font-style:normal; font-weight:800; color:var(--green); }
.topbar{ background:rgba(5,6,15,.82); border-bottom:1px solid rgba(124,108,255,.18); }
.topbar .acc{ border-color:rgba(124,108,255,.45); border-radius:999px; background:rgba(74,79,196,.25); color:#fff; font-weight:600; padding:7px 16px; }
.eyebrow{ color:var(--green)!important; font-family:var(--ui); font-weight:700; }

/* buttons = pills like the main site */
.btn{ border-radius:999px!important; font-family:var(--ui); font-weight:700; }
.btn.gold{ background:linear-gradient(135deg,#22D07A,#13A85D); color:#04140B!important; box-shadow:0 0 28px rgba(34,208,122,.45); }
.btn.ghost{ border:1px solid rgba(124,108,255,.55); color:#fff!important; background:rgba(74,79,196,.18); }
.btn.ink{ background:linear-gradient(135deg,#5A5FE0,#3D3FA8); color:#fff!important; box-shadow:0 0 24px rgba(90,95,224,.35); }

/* hero */
.hero{ background:transparent; position:relative; overflow:hidden; }
.hero:before{ content:""; position:absolute; inset:-200px -100px auto auto; width:820px; height:620px; background:radial-gradient(closest-side, rgba(124,108,255,.35), transparent); pointer-events:none; }
.hero:after{ content:""; position:absolute; left:-200px; bottom:-260px; width:700px; height:520px; background:radial-gradient(closest-side, rgba(34,208,122,.18), transparent); pointer-events:none; }
.hero .in{ position:relative; z-index:1; }
.hero h1{ font-size:clamp(36px,5.6vw,68px); line-height:1.05; color:#fff; }
.hero p{ color:#C9CBE3; font-family:var(--ui); font-size:18px; }
.hero .eyebrow{ color:var(--green)!important; }
.herosub{ color:#8E91B3!important; }

/* glass cards */
.hero .facts, .author .facts{ background:rgba(124,108,255,.25); border:1px solid rgba(124,108,255,.35); border-radius:20px; }
.hero .facts div, .author .facts div{ background:rgba(10,11,28,.88); color:#A3A6C2; }
.hero .facts b, .author .facts b{ color:#fff; }
.pain, .steps div, .course, .bookoffer, .box, .task, .tool, .acc-c, .chapters, .kpi div{ border-radius:20px!important; border-color:rgba(124,108,255,.25)!important; }
.pain, .steps div, .bookoffer{ background:linear-gradient(160deg, rgba(40,34,110,.35), rgba(12,13,32,.9))!important; }
.pain{ color:var(--muted); } .pain b, .steps b{ color:#fff; }
.steps i{ background:linear-gradient(135deg,#5A5FE0,#3D3FA8); color:#fff; }
.course{ background:rgba(12,13,32,.85); box-shadow:0 0 40px rgba(74,79,196,.12); }
.course header{ background:linear-gradient(160deg, rgba(40,34,110,.45), rgba(12,13,32,.6)); }
.course .access b{ color:var(--green); }
.lessons li a:hover, .lsn summary:hover{ background:rgba(124,108,255,.08); }
.lp{ border-top:1px solid rgba(124,108,255,.14); }
.lp.dark, .final{ background:linear-gradient(180deg, rgba(20,18,60,.55), rgba(5,6,15,.2)); }
.final{ background:radial-gradient(700px 300px at 50% 0%, rgba(124,108,255,.30), transparent 70%), #070818; }
.wins li{ color:#E3E4F3; } .wins li:before{ background:var(--green); color:#04140B; }
.author p{ color:#C9CBE3; }
.faq summary:after{ color:var(--green); }
.appcard{ background:linear-gradient(135deg, rgba(74,79,196,.45), rgba(14,16,34,.95))!important; border:1px solid rgba(124,108,255,.4); border-radius:20px!important; }
.appcard .appk i{ color:var(--green)!important; }
.appcard .btn.ink{ background:#fff!important; color:#0A0B1C!important; box-shadow:none; }
.bar{ background:#23264A; } .bar i{ background:linear-gradient(90deg,#22D07A,#7C6CFF); }
.box.upd{ background:rgba(124,108,255,.12); border-left-color:var(--violet); } .box.upd .tag{ color:#B3A9FF; }
table.tbl th{ border-bottom-color:var(--violet); }
.player{ border-radius:20px; box-shadow:0 0 50px rgba(74,79,196,.25); }
.foot{ color:#7E81A3; border-top-color:rgba(124,108,255,.14); }
.f input{ background:#0E1022!important; border-color:#2E3160!important; color:#fff!important; border-radius:12px!important; }
.f button{ background:linear-gradient(135deg,#22D07A,#13A85D)!important; color:#04140B!important; border-radius:999px!important; font-weight:700!important; }
.sw a{ color:var(--green)!important; }
/* certificate stays light & printable */
.cert, .cert *{ font-family:'Montserrat', Arial, sans-serif; }
.cert h1{ font-weight:800; } .cert .nm{ font-style:normal; font-weight:700; } .cert .sig b{ font-style:normal; font-weight:700; }
/* ---- OKX guide ---- */
.gchoice{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gcard{padding:30px;border-radius:24px;border:1px solid rgba(124,108,255,.35);background:linear-gradient(160deg,rgba(40,34,110,.45),rgba(12,13,32,.9))}
.gcard h3{font-size:24px;margin:8px 0 10px}.gcard p{color:var(--muted);font-family:var(--ui);font-size:15px;margin:0 0 20px}
.gnote{font-family:var(--ui);font-size:13px;color:var(--muted);margin-top:18px}
.gsteps{display:grid;gap:14px;margin-top:30px}
.gstep{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:24px;border-radius:20px;border:1px solid rgba(124,108,255,.22);background:rgba(12,13,32,.7)}
.gn{font-family:var(--display);font-weight:800;font-size:28px;color:var(--green)}
.gstep h3{font-size:21px;margin:0 0 4px}.gsub{font-family:var(--ui);font-size:14px;color:var(--muted);margin:0 0 10px}
.gstep ul{margin:0;padding-left:20px;font-family:var(--ui);font-size:15px;line-height:1.6}.gstep li{margin-bottom:6px}
@media (max-width:820px){.gchoice{grid-template-columns:1fr}.gstep{grid-template-columns:1fr;gap:6px}}
/* ---- SEO: keyword h2, read-also, site footer, lock ---- */
.hero .herokw{font-family:var(--ui);font-size:clamp(17px,2vw,22px);font-weight:700;color:#C9CBE3;margin:-4px 0 14px;letter-spacing:0}
.readalso{margin-top:40px}.readalso .ra{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.readalso a{display:block;padding:16px 18px;border-radius:16px;border:1px solid rgba(124,108,255,.25);background:rgba(12,13,32,.7);text-decoration:none;font-family:var(--ui)}
.readalso a small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:6px}.readalso a strong{font-size:15px;line-height:1.4}
.readalso a:hover{border-color:rgba(124,108,255,.6)}
.sitefoot{max-width:1180px;margin:40px auto 0;padding:26px 20px 40px;border-top:1px solid rgba(124,108,255,.14);font-family:var(--ui);font-size:13px;color:#7E81A3}
.sitefoot nav{margin-bottom:10px;font-size:14px}.sitefoot nav a{color:#C9CBE3;text-decoration:none}.sitefoot nav a:hover{color:#fff}
.lockbox{margin:24px 0;padding:30px;border-radius:24px;border:1px solid rgba(124,108,255,.4);background:linear-gradient(140deg,rgba(74,79,196,.35),rgba(10,11,30,.92) 55%,rgba(22,163,74,.2));font-family:var(--ui)}
.lockbox h3{font-size:24px;margin:6px 0 10px}.lockbox p{color:#C9CBE3;margin:0 0 18px}.lockbox .cta{display:flex;gap:12px;flex-wrap:wrap}
