:root{--hh:92px;--bg:#fbfbfa;--bg2:#efeff0;--ink:#0b0b0c;--ink2:#2a2c30;--mute:#4A4D52;--dim:#6E7178;--line:rgba(11,11,12,.12);--line2:rgba(11,11,12,.24);--glow:#4A4D52;--glowc:rgba(74,77,82,.22);--hdr:rgba(251,251,250,.86);--sg:#4A4D52;
--head:'Barlow Semi Condensed','Barlow',system-ui,sans-serif;--body:'Barlow',system-ui,-apple-system,sans-serif;--pad:clamp(20px,5vw,72px);--max:1240px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:300 17px/1.65 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,header,footer{position:relative;z-index:1}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font:500 12px/1 var(--head);letter-spacing:.32em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--line2)}
h1,h2,h3,h4{font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:.08em;line-height:1.08}
h1{font-size:clamp(38px,6.6vw,92px);letter-spacing:.06em}
h2{font-size:clamp(28px,4vw,52px);margin:22px 0 22px;max-width:24ch}
h3{font-size:18px;letter-spacing:.16em}
h4{font-size:14px;letter-spacing:.22em}
p.lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink2);max-width:58ch}
.mute{color:var(--mute)}
section{padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:12px;font:500 13px/1 var(--head);letter-spacing:.24em;text-transform:uppercase;padding:18px 28px;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:background .3s,color .3s;cursor:pointer}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--ink);color:var(--bg)}.btn.solid:hover{background:transparent;color:var(--ink)}
.link{font:500 13px/1 var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line2);padding-bottom:6px;transition:color .3s}
.link:hover{color:var(--ink)}
:focus-visible{outline:1px solid var(--glow);outline-offset:4px}

/* nav */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
header.scrolled{background:var(--hdr);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--hh);transition:height .45s cubic-bezier(.4,0,.2,1)}
.brand{display:flex;align-items:center;gap:14px;font:500 17px/1 var(--head);letter-spacing:.42em;text-transform:uppercase}
.brand svg{width:40px;height:40px;overflow:visible;flex:none;transition:width .45s cubic-bezier(.4,0,.2,1),height .45s cubic-bezier(.4,0,.2,1)}
.nav ul{display:flex;gap:34px;list-style:none}
.nav ul a{font:500 12px/1 var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);transition:color .3s}
.nav ul a:hover{color:var(--ink)}
.nav .btn{padding:13px 20px;font-size:12px}
.mob-only{display:none}.open .mob-only{display:block}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;position:relative}
.burger span{position:absolute;left:9px;right:9px;height:1px;background:var(--ink);transition:transform .3s,opacity .3s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:24px}
.open .burger span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.open .burger span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
@media(max-width:980px){
 .nav ul,.nav .btn.desk{display:none}.burger{display:block}
 .open .nav ul{display:flex;flex-direction:column;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--bg);padding:48px var(--pad);gap:30px}
 .open .nav ul a{font-size:16px;color:var(--ink)}
 .open header{background:var(--bg)}
}

/* hero */
.hero{min-height:auto;display:flex;align-items:center;padding:130px 0 40px;border:0;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;width:100%}
.hero h1 span{display:block;color:var(--mute)}
.hero p.lead{margin:30px 0 44px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:30px}
.small{font-size:13px;color:var(--dim);margin-top:26px;letter-spacing:.02em}
#heroMark{width:100%;max-width:580px;margin-left:auto;overflow:visible}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font:500 10px/1 var(--head);letter-spacing:.4em;color:var(--dim);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:12px}
.scroll-cue i{width:1px;height:42px;background:linear-gradient(var(--line2),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}#heroMark{max-width:240px;margin:0 auto;order:-1}.hero{padding-top:100px}.scroll-cue{display:none}}

/* svg constellation shared */
.c-line{stroke:var(--ink);stroke-opacity:.5;stroke-width:1;fill:none}
.draw .c-line{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.2,1)}
.draw.in .c-line{stroke-dashoffset:0}
.star{fill:var(--ink)}
.halo{fill:url(#halo)}
.tw{animation:tw 4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.35}}

/* journey */
.journey{padding:clamp(44px,6vw,80px) 0}
.journey .label{text-align:center;justify-content:center}
.journey .label::before{display:none}
#journeySvg{width:100%;height:auto;margin-top:48px;overflow:visible}
#journeySvg text{font:500 13px var(--head);letter-spacing:.26em;text-transform:uppercase;fill:var(--ink)}
#journeySvg text.sub{font:400 12px var(--body);letter-spacing:.02em;text-transform:none;fill:var(--mute)}
.journey-list{display:none}
@media(max-width:760px){#journeySvg{display:none}.journey-list{display:block;margin-top:40px;list-style:none;position:relative;padding-left:34px}
 .journey-list::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:var(--line2)}
 .journey-list li{position:relative;padding:0 0 28px}.journey-list li::before{content:"";position:absolute;left:-32px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 12px 2px var(--glowc)}
 .journey-list b{font:500 14px var(--head);letter-spacing:.24em;text-transform:uppercase;display:block}.journey-list span{color:var(--mute);font-size:15px}}

/* problem */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px)}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.lost{list-style:none;border-top:1px solid var(--line)}
.lost li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink2)}
.lost li b{font:500 12px/1.9 var(--head);letter-spacing:.2em;color:var(--dim)}
.lost li:hover b{color:var(--ink)}
.statement{font:500 clamp(20px,2.2vw,28px)/1.35 var(--head);letter-spacing:.1em;text-transform:uppercase;margin-top:44px}
.statement em{font-style:normal;color:var(--mute)}
.qs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.qs div{background:var(--bg);padding:28px 24px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;font-size:16px;color:var(--ink2)}
.qs div small{font:500 11px var(--head);letter-spacing:.24em;color:var(--dim)}
@media(max-width:860px){.qs{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.qs div{min-height:0;gap:14px;padding:20px 16px;font-size:15px}}
@media(max-width:340px){.qs{grid-template-columns:1fr}}

/* cinematic band */
.band{min-height:86vh;display:flex;align-items:center;text-align:center}
.band .wrap{display:flex;flex-direction:column;align-items:center}
.band h2{max-width:22ch;margin:26px auto}
.band p.lead{margin:0 auto}
#partnerSvg{width:100%;max-width:860px;margin:60px auto 0;overflow:visible}
#partnerSvg text{font:500 11px var(--head);letter-spacing:.24em;text-transform:uppercase;fill:var(--mute)}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:80px;text-align:left;width:100%}
.dodont>div{background:var(--bg);padding:40px clamp(22px,3vw,44px)}
.dodont ul{list-style:none;margin-top:24px}
.dodont li{padding:14px 0;border-top:1px solid var(--line);color:var(--ink2);font-size:16px;display:flex;gap:14px}
.dodont li::before{content:"—";color:var(--dim)}
.dodont .do li::before{content:"✦";color:var(--ink);font-size:11px;line-height:2.2}
@media(max-width:760px){.dodont{grid-template-columns:1fr}}

/* capabilities */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.cap{background:var(--bg);padding:44px clamp(22px,2.6vw,38px) 40px;position:relative;transition:background .4s}
.cap:hover{background:var(--bg2)}
.cap .idx{display:flex;align-items:center;gap:12px;font:500 11px var(--head);letter-spacing:.3em;color:var(--dim);margin-bottom:34px}
.cap .idx svg{width:44px;height:22px}
.cap p{color:var(--mute);font-size:16px;margin:14px 0 22px}
.cap ul{list-style:none;font-size:14px;color:var(--ink2)}
.cap li{padding:9px 0;border-top:1px solid var(--line)}
@media(max-width:980px){.caps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.caps{grid-template-columns:1fr}}

/* process */
.steps{position:relative;margin-top:90px;display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.steps svg.track{position:absolute;left:0;top:0;width:100%;height:60px;overflow:visible;pointer-events:none}
.step{padding-top:84px;position:relative}
.step::before{content:"";position:absolute;left:0;top:30px;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 14px 3px var(--glowc)}
.step:nth-child(odd)::before{width:7px;height:7px;top:31px}
.step .num{font:500 11px var(--head);letter-spacing:.3em;color:var(--dim);display:block;margin-bottom:14px}
.step p{color:var(--mute);font-size:15px;margin-top:12px}
@media(max-width:980px){.steps{grid-template-columns:1fr;gap:0;padding-left:40px}.steps svg.track{display:none}
 .steps::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--line2)}
 .step{padding:0 0 40px}.step::before{content:"";position:absolute;left:-39px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 12px 2px var(--glowc)}}

/* industries */
.inds{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:60px}
.inds div{padding:24px 4px;border-bottom:1px solid var(--line);font:500 14px var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);display:flex;align-items:center;gap:14px}
.inds div::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--ink);box-shadow:0 0 6px var(--ink);flex:none}
@media(max-width:860px){.inds{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.inds div{font-size:12px;letter-spacing:.14em}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.plan{background:var(--bg);padding:48px clamp(22px,2.6vw,40px);display:flex;flex-direction:column}
.plan.feat{background:var(--bg2);box-shadow:inset 0 1px 0 var(--ink)}
.plan .tag{font:500 11px var(--head);letter-spacing:.3em;color:var(--dim);text-transform:uppercase;min-height:16px}
.plan.feat .tag{color:var(--ink)}
.plan h3{font-size:clamp(22px,2.1vw,28px);letter-spacing:.18em;margin:22px 0 6px;display:flex;align-items:center;gap:14px}
.plan h3 svg{width:34px;height:24px;flex:none}
.plan .for{color:var(--mute);font-size:15px;min-height:50px}
.price{margin:30px 0 6px;font:400 44px/1 var(--head);letter-spacing:.04em}
.price small{font-size:14px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;margin-left:6px}
.retainer{font-size:14px;color:var(--mute);padding-bottom:28px;border-bottom:1px solid var(--line)}
.retainer b{color:var(--ink);font-weight:500}
.plan ul{list-style:none;margin:20px 0 36px;flex:1}
.plan li{padding:10px 0;font-size:15px;color:var(--ink2);display:flex;gap:12px}
.plan li::before{content:"";flex:none;width:4px;height:4px;border-radius:50%;background:var(--ink);margin-top:11px}
.plan .btn{justify-content:center}
.plans>*,.caps>*,.qs>*,.split>*{min-width:0}
@media(max-width:420px){.price small{display:block;margin:10px 0 0}}
.disclaim{margin-top:28px;font-size:13px;color:var(--dim);max-width:90ch}
@media(max-width:980px){.plans{grid-template-columns:1fr}.plan .for{min-height:0}}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px);margin-top:70px}
.quote{border-top:1px solid var(--line2);padding-top:30px}
.quote blockquote{font:400 clamp(19px,1.8vw,23px)/1.45 var(--head);letter-spacing:.02em}
.quote cite{display:block;margin-top:24px;font:normal 500 11px var(--head);letter-spacing:.28em;text-transform:uppercase;color:var(--dim)}
.ph{display:inline-block;font:500 10px var(--head);letter-spacing:.24em;text-transform:uppercase;border:1px dashed var(--dim);color:var(--mute);padding:6px 10px;margin-bottom:22px}
@media(max-width:860px){.quotes{grid-template-columns:1fr}}

/* faq */
.faq{border-top:1px solid var(--line);margin-top:60px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:28px 50px 28px 0;position:relative;font:500 clamp(15px,1.5vw,18px)/1.4 var(--head);letter-spacing:.14em;text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after,.faq summary::before{content:"";position:absolute;right:6px;top:50%;width:14px;height:1px;background:var(--ink);transition:transform .3s}
.faq summary::before{transform:rotate(90deg)}
.faq details[open] summary::before{transform:rotate(0)}
.faq details p{color:var(--mute);padding:0 0 30px;max-width:75ch}

/* audit */
.audit{min-height:90vh;display:flex;align-items:center}
.audit .split{align-items:start}
.checks{list-style:none;margin-top:36px}
.checks li{padding:14px 0;border-top:1px solid var(--line);color:var(--ink2);display:flex;gap:16px}
.checks li b{font:500 11px/2.2 var(--head);letter-spacing:.24em;color:var(--dim)}
form{display:grid;gap:22px}
label{font:500 11px var(--head);letter-spacing:.28em;text-transform:uppercase;color:var(--mute);display:grid;gap:10px}
input,select,textarea{background:transparent;border:0;border-bottom:1px solid var(--line2);color:var(--ink);font:300 17px var(--body);padding:10px 0;border-radius:0;-webkit-appearance:none;appearance:none;width:100%}
select option{background:var(--bg)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
textarea{resize:vertical;min-height:90px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:520px){.row2{grid-template-columns:1fr}}
.formnote{font-size:13px;color:var(--dim)}
.thanks{display:none;border:1px solid var(--line2);padding:36px}
.thanks.show{display:block}

footer{border-top:1px solid var(--line);padding:70px 0 50px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;align-items:flex-start}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:28px}
.foot ul a{font:500 11px var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.foot ul a:hover{color:var(--ink)}
.legal{margin-top:60px;font-size:12px;color:var(--dim);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 1.1s ease,transform 1.1s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*{animation:none!important;transition:none!important}
 .reveal{opacity:1;transform:none}.draw .c-line{stroke-dashoffset:0}
 .orbiter{display:none}
}

/* ---- Version C additions ---- */
.inv{--bg:#45484d;--bg2:#3d4045;--ink:#fff;--ink2:#e6e7e9;--mute:#d3d5d8;--dim:#c4c7cc;--line:rgba(255,255,255,.16);--line2:rgba(255,255,255,.3);--glowc:rgba(255,255,255,.35);background:var(--bg);color:var(--ink);position:relative;overflow:hidden;border-top:0}
.inv.black{--bg:#0b0b0c;--bg2:#161719;--mute:#b9bcc1;--dim:#9a9da3;--line:rgba(255,255,255,.13);--line2:rgba(255,255,255,.26)}
.inv>.wrap{position:relative;z-index:1}
.inv p.lead{color:var(--ink2)}
.inv .halo{opacity:.6}
canvas.sec-stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cap:hover{background:var(--bg2)}
.plan.feat{background:var(--bg2)}
.lost li{color:var(--ink2)}
/* calculator */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.calc>*{min-width:0;background:var(--bg)}
.calc .inputs{padding:clamp(24px,3.4vw,48px);display:grid;gap:30px}
.field label{display:flex;justify-content:space-between;gap:14px;font:500 12px/1.4 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}
.field output{font:500 18px/1 var(--head);letter-spacing:.06em;color:var(--ink);white-space:nowrap}
.field .hint{font-size:13px;color:var(--dim);margin-top:8px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,var(--ink) var(--p,50%),var(--line2) var(--p,50%));border:0;padding:0;margin:8px 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--line2);cursor:pointer}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink);border:0;cursor:pointer}
.results{padding:clamp(24px,3.4vw,48px);display:flex;flex-direction:column}
.res{padding:20px 0;border-bottom:1px solid var(--line)}
.res:first-child{padding-top:0}
.res small{display:block;font:500 11px var(--head);letter-spacing:.26em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.res b{font:400 clamp(30px,3.6vw,44px)/1 var(--head);letter-spacing:.04em}
.res.big b{font-size:clamp(40px,5vw,64px)}
.assume{font-size:13px;color:var(--dim);margin:22px 0 26px;line-height:1.55}
.results .btn{align-self:flex-start}
@media(max-width:880px){.calc{grid-template-columns:1fr}}
/* demo chat */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:12px;background:#0b0b0c;color:#fff;border:1px solid #0b0b0c;padding:10px 18px 10px 12px;font:500 12px/1 var(--head);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px -12px rgba(0,0,0,.45)}
.chat-fab svg{width:28px;height:28px;overflow:visible}
.chat{position:fixed;right:20px;bottom:78px;z-index:81;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100svh - 110px));background:#fbfbfa;color:#0b0b0c;border:1px solid rgba(11,11,12,.18);box-shadow:0 30px 70px -24px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s,transform .25s}
.chat.open{opacity:1;transform:none;pointer-events:auto}
.chat-h{background:#0b0b0c;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.chat-h svg{width:30px;height:30px;flex:none;overflow:visible}
.chat-h b{display:block;font:500 13px var(--head);letter-spacing:.24em;text-transform:uppercase}
.chat-h small{font-size:12px;color:#b9bcc1}
.chat-h button{margin-left:auto;background:none;border:0;color:#fff;font-size:26px;line-height:1;width:36px;height:36px;cursor:pointer}
.demo-bar{background:#4A4D52;color:#fff;font:500 11px/1.4 var(--head);letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;text-align:center}
.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:85%;padding:11px 14px;font-size:15px;line-height:1.45;white-space:pre-line}
.msg.bot{background:#efeff0;border:1px solid rgba(11,11,12,.08);align-self:flex-start;color:#1c1d20}
.msg.me{background:#0b0b0c;color:#fff;align-self:flex-end}
.typing{display:inline-flex;gap:4px}.typing i{width:5px;height:5px;border-radius:50%;background:#4A4D52;animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
.quick button{font:500 11px var(--head);letter-spacing:.14em;text-transform:uppercase;border:1px solid #0b0b0c;background:transparent;color:#0b0b0c;padding:8px 11px;cursor:pointer}
.quick button:hover{background:#0b0b0c;color:#fff}
.chat form{display:flex;gap:0;border-top:1px solid rgba(11,11,12,.14);grid-template-columns:none}
.chat form input{flex:1;min-width:0;border:0;padding:15px 16px;font:300 16px var(--body);background:#fff;color:#0b0b0c}
.chat form input:focus{outline:none;background:#f6f6f7}
.chat form button{border:0;background:#0b0b0c;color:#fff;padding:0 20px;font:500 12px var(--head);letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
@media(max-width:520px){.chat{right:12px;bottom:70px}.chat-fab{right:12px;bottom:12px}.chat-fab span{display:none}.chat-fab{padding:11px}}
@media (prefers-reduced-motion:reduce){.chat{transition:none}}

/* ---- v2: header lockup + condense ---- */
.brand .wm{display:flex;flex-direction:column;line-height:1}
.wm-name{font:500 17px/1 var(--head);letter-spacing:.42em;text-transform:uppercase}
.wm-sub{font:500 8.5px/1 var(--head);letter-spacing:.5em;text-transform:uppercase;color:var(--mute);max-height:12px;margin-top:8px;overflow:hidden;opacity:1;transform:none;
 transition:max-height .45s cubic-bezier(.4,0,.2,1),margin-top .45s cubic-bezier(.4,0,.2,1),opacity .3s ease,transform .45s cubic-bezier(.4,0,.2,1)}
header.scrolled{--hh:64px}
header.scrolled .wm-sub,.open header .wm-sub{max-height:0;margin-top:0;opacity:0;transform:translateY(-6px)}
header.scrolled .brand svg{width:32px;height:32px}
.open header{--hh:64px}
.nav ul a{position:relative}
.nav ul a[aria-current=page]{color:var(--ink)}
.nav ul a[aria-current=page]::after{content:"";position:absolute;left:0;right:.24em;bottom:-9px;height:1px;background:var(--ink)}
@media(max-width:980px){.nav ul a[aria-current=page]::after{display:none}.open .nav ul a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}}
@media(max-width:1180px) and (min-width:981px){.nav ul{gap:22px}}
footer .wm-sub{max-height:none}
/* page hero */
.page-hero{padding:calc(var(--hh) + 90px) 0 clamp(80px,10vw,130px);border:0;position:relative;overflow:hidden}
.page-hero .wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:center}
.page-hero h1{font-size:clamp(36px,5.2vw,74px);margin:26px 0 26px}
.page-hero .mini{width:100%;max-width:320px;margin-left:auto;overflow:visible}
@media(max-width:860px){.page-hero .wrap{grid-template-columns:1fr}.page-hero .mini{max-width:200px;margin:0;order:-1}.page-hero{padding-top:calc(var(--hh) + 30px)}}
.more{margin-top:50px;display:flex;flex-wrap:wrap;gap:26px;align-items:center}
/* grey cards inside light sections */
.inv.card{border-top:0}
.cap.inv .idx,.cap.inv .idx svg{color:#fff}
.cap.inv ul li{border-color:var(--line)}
/* services detail */
.svc{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:start}
.svc>*{min-width:0}
.svc .big-n{font:400 clamp(60px,8vw,120px)/.9 var(--head);letter-spacing:.02em;color:var(--dim);display:block;margin-bottom:10px}
.inv .svc .big-n{color:var(--mute)}
.svc h2{margin-top:10px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:34px}
.cols2>div{background:var(--bg);padding:28px 26px}
.cols2 h4{margin-bottom:14px}
.cols2 ul{list-style:none}
.cols2 li{padding:10px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink2);display:flex;gap:12px}
.cols2 li::before{content:"✦";font-size:9px;line-height:2.6;color:var(--ink)}
.fit{margin-top:22px;font-size:15px;color:var(--mute)}
.fit b{font:500 11px var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-right:10px}
@media(max-width:880px){.svc{grid-template-columns:1fr}}
@media(max-width:560px){.cols2{grid-template-columns:1fr}}
.svc-map{width:100%;max-width:980px;margin:60px auto 0;overflow:visible}
.svc-map a text{font:500 12px var(--head);letter-spacing:.26em;text-transform:uppercase;fill:currentColor}
.svc-map a:hover circle.star{r:6}
.chips{display:none;flex-wrap:wrap;gap:10px;margin-top:36px}
.chips a{border:1px solid var(--line2);padding:10px 14px;font:500 11px var(--head);letter-spacing:.2em;text-transform:uppercase}
@media(max-width:760px){.svc-map{display:none}.chips{display:flex}}
/* process timeline */
.tl{list-style:none;margin-top:70px;position:relative}
.tl::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--line2)}
.tl>li{position:relative;padding:0 0 0 52px;margin-bottom:22px}
.tl>li::before{content:"";position:absolute;left:0;top:30px;width:11px;height:11px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px var(--bg)}
.tl .row{display:grid;grid-template-columns:200px 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.tl .row>div{background:var(--bg);padding:26px 24px}
.tl .row h3{margin-top:8px}
.tl .row small{font:500 11px var(--head);letter-spacing:.26em;color:var(--dim);text-transform:uppercase}
.tl .row p{color:var(--ink2);font-size:15.5px;margin-top:8px}
.tl .row ul{list-style:none;margin-top:8px}
.tl .row li{font-size:15px;color:var(--ink2);padding:5px 0}
.tl .row li::before{content:"— ";color:var(--dim)}
.tl>li.inv .row,.tl .row.inv{}
@media(max-width:900px){.tl .row{grid-template-columns:1fr}}
.timing{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px}
.timing>div{background:var(--bg);padding:34px 28px}
.timing b{display:block;font:400 clamp(34px,4vw,52px)/1 var(--head);letter-spacing:.04em;margin:16px 0 12px}
.timing p{color:var(--ink2);font-size:15.5px}
@media(max-width:760px){.timing{grid-template-columns:1fr}}
/* comparison */
.cmp-wrap{margin-top:60px;overflow-x:auto;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:620px;border-collapse:collapse;font-size:15px}
.cmp th,.cmp td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp thead th{font:500 13px var(--head);letter-spacing:.24em;text-transform:uppercase;background:var(--bg2)}
.cmp thead th small{display:block;font:400 13px var(--body);letter-spacing:0;text-transform:none;color:var(--mute);margin-top:6px}
.cmp td{color:var(--ink2)}
.cmp td:not(:first-child),.cmp th:not(:first-child){text-align:center;width:19%}
.cmp tr.grp td{font:500 11px var(--head);letter-spacing:.28em;text-transform:uppercase;color:var(--mute);background:var(--bg2);padding:12px 18px}
.cmp .y::before{content:"✦";font-size:12px}
.cmp .n{color:var(--dim)}
.cmp .n::before{content:"—"}
.scroll-hint{display:none;font-size:12px;color:var(--mute);margin-top:10px}
@media(max-width:700px){.scroll-hint{display:block}}
/* beliefs */
.beliefs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px}
.beliefs>div{background:var(--bg);padding:38px 34px}
.beliefs b{font:500 11px var(--head);letter-spacing:.3em;color:var(--dim)}
.beliefs h3{margin:16px 0 12px}
.beliefs p{color:var(--ink2);font-size:16px}
@media(max-width:760px){.beliefs{grid-template-columns:1fr}}
/* next steps / contact */
.next3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.next3>div{background:var(--bg);padding:32px 28px}
.next3 b{font:500 11px var(--head);letter-spacing:.3em;color:var(--mute)}
.next3 h3{margin:14px 0 10px}
.next3 p{color:var(--ink2);font-size:15.5px}
@media(max-width:760px){.next3{grid-template-columns:1fr}}
.cta-band{text-align:center}
.cta-band .wrap{display:flex;flex-direction:column;align-items:center}
.cta-band h2{margin:22px auto;max-width:22ch}
.cta-band .lead{margin:0 auto 40px}
.teaser-caps .cap p{margin-bottom:0}
.inv .link{color:var(--ink2)}
.contact-lines{list-style:none;margin-top:34px;border-top:1px solid var(--line)}
.contact-lines li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:15.5px}
.contact-lines b{font:500 11px var(--head);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap}
.foot-cols h4{font-size:11px;color:var(--mute);margin-bottom:18px}
.foot-cols ul{flex-direction:column;gap:12px}
/* AI agents */
.ai2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.ai2>article{background:var(--bg);padding:clamp(28px,3.4vw,46px)}
.ai2 .tag,.vsum .tag{font:500 11px var(--head);letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}
.ai2 h3{font-size:clamp(20px,2vw,26px);margin:14px 0 18px}
.ai2 ul{list-style:none;margin-bottom:28px}
.ai2 li{padding:11px 0;border-top:1px solid var(--line);color:var(--ink2);font-size:16px;display:flex;gap:12px}
.ai2 li::before{content:"✦";font-size:9px;line-height:2.6;color:var(--ink)}
@media(max-width:760px){.ai2{grid-template-columns:1fr}}
.uc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.uc>div{background:var(--bg);padding:32px 28px}
.uc h3{font-size:16px;margin-bottom:14px}
.uc p{color:var(--ink2);font-size:15.5px;margin-top:8px}
@media(max-width:900px){.uc{grid-template-columns:1fr 1fr}}@media(max-width:600px){.uc{grid-template-columns:1fr}}
.setup5{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.setup5 li{background:var(--bg);padding:28px 22px}
.setup5 span{font:500 11px var(--head);letter-spacing:.3em;color:var(--mute)}
.setup5 h3{font-size:16px;margin:14px 0 10px}
.setup5 p{color:var(--ink2);font-size:15px}
@media(max-width:1000px){.setup5{grid-template-columns:1fr 1fr}}@media(max-width:560px){.setup5{grid-template-columns:1fr}}
.vdemo{display:grid;grid-template-columns:1.25fr .75fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.vdemo>*{background:var(--bg);min-width:0}
.phone{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column}
.ph-top{display:flex;align-items:center;gap:14px}
.ph-top b{display:block;font:500 13px var(--head);letter-spacing:.22em;text-transform:uppercase}
.ph-top small{color:var(--mute);font-size:13px}
.live{width:10px;height:10px;border-radius:50%;background:#fff;flex:none;opacity:.35}
.phone.playing .live{opacity:1;animation:tw 1.2s ease-in-out infinite}
.vtime{margin-left:auto;font:400 22px var(--head);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.wave{display:flex;align-items:center;gap:4px;height:56px;margin:26px 0 22px}
.wave i{flex:1;height:100%;background:var(--ink);opacity:.35;transform:scaleY(.08);transform-origin:center;border-radius:2px;transition:transform .3s}
.phone.talking .wave i{animation:wv .9s ease-in-out infinite;animation-delay:calc(var(--d) * -1);opacity:.85}
.phone.caller .wave i{opacity:.5}
@keyframes wv{0%,100%{transform:scaleY(.12)}50%{transform:scaleY(.95)}}
.vctrl{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:22px}
.vnote{font-size:12px;color:var(--dim);letter-spacing:.04em}
.vtrans{list-style:none;display:flex;flex-direction:column;gap:12px;max-height:360px;min-height:120px;overflow-y:auto;padding-right:4px;border-top:1px solid var(--line);padding-top:20px}
.vtrans li{max-width:88%;padding:12px 14px;font-size:15px;line-height:1.5;animation:lnin .35s ease both}
.vtrans li small{display:block;font:500 10px var(--head);letter-spacing:.26em;text-transform:uppercase;color:var(--mute);margin-bottom:5px}
.vtrans li.agent{background:var(--bg2);align-self:flex-start;border:1px solid var(--line)}
.vtrans li.caller{border:1px solid var(--line2);align-self:flex-end}
.vtrans:empty::before{content:"Press play to start the scripted demo call.";color:var(--dim);font-size:14px}
@keyframes lnin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vsum{padding:clamp(22px,3vw,36px)}
.vsum dl{opacity:.35;transition:opacity .6s}
.vsum.show dl{opacity:1}
.vsum dl{margin:20px 0}
.vsum dl div{padding:14px 0;border-top:1px solid var(--line)}
.vsum dt{font:500 10px var(--head);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.vsum dd{margin-top:5px;font-size:15px;color:var(--ink2)}
@media(max-width:900px){.vdemo{grid-template-columns:1fr}}

.caps.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.caps.four{grid-template-columns:1fr 1fr}}@media(max-width:600px){.caps.four{grid-template-columns:1fr}}
.steps.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){.steps.three{grid-template-columns:1fr}}
.pts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.pts li{background:var(--bg);padding:34px 28px}
.pts b{font:500 11px var(--head);letter-spacing:.3em;color:var(--mute)}
.pts h3{margin-top:14px;font-size:clamp(17px,1.6vw,20px)}
@media(max-width:760px){.pts{grid-template-columns:1fr}}
.calc.three{grid-template-columns:1fr 1fr}
@media(max-width:880px){.calc.three{grid-template-columns:1fr}}
.hero + section.inv{padding-top:clamp(44px,5vw,72px)}
.hero .scroll-cue{display:none}
