/* ============================================================
   DealersThink — marketing site styles
   Framework-free. Token-driven (light/dark x green/duo/pink).
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}

/* ---------- TOKENS: LIGHT (base / accent=green) ---------- */
:root{
  --bg:#ffffff; --bg-alt:#fbfdfb; --surface:#ffffff; --surface-2:#f7faf8;
  --border:#eef1ee; --ink:#0b0f0c; --ink-soft:#525c55; --ink-faint:#8a948c;
  --neon:#39ff14; --neon-ink:#1f7a36; --on-neon:#08220c; --neon-rgb:57,255,20;
  --pop:#39ff14; --pop-rgb:57,255,20;
  --spot-bg:#0b0f0c; --spot-ink:#eafff0; --spot-soft:#9fc8a8; --spot-faint:#5f7a66;
  --card-shadow:0 40px 80px -38px rgba(11,15,12,.32);
  --grid:rgba(11,15,12,.045);
  --ribbon-bg:#39ff14; --ribbon-ink:#06210a; --ribbon-diamond:#0b3d16;
  --stats-bg:#39ff14; --stats-num:#06210a; --stats-shadow:none; --stats-label:rgba(6,33,10,.72); --stats-note:rgba(6,33,10,.5); --stats-glow:rgba(255,255,255,.22);
  --cta-bg:#39ff14; --cta-ink:#06210a; --cta-soft:rgba(6,33,10,.72); --cta-glow:rgba(255,255,255,.28); --cta-hl:#06210a; --cta-hl-shadow:none; --cta-btn-bg:#06210a; --cta-btn-ink:#eafff0; --cta-btn-shadow:0 12px 30px rgba(6,33,10,.32); --cta-btn-shadow-h:0 16px 42px rgba(6,33,10,.5);
  --page:#e7e5df;
}

/* ---------- TOKENS: DARK (accent=green) ---------- */
:root[data-theme="dark"]{
  --bg:#05100a; --bg-alt:#071711; --surface:#0b1a12; --surface-2:#02120b;
  --border:rgba(255,255,255,.10); --ink:#ffffff; --ink-soft:#a9cdb1; --ink-faint:#7e9d86;
  --neon:#39ff14; --neon-ink:#7fe08f; --on-neon:#06210a; --neon-rgb:57,255,20;
  --pop:#39ff14; --pop-rgb:57,255,20;
  --spot-bg:#02120a; --spot-ink:#eafff0; --spot-soft:#9fc8a8; --spot-faint:#5f7a66;
  --card-shadow:0 0 64px rgba(57,255,20,.16);
  --grid:rgba(57,255,20,.06);
  --ribbon-bg:#02120a; --ribbon-ink:#9fc8a8; --ribbon-diamond:#39ff14;
  --stats-bg:#02120a; --stats-num:#39ff14; --stats-shadow:0 0 24px rgba(57,255,20,.5); --stats-label:#9fc8a8; --stats-note:#5f7a66; --stats-glow:rgba(57,255,20,.22);
  --cta-bg:#02120a; --cta-ink:#eafff0; --cta-soft:#9fc8a8; --cta-glow:rgba(57,255,20,.28); --cta-hl:#39ff14; --cta-hl-shadow:0 0 26px rgba(57,255,20,.6); --cta-btn-bg:#39ff14; --cta-btn-ink:#06210a; --cta-btn-shadow:0 0 44px rgba(57,255,20,.55); --cta-btn-shadow-h:0 0 66px rgba(57,255,20,.95);
  --page:#03100a;
}

/* ---------- ACCENT = DUO (green UI + pink pop/bands) ---------- */
:root[data-accent="duo"]{ --pop:#ff2e9a; --pop-rgb:255,46,154; }
:root[data-theme="light"][data-accent="duo"], :root:not([data-theme="dark"])[data-accent="duo"]{
  --ribbon-bg:#ff2e9a; --ribbon-ink:#2b0014; --ribbon-diamond:#7a0038;
  --cta-bg:#ff2e9a; --cta-ink:#2b0014; --cta-soft:rgba(43,0,20,.72); --cta-hl:#2b0014; --cta-hl-shadow:none; --cta-glow:rgba(255,255,255,.28); --cta-btn-bg:#2b0014; --cta-btn-ink:#ffe6f1; --cta-btn-shadow:0 12px 30px rgba(43,0,20,.32); --cta-btn-shadow-h:0 16px 42px rgba(43,0,20,.5);
}
:root[data-theme="dark"][data-accent="duo"]{
  --ribbon-bg:#160510; --ribbon-ink:#ff9ecb; --ribbon-diamond:#ff2e9a;
  --cta-bg:#160510; --cta-ink:#ffe6f1; --cta-soft:#e0a8c4; --cta-hl:#ff2e9a; --cta-hl-shadow:0 0 26px rgba(255,46,154,.6); --cta-glow:rgba(255,46,154,.28); --cta-btn-bg:#ff2e9a; --cta-btn-ink:#2b0014; --cta-btn-shadow:0 0 44px rgba(255,46,154,.55); --cta-btn-shadow-h:0 0 66px rgba(255,46,154,.95);
}

/* ---------- ACCENT = PINK (neon hue itself becomes pink) ---------- */
:root[data-theme="light"][data-accent="pink"], :root:not([data-theme="dark"])[data-accent="pink"]{
  --neon:#ff2e9a; --neon-rgb:255,46,154; --neon-ink:#c4006a; --on-neon:#2b0014; --pop:#ff2e9a; --pop-rgb:255,46,154;
  --ribbon-bg:#ff2e9a; --ribbon-ink:#2b0014; --ribbon-diamond:#7a0038;
  --stats-bg:#ff2e9a; --stats-num:#2b0014; --stats-label:rgba(43,0,20,.72); --stats-note:rgba(43,0,20,.5);
  --cta-bg:#ff2e9a; --cta-ink:#2b0014; --cta-soft:rgba(43,0,20,.72); --cta-hl:#2b0014; --cta-hl-shadow:none; --cta-btn-bg:#2b0014; --cta-btn-ink:#ffe6f1; --cta-btn-shadow:0 12px 30px rgba(43,0,20,.32); --cta-btn-shadow-h:0 16px 42px rgba(43,0,20,.5);
}
:root[data-theme="dark"][data-accent="pink"]{
  --neon:#ff2e9a; --neon-rgb:255,46,154; --neon-ink:#ff9ecb; --on-neon:#2b0014; --pop:#ff2e9a; --pop-rgb:255,46,154;
  --ribbon-bg:#160510; --ribbon-ink:#ff9ecb; --ribbon-diamond:#ff2e9a;
  --stats-bg:#160510; --stats-num:#ff2e9a; --stats-label:#e0a8c4; --stats-note:#7a5566;
  --cta-bg:#160510; --cta-ink:#ffe6f1; --cta-soft:#e0a8c4; --cta-hl:#ff2e9a; --cta-hl-shadow:0 0 26px rgba(255,46,154,.6); --cta-btn-bg:#ff2e9a; --cta-btn-ink:#2b0014; --cta-btn-shadow:0 0 44px rgba(255,46,154,.55); --cta-btn-shadow-h:0 0 66px rgba(255,46,154,.95);
}

/* default-OS dark when no explicit data-theme set */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]){
    --bg:#05100a; --bg-alt:#071711; --surface:#0b1a12; --surface-2:#02120b;
    --border:rgba(255,255,255,.10); --ink:#ffffff; --ink-soft:#a9cdb1; --ink-faint:#7e9d86;
    --neon-ink:#7fe08f; --on-neon:#06210a;
    --spot-bg:#02120a; --card-shadow:0 0 64px rgba(57,255,20,.16); --grid:rgba(57,255,20,.06);
    --ribbon-bg:#02120a; --ribbon-ink:#9fc8a8; --ribbon-diamond:#39ff14;
    --stats-bg:#02120a; --stats-num:#39ff14; --stats-shadow:0 0 24px rgba(57,255,20,.5); --stats-label:#9fc8a8; --stats-note:#5f7a66; --stats-glow:rgba(57,255,20,.22);
    --cta-bg:#02120a; --cta-ink:#eafff0; --cta-soft:#9fc8a8; --cta-glow:rgba(57,255,20,.28); --cta-hl:#39ff14; --cta-hl-shadow:0 0 26px rgba(57,255,20,.6); --cta-btn-bg:#39ff14; --cta-btn-ink:#06210a; --cta-btn-shadow:0 0 44px rgba(57,255,20,.55); --cta-btn-shadow-h:0 0 66px rgba(57,255,20,.95);
    --page:#03100a;
  }
}

/* ---------- BASE ---------- */
body{
  background:var(--bg); color:var(--ink);
  font-family:'Sora',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit;}
.mono{font-family:'Space Mono',monospace;}
.script{font-family:'Allura',cursive;}
.wrap{max-width:1240px;margin:0 auto;}
.eyebrow{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:2px;color:var(--neon-ink);text-transform:uppercase;}

/* ---------- LOGO LOCKUP ---------- */
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:.8;text-decoration:none;}
.logo .d{font-family:'Allura',cursive;font-size:33px;line-height:.7;color:var(--ink);margin-left:-4px;}
.logo .t-row{display:inline-flex;align-items:flex-end;gap:3px;}
.logo .t{font-weight:700;font-size:21px;letter-spacing:5px;text-transform:uppercase;color:var(--ink);}
.logo .dot{width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:0 0 14px var(--neon);margin-bottom:1px;}
.logo--sm .d{font-size:28px;margin-left:-3px;} .logo--sm .t{font-size:18px;letter-spacing:4px;} .logo--sm .dot{width:6px;height:6px;}
.logo--light .d,.logo--light .t{color:#fff;}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:16px;
  padding:16px 30px;border-radius:13px;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .15s,box-shadow .15s,border-color .15s;}
.btn-neon{background:var(--neon);color:var(--on-neon);box-shadow:0 12px 36px rgba(var(--neon-rgb),.46);}
.btn-neon:hover{transform:translateY(-2px);box-shadow:0 16px 50px rgba(var(--neon-rgb),.75);}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border);font-weight:600;}
.btn-ghost:hover{border-color:var(--ink);}
.btn-sm{font-size:14px;padding:12px 22px;border-radius:11px;}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:22px 7vw;border-bottom:1px solid var(--border);background:var(--bg);}
.site-nav{display:flex;align-items:center;gap:30px;font-size:15px;color:var(--ink-soft);font-weight:500;}
.site-nav a{text-decoration:none;}
.site-nav a:hover{color:var(--ink);}
.icon-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--border);background:var(--surface);
  color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;}
.icon-btn:hover{border-color:var(--ink);}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding:90px 7vw 104px;background:var(--bg);}
.hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;max-width:1240px;margin:0 auto;}
.hero h1{font-weight:800;font-size:64px;line-height:1.0;letter-spacing:-2.6px;margin:24px 0 0;}
.hl{position:relative;white-space:nowrap;}
.hl span{position:relative;z-index:1;}
.hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:7px;height:17px;background:var(--pop);opacity:.7;border-radius:3px;z-index:0;}
.hero p.sub{font-size:19px;line-height:1.56;color:var(--ink-soft);max-width:500px;margin:24px 0 0;}
.hero p.sub strong{color:var(--ink);font-weight:600;}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.pill{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border:1px solid var(--border);border-radius:999px;
  font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:2px;color:var(--neon-ink);font-weight:700;background:var(--surface-2);}
.dot-neon{width:6px;height:6px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px var(--neon);}
.trust{display:flex;gap:26px;margin-top:40px;font-size:13.5px;color:var(--ink-faint);flex-wrap:wrap;}
.trust span+span{border-left:1px solid var(--border);padding-left:26px;}
.rise{animation:dt-rise .75s cubic-bezier(.2,.7,.2,1) forwards;}
.rise-2{animation:dt-rise .75s cubic-bezier(.2,.7,.2,1) .08s forwards;}
.rise-3{animation:dt-rise .75s cubic-bezier(.2,.7,.2,1) .16s forwards;}
.rise-4{animation:dt-rise .75s cubic-bezier(.2,.7,.2,1) .24s forwards;}

/* hero background glow + grid */
.glow-blob{position:absolute;border-radius:50%;pointer-events:none;}
.hero .blob-a{top:-160px;right:-100px;width:580px;height:580px;background:radial-gradient(circle,rgba(var(--neon-rgb),.30),transparent 63%);animation:dt-blob 13s ease-in-out infinite;}
.hero .blob-b{bottom:-200px;left:-120px;width:460px;height:460px;background:radial-gradient(circle,rgba(var(--neon-rgb),.14),transparent 65%);animation:dt-blob 17s ease-in-out infinite reverse;}
.grid-overlay{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 74%);mask-image:linear-gradient(to bottom,#000,transparent 74%);}

/* ---------- LIVE-CALL CARD ---------- */
.callcard-wrap{position:relative;}
.callcard-wrap::before{content:"";position:absolute;inset:-30px;background:radial-gradient(circle at 70% 26%,rgba(var(--neon-rgb),.24),transparent 60%);pointer-events:none;}
.callcard{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--card-shadow);padding:22px;animation:dt-floatY 7s ease-in-out infinite;}
.callcard .row{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--ink-soft);font-weight:600;}
.phone{position:relative;width:46px;height:46px;border-radius:50%;background:var(--neon);color:var(--on-neon);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.phone::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--neon);opacity:.4;animation:dt-ring 2.2s ease-out infinite;}
.panel{background:var(--surface-2);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:13px;}
.badge{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex:none;}
.badge-ai{background:var(--neon);color:var(--on-neon);}
.badge-h{background:rgba(var(--neon-rgb),.18);color:var(--neon-ink);}
.booked{position:relative;overflow:hidden;background:var(--neon);color:var(--on-neon);border-radius:14px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 0 30px rgba(var(--neon-rgb),.45);margin-top:14px;}
.booked::after{content:"";position:absolute;top:0;bottom:0;width:46px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:dt-sweep 3.6s ease-in-out infinite;}

/* ---------- MARQUEE ---------- */
.ribbon{background:var(--ribbon-bg);overflow:hidden;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ribbon-track{display:flex;width:max-content;gap:48px;white-space:nowrap;animation:dt-marquee 24s linear infinite;font-family:'Space Mono',monospace;font-size:14px;font-weight:700;color:var(--ribbon-ink);letter-spacing:1px;}
.ribbon-track .dia{color:var(--ribbon-diamond);}

/* ---------- SECTIONS ---------- */
.section{padding:96px 7vw;}
.section h2{font-size:42px;font-weight:800;letter-spacing:-1.6px;margin:12px 0 0;}
.center{text-align:center;max-width:680px;margin:0 auto;}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:30px;}
.card h3{font-size:22px;font-weight:700;letter-spacing:-.5px;margin:16px 0 8px;}
.card p{font-size:15px;line-height:1.56;color:var(--ink-soft);margin:0;}
.icon-tile{width:46px;height:46px;border-radius:13px;background:var(--neon);color:var(--on-neon);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 22px rgba(var(--neon-rgb),.4);}
.status{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1.5px;color:var(--neon-ink);border:1px solid var(--border);padding:4px 9px;border-radius:999px;font-weight:700;}
.caption{font-family:'Space Mono',monospace;font-size:12px;color:var(--ink-faint);margin-top:16px;}
.group-label{display:flex;align-items:center;gap:16px;margin:52px 0 24px;}
.group-label .lbl{font-family:'Space Mono',monospace;font-size:13px;letter-spacing:2px;font-weight:700;}
.group-label .now{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--on-neon);background:var(--neon);padding:4px 10px;border-radius:999px;font-weight:700;}
.group-label .rule{flex:1;height:1px;background:var(--border);}

/* coming-soon panel */
.soon{position:relative;overflow:hidden;border:1px dashed var(--border);border-radius:24px;background:var(--surface-2);padding:54px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;}
.soon .big{font-family:'Allura',cursive;font-size:84px;line-height:.8;color:var(--pop);text-shadow:0 0 30px rgba(var(--pop-rgb),.5);}
.soon .blob{top:-120px;right:8%;width:340px;height:340px;background:radial-gradient(circle,rgba(var(--pop-rgb),.14),transparent 64%);animation:dt-glow 9s ease-in-out infinite;}

/* checklist */
.checklist{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.checklist li{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--ink-soft);}
.check{width:24px;height:24px;border-radius:50%;background:rgba(var(--neon-rgb),.16);color:var(--neon-ink);display:flex;align-items:center;justify-content:center;font-size:12px;flex:none;}

/* SMS chat card */
.chatcard{max-width:384px;border-radius:26px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);padding:20px;animation:dt-floatY 7.5s ease-in-out infinite;}
.bubble{font-size:14px;line-height:1.5;padding:11px 14px;border-radius:16px;max-width:84%;}
.bubble-in{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:5px;align-self:flex-start;}
.bubble-out{background:var(--neon);color:var(--on-neon);border-bottom-right-radius:5px;align-self:flex-end;}

/* spotlight / testimonial */
.spot{background:var(--spot-bg);color:var(--spot-ink);border-radius:24px;padding:54px 56px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;}
.spot .blob{top:-80px;left:30%;width:420px;height:420px;background:radial-gradient(circle,rgba(var(--pop-rgb),.22),transparent 62%);animation:dt-glow 8s ease-in-out infinite;}
.spot .stat{font-size:30px;font-weight:800;color:var(--neon);letter-spacing:-1px;}
.logos{display:flex;flex-wrap:wrap;gap:26px 40px;justify-content:center;opacity:.5;font-weight:700;letter-spacing:1px;color:var(--ink-faint);font-size:15px;margin:30px 0;}

/* stats band */
.stats{background:var(--stats-bg);padding:84px 7vw;position:relative;overflow:hidden;}
.stats .blob{top:-120px;left:38%;width:520px;height:520px;background:radial-gradient(circle,var(--stats-glow),transparent 62%);animation:dt-glow 8s ease-in-out infinite;}
.stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;max-width:1240px;margin:0 auto;}
.stats .num{font-size:58px;font-weight:800;color:var(--stats-num);letter-spacing:-2px;line-height:1;text-shadow:var(--stats-shadow);}
.stats .lab{font-size:14px;color:var(--stats-label);margin-top:8px;}
.stats .note{position:relative;text-align:center;margin-top:26px;font-size:12.5px;color:var(--stats-note);font-family:'Space Mono',monospace;}

/* CTA */
.cta-panel{max-width:1240px;margin:0 auto;border-radius:28px;background:var(--cta-bg);color:var(--cta-ink);text-align:center;padding:84px 40px;position:relative;overflow:hidden;}
.cta-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--cta-glow),transparent 55%);pointer-events:none;}
.cta-panel h2{position:relative;font-size:52px;font-weight:800;letter-spacing:-2.2px;margin:0;}
.cta-panel .hl2{color:var(--cta-hl);text-shadow:var(--cta-hl-shadow);}
.cta-panel p{position:relative;font-size:19px;color:var(--cta-soft);margin:16px 0 30px;}
.btn-cta{position:relative;display:inline-block;background:var(--cta-btn-bg);color:var(--cta-btn-ink);font-weight:700;font-size:17px;padding:18px 38px;border-radius:14px;text-decoration:none;box-shadow:var(--cta-btn-shadow);}
.btn-cta:hover{transform:translateY(-2px);box-shadow:var(--cta-btn-shadow-h);}

/* testimonial cards */
.tcard{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;display:flex;flex-direction:column;}
.tcard .tquote{font-size:46px;line-height:.3;color:var(--neon-ink);height:24px;}
.tcard .tq{font-size:16.5px;line-height:1.55;color:var(--ink);margin:6px 0 20px;flex:1;}
.tby{display:flex;align-items:center;gap:11px;font-size:14px;}
.tav{width:40px;height:40px;border-radius:50%;color:#04110a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none;}

/* demo-request form */
.demo-form{max-width:620px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;
  padding:32px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:16px;}
.demo-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.demo-form .form-group{display:flex;flex-direction:column;gap:6px;}
.demo-form label{font-size:13px;font-weight:600;color:var(--ink-soft);}
.demo-form input,.demo-form select,.demo-form textarea{font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--bg-alt);border:1px solid var(--border);border-radius:11px;padding:12px 14px;width:100%;}
.demo-form input:focus,.demo-form select:focus,.demo-form textarea:focus{outline:none;border-color:var(--neon-ink);
  box-shadow:0 0 0 3px rgba(var(--neon-rgb),.18);}
.demo-form textarea{resize:vertical;}
@media (max-width:600px){.demo-form .form-row{grid-template-columns:1fr;}.demo-form{padding:22px;}}

/* footer */
.site-footer{padding:46px 7vw;background:var(--spot-bg);color:var(--spot-soft);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.site-footer a{text-decoration:none;color:var(--spot-soft);}
.site-footer a:hover{color:#fff;}
.foot-links{display:flex;align-items:center;gap:24px;font-size:13.5px;}

/* ---------- INLINE SVG ICONS ---------- */
.ico{width:1em;height:1em;display:inline-block;vertical-align:-.125em;stroke:currentColor;fill:none;
  stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.icon-tile .ico{width:22px;height:22px;}
.phone .ico{width:20px;height:20px;}
.badge .ico{width:11px;height:11px;}
.check .ico{width:12px;height:12px;}
.icon-btn .ico{width:18px;height:18px;}

/* ---------- HAMBURGER / MOBILE MENU ---------- */
.hamburger{display:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--border);
  background:var(--surface);color:var(--ink);align-items:center;justify-content:center;cursor:pointer;}
.hamburger:hover{border-color:var(--ink);}
.mobile-menu{display:none;position:fixed;inset:0 0 auto 0;top:0;z-index:30;background:var(--bg);
  border-bottom:1px solid var(--border);padding:18px 7vw 24px;flex-direction:column;gap:4px;}
.mobile-menu.open{display:flex;}
.mobile-menu .mm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.mobile-menu a{padding:13px 4px;font-size:17px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border-soft,var(--border));}
.mobile-menu .btn{margin-top:14px;}

/* ---------- SUBPAGE (legal + article) ---------- */
.subhead{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:18px 7vw;border-bottom:1px solid var(--border);background:var(--bg);}
.subhead .back{font-size:14px;color:var(--ink-soft);text-decoration:none;font-weight:600;}
.subhead .back:hover{color:var(--ink);}
.subhead .right{display:flex;align-items:center;gap:14px;}
.doc{max-width:1100px;margin:0 auto;padding:64px 7vw 90px;}
.doc.article{max-width:760px;}
.crumbs{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:1px;color:var(--ink-faint);text-transform:uppercase;}
.crumbs a{color:var(--neon-ink);text-decoration:none;}
.doc h1{font-size:44px;font-weight:800;letter-spacing:-1.8px;line-height:1.05;margin:14px 0 6px;}
.doc .updated{font-family:'Space Mono',monospace;font-size:12.5px;color:var(--ink-faint);margin:0 0 8px;}
.doc h2{font-size:26px;font-weight:800;letter-spacing:-.8px;margin:44px 0 0;}
.doc h3{font-size:18px;font-weight:700;margin:28px 0 0;}
.doc p,.doc li{font-size:16px;line-height:1.66;color:var(--ink-soft);}
.doc p{margin:14px 0 0;}
.doc strong{color:var(--ink);font-weight:600;}
.doc a{color:var(--neon-ink);}
.doc ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.doc ul li{position:relative;padding-left:26px;}
.doc ul li::before{content:"";position:absolute;left:4px;top:9px;width:8px;height:8px;border-radius:2px;
  background:var(--neon);box-shadow:0 0 8px rgba(var(--neon-rgb),.5);}
.answerbox{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--neon);
  border-radius:14px;padding:20px 22px;margin:22px 0 0;}
.answerbox p{margin:0;font-size:17px;line-height:1.6;color:var(--ink);}
.formula{font-family:'Space Mono',monospace;font-size:15px;background:var(--spot-bg);color:var(--spot-ink);
  border-radius:14px;padding:18px 20px;margin:20px 0 0;text-align:center;letter-spacing:.5px;}
.example{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:16px 20px;margin:18px 0 0;font-size:15.5px;color:var(--ink-soft);}
.example strong{color:var(--neon-ink);}
.cta-inline{margin:48px 0 0;background:var(--spot-bg);color:var(--spot-ink);border-radius:20px;
  padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-inline h3{font-size:24px;font-weight:800;letter-spacing:-.8px;margin:0;color:#fff;}
.cta-inline p{margin:6px 0 0;color:var(--spot-soft);font-size:15px;}
.faq-doc{margin-top:18px;display:flex;flex-direction:column;gap:12px;}
.note-banner{background:var(--warning-bg,rgba(230,180,80,.14));border:1px solid rgba(230,180,80,.4);
  border-radius:12px;padding:13px 16px;font-size:13.5px;color:var(--ink-soft);margin:0 0 8px;}

/* ---------- KEYFRAMES ---------- */
@keyframes dt-rise{from{transform:translateY(22px)}to{transform:none}}
@keyframes dt-floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes dt-glow{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes dt-ring{0%{transform:scale(.7);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@keyframes dt-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes dt-blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(34px,-22px) scale(1.1)}66%{transform:translate(-22px,18px) scale(.94)}}
@keyframes dt-sweep{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero h1{font-size:46px;letter-spacing:-1.6px;}
  .cards-2,.cards-3,.stats-grid,.split-2{grid-template-columns:1fr;}
  .split-2{gap:40px;}
  .spot{grid-template-columns:1fr;}
  .soon{flex-direction:column;text-align:center;}
  .section h2,.cta-panel h2{font-size:32px;letter-spacing:-1px;}
  .site-nav .nav-links{display:none;}
  .hamburger{display:flex;}
  .doc h1{font-size:32px;letter-spacing:-1px;}
  .cta-inline,.cta-panel{padding-left:26px;padding-right:26px;}
}
@media (min-width:901px) and (max-width:1180px){
  .stats-grid{grid-template-columns:repeat(2,1fr);}
}
