/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LEADFUSIONX LANDING PAGE — DESIGN SYSTEM
   Light mode default · Dark mode via body.dark
   Fonts: Outfit (heads) + Space Grotesk (body)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

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

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   THEME TOKENS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── LIGHT (default) ── */
:root {
  --primary:          #4f46e5;
  --primary-light:    #6366f1;
  --primary-glow:     rgba(99,102,241,0.2);
  --emerald:          #059669;
  --amber:            #d97706;
  --rose:             #e11d48;

  /* Backgrounds */
  --bg:               #f4f6ff;
  --bg-2:             #eef0fb;
  --section-alt:      rgba(99,102,241,0.03);

  /* Glassmorphism — LIGHT */
  --glass-bg:         rgba(255,255,255,0.65);
  --glass-border:     rgba(255,255,255,0.9);
  --glass-shadow:     0 8px 40px rgba(99,102,241,0.10), 0 2px 12px rgba(0,0,0,0.06);
  --glass-hover-border: rgba(99,102,241,0.35);
  --glass-hover-shadow: 0 20px 60px rgba(99,102,241,0.14), 0 4px 20px rgba(0,0,0,0.08);

  /* Text */
  --text:             #0f172a;
  --text-muted:       #475569;
  --text-dim:         #94a3b8;

  /* Navbar */
  --navbar-bg:        rgba(255,255,255,0.75);
  --navbar-border:    rgba(99,102,241,0.12);

  /* Mobile menu */
  --mobile-bg:        rgba(255,255,255,0.97);
  --mobile-link:      #334155;

  /* Inputs / Demo */
  --input-bg:         rgba(99,102,241,0.05);
  --input-border:     rgba(99,102,241,0.15);
  --input-text:       #1e293b;
  --demo-titlebar:    rgba(241,245,249,0.95);
  --demo-body:        rgba(248,250,255,0.98);
  --demo-card-bg:     rgba(99,102,241,0.04);
  --demo-card-border: rgba(99,102,241,0.12);
  --demo-tabs-bg:     rgba(99,102,241,0.05);
  --demo-tabs-border: rgba(99,102,241,0.12);
  --demo-url:         #64748b;
  --demo-window-border: rgba(99,102,241,0.15);

  /* Cards internal */
  --card-sub-bg:      rgba(99,102,241,0.04);
  --card-sub-border:  rgba(99,102,241,0.12);

  /* Section accents */
  --mini-bar-track:   rgba(99,102,241,0.1);
  --ticker-bg:        rgba(99,102,241,0.06);
  --ticker-border:    rgba(99,102,241,0.12);

  /* FAQ */
  --faq-bg:           rgba(255,255,255,0.6);
  --faq-border:       rgba(99,102,241,0.1);
  --faq-q:            #0f172a;
  --faq-a-border:     rgba(99,102,241,0.1);
  --faq-chevron-bg:   rgba(99,102,241,0.06);
  --faq-chevron-border: rgba(99,102,241,0.15);

  /* CTA */
  --cta-bg-1:         #e0e7ff;
  --cta-bg-2:         #f0f4ff;
  --cta-bg-3:         #ecfdf5;
  --cta-title:        #1e1b4b;
  --cta-sub:          #4338ca;
  --cta-note:         #6366f1;

  /* Footer */
  --footer-bg:        #f0f2ff;
  --footer-border:    rgba(99,102,241,0.1);
  --footer-link:      #64748b;
  --footer-bottom-border: rgba(99,102,241,0.1);
  --footer-p:         #64748b;

  /* Social */
  --social-bg:        rgba(99,102,241,0.07);
  --social-border:    rgba(99,102,241,0.15);
  --social-color:     #6366f1;

  /* Tags */
  --tag-bg:           rgba(99,102,241,0.07);
  --tag-border:       rgba(99,102,241,0.15);
  --tag-color:        #4338ca;

  /* Who card tags */
  --who-tag-bg:       rgba(99,102,241,0.06);
  --who-tag-border:   rgba(99,102,241,0.14);
  --who-tag-color:    #4338ca;

  /* Stat num gradient */
  --stat-num-from:    #1e1b4b;
  --stat-num-to:      #4f46e5;

  /* Theme toggle */
  --toggle-bg:        rgba(99,102,241,0.08);
  --toggle-border:    rgba(99,102,241,0.2);
  --toggle-color:     #4f46e5;

  /* Orbs — subtle for light */
  --orb-1:            rgba(99,102,241,0.12);
  --orb-2:            rgba(16,185,129,0.08);
  --orb-3:            rgba(245,158,11,0.06);

  /* Grid lines */
  --grid-line:        rgba(99,102,241,0.05);

  /* Ghost button */
  --ghost-bg:         rgba(99,102,241,0.07);
  --ghost-color:      #4338ca;
  --ghost-border:     rgba(99,102,241,0.2);
  --ghost-hover-bg:   rgba(99,102,241,0.13);
  --ghost-hover-color:#3730a3;

  /* Nav link hover */
  --navlink-hover-bg:    rgba(99,102,241,0.07);
  --navlink-hover-color: #4f46e5;

  /* Section title */
  --section-title:    #0f172a;

  /* Stat card glow */
  --stat-card-border-anim-from: rgba(99,102,241,0.1);
  --stat-card-border-anim-to:   rgba(99,102,241,0.3);

  /* How timeline line */
  --how-line: linear-gradient(90deg, transparent, rgba(99,102,241,0.25) 20%, rgba(99,102,241,0.25) 80%, transparent);
}

/* ── DARK ── */
body.dark {
  --bg:               #070b14;
  --bg-2:             #090d18;
  --section-alt:      rgba(255,255,255,0.01);

  --glass-bg:         rgba(15,22,48,0.72);
  --glass-border:     rgba(255,255,255,0.07);
  --glass-shadow:     0 8px 48px rgba(0,0,0,0.55);
  --glass-hover-border: rgba(99,102,241,0.25);
  --glass-hover-shadow: 0 20px 60px rgba(0,0,0,0.6), 0 0 40px rgba(99,102,241,0.08);

  --emerald:          #10b981;
  --amber:            #f59e0b;
  --rose:             #f43f5e;

  --text:             #f1f5f9;
  --text-muted:       #94a3b8;
  --text-dim:         #475569;

  --navbar-bg:        rgba(7,11,20,0.82);
  --navbar-border:    rgba(255,255,255,0.07);

  --mobile-bg:        rgba(7,11,20,0.97);
  --mobile-link:      #94a3b8;

  --input-bg:         rgba(255,255,255,0.05);
  --input-border:     rgba(255,255,255,0.1);
  --input-text:       #94a3b8;
  --demo-titlebar:    rgba(8,12,26,0.9);
  --demo-body:        rgba(7,11,20,0.95);
  --demo-card-bg:     rgba(255,255,255,0.03);
  --demo-card-border: rgba(255,255,255,0.07);
  --demo-tabs-bg:     rgba(255,255,255,0.03);
  --demo-tabs-border: rgba(255,255,255,0.07);
  --demo-url:         #475569;
  --demo-window-border: rgba(255,255,255,0.08);

  --card-sub-bg:      rgba(255,255,255,0.03);
  --card-sub-border:  rgba(255,255,255,0.07);

  --mini-bar-track:   rgba(255,255,255,0.08);
  --ticker-bg:        rgba(99,102,241,0.06);
  --ticker-border:    rgba(99,102,241,0.12);

  --faq-bg:           rgba(255,255,255,0.02);
  --faq-border:       rgba(255,255,255,0.08);
  --faq-q:            #fff;
  --faq-a-border:     rgba(255,255,255,0.06);
  --faq-chevron-bg:   rgba(255,255,255,0.05);
  --faq-chevron-border: rgba(255,255,255,0.08);

  --cta-bg-1:         #1a1060;
  --cta-bg-2:         #090d18;
  --cta-bg-3:         #0a1a1a;
  --cta-title:        #fff;
  --cta-sub:          rgba(255,255,255,0.55);
  --cta-note:         rgba(255,255,255,0.3);

  --footer-bg:        rgba(4,6,14,0.98);
  --footer-border:    rgba(255,255,255,0.05);
  --footer-link:      rgba(255,255,255,0.4);
  --footer-bottom-border: rgba(255,255,255,0.05);
  --footer-p:         #475569;

  --social-bg:        rgba(255,255,255,0.05);
  --social-border:    rgba(255,255,255,0.08);
  --social-color:     #475569;

  --tag-bg:           rgba(255,255,255,0.05);
  --tag-border:       rgba(255,255,255,0.07);
  --tag-color:        #64748b;

  --who-tag-bg:       rgba(255,255,255,0.05);
  --who-tag-border:   rgba(255,255,255,0.07);
  --who-tag-color:    #475569;

  --stat-num-from:    #fff;
  --stat-num-to:      #6366f1;

  --toggle-bg:        rgba(255,255,255,0.08);
  --toggle-border:    rgba(255,255,255,0.12);
  --toggle-color:     #a5b4fc;

  --orb-1:            rgba(79,70,229,0.15);
  --orb-2:            rgba(16,185,129,0.08);
  --orb-3:            rgba(245,158,11,0.07);

  --grid-line:        rgba(99,102,241,0.04);

  --ghost-bg:         rgba(255,255,255,0.05);
  --ghost-color:      #94a3b8;
  --ghost-border:     rgba(255,255,255,0.1);
  --ghost-hover-bg:   rgba(255,255,255,0.09);
  --ghost-hover-color:#fff;

  --navlink-hover-bg:    rgba(255,255,255,0.06);
  --navlink-hover-color: #fff;

  --section-title:    #fff;

  --stat-card-border-anim-from: rgba(99,102,241,0.15);
  --stat-card-border-anim-to:   rgba(99,102,241,0.45);

  --how-line: linear-gradient(90deg, transparent, rgba(99,102,241,0.3) 20%, rgba(99,102,241,0.3) 80%, transparent);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BASE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: 'Space Grotesk', sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  transition: background 0.4s ease, color 0.4s ease;
}

h1,h2,h3,h4,h5,h6 { font-family: 'Outfit', sans-serif; line-height: 1.15; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { cursor: pointer; font-family: inherit; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: rgba(0,0,0,0.04); }
::-webkit-scrollbar-thumb { background: rgba(99,102,241,0.35); border-radius: 3px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LAYOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
section { padding: 60px 0; position: relative; overflow: hidden; }

.section-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--primary-light);
  background: rgba(99,102,241,0.1);
  border: 1px solid rgba(99,102,241,0.2);
  padding: 6px 14px; border-radius: 100px; margin-bottom: 20px;
}
.section-label .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--primary-light); animation: pulse-dot 2s ease-in-out infinite;
}

.section-title {
  font-size: clamp(32px,5vw,52px); font-weight: 800;
  letter-spacing: -0.02em; color: var(--section-title); margin-bottom: 16px;
}
.section-title .highlight       { color: var(--primary-light); }
.section-title .highlight-emerald { color: var(--emerald); }
.section-title .highlight-amber   { color: var(--amber); }

.section-sub { font-size: 17px; color: var(--text-muted); max-width: 560px; line-height: 1.7; }
.text-center { text-align: center; }
.text-center .section-sub { margin: 0 auto; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GLASS CARDS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.glass { background: var(--glass-bg); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.glass-card {
  background: var(--glass-bg); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow);
  border-radius: 24px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background 0.4s ease;
}
.glass-card:hover {
  transform: translateY(-4px);
  border-color: var(--glass-hover-border);
  box-shadow: var(--glass-hover-shadow);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BUTTONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 14px; letter-spacing: 0.02em;
  padding: 13px 28px; border-radius: 12px; border: none;
  transition: all 0.2s ease; white-space: nowrap;
}
.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  color: #fff; box-shadow: 0 4px 20px rgba(99,102,241,0.35);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(99,102,241,0.5); }
.btn-primary:active { transform: translateY(0); }

.btn-ghost {
  background: var(--ghost-bg); color: var(--ghost-color);
  border: 1px solid var(--ghost-border);
}
.btn-ghost:hover { background: var(--ghost-hover-bg); color: var(--ghost-hover-color); transform: translateY(-2px); }
.btn-lg { padding: 16px 36px; font-size: 15px; border-radius: 14px; }
.btn-sm { padding: 9px 18px; font-size: 12px; border-radius: 9px; }

/* ── Theme Toggle Button ── */
.theme-toggle {
  width: 36px; height: 36px; border-radius: 10px; border: none;
  background: var(--toggle-bg); color: var(--toggle-color);
  border: 1px solid var(--toggle-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; transition: all 0.3s ease; flex-shrink: 0;
  cursor: pointer;
}
.theme-toggle:hover { transform: rotate(20deg) scale(1.1); background: rgba(99,102,241,0.15); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MESH / ORBS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.mesh-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.orb { position: absolute; border-radius: 50%; filter: blur(90px); animation: orb-float 8s ease-in-out infinite alternate; }
.orb-1 { width: 600px; height: 600px; background: var(--orb-1); top: -100px; left: -100px; opacity: 0.7; }
.orb-2 { width: 500px; height: 500px; background: var(--orb-2); top: 200px; right: -80px; animation-delay: -3s; opacity: 0.6; }
.orb-3 { width: 400px; height: 400px; background: var(--orb-3); bottom: -50px; left: 30%; animation-delay: -6s; opacity: 0.5; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ANIMATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.5)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes float-delayed { 0%,100%{transform:translateY(-7px)} 50%{transform:translateY(7px)} }
@keyframes orb-float { from{transform:translate(0,0) scale(1)} to{transform:translate(30px,20px) scale(1.05)} }
@keyframes ticker-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes gradient-shift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
@keyframes border-glow {
  0%,100% { border-color: var(--stat-card-border-anim-from); }
  50%      { border-color: var(--stat-card-border-anim-to); }
}
@keyframes fadeInPanel { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* Scroll reveal */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-delay-5 { transition-delay:.5s; }
.reveal-left  { opacity:0; transform:translateX(-32px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal-right { opacity:0; transform:translateX(32px);  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal-left.visible, .reveal-right.visible { opacity:1; transform:translateX(0); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1. NAVBAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  border-bottom: 1px solid transparent;
  transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}
#navbar.scrolled {
  background: rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(30px) saturate(220%);
  -webkit-backdrop-filter: blur(30px) saturate(220%);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08), 
              inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
body.dark #navbar.scrolled {
  background: rgba(7, 11, 20, 0.25);
  backdrop-filter: blur(30px) saturate(220%);
  -webkit-backdrop-filter: blur(30px) saturate(220%);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.5), 
              inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:68px; gap:24px; }

.nav-logo {
  display:flex; align-items:center; gap:10px;
  font-family:'Outfit',sans-serif; font-size:20px; font-weight:800;
  letter-spacing:-0.02em; color:var(--text); flex-shrink:0;
}
.nav-logo .logo-icon {
  width:34px; height:34px; border-radius:9px;
  background: linear-gradient(135deg,var(--primary),var(--primary-light));
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 4px 14px rgba(99,102,241,0.35);
}
.nav-logo .logo-icon svg { width:18px; height:18px; fill:#fff; }
.nav-logo span.x { color:var(--primary-light); }

.nav-links { display:flex; align-items:center; gap:4px; list-style:none; flex:1; justify-content:center; }
.nav-links a { font-size:13px; font-weight:600; color:var(--text-muted); padding:7px 14px; border-radius:8px; transition:color .2s, background .2s; }
.nav-links a:hover { color:var(--navlink-hover-color); background:var(--navlink-hover-bg); }

.nav-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }

.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px; cursor:pointer; }
.hamburger span { width:22px; height:2px; background:var(--text-muted); border-radius:2px; transition:all .3s; }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.mobile-menu {
  display:none; flex-direction:column; gap:4px;
  background:var(--mobile-bg); backdrop-filter:blur(24px);
  border-bottom:1px solid var(--navbar-border);
  padding:16px 24px 20px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:14px; font-weight:600; color:var(--mobile-link); padding:10px 0; }
.mobile-menu a:hover { color:var(--primary-light); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2. HERO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#hero { min-height:100vh; display:flex; align-items:center; padding-top:100px; padding-bottom:80px; overflow:hidden; position:relative; }

.hero-bg-curves {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
}
.hero-bg-curves svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.curve-path-1 { animation: wave-motion-1 22s ease-in-out infinite alternate; }
.curve-path-2 { animation: wave-motion-2 26s ease-in-out infinite alternate; }
.curve-path-3 { animation: wave-motion-3 20s ease-in-out infinite alternate; }
.curve-path-4 { animation: wave-motion-4 30s ease-in-out infinite alternate; }

@keyframes wave-motion-1 {
  0% { d: path("M-100,250 C250,50 650,450 1050,150 C1250,50 1450,200 1600,100"); }
  100% { d: path("M-100,300 C300,120 600,380 1000,220 C1200,120 1400,150 1600,120"); }
}
@keyframes wave-motion-2 {
  0% { d: path("M-50,450 C350,200 700,600 1100,350 C1300,250 1480,450 1650,300"); }
  100% { d: path("M-50,400 C400,280 650,520 1150,300 C1280,200 1450,400 1650,350"); }
}
@keyframes wave-motion-3 {
  0% { d: path("M-80,120 C300,-50 600,300 950,80 C1150,-20 1350,120 1550,50"); }
  100% { d: path("M-80,160 C250,10 650,240 900,130 C1100,30 1380,80 1550,90"); }
}
@keyframes wave-motion-4 {
  0% { d: path("M-120,600 C200,400 550,700 900,500 C1150,400 1380,600 1580,520"); }
  100% { d: path("M-120,550 C250,450 500,650 950,450 C1100,380 1400,550 1580,480"); }
}
.hero-content { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:1; }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--primary-light); background:rgba(99,102,241,0.1); border:1px solid rgba(99,102,241,0.2);
  padding:7px 16px; border-radius:100px; margin-bottom:28px; animation:orb-float 4s ease-in-out infinite alternate;
}
.hero-badge .live-dot { width:7px; height:7px; border-radius:50%; background:var(--emerald); box-shadow:0 0 8px rgba(16,185,129,0.6); animation:pulse-dot 1.5s ease infinite; }

.hero-title { font-size:clamp(42px,6vw,68px); font-weight:900; letter-spacing:-0.03em; color:var(--section-title); margin-bottom:22px; line-height:1.08; }
.hero-title .gradient-text {
  background:linear-gradient(135deg,var(--primary-light) 0%,#a78bfa 50%,var(--emerald) 100%);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:gradient-shift 4s ease infinite;
}
.hero-sub { font-size:18px; color:var(--text-muted); line-height:1.7; margin-bottom:36px; max-width:480px; }
.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.hero-proof { display:flex; align-items:center; gap:16px; margin-top:40px; flex-wrap:wrap; }
.hero-proof-item { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--text-muted); }
.hero-proof-item .check { width:18px; height:18px; border-radius:50%; background:rgba(16,185,129,0.15); color:var(--emerald); display:flex; align-items:center; justify-content:center; font-size:10px; }
.hero-visual { position:relative; height:500px; }

/* 3D Canvas Container */
.three-canvas-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: 500px;
  max-height: 500px;
  z-index: 0;
  pointer-events: auto;
}

/* Floating cards */
.float-card-1 { position:absolute; top:20px; left:0; width:280px; padding:18px; border-radius:18px; animation:float 6s ease-in-out infinite; }
.float-card-2 { position:absolute; top:200px; right:-20px; width:240px; padding:16px; border-radius:18px; animation:float-delayed 7s ease-in-out infinite; }
.float-card-3 { position:absolute; bottom:40px; left:40px; width:220px; padding:16px; border-radius:18px; animation:float 5s ease-in-out infinite 2s; }

/* Card holes / grommets */
.card-hole {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--bg); /* Matches the page background color dynamically */
  box-shadow: inset 0 1.5px 3px rgba(0,0,0,0.45), 0 1px 1px rgba(255,255,255,0.6);
  border: 1px solid rgba(0,0,0,0.2);
  z-index: 5;
  transition: background 0.4s ease;
}
body.dark .card-hole {
  background: var(--bg);
  box-shadow: inset 0 1.5px 3px rgba(0,0,0,0.7), 0 1px 1px rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.08);
}
.float-card-1 .card-hole { bottom: 12px; right: 12px; }
.float-card-2 .card-hole.top-left { top: 12px; left: 12px; }
.float-card-2 .card-hole.bottom-left { bottom: 12px; left: 12px; }
.float-card-3 .card-hole { top: 12px; right: 12px; }

.mini-label   { font-size:9px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-dim); margin-bottom:10px; }
.mini-title   { font-size:13px; font-weight:700; color:var(--text); margin-bottom:6px; }
.mini-val     { font-size:18px; font-weight:800; color:var(--primary-light); }
.mini-badge   { font-size:9px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:3px 8px; border-radius:6px; }
.badge-green  { background:rgba(16,185,129,0.15); color:var(--emerald); }
.badge-blue   { background:rgba(99,102,241,0.15); color:var(--primary-light); }
.badge-amber  { background:rgba(245,158,11,0.15); color:var(--amber); }
.badge-rose   { background:rgba(244,63,94,0.15); color:var(--rose); }
.mini-bar     { height:4px; border-radius:2px; background:var(--mini-bar-track); overflow:hidden; margin-bottom:4px; }
.mini-bar-fill{ height:100%; background:linear-gradient(90deg,var(--primary),var(--primary-light)); border-radius:2px; }
.mini-stat-row{ display:flex; gap:12px; }
.mini-stat    { flex:1; }
.mini-stat-num{ font-size:16px; font-weight:800; color:var(--text); }
.mini-stat-lbl{ font-size:9px; text-transform:uppercase; color:var(--text-dim); font-weight:600; letter-spacing:0.1em; }

.score-ring-wrap{ display:flex; align-items:center; gap:12px; }
.score-ring      { width:52px; height:52px; position:relative; }
.score-ring svg  { transform:rotate(-90deg); }
.score-ring-txt  { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:var(--emerald); }
.score-info-label{ font-size:11px; font-weight:600; color:var(--text-muted); }
.score-info-val  { font-size:20px; font-weight:800; color:var(--text); }

/* Ticker */
.ticker-wrap { background:var(--ticker-bg); border-top:1px solid var(--ticker-border); border-bottom:1px solid var(--ticker-border); padding:12px 0; overflow:hidden; position:relative; z-index:1; }
.ticker-track { display:flex; width:max-content; animation:ticker-scroll 28s linear infinite; }
.ticker-item  { display:inline-flex; align-items:center; gap:8px; padding:0 40px; font-size:12px; font-weight:700; color:var(--text-muted); white-space:nowrap; }
.ticker-item .t-dot { width:5px; height:5px; border-radius:50%; background:var(--primary-light); flex-shrink:0; }
.ticker-item .t-val { color:var(--primary-light); }

#who { background: linear-gradient(180deg, var(--section-alt) 0%, transparent 100%); position: relative; overflow: hidden; }

/* ── Who We Serve Split Layout ── */
.who-split-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
  margin-top: 52px;
}

.who-list-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.who-list-item {
  display: flex;
  gap: 20px;
  padding: 24px;
  border-radius: 20px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.who-list-item.active {
  transform: translateX(12px);
  background: #ffffff;
}

body.dark .who-list-item.active {
  background: rgba(255, 255, 255, 0.05);
}

/* Color thematic highlights for active items */
.who-list-item[data-serve="agencies"].active {
  border-color: rgba(99, 102, 241, 0.5);
  box-shadow: 0 12px 30px -10px rgba(99, 102, 241, 0.15);
}
.who-list-item[data-serve="consultants"].active {
  border-color: rgba(16, 185, 129, 0.5);
  box-shadow: 0 12px 30px -10px rgba(16, 185, 129, 0.15);
}
.who-list-item[data-serve="teams"].active {
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 12px 30px -10px rgba(245, 158, 11, 0.15);
}

.who-icon-wrapper {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.who-icon-wrapper.indigo { background: rgba(99, 102, 241, 0.08); color: var(--primary-light); }
.who-icon-wrapper.emerald { background: rgba(16, 185, 129, 0.08); color: var(--emerald); }
.who-icon-wrapper.amber { background: rgba(245, 158, 11, 0.08); color: var(--amber); }

.who-list-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 6px;
}
.who-list-desc {
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 12px;
}
.who-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.who-tag {
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--who-tag-bg);
  color: var(--who-tag-color);
  border: 1px solid var(--who-tag-border);
}

/* 3D Viewport container */
.who-3d-viewport {
  position: relative;
  width: 100%;
  height: 500px;
  border-radius: 28px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  overflow: hidden;
}

.who-model-canvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.viewport-backglow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 280px;
  height: 280px;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.15;
  transition: background 0.5s ease;
  z-index: 1;
}

/* ── Console HUD Styles ── */
.console-screen-overlay {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  height: 220px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(var(--hud-accent), 0.25);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 18px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 36px rgba(var(--hud-accent), 0.08), inset 0 0 24px rgba(var(--hud-accent), 0.02);
  z-index: 10;
  pointer-events: none; /* Let clicks pass through to Three.js canvas underneath if needed */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --hud-accent: 99, 102, 241; /* Default Indigo */
}

body.dark .console-screen-overlay {
  background: rgba(13, 15, 28, 0.7);
  border: 1px solid rgba(var(--hud-accent), 0.25);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35), inset 0 0 24px rgba(var(--hud-accent), 0.05);
}

.console-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(var(--hud-accent), 0.15);
  padding-bottom: 6px;
  margin-bottom: 8px;
}

.console-dots {
  display: flex;
  gap: 5px;
}

.c-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.c-dot.red { background: #ef4444; }
.c-dot.yellow { background: #eab308; }
.c-dot.green { background: #10b981; }

.console-title-bar {
  font-family: 'Courier New', Courier, monospace;
  font-size: 10px;
  font-weight: 700;
  color: rgb(var(--hud-accent));
  letter-spacing: 1.5px;
}

.console-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-family: monospace;
  color: rgb(var(--hud-accent));
  background: rgba(var(--hud-accent), 0.1);
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 700;
}

.pulse-indicator {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgb(var(--hud-accent));
  display: inline-block;
  animation: pulse-glow-hud 1.5s infinite;
}

.console-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  gap: 8px;
}

.console-terminal {
  flex: 1;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  padding: 8px 12px;
  overflow-y: hidden;
  border: 1px solid rgba(var(--hud-accent), 0.1);
}

body.dark .console-terminal {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.03);
}

.terminal-lines {
  font-family: 'Courier New', Courier, monospace;
  font-size: 11px;
  line-height: 1.4;
}

.t-line {
  color: var(--text);
  opacity: 0.8;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.dark .t-line {
  color: rgba(255, 255, 255, 0.75);
}

.t-line.green { color: #10b981; font-weight: bold; }
.t-line.blue { color: #3b82f6; font-weight: bold; }
.t-line.orange { color: #f59e0b; font-weight: bold; }

.console-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.c-stat-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(var(--hud-accent), 0.15);
  border-radius: 8px;
  padding: 6px;
}

body.dark .c-stat-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.c-stat-label {
  font-size: 8px;
  color: var(--text-muted);
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.c-stat-value {
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  font-weight: 800;
  color: rgb(var(--hud-accent));
}

@keyframes pulse-glow-hud {
  0% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 6px rgba(var(--hud-accent), 0.8); }
  100% { transform: scale(0.9); opacity: 0.6; }
}

@media (max-width: 1024px) {
  .who-split-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .who-3d-viewport {
    height: 480px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   4. FEATURES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#features { background:var(--section-alt); }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.feat-card { padding:30px; position:relative; overflow:hidden; }
.feat-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(99,102,241,0.03) 0%,transparent 60%); pointer-events:none; border-radius:24px; }
.feat-icon-wrap { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:22px; }
.feat-icon-wrap.c1 { background:linear-gradient(135deg,rgba(99,102,241,0.18),rgba(139,92,246,0.12));  border:1px solid rgba(99,102,241,0.2); }
.feat-icon-wrap.c2 { background:linear-gradient(135deg,rgba(16,185,129,0.18),rgba(5,150,105,0.12));   border:1px solid rgba(16,185,129,0.2); }
.feat-icon-wrap.c3 { background:linear-gradient(135deg,rgba(245,158,11,0.18),rgba(234,88,12,0.12));   border:1px solid rgba(245,158,11,0.2); }
.feat-icon-wrap.c4 { background:linear-gradient(135deg,rgba(244,63,94,0.18),rgba(239,68,68,0.12));    border:1px solid rgba(244,63,94,0.2); }
.feat-icon-wrap.c5 { background:linear-gradient(135deg,rgba(6,182,212,0.18),rgba(14,165,233,0.12));   border:1px solid rgba(6,182,212,0.2); }
.feat-icon-wrap.c6 { background:linear-gradient(135deg,rgba(168,85,247,0.18),rgba(139,92,246,0.12));  border:1px solid rgba(168,85,247,0.2); }
.feat-title { font-size:17px; font-weight:800; color:var(--text); margin-bottom:8px; }
.feat-desc  { font-size:13.5px; color:var(--text-muted); line-height:1.7; }
.feat-badge { display:inline-block; margin-top:14px; font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:3px 10px; border-radius:6px; }

/* ── Bento Grid Redesign ── */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 52px;
}

.bento-card {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  border-radius: 24px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s, box-shadow 0.4s;
  min-height: 440px;
}

.bento-card:hover {
  transform: translateY(-5px);
  border-color: var(--glass-hover-border);
  box-shadow: var(--glass-hover-shadow);
}

.bento-wide {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 32px;
  align-items: center;
}

.bento-card-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}

.bento-card-content .feat-icon-wrap {
  margin-top: 0;
}

/* Bento Simulator Widgets */
.widget-container {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(99, 102, 241, 0.12);
  border-radius: 18px;
  padding: 16px;
  height: 220px;
  display: flex;
  flex-direction: column;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.01);
  overflow: hidden;
  transition: all 0.3s ease;
}

body.dark .widget-container {
  background: rgba(10, 12, 25, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

/* Header style for terminal/scanner box */
.widget-header {
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 8px;
  margin-bottom: 12px;
}

body.dark .widget-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.w-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.w-dot.red { background: #ef4444; }
.w-dot.yellow { background: #eab308; }
.w-dot.green { background: #10b981; }

.w-title {
  font-family: monospace;
  font-size: 9px;
  color: var(--text-dim);
  margin-left: 4px;
}

/* 1. Scraper Widget Simulator */
.scraper-input-bar {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
}

.scraper-input-bar input {
  flex: 1;
  min-width: 0; /* Prevents inputs from expanding past container bounds */
  background: var(--bg-2);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 11px;
  color: var(--text);
  font-family: inherit;
  font-weight: 500;
}

body.dark .scraper-input-bar input {
  background: rgba(0, 0, 0, 0.2);
}

.ws-btn {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;
  transition: all 0.2s ease;
  cursor: pointer;
  flex-shrink: 0; /* Prevents the button from shrinking or overflowing */
}
.ws-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(99, 102, 241, 0.25);
}

.scraper-progress-container {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 8px;
}

.scraper-progress-bar {
  height: 5px;
  background: rgba(99, 102, 241, 0.1);
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}

.scraper-progress-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: var(--primary-light);
  border-radius: 3px;
  animation: ws-fill-anim 1.5s linear forwards;
}

@keyframes ws-fill-anim {
  to { width: 100%; }
}

.scraper-progress-text {
  font-size: 9.5px;
  font-family: monospace;
  color: var(--text-muted);
}

.scraper-results {
  flex: 1;
  overflow-y: auto;
}

.ws-empty-state {
  font-size: 11px;
  color: var(--text-dim);
  text-align: center;
  margin-top: 28px;
  font-style: italic;
}

.ws-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
  font-size: 11px;
}

body.dark .ws-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.ws-col {
  font-weight: 600;
}
.ws-col.rating { color: #eab308; }
.ws-col.status { color: #10b981; }

/* 2. Sequence Flow Widget */
.flow-widget {
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.flow-step {
  background: var(--bg-2);
  border: 1px solid var(--glass-border);
  padding: 10px 14px;
  border-radius: 12px;
  width: 100%;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

body.dark .flow-step {
  background: rgba(0, 0, 0, 0.2);
}

.flow-badge {
  font-size: 8px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  margin-right: 8px;
  letter-spacing: 0.5px;
}
.flow-badge.initial { background: rgba(99, 102, 241, 0.12); color: var(--primary-light); }
.flow-badge.follow { background: rgba(245, 158, 11, 0.12); color: var(--amber); }

.flow-text {
  font-size: 11px;
  font-weight: 700;
  color: var(--text);
}

.flow-connector.vertical {
  height: 24px;
  width: 2px;
  background: repeating-linear-gradient(0deg, var(--text-dim), var(--text-dim) 4px, transparent 4px, transparent 8px);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flow-condition {
  font-size: 8.5px;
  color: var(--text-muted);
  background: var(--bg);
  padding: 1px 8px;
  border-radius: 100px;
  border: 1px solid var(--glass-border);
  white-space: nowrap;
  font-weight: 700;
}

/* 3. Interactive Report Widget */
.report-tabs {
  display: flex;
  gap: 4px;
  background: rgba(0, 0, 0, 0.03);
  padding: 3px;
  border-radius: 8px;
  margin-bottom: 12px;
}

body.dark .report-tabs {
  background: rgba(255, 255, 255, 0.03);
}

.rep-tab {
  flex: 1;
  background: none;
  border: none;
  border-radius: 6px;
  padding: 5px;
  font-size: 10px;
  font-weight: 700;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.2s ease;
}

.rep-tab.active {
  background: #fff;
  color: var(--text);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

body.dark .rep-tab.active {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.report-score-box {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  margin-top: 4px;
}

.score-circle-container {
  position: relative;
  width: 76px;
  height: 76px;
}

.circle-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.circle-bg {
  fill: none;
  stroke: rgba(0, 0, 0, 0.04);
  stroke-width: 3.5;
}

body.dark .circle-bg {
  stroke: rgba(255, 255, 255, 0.05);
}

.circle-fill {
  fill: none;
  stroke: var(--emerald);
  stroke-width: 3.5;
  stroke-linecap: round;
  transition: stroke-dasharray 0.5s ease, stroke 0.5s ease;
}

.score-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Courier New', Courier, monospace;
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
}

.score-details {
  display: flex;
  flex-direction: column;
}

.score-label {
  font-size: 9px;
  color: var(--text-muted);
  font-weight: 600;
}

.score-grade {
  font-size: 13px;
  font-weight: 800;
  color: var(--emerald);
  transition: color 0.5s ease;
}

/* 4. Template Widget */
.template-widget {
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(244, 63, 94, 0.12);
  padding: 0;
}

body.dark .template-widget {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.editor-header {
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding: 6px 12px;
  font-size: 9px;
  color: var(--text-dim);
  font-family: monospace;
  font-weight: 700;
}

body.dark .editor-header {
  background: rgba(255, 255, 255, 0.01);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.editor-body {
  padding: 14px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 11px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.code-line {
  color: var(--text-muted);
  line-height: 1.5;
}

body.dark .code-line {
  color: rgba(255, 255, 255, 0.65);
}

.var-box {
  background: rgba(244, 63, 94, 0.08);
  color: var(--rose);
  border: 1px solid rgba(244, 63, 94, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 700;
  display: inline-block;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* 5. Analytics & Exclusion Widget */
.analytics-widget {
  justify-content: space-between;
}

.rules-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rule-row {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}

.rule-icon.check {
  color: #10b981;
  font-weight: 900;
}

.progress-stats-box {
  margin-top: auto;
}

.stat-progress-bar-container {
  height: 5px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}

body.dark .stat-progress-bar-container {
  background: rgba(255, 255, 255, 0.05);
}

.stat-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #a855f7, var(--primary-light));
  border-radius: 3px;
}

.stat-row {
  display: flex;
  justify-content: space-between;
  font-size: 9.5px;
}

.stat-lbl {
  color: var(--text-muted);
  font-weight: 600;
}

.stat-val {
  font-weight: 800;
}
.stat-val.text-green {
  color: #10b981;
}

@media (max-width: 1024px) {
  .bento-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .bento-wide {
    grid-column: span 1;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .bento-card {
    min-height: auto;
  }
  .widget-container {
    margin-top: 16px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   5. STATS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#stats { background:linear-gradient(180deg,transparent 0%,rgba(99,102,241,0.04) 50%,transparent 100%); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:52px; }
.stat-card { padding:36px 28px; text-align:center; position:relative; overflow:hidden; animation:border-glow 4s ease infinite; }
.stat-card::before { content:''; position:absolute; width:120px; height:120px; border-radius:50%; background:var(--stat-glow,rgba(99,102,241,0.08)); top:-30px; right:-30px; filter:blur(30px); pointer-events:none; }
.stat-live { display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:14px; }
.stat-live .live-dot { width:6px; height:6px; border-radius:50%; background:var(--emerald); animation:pulse-dot 1.8s ease infinite; }
.stat-live span { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.14em; color:var(--emerald); }
.stat-num {
  font-family:'Outfit',sans-serif; font-size:clamp(38px,5vw,56px); font-weight:900; letter-spacing:-0.03em;
  background:linear-gradient(135deg, var(--stat-num-from) 0%, var(--stat-num-to) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  margin-bottom:8px;
}
.stat-label { font-size:13px; font-weight:600; color:var(--text-muted); }
.stat-sub   { font-size:11px; color:var(--text-dim); margin-top:4px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   6. DEMO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ── Demo Tabs Container ── */
.demo-tabs {
  position: relative;
  display: flex;
  gap: 6px;
  margin: 0 auto 36px;
  background: rgba(15, 23, 42, 0.04);
  padding: 6px;
  border-radius: 20px;
  border: 1px solid rgba(99, 102, 241, 0.12);
  width: fit-content;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02), 
              0 10px 30px -10px rgba(99, 102, 241, 0.05);
}

body.dark .demo-tabs {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2),
              0 15px 35px -15px rgba(0, 0, 0, 0.3);
}

/* Dynamic slider background pill */
.tab-slider {
  position: absolute;
  top: 6px;
  left: 6px;
  height: calc(100% - 12px);
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(99, 102, 241, 0.15);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
              width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.4s ease,
              box-shadow 0.4s ease,
              background 0.4s ease;
  z-index: 1;
}

body.dark .tab-slider {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* Color-coded border glows for the slider depending on active tab */
.demo-tabs[data-active-tab="requests"] .tab-slider {
  border-color: rgba(79, 70, 229, 0.4);
  box-shadow: 0 6px 16px -4px rgba(79, 70, 229, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.demo-tabs[data-active-tab="campaign"] .tab-slider {
  border-color: rgba(168, 85, 247, 0.4);
  box-shadow: 0 6px 16px -4px rgba(168, 85, 247, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.demo-tabs[data-active-tab="template"] .tab-slider {
  border-color: rgba(16, 185, 129, 0.4);
  box-shadow: 0 6px 16px -4px rgba(16, 185, 129, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Individual tab button */
.demo-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 14px;
  background: transparent;
  border: none;
  color: var(--text-dim);
  transition: color 0.3s ease;
  z-index: 2;
  cursor: pointer;
  outline: none;
}

body.dark .demo-tab {
  color: var(--text-muted);
}

/* Active tab text color matches body theme text */
.demo-tab.active {
  color: var(--text) !important;
}

.demo-tab:hover:not(.active) {
  color: var(--text);
}

.demo-tab .tab-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

/* Colored Icons with respective branding colors */
.demo-tab[data-tab="requests"] .tab-icon i {
  color: #4f46e5;
  opacity: 0.55;
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}
.demo-tab[data-tab="campaign"] .tab-icon i {
  color: #a855f7;
  opacity: 0.55;
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}
.demo-tab[data-tab="template"] .tab-icon i {
  color: #10b981;
  opacity: 0.55;
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}

/* Brighter active icon color & glow shadow */
.demo-tab.active[data-tab="requests"] .tab-icon i {
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(79, 70, 229, 0.5));
}
.demo-tab.active[data-tab="campaign"] .tab-icon i {
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.6));
}
.demo-tab.active[data-tab="template"] .tab-icon i {
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(16, 185, 129, 0.6));
}

/* Icon Animations */
.demo-tab[data-tab="requests"]:hover .tab-icon i,
.demo-tab[data-tab="requests"].active .tab-icon i {
  animation: slow-rotate 8s linear infinite;
}

.demo-tab[data-tab="campaign"]:hover .tab-icon i,
.demo-tab[data-tab="campaign"].active .tab-icon i {
  animation: heart-beat 1.2s ease-in-out infinite;
}

.demo-tab[data-tab="template"]:hover .tab-icon i,
.demo-tab[data-tab="template"].active .tab-icon i {
  animation: bounce-float 1.8s ease-in-out infinite;
}

@keyframes slow-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes heart-beat {
  0% { transform: scale(1); }
  14% { transform: scale(1.18); }
  28% { transform: scale(1); }
  42% { transform: scale(1.18); }
  70% { transform: scale(1); }
}

@keyframes bounce-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

.demo-panel { display:none; animation:fadeInPanel .4s ease; }
.demo-panel.active { display:block; }

.demo-window { border-radius:20px; overflow:hidden; border:1px solid var(--demo-window-border); box-shadow:0 32px 80px rgba(99,102,241,0.12), 0 4px 24px rgba(0,0,0,0.08); }
.demo-titlebar { display:flex; align-items:center; gap:8px; padding:12px 18px; background:var(--demo-titlebar); border-bottom:1px solid var(--demo-card-border); }
.demo-dot { width:11px; height:11px; border-radius:50%; }
.demo-dot.r{background:#ff5f57} .demo-dot.y{background:#febc2e} .demo-dot.g{background:#28c840}
.demo-url { flex:1; text-align:center; font-size:11px; color:var(--demo-url); font-weight:600; }
.demo-body { background:var(--demo-body); padding:24px; min-height:420px; }

/* ── Data Requests Panel ── */
.requests-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.requests-title { font-size: 24px; font-weight: 900; color: var(--text); font-family: 'Outfit', sans-serif; letter-spacing: -0.01em; }
.requests-subtitle { font-size: 10px; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 4px; }
.requests-actions { display: flex; align-items: center; gap: 10px; }
.btn-requests-primary { display: inline-flex; align-items: center; gap: 6px; background: var(--primary); color: #fff; border: none; border-radius: 10px; padding: 10px 20px; font-size: 11px; font-weight: 800; opacity: 0.8; cursor: not-allowed; text-transform: uppercase; letter-spacing: 0.05em; }
.btn-requests-sync { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-2); color: var(--text-muted); border: 1.5px solid var(--demo-card-border); border-radius: 10px; padding: 9px 18px; font-size: 11px; font-weight: 800; opacity: 0.8; cursor: not-allowed; text-transform: uppercase; letter-spacing: 0.05em; }

.requests-stats-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin-bottom: 24px; }
.requests-stat-card { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: #fff; border: 1px solid var(--demo-card-border); border-radius: 16px; box-shadow: 0 4px 20px rgba(99, 102, 241, 0.03); }
body.dark .requests-stat-card { background: var(--demo-card-bg); }
.req-stat-info { display: flex; flex-direction: column; text-align: left; }
.req-stat-lbl { font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim); }
.req-stat-val { font-size: 18px; font-weight: 950; color: var(--text); margin-top: 3px; font-family: 'Outfit', sans-serif; }
.req-stat-icon-box { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.req-stat-icon-box svg { width: 15px; height: 15px; }

.bg-indigo { background: rgba(99, 102, 241, 0.08); color: var(--primary-light); }
.bg-blue { background: rgba(59, 130, 246, 0.08); color: #3b82f6; }
.bg-purple { background: rgba(168, 85, 247, 0.08); color: #a855f7; }
.bg-emerald { background: rgba(16, 185, 129, 0.08); color: var(--emerald); }
.bg-amber { background: rgba(245, 158, 11, 0.08); color: var(--amber); }
.bg-red { background: rgba(244, 63, 94, 0.08); color: var(--rose); }
.bg-orange { background: rgba(249, 115, 22, 0.08); color: #f97316; }

.requests-filters-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.requests-tabs-row { display: flex; gap: 2px; background: rgba(0,0,0,0.02); padding: 4px; border-radius: 10px; border: 1px solid var(--demo-tabs-border); }
body.dark .requests-tabs-row { background: rgba(255,255,255,0.02); }
.req-filter-btn { border: none; padding: 6px 12px; font-size: 9.5px; font-weight: 700; border-radius: 6px; background: none; color: var(--text-muted); cursor: default; text-transform: uppercase; }
.req-filter-btn.active { background: #fff; color: var(--primary-light); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
body.dark .req-filter-btn.active { background: rgba(255,255,255,0.06); color: #fff; }
.requests-search-box { position: relative; display: flex; align-items: center; }
.requests-search-box svg { position: absolute; left: 12px; color: var(--text-dim); }
.requests-search-box input { width: 220px; height: 36px; border-radius: 10px; border: 1px solid var(--input-border); background: var(--input-bg); color: var(--text); font-family: inherit; font-size: 12px; font-weight: 600; padding: 0 12px 0 32px; outline: none; }

.requests-list { display: flex; flex-direction: column; gap: 12px; }
.req-feed-card { display: flex; position: relative; border-radius: 16px; background: #fff; border: 1px solid var(--demo-card-border); padding: 18px 24px; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,0.01); }
body.dark .req-feed-card { background: var(--demo-card-bg); }
.req-accent { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; border-radius: 0 4px 4px 0; }
.req-accent.bg-red { background: var(--rose); }
.req-accent.bg-amber { background: var(--amber); }
.req-feed-body { flex: 1; display: flex; flex-direction: column; gap: 8px; }

.req-row-top { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.req-left-group { display: flex; align-items: center; gap: 12px; }
.req-cat-title { font-size: 14px; font-weight: 900; color: var(--text); font-family: 'Outfit', sans-serif; letter-spacing: 0.02em; }
.req-loc-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; color: var(--text-muted); background: rgba(0,0,0,0.03); border: 1px solid var(--demo-card-border); padding: 3px 8px; border-radius: 6px; }
body.dark .req-loc-badge { background: rgba(255,255,255,0.02); }
.req-right-group { display: flex; align-items: center; gap: 8px; }
.btn-req-prefill { background: #fff; border: 1px solid var(--demo-card-border); color: var(--text-muted); font-size: 9px; font-weight: 800; padding: 4px 12px; border-radius: 6px; cursor: not-allowed; text-transform: uppercase; letter-spacing: 0.05em; }
body.dark .btn-req-prefill { background: rgba(255,255,255,0.04); color: #cbd5e1; border-color: rgba(255,255,255,0.08); }

.req-status-badge { font-size: 9.5px; font-weight: 800; padding: 4px 12px; border-radius: 6px; text-transform: uppercase; letter-spacing: 0.05em; }
.status-rejected { background: rgba(244, 63, 94, 0.12); color: var(--rose); }
.status-pending { background: rgba(245, 158, 11, 0.12); color: var(--amber); }

.req-row-mid { display: flex; align-items: center; gap: 24px; font-size: 10.5px; font-weight: 700; color: var(--text-dim); margin-top: 6px; text-transform: uppercase; letter-spacing: 0.02em; }
.req-user-info, .req-time-info { display: flex; align-items: center; gap: 6px; }

.req-notes-box { display: flex; align-items: flex-start; gap: 8px; font-size: 11px; font-weight: 600; color: #4f46e5; background: rgba(99, 102, 241, 0.05); border: 1px solid rgba(99, 102, 241, 0.15); border-radius: 10px; padding: 10px 14px; margin-top: 10px; text-align: left; }
body.dark .req-notes-box { background: rgba(255, 255, 255, 0.02); border-color: rgba(255, 255, 255, 0.06); color: #a5b4fc; }

.border-red { border-color: rgba(244, 63, 94, 0.15); }
.border-amber { border-color: rgba(245, 158, 11, 0.15); }

@media (max-width: 1024px) {
  .requests-stats-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
  .requests-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Campaign Wizard Panel ── */
.wiz-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.wiz-back-btn { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--demo-card-border); background: var(--demo-card-bg); color: var(--text-muted); display: flex; align-items: center; justify-content: center; cursor: not-allowed; }
.wiz-title { font-size: 18px; font-weight: 900; color: var(--text); }
.wiz-subtitle { font-size: 12px; color: var(--text-dim); font-weight: 700; margin-top: 1px; }

.wiz-stepper-banner { display: flex; align-items: center; background: var(--demo-card-bg); border: 1px solid var(--demo-card-border); border-radius: 12px; padding: 12px 20px; margin-bottom: 24px; justify-content: space-between; overflow-x: auto; gap: 12px; }
.wiz-step { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.wiz-step-circle { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; }
.wiz-step.active .wiz-step-circle { background: var(--primary); color: #fff; }
.wiz-step-circle-done { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); color: var(--emerald); }
.wiz-step-lbl { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.wiz-step.active .wiz-step-lbl { color: var(--primary-light); }
.wiz-step-line { flex: 1; height: 2px; min-width: 16px; background: var(--demo-card-border); }
.wiz-step-line.done { background: var(--emerald); }

.wiz-card { background: var(--demo-card-bg); border: 1px solid var(--demo-card-border); border-radius: 18px; padding: 24px; margin-bottom: 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
.wiz-card-title { font-size: 15px; font-weight: 800; color: var(--text); }
.wiz-card-desc { font-size: 11.5px; color: var(--text-muted); margin-top: 3px; margin-bottom: 20px; }
.lead-source-label { font-size: 9px; font-weight: 900; color: var(--text-dim); letter-spacing: 0.12em; margin-bottom: 10px; }

.lead-sources-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 24px; }
.lead-source-box { background: var(--bg); border: 1px solid var(--demo-card-border); border-radius: 12px; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; cursor: not-allowed; transition: all 0.25s; }
.lead-source-box.selected { border-color: var(--primary-light); box-shadow: 0 0 0 1px var(--primary-light), 0 4px 16px rgba(99, 102, 241, 0.08); background: var(--bg-2); }
.source-left { display: flex; gap: 12px; align-items: flex-start; }
.source-icon { width: 34px; height: 34px; border-radius: 8px; background: rgba(99, 102, 241, 0.06); display: flex; align-items: center; justify-content: center; color: var(--text-muted); flex-shrink: 0; }
.lead-source-box.selected .source-icon { background: rgba(99, 102, 241, 0.15); color: var(--primary); }
.source-info { display: flex; flex-direction: column; gap: 3px; text-align: left; }
.source-title { font-size: 12px; font-weight: 800; color: var(--text); }
.source-desc { font-size: 10px; color: var(--text-muted); line-height: 1.4; }
.source-radio-circle { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--text-dim); flex-shrink: 0; }
.source-radio-checked { width: 14px; height: 14px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 8px; flex-shrink: 0; }

.wiz-form-group { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.wiz-field-label { font-size: 9px; font-weight: 900; color: var(--text-dim); letter-spacing: 0.12em; }
.wiz-custom-select { height: 38px; background: var(--bg); border: 1px solid var(--demo-card-border); border-radius: 8px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; font-size: 12px; font-weight: 700; color: var(--text); cursor: not-allowed; }
.wiz-select-arrow { color: var(--text-dim); }

.wiz-locations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; margin-bottom: 24px; }
.wiz-multi-select { min-height: 38px; background: var(--bg); border: 1px solid var(--demo-card-border); border-radius: 8px; display: flex; align-items: center; justify-content: space-between; padding: 4px 12px; cursor: not-allowed; gap: 8px; }
.wiz-selected-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.wiz-tag { font-size: 10px; font-weight: 700; background: var(--bg-2); border: 1px solid var(--demo-card-border); border-radius: 5px; padding: 2px 6px; display: inline-flex; align-items: center; gap: 4px; color: var(--text-muted); }
.wiz-tag-close { font-size: 8px; opacity: 0.6; }

.wiz-filters-header-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; text-align: left; }
.wiz-filters-sub { font-size: 8px; font-weight: 800; color: var(--text-dim); letter-spacing: 0.05em; margin-top: 2px; }
.btn-wiz-add-filter { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px solid var(--demo-card-border); border-radius: 6px; padding: 6px 12px; font-size: 10px; font-weight: 700; color: var(--text-muted); cursor: not-allowed; }

.wiz-filters-empty-state { border: 1.5px dashed var(--demo-card-border); border-radius: 10px; padding: 24px; text-align: center; display: flex; flex-direction: column; gap: 4px; margin-bottom: 24px; }
.empty-state-title { font-size: 10px; font-weight: 900; color: var(--text-dim); letter-spacing: 0.1em; }
.empty-state-desc { font-size: 9px; font-weight: 700; color: var(--text-dim); }

.btn-wiz-submit { width: 100%; height: 42px; background: var(--primary); color: #fff; border: none; border-radius: 10px; font-size: 12.5px; font-weight: 800; display: flex; align-items: center; justify-content: center; cursor: not-allowed; transition: background 0.2s; }

.wiz-metrics-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.wiz-metric-card { background: var(--demo-card-bg); border: 1px solid var(--demo-card-border); border-radius: 10px; padding: 12px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
.wiz-metric-lbl { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-dim); }
.wiz-metric-val { font-size: 16px; font-weight: 900; color: var(--text); }

.font-purple { color: var(--primary-light); }

/* ── Template Sequences Panel ── */
.template-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; text-align: left; }
.template-back-btn { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--demo-card-border); background: var(--demo-card-bg); color: var(--text-muted); display: flex; align-items: center; justify-content: center; cursor: not-allowed; }
.template-title { font-size: 18px; font-weight: 900; color: var(--text); }
.template-subtitle { font-size: 10px; font-weight: 800; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 4px; }

.temp-config-card { background: var(--demo-card-bg); border: 1px solid var(--demo-card-border); border-radius: 18px; padding: 20px; margin-bottom: 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.02); text-align: left; }
.temp-config-title-row { display: flex; align-items: center; gap: 8px; border-b: 1px solid var(--demo-card-border); padding-bottom: 12px; margin-bottom: 16px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text); }
.temp-config-title-row svg { width: 14px; height: 14px; }
.temp-config-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.temp-config-item { display: flex; flex-direction: column; gap: 6px; }
.temp-config-lbl { font-size: 8px; font-weight: 850; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.08em; }
.temp-config-val-wrap { display: flex; align-items: center; gap: 6px; }
.temp-config-val-wrap svg { width: 13px; height: 13px; }
.temp-config-val { font-size: 12px; font-weight: 700; color: var(--text-muted); }
.temp-status-badge { display: inline-block; font-size: 10px; font-weight: 850; color: var(--emerald); background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); padding: 2px 8px; border-radius: 6px; text-transform: uppercase; letter-spacing: 0.05em; }

.temp-seq-section-title-row { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text); border-bottom: 1px solid var(--demo-card-border); padding-bottom: 12px; margin-bottom: 16px; text-align: left; }
.temp-seq-section-title-row svg { width: 14px; height: 14px; }

.temp-seq-card { background: var(--demo-card-bg); border: 1px solid var(--demo-card-border); border-radius: 16px; padding: 20px; box-shadow: 0 4px 16px rgba(0,0,0,0.01); text-align: left; display: flex; flex-direction: column; gap: 14px; }
.temp-seq-card-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; width: 100%; }
.temp-seq-card-left { display: flex; align-items: flex-start; gap: 14px; flex: 1; }
.temp-seq-num { width: 28px; height: 28px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; color: #fff; flex-shrink: 0; }
.temp-seq-num.bg-indigo { background: var(--primary); }
.temp-seq-num.bg-violet { background: #8b5cf6; }
.temp-seq-info { display: flex; flex-direction: column; gap: 6px; flex: 1; text-align: left; }
.temp-seq-subject { font-size: 13px; font-weight: 800; color: var(--text); line-height: 1.4; }
.temp-seq-preheader { font-size: 11px; font-weight: 600; color: var(--text-dim); }
.temp-var-badge { display: inline-block; font-size: 10px; font-weight: 800; color: var(--primary-light); background: rgba(99, 102, 241, 0.08); border: 1px solid rgba(99, 102, 241, 0.15); border-radius: 4px; padding: 1px 6px; margin: 0 2px; }
.temp-seq-card-right { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex-shrink: 0; }
.temp-seq-type-badge { font-size: 8.5px; font-weight: 850; padding: 3px 8px; border-radius: 6px; text-transform: uppercase; letter-spacing: 0.08em; }
.temp-seq-type-badge.type-initial { background: rgba(99, 102, 241, 0.1); color: var(--primary-light); border: 1px solid rgba(99, 102, 241, 0.2); }
.temp-seq-type-badge.type-followup { background: rgba(139, 92, 246, 0.1); color: #8b5cf6; border: 1px solid rgba(139, 92, 246, 0.2); }
.temp-seq-actions { display: flex; gap: 6px; }
.btn-seq-action { width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--demo-card-border); background: var(--bg); color: var(--text-muted); display: flex; align-items: center; justify-content: center; cursor: not-allowed; transition: all 0.2s; }

.temp-seq-meta-row { display: flex; flex-wrap: wrap; gap: 16px; border-top: 1px solid var(--demo-card-border); padding-top: 12px; }
.temp-meta-item { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: var(--text-muted); }
.temp-meta-item svg { width: 12px; height: 12px; }

.temp-seq-attachments { border-top: 1px solid var(--demo-card-border); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.attachments-label { display: flex; align-items: center; gap: 6px; font-size: 9.5px; font-weight: 850; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; }
.attachments-label svg { width: 11px; height: 11px; }
.attachments-list { display: flex; flex-wrap: wrap; gap: 8px; }
.attachment-file-pill { display: inline-flex; align-items: center; gap: 6px; background: var(--bg); border: 1px solid var(--demo-card-border); padding: 6px 12px; border-radius: 8px; font-size: 11px; font-weight: 700; color: var(--text-muted); }
.attachment-file-pill svg { width: 12px; height: 12px; }
.attachment-size { font-size: 9px; color: var(--text-dim); font-weight: 600; }

.seq-arrow-divider { display: flex; justify-content: center; align-items: center; margin: 4px 0; color: var(--text-dim); }
.seq-arrow-divider svg { color: var(--demo-card-border); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   7. HOW IT WORKS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#how {
  background: var(--section-alt);
  position: relative;
  overflow: hidden;
  padding: 100px 0;
}

#how::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  height: 600px;
  background: radial-gradient(ellipse, rgba(99, 102, 241, 0.03) 0%, transparent 70%);
  pointer-events: none;
}

.how-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 64px;
  perspective: 1500px;
  position: relative;
}

.how-step-card {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* 3D Perspective Tilt on Hover */
.how-step-card:hover {
  transform: translateY(-12px) rotateX(6deg) rotateY(-3deg) translateZ(10px);
}

.how-step-inner {
  position: relative;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  padding: 32px 24px;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transform-style: preserve-3d;
}

body.dark .how-step-inner {
  background: rgba(15, 22, 48, 0.65);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.how-3d-bg {
  position: absolute;
  inset: -1px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--primary-light) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: -1;
  transform: translateZ(-10px);
}

.how-step-card:hover .how-3d-bg {
  opacity: 0.15;
  box-shadow: 0 30px 60px rgba(99, 102, 241, 0.25);
}

/* Header inside each card */
.how-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.how-icon-wrapper {
  position: relative;
  width: 68px;
  height: 68px;
  transform-style: preserve-3d;
}

/* Modern 3D Squircle Button Container */
.how-icon-container {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  box-shadow: 
    inset 0 3px 4px rgba(255, 255, 255, 0.35),
    inset 0 -4px 6px rgba(0, 0, 0, 0.25);
  transform: translateZ(30px);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.how-step-card:hover .how-icon-container {
  transform: translateZ(50px) translateY(-10px);
}

.how-icon-container svg {
  width: 26px;
  height: 26px;
  color: #fff;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.how-step-card:hover .how-icon-container svg {
  transform: rotate(8deg) scale(1.05);
}

/* 3D Floating Shadow bar/oval underneath the Squircle */
.how-icon-shadow {
  position: absolute;
  bottom: -10px;
  left: 6px;
  width: 56px;
  height: 6px;
  border-radius: 50%;
  filter: blur(4px);
  z-index: 1;
  opacity: 0.8;
  transform: translateZ(10px);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s ease, filter 0.4s ease;
}

.how-step-card:hover .how-icon-shadow {
  transform: translateZ(10px) translateY(4px) scale(0.7);
  opacity: 0.35;
  filter: blur(6px);
}

/* Custom shadow colors */
.how-icon-shadow.shadow-indigo { background: rgba(79, 70, 229, 0.6); }
.how-icon-shadow.shadow-amber { background: rgba(217, 119, 6, 0.6); }
.how-icon-shadow.shadow-purple { background: rgba(147, 51, 234, 0.6); }
.how-icon-shadow.shadow-emerald { background: rgba(5, 150, 105, 0.6); }

/* Circular Step Badge in top-right */
.how-step-badge {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--demo-card-border);
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: var(--text-dim);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
  transition: all 0.4s ease;
}

body.dark .how-step-badge {
  background: rgba(255, 255, 255, 0.03);
}

.how-step-card:hover .how-step-badge {
  color: var(--primary-light);
  border-color: var(--primary-light);
  box-shadow: 0 0 15px rgba(99, 102, 241, 0.15);
}

/* Content wrapper styles */
.how-step-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  transform: translateZ(20px);
  text-align: left;
}

.how-step-subtitle {
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 2px;
}

/* Specific text label theme colors */
.text-indigo-label { color: var(--primary-light); }
.text-amber-label { color: var(--amber); }
.text-purple-label { color: #a855f7; }
.text-emerald-label { color: var(--emerald); }

.how-step-title {
  font-size: 18px;
  font-weight: 850;
  color: var(--text);
  line-height: 1.35;
}

.how-step-desc {
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1.6;
}

.how-step-desc strong {
  color: var(--text);
}

/* Color schemes for squircles */
.how-icon-container.bg-indigo {
  background: linear-gradient(135deg, #4f46e5 0%, #312e81 100%);
}

.how-icon-container.bg-amber {
  background: linear-gradient(135deg, #d97706 0%, #78350f 100%);
}

.how-icon-container.bg-purple {
  background: linear-gradient(135deg, #9333ea 0%, #581c87 100%);
}

.how-icon-container.bg-emerald {
  background: linear-gradient(135deg, #059669 0%, #064e3b 100%);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   8. TESTIMONIALS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#testimonials { 
  background: linear-gradient(180deg, rgba(99,102,241,0.03) 0%, transparent 100%); 
  position: relative;
  overflow: hidden;
}

.reviews-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  height: 660px;
  overflow: hidden;
  position: relative;
  margin-top: 40px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.reviews-column {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  overflow: hidden;
}

.reviews-track {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: scroll-up var(--scroll-duration, 30s) linear infinite;
}

.reviews-column:hover .reviews-track {
  animation-play-state: paused;
}

@keyframes scroll-up {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

.testi-card { 
  padding: 28px;
  flex-shrink: 0;
  width: 100%;
}

.testi-stars{ color:var(--amber); font-size:14px; margin-bottom:14px; }
.testi-quote{ font-size:14.5px; color:var(--text-muted); line-height:1.75; margin-bottom:20px; font-style:italic; }
.testi-quote::before{ content:'"'; color:var(--primary-light); font-size:40px; line-height:0; position:relative; top:14px; margin-right:4px; }
.testi-author{ display:flex; align-items:center; gap:12px; }
.testi-avatar{ width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; color:#fff; flex-shrink:0; }
.testi-name  { font-size:14px; font-weight:800; color:var(--text); }
.testi-role  { font-size:12px; color:var(--text-dim); margin-top:1px; }
.testi-verified{ display:flex; align-items:center; gap:4px; font-size:10px; color:var(--emerald); font-weight:700; margin-top:4px; }

@media (max-width: 1024px) {
  .reviews-board {
    grid-template-columns: repeat(2, 1fr);
    height: 520px;
  }
  .reviews-column:nth-child(3) {
    display: none;
  }
}

@media (max-width: 640px) {
  .reviews-board {
    grid-template-columns: 1fr;
    height: 440px;
  }
  .reviews-column:nth-child(2) {
    display: none;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   9. FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.faq-list { max-width:780px; margin:52px auto 0; display:flex; flex-direction:column; gap:10px; }
.faq-item { border:1px solid var(--faq-border); border-radius:14px; background:var(--faq-bg); overflow:hidden; transition:border-color .3s; }
.faq-item.open { border-color:rgba(99,102,241,0.35); }
.faq-q { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; background:none; border:none; text-align:left; padding:20px 22px; cursor:pointer; font-size:15px; font-weight:700; color:var(--faq-q); transition:color .2s; }
.faq-q:hover { color:var(--primary-light); }
.faq-item.open .faq-q { color:var(--primary-light); }
.faq-chevron { width:28px; height:28px; border-radius:8px; background:var(--faq-chevron-bg); border:1px solid var(--faq-chevron-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .35s, background .3s; }
.faq-item.open .faq-chevron { transform:rotate(180deg); background:rgba(99,102,241,0.18); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.4,0,.2,1); }
.faq-item.open .faq-a { max-height:400px; }
.faq-a-inner { padding:16px 22px 20px; font-size:14px; color:var(--text-muted); line-height:1.75; border-top:1px solid var(--faq-a-border); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   10. CTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#cta { padding:60px 0; background:linear-gradient(135deg,var(--cta-bg-1) 0%,var(--cta-bg-2) 50%,var(--cta-bg-3) 100%); position:relative; overflow:hidden; transition:background .4s; }
#cta::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:800px; height:400px; border-radius:50%; background:radial-gradient(ellipse,rgba(99,102,241,0.18) 0%,transparent 70%); pointer-events:none; }
.cta-inner { position:relative; z-index:1; text-align:center; }
.cta-title { font-size:clamp(28px,4.5vw,52px); font-weight:900; letter-spacing:-0.025em; color:var(--cta-title); margin-bottom:16px; line-height:1.15; }
.cta-sub   { font-size:17px; color:var(--cta-sub); max-width:520px; margin:0 auto 36px; line-height:1.65; }
.cta-actions{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.cta-note  { font-size:12px; color:var(--cta-note); margin-top:16px; }

/* CTA ghost button always white-text in dark, indigo in light */
#cta .btn-ghost { background:rgba(99,102,241,0.1); color:var(--primary); border:1px solid rgba(99,102,241,0.25); }
body.dark #cta .btn-ghost { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.8); border:1px solid rgba(255,255,255,0.15); }
#cta .btn-ghost:hover { background:rgba(99,102,241,0.18); color:var(--primary); }
body.dark #cta .btn-ghost:hover { background:rgba(255,255,255,0.14); color:#fff; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   11. FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer { background:var(--footer-bg); border-top:1px solid var(--footer-border); padding:64px 0 32px; transition:background .4s; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-brand .logo { margin-bottom:14px; }
.footer-brand p { font-size:13.5px; color:var(--footer-p); line-height:1.7; max-width:260px; margin-bottom:20px; }
.social-links { display:flex; gap:10px; }
.social-link { width:36px; height:36px; border-radius:9px; background:var(--social-bg); border:1px solid var(--social-border); display:flex; align-items:center; justify-content:center; color:var(--social-color); font-size:15px; transition:all .2s; }
.social-link:hover { background:rgba(99,102,241,0.15); border-color:rgba(99,102,241,0.3); color:var(--primary-light); }
.footer-col h4 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.16em; color:var(--text-dim); margin-bottom:16px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col a { font-size:13.5px; color:var(--footer-link); transition:color .2s; }
.footer-col a:hover { color:var(--primary-light); }
.footer-bottom { border-top:1px solid var(--footer-bottom-border); padding-top:24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:12px; color:var(--footer-p); }
.footer-badge { font-size:11px; font-weight:700; padding:4px 12px; border-radius:8px; background:rgba(16,185,129,0.1); color:var(--emerald); border:1px solid rgba(16,185,129,0.2); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CHIPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.chip { display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 10px; border-radius:6px; }
.chip-indigo { background:rgba(99,102,241,0.12); color:var(--primary-light); border:1px solid rgba(99,102,241,0.2); }
.chip-emerald{ background:rgba(16,185,129,0.12); color:var(--emerald);       border:1px solid rgba(16,185,129,0.2); }
.chip-amber  { background:rgba(245,158,11,0.12);  color:var(--amber);        border:1px solid rgba(245,158,11,0.2); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   12. PRICING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   12. PRICING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#pricing { 
  background: linear-gradient(180deg, transparent 0%, rgba(99, 102, 241, 0.02) 100%); 
  position: relative; 
  z-index: 1;
  color: var(--text);
  transition: background 0.4s ease, color 0.4s ease;
}
#pricing .section-title {
  color: var(--section-title);
}
#pricing .section-sub {
  color: var(--text-muted);
}
.pricing-toggle-wrap {
  display: flex;
  margin: 32px auto 48px;
  background: var(--demo-tabs-bg);
  padding: 5px;
  border-radius: 100px;
  border: 1px solid var(--demo-tabs-border);
  width: fit-content;
  align-items: center;
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.05);
}
.pricing-toggle-btn {
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 28px;
  border-radius: 100px;
  background: none;
  border: none;
  color: var(--text-dim);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pricing-toggle-btn.active {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  color: #fff;
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.3);
}
.discount-badge {
  background: rgba(16, 185, 129, 0.15);
  color: var(--emerald);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 100px;
  font-weight: 800;
}
.pricing-toggle-btn.active .discount-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px;
  margin-top: 20px;
}
.pricing-card {
  padding: 36px 32px 32px;
  position: relative;
  overflow: visible;
  border-radius: 28px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
.pricing-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  border-radius: 28px;
}
.pricing-card:hover {
  transform: translateY(-8px) scale(1.01);
  border-color: var(--glass-hover-border);
  box-shadow: var(--glass-hover-shadow);
}
.pricing-card:hover::after {
  opacity: 1;
}
.pricing-card.popular {
  border: 2px solid #f97316;
  box-shadow: 0 0 35px rgba(249, 115, 22, 0.12), 0 24px 60px rgba(0, 0, 0, 0.04);
}
.pricing-card.popular::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(249, 115, 22, 0.1) 0%, transparent 70%);
  filter: blur(20px);
  pointer-events: none;
}
.popular-tag {
  position: absolute;
  top: -14px;
  left: 32px;
  background: #f97316;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 6px 16px;
  border-radius: 100px;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4);
  z-index: 10;
}
.pricing-plan-name {
  font-size: 24px;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pricing-plan-desc {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 12px;
}
.pricing-plan-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--emerald);
  background: rgba(16, 185, 129, 0.12);
  padding: 4px 10px;
  border-radius: 6px;
  margin-bottom: 16px;
}
.pricing-card.popular .pricing-plan-badge {
  color: #f97316;
  background: rgba(249, 115, 22, 0.12);
}
.pricing-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
}
.pricing-price {
  font-size: 48px;
  font-weight: 950;
  color: var(--text);
  letter-spacing: -0.04em;
  line-height: 1;
}
.pricing-cycle {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.pricing-billed-subtitle {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.pricing-limits-box {
  background: var(--card-sub-bg);
  border: 1px solid var(--card-sub-border);
  border-radius: 16px;
  padding: 18px 20px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pricing-limit-item {
  display: flex;
  justify-content: space-between;
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1;
}
.pricing-limit-label {
  font-weight: 600;
}
.pricing-limit-val {
  font-weight: 800;
  color: var(--text);
}
.pricing-btn {
  width: 100%;
  justify-content: center;
  margin-bottom: 20px;
  padding: 12px 24px;
  font-size: 14px;
  border-radius: 12px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}
.pricing-card:not(.popular) .pricing-btn {
  background: var(--ghost-bg);
  border: 1px solid var(--ghost-border);
  color: var(--ghost-color);
}
.pricing-card:not(.popular) .pricing-btn:hover {
  background: var(--ghost-hover-bg);
  color: var(--ghost-hover-color);
  transform: translateY(-2px);
}
.pricing-card.popular .pricing-btn {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  color: #fff;
  box-shadow: 0 6px 20px rgba(234, 88, 12, 0.3);
  border: none;
}
.pricing-card.popular .pricing-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 88, 12, 0.45);
}
.pricing-features-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--text-dim);
  margin-bottom: 16px;
}
.pricing-features-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pricing-feature-item {
  display: flex;
  align-items: start;
  gap: 10px;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.4;
}
.pricing-feature-item svg {
  color: var(--emerald);
  flex-shrink: 0;
  margin-top: 2.5px;
}
.pricing-pill-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.pricing-mini-pill {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(99, 102, 241, 0.06);
  color: var(--primary-light);
  border: 1px solid rgba(99, 102, 241, 0.12);
  white-space: nowrap;
  transition: all 0.2s ease;
}
.pricing-mini-pill:hover {
  background: rgba(99, 102, 241, 0.12);
  transform: translateY(-1px);
}
.pricing-mini-pill.hidden-pill {
  display: none !important;
}
.pricing-mini-pill.grey,
.pricing-card.popular .pricing-mini-pill.grey {
  background: rgba(0, 0, 0, 0.05);
  color: var(--text-muted);
  border-color: rgba(0, 0, 0, 0.12);
}
.pricing-card.popular .pricing-mini-pill {
  background: rgba(249, 115, 22, 0.06);
  color: #f97316;
  border-color: rgba(249, 115, 22, 0.12);
}
.pricing-card.popular .pricing-mini-pill:hover {
  background: rgba(249, 115, 22, 0.12);
}

/* Dark theme overrides for mini pills */
body.dark .pricing-mini-pill {
  background: rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  border-color: rgba(255, 255, 255, 0.07);
}
body.dark .pricing-mini-pill:hover {
  background: rgba(255, 255, 255, 0.08);
}
body.dark .pricing-mini-pill.grey,
body.dark .pricing-card.popular .pricing-mini-pill.grey {
  background: rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark .pricing-card.popular .pricing-mini-pill {
  background: rgba(249, 115, 22, 0.08);
  color: #ff8533;
  border-color: rgba(249, 115, 22, 0.15);
}
body.dark .pricing-card.popular .pricing-mini-pill:hover {
  background: rgba(249, 115, 22, 0.16);
}
.pricing-bottom-summary {
  font-size: 11px;
  color: var(--text-dim);
  text-align: center;
  margin-top: 24px;
  font-weight: 500;
}
.pricing-loading {
  grid-column: 1 / -1;
  text-align: center;
  padding: 80px;
  color: var(--text-muted);
  font-weight: 600;
  font-size: 16px;
}

/* ── Pricing Dark Theme Overrides ── */
body.dark #pricing {
  background: linear-gradient(180deg, rgba(7, 11, 20, 0.98) 0%, #0d122c 100%);
}
body.dark #pricing .section-title {
  color: #fff;
}
body.dark #pricing .section-sub {
  color: #94a3b8;
}
body.dark .pricing-toggle-wrap {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}
/* Custom Select Placeholder styling */
.wiz-custom-select .val.placeholder {
  color: var(--text-dim) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE */
body.dark .pricing-toggle-btn {
  color: #94a3b8;
}
body.dark .pricing-card {
  background: rgba(15, 22, 48, 0.65);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
body.dark .pricing-card:hover {
  border-color: rgba(99, 102, 241, 0.4);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.65), 0 0 30px rgba(99, 102, 241, 0.15);
}
body.dark .pricing-plan-name {
  color: #fff;
}
body.dark .pricing-plan-desc {
  color: #94a3b8;
}
body.dark .pricing-price {
  color: #fff;
}
body.dark .pricing-cycle {
  color: #64748b;
}
body.dark .pricing-billed-subtitle {
  color: #64748b;
}
body.dark .pricing-limits-box {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.06);
}
body.dark .pricing-limit-item {
  color: #94a3b8;
}
body.dark .pricing-limit-val {
  color: #fff;
}
body.dark .pricing-card:not(.popular) .pricing-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
}
body.dark .pricing-card:not(.popular) .pricing-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}
body.dark .pricing-feature-item {
  color: #cbd5e1;
}
body.dark .pricing-bottom-summary {
  color: #475569;
}
body.dark .pricing-loading {
  color: #94a3b8;
}

/* Custom Select Dropdowns */
.wiz-select-dropdown {
  position: absolute;
  top: 105%;
  left: 0;
  right: 0;
  background: var(--demo-body);
  border: 1px solid var(--demo-window-border);
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
  z-index: 100;
  display: none; /* Toggled via JS class .open */
  padding: 8px;
  max-height: 220px;
  overflow-y: auto;
  text-align: left;
}
body.dark .wiz-select-dropdown {
  background: #0f1322;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}
.wiz-select-dropdown.open {
  display: block;
  animation: fadeInPanel 0.25s ease forwards;
}
.dropdown-search-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: 8px;
  padding: 6px 10px;
  margin-bottom: 8px;
}
.dropdown-search-input {
  background: none;
  border: none;
  font-family: inherit;
  font-size: 12px;
  color: var(--text);
  outline: none;
  width: 100%;
}
.dropdown-options-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dropdown-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-muted);
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.dropdown-option:hover {
  background: var(--ghost-bg);
  color: var(--text);
}
.dropdown-option.selected {
  background: rgba(99, 102, 241, 0.08);
  color: var(--primary-light);
  font-weight: 700;
}

/* Metric Card Highlight Pulse */
.wiz-metric-card {
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.wiz-metric-card.highlight-pulse {
  border-color: var(--primary-light) !important;
  box-shadow: 0 0 24px rgba(99, 102, 241, 0.35) !important;
  transform: translateY(-4px) scale(1.04);
}

/* Metric Card Zoom Effect */
.wiz-metric-card.zoomed {
  transform: scale(1.18) !important;
  z-index: 50 !important;
  position: relative;
  box-shadow: 0 20px 40px rgba(99, 102, 241, 0.4) !important;
  border-color: var(--primary-light) !important;
  background: var(--surface);
  transform-origin: center center;
}

/* Magnifier Animation */
.wiz-magnifier {
  position: absolute;
  width: 100px;
  height: 100px;
  pointer-events: none;
  z-index: 2000;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-origin: center center;
}
.wiz-magnifier.active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.glass-lens {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 6px solid #e2e8f0;
  box-shadow: 
    0 0 0 2px rgba(255,255,255,0.4) inset,
    0 10px 25px rgba(0,0,0,0.2),
    inset 0 10px 20px rgba(255,255,255,0.5),
    inset 0 -10px 20px rgba(0,0,0,0.1);
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.8), rgba(255,255,255,0.1) 60%, rgba(99, 102, 241, 0.15));
  backdrop-filter: blur(1px) contrast(1.1) saturate(1.2);
  position: relative;
  z-index: 2;
}
body.dark .glass-lens {
  border-color: #475569;
  box-shadow: 
    0 0 0 2px rgba(255,255,255,0.1) inset,
    0 15px 35px rgba(0,0,0,0.5),
    inset 0 10px 20px rgba(255,255,255,0.2),
    inset 0 -10px 20px rgba(0,0,0,0.3);
}
.glass-handle {
  width: 16px;
  height: 60px;
  background: linear-gradient(to right, #64748b, #94a3b8, #475569);
  border-radius: 8px;
  position: absolute;
  bottom: -30px;
  right: -5px;
  transform: rotate(-45deg);
  z-index: 1;
  box-shadow: 2px 5px 10px rgba(0,0,0,0.2);
}

/* Mock Cursor for Interactive Campaign Wizard Simulator */
.mock-cursor {
  position: absolute;
  width: 18px;
  height: 18px;
  background: rgba(99, 102, 241, 0.75);
  border: 2px solid #ffffff;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1000;
  transition: all 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.6), 0 0 0 4px rgba(99, 102, 241, 0.2);
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mock-cursor.clicking {
  transform: translate(-50%, -50%) scale(0.75);
  background: rgba(16, 185, 129, 0.9);
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.8), 0 0 0 8px rgba(16, 185, 129, 0.25);
  border-color: #ffffff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT SECTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.contact-card-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.02);
  margin-top: 56px;
}

body.dark .contact-card-wrapper {
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}

.contact-details-side {
  padding: 48px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.02) 0%, rgba(99, 102, 241, 0.06) 100%);
  border-right: 1px solid var(--glass-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-details-side h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.contact-details-side p {
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 32px;
}

.contact-methods-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-method-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.contact-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.15);
  color: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-method-lbl {
  display: block;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-dim);
  margin-bottom: 2px;
}

.contact-method-item a {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  transition: color 0.2s;
}

.contact-method-item a:hover {
  color: var(--primary-light);
}

.contact-method-val {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
}

.contact-status-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--glass-border);
}

.op-status-title {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
}

.op-status-desc {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 1px;
}

/* Form Panel & Success Overlay */
.contact-form-side {
  padding: 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-success-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(0.95);
}

body.dark .contact-success-overlay {
  background: rgba(15, 23, 42, 0.85);
}

.contact-success-overlay.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.success-ring-animation {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.1);
  border: 2px solid rgba(16, 185, 129, 0.3);
  color: var(--emerald);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  animation: scale-up 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.contact-success-overlay h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 22px;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 10px;
}

.contact-success-overlay p {
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1.5;
  max-width: 320px;
  margin-bottom: 24px;
}

/* Form Styles */
.contact-form-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: left;
}

.wiz-form-group input,
.wiz-form-group textarea {
  width: 100%;
  padding: 10px 14px;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: 8px;
  color: var(--text);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.wiz-form-group input::placeholder,
.wiz-form-group textarea::placeholder {
  color: var(--text-dim);
  font-weight: 500;
}

.wiz-form-group input:focus,
.wiz-form-group textarea:focus {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

@keyframes scale-up {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@media (max-width: 1024px) {
  .contact-card-wrapper {
    grid-template-columns: 1fr;
  }
  .contact-details-side {
    border-right: none;
    border-bottom: 1px solid var(--glass-border);
    padding: 32px;
  }
  .contact-form-side {
    padding: 32px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width: 1025px) and (max-width: 1200px) {
  .nav-links {
    gap: 2px;
  }
  .nav-links a {
    padding: 6px 10px;
    font-size: 12.5px;
  }
  .nav-inner {
    gap: 16px;
  }
  .nav-actions {
    gap: 6px;
  }
}

@media (max-width:1024px) {
  .nav-links { display:none; }
  .nav-actions { display:none; }
  .hamburger { display:flex; }
  .hero-content   { gap:32px; }
  .hero-visual    { transform: scale(0.9); transform-origin: center right; }
  .features-grid  { grid-template-columns:repeat(2,1fr); }
  .stats-grid     { grid-template-columns:repeat(2,1fr); }
  .how-grid       { grid-template-columns:repeat(2,1fr); }
  .how-grid::before { display:none; }
  .footer-grid    { grid-template-columns:1fr 1fr; }
}
@media (max-width:960px) {
  .hero-content   { grid-template-columns:1fr; gap:50px; text-align: center; justify-items: center; }
  .hero-sub       { margin: 0 auto 36px; }
  .hero-actions   { justify-content: center; }
  .hero-proof     { justify-content: center; }
  .hero-visual    { display:block; width: 100%; max-width: 500px; height: 500px; margin: 0 auto; position: relative; transform: none; }
}
@media (max-width:768px) {
  section { padding:70px 0; }
  .hero-visual    { transform: scale(0.85); transform-origin: top center; height: 430px; }
  .who-grid       { grid-template-columns:1fr; }
  .features-grid  { grid-template-columns:1fr; }
  .testi-grid     { grid-template-columns:1fr; }
  .testi-grid-bottom { grid-template-columns:1fr; }
  .how-grid       { grid-template-columns:1fr; }
  .stats-grid     { grid-template-columns:1fr 1fr; }
  .demo-tabs      { flex-direction: row; width: fit-content; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; }
  .demo-tabs::-webkit-scrollbar { display: none; }
  .demo-tab       { flex-shrink: 0; }
  .report-sections{ grid-template-columns:1fr; }
  .footer-grid    { grid-template-columns:1fr; gap:32px; }
  .footer-brand p { max-width:100%; }
  .camp-stats     { flex-direction:column; }
}
@media (max-width:480px) {
  .hero-visual    { transform: scale(0.95); transform-origin: top center; height: 450px; }
  .stats-grid   { grid-template-columns:1fr; }
  .hero-actions { flex-direction:column; width:100%; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .cta-actions  { flex-direction:column; width:100%; }
  .cta-actions .btn { width:100%; justify-content:center; }
  
  /* Reposition and scale floating cards on mobile to avoid overlap */
  .float-card-1 { width: 210px; top: 15px; left: -10px; padding: 12px; }
  .float-card-2 { width: 195px; top: 120px; right: -25px; padding: 12px; }
  .float-card-3 { width: 185px; bottom: 15px; left: 15px; padding: 12px; }
  
  .float-card-1 .mini-title, .float-card-2 .mini-title { font-size: 11.5px; }
  .float-card-1 .mini-stat-num { font-size: 14px; }
  .float-card-2 .mini-badge { font-size: 8px; padding: 2px 6px; }
  .score-ring { width: 44px; height: 44px; }
  .score-ring svg { width: 44px; height: 44px; }
  .score-ring-txt { font-size: 11px; }
  .score-info-val { font-size: 16px; }
  .score-info-label { font-size: 9.5px; }
}
@media (max-width:380px) {
  .hero-visual { transform: scale(0.8); height: 380px; }
}

/* ── Dark Theme Contrast Overrides ── */
body.dark .wiz-field-label,
body.dark .lead-source-label,
body.dark .wiz-filters-sub,
body.dark .wiz-metric-lbl,
body.dark .contact-method-lbl,
body.dark .footer-col h4,
body.dark .footer-col a,
body.dark .footer-brand p,
body.dark .footer-bottom p {
  color: #ffffff;
}

body.dark .footer-col a:hover {
  color: var(--primary-light);
}

