/* Layout: dark "ore seam" — content mined out of a dark rock field; gold veins = accent, cyan = AI signal */
:root{
  --rock:#0c0f14; --rock-2:#131821; --rock-3:#1b2230;
  --line:#263043; --text:#e8ecf3; --muted:#9aa5b8;
  --gold:#f2b84b; --gold-2:#ffd88a; --signal:#5fd4d0; --alert:#ff6b5b; --paper:#f1ede4; --ink:#1d1f24;
  --f-display:"Sora","Segoe UI",system-ui,sans-serif;
  --f-body:"Manrope","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--rock);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.6;overflow-x:hidden}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--f-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em;font-weight:600}
p{margin:0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* NAV */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in oklab,var(--rock) 78%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:20px;text-decoration:none;letter-spacing:.02em}
.logo svg{width:30px;height:30px}
.links{display:flex;gap:26px;font-size:14px;font-weight:600;color:var(--muted)}
.links a{text-decoration:none;transition:color .2s}
.links a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-body);font-weight:700;font-size:14px;padding:12px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .3s,background .2s}
.btn-gold{background:var(--gold);color:#1a1205}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--gold)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--signal);color:var(--signal)}
@media (max-width:820px){.links{display:none}}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
#field{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 40%,transparent 0,var(--rock) 75%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:96px 88px}
.hero h1{font-size:clamp(34px,5.2vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-block:20px 22px}
.rotline{display:block;min-height:1.15em}
.rot-cursor{display:inline-block;width:.07em;height:.9em;margin-left:.06em;background:var(--gold);vertical-align:-.08em;animation:blink 1s steps(1) infinite}
.hero h1 .vein{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-2) 40%,var(--gold) 60%,#c98a1f 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-220% 0}}
.hero .lead{font-size:18px;color:var(--muted);max-width:52ch}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.facts{display:flex;flex-wrap:wrap;gap:28px;margin-top:40px;font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.facts{gap:36px}
.facts b{display:block;font-family:var(--f-display);font-weight:600;font-size:30px;color:var(--text);font-variant-numeric:tabular-nums}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}
@keyframes rise{from{transform:translateY(24px);opacity:.15}}

/* terminal */
.term{background:color-mix(in oklab,var(--rock-2) 88%,transparent);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px -30px #000,0 0 0 1px #ffffff08 inset;font-family:var(--f-mono);font-size:13px;min-width:0;backdrop-filter:blur(8px)}
.term-top{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.term-top i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.term-top i:first-child{background:#e2665a}.term-top i:nth-child(2){background:var(--gold)}.term-top i:nth-child(3){background:var(--signal)}
.term-top span{margin-left:8px}
.term-body{padding:18px;min-height:250px;white-space:pre-wrap;line-height:1.75;overflow-x:auto}
.k{color:var(--signal)}.g{color:var(--gold)}.m{color:var(--muted)}
.cursor{display:inline-block;width:8px;height:15px;background:var(--gold);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-block:64px}}

/* marquee */
.marquee{border-bottom:1px solid var(--line);overflow:hidden;padding-block:18px;background:var(--rock-2)}
.track{display:flex;gap:48px;width:max-content;animation:scroll 32s linear infinite;font-family:var(--f-mono);font-size:14px;color:var(--muted)}
.track span::before{content:"◆";color:var(--gold);margin-right:14px;font-size:9px;vertical-align:2px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* sections */
section{padding-block:96px}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.head h2{font-size:clamp(28px,3.4vw,44px);font-weight:600;margin-top:14px;max-width:20ch}
.head p{color:var(--muted);max-width:44ch}
.reveal{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.pre{transform:translateY(28px)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
@media (max-width:1100px){.pillars{grid-template-columns:1fr 1fr}}
.pillar{background:var(--rock);padding:34px 28px;position:relative;overflow:hidden}
.pillar::before{content:"";position:absolute;inset:auto -40% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(var(--gold),transparent 65%);opacity:0;transition:opacity .5s}
.pillar:hover::before{opacity:.18}
.pillar svg{width:34px;height:34px;color:var(--gold)}
.pillar h3{font-size:22px;margin-block:18px 10px}
.pillar p{color:var(--muted);font-size:15px}
@media (max-width:820px){.pillars{grid-template-columns:1fr}}

/* services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{display:flex;gap:16px;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--rock-2);transition:border-color .3s,transform .3s}
.svc:hover{border-color:color-mix(in oklab,var(--gold) 60%,var(--line));transform:translateY(-3px)}
.svc .ic{flex:none;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--rock-3);color:var(--signal)}
.svc .ic svg{width:22px;height:22px}
.svc h3{font-family:var(--f-body);font-size:16px;font-weight:700;letter-spacing:0;line-height:1.3}
.svc p{font-size:14px;color:var(--muted);margin-top:4px}
@media (max-width:900px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.services{grid-template-columns:1fr}}

/* products */
.alt{background:var(--rock-2);border-block:1px solid var(--line)}
.products{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.prod{position:relative;padding:30px;border-radius:18px;background:var(--rock);border:1px solid var(--line);overflow:hidden;transform-style:preserve-3d;transition:transform .2s ease-out,border-color .3s;min-width:0}
.prod:hover{border-color:var(--gold)}
.prod .glow{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(color-mix(in oklab,var(--gold) 30%,transparent),transparent 70%);transform:translate(-50%,-50%);left:var(--mx,50%);top:var(--my,-30%);pointer-events:none;transition:opacity .3s;opacity:0}
.prod:hover .glow{opacity:1}
.prod .tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.prod h3{font-size:24px;margin-block:10px 16px}
.prod ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:var(--muted);font-size:15px}
.prod li{display:flex;gap:10px}
.prod li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:2px;background:var(--signal);transform:rotate(45deg)}
@media (max-width:760px){.products{grid-template-columns:1fr}}

/* AI estimator */
.ai{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.ai-box{border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,var(--rock-2),var(--rock));padding:26px;min-width:0;position:relative}
.ai-box::before{content:"";position:absolute;inset:-1px;border-radius:19px;padding:1px;background:linear-gradient(120deg,var(--signal),transparent 40%,transparent 60%,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ai-box label{display:block;font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chip{font:600 14px var(--f-body);padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--rock);color:var(--text);cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--signal)}
.chip[aria-pressed="true"]{background:var(--signal);color:#06201f;border-color:var(--signal)}
.out{margin-top:22px;padding:18px;border-radius:12px;background:var(--rock);border:1px dashed var(--line);font-family:var(--f-mono);font-size:13px;line-height:1.8;min-height:140px;white-space:pre-wrap}
.note{font-size:12px;color:var(--muted);margin-top:10px}
@media (max-width:900px){.ai{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;top:22px;left:22px;right:22px;height:2px;background:linear-gradient(90deg,var(--gold),var(--signal));opacity:.5}
.step{position:relative}
.step .n{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--rock);border:2px solid var(--gold);font-family:var(--f-mono);font-weight:500;color:var(--gold);position:relative;z-index:1}
.step h3{font-size:20px;margin-block:20px 8px}
.step p{color:var(--muted);font-size:15px}
@media (max-width:820px){.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* CTA / contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.contact h2{font-size:clamp(30px,4vw,50px);font-weight:700}
.contact .lead{color:var(--muted);margin-top:18px;max-width:42ch}
.mail{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.mail code{font-family:var(--f-mono);font-size:18px;color:var(--gold);user-select:all}
form{display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--rock-2)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,select,textarea{width:100%;font:500 15px var(--f-body);color:var(--text);background:var(--rock);border:1px solid var(--line);border-radius:10px;padding:13px 14px;transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--signal)}
textarea{min-height:110px;resize:vertical}
.ok{font-size:14px;color:var(--signal)}
@media (max-width:820px){.contact{grid-template-columns:1fr}.row{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;transform-origin:left;animation:grow 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleX(0)}}
#progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--signal));z-index:50}
#glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,color-mix(in oklab,var(--signal) 9%,transparent),transparent 65%);transform:translate(-50%,-50%);left:-999px;top:-999px;transition:opacity .4s}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;z-index:1;pointer-events:none;animation:drift 18s ease-in-out infinite alternate}
.orb.a{width:420px;height:420px;background:var(--gold);top:-120px;right:-80px;opacity:.16}
.orb.b{width:360px;height:360px;background:var(--signal);bottom:-160px;left:30%;opacity:.12;animation-duration:24s}
@keyframes drift{to{transform:translate(-60px,50px) scale(1.15)}}
.term-wrap{position:relative;min-width:0}
.badge{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font:600 13px var(--f-body);background:color-mix(in oklab,var(--rock-3) 85%,transparent);border:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:0 14px 40px -14px #000;animation:float 5s ease-in-out infinite}
.badge i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--rock);color:var(--gold)}
.badge.b1{top:-22px;right:-14px}.badge.b2{bottom:-24px;left:-20px;animation-delay:-2.5s}
.badge.b2 i{color:var(--signal)}
@keyframes float{50%{transform:translateY(-10px)}}
@media (max-width:600px){.badge.b1{right:6px}.badge.b2{left:6px}}
.reveal.pre{opacity:0}
.reveal{transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s ease}
.btn-gold{position:relative;overflow:hidden}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff70 50%,transparent 70%);transform:translateX(-120%);animation:sweep 4s ease-in-out infinite}
@keyframes sweep{30%,100%{transform:translateX(120%)}}
.nav.scrolled{box-shadow:0 10px 30px -18px #000}

/* mobile menu */
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--rock-2);color:var(--text);cursor:pointer;place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .3s,background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.nav.open .burger span{background:transparent}.nav.open .burger span::before{transform:translateY(6px) rotate(45deg)}.nav.open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
.mmenu{display:none}
@media (max-width:820px){.burger{display:grid}.nav-cta{display:none}
 .mmenu{display:grid;gap:4px;overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.2,.7,.2,1);padding-inline:20px}
 .nav.open .mmenu{max-height:420px;padding-bottom:16px}
 .mmenu a{padding:13px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}}

/* AI section */
.aiwrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ailist{display:grid;gap:14px;margin-top:28px}
.aii{display:flex;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--rock-2);transition:border-color .3s,transform .3s}
.aii:hover{border-color:var(--signal);transform:translateX(6px)}
.aii b{display:block;font-size:16px}.aii p{font-size:14px;color:var(--muted)}
.aii .dot{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in oklab,var(--signal) 14%,var(--rock));color:var(--signal);font-family:var(--f-mono);font-size:13px}
.neural{position:relative;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at center,var(--rock-3),var(--rock) 70%);padding:18px;min-width:0}
.neural svg{width:100%;height:auto;display:block}
.neural .cap{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px 0}
.syn{stroke:var(--line);stroke-width:1}
.pulse{stroke:var(--gold);stroke-width:2;fill:none;stroke-dasharray:10 400;animation:flow 2.6s linear infinite}
.pulse.c{stroke:var(--signal)}
@keyframes flow{from{stroke-dashoffset:410}to{stroke-dashoffset:0}}
.neu{fill:var(--rock);stroke:var(--signal);stroke-width:2}
.neu.out{stroke:var(--gold)}
.neu.on{animation:fire 2.6s ease-in-out infinite}
@keyframes fire{0%,100%{fill:var(--rock)}50%{fill:color-mix(in oklab,var(--signal) 55%,var(--rock))}}
@media (max-width:900px){.aiwrap{grid-template-columns:1fr}}

/* industries */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ind{padding:24px 20px;border-radius:16px;border:1px solid var(--line);background:var(--rock-2);position:relative;overflow:hidden;transition:transform .35s,border-color .35s}
.ind::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--gold),var(--signal));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.ind:hover{transform:translateY(-5px);border-color:color-mix(in oklab,var(--gold) 50%,var(--line))}
.ind:hover::after{transform:scaleX(1)}
.ind svg{width:30px;height:30px;color:var(--gold)}
.ind h3{font-family:var(--f-body);font-size:16px;font-weight:700;letter-spacing:0;margin-top:14px}
.ind p{font-size:13px;color:var(--muted);margin-top:4px}
@media (max-width:900px){.inds{grid-template-columns:1fr 1fr}}

/* tech tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.tab{font:600 14px var(--f-body);padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all .25s}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:#1a1205}
.stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;min-height:150px}
.tech{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--rock-2);animation:pop .5s cubic-bezier(.2,.7,.2,1) both}
.tech i{font-style:normal;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;font-weight:500;background:var(--rock-3);color:var(--signal)}
.tech b{font-size:15px}.tech small{display:block;color:var(--muted);font-size:12px}
@keyframes pop{from{transform:translateY(14px) scale(.96);opacity:0}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--rock-2);transition:border-color .3s}
.faq details[open]{border-color:color-mix(in oklab,var(--signal) 50%,var(--line))}
.faq summary{list-style:none;cursor:pointer;padding:20px 22px;font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--gold);font-weight:500;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 22px 20px;color:var(--muted);max-width:70ch;animation:pop .4s both}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:64px 28px;background:var(--rock)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.fgrid h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-weight:500}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14px}
.fgrid a{text-decoration:none;color:var(--text);opacity:.85;transition:color .2s}
.fgrid a:hover{color:var(--gold)}
.fbrand p{color:var(--muted);font-size:14px;margin-top:14px;max-width:34ch}
.fbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media (max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}

/* AI chat */
.fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--gold),#e09a2a);color:#1a1205;display:grid;place-items:center;box-shadow:0 14px 40px -10px var(--gold)}
.fab svg{width:28px;height:28px}
.fab::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--gold);animation:ring 2.4s ease-out infinite}
@keyframes ring{from{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}
.fab .hint{position:absolute;right:74px;white-space:nowrap;font:600 13px var(--f-body);padding:8px 12px;border-radius:10px;background:var(--rock-3);color:var(--text);border:1px solid var(--line);animation:float 4s ease-in-out infinite}
.chat{position:fixed;right:20px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:41;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 140px));display:flex;flex-direction:column;border-radius:20px;border:1px solid var(--line);background:var(--rock-2);box-shadow:0 30px 80px -20px #000;overflow:hidden;transform-origin:bottom right;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .3s}
.chat.closed{transform:scale(.6) translateY(30px);opacity:0;pointer-events:none}
.chat-h{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,color-mix(in oklab,var(--signal) 14%,var(--rock-2)),var(--rock-2))}
.av{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--rock);color:var(--gold);font-weight:700}
.chat-h b{display:block;font-size:15px}.chat-h small{color:var(--signal);font-size:12px;display:flex;align-items:center;gap:6px}
.chat-h small::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.6s infinite}
.chat-x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:22px;cursor:pointer}
.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:85%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.5;animation:pop .35s both;white-space:pre-line}
.msg.bot{background:var(--rock);border:1px solid var(--line);border-bottom-left-radius:4px}
.msg.me{align-self:flex-end;background:var(--gold);color:#1a1205;border-bottom-right-radius:4px;font-weight:600}
.typing{display:flex;gap:4px;padding:14px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bounce 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bounce{40%{transform:translateY(-6px);background:var(--signal)}}
.qs{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.qs button{font:600 12px var(--f-body);padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}
.qs button:hover{border-color:var(--signal);color:var(--signal)}
.chat form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--rock-2);border-radius:0}
.chat input{flex:1;padding:11px 13px}
.chat form button{flex:none;width:44px;border-radius:10px;border:0;background:var(--signal);color:#06201f;cursor:pointer;font-size:18px}
.totop{position:fixed;right:30px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:39;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--rock-2);color:var(--text);cursor:pointer;opacity:0;transform:translateY(16px);pointer-events:none;transition:all .3s}
.totop.show{opacity:1;transform:none;pointer-events:auto}
body.chatting .totop{opacity:0;pointer-events:none}
@media (max-width:600px){.fab .hint{display:none}}


/* project tabs */
.ptabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}
.ptab{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--rock);color:var(--muted);font:700 15px var(--f-body);cursor:pointer;text-align:left;transition:color .3s,border-color .3s,background .3s,transform .3s}
.ptab svg{flex:none;width:22px;height:22px;transition:color .3s}
.ptab:hover{color:var(--text);transform:translateY(-2px)}
.ptab[aria-selected="true"]{color:var(--text);border-color:color-mix(in oklab,var(--gold) 70%,var(--line));background:linear-gradient(135deg,color-mix(in oklab,var(--gold) 12%,var(--rock)),var(--rock))}
.ptab[aria-selected="true"] svg{color:var(--gold)}
.ptab .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gold),var(--signal));transform:scaleX(0);transform-origin:left}
.ptab[aria-selected="true"] .bar{animation:tabfill var(--dur,8s) linear forwards}
.ptabs.paused .ptab .bar{animation-play-state:paused}
@keyframes tabfill{to{transform:scaleX(1)}}
@media (max-width:900px){.ptabs{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.ptab{font-size:13px;padding:13px 12px}}

.ppanel{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:520px}
.pshow{position:relative;min-width:0;aspect-ratio:4/3.3;max-width:100%;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--fallback);isolation:isolate}
.pshow .ph{position:absolute;inset:0;background-size:cover;background-position:center;animation:kenburns 14s ease-in-out infinite alternate;z-index:0}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-2%,-2%)}}
.pshow::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,color-mix(in oklab,var(--rock) 85%,transparent)),linear-gradient(90deg,color-mix(in oklab,var(--rock) 45%,transparent),transparent 60%)}
.pshow .scan{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent,color-mix(in oklab,var(--signal) 22%,transparent) 50%,transparent);height:30%;animation:scan 4.5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
@keyframes scan{0%{transform:translateY(-100%)}100%{transform:translateY(420%)}}
.pshow .grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px}
.pshow .label{position:absolute;left:18px;top:18px;z-index:3;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:color-mix(in oklab,var(--rock) 70%,transparent);border:1px solid var(--line);backdrop-filter:blur(8px);color:var(--signal);display:flex;align-items:center;gap:8px}
.pshow .label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.4s infinite}
.mock{position:absolute;right:18px;bottom:18px;z-index:3;width:min(270px,62%);padding:16px;border-radius:16px;background:color-mix(in oklab,var(--rock-2) 88%,transparent);border:1px solid color-mix(in oklab,var(--text) 14%,transparent);backdrop-filter:blur(14px);box-shadow:0 24px 60px -20px #000;font-size:13px;animation:mockin .8s .25s cubic-bezier(.2,.7,.2,1) both,float 6s 1.2s ease-in-out infinite}
@keyframes mockin{from{transform:translateY(40px) scale(.92);opacity:0}}
.mock h5{margin:0 0 10px;font:700 13px var(--f-body);display:flex;justify-content:space-between;align-items:center}
.mock h5 em{font-style:normal;font:500 10px var(--f-mono);color:var(--muted)}
.mrow{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);color:var(--muted);animation:pop .4s both}
.mrow b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.mtot{display:flex;justify-content:space-between;margin-top:10px;font-weight:700;font-size:15px}
.mtot b{color:var(--gold);font-variant-numeric:tabular-nums}
.pill{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 10px;border-radius:999px;font:600 11px var(--f-body);background:color-mix(in oklab,var(--signal) 16%,transparent);color:var(--signal);animation:pop .4s 1.2s both}
.meter{height:8px;border-radius:99px;background:var(--rock-3);overflow:hidden;margin:8px 0 4px}
.meter i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--signal),var(--gold));border-radius:99px;animation:meter 1.4s .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes meter{from{width:0}}
.up{color:var(--signal)}.dn{color:#ef8a7a}
.flash{animation:flash .9s}
@keyframes flash{30%{background:color-mix(in oklab,var(--gold) 22%,transparent)}}
.chipf{position:absolute;left:18px;bottom:18px;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:color-mix(in oklab,var(--rock-2) 88%,transparent);border:1px solid var(--line);backdrop-filter:blur(10px);animation:mockin .8s .5s cubic-bezier(.2,.7,.2,1) both,float 5s 1.6s ease-in-out infinite reverse}
.chipf b{font-family:var(--f-display);font-size:20px;color:var(--gold)}
.chipf span{font-size:12px;color:var(--muted);line-height:1.3}
@media (max-width:560px){.chipf{display:none}.mock{width:auto;left:14px;right:14px;bottom:14px}}

.pinfo{min-width:0;animation:slidein .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes slidein{from{transform:translateX(30px);opacity:0}}
.pinfo .tag{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pinfo h3{font-size:clamp(26px,3vw,36px);font-weight:700;margin-block:10px 14px}
.pinfo>p{color:var(--muted);max-width:48ch}
.pfeat{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.pfeat li{display:flex;gap:12px;align-items:flex-start;animation:pop .5s both}
.pfeat li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;background:color-mix(in oklab,var(--signal) 15%,var(--rock));color:var(--signal)}
.pcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pswap .pshow,.pswap .pinfo{opacity:0;transform:translateY(12px);transition:opacity .25s,transform .25s}
@media (max-width:900px){.ppanel{grid-template-columns:1fr;gap:28px;min-height:0}}


/* team */
.team{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.member{position:relative;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;padding:30px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(150deg,var(--rock-2),var(--rock));overflow:hidden;transition:transform .25s ease-out,border-color .35s;min-width:0}
.member:hover{border-color:color-mix(in oklab,var(--gold) 55%,var(--line))}
.member .shine{position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),color-mix(in oklab,var(--gold) 14%,transparent),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.member:hover .shine{opacity:1}
.ava{position:relative;width:148px;height:148px;flex:none}
.ava::before{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from var(--a,0deg),var(--gold),var(--signal),transparent 55%,var(--gold));animation:spinring 4s linear infinite}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spinring{to{--a:360deg}}
.ava::after{content:"";position:absolute;inset:-18px;border-radius:50%;border:1px dashed color-mix(in oklab,var(--signal) 40%,transparent);animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ava .ph{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:4px solid var(--rock);background:linear-gradient(135deg,var(--rock-3),var(--rock));display:grid;place-items:center;font-family:var(--f-display);font-size:42px;font-weight:700;color:var(--gold)}
.ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.member:hover .ava img{transform:scale(1.08)}
.ava .on{position:absolute;right:8px;bottom:10px;z-index:2;width:18px;height:18px;border-radius:50%;background:var(--signal);border:3px solid var(--rock);box-shadow:0 0 0 0 var(--signal);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 12px transparent}}
.minfo{min-width:0;position:relative}
.minfo .role{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.minfo h3{font-size:clamp(20px,2.2vw,26px);margin-block:6px 10px}
.minfo p{color:var(--muted);font-size:14.5px}
.exp{display:flex;align-items:baseline;gap:8px;margin-top:14px}
.exp b{font-family:var(--f-display);font-size:34px;font-weight:700;background:linear-gradient(90deg,var(--gold),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.exp span{color:var(--muted);font-size:13px}
.skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.skills span{font:600 12px var(--f-body);padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--rock);transition:all .3s}
.member:hover .skills span{border-color:color-mix(in oklab,var(--signal) 50%,var(--line))}
.member.in .skills span{animation:pop .45s both}
@media (max-width:980px){.team{grid-template-columns:1fr}}
@media (max-width:560px){.member{grid-template-columns:1fr;justify-items:start}.ava{width:120px;height:120px;margin:10px}}

.culture{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;margin-top:24px;align-items:stretch}
.mv{display:grid;gap:16px}
.mvc{padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--rock-2);position:relative;overflow:hidden}
.mvc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--gold),var(--signal));transform:scaleY(0);transform-origin:top;transition:transform .8s .2s cubic-bezier(.2,.7,.2,1)}
.mvc.in::before,.mvc:hover::before{transform:scaleY(1)}
.mvc .eyebrow{color:var(--gold)}
.mvc p{margin-top:10px;font-size:17px;line-height:1.5}
.values{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.val{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--rock-2);border:1px solid var(--line);font-weight:700;transition:transform .3s,border-color .3s}
.val:hover{transform:translateY(-3px);border-color:var(--signal)}
.val i{font-style:normal;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--rock);color:var(--signal)}
.val i svg{width:18px;height:18px}

.orbit{position:relative;border-radius:20px;border:1px solid var(--line);background:radial-gradient(circle at center,var(--rock-3),var(--rock) 70%);min-height:400px;overflow:hidden;min-width:0}
.orbit .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--rock);border:2px solid var(--gold);box-shadow:0 0 60px -10px var(--gold);z-index:3;font-family:var(--f-display);font-weight:700;font-size:14px;line-height:1.2}
.orbit .core small{display:block;font:500 10px var(--f-mono);color:var(--muted);letter-spacing:.1em;margin-top:4px}
.ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px dashed color-mix(in oklab,var(--text) 14%,transparent);transform:translate(-50%,-50%)}
.ring.r1{width:220px;height:220px}.ring.r2{width:340px;height:340px}
.rot{position:absolute;inset:0;animation:spin var(--t) linear infinite}
.rot.rev{animation-direction:reverse}
.node{position:absolute;left:50%;top:50%;transform:rotate(var(--deg)) translateX(var(--r)) rotate(calc(-1 * var(--deg)))}
.node span{display:block;transform:translate(-50%,-50%);white-space:nowrap;padding:7px 12px;border-radius:999px;font:600 12px var(--f-body);background:var(--rock-2);border:1px solid var(--line);animation:cspin var(--t) linear infinite}
.rot.rev .node span{animation-name:cspinr}
@keyframes cspin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes cspinr{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.node.g span{border-color:color-mix(in oklab,var(--gold) 60%,var(--line));color:var(--gold-2)}
.orbit .cap{position:absolute;left:18px;top:16px;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (max-width:980px){.culture{grid-template-columns:1fr}}
@media (max-width:480px){.ring.r2{width:290px;height:290px}.orbit{min-height:360px}}


.ph svg.avsvg{position:absolute;inset:0;width:100%;height:100%}
.avsvg .eye{animation:eblink 5s infinite;transform-origin:center;transform-box:fill-box}
@keyframes eblink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.mate{position:relative;padding:26px 20px 22px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(170deg,var(--rock-2),var(--rock));text-align:center;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s}
.mate:hover{transform:translateY(-8px);border-color:color-mix(in oklab,var(--signal) 55%,var(--line))}
.mate::before{content:"";position:absolute;left:50%;top:-60px;width:220px;height:220px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(color-mix(in oklab,var(--hue) 30%,transparent),transparent 65%);opacity:.6;transition:opacity .4s}
.mate:hover::before{opacity:1}
.ava img{opacity:0;animation:imgin .8s .2s ease forwards}
@keyframes imgin{to{opacity:1}}
.mate:hover .ava img{transform:scale(1.08)}
.mate .ava{width:112px;height:112px;margin:6px auto 0}
.mate .ava::before{animation-duration:6s}
.mate h3{font-family:var(--f-body);font-size:17px;font-weight:700;letter-spacing:0;margin-top:20px;position:relative}
.mate .r{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:4px;position:relative}
.mate .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1);position:relative}
.mate:hover .more,.mate:focus-within .more{grid-template-rows:1fr}
.mate .more>div{overflow:hidden}
.mate .more p{font-size:13px;color:var(--muted);padding-top:12px}
.sbar{margin-top:10px;text-align:left;font-size:11px;color:var(--muted)}
.sbar div{display:flex;justify-content:space-between}
.sbar i{display:block;height:5px;border-radius:9px;background:var(--rock-3);margin:4px 0 8px;overflow:hidden}
.sbar i::after{content:"";display:block;height:100%;width:0;background:linear-gradient(90deg,var(--signal),var(--gold));border-radius:9px;transition:width 1s .15s cubic-bezier(.2,.7,.2,1)}
.mate:hover .sbar i::after,.mate:focus-within .sbar i::after{width:var(--w)}
.socials{display:flex;justify-content:center;gap:8px;margin-top:14px;position:relative}
.socials span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:var(--rock);color:var(--muted);transition:all .3s;transform:translateY(0)}
.socials span svg{width:15px;height:15px}
.mate:hover .socials span{color:var(--text);border-color:var(--line)}
.mate:hover .socials span:nth-child(1){transform:translateY(-3px);transition-delay:.05s}
.mate:hover .socials span:nth-child(2){transform:translateY(-3px);transition-delay:.12s}
.mate:hover .socials span:nth-child(3){transform:translateY(-3px);transition-delay:.19s}
.mate .hint2{font-size:11px;color:var(--muted);margin-top:10px;opacity:.7;position:relative}
.mate:hover .hint2{display:none}
@media (max-width:980px){.crew{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.crew{grid-template-columns:1fr}}


/* ===== AI upgrade ===== */
.navr{display:flex;align-items:center;gap:10px}
.askai{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--f-body);padding:9px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--signal) 50%,var(--line));background:color-mix(in oklab,var(--signal) 10%,transparent);color:var(--text);cursor:pointer;transition:background .25s,box-shadow .3s}
.askai svg{color:var(--signal)}
.askai:hover{background:color-mix(in oklab,var(--signal) 20%,transparent);box-shadow:0 0 24px -6px var(--signal)}
.askai kbd{font:500 10.5px var(--f-mono);padding:2px 6px;border-radius:5px;background:var(--rock);border:1px solid var(--line);color:var(--muted)}
@media (max-width:1000px){.askai kbd{display:none}}
@media (max-width:820px){.askai{display:none}}
.rotline{white-space:nowrap}
@property --b{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spinb{to{--b:360deg}}
.aiprompt{position:relative;display:flex;gap:8px;align-items:center;margin-top:30px;padding:7px 7px 7px 16px;border-radius:16px;background:color-mix(in oklab,var(--rock-2) 88%,transparent);backdrop-filter:blur(10px);max-width:600px;box-shadow:0 20px 50px -24px #000}
.aiprompt::before,.stage::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--b),var(--signal),transparent 28%,transparent 55%,var(--gold),var(--signal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinb 6s linear infinite;pointer-events:none}
.aiprompt .spark{flex:none;width:20px;height:20px;color:var(--gold);animation:twinkle 2.4s ease-in-out infinite}
@keyframes twinkle{50%{transform:scale(1.2) rotate(20deg);color:var(--signal)}}
.aiprompt input{flex:1;min-width:0;width:auto;background:transparent;border:0;padding:12px 4px;font-size:15px}
.aiprompt input:focus{border:0;outline:none}
.aiprompt:focus-within{box-shadow:0 0 0 3px color-mix(in oklab,var(--signal) 25%,transparent),0 20px 50px -24px #000}
.sugg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;max-width:600px}
.sugg span{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sugg button{font:600 12.5px var(--f-body);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s}
.sugg button:hover{border-color:var(--signal);color:var(--signal)}
.hero .cta{margin-top:22px}
@media (max-width:520px){.aiprompt{flex-wrap:wrap;padding:10px}.aiprompt input{flex-basis:calc(100% - 40px)}.aiprompt .btn{width:100%;justify-content:center}}
.term-body{min-height:300px}

.svc.feat{grid-column:1/-1;border-color:color-mix(in oklab,var(--signal) 50%,var(--line));background:linear-gradient(110deg,color-mix(in oklab,var(--signal) 13%,var(--rock-2)),var(--rock-2) 60%)}
.svc.feat .ic{background:var(--signal);color:#06201f}
.svc.feat h3{font-size:18px}
.alt .svc:not(.feat),.alt .ind,.alt .tech,.alt .aii,.alt .faq details,.alt .mvc,.alt .val,.alt .vstat,.alt .vlog li{background:var(--rock)}

.aiin{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;align-items:center}
.aiin .lbl2{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal);margin-right:4px}
.aiin .c{font:600 12px var(--f-body);padding:6px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--signal) 45%,var(--line));background:color-mix(in oklab,var(--signal) 8%,transparent);animation:pop .4s both}

/* AI Lab */
.lab{display:grid;grid-template-columns:270px 1fr;gap:20px;align-items:start}
.labtabs{display:grid;gap:10px}
.labtab{position:relative;display:flex;gap:14px;align-items:center;text-align:left;padding:15px;border-radius:14px;border:1px solid var(--line);background:var(--rock);color:var(--muted);cursor:pointer;font:inherit;transition:border-color .3s,background .3s,transform .3s}
.labtab:hover{transform:translateX(4px);color:var(--text)}
.labtab i{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--rock-3);color:var(--signal);transition:all .3s}
.labtab i svg{width:22px;height:22px}
.labtab b{display:block;color:var(--text);font-size:15px}
.labtab small{font-size:12.5px}
.labtab[aria-selected="true"]{border-color:var(--signal);background:linear-gradient(120deg,color-mix(in oklab,var(--signal) 13%,var(--rock)),var(--rock))}
.labtab[aria-selected="true"] i{background:var(--signal);color:#06201f;box-shadow:0 0 22px -4px var(--signal)}
.stage{position:relative;border-radius:20px;background:var(--rock);padding:22px;min-width:0;min-height:460px}
.pane{animation:slidein .5s cubic-bezier(.2,.7,.2,1) both}
.pane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pane-head>div{max-width:56ch}
.pane-head h3{font-size:22px}
.pane-head p{color:var(--muted);font-size:14.5px;margin-top:6px}
.live{flex:none;display:inline-flex;align-items:center;gap:7px;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal);padding:6px 10px;border-radius:999px;border:1px solid var(--line)}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.4s infinite}
.status{font:12.5px var(--f-mono);color:var(--muted);margin:12px 0}
.status .k{color:var(--signal)}
@media (max-width:980px){.lab{grid-template-columns:1fr}.labtabs{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.labtab small{display:none}.labtab{padding:12px}.stage{padding:16px}}

.vgrid{display:grid;grid-template-columns:1fr 210px;gap:16px}
.cam{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/10;max-width:100%;background:#071012;min-width:0}
.cam canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cam .rec,.cam .ts,.cam .model{position:absolute;font:500 11px var(--f-mono);color:#e8f4f2;letter-spacing:.06em;text-shadow:0 1px 2px #000}
.cam .rec{left:12px;top:10px;display:flex;gap:6px;align-items:center}
.cam .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--alert);animation:blink 1.2s infinite}
.cam .ts{right:12px;top:10px}
.cam .model{left:12px;bottom:10px;color:var(--signal);background:#000a;padding:4px 8px;border-radius:6px;font-size:10px}
.vside{display:grid;gap:10px;align-content:start;min-width:0}
.vstat{padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--rock-2)}
.vstat span{font-size:12px;color:var(--muted)}
.vstat b{display:block;font-family:var(--f-display);font-size:26px;font-variant-numeric:tabular-nums;line-height:1.2}
.vstat.al b{color:var(--alert)}
.vlog{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:11px/1.4 var(--f-mono)}
.vlog li{padding:7px 9px;border-radius:9px;background:var(--rock-2);border:1px solid var(--line);color:var(--muted);animation:pop .35s both}
.vlog li.al{border-color:var(--alert);color:var(--alert)}
@media (max-width:760px){.vgrid{grid-template-columns:1fr}.vside{grid-template-columns:repeat(3,1fr)}.vlog{grid-column:1/-1}}

.fcbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.fcbar .chips{margin:0}
.fcchart{overflow-x:auto}
.fcchart svg{display:block;width:100%;min-width:520px;height:auto}
#fcsvg .gl{stroke:var(--line);stroke-width:1}
#fcsvg .tl{fill:var(--muted);font:11px var(--f-mono)}
#fcsvg .tl.fx,#fcsvg .fzl{fill:var(--gold)}
#fcsvg .fzl{font:500 10px var(--f-mono);letter-spacing:.12em}
#fcsvg .fz{fill:color-mix(in oklab,var(--gold) 7%,transparent)}
#fcsvg .ar{fill:color-mix(in oklab,var(--signal) 12%,transparent)}
#fcsvg .al{fill:none;stroke:var(--signal);stroke-width:2.5;stroke-linejoin:round}
#fcsvg .fl{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linejoin:round}
#fcsvg .bd{fill:color-mix(in oklab,var(--gold) 18%,transparent)}
#fcsvg .pt{fill:var(--rock);stroke:var(--signal);stroke-width:2}
#fcsvg .ep{fill:var(--gold)}
#fcsvg .epl{fill:var(--gold-2);font:700 13px var(--f-body)}
.fcins{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;margin-top:14px}
.fcins>div{padding:12px 14px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);animation:pop .4s both;min-width:0}
.fcins span{font-size:12px;color:var(--muted)}
.fcins b{display:block;font-family:var(--f-display);font-size:20px;font-variant-numeric:tabular-nums}
.fcins b.up{color:var(--signal)}
.fcins p{font-size:13px;margin-top:2px}
.fcins .ghost{height:64px;background:linear-gradient(90deg,var(--rock-2),var(--rock-3),var(--rock-2));background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
@media (max-width:600px){.fcins{grid-template-columns:1fr 1fr}.fcins>div:last-child{grid-column:1/-1}}

.dgrid{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:20px;align-items:start}
.receipt{position:relative;overflow:hidden;background:var(--paper);color:var(--ink);font:12.5px/1.65 var(--f-mono);padding:20px 18px 26px;border-radius:6px;box-shadow:0 20px 50px -20px #000;transform:rotate(-1.2deg)}
.receipt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(-45deg,var(--rock) 5px,transparent 0) 0 0/10px 10px,linear-gradient(45deg,var(--rock) 5px,transparent 0) 0 0/10px 10px}
.alt .receipt::after{background:linear-gradient(-45deg,var(--rock) 5px,transparent 0) 0 0/10px 10px,linear-gradient(45deg,var(--rock) 5px,transparent 0) 0 0/10px 10px}
.rc-c{text-align:center}
.rc-r{display:flex;justify-content:space-between;gap:10px}
.rc-d{border-top:1px dashed #999;margin:8px 0}
.rc-t{font-weight:700;font-size:14px;margin-top:4px}
.rc-s{margin-top:10px;font-size:11px;opacity:.6}
.receipt [data-f]{transition:background .3s,box-shadow .3s;border-radius:3px}
.receipt .hl{background:color-mix(in oklab,var(--signal) 35%,transparent);box-shadow:0 0 0 2px var(--signal)}
.dscan{position:absolute;left:0;right:0;top:-30%;height:28%;background:linear-gradient(180deg,transparent,color-mix(in oklab,var(--signal) 45%,transparent),transparent);opacity:0;pointer-events:none;z-index:2}
.receipt.scanning .dscan{opacity:1;animation:dscan 1.5s ease-in-out}
@keyframes dscan{to{top:100%}}
.dout{min-width:0}
.json{margin:0;padding:16px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);font:12px/1.7 var(--f-mono);min-height:330px;white-space:pre-wrap;overflow-x:auto}
.json .k{color:var(--signal)}.json .g{color:var(--gold)}
.works{margin-top:10px;font-size:12.5px;color:var(--muted)}
.works span{font:500 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal);margin-right:6px}
@media (max-width:700px){.dgrid{grid-template-columns:1fr}.receipt{max-width:320px}}

.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sin{min-width:0}
.lbl{display:block;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.sin textarea{min-height:120px}
.sin .btn{margin-top:14px}
.htext{margin-top:16px;font-size:14px;line-height:1.8;color:var(--muted)}
.htext .sp{background:color-mix(in oklab,var(--signal) 22%,transparent);color:var(--text);border-radius:4px;padding:1px 3px}
.htext .sn{background:color-mix(in oklab,var(--alert) 25%,transparent);color:var(--text);border-radius:4px;padding:1px 3px}
.sres{display:grid;gap:14px;align-content:start;min-width:0}
.slabel{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.slabel span{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.slabel b{font-family:var(--f-display);font-size:28px}
.slabel b.Positive{color:var(--signal)}.slabel b.Negative{color:var(--alert)}.slabel b.Mixed,.slabel b.Neutral{color:var(--gold)}
.slabel em{font:500 12px var(--f-mono);font-style:normal;color:var(--muted)}
.gauge{position:relative;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--alert),var(--gold) 50%,var(--signal))}
.gauge i{position:absolute;top:50%;left:50%;width:20px;height:20px;border-radius:50%;background:var(--text);border:4px solid var(--rock);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--text);transition:left 1.1s cubic-bezier(.2,.7,.2,1)}
.g3{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:-6px}
.emo div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.emo i{display:block;height:6px;border-radius:9px;background:var(--rock-3);margin:4px 0 9px;overflow:hidden}
.emo i::after{content:"";display:block;height:100%;width:var(--w,0);background:var(--c,var(--signal));border-radius:9px;transition:width 1s .2s cubic-bezier(.2,.7,.2,1)}
.topics{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.topics span{font:600 12px var(--f-body);padding:5px 10px;border-radius:999px;border:1px solid var(--line);animation:pop .4s both}
.reply{padding:14px;border-radius:12px;border:1px solid color-mix(in oklab,var(--signal) 40%,var(--line));background:color-mix(in oklab,var(--signal) 6%,var(--rock-2))}
.reply span{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal)}
.reply p{font-size:14px;margin-top:6px;min-height:3em}
@media (max-width:800px){.sgrid{grid-template-columns:1fr}}


/* ===== AI agents & automation ===== */
.links a,.navr .btn,.askai{white-space:nowrap}
@media (max-width:1420px){.links{gap:20px}}
@media (max-width:1240px){.askai kbd{display:none}.links{gap:18px}}
@media (max-width:1140px){.askai{display:none}}
@media (max-width:1010px){.links{gap:14px;font-size:13px}.links a:nth-child(n+6){display:none}}
@media (max-width:600px){#ag{min-width:0}#ag text{font-size:16px}#ag .sub{font-size:12px}#ag .orch text{font-size:14px}#ag .ini{font-size:11px}#ag .tool text{font-size:14px}}
.ifeat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.ifeat div{padding:12px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);font-size:13px;font-weight:600;min-width:0}
.ifeat i{display:block;font-style:normal;color:var(--signal);margin-bottom:6px}
@media (max-width:480px){.ifeat{grid-template-columns:1fr}}
.scn{margin-bottom:18px}
.astage{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:20px;padding:22px;border-radius:20px;background:var(--rock-2);min-width:0}
.astage::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--b),var(--gold),transparent 28%,transparent 55%,var(--signal),var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinb 7s linear infinite;pointer-events:none}
.agraph{min-width:0;overflow-x:auto;align-self:center}
.agraph svg{display:block;width:100%;min-width:470px;height:auto}
#ag text{fill:var(--text);font:600 13px var(--f-body)}
#ag .sub{fill:var(--muted);font:500 10px var(--f-mono);letter-spacing:.08em}
#ag .orch text{font-size:12px}
#ag .ini{fill:var(--signal);font:700 9px var(--f-mono)}
#ag .dot{fill:var(--rock-3)}
#ag .gbox{fill:var(--rock);stroke:var(--line);stroke-width:1.5;transition:stroke .3s,fill .3s}
#ag .gn{transition:filter .3s}
#ag .gn.on .gbox{stroke:var(--signal);fill:color-mix(in oklab,var(--signal) 14%,var(--rock))}
#ag .gn.on{filter:drop-shadow(0 0 12px color-mix(in oklab,var(--signal) 55%,transparent))}
#ag .orch .gbox{stroke:var(--gold)}
#ag .orch.on .gbox{fill:color-mix(in oklab,var(--gold) 16%,var(--rock))}
#ag .orch.on{filter:drop-shadow(0 0 16px color-mix(in oklab,var(--gold) 60%,transparent))}
#ag .oring{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 7;opacity:.5;transform-box:fill-box;transform-origin:center;animation:spin 14s linear infinite}
#ag.think .oring{animation-duration:1.6s;opacity:1}
#ag .ge{fill:none;stroke:var(--line);stroke-width:2;transition:stroke .3s}
#ag .ge.on{stroke:var(--gold);stroke-dasharray:6 7;animation:dflow .45s linear infinite}
@keyframes dflow{to{stroke-dashoffset:-13}}
#ag .tool{opacity:0;transition:opacity .4s}
#ag .tool.show{opacity:1}
#ag .tool rect{fill:color-mix(in oklab,var(--gold) 14%,var(--rock));stroke:var(--gold);stroke-width:1.2}
#ag .tool text{font:600 11.5px var(--f-body);fill:var(--gold-2)}
.afeedw{min-width:0}
.feedh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.afeed{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.afeed li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--rock);border:1px solid var(--line);animation:pop .35s both;min-width:0}
.afeed li>div{min-width:0;flex:1}
.afeed .av{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font:700 10.5px var(--f-mono);font-style:normal;background:var(--rock-3);color:var(--signal)}
.afeed .av.g{color:var(--gold)}
.afeed b{font-size:13px}
.afeed .to{font:500 11px var(--f-mono);color:var(--gold);margin-left:6px}
.afeed p{color:var(--muted);font-size:12.5px;margin-top:2px;line-height:1.45}
.afeed em{flex:none;font-style:normal;color:var(--signal);font-weight:700;animation:pop .3s both}
.afeed li.fin{border-color:var(--signal);background:color-mix(in oklab,var(--signal) 9%,var(--rock))}
.afeed li.fin .av{background:var(--signal);color:#06201f}
@media (max-width:980px){.astage{grid-template-columns:1fr}}
.agents{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.agc{position:relative;display:flex;flex-direction:column;padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--rock-2);overflow:hidden;transition:transform .35s,border-color .35s;min-width:0}
.agc::after{content:"";position:absolute;inset:auto -30% -70% auto;width:200px;height:200px;border-radius:50%;background:radial-gradient(color-mix(in oklab,var(--signal) 28%,transparent),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
.agc:hover{transform:translateY(-5px);border-color:color-mix(in oklab,var(--signal) 55%,var(--line))}
.agc:hover::after{opacity:1}
.agc .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--rock-3);color:var(--signal)}
.agc h3{font-family:var(--f-body);font-size:16px;font-weight:700;letter-spacing:0;margin-top:14px}
.agc p{font-size:13px;color:var(--muted);margin-top:4px;flex:1}
.agst{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font:11.5px/1.4 var(--f-mono);color:var(--signal);min-height:3.2em;transition:opacity .25s}
.agst::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--signal);animation:blink 1.4s infinite}
@media (max-width:1000px){.agents{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.agents{grid-template-columns:1fr}}

.wfp{position:relative;padding:22px;border-radius:20px;background:var(--rock);border:1px solid var(--line)}
.wfbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.wfbar .chips{margin:0}
.wfmeta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:14px 0 22px;font-size:13px;color:var(--muted)}
.wfmeta b{color:var(--gold)}
.wfmeta .status{margin:0}
.wf{display:flex;align-items:stretch}
.wn{position:relative;flex:1;min-width:0;display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--rock-2);transition:border-color .3s,box-shadow .3s,transform .3s;animation:pop .45s both}
.wn>i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--rock-3);font-style:normal}
.wn.t-trigger>i{color:var(--gold)}.wn.t-ai>i{color:var(--signal)}.wn.t-action>i{color:var(--text)}
.wn>div{min-width:0}
.wn small{display:block;font:500 10px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.wn.t-ai small{color:var(--signal)}
.wn b{display:block;font-size:13.5px;line-height:1.3;margin-top:2px}
.wn .wout{display:block;font:11.5px var(--f-mono);color:var(--signal);margin-top:5px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.wn.done .wout{opacity:1;transform:none}
.wn .ok{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--signal);color:#06201f;font:700 12px/22px var(--f-body);text-align:center;font-style:normal;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.wn.done .ok{transform:scale(1)}
.wn.run{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in oklab,var(--gold) 18%,transparent);transform:translateY(-3px)}
.wn.t-ai.run{border-color:var(--signal);box-shadow:0 0 0 4px color-mix(in oklab,var(--signal) 20%,transparent),0 0 30px -6px var(--signal)}
.wc{flex:none;width:30px;align-self:center;height:2px;background:var(--line);position:relative}
.wc i{position:absolute;top:50%;left:0;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--gold);opacity:0;box-shadow:0 0 10px var(--gold)}
.wc.flow i{animation:packet .5s linear}
@keyframes packet{0%{left:0;opacity:1}100%{left:calc(100% - 9px);opacity:1}}
@media (max-width:1000px){.wf{flex-direction:column}.wc{width:2px;height:24px}.wc i{left:50%;top:0;margin:0 0 0 -4.5px}.wc.flow i{animation:packetv .5s linear}}
@keyframes packetv{0%{top:0;opacity:1}100%{top:calc(100% - 9px);opacity:1}}
.autog{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.roi,.intg{padding:24px;border-radius:20px;background:var(--rock);border:1px solid var(--line);min-width:0}
.roi h3,.intg h3{font-size:20px}
.roi label{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;margin-top:18px}
.roi output{font:600 13px var(--f-mono);color:var(--gold)}
.roi input[type=range]{width:100%;accent-color:var(--gold);padding:0;border:0;background:transparent;margin-top:8px;height:22px}
.roiout{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.roiout div{padding:12px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);min-width:0}
.roiout span{font-size:12px;color:var(--muted)}
.roiout b{display:block;font-family:var(--f-display);font-size:22px;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.roi .note{font-size:12px;color:var(--muted);margin-top:12px}
.intg>p{color:var(--muted);font-size:14px;margin:8px 0 20px}
.irow{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);margin-top:10px}
.irow .tr{display:flex;gap:10px;width:max-content;animation:scroll 36s linear infinite}
.irow .tr.rev{animation-direction:reverse;animation-duration:42s}
.ip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:var(--rock-2);font-weight:600;font-size:13.5px;white-space:nowrap}
.ip i{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font:700 11px var(--f-mono);font-style:normal;background:var(--rock-3);color:var(--gold)}
@media (max-width:900px){.autog{grid-template-columns:1fr}}
@media (max-width:480px){.roiout{grid-template-columns:1fr 1fr}.roiout div:last-child{grid-column:1/-1}.wfp{padding:16px}}

@media (max-width:600px){#ag text{font-size:17px}#ag .sub{font-size:12.5px}#ag .orch text{font-size:14px}#ag .ini{font-size:11px}#ag .tool text{font-size:14px}}

/* ===== specialisations, fintech, security ===== */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.spec{position:relative;display:flex;flex-direction:column;padding:26px;border-radius:18px;background:var(--rock);text-decoration:none;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.spec::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--b),var(--c),transparent 30%,transparent 60%,var(--c));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinb 6s linear infinite;pointer-events:none}
.spec::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(color-mix(in oklab,var(--c) 30%,transparent),transparent 65%);opacity:.5;transition:opacity .4s;pointer-events:none}
.spec:hover{transform:translateY(-6px)}
.spec:hover::after{opacity:1}
.spec .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in oklab,var(--c) 16%,var(--rock));color:var(--c);box-shadow:0 0 30px -8px var(--c)}
.spec .tag{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-top:18px}
.spec h3{font-size:24px;margin-top:6px}
.spec p{color:var(--muted);font-size:14.5px;margin-top:8px}
.spec .chs{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.spec .chs span{font:600 12px var(--f-body);padding:6px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--c) 40%,var(--line))}
.spec .more{margin-top:auto;padding-top:18px;font-weight:700;color:var(--c);transition:letter-spacing .3s}
.spec:hover .more{letter-spacing:.04em}
@media (max-width:900px){.specs{grid-template-columns:1fr}}

.ftg{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ftcaps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ftc{padding:18px;border-radius:16px;border:1px solid var(--line);background:var(--rock-2);transition:transform .35s,border-color .35s;min-width:0}
.ftc:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--gold) 55%,var(--line))}
.ftc i{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:color-mix(in oklab,var(--gold) 14%,var(--rock));color:var(--gold)}
.ftc h3{font-family:var(--f-body);font-size:15.5px;font-weight:700;letter-spacing:0;margin-top:12px}
.ftc p{font-size:13px;color:var(--muted);margin-top:4px}
.ftvis{position:relative;padding:30px 60px;min-width:0}
.phone{position:relative;z-index:2;width:min(290px,100%);margin-inline:auto;border-radius:42px;background:#05080c;padding:11px;box-shadow:0 0 0 2px #283041,0 40px 80px -30px #000,0 0 80px -30px var(--gold);animation:float 7s ease-in-out infinite}
.notch{position:absolute;top:19px;left:50%;transform:translateX(-50%);width:86px;height:22px;border-radius:12px;background:#05080c;z-index:3}
.pscreen{border-radius:32px;background:linear-gradient(170deg,#161e2a,#0a0e14);padding:40px 15px 16px;overflow:hidden}
.ptop{display:flex;justify-content:space-between;align-items:center}
.ptop small{display:block;font-size:11px;color:var(--muted)}
.ptop b{font-size:15px}
.pav{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 12px var(--f-body);background:linear-gradient(135deg,var(--gold),#b8741a);color:#1a1205}
.bal{margin-top:18px}
.bal small{font-size:11.5px;color:var(--muted)}
.bal b{display:block;font-family:var(--f-display);font-size:28px;font-variant-numeric:tabular-nums;line-height:1.2}
.bal em{font-style:normal;font-size:12px;color:var(--signal)}
.spark{display:block;width:100%;height:50px;margin-top:6px}
.spark .sa{fill:color-mix(in oklab,var(--gold) 16%,transparent)}
.spark .sl{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:400;stroke-dashoffset:400;animation:drawl 2.2s .4s ease forwards}
@keyframes drawl{to{stroke-dashoffset:0}}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;text-align:center}
.qa i{width:40px;height:40px;margin:0 auto;border-radius:13px;display:grid;place-items:center;background:var(--rock-3);color:var(--gold)}
.qa span{display:block;font-size:10.5px;color:var(--muted);margin-top:5px}
.txh{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px;font:500 10.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.aitag{color:var(--signal);text-transform:none;letter-spacing:0}
.txl{list-style:none;margin:0;padding:0;display:grid;gap:7px;min-height:236px;align-content:start}
.txl li{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:12px;background:#ffffff08;border:1px solid var(--line);animation:txin .45s cubic-bezier(.2,.7,.2,1) both}
.txl li.fr{border-color:var(--alert);background:color-mix(in oklab,var(--alert) 12%,transparent);animation:txin .45s both,shake .5s .45s}
@keyframes txin{from{transform:translateY(-14px);opacity:0}}
@keyframes shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.txl .ti{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--f-body);font-style:normal;background:var(--rock-3);color:var(--gold)}
.txl li>div:not(.amt){min-width:0;flex:1}
.txl .amt b{white-space:nowrap}
.txl{grid-template-columns:minmax(0,1fr)}.txl li{min-width:0}
.txl b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txl small{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txl .amt{flex:none;text-align:right}
.txl .amt b.cr{color:var(--signal)}
.txl .amt small.ok{color:var(--signal)}
.txl .amt small.bad{color:var(--alert);font-weight:700}
.ccard{position:absolute;z-index:3;left:-6px;bottom:70px;width:230px;aspect-ratio:1.586;max-width:70%;border-radius:16px;padding:16px;background:linear-gradient(135deg,#f6c76a,#d48f22 50%,#7a4a10);color:#1a1205;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 60px -20px #000;animation:cardfloat 7s ease-in-out infinite}
.ccard::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,#ffffff55 45%,transparent 60%);background-size:250% 100%;animation:cardshine 4s ease-in-out infinite}
@keyframes cardfloat{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-8deg) translateY(-12px)}}
@keyframes cardshine{0%{background-position:150% 0}60%,100%{background-position:-100% 0}}
.cc-top{display:flex;justify-content:space-between;align-items:center;font:800 11px var(--f-display);letter-spacing:.08em}
.chipc{width:38px;height:28px;border-radius:6px;background:linear-gradient(135deg,#fff2c6,#c9a24a);box-shadow:inset 0 0 0 1px #0002}
.cc-num{font:600 14px var(--f-mono);letter-spacing:.08em}
.cc-bot{display:flex;justify-content:space-between;font:600 10.5px var(--f-mono);letter-spacing:.06em}
.ftkyc,.ftalert{position:absolute;z-index:4;display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:14px;background:color-mix(in oklab,var(--rock-2) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 20px 40px -16px #000}
.ftkyc{right:0;top:300px;border:1px solid color-mix(in oklab,var(--signal) 50%,var(--line));animation:float 5s 1s ease-in-out infinite}
.ftkyc i,.ftalert i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;background:var(--signal);color:#06201f}
.ftkyc b,.ftalert b{display:block;font-size:13px}
.ftkyc small,.ftalert small{font-size:11px;color:var(--muted)}
.ftalert{right:4px;bottom:140px;border:1px solid var(--alert);opacity:0;transform:translateX(20px);pointer-events:none}
.ftalert i{background:var(--alert);color:#fff}
.ftalert.show{animation:alertin 4.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes alertin{0%{opacity:0;transform:translateX(20px)}10%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateX(20px)}}
.comp{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:34px;padding:16px 18px;border-radius:16px;border:1px dashed color-mix(in oklab,var(--gold) 45%,var(--line))}
.comp .lbl2{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-right:6px}
.comp .c{display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--f-body);padding:7px 12px;border-radius:999px;background:var(--rock-2);border:1px solid var(--line)}
.comp .c svg{color:var(--gold)}
@media (max-width:980px){.ftg{grid-template-columns:1fr}.ftvis{order:-1}}
@media (max-width:560px){.ftcaps{grid-template-columns:1fr}.ftvis{padding:20px 0 30px}.ccard{width:150px;left:-4px;bottom:-4px;padding:10px}.cc-top{font-size:9px}.chipc{width:28px;height:20px}.cc-num{font-size:11px}.ftkyc{right:-4px;top:290px}.ftalert{right:-4px}}

.secg{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}
.soc{padding:20px;border-radius:20px;background:var(--rock);border:1px solid color-mix(in oklab,var(--alert) 30%,var(--line));box-shadow:inset 0 0 60px -30px var(--alert);min-width:0}
.soch{display:flex;justify-content:space-between;align-items:center;gap:10px;font:500 11px var(--f-mono);color:var(--muted)}
.live.red{color:var(--alert)}.live.red::before{background:var(--alert)}
.socg{display:grid;grid-template-columns:1fr 150px;gap:16px;align-items:center;margin:14px 0}
.radar{position:relative;aspect-ratio:1;max-width:100%;min-width:0}
.radar canvas{position:absolute;inset:0;width:100%;height:100%}
.shield{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--rock);border:2px solid var(--signal);color:var(--signal);box-shadow:0 0 0 0 var(--signal);animation:ping 2.2s infinite}
.socstats{display:grid;gap:10px}
.socstats div{padding:10px 12px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line)}
.socstats span{font-size:11.5px;color:var(--muted)}
.socstats b{display:block;font-family:var(--f-display);font-size:24px;font-variant-numeric:tabular-nums}
.socstats b.g{color:var(--gold)}.socstats b.ok{color:var(--signal)}
.tlog{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:11.5px/1.4 var(--f-mono)}
.tlog li{padding:8px 10px;border-radius:9px;background:var(--rock-2);border:1px solid var(--line);color:var(--muted);animation:pop .35s both;transition:color .3s,border-color .3s}
.tlog li.det{border-color:var(--alert);color:var(--alert)}
.tlog li.ok{border-color:color-mix(in oklab,var(--signal) 45%,var(--line));color:var(--signal)}
.secl{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sec-i{display:flex;gap:12px;align-items:flex-start;padding:15px;border-radius:14px;border:1px solid var(--line);background:var(--rock);transition:transform .3s,border-color .3s;min-width:0}
.sec-i:hover{transform:translateY(-3px);border-color:color-mix(in oklab,var(--alert) 50%,var(--line))}
.sec-i i{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in oklab,var(--alert) 13%,var(--rock));color:var(--alert)}
.sec-i b{display:block;font-size:14.5px;line-height:1.3}
.sec-i p{font-size:12.5px;color:var(--muted);margin-top:3px}
@media (max-width:980px){.secg{grid-template-columns:1fr}}
@media (max-width:560px){.socg{grid-template-columns:1fr}.socstats{grid-template-columns:repeat(3,1fr)}.socstats b{font-size:19px}.secl{grid-template-columns:1fr}}
.audit{margin-top:24px;padding:24px;border-radius:20px;background:var(--rock);border:1px solid var(--line)}
.auh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.auh h3{font-size:22px}
.auh p{color:var(--muted);font-size:14px;margin-top:6px}
.auh em{font-style:normal;font-family:var(--f-mono);color:var(--text)}
.aubtn{display:flex;gap:10px;flex-wrap:wrap}
.aug{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;margin-top:22px}
.score{position:relative;text-align:center}
.score svg{width:170px;height:170px;display:block;margin:0 auto;transform:rotate(-90deg)}
.sbg{fill:none;stroke:var(--rock-3);stroke-width:10}
.sfg{fill:none;stroke:var(--muted);stroke-width:10;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1),stroke .6s}
.sc{position:absolute;left:0;right:0;top:56px}
.sc b{font-family:var(--f-display);font-size:40px;font-variant-numeric:tabular-nums}
.sc span{display:block;font-size:12px;color:var(--muted)}
.grade{margin-top:10px;font-weight:700;color:var(--muted)}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.checks li{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);transition:border-color .3s,background .3s;min-width:0}
.checks li i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:800 12px var(--f-body);font-style:normal;background:var(--rock-3);color:var(--muted)}
.checks li b{display:block;font-size:13.5px}
.checks li small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.checks li.scan i{border:2px solid var(--line);border-top-color:var(--signal);background:none;animation:spin .7s linear infinite}
.checks li.pass i{background:var(--signal);color:#06201f}
.checks li.warn{border-color:color-mix(in oklab,var(--gold) 50%,var(--line))}.checks li.warn i{background:var(--gold);color:#1a1205}
.checks li.fail{border-color:color-mix(in oklab,var(--alert) 55%,var(--line))}.checks li.fail i{background:var(--alert);color:#fff}
.checks li.fixed{animation:pop .4s both}
@media (max-width:820px){.aug{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}
.alt .sec-i,.alt .audit,.alt .soc{background:var(--rock)}
section{overflow-x:clip}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== live-site additions ===== */
.logo-img{height:36px;width:auto;display:block}
.socials a{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:var(--rock);color:var(--muted);transition:all .3s;text-decoration:none}
.socials a svg{width:15px;height:15px}
.mate:hover .socials a{color:var(--text);transform:translateY(-3px)}
.socials a:hover{color:var(--gold)!important;border-color:var(--gold)}
.cinfo{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}
.cinfo a,.cinfo span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14.5px}
.cinfo a:hover{color:var(--text)}
.cinfo .wa{color:#25d366}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
form .ok.err{color:var(--alert)}
.fsocial{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.fsocial a{font-size:13px;color:var(--muted);text-decoration:none}
.fsocial a:hover{color:var(--gold)}
#form{position:relative}

/* ===== Agentic SOC Co-pilot ===== */
.copilot{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:32px;margin-top:40px;padding:30px;border-radius:24px;background:radial-gradient(600px 300px at 0% 0%,color-mix(in oklab,var(--alert) 9%,transparent),transparent 70%),radial-gradient(500px 300px at 100% 100%,color-mix(in oklab,var(--signal) 9%,transparent),transparent 70%),var(--rock-2);overflow:hidden;min-width:0}
.copilot::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--b),var(--alert),transparent 25%,transparent 55%,var(--signal),var(--gold),var(--alert));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinb 7s linear infinite;pointer-events:none}
.cp-info{min-width:0;position:relative}
.cp-tag{display:inline-flex;align-items:center;gap:8px;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--alert);padding:6px 11px;border-radius:999px;border:1px solid color-mix(in oklab,var(--alert) 45%,var(--line));background:color-mix(in oklab,var(--alert) 8%,transparent)}
.copilot h3{font-size:clamp(24px,2.8vw,32px);font-weight:700;margin-top:14px}
.cp-info>p{color:var(--muted);margin-top:12px;max-width:52ch}
.cp-road{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:4px;position:relative}
.cp-road::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(var(--line) 0 5px,transparent 5px 10px)}
.cp-road::after{content:"";position:absolute;left:17px;top:18px;width:2px;height:0;background:linear-gradient(var(--signal),var(--gold));transition:height 1.6s .3s cubic-bezier(.2,.7,.2,1)}
.copilot.go .cp-road::after{height:calc((100% - 36px) * .2)}
.cp-road li{position:relative;display:flex;gap:14px;align-items:flex-start;padding:8px 0;opacity:.55;transition:opacity .5s calc(var(--i) * .15s + .4s),transform .5s calc(var(--i) * .15s + .4s);transform:translateX(0)}
.copilot:not(.go) .cp-road li{transform:translateX(-8px)}
.cp-road li.now{opacity:1}
.cp-road .dot{flex:none;position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--f-mono);background:var(--rock);border:2px solid var(--line);color:var(--muted)}
.cp-road li.now .dot{border-color:var(--signal);color:#06201f;background:var(--signal);box-shadow:0 0 0 0 var(--signal);animation:ping 2s infinite}
.cp-road b{display:block;font-size:15px}
.cp-road b em{font-style:normal;font:600 10px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#06201f;background:var(--signal);padding:2px 7px;border-radius:999px;margin-left:8px;vertical-align:2px}
.cp-road small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.cp-road li:last-child b{background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
.cp-console{position:relative;min-width:0;padding:18px;border-radius:18px;background:var(--rock);border:1px solid var(--line);box-shadow:inset 0 0 60px -30px var(--alert)}
.cp-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cp-mode{font:600 10.5px var(--f-mono);letter-spacing:.1em;color:var(--signal);padding:5px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--signal) 45%,var(--line));display:inline-flex;align-items:center;gap:6px}
.cp-mode::before{content:"";width:10px;height:10px;border-radius:2px;border:2px solid currentColor;border-top-width:4px}
.cp-funnel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.cp-funnel div{padding:10px 12px;border-radius:12px;background:var(--rock-2);border:1px solid var(--line);min-width:0}
.cp-funnel span{font-size:11.5px;color:var(--muted)}
.cp-funnel b{display:block;font-family:var(--f-display);font-size:22px;font-variant-numeric:tabular-nums;line-height:1.25}
.cp-funnel b.ok{color:var(--signal)}.cp-funnel b.g{color:var(--gold)}
.cp-bar{position:relative;height:8px;border-radius:99px;background:var(--rock-3);margin:12px 0 4px;overflow:hidden}
.cp-bar i{position:relative;display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--signal),var(--gold));transition:width .9s cubic-bezier(.2,.7,.2,1)}
.cp-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff40,transparent);background-size:40% 100%;background-repeat:no-repeat;animation:cpsheen 2.2s linear infinite}
@keyframes cpsheen{from{background-position:-40% 0}to{background-position:140% 0}}
.cp-pct{font:500 11px var(--f-mono);color:var(--muted)}
.cp-feed{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px;min-height:262px;align-content:start}
.cp-feed li{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border-radius:11px;background:var(--rock-2);border:1px solid var(--line);animation:txin .45s cubic-bezier(.2,.7,.2,1) both;min-width:0}
.cp-feed li>div{flex:1;min-width:0}
.cp-feed i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:800 12px var(--f-body);font-style:normal;background:color-mix(in oklab,var(--signal) 18%,var(--rock));color:var(--signal)}
.cp-feed li.esc{border-color:color-mix(in oklab,var(--alert) 55%,var(--line));background:color-mix(in oklab,var(--alert) 7%,var(--rock-2))}
.cp-feed li.esc i{background:var(--alert);color:#fff}
.cp-feed b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-feed small{display:block;font-size:11px;color:var(--muted)}
.cp-feed em{flex:none;max-width:46%;text-align:right;font:500 11px/1.35 var(--f-mono);font-style:normal;color:var(--muted)}
.cp-feed li.esc em{color:var(--alert)}
.cp-sug{display:inline-block;margin-top:5px;font:600 10.5px var(--f-mono);color:var(--gold);padding:3px 7px;border-radius:6px;border:1px dashed color-mix(in oklab,var(--gold) 55%,var(--line))}
.cp-human{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;font-weight:600;color:var(--gold)}
@media (max-width:980px){.copilot{grid-template-columns:1fr;padding:22px}}
.cp-road li{z-index:1}
@media (max-width:520px){.copilot{padding:18px}.cp-funnel b{font-size:18px}.cp-feed li{flex-wrap:wrap}.cp-feed b{white-space:normal}.cp-feed em{max-width:none;width:100%;text-align:left;padding-left:34px;font-size:10.5px}}
