@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root { --ink:#111; --paper:#f2f1eb; --lime:#a8ff00; --line:#d4d3cc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
body:has(dialog[open]) { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color:transparent; }
img { max-width:100%; }

.site-header { min-height:78px; padding:10px 5vw; display:grid; grid-template-columns:220px 1fr auto; gap:32px; align-items:center; position:sticky; z-index:50; top:0; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.brand img { width:210px; height:55px; display:block; object-fit:contain; object-position:left center; }
.main-nav { display:flex; justify-content:center; gap:34px; font-size:12px; font-weight:800; }
.main-nav a:hover { text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:4px; text-underline-offset:8px; }
.student-link { padding:13px 18px; display:flex; gap:18px; background:#111; color:white; font-size:11px; font-weight:800; }
.student-link:hover { color:var(--lime); }
.menu-toggle { display:none; border:0; background:transparent; font-weight:800; }

.hero { min-height:690px; padding:85px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:center; background:#111; color:white; overflow:hidden; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font:700 10px Space Mono,monospace; letter-spacing:.13em; }
.eyebrow i { width:9px; height:9px; display:inline-block; background:var(--lime); border-radius:50%; }
.hero h1 { max-width:720px; margin:22px 0; font-size:clamp(58px,7vw,105px); line-height:.86; letter-spacing:-.075em; }
.hero h1 em { display:block; color:var(--lime); font-style:normal; }
.hero-copy > p { max-width:620px; color:#b8b8b8; font-size:17px; line-height:1.7; }
.hero-actions { margin-top:35px; display:flex; align-items:center; gap:26px; }
.button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; border:0; font-size:11px; font-weight:900; }
.button-lime { background:var(--lime); color:#111; }
.button-dark { background:#111; color:white; }
.button-dark:hover { color:var(--lime); }
.text-link { border-bottom:1px solid #777; color:#ccc; font-size:11px; font-weight:800; }
.hero-trust { margin-top:55px; padding-top:24px; display:flex; gap:38px; border-top:1px solid #333; color:#888; font-size:10px; }
.hero-trust b { display:block; color:white; font-size:14px; }
.hero-art { position:relative; }
.hero-art::before { content:""; width:480px; height:480px; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); background:var(--lime); border-radius:50%; filter:blur(130px); opacity:.12; }
.hero-art img { position:relative; display:block; border:1px solid #333; box-shadow:0 35px 80px rgba(0,0,0,.45); }

.validation-strip { padding:28px 6vw; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; background:var(--lime); }
.validation-strip p { margin:0; display:grid; grid-template-columns:auto 1fr; column-gap:14px; color:#365200; font-size:12px; line-height:1.5; }
.validation-strip p > span { grid-row:1/3; opacity:.6; font:11px Space Mono,monospace; }
.validation-strip b { color:#111; font-size:13px; }

.sales-section { background:#101010; color:white; }
.section-title { max-width:980px; padding:105px 7vw 65px; }
.section-title h2 { margin:16px 0 22px; font-size:clamp(48px,6vw,84px); line-height:.93; letter-spacing:-.065em; }
.section-title > p { max-width:650px; color:#777; font-size:16px; line-height:1.7; }
.section-title.light .eyebrow, .section-title.light h2 { color:white; }
.sales-list { border-top:1px solid #333; }
.sales-card { --accent:var(--lime);--theme:#171717; min-height:760px; padding:80px 7vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:center; border-bottom:1px solid #333; background:radial-gradient(circle at 18% 50%,color-mix(in srgb,var(--accent),transparent 83%),transparent 32%),#101010; }
.sales-card.reverse { grid-template-columns:1.1fr .9fr; }
.sales-card.reverse .book-stage { grid-column:2; }
.sales-card.reverse .sales-copy { grid-column:1; grid-row:1; }
.book-stage { min-height:600px; display:grid; place-items:center; position:relative; }
.book-stage::before { content:""; width:min(520px,90%); aspect-ratio:1; position:absolute; border:1px solid color-mix(in srgb,var(--accent),transparent 45%); border-radius:50%; }
.book-stage img { width:min(405px,72%); position:relative; z-index:2; box-shadow:0 40px 80px rgba(0,0,0,.55); transform:rotate(-2deg); }
.reverse .book-stage img { transform:rotate(2deg); }
.card-number { position:absolute; top:0; left:0; color:var(--accent); font:700 11px Space Mono,monospace; }
.product-category { color:var(--accent); font:700 10px Space Mono,monospace; letter-spacing:.13em; }
.sales-copy h3 { margin:17px 0 24px; font-size:clamp(52px,6vw,88px); line-height:.9; letter-spacing:-.07em; }
.sales-copy > p { max-width:650px; color:#aaa; font-size:17px; line-height:1.7; }
.rating { margin:25px 0; padding:14px 0; display:flex; flex-wrap:wrap; gap:10px 24px; border-block:1px solid #353535; color:#8f8f8f; font-size:10px; }
.rating b { color:var(--accent); }
.sales-copy ul, .detail-copy ul { margin:25px 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); list-style:none; border-block:1px solid #353535; }
.sales-copy li, .detail-copy li { min-height:86px; padding:17px 14px; display:flex; align-items:center; gap:10px; border-right:1px solid #353535; color:#ccc; font-size:11px; }
.sales-copy li:first-child, .detail-copy li:first-child { padding-left:0; }
.sales-copy li:last-child, .detail-copy li:last-child { border-right:0; }
.sales-copy li span, .detail-copy li span { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; background:var(--accent); border-radius:50%; color:#111; font-weight:900; }
.offer { margin:25px 0; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.offer > div { display:flex; flex-direction:column; }
.offer del, .detail-offer del { color:#777; font-size:11px; }
.offer strong, .detail-offer strong { font-size:32px; }
.offer small, .detail-offer small { color:#777; font-size:9px; }
.offer > span { padding:8px 12px; border:1px solid #555; color:#999; font-size:9px; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; }
.button-accent { background:var(--accent); color:#111; }
.detail-link { min-height:54px; display:grid; place-items:center; border:1px solid var(--accent); color:white; font-size:11px; font-weight:800; }

.how { padding:20px 0 105px; background:var(--lime); }
.how .eyebrow i { background:#111; }
.how-grid { margin:0 7vw 45px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(0,0,0,.25); }
.how-grid article { min-height:260px; padding:35px; border-right:1px solid rgba(0,0,0,.25); }
.how-grid article:last-child { border:0; }
.how-grid span { font:700 10px Space Mono,monospace; opacity:.45; }
.how-grid h3 { margin:60px 0 12px; font-size:25px; }
.how-grid p { max-width:320px; color:#365200; font-size:13px; line-height:1.6; }
.how > .button { margin-left:7vw; }

.faq { padding-bottom:105px; background:white; }
.faq-list { max-width:980px; margin:0 7vw; border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { padding:25px 4px; display:flex; justify-content:space-between; font-size:17px; font-weight:800; cursor:pointer; list-style:none; }
.faq summary::after { content:"+"; font-size:22px; }
.faq details[open] summary::after { content:"−"; }
.faq details p { max-width:760px; margin:0 0 25px; color:#666; line-height:1.7; }

.site-footer { padding:65px 6vw 25px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; background:#111; color:white; }
.site-footer img { width:220px; height:60px; object-fit:contain; object-position:left; filter:invert(1); mix-blend-mode:screen; }
.site-footer p { color:#777; }
.site-footer nav { display:flex; flex-direction:column; gap:13px; }
.site-footer nav b { margin-bottom:8px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.site-footer nav a { color:#999; font-size:12px; }
.site-footer nav a:hover { color:var(--lime); }
.site-footer small { grid-column:1/-1; padding-top:20px; border-top:1px solid #333; color:#666; font-size:9px; }

.checkout-dialog { width:min(530px,calc(100% - 30px)); padding:55px; border:0; background:var(--paper); box-shadow:0 30px 100px rgba(0,0,0,.5); }
.checkout-dialog::backdrop { background:rgba(0,0,0,.7); backdrop-filter:blur(5px); }
.checkout-dialog > span { color:#718f00; font:700 9px Space Mono,monospace; letter-spacing:.13em; }
.checkout-dialog h2 { margin:12px 0; font-size:42px; line-height:.96; letter-spacing:-.05em; }
.checkout-dialog p { color:#666; line-height:1.6; }
.dialog-close { width:38px; height:38px; position:absolute; top:15px; right:15px; border:1px solid #999; border-radius:50%; background:transparent; font-size:22px; cursor:pointer; }

/* Individual sales pages */
.detail-hero { --accent:var(--lime);--theme:#171717; min-height:720px; padding:75px 7vw; display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:center; background:var(--theme); color:white; }
.detail-cover { padding:9%; border:1px solid color-mix(in srgb,var(--accent),transparent 50%); background:color-mix(in srgb,var(--accent),transparent 90%); }
.detail-cover img { width:100%; display:block; box-shadow:0 35px 70px rgba(0,0,0,.5); }
.back-link { display:inline-block; margin-bottom:30px; color:#999; font-size:10px; font-weight:800; }
.detail-copy h1 { margin:16px 0 22px; font-size:clamp(55px,7vw,95px); line-height:.88; letter-spacing:-.07em; }
.detail-copy > p { color:#bbb; font-size:17px; line-height:1.7; }
.detail-offer { display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:end; }
.detail-offer > div { display:flex; flex-direction:column; }
.safe-buy { color:#777 !important; font-size:9px !important; }
.detail-intro { padding:105px 7vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.detail-intro h2 { margin:14px 0; font-size:clamp(46px,5vw,75px); line-height:.93; letter-spacing:-.06em; }
.detail-intro > div:last-child > p { color:#65655f; font-size:18px; line-height:1.8; }
.health-note { padding:14px; display:block; background:#e1e0d8; color:#666; font-size:10px; line-height:1.5; }
.benefits { padding-bottom:105px; background:white; }
.benefit-grid { margin:0 7vw; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.benefit-grid article { min-height:260px; padding:35px; border-right:1px solid var(--line); }
.benefit-grid article:last-child { border:0; }
.benefit-grid > article > span { color:#708c00; font:700 10px Space Mono,monospace; }
.benefit-grid h3 { margin:65px 0 10px; font-size:24px; }
.benefit-grid p { color:#777; font-size:13px; line-height:1.65; }
.curriculum { padding-bottom:110px; background:#111; color:white; }
.module-list { margin:0 7vw; border-top:1px solid #333; }
.module-list article { padding:23px 0; display:grid; grid-template-columns:70px minmax(200px,.7fr) 1fr; gap:25px; border-bottom:1px solid #333; }
.module-list span { color:var(--lime); font:700 10px Space Mono,monospace; }
.module-list h3 { margin:0; font-size:17px; }
.module-list p { margin:0; color:#888; font-size:12px; line-height:1.5; }
.final-cta { --accent:var(--lime); padding:100px 7vw; background:var(--accent); text-align:center; }
.final-cta > span { font:700 9px Space Mono,monospace; letter-spacing:.15em; }
.final-cta h2 { max-width:900px; margin:16px auto; font-size:clamp(48px,6vw,82px); line-height:.92; letter-spacing:-.06em; }
.final-cta p { margin-bottom:30px; }
.other-books { padding-bottom:110px; background:white; }
.other-grid { margin:0 7vw; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.other-grid a { display:grid; grid-template-columns:110px 1fr; gap:6px 20px; align-items:start; }
.other-grid img { width:110px; grid-row:1/5; box-shadow:0 12px 30px rgba(0,0,0,.15); }
.other-grid span { color:#777; font-size:9px; font-weight:800; text-transform:uppercase; }
.other-grid h3 { margin:5px 0; font-size:18px; }
.other-grid b { font-size:10px; }
.sticky-buy { display:none; }

@media (max-width:950px) {
  .site-header { grid-template-columns:190px 1fr auto; }
  .hero { grid-template-columns:1.1fr .9fr; }
  .sales-card, .sales-card.reverse { gap:5vw; grid-template-columns:.8fr 1.2fr; }
  .book-stage { min-height:520px; }
  .sales-copy ul, .detail-copy ul { grid-template-columns:1fr; }
  .sales-copy li, .detail-copy li, .sales-copy li:first-child, .detail-copy li:first-child { min-height:54px; padding:11px 0; border-right:0; border-bottom:1px solid #333; }
  .sales-copy li:last-child, .detail-copy li:last-child { border-bottom:0; }
  .detail-hero { grid-template-columns:.65fr 1.35fr; gap:5vw; }
}

@media (max-width:700px) {
  .site-header { min-height:68px; padding:8px 18px; grid-template-columns:1fr auto auto; gap:12px; }
  .brand img { width:155px; height:48px; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:68px; left:0; right:0; padding:22px; flex-direction:column; background:white; border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }
  .student-link { padding:11px; font-size:0; }
  .student-link span { font-size:14px; }
  .hero { min-height:0; padding:65px 22px; display:block; }
  .hero h1 { font-size:60px; }
  .hero-art { margin-top:50px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-trust { flex-wrap:wrap; gap:18px 28px; }
  .validation-strip { padding:24px 20px; grid-template-columns:1fr; gap:17px; }
  .section-title { padding:75px 20px 45px; }
  .section-title h2 { font-size:50px; }
  .sales-card, .sales-card.reverse { min-height:0; padding:65px 20px; display:flex; flex-direction:column; gap:45px; }
  .sales-card.reverse .book-stage, .sales-card.reverse .sales-copy { grid-column:auto; grid-row:auto; }
  .book-stage { width:100%; min-height:510px; }
  .book-stage img { width:min(330px,74%); }
  .sales-copy h3 { font-size:57px; }
  .product-actions { grid-template-columns:1fr; }
  .detail-link { border-top:0; }
  .how-grid { margin-inline:20px; grid-template-columns:1fr; }
  .how-grid article { min-height:210px; border-right:0; border-bottom:1px solid rgba(0,0,0,.25); }
  .how-grid h3 { margin-top:35px; }
  .how > .button { margin:0 20px; }
  .faq-list { margin-inline:20px; }
  .site-footer { grid-template-columns:1fr; padding-inline:20px; }
  .site-footer small { grid-column:auto; }
  .checkout-dialog { padding:50px 25px 30px; }
  .detail-hero { min-height:0; padding:50px 20px 65px; display:flex; flex-direction:column-reverse; }
  .detail-cover { width:min(330px,90%); }
  .detail-copy h1 { font-size:57px; }
  .detail-offer { grid-template-columns:1fr; }
  .detail-intro { padding:70px 20px; grid-template-columns:1fr; gap:25px; }
  .benefit-grid { margin-inline:20px; grid-template-columns:1fr; }
  .benefit-grid article { min-height:210px; border-right:0; border-bottom:1px solid var(--line); }
  .benefit-grid h3 { margin-top:35px; }
  .module-list { margin-inline:20px; }
  .module-list article { grid-template-columns:50px 1fr; }
  .module-list p { grid-column:2; }
  .other-grid { margin-inline:20px; grid-template-columns:1fr; }
  .sticky-buy { min-height:58px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; position:fixed; z-index:45; left:12px; right:12px; bottom:12px; background:var(--lime); color:#111; box-shadow:0 12px 35px rgba(0,0,0,.3); font-size:11px; font-weight:900; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
