/* ════════════════════════════════════════════════════════════════
   AgenticVani — Dental Clinic Software landing page
   Brand system faithful to agenticvani.com (orange + navy)
   ════════════════════════════════════════════════════════════════ */
:root{
  /* Brand */
  --emerald-50:#fff7f0; --emerald-100:#ffe8d6; --emerald-200:#ffd9b0;
  --emerald-500:#ff6a33; --emerald-600:#f5680a; --emerald-700:#dd5409; --emerald-800:#b83f04; --emerald-900:#8a3003;
  --amber-50:#fffbeb; --amber-400:#fbbf24; --amber-500:#f59e0b;
  --orange-50:#fff7f0; --orange-100:#ffe8d6; --orange-500:#ff6a33; --orange-600:#f5680a;
  --slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-200:#e2e8f0; --slate-300:#cbd5e1;
  --slate-400:#94a3b8; --slate-500:#64748b; --slate-600:#475569; --slate-700:#334155; --slate-800:#1e293b; --slate-900:#0f172a;
  --blue-50:#eff6ff; --blue-600:#2563eb; --blue-700:#1d4ed8;
  --rose-50:#fff1f2; --rose-500:#f43f5e; --rose-600:#e11d48;

  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 6px 18px -6px rgba(15,23,42,.12);
  --shadow-lg:0 28px 60px -20px rgba(15,23,42,.26), 0 12px 28px -12px rgba(15,23,42,.16);
  --shadow-emerald:0 18px 40px -16px rgba(245,104,10,.45);

  --maxw:1280px;
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:28px;

  --font-display:Poppins, sans-serif;
  --font-body:Poppins, sans-serif;
}

*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; }
body{
  margin:0; background:#fff; color:var(--slate-900);
  font-family:var(--font-body); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--font-display); letter-spacing:-0.02em; line-height:1.1; margin:0; color:var(--slate-900); }
p{ margin:0; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 16px; }
@media (min-width:640px){ .wrap{ padding:0 24px; } }
@media (min-width:1024px){ .wrap{ padding:0 32px; } }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ── Section rhythm ─────────────────────────────────────────── */
section{ padding:64px 0; position:relative; }
.section-tint{ background:var(--slate-50); }
.section-emerald{ background:linear-gradient(135deg, rgb(255, 179, 83) 0%, rgb(255, 106, 51) 100%); box-shadow:rgba(245, 104, 10, 0.22) 0px 20px 48px; color:#fff; font-family:Poppins, sans-serif; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; padding:6px 14px;
  background:var(--emerald-50); color:var(--emerald-700); border-radius:999px;
  font-size:13px; font-weight:700; border:1px solid var(--emerald-100);
  text-transform:uppercase; letter-spacing:.06em;
}
.eyebrow.amber{ background:var(--amber-50); color:#ff6a33; border-color:#fde68a; }
.eyebrow.dark{ background:rgba(255,255,255,.1); color:#ffd9b0; border-color:rgba(255,217,176,.25); }
.section-head{ max-width:720px; margin:0 0 36px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
h2.title{ font-size:clamp(28px,4vw,42px); margin:16px 0 14px; /* text-wrap:balance; */ font-weight:700; text-transform:capitalize; }
.section-head p.lede{ font-size:clamp(15px, 2.4vw, 19px); color:var(--slate-600); text-wrap:pretty; }
.section-emerald h2.title{ color:#fff; }
.section-emerald .lede{ color:rgba(226,232,240,.85); }

/* ── Buttons ────────────────────────────────────────────────── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-display); font-weight:700; font-size:16px; border-radius:999px;
  padding:14px 26px; cursor:pointer; border:1.5px solid transparent; white-space:nowrap;
  position:relative; overflow:hidden; isolation:isolate;
  transition:color .35s ease, border-color .35s ease, transform .2s ease, box-shadow .25s ease; }
/* Universal gradient-slide hover — orange gradient slides in from the left (matches the
   site-wide pill-button hover used by the header TRY FREE button). */
.btn::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(135deg,#FFB353 0%,#FF6A33 100%);
  transform:translateX(-101%); transition:transform .45s cubic-bezier(.65,0,.35,1); }
.btn:hover{ transform:translateY(-2px); color:#fff; }
.btn:hover::before{ transform:translateX(0); }
.btn-primary{ background:var(--orange-500); color:#fff; box-shadow:0 12px 26px -10px rgba(255,106,51,.6); }
.btn-emerald{ background:var(--emerald-700); color:#fff; box-shadow:var(--shadow-emerald); }
.btn-wa{ background:#ff6a33; color:#fff; box-shadow:0 12px 26px -10px #ffb353; }
.btn-ghost{ background:#fff; border-color:var(--slate-200); color:var(--slate-900); box-shadow:var(--shadow-sm); }
.btn-ghost:hover{ border-color:transparent; }
.btn-light{ background:#fff; color:#ff6a33; }
.btn-sm{ padding:10px 18px; font-size:14px; }
.btn-lg{ padding:17px 32px; font-size:17px; }

/* ── Header ─────────────────────────────────────────────────── */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--slate-100); }
.header-inner{ display:flex; align-items:center; gap:28px; height:68px; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand-logo{ width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--emerald-600),var(--emerald-500));
  display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:20px; box-shadow:var(--shadow-sm); }
.brand-name{ font-family:var(--font-display); font-weight:800; font-size:18px; line-height:1; }
.brand-tag{ font-size:11px; color:var(--slate-500); font-weight:600; }
.nav{ display:flex; gap:24px; margin-left:8px; }
.nav a{ font-size:15px; font-weight:600; color:var(--slate-600); }
.nav a:hover{ color:var(--emerald-700); }
.header-cta{ margin-left:auto; display:flex; align-items:center; gap:10px; }

/* ── Breadcrumb ─────────────────────────────────────────────── */
.crumbs{ font-size:13px; color:var(--slate-500); padding:18px 0 0; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.crumbs a:hover{ color:var(--emerald-700); }
.crumbs span[aria-current]{ color:var(--slate-700); font-weight:600; }

/* ── Hero ───────────────────────────────────────────────────── */
.hero{ padding:24px 0 40px; background:
  radial-gradient(900px 420px at 88% -8%, var(--emerald-50), transparent 60%),
  radial-gradient(700px 360px at -6% 8%, var(--orange-50), transparent 55%); }
.hero-grid{ display:grid; grid-template-columns:1.85fr 1.4fr; gap:32px; align-items:center; }
.hero h1{ font-size:clamp(34px,5vw,56px); font-weight:700; line-height:1.04; margin:18px 0 20px; text-wrap:balance; }
.hero h1 em{ font-style:normal; color:var(--emerald-700); position:relative; }
.hero h1 em:after{ content:""; position:absolute; left:0; right:0; bottom:4px; height:10px; background:var(--emerald-100); z-index:-1; border-radius:4px; }
.hero-sub{ font-size:clamp(16px, 2.6vw, 20px); color:var(--slate-600); max-width:560px; text-wrap:pretty; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 18px; }
.price-line{ display:flex; align-items:baseline; gap:10px; margin-bottom:8px; }
.price-now{ font-family:var(--font-display); font-weight:800; font-size:30px; color:var(--slate-900); }
.price-was{ color:var(--slate-400); text-decoration:line-through; font-size:18px; }
.price-meta{ font-size:14px; color:var(--slate-500); font-weight:600; }
.hero-trust{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:18px; font-size:14px; color:var(--slate-600); }
.stars{ color:var(--amber-500); letter-spacing:1px; }
.hero-trust b{ color:var(--slate-900); }
.dot-sep{ width:4px; height:4px; border-radius:50%; background:var(--slate-300); }

.hero-visual{ position:relative; }
.hero-visual .glow{ position:absolute; inset:-6% -4% -8% -4%; background:radial-gradient(closest-side,rgba(255,106,51,.18),transparent); filter:blur(8px); z-index:0; }
.device{ position:relative; z-index:1; background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg); padding:12px; }
.device-bar{ display:flex; align-items:center; gap:7px; padding:6px 8px 12px; }
.device-bar .d{ width:11px; height:11px; border-radius:50%; }
.device-bar .d.r{ background:#ff5f57; } .device-bar .d.y{ background:#febc2e; } .device-bar .d.g{ background:#28c840; }
.device-bar .fname{ margin-left:8px; font-size:12px; color:var(--slate-500); font-weight:600; }
.float-badge{ position:absolute; z-index:2; background:#fff; border:1px solid var(--slate-200); border-radius:14px;
  box-shadow:var(--shadow-md); padding:11px 15px; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; }
.float-badge .ic{ width:34px; height:34px; border-radius:10px; display:grid; place-items:center; flex-shrink:0; }
.fb-1{ top:-50px; left:-31px; } .fb-2{ bottom:-50px; right:-73px; }
.float-badge small{ display:block; color:var(--slate-500); font-weight:500; font-size:11px; }
/* Hero dashboard card (replaces the screenshot device) */
.hero-card{ background:#fff; border:1px solid var(--slate-200); border-radius:24px; box-shadow:var(--shadow-lg); padding:18px; }
.kpi{ background:#fff; border:1px solid var(--slate-200); border-radius:14px; padding:14px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.kpi:before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent,#ff6a33); }
.kpi[data-accent="amber"]{ --accent:#f59e0b; }
.kpi-label{ font-size:11.5px; color:var(--slate-500); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.kpi-value{ font-family:var(--font-display); font-weight:800; font-size:28px; color:var(--slate-900); margin-top:4px; letter-spacing:-0.01em; }
.kpi-delta{ font-size:11.5px; font-weight:600; margin-top:3px; display:inline-flex; align-items:center; gap:3px; }
.kpi-delta.up{ color:var(--emerald-700); }
.pill{ display:inline-block; padding:2px 9px; border-radius:999px; font-size:11.5px; font-weight:600; line-height:1.4; }
.pill-confirmed{ background:#dcfce7; color:#15803d; }
.pill-pending{ background:#fef3c7; color:#a16207; }

/* ── Trust strip ────────────────────────────────────────────── */
.trust-strip{ border-top:1px solid var(--slate-100); border-bottom:1px solid var(--slate-100); background:#fff; padding:0; }
.trust-row{ display:grid; grid-template-columns:repeat(4,1fr); }
.trust-cell{ padding:26px 22px; display:flex; align-items:center; gap:14px; border-right:1px solid var(--slate-100); }
.trust-cell:last-child{ border-right:0; }
.trust-cell .tc-ic{ width:44px; height:44px; border-radius:12px; background:var(--emerald-50); color:var(--emerald-700);
  display:grid; place-items:center; flex-shrink:0; border:1px solid var(--emerald-100); }
.trust-cell b{ font-family:var(--font-display); font-size:19px; display:block; line-height:1.1; }
.trust-cell span{ font-size:13px; color:var(--slate-500); }

/* ── Problem / pain cards ───────────────────────────────────── */
.pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pain-card{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:28px; box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.pain-card .pc-ic{ width:48px; height:48px; border-radius:13px; background:var(--rose-50); color:#ff6a33; display:grid; place-items:center; margin-bottom:16px;
  transition:background .25s ease, color .25s ease; }
.pain-card h3{ font-size:18px; font-weight:600; margin-bottom:8px; transition:color .25s ease; }
.pain-card p{ color:var(--slate-600); font-size:15px; transition:color .25s ease; }
.pain-card:hover{ transform:translateY(-4px); background:#ff6a33; border-color:#ff6a33; box-shadow:var(--shadow-md); }
.pain-card:hover .pc-ic{ background:#fff; color:#ff6a33; }
.pain-card:hover h3{ color:#fff; }
.pain-card:hover p{ color:rgba(255,255,255,.92); }
.pain-card.fix .pc-ic{ background:var(--emerald-50); color:var(--emerald-700); }

/* ── Feature grid ───────────────────────────────────────────── */
.feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:26px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.feature-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--emerald-100); }
.feature-card .f-ic{ width:50px; height:50px; border-radius:13px; background:linear-gradient(135deg,var(--emerald-50),#fff);
  border:1px solid var(--emerald-100); color:var(--emerald-700); display:grid; place-items:center; margin-bottom:16px; }
.feature-card h3{ font-size:19px; margin-bottom:8px; }
.feature-card p{ color:var(--slate-600); font-size:15px; }
.feature-card .kw{ color:var(--emerald-700); font-weight:600; }

/* ── Product tour (alternating) ─────────────────────────────── */
.tour{ display:flex; flex-direction:column; gap:64px; }
.tour-row{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.tour-row.flip .tour-text{ order:2; }
.tour-text .num{ font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--emerald-600); letter-spacing:.1em; }
.tour-text h3{ font-size:26px; margin:10px 0 12px; }
.tour-text p{ color:var(--slate-600); }
.tour-list{ list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px; }
.tour-list li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--slate-700); }
.tour-list li svg{ flex-shrink:0; margin-top:3px; color:var(--emerald-600); }
.shot{ border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--slate-200); box-shadow:var(--shadow-lg); background:var(--slate-50); }
/* ── Laptop device frame for product screenshots ────────────── */
/* Namespaced (lap-*) so the generic names don't collide with .panel etc. */
.laptop{ width:100%; }
/* Screen: dark bezel holding the screenshot, with a browser top bar */
.laptop .lap-screen{ position:relative; width:88%; margin:0 auto; background:#0e0f13; border:1px solid #2a2c33;
  border-radius:16px 16px 4px 4px; padding:11px 11px 14px; box-shadow:0 22px 42px rgba(0,0,0,.22); }
.laptop .lap-screen::after{ content:""; position:absolute; top:5px; left:50%; transform:translateX(-50%);
  width:5px; height:5px; border-radius:50%; background:#34373f; }                 /* webcam */
.laptop .lap-panel{ border:0; padding:0; border-radius:4px; overflow:hidden; background:#fff; box-shadow:none; }
.laptop .lap-bar{ display:flex; align-items:center; gap:7px; height:30px; padding:0 12px; background:linear-gradient(#fcfcfe,#edeff2); border-bottom:1px solid var(--slate-200); }
.laptop .lap-bar i{ width:9px; height:9px; border-radius:50%; display:block; flex-shrink:0; }
.laptop .lap-bar .r{ background:#ff5f57; } .laptop .lap-bar .y{ background:#febc2e; } .laptop .lap-bar .g{ background:#28c840; }
.laptop .lap-bar .addr{ margin:0 auto; max-width:62%; height:20px; line-height:20px; padding:0 12px; background:#fff;
  border:1px solid var(--slate-200); border-radius:999px; font-size:11px; color:var(--slate-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.laptop .lap-screen img{ display:block; width:100%; height:auto; }
/* Base: the keyboard deck, a touch wider than the screen, with a hinge + notch */
.laptop .lap-deck{ position:relative; width:100%; height:16px; background:linear-gradient(180deg,#eceef2 0%,#cdd1d8 46%,#abafb9 100%);
  border-radius:3px 3px 12px 12px; box-shadow:inset 0 2px 2px rgba(255,255,255,.65), 0 13px 22px rgba(0,0,0,.13); }
.laptop .lap-deck::before{ content:""; position:absolute; top:0; left:0; right:0; height:2px; background:rgba(0,0,0,.10); }
.laptop .lap-deck::after{ content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:15%; height:7px; background:#a4a8b2; border-radius:0 0 8px 8px; }              /* trackpad notch */
@media (max-width:560px){ .laptop .lap-screen{ width:94%; padding:7px 7px 9px; } .laptop .lap-bar{ height:26px; } .laptop .lap-bar .addr{ display:none; } .laptop .lap-deck{ height:12px; } }
/* Click-to-zoom: screenshot thumbnail + CSS-only checkbox lightbox (no URL hash) */
.lap-zoom{ display:block; cursor:zoom-in; }
.lb-cb{ position:absolute; width:0; height:0; opacity:0; pointer-events:none; }
.lightbox{ position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center;
  padding:4vmin; background:rgba(8,10,14,.86); cursor:zoom-out; }
.lb-cb:checked + .lightbox{ display:flex; }
.lightbox img{ max-width:96vw; max-height:92vh; width:auto; height:auto; border-radius:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.55); }
.lightbox .lb-x{ position:absolute; top:18px; right:24px; font-size:40px; line-height:1; color:#fff; opacity:.85; font-family:var(--font-display,sans-serif); }
.lightbox .lb-x:hover{ opacity:1; }
/* ── Steps ──────────────────────────────────────────────────── */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; counter-reset:s; }
.step{ position:relative; background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:30px 26px; }
.step .sn{ width:46px; height:46px; border-radius:13px; background:var(--emerald-700); color:#fff; display:grid; place-items:center;
  font-family:var(--font-display); font-weight:800; font-size:20px; margin-bottom:16px; box-shadow:var(--shadow-emerald); }
.step h3{ font-size:20px; margin-bottom:8px; }
.step p{ color:var(--slate-600); font-size:15px; }

/* ── Comparison table ───────────────────────────────────────── */
.cmp{ overflow-x:auto; border-radius:var(--r-lg); border:1px solid var(--slate-200); box-shadow:var(--shadow-md); background:#fff; }
table.compare{ width:100%; border-collapse:collapse; min-width:680px; }
table.compare th, table.compare td{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--slate-100); font-size:15px; }
table.compare thead th{ font-family:var(--font-display); font-size:15px; background:var(--slate-50); position:sticky; top:0; }
table.compare thead th.us{ background:var(--emerald-700); color:#fff; border-top-right-radius:0; }
table.compare tbody td:first-child, table.compare td:first-child{ font-weight:600; color:var(--slate-800); }
table.compare td.us{ background:var(--emerald-50); font-weight:600; color:var(--emerald-800); }
table.compare tr:last-child td{ border-bottom:0; }
.yes{ color:var(--emerald-600); font-weight:700; }
.no{ color:var(--slate-400); }
.cmp-note{ font-size:13px; color:var(--slate-500); margin-top:12px; }

/* ── Pricing ────────────────────────────────────────────────── */
.price-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; }
.price-card{ background:#fff; border:2px solid var(--emerald-600); border-radius:var(--r-xl); padding:36px; position:relative; box-shadow:var(--shadow-lg); }
.price-card .ribbon{ position:absolute; top:-13px; left:36px; background:var(--orange-500); color:#fff; font-family:var(--font-display);
  font-weight:700; font-size:12px; padding:6px 14px; border-radius:999px; letter-spacing:.04em; text-transform:uppercase; box-shadow:var(--shadow-sm); }
.price-card .big{ font-family:var(--font-display); font-weight:800; font-size:54px; line-height:1; color:var(--slate-900); }
.price-card .big small{ font-size:20px; color:var(--slate-500); font-weight:600; }
.price-card .sub{ color:var(--slate-600); margin:6px 0 22px; }
.incl{ list-style:none; padding:0; margin:0 0 26px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.incl li{ display:flex; gap:9px; align-items:flex-start; font-size:15px; }
.incl li svg{ flex-shrink:0; margin-top:3px; color:var(--emerald-600); }
.savings-card{ background:linear-gradient(165deg,#ffb353,#ff6a33); color:#fff; border-radius:var(--r-xl); padding:36px; display:flex; flex-direction:column; justify-content:center; }
.savings-card h3{ color:#fff; font-size:18px; margin-bottom:8px; margin-top:15px; }
.savings-card .save-num{ font-family:var(--font-display); font-weight:800; font-size:46px; color:#ffc089; line-height:1; margin:10px 0; }
.savings-card p{ color:rgba(226,232,240,.85); font-size:15px; }
.savings-card .rows{ margin-top:20px; border-top:1px solid rgba(255,255,255,.14); padding-top:18px; display:flex; flex-direction:column; gap:11px; }
.savings-card .rows div{ display:flex; justify-content:space-between; font-size:14px; color:rgba(226,232,240,.9); }
.savings-card .rows b{ color:#fff; }

/* ── Who it's for / included two-up ─────────────────────────── */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.panel{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:30px; box-shadow:var(--shadow-sm); }
.panel h3{ font-size:20px; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.panel ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.panel ul li{ display:flex; gap:10px; align-items:flex-start; color:var(--slate-700); font-size:15px; }
.panel ul li svg{ flex-shrink:0; margin-top:3px; color:var(--emerald-600); }

/* ── Compliance ─────────────────────────────────────────────── */
.comp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.comp-card{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:28px; box-shadow:var(--shadow-sm); }
.comp-card .badge-ic{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center; margin-bottom:16px; }
.comp-card h3{ font-size:20px; margin-bottom:8px; }
.comp-card p{ color:var(--slate-600); font-size:15px; }

/* ── Testimonials ───────────────────────────────────────────── */
.tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tst{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:28px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.tst .qmark{ color:var(--emerald-200); font-family:Georgia,serif; font-size:54px; line-height:.6; height:24px; }
.tst blockquote{ margin:0 0 20px; font-size:16px; color:var(--slate-700); }
.tst .who{ display:flex; align-items:center; gap:13px; margin-top:auto; }
.tst .ava{ width:46px; height:46px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid var(--emerald-100); display:grid; place-items:center; background:linear-gradient(135deg,var(--emerald-600),var(--emerald-500)); color:#fff; font-weight:700; font-size:15px; letter-spacing:.5px; }
.tst .who b{ font-size:15px; display:block; }
.tst .who span{ font-size:13px; color:var(--slate-500); }
.tst .tstars{ color:var(--amber-500); font-size:14px; margin-bottom:12px; letter-spacing:1px; }

/* ── FAQ ────────────────────────────────────────────────────── */
.faq-list{ max-width:1040px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
.faq{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-md); overflow:hidden; }
.faq summary{ list-style:none; cursor:pointer; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--slate-900); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .chev{ flex-shrink:0; transition:transform .2s; color:var(--emerald-600); }
.faq[open] summary .chev{ transform:rotate(180deg); }
.faq .faq-body{ padding:0 24px 22px; color:var(--slate-600); font-size:15.5px; }
.faq .faq-body a{ color:var(--emerald-700); font-weight:600; text-decoration:underline; text-underline-offset:2px; }

/* ── Hinglish block ─────────────────────────────────────────── */
.hinglish{ background:linear-gradient(135deg,var(--amber-50),#fff); border:1px solid #fde68a; border-radius:var(--r-xl); padding:36px 40px; }
.hinglish .eyebrow{ background:#fff; border-color:#fde68a; color:#b45309; }
.hinglish h3{ font-size:24px; margin:16px 0 12px; }
.hinglish p{ color:var(--slate-700); font-size:17px; max-width:760px; text-wrap:pretty; }

/* ── Related links ──────────────────────────────────────────── */
.rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rel-card{ background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-md); padding:22px 24px; transition:border-color .2s, transform .2s; }
.rel-card:hover{ border-color:var(--emerald-200); transform:translateY(-3px); }
.rel-card .rk{ font-size:12px; font-weight:700; color:var(--emerald-600); text-transform:uppercase; letter-spacing:.06em; }
.rel-card h3{ font-size:17px; margin:8px 0 6px; }
.rel-card p{ font-size:14px; color:var(--slate-500); }
.rel-card .arrow{ color:var(--emerald-600); font-weight:700; margin-top:12px; display:inline-block; font-size:14px; }

/* ── Final CTA ──────────────────────────────────────────────── */
.final-cta{ text-align:center; }
.final-cta h2{ color:#fff; font-size:clamp(30px,4.4vw,46px); margin:16px 0px; text-wrap:balance; font-weight:500; }
.final-cta p{ color:rgba(226,232,240,.85); font-size:19px; max-width:600px; margin:0 auto 30px; }
.final-cta .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer{ background:var(--slate-900); color:var(--slate-300); padding:64px 0 36px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
.site-footer h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
.site-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.site-footer ul a{ font-size:14px; color:var(--slate-400); }
.site-footer ul a:hover{ color:#fff; }
.foot-brand p{ font-size:14px; color:var(--slate-400); max-width:300px; margin:14px 0; }
.foot-brand .pill{ display:inline-block; font-size:12px; color:var(--emerald-200); background:rgba(255,106,51,.12); border:1px solid rgba(255,106,51,.25); padding:5px 12px; border-radius:999px; font-weight:600; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.08); margin-top:44px; padding-top:24px; font-size:13px; color:var(--slate-500); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ── Sticky mobile buy bar ──────────────────────────────────── */
.buy-bar{ position:fixed; left:0; right:0; bottom:0; z-index:45; background:#fff; border-top:1px solid var(--slate-200);
  box-shadow:0 -8px 24px -12px rgba(15,23,42,.2); padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  display:none; align-items:center; gap:12px; }
.buy-bar .bb-price b{ font-family:var(--font-display); font-size:20px; }
.buy-bar .bb-price span{ display:block; font-size:11px; color:var(--slate-500); }
.buy-bar .btn{ margin-left:auto; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; gap:40px; }
  .hero-visual{ max-width:520px; }
  .trust-row{ grid-template-columns:repeat(2,1fr); }
  .trust-cell:nth-child(2){ border-right:0; }
  .trust-cell:nth-child(1),.trust-cell:nth-child(2){ border-bottom:1px solid var(--slate-100); }
  .pain-grid,.feature-grid,.steps,.tst-grid,.rel-grid{ grid-template-columns:1fr 1fr; }
  .tour-row,.tour-row.flip .tour-text{ grid-template-columns:1fr; order:0; }
  .price-grid,.duo,.comp-grid{ grid-template-columns:1fr; }
  .nav{ display:none; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  body{ font-size:16px; }
  section{ padding:44px 0; }
  .pain-grid,.feature-grid,.steps,.tst-grid,.rel-grid,.incl,.faq-list{ grid-template-columns:1fr; }
  .trust-row{ grid-template-columns:1fr 1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .header-cta .btn-ghost{ display:none; }
  .buy-bar{ display:flex; }
  body{ padding-bottom:76px; }
  .hinglish{ padding:28px 22px; }
  .price-card,.savings-card,.panel,.comp-card{ padding:26px 22px; }
}
