:root{
    --bg:#1c1b19;
    --surface:#242220;
    --surface-2:#2c2a26;
    --line: rgba(245,245,240,0.12);
    --ink:#f5f5f0;
    --muted:#9a9690;
    --accent:#A3FF12;
    --maxw:1240px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg); color:var(--ink);
    font-family:'Manrope', sans-serif; font-size:16px; line-height:1.55;
    -webkit-font-smoothing:antialiased;
    position:relative;
  }
  h1,h2,h3,h4{ font-family:'Manrope', sans-serif; font-weight:800; line-height:1.04; letter-spacing:-0.015em; }
  .mono{ font-family:'Space Grotesk', monospace; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
  section{ position:relative; }
  ::selection{ background:var(--accent); color:#111; }

  /* ambient moving texture — soft grain + slow drifting glow, not a diagonal-stripe clone */
  .bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
  .bg-fx::before{
    content:""; position:absolute; inset:-10%;
    background-image:radial-gradient(circle, rgba(163,255,18,0.05) 0%, transparent 60%);
    background-size:60% 60%;
    animation:driftGlow 34s ease-in-out infinite;
  }
  .bg-fx::after{
    content:""; position:absolute; inset:0; opacity:0.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  @keyframes driftGlow{
    0%{ transform:translate(-8%,-6%) scale(1); }
    50%{ transform:translate(14%,10%) scale(1.25); }
    100%{ transform:translate(-8%,-6%) scale(1); }
  }
  @media (prefers-reduced-motion: reduce){ .bg-fx::before{ animation:none; } }
  main, header, footer{ position:relative; z-index:1; }

  .accent-word{ color:var(--accent); }
  .dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-right:8px; vertical-align:middle; }
  .dot-live{ animation:recBlink 1.4s ease-in-out infinite; }
  @keyframes recBlink{ 0%,100%{ opacity:1; } 50%{ opacity:0.2; } }
  @media (prefers-reduced-motion: reduce){ .dot-live{ animation:none; } }

  /* ---------- NAV ---------- */
  header{ border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(28,27,25,0.88); backdrop-filter:blur(8px); z-index:100; }
  nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:var(--maxw); margin:0 auto; }
  nav img{ height:30px; display:block; }
  nav .links{ display:flex; gap:36px; }
  nav .links a{ font-family:'Space Grotesk', monospace; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); transition:color .15s; }
  nav .links a:hover{ color:var(--ink); }
  @media (max-width:800px){ nav .links{ display:none; } }

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--accent); color:#131210;
    font-family:'Space Grotesk', monospace; font-weight:600; font-size:13.5px;
    letter-spacing:0.01em;
    padding:14px 26px; border-radius:8px; border:1px solid var(--accent);
    transition:transform .15s ease, background .15s ease, color .15s ease;
  }
  .btn:hover{ background:transparent; color:var(--accent); transform:translateY(-1px); }
  .btn-outline{ background:transparent; color:var(--ink); border:1px solid var(--line); }
  .btn-outline:hover{ border-color:var(--accent); color:var(--accent); }
  .btn-sm{ padding:10px 18px; font-size:12.5px; }

  /* ---------- HERO ---------- */
  .hero{ padding:47px 0 29px; }
  .eyebrow{ display:flex; align-items:center; font-family:'Space Grotesk',monospace; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:26px; }
  .hero h1{ font-size:clamp(38px, 6.4vw, 74px); max-width:15ch; }
  .hero p.lead{ margin-top:26px; max-width:50ch; font-size:17.5px; color:#cfcbc4; }
  .hero .bottom-row{ margin-top:70px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; padding-top:30px; border-top:1px solid var(--line); }
  .hero .quote{ border-left:2px solid var(--accent); padding-left:16px; max-width:34ch; font-size:14.5px; color:var(--muted); }

  /* ---------- MARQUEE ---------- */
  .marquee-section{ padding:23px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
  .marquee-section .eyebrow{ margin-bottom:34px; }
  .marquee-track{ display:flex; align-items:center; gap:44px; width:max-content; animation:scrollLogos 30s linear infinite; }
  @media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }
  @keyframes scrollLogos{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .logo-card{ height:64px; width:150px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .logo-card img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }

  /* ---------- PLANES ---------- */
  .planes{ padding:37px 0 0; }
  .planes-head{ padding-bottom:40px; border-bottom:1px solid var(--line); }
  .planes-head .eyebrow{ margin-bottom:18px; }
  .planes-head h2{ font-size:clamp(28px,4.2vw,46px); max-width:18ch; }
  .planes-head p{ margin-top:16px; color:var(--muted); max-width:52ch; font-size:15.5px; }

  .plan-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
  .plan{ padding:44px 34px 38px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; background:var(--surface); transition:transform .35s ease, box-shadow .35s ease; position:relative; }
  .plan:hover{ transform:scale(1.025); box-shadow:0 18px 40px rgba(0,0,0,0.35); z-index:2; }
  .plan:last-child{ border-right:none; }
  .plan.hi{ background:var(--surface-2); box-shadow:inset 0 0 0 1px rgba(163,255,18,0.35); }
  .plan.hi:hover{ box-shadow:inset 0 0 0 1px rgba(163,255,18,0.35), 0 18px 40px rgba(0,0,0,0.35); }
  @media (prefers-reduced-motion: reduce){ .plan{ transition:none; } .plan:hover{ transform:none; } }
  .plan .tag{ font-family:'Space Grotesk',monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
  .plan.hi .tag{ color:var(--accent); }
  .plan h3{ margin-top:14px; font-size:25px; }
  .plan .price{ margin-top:22px; }
  .plan .price .amount{ font-size:38px; font-weight:800; }
  .plan.hi .price .amount{ color:var(--accent); }
  .plan .price .period{ font-family:'Space Grotesk',monospace; font-size:13px; color:var(--muted); margin-left:4px; }
  .plan .desc{ margin-top:16px; font-size:14px; color:var(--muted); min-height:42px; }
  .plan ul{ list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:13px; flex:1; }
  .plan li{ font-size:14px; padding-left:18px; position:relative; color:#dcdcd6; }
  .plan li::before{ content:"—"; position:absolute; left:0; color:var(--accent); }
  .plan .btn{ margin-top:30px; justify-content:center; width:100%; }
  .plan-note{ margin-top:14px; font-size:12px; color:var(--muted); text-align:center; }
  @media (max-width:1100px){ .plan-grid{ grid-template-columns:repeat(2,1fr); } .plan:nth-child(2n){ border-right:none; } }
  @media (max-width:640px){ .plan-grid{ grid-template-columns:1fr; } .plan{ border-right:none; } }

  /* ---------- Q&A ---------- */
  .qa{ padding:42px 0; border-bottom:1px solid var(--line); }
  .qa-head{ margin-bottom:44px; }
  .qa-head h2{ font-size:clamp(28px,4.2vw,44px); max-width:16ch; }
  .qa-list{ border-top:1px solid var(--line); max-width:820px; }
  .qa-item{ border-bottom:1px solid var(--line); padding:22px 0; }
  .qa-q{ all:unset; cursor:pointer; box-sizing:border-box; width:100%; display:flex; justify-content:space-between; align-items:center; font-family:'Manrope'; font-weight:700; font-size:16.5px; gap:20px; }
  .qa-q .plus{ font-family:'Space Grotesk',monospace; font-size:20px; color:var(--accent); flex-shrink:0; transition:transform .35s ease; }
  .qa-item.open .qa-q .plus{ transform:rotate(45deg); }
  .qa-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1); }
  .qa-item.open .qa-a{ grid-template-rows:1fr; }
  .qa-a-inner{ overflow:hidden; }
  .qa-a-inner p{ margin-top:14px; color:var(--muted); font-size:14.5px; max-width:64ch; }
  @media (prefers-reduced-motion: reduce){ .qa-a{ transition:none; } }

  /* ---------- CTA FINAL ---------- */
  .cta-final{ padding:45px 0; text-align:center; }
  .cta-final h2{ font-size:clamp(34px,6.2vw,62px); }
  .cta-final .sub{ margin-top:16px; color:var(--muted); font-size:16px; }
  .cta-final .btn{ margin-top:38px; }
  .cta-final .note{ margin-top:30px; font-family:'Space Grotesk',monospace; font-size:12px; color:var(--muted); }

  /* ---------- FOOTER ---------- */
  footer{ padding:18px 0; border-top:1px solid var(--line); }
  footer .grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  footer img{ height:26px; }
  footer .meta{ display:flex; gap:26px; flex-wrap:wrap; font-size:13px; color:var(--muted); font-family:'Space Grotesk',monospace; }
  footer .meta a:hover{ color:var(--accent); }
  @media (max-width:700px){
    footer .grid{ flex-direction:column; text-align:center; }
    footer .meta{ justify-content:center; }
  }
