:root{
    --bg:#1A1A1A;
    --bg-alt:#222222;
    --bg-raise:#242424;
    --text:#FFFFFF;
    --text-soft:#D6D6D6;
    --text-mute:#8C8C8C;
    --gold:#C48F29;
    --gold-soft:#C48F2933;
    --gold-line:#C48F2955;
    --line:#33333333;
    --radius:14px;
    --maxw:1180px;
    --disp:'Manrope', sans-serif;
    --body:'Inter', sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text-soft);
    font-family:var(--body);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3{
    font-family:var(--disp);
    color:var(--text);
    margin:0;
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  section{position:relative;}
  .pad{padding:110px 0;}
  .pad-sm{padding:70px 0;}
  .alt{background:var(--bg-alt);}
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gold);
    font-family:var(--body);
    font-weight:600;
    font-size:13px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    margin-bottom:22px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:2px;
    background:var(--gold);
    display:inline-block;
  }
  .gold{color:var(--gold);}
  .h-xl{font-size:clamp(34px,5.4vw,62px);font-weight:800;line-height:1.08;}
  .h-lg{font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.15;}
  .h-md{font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1.25;}
  .lede{font-size:clamp(17px,1.6vw,20px);color:var(--text-soft);max-width:640px;}
  .center{text-align:center;margin-left:auto;margin-right:auto;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--gold);
    color:#171717;
    font-family:var(--disp);
    font-weight:800;
    font-size:15px;
    letter-spacing:0.03em;
    padding:18px 34px;
    border-radius:999px;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    box-shadow:0 0 0 rgba(196,143,41,0);
  }
  .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 30px -8px var(--gold-soft);
    background:#D6A03D;
  }
  .btn-sub{
    margin-top:16px;
    font-size:13px;
    color:var(--text-mute);
    letter-spacing:0.02em;
  }
  .cta-block{text-align:center;margin-top:8px;}

  [data-reveal]{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  }
  [data-reveal].is-visible{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion:reduce){
    [data-reveal]{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  .keys{
    display:flex;
    justify-content:center;
    gap:3px;
    margin:0 auto;
    width:min(320px,60%);
  }
  .keys span{
    height:22px;
    flex:1;
    background:#3A3A3A;
    border-radius:0 0 3px 3px;
    transition:background .3s ease, height .3s ease, box-shadow .3s ease;
  }
  .keys span.on{
    background:var(--gold);
    height:14px;
    box-shadow:0 4px 18px -2px var(--gold-soft);
  }
  .divider{
    display:flex;
    justify-content:center;
    padding:64px 0;
  }

  .proof{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:36px;
    margin-top:64px;
    padding-top:44px;
    border-top:1px solid var(--line);
  }
  .proof .num{
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(26px,3vw,36px);
    color:var(--text);
  }
  .proof .num span{color:var(--gold);}
  .proof .lbl{
    font-size:13px;
    color:var(--text-mute);
    margin-top:6px;
    letter-spacing:0.02em;
  }

  .hero{padding:180px 0 60px;}
  .hero-inner{max-width:760px;}
  .hero .h-xl{margin-bottom:22px;}
  .hero .lede{margin-bottom:34px;}
  .price-line{
    font-family:var(--disp);
    font-weight:700;
    color:var(--text);
    font-size:19px;
    margin-bottom:26px;
  }
  .price-line b{color:var(--gold);font-weight:800;}

  .video-frame{
    position:relative;
    max-width:900px;
    margin:0 auto;
    aspect-ratio:16/9;
    border-radius:var(--radius);
    background:linear-gradient(145deg,#232323,#161616);
    border:1px solid var(--gold-line);
    box-shadow:0 0 80px -20px var(--gold-soft), inset 0 0 0 1px #ffffff08;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .play-btn{
    width:78px;height:78px;
    border-radius:50%;
    background:var(--gold);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 40px -6px var(--gold-soft);
  }
  .play-btn::after{
    content:"";
    border-style:solid;
    border-width:12px 0 12px 20px;
    border-color:transparent transparent transparent #171717;
    margin-left:5px;
  }
  .video-caption{
    text-align:center;
    max-width:560px;
    margin:30px auto 0;
    color:var(--text-mute);
    font-size:15px;
  }

  .narrative{max-width:640px;}
  .narrative p{margin-bottom:16px;color:var(--text-soft);}
  .narrative .tight p{margin-bottom:4px;}
  .stmt{
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(24px,3.2vw,36px);
    color:var(--text);
    line-height:1.3;
    max-width:820px;
  }

  .steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
    margin-top:56px;
  }
  .step{
    background:var(--bg-raise);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 20px;
  }
  .step .num{
    font-family:var(--disp);
    font-weight:800;
    color:var(--gold);
    font-size:15px;
    margin-bottom:14px;
    letter-spacing:0.04em;
  }
  .step .t{
    font-family:var(--disp);
    font-weight:700;
    color:var(--text);
    font-size:16px;
    margin-bottom:8px;
  }
  .step .d{font-size:14px;color:var(--text-mute);}

  .proof-slot{
    border:1.5px dashed var(--gold-line);
    border-radius:var(--radius);
    background:#ffffff05;
    padding:28px;
    display:flex;
    align-items:center;
    gap:16px;
    color:var(--text-mute);
    font-size:14px;
  }
  .proof-slot .ic{
    flex:0 0 auto;
    width:38px;height:38px;
    border-radius:50%;
    border:1.5px solid var(--gold-line);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);
    font-family:var(--disp);
    font-weight:800;
  }
  .proof-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:36px;
  }
  .proof-grid.two{grid-template-columns:repeat(2,1fr);}

  .cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    margin-top:56px;
  }
  .card{
    background:var(--bg-raise);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:40px 34px;
  }
  .card h3{font-size:24px;margin-bottom:18px;}
  .card p{color:var(--text-soft);margin-bottom:14px;}
  .flow{
    margin:26px 0;
    padding:22px;
    background:var(--bg);
    border-radius:10px;
    border:1px solid var(--line);
  }
  .flow .root{
    font-family:var(--disp);
    font-weight:800;
    color:var(--gold);
    font-size:14px;
    letter-spacing:0.04em;
    margin-bottom:14px;
  }
  .flow ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
  .flow li{
    font-size:14px;
    color:var(--text-soft);
    padding-left:16px;
    border-left:2px solid var(--gold-line);
  }
  .path{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    font-size:13px;
    color:var(--text-soft);
    margin:22px 0;
  }
  .path span{
    background:var(--bg);
    border:1px solid var(--line);
    padding:7px 12px;
    border-radius:999px;
  }
  .path .arrow{color:var(--gold);border:none;background:none;padding:0;}

  .lib-num{
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(54px,9vw,110px);
    color:var(--gold);
    line-height:1;
  }
  .lib-tag{
    font-family:var(--disp);
    font-weight:700;
    font-size:14px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--text-mute);
    margin-top:4px;
  }
  .collage{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:repeat(2,90px);
    gap:6px;
    margin:44px 0 30px;
  }
  .collage div{
    background:linear-gradient(150deg,#2a2a2a,#1c1c1c);
    border:1px solid var(--line);
    border-radius:8px;
  }
  .cat-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px 22px;
    color:var(--text-soft);
    font-size:15px;
    margin-bottom:30px;
  }
  .cat-row b{color:var(--gold);font-weight:500;}

  .hkp{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(18px,2.6vw,26px);
    color:var(--text);
    margin:50px 0;
    flex-wrap:wrap;
  }
  .hkp .arrow{color:var(--gold);font-weight:400;}
  .three{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  .three .card{padding:30px 26px;}
  .three h3{font-size:19px;color:var(--gold);margin-bottom:10px;}
  .three p{font-size:14px;color:var(--text-mute);}
  .roadmap-slot{margin-top:40px;}

  .stat-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    margin:50px 0;
  }
  .stat{
    text-align:center;
    padding:26px 14px;
    border-radius:var(--radius);
    background:var(--bg-raise);
    border:1px solid var(--line);
  }
  .stat .n{
    font-family:var(--disp);
    font-weight:800;
    font-size:22px;
    color:var(--gold);
  }
  .stat .l{font-size:12.5px;color:var(--text-mute);margin-top:6px;letter-spacing:.02em;}
  .big-q{
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(26px,4vw,42px);
    color:var(--text);
    line-height:1.25;
    margin-top:60px;
  }

  .compare{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:34px;
    align-items:center;
    margin-top:56px;
  }
  .compare .vs{
    font-family:var(--disp);
    font-weight:800;
    color:var(--text-mute);
    font-size:15px;
  }
  .cbox{
    border-radius:var(--radius);
    padding:40px 30px;
    border:1px solid var(--line);
  }
  .cbox.old{background:var(--bg-alt);}
  .cbox.new{
    background:linear-gradient(155deg,#262016,#1c1c1c);
    border:1px solid var(--gold-line);
    box-shadow:0 0 60px -20px var(--gold-soft);
  }
  .cbox .lbl{
    font-family:var(--disp);
    font-weight:700;
    font-size:13px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--text-mute);
    margin-bottom:18px;
  }
  .cbox .price{
    font-family:var(--disp);
    font-weight:800;
    font-size:38px;
    color:var(--text);
  }
  .cbox.new .price{color:var(--gold);font-size:48px;}
  .cbox .sub{font-size:14px;color:var(--text-mute);margin-top:6px;}
  .cbox .note{font-size:14px;color:var(--text-soft);margin-top:20px;}

  .stack{margin-top:40px;display:flex;flex-direction:column;gap:0;}
  .stack .row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid var(--line);
  }
  .stack .row:first-child{border-top:1px solid var(--line);}
  .stack .check{
    color:var(--gold);
    font-weight:800;
    margin-right:12px;
  }
  .stack .item{color:var(--text-soft);font-size:15.5px;display:flex;align-items:center;}
  .stack .val{
    color:var(--gold);
    font-family:var(--disp);
    font-weight:700;
    font-size:14.5px;
    white-space:nowrap;
  }

  .final{padding:150px 0;text-align:center;}
  .final .h-xl{max-width:720px;margin:0 auto 30px;}
  .final .price{
    font-family:var(--disp);
    font-weight:800;
    font-size:clamp(40px,6vw,64px);
    color:var(--gold);
    margin:26px 0 34px;
  }

  footer.site-footer{padding:40px 0;text-align:center;color:var(--text-mute);font-size:13px;}

  @media (max-width:920px){
    .steps{grid-template-columns:repeat(2,1fr);}
    .proof{grid-template-columns:repeat(2,1fr);gap:26px;}
    .cards{grid-template-columns:1fr;}
    .compare{grid-template-columns:1fr;text-align:center;}
    .three{grid-template-columns:1fr;}
    .stat-grid{grid-template-columns:1fr;}
    .proof-grid{grid-template-columns:1fr;}
    .proof-grid.two{grid-template-columns:1fr;}
    .collage{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,80px);}
  }
  @media (max-width:640px){
    .pad{padding:76px 0;}
    .hero{padding:88px 0 40px;}
    .btn{width:100%;justify-content:center;padding:18px 20px;}
    .final{padding:96px 0;}
  }

  /* Sticky nav — always visible from page load */
  .site-nav{
    position:fixed;
    top:0; left:0; right:0;
    z-index:1000;
    background:rgba(26,26,26,0.88);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .site-nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:14px 28px;
  }
  .site-nav-logo{
    font-family:var(--disp);
    font-weight:800;
    color:var(--text);
    font-size:16px;
    text-decoration:none;
    letter-spacing:-0.01em;
  }
  .site-nav-links{
    list-style:none;
    display:flex;
    align-items:center;
    gap:26px;
    margin:0;
    padding:0;
    flex:1;
    justify-content:center;
  }
  .site-nav-links a{
    color:var(--text-soft);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    transition:color .2s ease;
  }
  .site-nav-links a:hover{color:var(--gold);}
  .site-nav-cta{
    padding:11px 22px;
    font-size:13px;
    white-space:nowrap;
  }

  /* Hamburger toggle — hidden on desktop */
  .nav-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:34px;
    height:34px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    flex:0 0 auto;
  }
  .nav-toggle span{
    display:block;
    width:100%;
    height:2px;
    background:var(--text);
    border-radius:2px;
    transition:transform .28s ease, opacity .28s ease;
  }
  .site-nav.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .site-nav.is-open .nav-toggle span:nth-child(2){opacity:0;}
  .site-nav.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* Mobile dropdown panel — all links, fully visible when open */
  .nav-mobile-panel{
    display:none;
    max-height:0;
    overflow:hidden;
    background:rgba(26,26,26,0.97);
    border-bottom:1px solid var(--line);
    transition:max-height .35s ease;
  }
  .site-nav.is-open .nav-mobile-panel{max-height:80vh;overflow-y:auto;}
  .nav-mobile-links{
    list-style:none;
    margin:0;
    padding:8px 28px 4px;
    display:flex;
    flex-direction:column;
  }
  .nav-mobile-links li{border-bottom:1px solid var(--line);}
  .nav-mobile-links li:last-child{border-bottom:none;}
  .nav-mobile-links a{
    display:block;
    padding:16px 0;
    color:var(--text-soft);
    text-decoration:none;
    font-size:16px;
    font-weight:500;
  }
  .nav-mobile-links a:hover{color:var(--gold);}
  .nav-mobile-cta{
    display:flex;
    justify-content:center;
    margin:18px 28px 22px;
  }

  @media (max-width:640px){
    .site-nav-inner{padding:12px 20px;gap:14px;}
    .site-nav-links{display:none;}
    .site-nav-cta{display:none;}
    .nav-toggle{display:flex;}
    .nav-mobile-panel{display:block;}
  }

  /* Generic inner-page content (used by page.php for non-homepage pages) */
  .site-content{padding:85px 0 110px;}
  .site-content .entry-content{max-width:760px;margin:0 auto;}
  .site-content .entry-content h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;margin-bottom:26px;}
  .site-content .entry-content p{color:var(--text-soft);margin-bottom:18px;font-size:17px;}
  .site-content .entry-content a{color:var(--gold);text-decoration:underline;}
