/* ═══════════════════════════════════════════════════════════════════════════
   ZScanner REDESIGN LAYER v3 — dark hero, richer cards, new sections, motion.
   Loaded after style.css so these rules take precedence.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Scroll-reveal (GPU-only: opacity + transform) ─────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}
.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}.reveal.d5{transition-delay:.35s}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .float-orb,.orb-1,.orb-2{animation:none!important}
}

.grad-text{background:linear-gradient(100deg,#60a5fa 0%,#818cf8 50%,#22d3ee 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ── HERO (dark, cinematic) ────────────────────────────────────────────────── */
.hero{background:#0b1220;padding:150px 0 96px;color:#e5edf7}
.hero::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(680px 360px at 78% -40px,rgba(37,99,235,.32),transparent 60%),
    radial-gradient(560px 380px at 8% 20%,rgba(99,102,241,.20),transparent 60%),
    radial-gradient(500px 500px at 60% 110%,rgba(34,211,238,.10),transparent 60%);
  pointer-events:none}
.hero .container{position:relative;z-index:2}
.hero .grid-fade{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%)}
.float-orb{position:absolute;border-radius:50%;filter:blur(48px);z-index:0;pointer-events:none;opacity:.55}
.orb-1{width:320px;height:320px;background:rgba(37,99,235,.5);top:-60px;right:6%;animation:floaty 14s ease-in-out infinite}
.orb-2{width:240px;height:240px;background:rgba(34,211,238,.35);bottom:-40px;left:2%;animation:floaty 18s ease-in-out infinite reverse}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-26px)}}
.hero-eyebrow{background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.28);color:#93c5fd}
.hero-title{color:#f8fafc;font-size:3.9em}
.hero-title em{font-style:normal;background:linear-gradient(100deg,#60a5fa,#818cf8 55%,#22d3ee);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{color:#aebfd4}
.hero-sub strong{color:#fff}
.hero-note{color:#7e93ad}
.hero .btn-outline{background:rgba(255,255,255,.04);color:#dbe6f5;border-color:rgba(148,163,184,.35)}
.hero .btn-outline:hover{background:rgba(255,255,255,.10);border-color:rgba(148,163,184,.6)}
.hero-stat-num{color:#fff}
.hero-stat-lbl{color:#7e93ad}
.hero-divider{background:rgba(148,163,184,.25)}
.terminal{box-shadow:0 30px 70px -20px rgba(0,0,0,.7),0 0 0 1px rgba(148,163,184,.12);
  border:1px solid rgba(148,163,184,.15)}

/* ── Trust bar on dark ─────────────────────────────────────────────────────── */
.trust-bar{background:#0b1220;border-top:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12)}
.trust-item{color:#aebfd4}
.trust-item i{color:#38bdf8}

/* ── Section polish ────────────────────────────────────────────────────────── */
.section-alt{background:var(--s50);border-top:1px solid var(--s200);border-bottom:1px solid var(--s200)}
.section-dark{background:#0b1220;color:#e5edf7;position:relative;overflow:hidden}
.section-dark .section-title{color:#f8fafc}
.section-dark .section-sub{color:#aebfd4}

/* ── Feature cards (richer) ────────────────────────────────────────────────── */
.f-cell{position:relative;border-radius:16px;overflow:hidden}
.f-cell::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#2563eb,#22d3ee);opacity:0;transition:opacity var(--t)}
.f-cell:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(15,23,42,.35);border-color:transparent}
.f-cell:hover::before{opacity:1}
.f-icon{background:linear-gradient(135deg,var(--b50),#e0e7ff);border-color:var(--b100);
  color:var(--b600);transition:transform var(--t)}
.f-cell:hover .f-icon{transform:scale(1.08) rotate(-3deg)}

/* ── Differentiators (alternating blocks) ──────────────────────────────────── */
.diff-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:64px}
.diff-row:last-child{margin-bottom:0}
.diff-row.flip .diff-media{order:2}
.diff-tag{display:inline-flex;align-items:center;gap:7px;font-size:.78em;font-weight:700;
  text-transform:uppercase;letter-spacing:.8px;color:var(--b600);margin-bottom:14px}
.diff-row h3{font-family:var(--font-display);font-size:1.9em;color:var(--s900);margin-bottom:14px;line-height:1.2}
.diff-row p{font-size:1.02em;color:var(--muted);line-height:1.75;margin-bottom:18px}
.diff-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.diff-list li{display:flex;align-items:flex-start;gap:10px;font-size:.95em;color:var(--s700)}
.diff-list li i{color:var(--green);margin-top:3px;flex-shrink:0}
.diff-media{background:linear-gradient(160deg,#0b1220,#132036);border-radius:20px;padding:34px;
  box-shadow:0 30px 70px -30px rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.12);color:#e5edf7;min-height:240px}
.diff-media .dm-big{font-family:var(--font-display);font-size:3.4em;line-height:1;
  background:linear-gradient(100deg,#60a5fa,#22d3ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.diff-media .dm-cap{font-size:.85em;color:#8ea4bd;margin-bottom:18px}
.diff-media .dm-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.12);font-size:.9em;color:#cbd8ea}
.diff-media .dm-row:last-child{border-bottom:none}
.diff-media .dm-row i{color:#22d3ee}

/* ── Comparison table ──────────────────────────────────────────────────────── */
.compare{max-width:860px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--s200);box-shadow:var(--sh-md)}
.compare table{width:100%;border-collapse:collapse;background:#fff}
.compare th,.compare td{padding:15px 20px;text-align:left;font-size:.92em;border-bottom:1px solid var(--s100)}
.compare thead th{background:var(--s900);color:#fff;font-weight:700}
.compare thead th:nth-child(2){background:var(--b600);text-align:center}
.compare thead th:nth-child(3){text-align:center;color:#e2e8f0}
.compare td:nth-child(2),.compare td:nth-child(3){text-align:center}
.compare tbody tr:last-child td{border-bottom:none}
.compare .yes{color:var(--green);font-size:1.2em;font-weight:700}
.compare .no{color:#e11d48;font-size:1.2em;font-weight:700;opacity:.9}
.compare td:first-child{font-weight:600;color:var(--s700)}
.compare tbody tr:hover{background:var(--b50)}

/* ── Metrics band (dark) ───────────────────────────────────────────────────── */
.metrics-band{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.metric{text-align:center;padding:24px 16px;border-radius:16px;background:rgba(255,255,255,.03);
  border:1px solid rgba(148,163,184,.14)}
.metric-num{font-family:var(--font-display);font-size:2.8em;line-height:1;
  background:linear-gradient(100deg,#60a5fa,#22d3ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.metric-lbl{font-size:.85em;color:#aebfd4;margin-top:8px}

/* ── Final CTA band ────────────────────────────────────────────────────────── */
.cta-band{position:relative;overflow:hidden;background:linear-gradient(120deg,#1d4ed8,#4f46e5 55%,#0891b2);
  border-radius:26px;padding:56px;text-align:center;color:#fff;box-shadow:0 30px 80px -30px rgba(37,99,235,.6)}
.cta-band::before{content:"";position:absolute;inset:0;opacity:.25;
  background:radial-gradient(400px 200px at 15% 0%,#fff,transparent 60%)}
.cta-band > *{position:relative;z-index:2}
.cta-band h2{font-family:var(--font-display);font-size:2.4em;margin-bottom:12px}
.cta-band p{font-size:1.1em;opacity:.92;max-width:560px;margin:0 auto 26px}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media(max-width:860px){
  .hero{padding:120px 0 64px}
  .hero-title{font-size:2.6em}
  .diff-row,.diff-row.flip .diff-media{grid-template-columns:1fr;order:0}
  .diff-row{gap:28px;margin-bottom:44px}
  .metrics-band{grid-template-columns:repeat(2,1fr)}
  .cta-band{padding:36px 22px}
  .cta-band h2{font-size:1.8em}
}

/* ── Contrast / visibility fixes (WCAG AA) ─────────────────────────────────── */
/* Step numbers were near-invisible (light blue on light bg) — make them read. */
.step-num{color:var(--b500)}
/* Pricing savings + currency tab: darken for AA on small text. */
.plan-saving{color:#15803d}
.cur-tabs .cur-tab{color:var(--s700)}

/* ── Typography (use the loaded Inter face everywhere; the CSS previously
   referenced DM Sans / DM Serif Display which are not loaded, so headings and
   prices fell back to Georgia serif — the "unprofessional" look). ──────────── */
:root{
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-display:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
body{font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hero-title,.section-title,.cta-band h2,.diff-row h3{font-weight:800;letter-spacing:-.022em}
.plan-price,.plan-box-price,.hero-stat-num,.metric-num,.dm-big,.step-num,.stat-num,.page-title{
  font-weight:800;letter-spacing:-.02em;font-feature-settings:'tnum' 1,'lnum' 1}
.plan-name,.section-label,.diff-tag{letter-spacing:-.005em}
.plan-price{font-size:2.3em}
