/* Styles shared by every page of ringout.ai: the opening part of the page template (tokens,
   base, nav, buttons…). Linked first on every page. See docs/design-considerations.md,
   "Where styles live". Change shared styling here; a copy pasted into a page would win. */
/* RINGOUT — LIGHT-FIRST VISUAL BUILD · Kingfisher/Ember · Space Grotesk + Inter */
:root{
--p1:#1436A8; --p2:#0E9BC4; --p3:#35E0C4;
--s1:#FF3D6E; --s2:#FF8A3D; --s-anchor:#C41E48;
--ok:#21C23C;--warn:#FF8A3D; --ink:#04121C;
--font-d:'Space Grotesk',system-ui,sans-serif;
--font-b:'Inter',system-ui,sans-serif;
--font-m:'JetBrains Mono',ui-monospace,monospace;
--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:99px;
--t:140ms cubic-bezier(.2,0,.2,1);
--act:#0E9BC4;--act-h:#1436A8;--act-a:#0A1F63;
--acc:#FF3D6E;--acc-h:#C41E48;--acc-a:#8C1533;
--bg:#F4F7FB;--surface:#FFFFFF;--line:#E2E9F1;
--text:#0F172A;--muted:#475569;--faint:#5B6675;--tint:rgba(15,23,42,.035);
--act-quiet:rgba(20,54,168,.08);--act-line:rgba(20,54,168,.34);--act-text:#1436A8;
--acc-quiet:rgba(196,30,72,.07);--acc-line:rgba(196,30,72,.32);--acc-text:#C41E48;
--ok-text:#168329;--warn-text:#9A4A12;
--dk-bg:#040E1C;--dk-surface:#061426;--dk-raise:#0B2A44;--dk-line:#153A56;
--dk-text:#EAF2F9;--dk-muted:#A9BCCE;--dk-faint:#8FA3B8;
--inv:#0F172A;--inv-h:#04121C;--inv-a:#000000;--inv-fg:#FFFFFF;
--focus:#1436A8;
--link:var(--act-text);--link-h:var(--acc-text);
box-sizing:border-box;
padding-top:env(safe-area-inset-top,0px);
padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-d);margin:0}
p{margin:0}
a{color:var(--link);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);
text-underline-offset:3px;transition:color var(--t),text-decoration-color var(--t)}
a:hover{color:var(--link-h);text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
.num{font-family:var(--font-d);font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.mono{font-family:var(--font-m);font-size:.76rem}
.skip{position:absolute;left:-9999px;background:var(--act-h);color:#fff;padding:10px 16px;z-index:99}
.skip:focus{left:0;top:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn{
--bt-bg:transparent; --bt-fg:var(--text); --bt-bd:transparent;
--bt-bg-h:var(--tint); --bt-bg-a:var(--tint); --bt-bd-h:var(--bt-bd);
display:inline-flex;align-items:center;justify-content:center;gap:8px;
font-family:var(--font-b);font-weight:600;font-size:.9375rem;line-height:1;
padding:0 20px;height:44px;border-radius:var(--r-pill);cursor:pointer;
background:var(--bt-bg);color:var(--bt-fg);border:1px solid var(--bt-bd);
transition:background var(--t),color var(--t),border-color var(--t);
text-decoration:none;white-space:nowrap;
}
.btn:hover{background:var(--bt-bg-h);color:var(--bt-fg-h,var(--bt-fg));border-color:var(--bt-bd-h)}
.btn:active{background:var(--bt-bg-a);color:var(--bt-fg-a,var(--bt-fg));border-color:var(--bt-bd-h)}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.btn[disabled]{opacity:.42;cursor:not-allowed;pointer-events:none}
.btn svg{width:17px;height:17px;flex:none}
.btn--primary{--bt-bg:var(--act);--bt-fg:#FFFFFF;--bt-fg-h:#FFFFFF;--bt-fg-a:#FFFFFF;--bt-bg-h:var(--act-h);--bt-bg-a:var(--act-a)}
.btn--accent{--bt-bg:var(--acc);--bt-fg:#FFFFFF;--bt-fg-h:#FFFFFF;--bt-fg-a:#FFFFFF;--bt-bg-h:var(--acc-h);--bt-bg-a:var(--acc-a)}
.btn--outline{--bt-fg:var(--act-text);--bt-bd:var(--act-line);--bt-bg-h:var(--act-quiet);--bt-bg-a:var(--act-quiet);--bt-bd-h:var(--act-text)}
.btn--outline-accent{--bt-fg:var(--acc-text);--bt-bd:var(--acc-line);--bt-bg-h:var(--acc-quiet);--bt-bg-a:var(--acc-quiet);--bt-bd-h:var(--acc-text)}
.btn--neutral{--bt-fg:var(--text);--bt-bd:var(--line);--bt-bg:var(--surface);--bt-bg-h:var(--tint);--bt-bg-a:var(--tint);--bt-bd-h:var(--faint)}
.btn--quiet{--bt-fg:var(--muted);--bt-bg-h:var(--tint);--bt-bg-a:var(--tint)}
.btn--quiet:hover{color:var(--text)}
.btn--inverse{--bt-bg:var(--inv);--bt-fg:var(--inv-fg);--bt-bg-h:var(--inv-h);--bt-bg-a:var(--inv-a)}
.btn--sm{height:36px;font-size:.875rem;padding:0 16px}
.btn--lg{height:54px;font-size:1rem;padding:0 28px}
.btn--block{display:flex;width:100%}
.btn--glass{--bt-fg:#FFFFFF;--bt-bd:rgba(255,255,255,.45);--bt-bg:rgba(255,255,255,.14);
--bt-bg-h:rgba(255,255,255,.26);--bt-bg-a:rgba(255,255,255,.34);--bt-bd-h:rgba(255,255,255,.85);
backdrop-filter:blur(10px)}
/* nav */
.annc{background:var(--bg);padding:10px 0 2px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
.annc[hidden]{display:none}
.anncin{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;background:#fff;border:1px solid var(--line);
border-radius:var(--r-pill);padding:9px 54px 9px 20px;box-shadow:0 6px 18px rgba(4,18,28,.04)}
.anncin p{font-size:.86rem;color:var(--muted);text-align:center;line-height:1.4}
.anncin p b{color:var(--text);font-weight:700}
.anncbtn{flex:none;font:600 .8rem/1 var(--font-b);color:#fff;background:var(--acc);border-radius:var(--r-pill);padding:9px 15px;text-decoration:none;transition:background var(--t)}
.anncbtn:hover{background:var(--acc-text);color:#fff}
.anncx{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--faint);display:grid;place-items:center;cursor:pointer;transition:background var(--t),color var(--t)}
.anncx:hover{background:var(--tint);color:var(--text)}
.anncx svg{width:14px;height:14px}
@media(max-width:720px){.anncin p span{display:none}.anncin{justify-content:flex-start;padding-left:16px}}
.bar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.6);backdrop-filter:blur(18px) saturate(1.6);
border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.bar .wrap{display:flex;align-items:center;gap:8px;padding:13px 24px}
.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.brand .lockup{height:24px;width:auto;display:block;color:var(--ink)}
.mlist{display:flex;gap:2px;list-style:none;margin:0 0 0 14px;padding:0;align-items:center}
.mbtn,.mlink{display:inline-flex;align-items:center;gap:6px;font:500 .85rem/1 var(--font-b);color:var(--muted);
background:transparent;border:0;text-decoration:none;padding:9px 12px;border-radius:var(--r-pill);cursor:pointer;
transition:background var(--t),color var(--t)}
.mbtn:hover,.mlink:hover{background:var(--tint);color:var(--text)}
.mbtn[aria-expanded="true"]{background:var(--act-quiet);color:var(--act-text)}
.mbtn .car{width:12px;height:12px;transition:transform var(--t)}
.mbtn[aria-expanded="true"] .car{transform:rotate(180deg)}
.mitem{position:relative}
.drop{position:absolute;top:calc(100% + 10px);left:0;background:var(--surface);
border:1px solid var(--line);border-radius:16px;overflow:hidden;
box-shadow:0 24px 60px rgba(4,18,28,.16),0 2px 8px rgba(4,18,28,.05);
width:max-content;max-width:calc(100vw - 32px)}
.drop[hidden]{display:none}
.drop.right{left:auto;right:0}
@keyframes menuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.drop:not([hidden]){animation:menuIn 140ms cubic-bezier(.2,0,.2,1)}
@media(prefers-reduced-motion:reduce){.drop:not([hidden]){animation:none}}
.dcols{display:grid;gap:4px 22px;padding:16px}
.drop.w2 .dcols{grid-template-columns:repeat(2,236px)}
.drop.w3 .dcols{grid-template-columns:repeat(3,236px)}
.mh{font:500 .68rem/1 var(--font-m);color:var(--faint);margin:8px 0 6px;padding:0 10px}
.mgroup{display:flex;flex-direction:column;gap:1px}
.mrow{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--r-md);text-decoration:none;color:var(--text);transition:background var(--t)}
.mrow:hover{background:var(--act-quiet);color:var(--text)}
.mrow .mi{width:30px;height:30px;border-radius:9px;background:var(--bg);border:1px solid var(--line);color:var(--act-text);display:grid;place-items:center;flex:none;transition:border-color var(--t)}
.mrow:hover .mi{border-color:var(--act-line)}
.mrow .mi svg{width:15px;height:15px}
.mrow .t{font:600 .84rem/1.3 var(--font-b);display:block}
.mrow .d{font-size:.7rem;color:var(--faint);line-height:1.35;display:block}
.msoon{font:500 .56rem/1 var(--font-m);color:var(--warn-text);border:1px solid rgba(255,138,61,.4);border-radius:var(--r-pill);padding:2px 6px;margin-left:6px;vertical-align:1px}
.dfoot{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);background:var(--bg);padding:12px 18px}
.dfoot a{font:600 .8rem/1 var(--font-b)}
.sp{flex:1}
.hamb{display:none;width:40px;height:40px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);
cursor:pointer;place-items:center;color:var(--text);transition:background var(--t),border-color var(--t)}
.hamb:hover{background:var(--tint);border-color:var(--faint)}
.hamb svg{width:17px;height:17px}
.mnav{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);
box-shadow:0 28px 56px rgba(4,18,28,.12);max-height:calc(100vh - 90px);overflow:auto;padding:10px 0 20px}
.mnav[hidden]{display:none}
.mnav details{border-bottom:1px solid var(--line)}
.mnav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;
font:600 .95rem/1 var(--font-b);padding:16px 24px;transition:background var(--t)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary:hover{background:var(--tint)}
.mnav summary .car{width:12px;height:12px;color:var(--faint);transition:transform var(--t)}
.mnav details[open] summary .car{transform:rotate(180deg)}
.mnav .mgroup{padding:2px 12px 14px}
.mnav .plainlink{display:block;font:600 .95rem/1 var(--font-b);color:var(--text);text-decoration:none;padding:16px 24px;border-bottom:1px solid var(--line)}
.mnav .plainlink:hover{background:var(--tint);color:var(--text)}
.mnav .mctas{display:flex;gap:10px;padding:18px 24px 4px}
.loglink{font:600 .85rem/1 var(--font-b);color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:var(--r-pill);transition:background var(--t),color var(--t)}
.loglink:hover{background:var(--tint);color:var(--text)}
@media(max-width:900px){.mlist,.loglink{display:none}.hamb{display:grid}}
/* ============ HERO — centred, Billo-style, over product mock ============ */
.hero{position:relative;overflow:hidden;padding:84px 0 0;text-align:center}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.blob.b1{width:420px;height:420px;left:-140px;top:-120px;background:radial-gradient(circle,#35E0C4,transparent 70%)}
.blob.b2{width:460px;height:460px;right:-160px;top:40px;background:radial-gradient(circle,#0E9BC4,transparent 70%);opacity:.35}
.blob.b3{width:340px;height:340px;right:16%;top:-140px;background:radial-gradient(circle,#FF3D6E,transparent 70%);opacity:.3}
.blob.b4{width:380px;height:380px;left:22%;bottom:-220px;background:radial-gradient(circle,#FF3D6E,transparent 70%);opacity:.18}
.hero .wrap{position:relative}
.eyebrow{display:inline-block;font:500 .8rem/1 var(--font-b);letter-spacing:.01em;color:var(--acc-text);
background:var(--acc-quiet);border:1px solid var(--act-line);border-radius:var(--r-pill);padding:9px 16px;margin-bottom:24px;display:inline-flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);flex:none}
.display{font:700 clamp(2.5rem,6.4vw,4.4rem)/1.02 var(--font-d);letter-spacing:-.032em;max-width:17ch;margin:0 auto}
.hero .sub{font:400 1.15rem/1.6 var(--font-b);color:var(--muted);max-width:52ch;margin:22px auto 32px}
.ctagrid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;text-align:left}
@media(max-width:960px){.ctagrid{grid-template-columns:1fr;gap:40px}}
.ctaproof{list-style:none;margin:26px 0 22px;padding:0;display:flex;flex-direction:column;gap:12px}
.ctaproof li{display:flex;align-items:center;gap:11px;font:500 .95rem/1.4 var(--font-b);color:rgba(255,255,255,.9)}
.ctaproof svg{width:16px;height:16px;color:var(--p3);flex:none}
.leadcard{background:#fff;color:var(--text);border-radius:22px;padding:clamp(24px,3.4vw,36px);box-shadow:0 34px 80px rgba(4,18,28,.35)}
.leadcard h3{font:700 1.5rem/1.15 var(--font-d);letter-spacing:-.022em;margin-bottom:22px}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 14px}
@media(max-width:480px){.lgrid{grid-template-columns:1fr}}
.lgrid label{display:flex;flex-direction:column;gap:7px;font:600 .8rem/1 var(--font-b);color:var(--text);text-align:left}
.lgrid .lwide{grid-column:1/-1}
.lgrid input,.lgrid select{font:400 .92rem/1.3 var(--font-b);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 13px;width:100%;transition:border-color var(--t),background var(--t)}
.lgrid input::placeholder{color:var(--faint)}
.lgrid input:hover,.lgrid select:hover{border-color:var(--faint)}
.lgrid input:focus,.lgrid select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus);background:#fff}
.leadcard .btn{width:100%;justify-content:center;margin-top:20px}
.lnote{font-size:.76rem;color:var(--faint);margin-top:14px;line-height:1.5}
.lnote a{color:var(--link)}
.ctarow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.micro{font-size:.85rem;color:var(--faint);margin-top:16px}
/* dashboard mock */
.stage{position:relative;max-width:980px;margin:60px auto -2px}
.dash{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;
box-shadow:0 -1px 0 #fff inset, 0 30px 80px rgba(4,18,28,.14);overflow:hidden;text-align:left}
.dash-top{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line)}
.dot3{display:flex;gap:6px}
.dot3 i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.urlpill{font:500 .74rem/1 var(--font-m);color:var(--faint);background:var(--bg);border:1px solid var(--line);
border-radius:var(--r-pill);padding:7px 14px;margin:0 auto}
.dash-body{display:grid;grid-template-columns:200px 1fr;min-height:380px}
@media(max-width:820px){.dash-body{grid-template-columns:1fr}.dash-side{display:none}}
.dash-side{border-right:1px solid var(--line);padding:18px 0;background:var(--bg)}
.dash-side a{display:block;font:500 .84rem/1 var(--font-b);color:var(--muted);text-decoration:none;padding:11px 22px}
.dash-side a.on{color:var(--act-text);background:var(--act-quiet);border-right:2px solid var(--act-text)}
.dash-main{padding:24px 26px}
.dm-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.dm-h h3{font:500 1.15rem/1.2 var(--font-d);letter-spacing:-.014em}
.dm-h .mono{color:var(--faint)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
@media(max-width:640px){.kpis{grid-template-columns:1fr}}
.kpi{border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;background:#fff}
.kpi .v{font:700 1.7rem/1 var(--font-d);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi .k{font-size:.76rem;color:var(--faint);margin-top:5px}
.kpi.money .v{color:var(--act-text)}
.rows{display:flex;flex-direction:column;gap:8px}
.rw{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;background:#fff}
.rw .av{width:30px;height:30px;border-radius:50%;background:var(--act-quiet);color:var(--act-text);
display:grid;place-items:center;font:500 .68rem/1 var(--font-d);flex:none}
.rw .m{flex:1;min-width:0}
.rw .n{font:600 .84rem/1.3 var(--font-b)}
.rw .d{font-size:.76rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{font:500 .66rem/1 var(--font-m);padding:4px 9px;border-radius:var(--r-pill);flex:none}
.tag.ok{color:var(--ok-text);background:rgba(33,194,60,.12)}
.tag.act{color:var(--act-text);background:var(--act-quiet)}
.tag.warn{color:var(--warn-text);background:rgba(255,138,61,.14)}
.tag.mut{color:var(--faint);background:var(--tint)}
/* floating stat chips over the mock */
.float{position:absolute;background:rgba(255,255,255,.55);backdrop-filter:blur(16px) saturate(1.5);
border:1px solid rgba(255,255,255,.8);border-radius:var(--r-lg);
box-shadow:0 16px 40px rgba(4,18,28,.14);padding:16px 18px;text-align:left;z-index:2}
.float .fv{font:700 1.6rem/1 var(--font-d);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.float .fk{font-size:.74rem;color:var(--faint);margin-top:4px;max-width:17ch}
.float.f1{left:-64px;top:110px}
.float.f1 .fv{color:var(--act-text)}
.float.f2{right:-70px;top:60px}
.float.f2 .fv{color:var(--ok-text)}
.float.f3{right:-46px;bottom:90px;border-color:var(--acc-line)}
.float.f3 .fv{color:var(--acc-text)}
@media(max-width:1100px){.float.f1{left:8px}.float.f2{right:8px}.float.f3{right:14px;bottom:60px}}
@media(max-width:640px){.float{display:none}}
/* logo strip */
.logos{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}
.logos .wrap{display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap}
.lcap{width:100%;text-align:center;font:600 .76rem/1 var(--font-b);letter-spacing:.08em;color:var(--faint);margin-bottom:6px}
.wl{color:var(--text);opacity:.8;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.wl svg{width:20px;height:20px;color:var(--act-text)}
.wl.b800{font:800 1.22rem/1 var(--font-b);letter-spacing:.01em}
.wl.b700{font:700 1.18rem/1 var(--font-b)}
.wl.low{font:700 1.22rem/1 var(--font-b);text-transform:lowercase}
.wl.med{font:600 1.14rem/1 var(--font-b)}
.acma{font:600 .85rem/1 var(--font-b);color:var(--text);background:#fff;border:1px solid var(--line);
border-radius:var(--r-pill);padding:11px 18px;box-shadow:0 8px 20px rgba(4,18,28,.07);white-space:nowrap}
/* section scaffolding */
.sec{padding:96px 0}
@media(max-width:700px){.sec{padding:64px 0}}
.center{text-align:center}
.kick{display:inline-block;font:500 .8rem/1 var(--font-b);color:var(--act-text);background:var(--act-quiet);
border-radius:var(--r-pill);padding:8px 16px;margin-bottom:18px;display:inline-flex;align-items:center;gap:8px}
.kick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.kick.warm{color:var(--acc-text);background:var(--acc-quiet)}
h2.big{font:700 clamp(1.9rem,4.2vw,2.9rem)/1.08 var(--font-d);letter-spacing:-.03em;max-width:22ch}
.center h2.big{margin:0 auto}
.sublead{font-size:1.05rem;color:var(--muted);max-width:56ch;margin-top:16px}
.center .sublead{margin-left:auto;margin-right:auto}
/* ============ HOW RINGOUT WORKS — routing diagram ============ */
.hwork{position:relative;color:var(--text);padding:clamp(64px,9vw,110px) 0;text-align:center;overflow:hidden;
background:linear-gradient(180deg,#EEF4FC 0%,#F6FAFE 55%,#FFF4F7 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hwork::before{content:"";position:absolute;width:560px;height:560px;left:-200px;top:-180px;border-radius:50%;
background:radial-gradient(circle,rgba(53,224,196,.22),transparent 70%);pointer-events:none}
.hwork::after{content:"";position:absolute;width:520px;height:520px;right:-180px;bottom:-220px;border-radius:50%;
background:radial-gradient(circle,rgba(255,61,110,.14),transparent 70%);pointer-events:none}
.hwork .wrap{position:relative;z-index:1}
.hwkick{display:inline-flex;align-items:center;gap:8px;font:600 .8rem/1 var(--font-b);color:var(--act-h);
background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 16px}
.hwkick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.hwork h2{font:700 clamp(2.1rem,5vw,3.4rem)/1.06 var(--font-d);letter-spacing:-.032em;margin:22px auto 0;max-width:18ch;color:var(--text)}
.hwsub{font-size:1.05rem;color:var(--muted);max-width:56ch;margin:18px auto 0;line-height:1.65}
.hwdiag{max-width:820px;margin:54px auto 0}
.hwpill{display:inline-block;font:600 .8rem/1 var(--font-b);color:var(--act-h);background:var(--act-quiet);
border:1px solid var(--act-line);border-radius:var(--r-pill);padding:9px 16px}
.hwbub{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;min-height:44px}
.hwquote{font:500 .9rem/1.3 var(--font-b);font-style:italic;color:var(--text);background:#fff;
border:1px solid var(--line);box-shadow:0 8px 20px rgba(4,18,28,.06);border-radius:var(--r-pill);padding:10px 16px;transition:opacity .35s ease}
.hwquote.fade{opacity:0}
.hwnode{width:46px;height:46px;border-radius:50%;background:var(--act-h);display:grid;place-items:center;flex:none;box-shadow:0 10px 24px rgba(20,54,168,.25)}
.hwnode svg{width:18px;height:18px;color:#fff}
.hwstem{display:block;width:0;height:26px;border-left:2px dashed var(--act-line);margin:0 auto}
.hwai{animation:hwfloat 5s ease-in-out infinite;display:inline-flex;align-items:center;gap:14px;text-align:left;background:#fff;color:var(--text);
border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 50px rgba(4,18,28,.1);padding:16px 22px;min-width:min(320px,88vw)}
.hwav{width:44px;height:44px;border-radius:12px;background:var(--act-quiet);display:grid;place-items:center;flex:none}
.hwt{font:600 .98rem/1.3 var(--font-b)}
.hws{font-size:.84rem;color:var(--muted);transition:opacity .3s ease}
.hws.fade{opacity:0}
.hwlines{display:block;width:min(640px,86%);height:56px;margin:0 auto}
.hwlines path{fill:none;stroke:#B9C7DA;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:stroke .3s ease;
stroke-dasharray:5 5;animation:flow 1.1s linear infinite}
@keyframes flow{to{stroke-dashoffset:-10}}
@media(prefers-reduced-motion:reduce){.hwlines path{animation:none;stroke-dasharray:none}}
.hwlines path.lit{stroke:var(--act);stroke-width:2.2}
.hwlines path.lit.warm{stroke:var(--warn)}
.hwouts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:760px;margin:0 auto}
@media(max-width:640px){.hwouts{grid-template-columns:1fr;max-width:340px}.hwlines{display:none}}
.hwcard{background:#fff;color:var(--text);border-radius:16px;padding:26px 18px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;
border:2px solid var(--line);box-shadow:0 12px 28px rgba(4,18,28,.05);transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}
.hwcard.lit[data-kind="blue"]{border-color:var(--act);background:#F1F9FD;box-shadow:0 0 0 6px rgba(14,155,196,.12)}
.hwcard.lit[data-kind="warm"]{border-color:var(--warn);background:#FFF6EF;box-shadow:0 0 0 6px rgba(255,138,61,.14)}
.hwic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}
.hwic svg{width:18px;height:18px}
.hwic.b{background:var(--act-quiet);color:var(--act-h)}
.hwic.w{background:rgba(255,138,61,.14);color:#B4530A}
.hwct{font:600 1rem/1.2 var(--font-b)}
.hwtag{display:inline-flex;align-items:center;gap:7px;font:600 .68rem/1 var(--font-m);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-pill);padding:7px 11px}
.hwtag::before{content:"";width:6px;height:6px;border-radius:50%}
.hwtag.b{color:var(--act-h);background:var(--act-quiet)}
.hwtag.b::before{background:var(--act)}
.hwtag.w{color:#B4530A;background:rgba(255,138,61,.14)}
.hwtag.w::before{background:var(--warn)}
@keyframes hwfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.hwai{animation:none}}
.hwchips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px}
.hwchips span{display:inline-flex;align-items:center;gap:9px;font:600 .85rem/1 var(--font-b);color:var(--text);
background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:12px 18px}
.hwchips svg{width:15px;height:15px;color:var(--act)}
/* ============ HEAR THE DIFFERENCE — script demo ============ */
.demo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;text-align:left}
@media(max-width:960px){.demo{grid-template-columns:1fr;gap:36px}}
.dkick{font:700 .9rem/1 var(--font-b);letter-spacing:.02em;color:var(--act-h);display:block;margin-bottom:18px}
.demo h2{font:700 clamp(2rem,4.6vw,3.2rem)/1.06 var(--font-d);letter-spacing:-.032em}
.demo .sub{font-size:1.05rem;color:var(--muted);max-width:46ch;margin:20px 0 28px}
.pills{display:flex;gap:12px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:9px;font:600 .95rem/1 var(--font-b);color:var(--text);
background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:14px 22px;cursor:pointer;
transition:background var(--t),color var(--t),border-color var(--t)}
.pill svg{width:17px;height:17px}
.pill:hover{background:var(--tint)}
.pill[aria-selected="true"],.pill[aria-pressed="true"]{background:var(--act);border-color:var(--act);color:#fff}
.dplayer{display:flex;align-items:center;gap:18px;margin-top:30px}
.dplay{width:58px;height:58px;border-radius:50%;border:0;background:var(--act-h);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:background var(--t)}
.dplay:hover{background:var(--act-a)}
.dplay svg{width:20px;height:20px}
.dtrackwrap{flex:1}
.dtrack{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.dtrack i{display:block;height:100%;width:0%;background:var(--act-h);transition:width .4s linear}
.dmeta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.dstatus{font-size:.9rem;color:var(--muted)}
.dreset{display:inline-flex;align-items:center;gap:7px;font:600 .9rem/1 var(--font-b);background:none;border:0;cursor:pointer;color:var(--act-h);padding:4px}
.dreset:hover{color:var(--acc-text)}
.dreset svg{width:14px;height:14px}
.disclaim{font-size:.85rem;color:var(--faint);margin-top:26px}
.chatwin{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(4,18,28,.1);text-align:left}
.cwbar{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.cwdots{display:flex;gap:6px}
.cwdots i{width:10px;height:10px;border-radius:50%;background:#D9E1EA}
.cwdots i:nth-child(1){background:#FF8A80}
.cwdots i:nth-child(2){background:#FFD27A}
.cwdots i:nth-child(3){background:#7FD6A4}
.cwurl{flex:1;font:500 .7rem/1 var(--font-m);color:var(--faint);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 12px;text-align:center}
.cwhead{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.cwav{width:38px;height:38px;border-radius:11px;background:var(--act-quiet);display:grid;place-items:center;flex:none}
.cwav svg{width:22px;height:22px}
.cwwho{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cwwho b{font:600 .95rem/1.2 var(--font-b)}
.cwstate{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--faint)}
.cwlive{width:7px;height:7px;border-radius:50%;background:var(--faint)}
.demo.playing .cwlive{background:var(--ok);box-shadow:0 0 0 0 rgba(33,194,60,.5);animation:live 1.4s ease-out infinite}
@keyframes live{to{box-shadow:0 0 0 8px rgba(33,194,60,0)}}
.cwtag{font:500 .66rem/1 var(--font-m);color:var(--faint);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 9px}
.cwbody{display:flex;flex-direction:column;gap:12px;padding:20px 18px;height:360px;overflow-y:auto;scroll-behavior:smooth;background:linear-gradient(180deg,#fff,#FAFCFE)}
.msg{display:flex;flex-direction:column;max-width:80%;animation:msgIn .28s cubic-bezier(.2,0,.2,1) both}
.msg .mm{font:500 .66rem/1 var(--font-m);color:var(--faint);margin:0 4px 5px}
.msg .mb{font-size:.9rem;line-height:1.5;padding:11px 14px;border-radius:16px}
.msg.caller{align-self:flex-start}
.msg.caller .mb{background:var(--bg);border:1px solid var(--line);color:var(--text);border-top-left-radius:5px}
.msg.ai{align-self:flex-end;align-items:flex-end}
.msg.ai .mb{background:var(--act-h);color:#fff;border-top-right-radius:5px}
.msg.ai .mm{color:var(--act-text)}
.msg.typing .mb{display:inline-flex;gap:4px;padding:14px 16px}
.msg.typing .mb i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;animation:tdot 1s infinite}
.msg.typing .mb i:nth-child(2){animation-delay:.15s}
.msg.typing .mb i:nth-child(3){animation-delay:.3s}
.msg.ai.typing .mb{color:#fff}
.msg.caller.typing .mb{color:var(--muted)}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tdot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}
.msg.done{margin-top:4px;align-self:center;max-width:100%}
.msg.done .mb{background:rgba(33,194,60,.1);color:var(--ok-text);font:600 .76rem/1 var(--font-b);border-radius:var(--r-pill);padding:9px 14px;display:inline-flex;gap:7px;align-items:center}
.msg.done .mb svg{width:12px;height:12px}
.cwfoot{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--faint);padding:13px 18px;border-top:1px solid var(--line);background:var(--bg)}
.cwfoot svg{width:14px;height:14px;color:var(--act)}
@media(prefers-reduced-motion:reduce){.msg,.msg.typing .mb i,.demo.playing .cwlive{animation:none}}
.dplay{position:relative}
.demo.playing .dplay::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--act-line);animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-right:8px;vertical-align:-1px}
.eq i{width:3px;border-radius:2px;background:var(--act-h);animation:eq 1s ease-in-out infinite}
.eq i:nth-child(1){height:60%}
.eq i:nth-child(2){height:100%;animation-delay:.15s}
.eq i:nth-child(3){height:75%;animation-delay:.3s}
@keyframes eq{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.demo.playing .dplay::after,.eq i{animation:none}}
/* ============ MISSED-CALL CALCULATOR ============ */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:40px auto 0;text-align:left}
@media(max-width:760px){.calc{grid-template-columns:1fr}}
.calcin,.calcout{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}
.calcin{display:flex;flex-direction:column;gap:24px}
.sl{font:600 .9rem/1.3 var(--font-b);margin-bottom:10px}
.sc{display:flex;align-items:center;gap:14px}
.sc button{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;font:600 1.2rem/1 var(--font-b);color:var(--text);cursor:pointer;transition:background var(--t),border-color var(--t)}
.sc button:hover{background:var(--act-quiet);border-color:var(--act-line)}
.sv{font:700 1.8rem/1 var(--font-d);letter-spacing:-.03em;min-width:96px;text-align:center}
.calcout{background:var(--ink);color:#fff;border-color:var(--ink);display:flex;flex-direction:column;gap:10px}
.cl{font:600 .85rem/1.3 var(--font-b);color:rgba(255,255,255,.7)}
.cbig{font:700 clamp(2.4rem,5vw,3.2rem)/1 var(--font-d);letter-spacing:-.035em;color:var(--acc)}
.cn{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.55}
.calcout .btn{align-self:flex-start;margin-top:8px}
/* ============ PRODUCT TOUR — segmented layout ============ */
.seg{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:38px;background:#fff}
.seg button{display:flex;align-items:center;justify-content:center;gap:10px;font:600 .95rem/1.2 var(--font-b);color:var(--text);
background:#fff;border:0;border-left:1px solid var(--line);padding:20px 14px;cursor:pointer;transition:background var(--t),color var(--t)}
.seg button:first-child{border-left:0}
.seg button svg{width:17px;height:17px;flex:none}
.seg button:hover{background:var(--tint)}
.seg button[aria-selected="true"]{background:var(--ink);color:#fff}
@media(max-width:860px){.seg{grid-template-columns:1fr 1fr}.seg button:nth-child(3){border-left:0}.seg button:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:480px){.seg button{font-size:.85rem;padding:15px 8px}}
.tframe{border:1px solid var(--line);border-radius:22px;background:#fff;padding:clamp(22px,4vw,46px);margin-top:22px}
.tpane{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start;text-align:left}
@media(max-width:960px){.tpane{grid-template-columns:1fr;gap:34px}}
.tpane[hidden]{display:none}
.tnum{font:700 .95rem/1 var(--font-d);color:var(--act-text);display:block;margin-bottom:10px}
.tpane h3{font:700 clamp(1.7rem,3.4vw,2.3rem)/1.1 var(--font-d);letter-spacing:-.026em}
.tpane .tp{font-size:1rem;color:var(--muted);max-width:48ch;margin:14px 0 26px;line-height:1.6}
.trows{display:flex;flex-direction:column;gap:12px}
.frow{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;
padding:15px 18px;text-decoration:none;color:var(--text);transition:border-color var(--t),background var(--t)}
.frow:hover{border-color:var(--act-line);color:var(--text)}
.frow .ti{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none}
.frow .ti svg{width:18px;height:18px}
.frow .ti.c1{background:var(--act)}
.frow .ti.c2{background:var(--acc)}
.frow .fm{flex:1;min-width:0}
.frow .ft2{font:600 .95rem/1.3 var(--font-b)}
.frow .fd2{font-size:.82rem;color:var(--faint);line-height:1.4}
.frow .ch{color:var(--faint);flex:none;width:14px;height:14px}
.tshot{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:44px 34px;display:grid;place-items:center;min-height:440px;position:relative}
.cfg{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(4,18,28,.12);padding:22px;width:min(340px,100%);position:relative}
.cfg .cfh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cfg .cfh h4{font:600 1.02rem/1.2 var(--font-b)}
.cfg .x{color:var(--faint);font-size:1.05rem;line-height:1}
.cfg .lab{font:600 .78rem/1 var(--font-b);color:var(--muted);margin:14px 0 10px}
.cfg hr{border:0;border-top:1px solid var(--line);margin:18px 0 4px}
.cchips{display:flex;flex-wrap:wrap;gap:8px}
.cchip{display:inline-flex;align-items:center;gap:7px;font:600 .78rem/1 var(--font-b);color:var(--text);
background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 13px;white-space:nowrap}
.cchip svg{width:13px;height:13px;color:var(--faint)}
.cchip.sel{border-color:var(--act-line);color:var(--act-h)}
.cchip.sel svg{color:var(--act-h)}
.cfpop{position:absolute;right:-22px;bottom:-46px;background:#fff;border:1px solid var(--line);border-radius:14px;
box-shadow:0 20px 44px rgba(4,18,28,.16);padding:16px;width:230px}
@media(max-width:640px){.cfpop{right:0;bottom:-58px}}
.cfpop .pl{font:600 .8rem/1 var(--font-b);margin-bottom:10px}
.cfpop .pl em{color:var(--acc-text);font-style:normal}
.cursor{position:absolute;left:-16px;top:-12px;width:20px;height:20px;color:var(--ink)}
.mockcal{width:min(320px,100%);display:flex;flex-direction:column;gap:8px}
.mockcal .s{display:flex;justify-content:space-between;font-size:.88rem;padding:12px 15px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.mockcal .s.bk{border-color:var(--act-line);background:var(--act-quiet);color:var(--text);font-weight:600}
.mockcal .rb{font-size:.85rem;color:var(--muted);border-left:2px solid var(--act-line);padding-left:12px;font-style:italic;margin-top:8px}
.mockmc{width:min(340px,100%)}
.kmini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.kmini .k{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.kmini .v{font:700 1.5rem/1 var(--font-d);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kmini .l{font-size:.72rem;color:var(--faint);margin-top:4px}
.ocrow{display:flex;flex-wrap:wrap;gap:7px}
.oc{font:600 .76rem/1 var(--font-b);padding:8px 12px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);color:var(--muted)}
.oc b{font-family:var(--font-d);font-weight:700;margin-left:5px;color:var(--text)}
.oc.hot{border-color:var(--acc-line);color:var(--acc-text)}
.oc.hot b{color:var(--acc-text)}
.ocnote{font-size:.78rem;color:var(--faint);margin-top:12px}
.nstack{width:min(340px,100%);display:flex;flex-direction:column;gap:10px}
.nrow{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px}
.nrow .ni{width:30px;height:30px;border-radius:9px;background:var(--act-quiet);color:var(--act-h);display:grid;place-items:center;flex:none}
.nrow .ni svg{width:15px;height:15px}
.nrow .nt{font:600 .84rem/1.3 var(--font-b)}
.nrow .nd{font-size:.76rem;color:var(--faint);line-height:1.4}
.nrow .tm{margin-left:auto;font:500 .66rem/1 var(--font-m);color:var(--faint);flex:none}
/* ============ CUSTOMER STORIES ============ */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;text-align:left;
padding-bottom:30px;border-bottom:1px solid var(--line)}
.shead .big{margin-top:14px;max-width:20ch}
.srate{display:flex;flex-direction:column;gap:8px;padding-left:24px;border-left:1px solid var(--line)}
.srate p{font-size:.85rem;color:var(--muted)}
.srate b{font:700 1.05rem/1 var(--font-d);color:var(--text)}
.stars{display:inline-flex;gap:2px;color:#F5A524}
.stars svg{width:16px;height:16px}
.scards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;text-align:left}
@media(max-width:960px){.scards{grid-template-columns:1fr}}
.scard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;
transition:border-color var(--t)}
.scard:hover{border-color:var(--act-line)}
.stop{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.smark{display:inline-flex;align-items:center;gap:9px;font:700 .86rem/1.2 var(--font-d);letter-spacing:-.01em;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden}
.smark .smn{overflow:hidden;text-overflow:ellipsis}
.smono{width:32px;height:32px;border-radius:9px;background:var(--act-quiet);color:var(--act-h);display:grid;place-items:center;
font:700 .66rem/1 var(--font-m);flex:none}
.smet{display:inline-flex;align-items:center;gap:7px;font:600 .74rem/1 var(--font-b);color:var(--text);white-space:nowrap;
border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 11px;flex:none}
.smet svg{width:13px;height:13px;color:var(--acc)}
.sq{font-size:.96rem;color:var(--text);line-height:1.6;margin:18px 0 20px;flex:1}
.sfoot{border-top:1px solid var(--line);padding-top:16px}
.sper{display:flex;align-items:center;gap:14px;margin-top:14px}
.sper>span:last-child{display:flex;flex-direction:column;min-width:0}
.sav{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;
font:700 .9rem/1 var(--font-d);color:#fff;box-shadow:0 8px 18px rgba(4,18,28,.14)}
.sav.g1{background:linear-gradient(135deg,var(--p1),var(--p2))}
.sav.g2{background:linear-gradient(135deg,var(--acc),#FF8A3D)}
.sav.g3{background:linear-gradient(135deg,var(--p2),var(--p3))}
.sbadge{position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--act-h)}
.sbadge svg{width:11px;height:11px}
.sn{font:600 .92rem/1.3 var(--font-b)}
.srole{font-size:.84rem;color:var(--muted)}
.sb{font-size:.78rem;color:var(--faint)}
.snote{font-size:.78rem;color:var(--faint);margin-top:20px;text-align:left}
@media(max-width:640px){.srate{padding-left:0;border-left:0}}
/* ============ COVERAGE MAP ============ */
.mapcard{margin-top:36px}
.mapcard img{display:block;width:min(1080px,100%);height:auto;margin:0 auto}
.mapcap{font-size:.82rem;color:var(--faint);margin-top:16px;text-align:center}
/* ============ INDUSTRIES — case-study layout, Ember accents ============ */
.iband{background:var(--act-quiet)}
.ipills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px}
.iband .pill[aria-selected="true"]{background:var(--acc);border-color:var(--acc);color:#fff}
.icase{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,4vw,44px);margin-top:36px;
display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,52px);text-align:left;align-items:start}
@media(max-width:960px){.icase{grid-template-columns:1fr}}
.icase h3{font:700 clamp(1.7rem,3.4vw,2.4rem)/1.1 var(--font-d);letter-spacing:-.028em}
.icase .id{font-size:1rem;color:var(--muted);line-height:1.65;margin:16px 0 26px;max-width:52ch}
.istats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:26px}
.istats .v{font:700 1.3rem/1.15 var(--font-d);letter-spacing:-.025em;color:var(--acc-text);animation:statIn .35s cubic-bezier(.2,0,.2,1) both}
@keyframes statIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.istats .v{animation:none}}
.icta{margin-top:24px;gap:10px}
.icta svg{width:12px;height:12px}
.istats .l{font-size:.74rem;color:var(--faint);margin-top:5px;line-height:1.4}
.inum{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:14px 0}
.inum+.inum{border-top:1px solid var(--line)}
.inum .k{font:500 .78rem/1.6 var(--font-m);color:var(--acc-text)}
.inum .t{font:600 .98rem/1.4 var(--font-b)}
.inum .d{font-size:.85rem;color:var(--faint);line-height:1.5;margin-top:3px}
.ivis{display:flex;flex-direction:column;gap:16px}
.icallcard{background:linear-gradient(160deg,var(--act-quiet),rgba(255,61,110,.06));border:1px solid var(--line);border-radius:18px;padding:26px}
.icallcard .who{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.icallcard .who .mk{width:38px;height:38px;border-radius:11px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(4,18,28,.1)}
.icallcard .who .nm{font:600 .9rem/1.2 var(--font-b)}
.icallcard .who .st{font-size:.74rem;color:var(--faint)}
.icallcard .greet{margin:0}
.ioc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ioc span{font:600 .72rem/1 var(--font-m);letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 12px;color:var(--muted)}
.ioc span.hot{color:var(--acc-text);border-color:var(--acc-line)}
.iquote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.iquote p{font-size:.95rem;color:var(--text);font-style:italic;line-height:1.6;margin:0 0 14px}
.iquote .qa{display:flex;align-items:center;gap:11px}
.iquote .qa .pav{width:36px;height:36px;font-size:.72rem}
.iquote .qn{font:600 .85rem/1.2 var(--font-b)}
.iquote .qc{font-size:.75rem;color:var(--faint)}
.subrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.subrow a{font:600 .78rem/1 var(--font-b);text-decoration:none;color:var(--acc-text);border:1px solid var(--line);background:#fff;border-radius:var(--r-pill);padding:8px 13px;transition:background var(--t),border-color var(--t)}
.subrow a:hover{background:var(--acc-quiet);border-color:var(--acc-line);color:var(--acc-text)}
.greet{font-size:1rem;color:var(--text);border-left:2px solid var(--acc-line);padding-left:14px;font-style:italic}
.greet .gs{display:block;font:500 .7rem/1 var(--font-m);color:var(--acc-text);font-style:normal;margin-bottom:6px}
/* ============ COMPARISON — Billo table ============ */
.cmpsec{background:var(--bg)}
.cmpwrap{margin-top:48px;overflow-x:auto;padding:30px 24px 26px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 70px rgba(4,18,28,.08)}
table.cmp{width:100%;border-collapse:separate;border-spacing:0;min-width:780px;font-size:.9rem}
.cmp th,.cmp td{padding:17px 18px;text-align:center;border-top:1px solid var(--line);vertical-align:middle}
.cmp thead th{border-top:0;font:600 .95rem/1.2 var(--font-b);color:var(--muted);padding:26px 18px 20px}
.cmp thead th:first-child{font:500 .74rem/1.4 var(--font-m);color:var(--faint);text-align:left}
.cmp tbody th{text-align:left;white-space:nowrap}
.cmp .rl{display:inline-flex;align-items:center;gap:11px;font:600 .88rem/1.3 var(--font-b);color:var(--text)}
.cmp .rl svg{width:30px;height:30px;padding:7px;border-radius:9px;background:var(--act-quiet);color:var(--act-h);flex:none}
.cmp td{color:var(--muted)}
/* the RingOut capsule, soft */
.cmp .ro{position:relative;color:var(--text);border-top-color:rgba(20,54,168,.1);
background:linear-gradient(180deg,#F3F7FE 0%,#EAF1FC 100%);border-left:1px solid rgba(20,54,168,.16);border-right:1px solid rgba(20,54,168,.16);width:200px}
.cmp thead .ro{border-top:1px solid rgba(20,54,168,.16);border-radius:20px 20px 0 0;padding-top:34px}
.cmp tfoot .ro{border-bottom:1px solid rgba(20,54,168,.16);border-radius:0 0 20px 20px;padding:18px 18px 22px;box-shadow:0 18px 36px rgba(20,54,168,.1)}
.cmp .ro b{font:700 1.02rem/1 var(--font-d);color:var(--act-h)}
.cmp .ro .cbig2{font-size:1.2rem;letter-spacing:-.02em}
.cmp thead .ro .rb{display:flex;justify-content:center}
.cmp thead .ro .rb svg{width:118px;height:auto;color:var(--ink)}
.cmp .best{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;
font:600 .64rem/1 var(--font-m);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--acc);border-radius:var(--r-pill);padding:7px 11px;box-shadow:0 8px 18px rgba(255,61,110,.35)}
.cmp .y{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(33,194,60,.12);color:var(--ok-text)}
.cmp .ro .y{background:var(--act-h);color:#fff;box-shadow:none}
.cmp .y svg{width:12px;height:12px}
.cmp .xc{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--faint);font-size:.78rem;font-weight:700}
.cmp .p{font-size:.8rem;color:var(--muted)}
.cmp tbody tr:nth-child(even) td:not(.ro),.cmp tbody tr:nth-child(even) th{background:var(--bg)}
.cmp tfoot td{border-top:0}
.cmp tfoot .btn{width:100%;justify-content:center}
/* ============ PRICING — grouped columns ============ */
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;text-align:left;margin-bottom:36px}
.phead .sublead{margin-top:14px}
.ptoggle{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:4px;gap:4px;box-shadow:0 10px 26px rgba(4,18,28,.06)}
.ptoggle button{font:600 .85rem/1 var(--font-b);color:var(--muted);background:transparent;border:0;border-radius:var(--r-pill);padding:11px 18px;cursor:pointer;transition:background var(--t),color var(--t)}
.ptoggle button:hover:not([aria-pressed="true"]){background:var(--tint);color:var(--text)}
.ptoggle button:active:not([aria-pressed="true"]){background:var(--tint)}
.ptoggle button[aria-pressed="true"]{background:var(--acc-quiet);color:var(--acc-text)}
.plan .price{min-height:44px}
.plan .btn{width:100%;justify-content:center;margin:16px 0 4px}
.ptoggle button[aria-pressed="true"]:hover{background:var(--acc-quiet)}
.ptoggle button[aria-pressed="true"]:active{background:var(--acc-quiet)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;align-items:stretch}
.plan{position:relative;min-width:0;background:#fff;border:2px solid var(--line);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column}
.plan.plan--hl{border-color:var(--acc);box-shadow:0 18px 44px rgba(255,61,110,.12)}
@media(max-width:1020px){.plans{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.plans{grid-template-columns:1fr}}
.plan .pn{display:flex;align-items:center;gap:10px}
.plan .pn h3{font:700 1.3rem/1.2 var(--font-d);letter-spacing:-.016em}
.pop-chip{font:600 .62rem/1 var(--font-m);letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--acc);border-radius:var(--r-pill);padding:6px 10px}
.plan .pd{font-size:.84rem;color:var(--muted);margin:10px 0 20px;min-height:60px;line-height:1.5}
.plan .price{display:flex;align-items:baseline;gap:6px}
.plan .price .v{font:700 2.4rem/1 var(--font-d);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.plan .price .u{font-size:.85rem;color:var(--faint)}
.plan .yr{font-size:.78rem;color:var(--faint);margin-top:6px;min-height:18px}
.pg{font:600 .86rem/1.3 var(--font-b);color:var(--text);margin:16px 0 10px}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fi{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);line-height:1.45;min-height:24px}
.fi>span:last-child{flex:1;min-width:0}
.ci{width:18px;height:18px;border-radius:50%;background:transparent;border:1.5px solid var(--acc);color:var(--acc);display:grid;place-items:center;flex:none;margin-top:2px}
.ci svg{width:10px;height:10px}
.fi.off .ci{border-color:var(--line);color:var(--faint)}
.fi.off span{color:var(--faint)}
.fi.cu .ci{border-color:transparent;background:var(--act-quiet);color:var(--act-text)}
.fi.soon .ci{border:1.5px dashed #F5B98A;color:#C2651A;background:rgba(255,138,61,.06)}
.fi.soon .ci svg{width:11px;height:11px}
.fi.soon>span:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}
.soonpill{font:600 .6rem/1 var(--font-m);font-style:normal;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
color:#9A4A12;background:linear-gradient(135deg,rgba(255,138,61,.16),rgba(255,61,110,.1));border:1px solid rgba(255,138,61,.35);
border-radius:var(--r-pill);padding:4px 8px}
.newchip{font:500 .58rem/1 var(--font-m);color:var(--acc-text);background:var(--acc-quiet);border-radius:4px;padding:3px 6px;margin-left:8px;vertical-align:middle}
.entband{margin-top:20px;background:var(--ink);color:#fff;border-radius:18px;padding:clamp(26px,4vw,40px);
display:grid;grid-template-columns:1.35fr .65fr;gap:36px;align-items:center;text-align:left;position:relative;overflow:hidden}
.entband::after{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-160px;border-radius:50%;
background:radial-gradient(circle,rgba(14,155,196,.4),transparent 70%);pointer-events:none}
@media(max-width:860px){.entband{grid-template-columns:1fr;gap:24px}}
.entkick{display:inline-flex;align-items:center;gap:8px;font:600 .78rem/1 var(--font-b);color:#fff;
background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);padding:8px 14px}
.entkick::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--p3)}
.entband h3{font:700 clamp(1.5rem,3vw,2rem)/1.15 var(--font-d);letter-spacing:-.024em;margin:16px 0 12px}
.entband p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.6;max-width:52ch}
.entchips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.entchips span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:600 .8rem/1 var(--font-b);color:#fff;
background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);padding:10px 14px}
.entchips svg{width:14px;height:14px;color:var(--p3)}
.entr{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:24px}
.entl2{font:500 .7rem/1 var(--font-m);color:var(--p3);letter-spacing:.06em;text-transform:uppercase}
.entlist{list-style:none;margin:14px 0 4px;padding:0;display:flex;flex-direction:column;gap:9px}
.entlist li{display:flex;align-items:center;gap:9px;font-size:.86rem;color:rgba(255,255,255,.85)}
.entlist svg{width:12px;height:12px;color:var(--p3);flex:none}
.entv{font:700 1.45rem/1.2 var(--font-d);letter-spacing:-.022em;color:#fff;margin-top:6px}
.entn{font-size:.76rem;color:rgba(255,255,255,.55);text-align:center;margin-top:4px}
.entr .btn{margin-top:14px;width:100%;justify-content:center}
.pfoot{font-size:.82rem;color:var(--faint);margin-top:22px;text-align:left}
/* ============ FAQ ============ */
.faq{max-width:720px;margin:44px auto 0;text-align:left}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:12px}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:baseline;padding:20px 24px;font:500 1.02rem/1.35 var(--font-d);letter-spacing:-.012em}
.faq summary::-webkit-details-marker{display:none}
.faq summary{transition:background var(--t)}
.faq summary:hover{background:var(--tint)}
.faq summary .fx{margin-left:auto;font-family:var(--font-m);color:var(--faint);transition:transform var(--t)}
.faq details[open] summary .fx{transform:rotate(45deg)}
.faq .fa{padding:0 24px 22px;font-size:.92rem;color:var(--muted);line-height:1.65;max-width:60ch}
/* ============ FINAL CTA — full-bleed Kingfisher ============ */
.cta{background:var(--p1);color:#fff;text-align:center;padding:110px 0;position:relative;overflow:hidden}
.cta .display{max-width:16ch}
.cta .sub{color:rgba(255,255,255,.78);font-size:1.08rem;max-width:44ch;margin:20px auto 34px}
.cta .micro{color:rgba(255,255,255,.6)}
.cta .ring{position:absolute;border:1.5px solid rgba(255,255,255,.14);border-radius:50%;pointer-events:none}
.cta .r1{width:540px;height:540px;left:-190px;top:-190px}
.cta .r2{width:760px;height:760px;left:-300px;top:-300px}
.cta .r3{width:520px;height:520px;right:-180px;bottom:-260px}
.cta .r4{width:740px;height:740px;right:-290px;bottom:-370px}
/* footer */
footer{background:#fff;color:var(--muted);border-top:1px solid var(--line);padding:70px 0 0;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:30px}
@media(max-width:960px){.fgrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.fgrid{grid-template-columns:1fr 1fr}}
.fh{font:700 .95rem/1.2 var(--font-b);color:var(--text);margin-bottom:16px}
.fcontact{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:18px 0 4px;font-size:.88rem}
.fcl{color:var(--muted)}
.femail{font:600 .92rem/1 var(--font-b);color:var(--act-text);text-decoration:none}
.femail:hover{color:var(--acc-text);text-decoration:underline}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.fcol a{font-size:.84rem;color:var(--muted);text-decoration:none;transition:color var(--t)}
.fcol a:hover{color:var(--link-h)}
.soon{font:500 .6rem/1 var(--font-m);color:var(--s2);border:1px solid rgba(255,138,61,.4);border-radius:var(--r-pill);padding:2px 7px;margin-left:7px}
.fabout p{font-size:.85rem;line-height:1.62;margin:10px 0 0;max-width:34ch;color:var(--faint)}
.fabout .ftag{font:700 1.08rem/1.3 var(--font-d);letter-spacing:-.016em;color:var(--text);margin-top:18px}
.fbadges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fbadges span{display:inline-flex;align-items:center;gap:7px;font:600 .74rem/1 var(--font-b);color:var(--act-h);
background:var(--act-quiet);border-radius:var(--r-pill);padding:8px 12px}
.fbadges svg{width:13px;height:13px}
.fabout .lockup{height:26px;width:auto;color:var(--ink)}
.socials{display:flex;gap:8px;margin-top:18px}
.socials a{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-pill);
border:1px solid var(--line);background:var(--surface);color:var(--muted);
transition:background var(--t),color var(--t),border-color var(--t)}
.socials a:hover{background:var(--act-quiet);border-color:var(--act-line);color:var(--act-text)}
.socials svg{width:16px;height:16px}
.flocs{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none}
.flocs::-webkit-scrollbar{display:none}
.flocs span{display:inline-flex;align-items:center;gap:6px;font:600 .76rem/1 var(--font-b);color:var(--text);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 12px;white-space:nowrap;flex:none}
.fbase{margin-top:26px;padding:22px 0;border-top:1px solid var(--line);display:flex;gap:18px;flex-wrap:wrap;font-size:.76rem;color:var(--faint)}
.fbase a{color:var(--faint);text-decoration:none;transition:color var(--t)}
.fbase a:hover{color:var(--link-h)}
.gword{display:flex;justify-content:center;margin:48px 0 -3.2vw;user-select:none;overflow:hidden;
-webkit-mask-image:linear-gradient(180deg,#000 55%,rgba(0,0,0,.25) 100%);mask-image:linear-gradient(180deg,#000 55%,rgba(0,0,0,.25) 100%)}
.gword svg{width:min(1040px,90vw);height:auto;color:var(--ink);opacity:.92}
/* prototype toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:80;background:var(--ink);color:#fff;
border-radius:12px;padding:13px 18px;font:500 .85rem/1.45 var(--font-b);max-width:min(440px,90vw);
box-shadow:0 18px 44px rgba(4,18,28,.3);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast code{font:500 .78rem/1 var(--font-m);color:var(--p3)}
/* mobile sticky */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
display:none;align-items:center;gap:12px;transform:translateY(110%);transition:transform .3s ease}
.mcta.on{transform:none}
.mcta .t{flex:1;font-size:.8rem;color:var(--muted)}
.mcta .t b{color:var(--ink)}
@media(max-width:700px){.mcta{display:flex}}
@media(prefers-reduced-motion:reduce){.mcta{transition:none}}
