/* ============================================================
   AdaptLeads — shared site design system
   Ported verbatim from the homepage (index.html) so every page
   matches pixel-for-pixel, plus content/legal/support components.
   Font: Figtree (single type system). Brand accent: #ff5a35.
   ============================================================ */
:root{
  --bg:#f4f1ea; --cream:#faf8f2; --panel:#fff; --ink:#111310; --ink2:#42443b; --muted:#7a796e;
  --line:#ebe7dd; --line2:#ded9cc; --accent:#ff5a35; --accent2:#ff8154; --accent-ink:#c8380f; --accent-line:#ffd4c6;
  --wash:#fff2ee; --ok:#0f8a54; --ok-wash:#e8f5ed; --blue:#3d6ff0; --blue-wash:#eef2fe;
  --amber:#e0a030; --amber-wash:#fdf3e2;
  --r-lg:30px; --r-md:20px; --r-sm:13px;
  --sh-sm:0 1px 2px rgba(17,19,16,.05), 0 4px 12px -6px rgba(17,19,16,.1);
  --sh-md:0 2px 6px rgba(17,19,16,.05), 0 26px 60px -24px rgba(17,19,16,.24);
  --sh-lg:0 4px 10px rgba(17,19,16,.06), 0 50px 100px -30px rgba(17,19,16,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Figtree',system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
.wrap-n{max-width:920px;margin:0 auto;padding:0 26px}
.mono{font-family:'Figtree',system-ui,sans-serif;font-variant-numeric:tabular-nums}
h1,h2,h3{letter-spacing:-.04em;font-weight:900;margin:0;line-height:1.03}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:700;font-size:15px;padding:14px 24px;border-radius:14px;border:1.5px solid transparent;cursor:pointer;transition:transform .16s cubic-bezier(.2,.9,.3,1.2),box-shadow .16s,background .16s,border-color .16s;white-space:nowrap}
.btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.1;fill:none}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 22px -8px rgba(255,90,53,.7)}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(255,90,53,.8)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{transform:translateY(-2px)}
.btn-line{border-color:var(--line2);color:var(--ink);background:var(--panel)}.btn-line:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn-lg{font-size:16px;padding:16px 30px}
.eye{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.eye .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--wash)}
.center{text-align:center}

/* ===== NAV ===== */
nav{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.78);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(17,19,16,.06)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:21px;letter-spacing:-.04em}
.brand b{color:var(--accent)}
.logo-m{width:30px;height:30px;border-radius:9px;background:var(--ink);position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.logo-m i{position:absolute;width:11px;height:11px;background:var(--accent);border-radius:2.5px;transform:rotate(45deg)}
.logo-m::after{content:"";position:absolute;width:5px;height:5px;background:var(--accent2);border-radius:50%;right:6px;top:6px;opacity:.9}
.nav-links{display:flex;gap:30px;font-size:14.5px;font-weight:600;color:var(--ink2)}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-r{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none}
.burger{display:none;width:42px;height:42px;border-radius:11px;border:1.5px solid var(--line2);background:var(--panel);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.burger span{display:block;width:17px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.m-only{display:none}
@media(max-width:900px){
  .nav-r .btn-line,.nav-r .btn-accent{display:none}
  .burger{display:inline-flex}
  .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--line2);padding:10px 26px 20px;box-shadow:var(--sh-md);display:none}
  .nav-links a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:16px}
  .nav-links a.m-only{display:block;font-weight:700}
  .nav-links a.m-signin{color:var(--ink)}
  .nav-links a.m-cta{margin-top:12px;background:var(--accent);color:#fff;text-align:center;border-radius:12px;border:0;padding:14px 0}
  .nav-toggle:checked ~ .wrap .nav-links{display:flex}
}

/* ===== SHARED SECTIONS ===== */
section{padding:88px 0}
.sec-h{text-align:center;max-width:680px;margin:0 auto 52px}
.sec-h h2{font-size:46px}
.sec-h p{color:var(--ink2);font-size:18px;margin:16px 0 0;line-height:1.5}
.chip-badge{display:inline-flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line2);border-radius:99px;padding:7px 15px;font-size:12.5px;font-weight:700;margin-bottom:22px;box-shadow:var(--sh-sm)}
.chip-badge .d{width:7px;height:7px;border-radius:2px;background:var(--accent);transform:rotate(45deg)}
.glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(10px)}
.uword{position:relative;color:var(--accent);white-space:nowrap}
.uword svg{position:absolute;left:0;right:0;bottom:-12px;width:100%;height:16px;stroke:var(--accent2);stroke-width:5;fill:none;stroke-linecap:round}
/* filter chips (mock/illustrative) — visible by default on inner pages (no scroll-reveal) */
.m-chip{display:inline-flex;font-size:11px;font-weight:600;padding:5px 10px;border:1px solid var(--line2);border-radius:8px;background:#fff;margin:0 5px 6px 0}
.m-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ===== INNER-PAGE HERO ===== */
.phero{position:relative;overflow:hidden;padding:66px 0 30px}
.phero .g1{position:absolute;width:640px;height:640px;left:58%;top:-52%;background:radial-gradient(closest-side,rgba(255,90,53,.18),transparent 70%);pointer-events:none;border-radius:50%}
.phero .wrap{position:relative;z-index:2}
.phero.center .wrap{max-width:820px;margin:0 auto;text-align:center}
.phero h1{font-size:56px;font-weight:900}
.phero .lede{font-size:19px;color:var(--ink2);max-width:620px;margin:22px 0 0;line-height:1.5}
.phero.center .lede{margin:22px auto 0}
.phero .cta-row{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.phero.center .cta-row{justify-content:center}
.crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:20px;flex-wrap:wrap}
.crumb a:hover{color:var(--accent)}
.crumb .sp{opacity:.6}

/* ===== FEATURE ROWS (from home) ===== */
.feat{display:grid;grid-template-columns:1fr 1.12fr;gap:56px;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:52px;margin-bottom:26px;position:relative;overflow:hidden}
.feat.rev{grid-template-columns:1.12fr 1fr}
.feat.rev .feat-copy{order:2}
.feat.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.feat.dark h3,.feat.dark .feat-copy p{color:#fff}.feat.dark .fl li{color:#cecec3}
.feat h3{font-size:33px;margin-bottom:15px}
.feat-copy p{color:var(--ink2);font-size:16.5px;line-height:1.55}
.fl{list-style:none;padding:0;margin:22px 0 28px}
.fl li{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px;font-size:15px;color:var(--ink2)}
.fl svg{width:20px;height:20px;stroke:var(--ok);stroke-width:2.5;fill:none;flex-shrink:0;margin-top:1px}
.feat.dark .fl svg{stroke:#4fd39a}
.viz{border-radius:var(--r-md);padding:26px;min-height:300px;position:relative;overflow:hidden;box-shadow:var(--sh-md);background:linear-gradient(160deg,#fff6f2,#ffe9e1)}
.viz .sh{position:absolute;border-radius:40px;filter:blur(2px);z-index:1}
.v-card{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:13px;box-shadow:var(--sh-sm);margin-bottom:9px}
.v-card b{font-weight:700}
@media(max-width:860px){.feat,.feat.rev{grid-template-columns:1fr;gap:32px;padding:32px}.feat.rev .feat-copy{order:0}}

/* ===== STATS ===== */
.statband{background:var(--ink);border-radius:var(--r-lg);padding:54px;position:relative;overflow:hidden}
.statband::before{content:"";position:absolute;right:-90px;bottom:-90px;width:360px;height:360px;background:radial-gradient(closest-side,rgba(255,90,53,.3),transparent 70%)}
.statband .sh2{text-align:center;color:#fff;margin-bottom:40px;position:relative}
.statband .sh2 h2{font-size:38px;color:#fff}.statband .sh2 p{color:#b7b6ab;margin-top:12px;font-size:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;position:relative;background:rgba(255,255,255,.08);border-radius:18px;overflow:hidden}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{padding:28px 24px;background:rgba(255,255,255,.02)}
.stat .sn{font-size:52px;font-weight:900;letter-spacing:-.05em;color:#fff;line-height:1}
.stat.acc .sn{background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat .sl{font-size:13px;color:#a9a89e;margin-top:10px;font-weight:600}

/* ===== TILES ===== */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;overflow:hidden;border-radius:var(--r-md);padding:30px;min-height:224px;border:1px solid transparent;transition:transform .18s}
.tile:hover{transform:translateY(-4px)}
.tile h3{font-size:20px;margin-bottom:9px;position:relative;z-index:2}
.tile p{font-size:14px;position:relative;z-index:2;margin:0;line-height:1.5}
.tile .ti{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin-bottom:17px;position:relative;z-index:2;box-shadow:0 8px 18px -8px rgba(0,0,0,.35)}
.tile .ti svg{width:22px;height:22px;stroke-width:1.9;fill:none}
.tile .sh{position:absolute;z-index:1;pointer-events:none;filter:blur(1px)}
.tile .s1{width:170px;height:170px;right:-48px;bottom:-54px;border-radius:52px;transform:rotate(20deg)}
.tile .s2{width:80px;height:80px;right:38px;top:-30px;border-radius:24px;transform:rotate(-14deg)}
.tile .s3{width:36px;height:36px;left:28px;bottom:26px;border-radius:12px;transform:rotate(26deg)}
.t-orange{background:linear-gradient(160deg,#fff6f2,#ffe9e1);border-color:#ffddd2;color:var(--accent-ink)}.t-orange p{color:#a1503a}.t-orange .ti{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.t-orange .s1{background:#ffd7c9;opacity:.7}.t-orange .s2{background:#ffc7b4;opacity:.6}.t-orange .s3{background:#ffbaa2;opacity:.6}
.t-green{background:linear-gradient(160deg,#f2fbf6,#e3f4ea);border-color:#cfeadd;color:#0b6b41}.t-green p{color:#3a7659}.t-green .ti{background:linear-gradient(135deg,var(--ok),#2fb377);color:#fff}.t-green .s1{background:#c2e5d1;opacity:.7}.t-green .s2{background:#b0ddc4;opacity:.6}.t-green .s3{background:#9fd4b7;opacity:.6}
.t-blue{background:linear-gradient(160deg,#f3f6ff,#e6ecfe);border-color:#d6e0fb;color:#274fb8}.t-blue p{color:#465f95}.t-blue .ti{background:linear-gradient(135deg,var(--blue),#6a8ff5);color:#fff}.t-blue .s1{background:#cddbfb;opacity:.7}.t-blue .s2{background:#bacdf8;opacity:.6}.t-blue .s3{background:#a8bff4;opacity:.6}
.t-amber{background:linear-gradient(160deg,#fef8ec,#fbeecf);border-color:#eeddb3;color:#8a6410}.t-amber p{color:#7c6122}.t-amber .ti{background:linear-gradient(135deg,var(--amber),#efc05a);color:#fff}.t-amber .s1{background:#eedcac;opacity:.7}.t-amber .s2{background:#e7d197;opacity:.6}.t-amber .s3{background:#e0c684;opacity:.6}
.t-ink{background:linear-gradient(160deg,#1c1e19,#111310);border-color:#26281f;color:#fff}.t-ink p{color:#adaca1}.t-ink .ti{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.t-ink .s1{background:rgba(255,255,255,.05)}.t-ink .s2{background:rgba(255,90,53,.14)}.t-ink .s3{background:rgba(255,255,255,.05)}

/* ===== STEPS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);padding:26px;position:relative;box-shadow:var(--sh-sm)}
.step .num{counter-increment:s;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:900;font-size:16px;display:grid;place-items:center;margin-bottom:17px;box-shadow:0 8px 18px -8px rgba(255,90,53,.6)}
.step .num::before{content:"0" counter(s)}
.step h3{font-size:17px;margin-bottom:7px}
.step p{font-size:13.5px;color:var(--ink2);margin:0;line-height:1.5}

/* ===== DARK BAND ===== */
.band{background:var(--ink);color:#fff;border-radius:var(--r-lg);overflow:hidden;position:relative}
.band::before{content:"";position:absolute;right:-70px;top:-80px;width:380px;height:380px;background:radial-gradient(closest-side,rgba(255,90,53,.34),transparent 70%)}
.band .wrap2{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:56px}
.band .tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffb09a;margin-bottom:18px}
.band .tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.band h2{font-size:38px;color:#fff}
.band p{color:#c4c3b8;font-size:16.5px;margin:18px 0 0;line-height:1.55}
.band .flow{display:flex;flex-direction:column;gap:14px}
.fnode{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 18px}
.fnode .ic{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;flex-shrink:0}
.fnode .ic svg{width:19px;height:19px;stroke:#fff;stroke-width:2.1;fill:none}
.fnode b{font-size:14.5px}.fnode span{display:block;font-size:12px;color:#a5a49a;margin-top:1px}
@media(max-width:860px){.band .wrap2{grid-template-columns:1fr;padding:36px}}

/* ===== PRICING ===== */
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1000px;margin:0 auto}
@media(max-width:820px){.prices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.prices{grid-template-columns:1fr}}
.pk{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);padding:26px;transition:transform .16s}
.pk:hover{transform:translateY(-3px)}
.pk.feat2{border:1.5px solid var(--accent);box-shadow:0 18px 40px -18px rgba(255,90,53,.5);position:relative}
.pk.feat2::after{content:"Most popular";position:absolute;top:-12px;left:26px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:11px;font-weight:800;padding:4px 12px;border-radius:99px}
.pk .pt{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pk .pp{font-size:40px;font-weight:900;letter-spacing:-.04em;margin:8px 0 2px}
.pk .pp .u{font-size:14px;font-weight:600;color:var(--muted)}
.pk .pc{font-size:13.5px;color:var(--ink2);font-weight:600}.pk .per{font-size:12px;color:var(--muted);margin-top:2px}
.pk .btn{width:100%;margin-top:20px}
.pk ul{list-style:none;padding:0;margin:18px 0 0}
.pk ul li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink2);margin-bottom:9px}
.pk ul svg{width:17px;height:17px;stroke:var(--ok);stroke-width:2.6;fill:none;flex-shrink:0;margin-top:1px}
.pnote{text-align:center;color:var(--muted);font-size:13.5px;margin-top:26px}

/* ===== FAQ ===== */
.faq{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:11px}
.fq{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel);overflow:hidden}
.fq summary{padding:19px 22px;font-weight:700;font-size:15.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";color:var(--accent);font-weight:400;font-size:22px}
.fq[open] summary::after{content:"–"}
.fq p{padding:0 22px 20px;margin:0;color:var(--ink2);font-size:14.5px;line-height:1.65}
.fq p+p{padding-top:0}

/* ===== FINAL CTA ===== */
.final{background:linear-gradient(135deg,var(--accent),#ff7d52);border-radius:var(--r-lg);text-align:center;padding:70px 26px;color:#fff;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;left:-70px;bottom:-70px;width:300px;height:300px;background:rgba(255,255,255,.11);border-radius:82px;transform:rotate(20deg)}
.final::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;background:rgba(255,255,255,.09);border-radius:60px;transform:rotate(-16deg)}
.final h2{font-size:44px;position:relative}
.final p{font-size:17.5px;opacity:.95;margin:16px 0 28px;position:relative}
.final .btn{position:relative}

/* ===== FOOTER ===== */
footer{padding:70px 0 38px}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:38px;border-bottom:1px solid var(--line)}
@media(max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}
.fcol h4{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 15px}
.fcol a{display:block;color:var(--ink2);font-size:14px;margin-bottom:11px}.fcol a:hover{color:var(--accent)}
.fcol p{color:var(--muted);font-size:13.5px;margin:14px 0 0;max-width:270px;line-height:1.6}
.fbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;color:var(--muted);font-size:13px}
.fbot a:hover{color:var(--accent)}

/* ============================================================
   CONTENT-PAGE COMPONENTS (platform/data/support/contact/legal)
   ============================================================ */

/* Prose — articles, legal, long-form */
.prose{max-width:760px;color:var(--ink2);font-size:16.5px;line-height:1.7}
.prose.wide{max-width:100%}
.prose h2{font-size:30px;color:var(--ink);margin:44px 0 16px;letter-spacing:-.03em}
.prose h3{font-size:21px;color:var(--ink);margin:32px 0 12px;letter-spacing:-.02em}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}
.prose li{margin-bottom:9px}
.prose a{color:var(--accent-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--accent-line)}
.prose a:hover{text-decoration-color:var(--accent)}
.prose strong{color:var(--ink);font-weight:700}
.prose blockquote{margin:0 0 20px;padding:4px 20px;border-left:3px solid var(--accent);color:var(--ink2);font-style:italic}
.prose code{font-family:'Figtree',system-ui,sans-serif;font-variant-numeric:tabular-nums;font-size:13.5px;background:var(--cream);border:1px solid var(--line2);border-radius:6px;padding:2px 6px}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.prose .lead{font-size:19px;color:var(--ink);line-height:1.55;margin-bottom:26px}
.prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:14.5px}
.prose th,.prose td{border:1px solid var(--line2);padding:11px 14px;text-align:left;vertical-align:top}
.prose th{background:var(--cream);font-weight:700;color:var(--ink)}

/* Two-column doc layout with sticky ToC */
.doc{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:start}
@media(max-width:860px){.doc{grid-template-columns:1fr;gap:26px}}
.toc{position:sticky;top:92px;font-size:13.5px}
.toc h5{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.toc a{display:block;color:var(--ink2);padding:6px 0;line-height:1.4;border-left:2px solid var(--line2);padding-left:14px;margin-left:-2px}
.toc a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:860px){.toc{display:none}}

/* Callout / note boxes */
.note{border:1px solid var(--line2);background:var(--panel);border-radius:var(--r-sm);padding:18px 20px;margin:0 0 22px;font-size:15px;color:var(--ink2);line-height:1.6;display:flex;gap:13px}
.note.accent{background:var(--wash);border-color:var(--accent-line)}
.note.warn{background:var(--amber-wash);border-color:#eeddb3}
.note.ok{background:var(--ok-wash);border-color:#cfeadd}
.note .ni{flex-shrink:0;width:22px;height:22px}
.note .ni svg{width:22px;height:22px;stroke-width:2.2;fill:none}
.note b{color:var(--ink)}

/* Comparison table */
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm)}
.cmp th,.cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{background:var(--cream);font-size:13px;font-weight:800;letter-spacing:-.01em}
.cmp thead th.us{color:var(--accent-ink);background:var(--wash)}
.cmp tbody td.us{background:#fffaf8;font-weight:600;color:var(--ink)}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp td:first-child{font-weight:700;color:var(--ink)}
.cmp .yes{color:var(--ok);font-weight:800}
.cmp .no{color:var(--muted)}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){.cmp th,.cmp td{padding:12px 12px;font-size:13px}}

/* Generic card grid (features, support categories, use-cases) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cards,.cards.two{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);padding:26px;box-shadow:var(--sh-sm);transition:transform .16s,box-shadow .16s;display:block}
a.card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--accent-line)}
.card .ci{width:42px;height:42px;border-radius:12px;background:var(--wash);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:16px}
.card .ci svg{width:21px;height:21px;stroke-width:2;fill:none}
.card h3{font-size:18px;margin-bottom:8px}
.card p{color:var(--ink2);font-size:14px;line-height:1.55;margin:0}
.card .lk{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink);font-weight:700;font-size:13.5px;margin-top:14px}
.card .lk svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none}

/* Support article list */
.artlist{list-style:none;padding:0;margin:0;border:1px solid var(--line2);border-radius:var(--r-md);overflow:hidden;background:var(--panel)}
.artlist li{border-bottom:1px solid var(--line)}
.artlist li:last-child{border-bottom:0}
.artlist a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font-weight:600;font-size:15px;color:var(--ink)}
.artlist a:hover{background:var(--cream);color:var(--accent-ink)}
.artlist a svg{width:16px;height:16px;stroke:var(--muted);stroke-width:2.2;fill:none;flex-shrink:0}

/* Contact form */
.cform{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-lg);padding:34px;box-shadow:var(--sh-sm)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.cform .row{grid-template-columns:1fr}}
.field-g{margin-bottom:16px}
.field-g label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:7px}
.field-g input,.field-g select,.field-g textarea{width:100%;border:1.5px solid var(--line2);background:var(--cream);border-radius:12px;padding:13px 15px;font:inherit;font-size:15px;color:var(--ink);outline:0;transition:border-color .15s,background .15s}
.field-g input:focus,.field-g select:focus,.field-g textarea:focus{border-color:var(--accent);background:var(--panel)}
.field-g textarea{min-height:130px;resize:vertical}

/* Contact methods / spec rows */
.kv{border:1px solid var(--line2);border-radius:var(--r-md);overflow:hidden;background:var(--panel)}
.kv .kvr{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line);font-size:14.5px}
.kv .kvr:last-child{border-bottom:0}
.kv .kvr b{color:var(--ink);font-weight:700}
.kv .kvr span{color:var(--ink2);text-align:right}

/* Blog list */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.posts{grid-template-columns:1fr}}
.post{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .16s,box-shadow .16s;display:flex;flex-direction:column}
a.post:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.post .pth{height:112px;background:linear-gradient(135deg,var(--accent),var(--accent2));position:relative;overflow:hidden}
.post .pth.g2{background:linear-gradient(135deg,var(--blue),#6a8ff5)}
.post .pth.g3{background:linear-gradient(135deg,var(--ink),#33352b)}
.post .pb{padding:22px}
.post .tagp{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
.post h3{font-size:18px;margin:9px 0 8px;line-height:1.2}
.post p{color:var(--ink2);font-size:14px;line-height:1.55;margin:0}
.post .meta{color:var(--muted);font-size:12.5px;margin-top:14px}

/* Trust badge row */
.trust{display:flex;gap:14px 26px;flex-wrap:wrap;justify-content:center;align-items:center}
.trust .tb{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.trust .tb svg{width:18px;height:18px;stroke:var(--ok);stroke-width:2.4;fill:none}

/* Section helpers */
.tight{padding-top:24px}
.tight2{padding-top:12px}
.mt0{margin-top:0}

/* ===== MOBILE ===== */
@media(max-width:620px){
  .wrap,.wrap-n{padding:0 18px}
  h1{font-size:38px}
  .phero{padding:40px 0 22px}.phero h1{font-size:34px}.phero .lede{font-size:16.5px;margin-top:18px}
  section{padding:52px 0}
  .sec-h{margin-bottom:34px}.sec-h h2{font-size:28px}.sec-h p{font-size:15.5px}
  .feat{padding:24px 20px;border-radius:22px;gap:26px}.feat h3{font-size:24px}.feat-copy p{font-size:15px}
  .statband{padding:28px 20px;border-radius:22px}.statband .sh2 h2{font-size:26px}.stat{padding:22px 16px}.stat .sn{font-size:38px}
  .tiles{gap:14px}.tile{padding:24px;min-height:0}
  .band .wrap2{padding:28px 22px}.band h2{font-size:27px}.band p{font-size:15.5px}
  .pk .pp{font-size:34px}
  .final{padding:46px 22px;border-radius:22px}.final h2{font-size:30px}.final p{font-size:16px}
  .prose{font-size:16px}.prose h2{font-size:25px}.prose .lead{font-size:17px}
  .cform{padding:24px}
  footer{padding:48px 0 30px}.fbot{flex-direction:column;gap:6px}
  .uword svg{bottom:-9px;height:13px}
}


/* ============================================================
   MOBILE SAFETY NET — added 9 Sep 2026 after a measured audit
   (scripts/audit_responsive.py) at 320/390/414.

   A table is the one element that silently widens a whole page: it
   sizes to its content and ignores its container, so ONE table 16px
   too wide makes every section on the page pan sideways. The blog
   article did exactly that at 320 (+34px), and .cmp-scroll existed
   in this file but had never been wrapped around it.

   Doing it in CSS rather than by wrapping each table means content
   written later is protected without anyone remembering to.
   ============================================================ */
@media(max-width:720px){
  .prose table{display:block;max-width:100%;overflow-x:auto;
    -webkit-overflow-scrolling:touch;white-space:nowrap}
}
/* Belt and braces: nothing may push the document sideways. A decorative
   blur or an over-long unbroken string should clip, not widen the page. */
html,body{max-width:100%;overflow-x:clip}
/* Long unbreakable strings (emails, endpoints, tokens) wrap instead of
   forcing a horizontal scroll. */
.prose p,.prose li,.fq p,.card p,.step p,.rt p{overflow-wrap:anywhere}

/* ============================================================
   DROPDOWNS — on theme, not the browser's.
   Added 9 Sep 2026.

   A <select> ignores border/background styling for its own control
   chrome: every OS still draws its native arrow, and on macOS and iOS
   it repaints the whole control. `appearance:none` is the only thing
   that hands the rendering back to us, and there was not one instance
   of it in this stylesheet.

   ⚠ THE FOCUS RULE IS WHY `:focus` IS IN THE SELECTOR LIST BELOW.
   `.field-g input,.field-g select,.field-g textarea:focus` sets the
   `background` SHORTHAND, and a shorthand resets background-image to
   none. Style the chevron on `.field-g select` alone and it vanishes
   the moment the field is focused. Naming :focus here re-applies it.
   ============================================================ */
.field-g select,
.field-g select:focus,
select.themed,
select.themed:focus{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  cursor:pointer;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a796e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  background-size:13px;
}
/* the chevron turns accent on focus, so the control agrees with the border */
.field-g select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8380f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
/* ⚠ :not(:focus) is load-bearing. This has the SAME specificity as the
   :focus rule above and sits later in the file, so without it, hovering
   a focused select repaints the border from accent back to grey. */
.field-g select:hover:not(:focus){border-color:var(--muted)}
/* IE/old Edge drew a second arrow next to ours. */
.field-g select::-ms-expand,select.themed::-ms-expand{display:none}
/* The popup list itself is OS-drawn; these are the only two properties
   that reliably carry through (Windows and Linux honour them). */
.field-g select option,select.themed option{
  background:var(--panel);color:var(--ink);
}
