:root{--carbon:#0B0E11;--graphite:#14181D;--graphite-2:#1B2127;--steel:#2A323B;--mist:#90A0B0;--fog:#C3CDD6;--paper:#F5F7F9;--paper-2:#EAEEF2;--ink:#0B0E11;--ink-soft:#46535F;--line-light:#D8DEE4;--volt:#15E0A3;--volt-deep:#0BB888;--volt-glow:rgba(21,224,163,.16);--white:#fff;--maxw:1200px;--gut:clamp(20px,5vw,64px);--r:14px;--r-sm:10px;--shadow:0 24px 60px -30px rgba(0,0,0,.7);--shadow-card:0 16px 40px -24px rgba(0,0,0,.55);--f-display:'Space Grotesk',system-ui,sans-serif;--f-body:'Hanken Grotesk',system-ui,sans-serif;--f-mono:'JetBrains Mono','SFMono-Regular',monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.05;letter-spacing:-.02em;text-wrap:pretty}
@media(max-width:820px){h1,h2,h3,h4{text-wrap:balance}}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--volt-deep)}
.eyebrow.on-dark{color:var(--volt)}
.lede{font-size:clamp(17px,2vw,20px);color:var(--ink-soft);max-width:62ch}
.sec-dark .lede,.sec-graphite .lede{color:var(--fog)}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--f-body);font-weight:600;font-size:15px;padding:13px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-volt{background:var(--volt);color:#04130D;box-shadow:0 10px 30px -12px var(--volt)}
.btn-volt:hover{background:#2BEFB4}
.btn-ghost{background:transparent;border-color:var(--steel);color:#fff}
.btn-ghost:hover{border-color:var(--volt);color:var(--volt)}
.btn-ghost.on-light{border-color:var(--line-light);color:var(--ink)}
.btn-ghost.on-light:hover{border-color:var(--volt-deep);color:var(--volt-deep)}
.btn-sm{padding:9px 16px;font-size:13.5px}
.site-head{position:sticky;top:0;z-index:60;background:rgba(11,14,17,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--steel)}
.nav{display:flex;align-items:center;gap:26px;height:68px}
.nav .brand{display:flex;align-items:center;gap:10px}
.nav .brand img{height:30px;width:auto;filter:brightness(0) invert(1)}
.nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin-left:6px}
.nav a.navlink{color:var(--fog);font-size:14.5px;font-weight:500;display:flex;align-items:center;gap:5px;padding:6px 0}
.nav a.navlink:hover{color:#fff}
.nav .has-menu{position:relative}
.nav .menu{position:absolute;top:100%;left:-14px;min-width:230px;background:var(--graphite);border:1px solid var(--steel);border-radius:12px;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;box-shadow:var(--shadow)}
.nav .has-menu:hover .menu{opacity:1;visibility:visible;transform:translateY(6px)}
.nav .menu a{display:block;color:var(--fog);font-size:14px;padding:9px 12px;border-radius:8px}
.nav .menu a:hover{background:var(--graphite-2);color:var(--volt)}
.nav .spacer{margin-left:auto}
.nav .tel{color:#fff;font-family:var(--f-mono);font-size:13.5px}
.nav .tel:hover{color:var(--volt)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer;margin-left:auto}
@media(max-width:960px){.nav ul,.nav .tel{display:none}.nav-toggle{display:block}.nav .spacer{display:none}}
section{padding:clamp(56px,8vw,108px) 0}
.sec-dark{background:var(--carbon);color:var(--fog)}
.sec-graphite{background:var(--graphite);color:var(--fog)}
.sec-light{background:var(--paper);color:var(--ink)}
.sec-white{background:#fff;color:var(--ink)}
.sec-dark h1,.sec-dark h2,.sec-dark h3,.sec-graphite h1,.sec-graphite h2,.sec-graphite h3{color:#fff}
.sec-head{max-width:64ch}
.sec-head h2{font-size:clamp(28px,4vw,46px);margin:14px 0 16px}
.hero{position:relative;background:radial-gradient(1100px 600px at 78% -10%,rgba(21,224,163,.10),transparent 60%),var(--carbon);color:#fff;overflow:hidden;padding-top:clamp(56px,8vw,96px)}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(38px,6.4vw,76px);color:#fff;letter-spacing:-.03em}
.hero h1 .volt{color:var(--volt)}
.hero .lede{margin-top:20px;font-size:clamp(17px,2.1vw,21px);color:var(--fog)}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero .scrim-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(42,50,59,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(42,50,59,.5) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(900px 500px at 70% 0,#000,transparent 70%);mask-image:radial-gradient(900px 500px at 70% 0,#000,transparent 70%)}
.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--steel);border:1px solid var(--steel);border-radius:var(--r);overflow:hidden;margin-top:46px}
.spec-strip .cell{background:var(--graphite);padding:22px 20px}
.spec-strip .n{font-family:var(--f-display);font-size:clamp(26px,3.4vw,38px);color:#fff;letter-spacing:-.02em}
.spec-strip .n b{color:var(--volt)}
.spec-strip .l{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-top:6px}
@media(max-width:760px){.spec-strip{grid-template-columns:repeat(2,1fr)}}
.cards{display:grid;gap:20px;margin-top:40px}
.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line-light);border-radius:var(--r);padding:26px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}
.sec-dark .card,.sec-graphite .card{background:var(--graphite-2);border-color:var(--steel);color:var(--fog)}
.card:hover{transform:translateY(-4px);border-color:var(--volt);box-shadow:var(--shadow-card)}
.card .kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--volt-deep)}
.sec-dark .card .kicker,.sec-graphite .card .kicker{color:var(--volt)}
.card h3{font-size:21px;margin:10px 0 8px}
.card p{font-size:15px;color:var(--ink-soft)}
.sec-dark .card p,.sec-graphite .card p{color:var(--mist)}
.card .arrow{margin-top:16px;font-family:var(--f-mono);font-size:13px;color:var(--volt-deep);display:inline-flex;gap:6px}
.sec-dark .card .arrow{color:var(--volt)}
.spec-rows{list-style:none;margin:14px 0 0;border-top:1px solid var(--line-light)}
.sec-dark .spec-rows,.sec-graphite .spec-rows{border-color:var(--steel)}
.spec-rows li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-light);font-size:13.5px}
.sec-dark .spec-rows li,.sec-graphite .spec-rows li{border-color:var(--steel)}
.spec-rows .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.sec-dark .spec-rows .k,.sec-graphite .spec-rows .k{color:var(--mist)}
.spec-rows .v{font-weight:600;color:var(--ink)}
.sec-dark .spec-rows .v,.sec-graphite .spec-rows .v{color:#fff}
.deploy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:920px){.deploy{grid-template-columns:1fr}}
.deploy .proof{position:relative;border:1px solid var(--steel);border-radius:var(--r);overflow:hidden;background:var(--graphite-2);min-height:300px;display:flex;flex-direction:column}
.deploy .proof .ph{flex:1;min-height:170px;background:linear-gradient(135deg,#10151a,#1b2530);display:flex;align-items:center;justify-content:center}
.deploy .proof .ph .badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);border:1px dashed var(--steel);padding:8px 12px;border-radius:8px}
.deploy .proof .body{padding:20px}
.deploy .proof .stat{font-family:var(--f-display);color:var(--volt);font-size:15px}
.deploy .proof h3{color:#fff;font-size:19px;margin:6px 0 6px}
.deploy .proof p{color:var(--mist);font-size:14px}
.tbl{width:100%;border-collapse:collapse;margin-top:26px;font-size:14.5px}
.tbl th,.tbl td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line-light)}
.sec-dark .tbl th,.sec-dark .tbl td{border-color:var(--steel)}
.tbl th{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2)}
.sec-dark .tbl th{background:var(--graphite-2);color:var(--mist)}
.tbl td:first-child{font-weight:600}
.faq{margin-top:36px;max-width:860px}
.faq details{border-bottom:1px solid var(--line-light)}
.sec-dark .faq details{border-color:var(--steel)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--f-display);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--volt-deep);font-size:22px;font-family:var(--f-mono)}
.faq details[open] summary::after{content:"\2212"}
.faq .a{padding:0 0 22px;color:var(--ink-soft);max-width:72ch}
.sec-dark .faq .a{color:var(--mist)}
.cta-band{background:linear-gradient(120deg,var(--carbon),#0F1A18);border:1px solid var(--steel);border-radius:var(--r);padding:clamp(30px,5vw,56px);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0,var(--volt-glow),transparent 70%)}
.cta-band>*{position:relative}
.cta-band h2{color:#fff;font-size:clamp(26px,4vw,40px)}
.cta-band p{color:var(--fog);margin:14px auto 26px;max-width:56ch}
.rfq{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;text-align:left}
.rfq .full{grid-column:1/-1}
.rfq label{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);display:block;margin-bottom:7px}
.rfq input,.rfq select,.rfq textarea{width:100%;padding:13px 14px;border:1px solid var(--steel);border-radius:var(--r-sm);font-family:var(--f-body);font-size:15px;background:var(--graphite-2);color:#fff}
.rfq input:focus,.rfq select:focus,.rfq textarea:focus{outline:none;border-color:var(--volt);box-shadow:0 0 0 3px var(--volt-glow)}
@media(max-width:600px){.rfq{grid-template-columns:1fr}}
.site-foot{background:#070A0C;color:var(--mist);padding:64px 0 30px;border-top:1px solid var(--steel)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
.site-foot img{height:30px;filter:brightness(0) invert(1);margin-bottom:14px}
.site-foot h5{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog);margin-bottom:14px}
.site-foot a{display:block;color:var(--mist);font-size:14px;padding:5px 0}
.site-foot a:hover{color:var(--volt)}
.foot-base{border-top:1px solid var(--steel);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mist)}
.store-card{background:#fff;border:1px solid var(--line-light);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.store-card:hover{transform:translateY(-4px);border-color:var(--volt);box-shadow:var(--shadow-card)}
.store-card .pimg{aspect-ratio:4/3;background:linear-gradient(135deg,#0E1216,#1b2530);display:flex;align-items:center;justify-content:center}
.store-card .pimg .badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);border:1px dashed var(--steel);padding:7px 11px;border-radius:8px}
.store-card .pbody{padding:20px;display:flex;flex-direction:column;flex:1}
.store-card .pcat{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--volt-deep)}
.store-card h3{font-size:18px;margin:7px 0 6px}
.store-card .price{font-family:var(--f-display);font-size:22px;color:var(--ink);margin-top:auto}
.store-card .price small{font-family:var(--f-mono);font-size:12px;color:var(--ink-soft)}
.store-card .padd{margin-top:14px}
#evd-chat-launch{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;background:var(--volt);color:#04130D;font-weight:700;font-family:var(--f-body);padding:13px 18px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 16px 40px -14px var(--volt);font-size:14.5px}
#evd-chat-launch .dot{width:9px;height:9px;border-radius:50%;background:#04130D;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(4,19,13,.45)}70%{box-shadow:0 0 0 10px rgba(4,19,13,0)}100%{box-shadow:0 0 0 0 rgba(4,19,13,0)}}
#evd-chat{position:fixed;right:22px;bottom:22px;z-index:91;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 60px));background:var(--graphite);border:1px solid var(--steel);border-radius:18px;box-shadow:var(--shadow);display:none;flex-direction:column;overflow:hidden}
#evd-chat.open{display:flex}
#evd-chat .ch-head{background:var(--carbon);padding:16px 18px;border-bottom:1px solid var(--steel);display:flex;align-items:center;gap:11px}
#evd-chat .ch-head .av{width:34px;height:34px;border-radius:50%;background:var(--volt);color:#04130D;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--f-display)}
#evd-chat .ch-head b{color:#fff;font-family:var(--f-display);font-size:15px}
#evd-chat .ch-head small{color:var(--volt);font-family:var(--f-mono);font-size:11px;display:block;margin-top:1px}
#evd-chat .ch-head .x{margin-left:auto;background:none;border:0;color:var(--mist);font-size:22px;cursor:pointer}
#evd-chat .ch-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
#evd-chat .msg{max-width:84%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.5}
#evd-chat .msg.bot{background:var(--graphite-2);color:var(--fog);border:1px solid var(--steel);border-bottom-left-radius:4px;align-self:flex-start}
#evd-chat .msg.user{background:var(--volt);color:#04130D;border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}
#evd-chat .chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 10px}
#evd-chat .chip{background:transparent;border:1px solid var(--steel);color:var(--fog);font-size:12.5px;padding:8px 12px;border-radius:999px;cursor:pointer;font-family:var(--f-body)}
#evd-chat .chip:hover{border-color:var(--volt);color:var(--volt)}
#evd-chat .ch-foot{border-top:1px solid var(--steel);padding:12px;display:flex;gap:8px;background:var(--carbon)}
#evd-chat .ch-foot input{flex:1;background:var(--graphite-2);border:1px solid var(--steel);border-radius:999px;padding:11px 15px;color:#fff;font-family:var(--f-body);font-size:14px}
#evd-chat .ch-foot input:focus{outline:none;border-color:var(--volt)}
#evd-chat .ch-foot button{background:var(--volt);border:0;color:#04130D;width:42px;border-radius:50%;cursor:pointer;font-size:17px;font-weight:800}
#evd-chat .typing{display:flex;gap:4px;padding:12px 14px}
#evd-chat .typing span{width:7px;height:7px;border-radius:50%;background:var(--mist);animation:blink 1.2s infinite}
#evd-chat .typing span:nth-child(2){animation-delay:.2s}#evd-chat .typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}
.rev{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}*{animation:none!important}}
.page-head{background:var(--carbon);color:#fff;padding:clamp(40px,6vw,76px) 0 clamp(36px,5vw,56px);position:relative;overflow:hidden;border-bottom:1px solid var(--steel)}
.page-head .crumb{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--mist);text-transform:uppercase}
.page-head .crumb a:hover{color:var(--volt)}
.page-head h1{font-size:clamp(32px,5vw,56px);margin:14px 0 14px}
.page-head .lede{color:var(--fog)}
.prose{max-width:74ch}
.prose p{margin:0 0 16px;color:var(--ink-soft)}
.prose h2{font-size:clamp(24px,3vw,34px);margin:38px 0 14px;color:var(--ink)}
.prose h3{font-size:21px;margin:26px 0 10px;color:var(--ink)}
.prose ul{margin:0 0 16px 20px;color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.pill{display:inline-block;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--volt-deep);background:var(--volt-glow);padding:5px 11px;border-radius:999px}

/* Phone numbers must never use a dotted-zero mono face: the 0 reads as an 8. */
a[href^="tel:"] {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0.01em;
}

/* The hidden attribute must always win. Class rules like .btn set a display
   value that overrides the browser default [hidden]{display:none}, which left
   the 'Ask Evie to purchase' checkout fallbacks visible next to the live Buy
   buttons after the catalog loaded. */
[hidden] { display: none !important; }
