/* Veloxis Intelligence — shared styles */
:root{
  --bg:#0C0F12;--bg-2:#12161B;--ink:#F2F0EA;--mint:#7FC4A8;--green:#1F6B55;--dark:#11151A;
  --l1:#1E242B;--l2:#222830;--l3:#262D35;--l4:#2A3139;--l5:#39414A;--l6:#4A535D;
  --g1:#D5D9DD;--g2:#C3C8CE;--g3:#AEB5BC;--g4:#9AA2AB;--g5:#8C949D;--g6:#7A838C;--g7:#6E7780;
  --p-line:#DAD6CD;--p-line2:#CFCAC0;--p-g1:#2A3038;--p-g2:#4A5058;
  --serif:'Instrument Serif',Georgia,serif;--sans:'Geist',system-ui,sans-serif;--mono:'Geist Mono',ui-monospace,monospace;
  --pad:clamp(20px,4vw,56px);--ease:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--mint);text-decoration:none}
a:hover{color:var(--ink)}
*{box-sizing:border-box}
::selection{background:var(--mint);color:var(--bg)}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
input[type=range]{accent-color:var(--mint)}
button{font-family:inherit}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes vx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vx-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes vx-breathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}
@keyframes vx-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}

.page{background:var(--bg);min-height:100vh;overflow-x:clip}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g5);margin:0 0 24px}
.mono{font-family:var(--mono)}
.serif{font-family:var(--serif);font-weight:400}
.h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,6vw,100px);line-height:.95;letter-spacing:-.025em}
.h2 em,.mint{color:var(--mint)}
em{font-style:italic}
.light{background:var(--paper,#F2F0EA);color:var(--dark)}
.light .eyebrow{color:var(--p-g2)}
.light .h2 em{color:var(--green)}

/* fixed fx */
.fx-spot{position:fixed;inset:0;pointer-events:none;z-index:65;mix-blend-mode:screen;background:radial-gradient(560px circle at 65% 35%,rgba(127,196,168,.13),rgba(127,196,168,0) 60%)}
.fx-prog{position:fixed;top:0;left:0;right:0;height:2px;background:var(--mint);transform-origin:0 50%;transform:scaleX(0);z-index:70}
.fx-ring{position:fixed;top:0;left:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid var(--mint);border-radius:50%;pointer-events:none;z-index:90;opacity:0;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .3s,opacity .3s}
.fx-ring.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(127,196,168,.14)}
.glow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(127,196,168,var(--op,.14)) 0%,rgba(127,196,168,0) 65%);animation:vx-breathe 14s ease-in-out infinite;pointer-events:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;font-size:15px;font-weight:500;white-space:nowrap;transition:background .3s,border-color .3s,color .3s;cursor:pointer;border:0}
.btn-mint{background:var(--mint);color:var(--bg);height:54px;padding:0 26px}
.btn-mint:hover{background:var(--ink);color:var(--bg)}
.btn-ink{background:var(--ink);color:var(--bg);height:44px;padding:0 20px;font-size:14px}
.btn-ink:hover{background:var(--mint);color:var(--bg)}
.btn-ghost{border:1px solid var(--l6);color:var(--ink);height:54px;padding:0 26px;font-weight:400;background:transparent}
.btn-ghost:hover{border-color:var(--ink);background:rgba(242,240,234,.06);color:var(--ink)}
.btn-lg{height:58px;padding:0 30px;font-size:16px}
.pill{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border:1px solid var(--l5);background:transparent;border-radius:999px;color:var(--g2);cursor:pointer;transition:border-color .3s,color .3s}
.pill:hover{border-color:var(--mint);color:var(--ink)}
.link-u{font-size:14px;color:var(--mint);border-bottom:1px solid var(--mint);padding-bottom:3px}
.link-u:hover{color:var(--ink);border-color:var(--ink)}
.link-u.inv{color:var(--ink);border-color:var(--ink)}
.link-u.inv:hover{color:var(--mint);border-color:var(--mint)}
.dash-list{margin:0;padding:0;list-style:none}
.dash-list li{display:flex;gap:14px}
.dash-list li::before{content:"";flex:0 0 14px;height:1.5px;background:var(--mint);margin-top:.72em}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(12,15,18,0);border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.hdr.solid{background:rgba(12,15,18,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--l1)}
.hdr nav.bar{max-width:1440px;margin:0 auto;padding:0 var(--pad);height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:baseline;gap:8px;color:var(--ink)}
.logo:hover{color:var(--ink)}
.logo b{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1}
.logo small{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--g4)}
.hdr-r{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}
.hdr-links{white-space:nowrap;display:flex;gap:clamp(18px,2.2vw,32px);font-size:14px}
.hdr-links a{color:var(--g1)}
.hdr-links a:hover,.hdr-links a[aria-current=page]{color:#fff}
.ask{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px 0 16px;border:1px solid var(--l5);background:transparent;border-radius:999px;color:var(--g2);font-size:13px;cursor:pointer;transition:border-color .3s,color .3s}
.ask:hover{border-color:var(--mint);color:var(--ink)}
.kbd{font-family:var(--mono);font-size:11px;color:var(--g6);border:1px solid var(--l4);padding:2px 6px;border-radius:4px}
.menu-btn{display:none;align-items:center;justify-content:center;font-size:18px !important;width:44px;height:44px;border:1px solid var(--l5);background:transparent;border-radius:999px;font-size:14px;color:var(--ink);cursor:pointer}
.mmenu{display:none;background:var(--bg);border-top:1px solid var(--l2);padding:16px var(--pad) 28px}
.mmenu a{display:block;font-family:var(--serif);font-size:36px;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--l2)}
.hdr.open{background:rgba(12,15,18,.96)}
.hdr.open .mmenu{display:grid}
@media (max-width:1139px){.hdr-links,.ask{display:none}.menu-btn{display:inline-flex}}
@media (max-width:520px){.hdr .btn-ink .long{display:none}}

/* rail */
.rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:40;display:grid;gap:12px}
.rail a{display:flex;align-items:center;justify-content:flex-end;gap:12px;height:16px;color:var(--g6);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:color .3s}
.rail a span:first-child{opacity:0;transition:opacity .3s;white-space:nowrap}
.rail a i{width:12px;height:2px;background:currentColor;transition:width .45s var(--ease)}
.rail a.on{color:var(--rail-ink,var(--ink))}
.rail a.on span:first-child,.rail a:hover span:first-child{opacity:1}
.rail a.on i{width:28px}
@media (max-width:1199px){.rail{display:none}}

/* sticky mobile cta */
.sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:none;gap:8px;padding:6px;background:rgba(18,22,27,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--l4);border-radius:999px}
.sticky.show{display:flex}
.sticky a{flex:1;display:flex;align-items:center;justify-content:center;height:50px;background:var(--mint);color:var(--bg);font-size:15px;font-weight:500;border-radius:999px}
.sticky button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid var(--l5);background:transparent;color:var(--ink);font-size:18px;cursor:pointer}
@media (min-width:1000px){.sticky.show{display:none}}

/* command palette */
.cmd{position:fixed;inset:0;z-index:100;background:rgba(6,8,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}
.cmd.open{display:flex}
.cmd-box{width:100%;max-width:640px;background:var(--bg-2);border:1px solid var(--l4);border-radius:12px;box-shadow:0 40px 120px rgba(0,0,0,.6);overflow:hidden}
.cmd-top{display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--l2)}
.cmd-top input{flex:1;min-width:0;height:62px;background:transparent;border:0;outline:none;color:var(--ink);font-family:inherit;font-size:17px}
.cmd-top button{font-family:var(--mono);font-size:11px;color:var(--g4);border:1px solid var(--l4);background:transparent;padding:4px 7px;border-radius:4px;cursor:pointer}
.cmd-list{max-height:52vh;overflow-y:auto;padding:8px}
.cmd-item{width:100%;display:grid;gap:8px;text-align:left;padding:14px;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s}
.cmd-item.on{background:#1C232A}
.cmd-item .row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:15px;line-height:1.4}
.cmd-item .kind{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);flex-shrink:0}
.cmd-item .ans{font-size:14px;line-height:1.55;color:var(--g3)}
.cmd-empty{padding:24px 14px;font-size:14px;line-height:1.6;color:var(--g4)}
.cmd-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--l2);font-size:12px;color:var(--g6)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:-10% 0 0 0;will-change:transform}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,15,18,.55) 0%,rgba(12,15,18,.2) 40%,rgba(12,15,18,.92) 82%,#0C0F12 100%)}
.hero-in{position:relative;width:100%;padding-top:180px;padding-bottom:clamp(40px,5vw,64px)}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g3);margin-bottom:clamp(24px,3vw,40px);opacity:0;transition:opacity 1.2s ease .2s}
.hero-tags .dot{display:flex;align-items:center;gap:10px}
.hero-tags .dot::before{content:"";width:7px;height:7px;background:var(--mint);border-radius:50%}
.h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(52px,9.6vw,168px);line-height:.92;letter-spacing:-.03em;max-width:13ch;display:flex;flex-wrap:wrap;column-gap:.24em}
.h1 .w{display:inline-block;overflow:hidden;padding-bottom:.08em}
.h1 .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.3s var(--ease)}
.h1 .w em{color:var(--mint)}
.hero-sub{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(28px,5vw,96px);margin-top:clamp(32px,4vw,56px);align-items:end;opacity:0;transform:translateY(20px);transition:opacity 1.2s ease .9s,transform 1.2s var(--ease) .9s}
.hero-sub p{margin:0;font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:var(--g1);max-width:44ch;text-wrap:pretty}
.hero-sub .ctas{display:flex;flex-wrap:wrap;gap:12px}
.ready .hero-tags,.ready .hero-sub{opacity:1;transform:none}
.ready .h1 .w>span{transform:none}
.marquee{position:relative;border-top:1px solid var(--l2);border-bottom:1px solid var(--l2);overflow:hidden;padding:20px 0;background:rgba(12,15,18,.6)}
.mq-track{display:flex;width:max-content;animation:vx-marquee 60s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-row{display:flex;gap:56px;padding-right:56px;flex-shrink:0}
.mq-item{display:flex;align-items:baseline;gap:12px;white-space:nowrap}
.mq-item b{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--ink)}
.mq-item span{font-size:14px;color:var(--g4)}
.mq-item .i{color:#3A424B;margin-left:44px;width:9px;height:9px;align-self:center}

/* problem */
.problem{padding-top:clamp(120px,16vw,240px);padding-bottom:clamp(120px,16vw,240px)}
.stmt{margin:0;font-family:var(--serif);font-size:clamp(40px,6vw,96px);line-height:1.02;letter-spacing:-.02em;max-width:18ch;display:flex;flex-wrap:wrap;column-gap:.24em}
.stmt span{color:#2E353D;transition:color .5s ease}
.stmt span.lit{color:var(--ink)}
.stmt span.it{font-style:italic}
.stmt span.it.lit{color:var(--mint)}

/* leaks */
.sec-pad{padding-top:clamp(100px,12vw,180px);padding-bottom:clamp(100px,12vw,180px)}
.leaks .wrap{padding-top:clamp(88px,11vw,160px);padding-bottom:clamp(88px,11vw,160px)}
.split-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(48px,6vw,88px)}
.leaks h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,84px);line-height:.98;letter-spacing:-.02em;max-width:14ch}
.leaks h2 em{color:var(--green)}
.split-head p{margin:0;max-width:36ch;font-size:16px;line-height:1.6;color:var(--p-g2)}
.leak-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));border-top:1px solid var(--dark)}
.leak{padding:36px clamp(0px,2vw,32px) 40px 0;border-right:1px solid var(--p-line);margin-right:clamp(0px,2vw,32px);display:flex;flex-direction:column;gap:20px}
.leak:last-child{border-right:0}
.leak .n{font-family:var(--mono);font-size:12px;color:var(--green)}
.leak h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3vw,44px);line-height:1.05}
.leak p{margin:0;font-size:16px;line-height:1.6;color:var(--p-g1);text-wrap:pretty}
.leak .stat{margin-top:auto;padding-top:24px;border-top:1px solid var(--p-line);display:flex;align-items:baseline;gap:14px}
.leak .stat b{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1;color:var(--dark)}
.leak .stat span{font-size:14px;line-height:1.4;color:var(--p-g2)}
@media (max-width:720px){.leak{border-right:0;margin-right:0;border-bottom:1px solid var(--p-line)}}

/* outcomes */
.out-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5vw,80px);align-items:stretch}
.out-tabs{border-top:1px solid var(--l4)}
.out-tab{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:26px 0;background:transparent;border:0;border-bottom:1px solid var(--l4);color:var(--g7);text-align:left;cursor:pointer;transition:color .3s}
.out-tab .n{font-family:var(--mono);font-size:12px;color:var(--g6)}
.out-tab .t{font-family:var(--serif);font-size:clamp(28px,2.8vw,44px);line-height:1.05;transition:transform .5s var(--ease)}
.out-tab .a{display:flex;font-size:22px;color:var(--mint);opacity:0;transition:opacity .3s}
.out-tab[aria-selected=true]{color:var(--ink)}
.out-tab[aria-selected=true] .t{transform:translateX(10px)}
.out-tab[aria-selected=true] .a{opacity:1}
.panel{position:relative;background:linear-gradient(160deg,#161B21,#0F1317);border:1px solid var(--l3);padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;gap:28px;overflow:hidden}
.panel .svc{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.panel .promise{margin:0;font-family:var(--serif);font-size:clamp(28px,2.6vw,40px);line-height:1.15;text-wrap:pretty}
.panel ul{border-top:1px solid var(--l3)}
.panel li{padding:15px 0;border-bottom:1px solid var(--l3);font-size:15px;line-height:1.5;color:var(--g1)}
.panel .foot{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-end}
.panel .big{font-family:var(--serif);font-size:clamp(56px,5.6vw,88px);line-height:.9;letter-spacing:-.02em}
.panel .cap{font-size:14px;color:var(--g4);margin-top:10px}
.anim-in{animation:vx-in .75s var(--ease)}

/* results (home) */
.bt{border-top:1px solid var(--l1)}
.res-side{display:grid;gap:16px;justify-items:start}
.res-side p{margin:0;max-width:36ch;font-size:15px;line-height:1.6;color:var(--g4)}
.pill.mono{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.pill .ic{color:var(--mint)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(40px,5vw,72px)}
.chip{position:relative;overflow:hidden;display:inline-flex;align-items:center;height:44px;padding:0 20px;border:1px solid var(--l5);background:transparent;color:var(--g1);font-size:14px;border-radius:999px;cursor:pointer;transition:all .3s}
.chip:hover{border-color:var(--g4);color:var(--ink)}
.chip[aria-selected=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip .bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green);transform-origin:0 50%;animation:vx-fill 8s linear forwards}
.chip.sm{height:40px;padding:0 18px;font-size:13px}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(40px,5vw,88px);align-items:start}
.case-grid>div{min-width:0}
.case-tag{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:20px}
.case-hero{font-family:var(--serif);font-size:clamp(96px,14vw,220px);line-height:.82;letter-spacing:-.04em}
.case-heroL{font-size:clamp(18px,1.6vw,22px);color:var(--g1);margin-top:20px;max-width:28ch}
.case-client{margin:40px 0 0;padding-top:24px;border-top:1px solid var(--l3);font-family:var(--serif);font-weight:400;font-size:28px}
.case-right{display:grid;gap:28px}
.lbl{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--g5);margin-bottom:10px}
.case-right p{margin:0;font-size:17px;line-height:1.6;color:var(--g1);text-wrap:pretty}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--l3)}
.two>div{padding:22px 16px 0 0}
.two b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,3.6vw,56px);line-height:1}
.two span{display:block;font-size:14px;line-height:1.4;color:var(--g4);margin-top:8px}
.case-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding-top:20px;border-top:1px solid var(--l3)}
.case-foot .k{font-family:var(--mono);font-size:13px;color:var(--mint)}

/* calculator */
.calc .lede{margin:0 0 clamp(48px,6vw,80px);font-size:17px;line-height:1.6;color:var(--p-g1);max-width:52ch}
.seg{display:inline-flex;padding:4px;border:1px solid var(--p-line2);border-radius:999px;margin-bottom:40px}
.seg button{height:44px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:var(--dark);font-size:14px;cursor:pointer;transition:all .3s}
.seg button[aria-selected=true]{background:var(--dark);color:var(--ink)}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px)}
.sliders{display:grid;gap:32px;align-content:start}
.sliders label{display:grid;gap:12px}
.sliders .top{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:var(--p-g1)}
.sliders .top b{font-family:var(--mono);color:var(--dark);font-weight:500}
.sliders input{width:100%;height:28px;accent-color:var(--green)}
.calc-out{background:var(--bg);color:var(--ink);padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;gap:36px}
.calc-out .l{font-size:14px;color:var(--g4);margin-bottom:14px}
.calc-out .a{font-family:var(--serif);font-size:clamp(60px,7.4vw,120px);line-height:.9;letter-spacing:-.03em}
.calc-out .b{font-family:var(--serif);font-size:clamp(48px,5.6vw,88px);line-height:.9;letter-spacing:-.02em;color:var(--mint)}
.calc-out .sep{border-top:1px solid var(--l3);padding-top:28px}
.calc-out .note{margin:20px 0 0;font-size:13px;line-height:1.55;color:var(--g4)}

/* method */
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--l4)}
.steps li{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px clamp(24px,4vw,64px);padding:32px 0;border-bottom:1px solid var(--l4);align-items:baseline}
.steps .hd{display:flex;align-items:baseline;gap:20px}
.steps .hd span{font-family:var(--mono);font-size:12px;color:var(--mint)}
.steps h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3vw,48px);line-height:1}
.steps p{margin:0;font-size:16px;line-height:1.6;color:var(--g2)}
.steps p.get{font-size:14px;line-height:1.5;color:var(--g4)}
.steps p.get small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--g6);display:block;margin-bottom:6px}

/* aivo */
.aivo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,96px);align-items:center}
.aivo h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,80px);line-height:.98;letter-spacing:-.02em}
.aivo h2 em{color:var(--mint)}
.aivo p.lede{margin:28px 0 0;font-size:17px;line-height:1.6;color:var(--g2);max-width:46ch}
.aivo .btn-ghost{margin-top:36px;font-size:15px}
.aivo .btn-ghost:hover{border-color:var(--mint);color:var(--mint);background:transparent}
.signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--l3);border:1px solid var(--l3)}
.signals>div{background:var(--bg);padding:clamp(20px,2.4vw,36px);min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.signals span{font-family:var(--mono);font-size:12px;color:var(--mint)}
.signals h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.signals p{margin:0;font-size:14px;line-height:1.5;color:var(--g4)}

/* offices */
.offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(72px,8vw,120px)}
.office{position:relative;aspect-ratio:4/5;background:repeating-linear-gradient(135deg,#151A1F 0 1px,#101418 1px 16px);border:1px solid var(--l2);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;overflow:hidden}
.office img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.office::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(to top,rgba(12,15,18,.92),rgba(12,15,18,0));pointer-events:none}
.office>div{position:relative;z-index:1}
.office .role{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:10px}
.office h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.4vw,64px);line-height:.95}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(40px,6vw,96px);padding-top:clamp(100px,12vw,160px);padding-bottom:clamp(100px,12vw,160px)}
.faq-grid h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,80px);line-height:.95;letter-spacing:-.02em}
.faq-list{min-width:0;border-top:1px solid var(--dark)}
.faq-item{border-bottom:1px solid var(--p-line)}
.faq-item h3{margin:0}
.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;background:transparent;border:0;text-align:left;cursor:pointer;font-family:var(--serif);font-size:clamp(22px,2vw,30px);color:var(--dark)}
.faq-item button .i{font-size:22px;color:var(--green);transition:transform .35s}
.faq-item .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.faq-item .body>div{overflow:hidden}
.faq-item p{margin:0;padding:0 0 28px;font-size:16px;line-height:1.65;color:var(--p-g1);max-width:64ch}
.faq-item.open .body{grid-template-rows:1fr}
.faq-item.open button .i{transform:rotate(45deg)}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr}}

/* begin / form */
.begin{position:relative;overflow:hidden;scroll-margin-top:76px}
.begin-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px);align-items:start;padding-top:clamp(110px,13vw,200px);padding-bottom:clamp(110px,13vw,200px)}
.begin h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(52px,7vw,120px);line-height:.92;letter-spacing:-.03em}
.begin .lede{margin:32px 0 0;font-size:18px;line-height:1.6;color:var(--g2);max-width:40ch}
.begin .dash-list{margin-top:40px;display:grid;gap:14px;font-size:15px;color:var(--g1)}
.card{background:var(--paper,#F2F0EA);color:var(--dark);padding:clamp(24px,3vw,48px);border-radius:4px;box-shadow:0 40px 120px rgba(0,0,0,.45)}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.card-top .s{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--p-g2)}
.card-top .s em{font-style:normal;color:var(--green);margin-left:8px;opacity:0;transition:opacity .4s}
.card-top .s em.on{opacity:1}
.bars{display:flex;gap:6px}
.bars span{width:32px;height:3px;border-radius:2px;background:var(--p-line);transition:background .4s}
.bars span.on{background:var(--green)}
.card fieldset{border:0;margin:0;padding:0}
.card legend,.card .q{font-family:var(--serif);font-size:32px;line-height:1.15;margin-bottom:20px;padding:0}
.opts{display:grid;gap:10px}
.opts.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:14px 18px;border:1px solid var(--p-line);background:#fff;color:var(--dark);font-size:16px;text-align:left;cursor:pointer;border-radius:4px;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--dark)}
.opt[aria-pressed=true]{border-color:var(--green);background:#E4EFE9}
.opt small{display:block;font-size:13px;color:var(--p-g2);margin-top:3px}
.opt .ar{color:var(--green)}
.two-col .opt{font-size:15px;padding:12px 16px}
.btn-back{height:46px;padding:0 18px;border:1px solid var(--p-line2);background:transparent;font-size:14px;cursor:pointer;border-radius:999px;color:var(--dark)}
.card form{display:grid;gap:16px}
.card .track{font-size:14px;color:var(--p-g2);margin-top:-6px}
.card .track strong{color:var(--green);font-weight:500}
.field{display:grid;gap:6px}
.field span{font-size:13px;font-weight:500}
.field input{height:52px;padding:0 16px;border:1px solid var(--p-line2);background:#fff;font-family:inherit;font-size:16px;color:var(--dark);border-radius:4px;outline:none}
.field input:focus{border-color:var(--green)}
.field input[aria-invalid=true]{border-color:#A3362A}
.field .err{font-size:13px;color:#A3362A}
.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.btn-submit{height:54px;padding:0 28px;border:0;background:var(--dark);color:var(--ink);font-size:15px;font-weight:500;cursor:pointer;border-radius:999px;transition:background .3s}
.btn-submit:hover{background:var(--green)}
.btn-submit[disabled]{opacity:.6;cursor:progress}
.fine{margin:0;font-size:12px;line-height:1.5;color:var(--p-g2)}
.fine a{color:var(--green)}
.done{display:grid;gap:16px;padding:12px 0}
.done .tick{width:48px;height:48px;border-radius:50%;background:var(--green);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:20px}
.done .t{font-family:var(--serif);font-size:38px;line-height:1.05}
.done p{margin:0;font-size:16px;line-height:1.6;color:var(--p-g1)}
.done>button{justify-self:start;height:44px}
[hidden]{display:none !important}

/* footer */
.ftr{border-top:1px solid var(--l1);color:var(--g4)}
.ftr .wrap{padding-top:clamp(72px,9vw,128px);padding-bottom:40px}
.ftr .word{font-family:var(--serif);font-size:clamp(72px,15vw,260px);line-height:.82;letter-spacing:-.04em;color:var(--ink);margin-bottom:clamp(48px,6vw,88px)}
.ftr .word span{color:var(--mint)}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px;padding-bottom:56px;border-bottom:1px solid var(--l2)}
.ftr-grid>p{margin:0;font-size:15px;line-height:1.6;max-width:32ch;color:var(--g2)}
.ftr h4{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g6);margin:0 0 18px}
.ftr .col{display:grid;gap:10px;font-size:15px;color:var(--g1)}
.ftr .col a{color:var(--g1)}
.ftr .col a:hover{color:var(--mint)}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:13px;color:var(--g6)}
.ftr-bot div{display:flex;gap:24px}
.ftr-bot a{color:var(--g4)}
.ftr-bot a:hover{color:var(--ink)}

/* reveal */
[data-reveal].pre{opacity:0;transform:translateY(32px)}
[data-reveal]{transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}

/* ===== results / case study page ===== */
.cs-hero{position:relative;overflow:hidden}
.cs-hero .wrap{position:relative;padding-top:148px;padding-bottom:clamp(64px,8vw,112px)}
.cs-hero .chips{margin-bottom:clamp(56px,8vw,112px)}
.cs-meta-line{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}
.cs-meta-line .tag{color:var(--mint)}
.status{color:var(--g5);border:1px solid currentColor;padding:5px 10px;border-radius:999px;font-size:10px}
.status.ex{color:#D9B36C}
.cs-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:clamp(32px,5vw,80px);align-items:end}
.cs-top>div{min-width:0}
.cs-big{font-family:var(--serif);font-size:clamp(110px,17vw,280px);line-height:.8;letter-spacing:-.045em}
.cs-bigL{font-size:clamp(20px,1.8vw,26px);line-height:1.35;color:var(--g1);margin-top:24px;max-width:26ch}
.cs-top h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.2vw,50px);line-height:1.08;letter-spacing:-.015em;text-wrap:pretty}
.cs-dl{margin:clamp(56px,7vw,96px) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));border-top:1px solid var(--l3)}
.cs-dl>div{padding:22px 24px 0 0}
.cs-dl dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g5);margin-bottom:10px}
.cs-dl dd{margin:0;font-size:16px;line-height:1.5}
.cs-sec .wrap{padding-top:clamp(96px,11vw,160px);padding-bottom:clamp(96px,11vw,160px)}
.cs-h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,88px);line-height:.95;letter-spacing:-.025em}
.cs-h2 em{color:var(--mint)}
.cs-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px)}
.cs-two>div{min-width:0}
.cs-lead{margin:0 0 40px;font-size:clamp(18px,1.5vw,21px);line-height:1.6;color:var(--g1);text-wrap:pretty}
.cs-leaks{margin:0;padding:0;list-style:none;border-top:1px solid var(--l3)}
.cs-leaks li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--l3)}
.cs-leaks span{font-family:var(--mono);font-size:13px;color:var(--mint);padding-top:3px}
.cs-leaks p{margin:0;font-size:17px;line-height:1.55}
.cs-built{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,2vw,32px)}
.cs-built>div{display:grid;align-content:start;gap:18px;padding:32px 28px 36px;background:var(--bg-2);border:1px solid var(--l2);border-radius:4px;transition:border-color .3s,transform .4s var(--ease)}
.cs-built>div:hover{border-color:var(--mint);transform:translateY(-4px)}
.cs-built span{font-family:var(--mono);font-size:12px;color:var(--mint)}
.cs-built h3{margin:0;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05}
.cs-built p{margin:0;font-size:15px;line-height:1.6;color:var(--g2);text-wrap:pretty}
.cs-sol{margin:0;max-width:44ch;font-size:16px;line-height:1.6;color:var(--g4)}
.phases{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(28px,3vw,48px)}
.phases li{position:relative;padding-top:32px;border-top:1px solid var(--l5)}
.phases li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--mint)}
.phases .w{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin-bottom:14px}
.phases h3{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1}
.phases p{margin:0;font-size:15px;line-height:1.6;color:var(--g2);text-wrap:pretty}
.cs-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-top:1px solid var(--dark)}
.cs-nums>div{padding:28px 24px 8px 0}
.cs-nums b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(56px,6vw,96px);line-height:.9;letter-spacing:-.03em;color:var(--dark)}
.cs-nums span{display:block;font-size:15px;line-height:1.45;color:var(--p-g1);margin-top:14px;max-width:22ch}
.cs-nums-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;margin-top:clamp(40px,5vw,64px);padding-top:20px;border-top:1px solid var(--p-line)}
.cs-nums-foot .k{font-family:var(--mono);font-size:13px;color:var(--green)}
.cs-nums-foot span:last-child{font-size:13px;color:var(--p-g2)}
.cs-next-wrap{position:relative;display:grid;gap:clamp(72px,9vw,128px)}
.cs-next{display:grid;gap:18px;color:var(--ink);padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--l3);transition:color .3s}
.cs-next:hover{color:var(--mint)}
.cs-next .eyebrow{margin:0}
.cs-next .big{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 28px;font-family:var(--serif);font-size:clamp(48px,7vw,120px);line-height:.95;letter-spacing:-.03em}
.cs-next .big span{font-size:clamp(22px,2.2vw,34px);letter-spacing:0;line-height:1.2;max-width:24ch}
.cs-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px}
.cs-cta h2{max-width:14ch}
.cs-cta .btn-mint{height:60px;padding:0 28px;font-size:16px}
.ftr-min .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;color:var(--g6)}
.ftr-min .wrap div{display:flex;gap:24px}
.ftr-min a{color:var(--g4)}
.ftr-min a:hover{color:var(--ink)}

/* all-results overview strip on case page */
.all-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--l3);border:1px solid var(--l3)}
.all-res a{background:var(--bg);padding:28px;display:grid;gap:12px;color:var(--ink);min-height:220px;align-content:space-between;transition:background .3s}
.all-res a:hover{background:#12171C;color:var(--ink)}
.all-res a[aria-current=page]{background:#151B20}
.all-res .s{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.all-res b{font-family:var(--serif);font-weight:400;font-size:clamp(56px,5vw,80px);line-height:.9;letter-spacing:-.03em}
.all-res p{margin:0;font-size:14px;line-height:1.45;color:var(--g4)}

/* ===== multi-page additions ===== */
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--mint);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;transition:top .2s}
.skip:focus{top:12px;color:var(--bg)}
.chip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.svc-lede{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(28px,5vw,96px);margin-top:clamp(32px,4vw,56px);align-items:end}
.svc-lede p{margin:0;font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:var(--g1);max-width:46ch;text-wrap:pretty}
.svc-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.svc-tools{margin:clamp(40px,5vw,64px) 0 0;padding-top:24px;border-top:1px solid var(--l3);font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);color:var(--ink)}
.light .steps{border-color:var(--dark)}
.light .steps li{border-color:var(--p-line);padding:24px 0}
.light .steps p{color:var(--p-g1)}
.light .steps .hd span{color:var(--green)}
.svc-steps h3{font-size:clamp(28px,2.4vw,38px)}
.prose{max-width:820px;margin:0 auto}
.prose .h2{font-size:clamp(52px,7vw,104px);margin-bottom:28px}
.prose .intro{font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:var(--g1);margin:0 0 clamp(40px,5vw,64px)}
.prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.1;margin:48px 0 14px;padding-top:28px;border-top:1px solid var(--l3)}
.prose p{font-size:16px;line-height:1.7;color:var(--g2);margin:0 0 14px}
.prose strong{color:var(--ink);font-weight:500}
.prose a{border-bottom:1px solid currentColor}
.notice{font-size:14px;line-height:1.55;color:var(--p-g2);margin:0}

/* ===== icons (CSS-mask SVG, inherit currentColor) ===== */
.i{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-0.125em;background-color:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.i-arrow{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22/%3E%3C/svg%3E")}
.i-arrow-left{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2012H5M11%206l-6%206%206%206%22/%3E%3C/svg%3E")}
.i-arrow-up-right{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2017%2017%207M8%207h9v9%22/%3E%3C/svg%3E")}
.i-check{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22/%3E%3C/svg%3E")}
.i-search{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%226.5%22/%3E%3Cpath%20d%3D%22m20%2020-4.2-4.2%22/%3E%3C/svg%3E")}
.i-menu{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h16M4%2016h16%22/%3E%3C/svg%3E")}
.i-close{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206%206%2018%22/%3E%3C/svg%3E")}
.i-plus{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22/%3E%3C/svg%3E")}
.i-pause{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%206v12M15%206v12%22/%3E%3C/svg%3E")}
.i-play{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%205.5v13l10.5-6.5z%22%20fill%3D%22%23000%22/%3E%3C/svg%3E")}
.i-diamond{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204l8%208-8%208-8-8z%22%20fill%3D%22%23000%22%20stroke%3D%22none%22/%3E%3C/svg%3E")}
.i-dash{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22/%3E%3C/svg%3E")}
.i-win{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017l6-6%204%204%208-8%22/%3E%3Cpath%20d%3D%22M15%207h6v6%22/%3E%3C/svg%3E")}
.i-keep{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.5%2012a8.5%208.5%200%201%201-2.5-6%22/%3E%3Cpath%20d%3D%22M20.5%204v5h-5%22/%3E%3C/svg%3E")}
.i-cost{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13%203%205%2013.5h6L10%2021l8-10.5h-6z%22/%3E%3C/svg%3E")}
.i-see{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%22/%3E%3C/svg%3E")}
.i-aivo{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l1.9%205.6L19.5%2010.5l-5.6%201.9L12%2018l-1.9-5.6L4.5%2010.5l5.6-1.9z%22/%3E%3Cpath%20d%3D%22M19%2017v4M17%2019h4%22/%3E%3C/svg%3E")}
.i-lock{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2211%22%20width%3D%2214%22%20height%3D%229%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%2011V8a4%204%200%200%201%208%200v3%22/%3E%3C/svg%3E")}
.i-clock{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22/%3E%3Cpath%20d%3D%22M12%207.5V12l3%202%22/%3E%3C/svg%3E")}
.i-user{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4.5%2020.5a7.5%207.5%200%200%201%2015%200%22/%3E%3C/svg%3E")}
.i-mail{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22m3.5%206.5%208.5%206.5%208.5-6.5%22/%3E%3C/svg%3E")}
.i-phone{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h4l2%205-2.5%201.5a11%2011%200%200%200%205%205L15%2013l5%202v4a2%202%200%200%201-2%202A16%2016%200%200%201%203%206a2%202%200%200%201%202-2%22/%3E%3C/svg%3E")}
.i-chat{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012a8%208%200%200%201-11.8%207L4%2020l1.1-4A8%208%200%201%201%2020%2012z%22/%3E%3C/svg%3E")}
.i-shield{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l7.5%203v5.5c0%204.5-3.2%208.2-7.5%209.5-4.3-1.3-7.5-5-7.5-9.5V6z%22/%3E%3Cpath%20d%3D%22m8.8%2012%202.2%202.2%204.2-4.4%22/%3E%3C/svg%3E")}

/* ===== diagnostic lead form ===== */
.begin-grid{align-items:start}
.begin-copy{position:sticky;top:120px}
@media (max-width:900px){.begin-copy{position:static}}
.next-steps{list-style:none;margin:44px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--l3);max-width:460px}
.next-steps li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--l3)}
.ns-ic{width:40px;height:40px;border-radius:50%;border:1px solid var(--l5);color:var(--mint);display:flex;align-items:center;justify-content:center;font-size:18px}
.next-steps b{display:block;font-weight:500;font-size:16px;color:var(--ink);margin:2px 0 4px}
.next-steps div>span{display:block;font-size:14px;line-height:1.5;color:var(--g4)}
.trust{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;font-size:14px;color:var(--g2)}
.trust li{display:flex;align-items:center;gap:12px}
.trust .i{color:var(--mint);font-size:18px}

.card{border-radius:6px}
.progress{margin-bottom:32px}
.progress ol{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.progress li{font-size:13px;color:#8A8F95;display:flex;flex-direction:column;gap:2px;transition:color .3s}
.progress li span{font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.progress li.on{color:var(--dark)}
.progress li.on span{color:var(--green)}
.progress li.past{color:var(--p-g2)}
.progress-bar{height:3px;background:var(--p-line);border-radius:2px;overflow:hidden}
.progress-bar span{display:block;height:100%;width:25%;background:var(--green);border-radius:2px;transition:width .5s var(--ease)}
.progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--p-g2)}
.progress-meta b{font-weight:500;color:var(--dark)}
.progress-meta em{font-style:normal;color:var(--green);opacity:0;transition:opacity .4s;display:flex;align-items:center;gap:6px}
.progress-meta em.on{opacity:1}
@media (max-width:480px){.progress li{font-size:0}.progress li span{font-size:11px}}

.card fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:22px}
.card .q,.card legend.q{font-family:var(--serif);font-size:clamp(28px,2.4vw,34px);line-height:1.1;margin:0;padding:0}
.card fieldset>legend.q{float:left;width:100%}
.card fieldset>legend.q+*{clear:both}
.q-sub{margin:-8px 0 0;font-size:15px;line-height:1.5;color:var(--p-g2)}
.q-sub strong{color:var(--green);font-weight:500}

.goals{display:grid;gap:10px}
.goal{position:relative;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:16px;min-height:72px;padding:14px 18px;border:1px solid var(--p-line);background:#fff;border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.goal:hover{border-color:var(--dark)}
.goal input{position:absolute;opacity:0;pointer-events:none}
.goal .gi{width:44px;height:44px;border-radius:10px;background:#EEF3EF;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:22px;transition:background .2s,color .2s}
.goal b{display:block;font-weight:500;font-size:16px;color:var(--dark)}
.goal small{display:block;font-size:13px;line-height:1.4;color:var(--p-g2);margin-top:3px}
.goal .ar{color:var(--green);font-size:18px;transition:transform .3s var(--ease)}
.goal:hover .ar{transform:translateX(3px)}
.goal:has(input:checked){border-color:var(--green);background:#E4EFE9}
.goal:has(input:checked) .gi{background:var(--green);color:#fff}
.goal:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}

.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fgrid .full{grid-column:1/-1}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
.field{display:grid;gap:7px;align-content:start}
.field>span,.glabel{font-size:13px;font-weight:500;color:var(--dark)}
.field small,.glabel small{font-weight:400;color:#80868D;margin-left:4px}
abbr[title=required]{color:var(--green);text-decoration:none;border:0}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--p-line2);background:#fff;font-family:inherit;font-size:16px;color:var(--dark);border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s}
.field textarea{padding:12px 14px;min-height:110px;resize:vertical;line-height:1.5}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311151A' stroke-width='2' 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 14px center;background-size:16px;cursor:pointer}
.field select:invalid,.field select option[value=""]{color:#80868D}
.field select option{color:var(--dark)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,107,85,.14)}
.field [aria-invalid=true]{border-color:#A3362A}
.field ::placeholder{color:#A0A5AA}
.count{justify-self:end;font-size:12px;color:#80868D}
.hint{font-size:12.5px;color:var(--p-g2)}
.card .err{font-style:normal;font-size:13px;color:#A3362A;margin:0}

.group{display:grid;gap:10px;border:0;margin:0;padding:0}
.chips-opt{display:flex;flex-wrap:wrap;gap:8px}
.chips-opt.c4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.chips-opt.c3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:520px){.chips-opt.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.copt{position:relative;cursor:pointer}
.copt input{position:absolute;opacity:0;pointer-events:none}
.copt span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--p-line2);background:#fff;border-radius:999px;font-size:14px;color:var(--dark);text-align:center;line-height:1.2;transition:border-color .2s,background .2s,color .2s}
.c4 .copt span,.c3 .copt span{border-radius:6px;height:100%}
.copt:hover span{border-color:var(--dark)}
.copt input:checked+span{background:var(--dark);border-color:var(--dark);color:var(--ink)}
.copt input[type=checkbox]:checked+span{background:#E4EFE9;border-color:var(--green);color:var(--dark)}
.copt .ck{display:none;color:var(--green);font-size:14px}
.copt input:checked+span .ck{display:inline-block}
.copt input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.copt .i{font-size:16px}

.consent{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:14px;line-height:1.5;color:var(--p-g1);cursor:pointer}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--green);cursor:pointer}
.consent a{color:var(--green);border-bottom:1px solid currentColor}
.nav-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.nav-row .btn-back,.nav-row .btn-submit{height:52px;display:inline-flex;align-items:center;gap:10px}
.nav-row .btn-submit{margin-left:auto}
.card .fine{display:flex;align-items:center;gap:8px;margin:0}
.card .fine .i{color:var(--green)}
.done{gap:18px;outline:none}
.done .tick{font-size:24px}
.done p a,.done strong{color:var(--green);font-weight:500}
.summary{margin:6px 0 4px;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;padding:18px 0;border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line);font-size:14px}
.summary dt{color:var(--p-g2)}
.summary dd{margin:0;color:var(--dark)}

/* ===== booking calendar ===== */
.bk{color:var(--dark)}
.bk-embed{width:100%;min-height:720px;border:0;border-radius:6px;background:#fff;display:block}
.bk-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--p-line)}
.bk-head b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.bk-head span{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:var(--p-g2)}
.bk-head .i{color:var(--green)}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px 32px;align-items:start}
.bk-mo{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bk-mo b{font-weight:500;font-size:15px}
.bk-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--p-line2);background:#fff;color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;transition:border-color .2s}
.bk-nav:hover:not([disabled]){border-color:var(--dark)}
.bk-nav[disabled]{opacity:.35;cursor:default}
.bk-wk,.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bk-wk span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:#80868D;padding:4px 0}
.bk-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;border:0;background:transparent;font-family:inherit;position:relative}
.bk-d.off{color:#B4B8BC}
button.bk-d{background:#E4EFE9;color:var(--green);font-weight:500;cursor:pointer;transition:background .2s,color .2s}
button.bk-d:hover{background:#D3E6DC}
button.bk-d.sel{background:var(--green);color:#fff}
.bk-d.today::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.bk-tz{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:var(--p-g2)}
.bk-tz .i{color:var(--green)}
.bk-tz select{flex:1;min-width:0;height:38px;border:1px solid var(--p-line2);border-radius:6px;background:#fff;padding:0 10px;font-family:inherit;font-size:13px;color:var(--dark);cursor:pointer}
.bk-dl{font-weight:500;font-size:15px;margin:8px 0 12px}
.bk-tl{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:2px}
.bk-t{height:44px;border:1px solid var(--p-line2);background:#fff;border-radius:6px;font-family:inherit;font-size:14px;color:var(--dark);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.bk-t:hover{border-color:var(--green);color:var(--green)}
.bk-t.sel{background:var(--dark);border-color:var(--dark);color:var(--ink)}
.bk-go{width:100%;margin-top:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.bk-go[disabled]{opacity:.45;cursor:default;background:var(--dark)}
.bk-back{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;margin-bottom:16px;font-family:inherit;font-size:14px;color:var(--green);cursor:pointer}
.bk-pick{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px 18px;border-radius:6px;background:#E4EFE9;margin-bottom:22px}
.bk-pick .i{color:var(--green);font-size:20px;margin-top:2px}
.bk-pick b{display:block;font-weight:500}
.bk-pick span{font-size:13px;color:var(--p-g2)}
.bk-form{display:grid;gap:18px}
.bk-form .btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.bk-form .fine{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--p-g2);margin:0}
.bk-form .fine .i{color:var(--green)}
.bk-form .err{font-style:normal;font-size:13px;color:#A3362A}
.bk-done{display:grid;gap:14px;outline:none}
.bk-done b{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1}
.bk-done p{margin:0;font-size:15px;line-height:1.6;color:var(--p-g1)}
.bk-done strong{font-weight:500;color:var(--green)}
.bk-done .tick{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}
.bk-add{display:flex;flex-wrap:wrap;gap:8px}
.bk-add .btn-back{display:inline-flex;align-items:center;gap:8px;height:42px;color:var(--dark)}
.bk-empty{margin:0;font-size:15px;color:var(--p-g1)}
.bk-empty a{color:var(--green)}
/* booking inside the diagnostic thank-you */
.done-book{margin-top:8px;padding-top:24px;border-top:1px solid var(--p-line)}
.done-book .eyebrow{color:var(--green);margin-bottom:6px}
.done-book>p{margin:0 0 18px;font-size:15px;color:var(--p-g1)}
.talk{display:inline-flex;align-items:center;gap:12px;margin-top:28px;font-size:15px;color:var(--g1);border-bottom:1px solid var(--l5);padding-bottom:4px}
.talk .i{color:var(--mint)}
.talk:hover{color:var(--mint);border-color:var(--mint)}
/* /book/ page */
.book-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:960px){.book-grid{grid-template-columns:1fr}}
