/* THALYRON design system v3: tokens, typography, materials, header, motion. Loaded last. */
@font-face{font-family:"Geist";src:url(fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#0a0b0d;--s1:#0f1215;--s2:#14181c;--line:#1d2126;--line2:#2a3037;--tx:#eceff2;--tx2:#c3c8ce;--mu:#8b929c;--ac:#a7b4c3;--bg2:var(--s1);--ln:var(--line);
--f:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--fm:"Geist Mono",ui-monospace,Menlo,monospace;
--t-display:clamp(2.6rem,5.4vw,4.9rem);--t-h1:clamp(2.2rem,4.2vw,3.7rem);--t-h2:clamp(1.75rem,2.9vw,2.6rem);--t-h3:1.25rem;--t-lead:1.1875rem;--t-body:1rem;--t-sm:.875rem;--t-label:.75rem;
--r:4px;--ease:cubic-bezier(.22,.7,.2,1)}
html{color-scheme:dark}body{font-family:var(--f);font-size:var(--t-body);line-height:1.65;letter-spacing:-.003em;background:var(--bg);color:var(--tx)}
h1,h2,h3{font-family:var(--f);font-weight:500;letter-spacing:-.028em;line-height:1.1;text-wrap:balance;color:var(--tx)}
h1{font-size:var(--t-h1);letter-spacing:-.036em;max-width:22ch;background:none;color:var(--tx)}.hero h1{font-size:var(--t-display);max-width:15ch;line-height:1.04}
h2{font-size:var(--t-h2);max-width:26ch;line-height:1.14}h3{font-size:var(--t-h3);line-height:1.25;letter-spacing:-.015em}p{text-wrap:pretty}
p.l{font-size:var(--t-lead);line-height:1.6;color:var(--tx2);max-width:60ch}
.eb{font:400 var(--t-label)/1.4 var(--fm);letter-spacing:.05em;text-transform:none;color:var(--mu)}.eb::before{width:16px;opacity:.5}
:focus-visible{outline:2px solid var(--ac);outline-offset:3px}::selection{background:#ffffff26}
.btn{font:500 var(--t-sm)/1 var(--f);letter-spacing:0;padding:0 22px;height:46px;display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:2px;color:var(--tx);background:transparent;transition:background .25s,border-color .25s,color .25s}
.btn:hover{border-color:var(--ac);background:#ffffff08}.btn.p{background:var(--tx);color:#0a0b0d;border-color:var(--tx)}.btn.p:hover{background:#fff}.btn.p::after{content:"→";margin-left:10px;transition:transform .25s var(--ease)}.btn.p:hover::after{transform:translateX(3px)}
a{color:inherit}.rw a,.art a,.pvc{color:var(--ac)}
/* header */
nav{background:transparent;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}nav.s{background:rgba(10,11,13,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
nav .w{height:64px;transition:height .3s var(--ease)}nav.s .w{height:54px}
.lg{font:500 .8125rem/1 var(--f);letter-spacing:.32em;gap:12px;text-decoration:none}.lm{width:30px;height:23px}
nav ul{gap:34px}nav ul a{font-size:var(--t-sm);color:var(--mu);padding:6px 0;transition:color .2s}nav ul a:hover,nav ul a[aria-current]{color:var(--tx)}nav ul a::after{bottom:0;height:1px;background:var(--tx)}nav ul a[aria-current]::after{transform:scaleX(1)}
nav .btn.nb{height:36px;padding:0 16px;font-size:.8125rem}
.mm summary{font-size:var(--t-sm);color:var(--tx2);padding:8px 0}.mm div{top:54px;background:var(--bg);padding:28px 24px;gap:20px}.mm a{font-size:1.25rem;letter-spacing:-.01em;text-decoration:none}
/* materials */
section{padding:128px 0;border-top:1px solid var(--line)}.alt{background:var(--s1);background-image:none}
.ui{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 40px 80px -40px #000;overflow:hidden}.ui::before{opacity:.35}.bar{padding:12px 16px;font:400 var(--t-label)/1 var(--fm);letter-spacing:.04em;color:var(--mu);border-bottom:1px solid var(--line)}.ui .bar span:first-child::before{animation:none;background:var(--mu);box-shadow:none}.ui-n{font:400 var(--t-label)/1.5 var(--fm);color:var(--mu);border-top:1px solid var(--line)}
.tag,.st{font:400 .6875rem/1 var(--fm);letter-spacing:.03em;text-transform:none;border-radius:2px}.tag{border:1px solid var(--line2);padding:6px 8px;color:var(--tx2)}
input,textarea,select{background:var(--s1);border:1px solid var(--line2);border-radius:2px;padding:14px;font:inherit;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--ac);outline:0}label{font:400 var(--t-label)/1.4 var(--fm);color:var(--mu)}
/* rows */
.rw{grid-template-columns:72px minmax(0,1fr) minmax(0,1.5fr);padding:32px 0;border-top:1px solid var(--line)}.rw h3{font-size:var(--t-h3)}.rw .eb{padding-top:5px}.rw p,.rw li,.rw dd{color:var(--tx2)}.rw .one{font-size:1.125rem;line-height:1.5}
.ar{grid-template-columns:150px minmax(0,1fr) 40px;gap:32px;padding:32px 0;border-top:1px solid var(--line);transition:padding .35s var(--ease)}.ar h3{font-size:1.5rem;margin-bottom:8px;transition:color .25s}.ar .meta{font:400 var(--t-label)/1.5 var(--fm);color:var(--mu)}.ar:hover{padding-left:12px}.ar:hover h3{color:#fff}.ar p{color:var(--tx2);font-size:.9375rem;max-width:62ch}
.areas .ar{padding:48px 0;grid-template-columns:80px minmax(0,1fr) 40px}.areas .ar h3{font-size:var(--t-h2);letter-spacing:-.03em}
.pv{gap:64px;padding:64px 0;border-top:1px solid var(--line)}.pv h3{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.02em;margin:12px 0 6px}.pvc{margin-bottom:12px}.pvm{border:0;background:none;display:block;min-height:0}.pvm .ui{margin:0;box-shadow:none}.pv:hover .ui{border-color:var(--line2)}
.steps div{opacity:1!important}.steps h3{font-size:1.0625rem}
/* hero: architectural grid, one slow beam, restrained parallax */
.hero{padding:176px 0 96px;position:relative;overflow:hidden;isolation:isolate}
.hero::before,.pg::before{display:block;content:"";position:absolute;inset:0;height:auto;z-index:-1;opacity:1;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/120px 100%,linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/100% 120px;-webkit-mask:radial-gradient(75% 80% at 68% 25%,#000 10%,transparent 72%);mask:radial-gradient(75% 80% at 68% 25%,#000 10%,transparent 72%)}
.hero::before{transform:translateY(calc(var(--py,0)*-.3px))}.pg::before{opacity:.7}
.hero::after{display:block;content:"";position:absolute;inset:0 auto 0 0;width:1px;height:auto;right:auto;aspect-ratio:auto;z-index:-1;background:linear-gradient(transparent,rgba(167,180,195,.6),transparent);opacity:.5;animation:beam 42s linear infinite;pointer-events:none}.pg::after{display:none}
@keyframes beam{from{transform:translateX(8vw)}to{transform:translateX(100vw)}}
.pg{padding:150px 0 80px;position:relative;overflow:hidden;isolation:isolate}.hv{margin-top:72px}.hv .cn path{stroke:var(--ac)}.hv .gr.hl{stroke:var(--ac)}.hv text{font:400 11.5px var(--fm)}
/* motion: few, deliberate */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(min(var(--i,0),4)*70ms)}.rv.in{opacity:1;transform:none}.nojs .rv{opacity:1;transform:none}.ui.rv{transform:translateY(20px)}.ui.rv.in{transform:none}
.wd,.wd>span{display:inline;overflow:visible;padding:0;margin:0;transform:none!important;transition:none}.wr{opacity:0;transform:translateY(12px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.wr.in{opacity:1;transform:none}
.sl{opacity:1!important;transform:none!important}.g3>div:hover,.dv>div:hover{transform:none}.fxbar{height:1px;background:var(--ac)}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
body>main{animation:pgin .35s var(--ease) both}
/* editorial */
.feat{gap:56px;margin-top:48px}.feat h2{font-size:var(--t-h2);margin:12px 0}.md{border-radius:var(--r);border-color:var(--line)}.md.fbk{background:linear-gradient(135deg,transparent 49.7%,rgba(255,255,255,.07) 50%,transparent 50.3%) 0 0/56px 56px,linear-gradient(180deg,#12161a,#0a0b0d)}
.art{font-size:1.1875rem;line-height:1.78;max-width:66ch;color:var(--tx2)}.art>p:first-child{font-size:1.4rem;line-height:1.55;color:var(--tx)}.art h2{font-size:1.75rem;margin:56px 0 16px;color:var(--tx)}.ameta{font:400 var(--t-label)/1.4 var(--fm);color:var(--mu);margin-top:20px}
.chips button{border-radius:2px;font:400 var(--t-label)/1 var(--fm)}
footer{background:var(--bg);border-top:1px solid var(--line);padding:88px 0 48px}footer h4{font:400 var(--t-label)/1 var(--fm);letter-spacing:.05em;color:var(--mu);text-transform:none;margin-bottom:18px}footer li a{color:var(--tx2);text-decoration:none;transition:color .2s}footer li a:hover{color:#fff}
/* product concept interfaces */
.x{container-type:inline-size}.xg,.xg2{display:grid;grid-template-columns:1fr 1fr 1fr}.xg2{grid-template-columns:1.3fr 1fr;border-top:1px solid var(--line)}.xc{padding:20px;border-right:1px solid var(--line);min-width:0}.xc:last-child{border-right:0}
.fi{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--tx2)}.fi>div{grid-column:1/3}.fi small,.mu{color:var(--mu);font-size:.75rem}.xc>.fi:first-of-type{margin-top:6px}
.chk{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8125rem;margin-top:8px}.dh{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:10px 0 4px;font:400 .6875rem var(--fm);color:var(--mu);text-align:center}
.cal{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.cal i{height:30px;border:1px solid var(--line);background:transparent}.cal i.b{background:#1a1f24}.cal i.q{border-color:var(--ac)}.cal i.c{background:var(--ac)}.cal i.s{border:1px dashed var(--wn)}
.lgd{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:.6875rem;color:var(--mu)}.lgd i{display:inline-block;width:9px;height:9px;margin-right:6px;border:1px solid var(--line2);background:transparent}.lgd i.b{background:#1a1f24}.lgd i.q{border-color:var(--ac)}.lgd i.c{background:var(--ac)}.lgd i.s{border:1px dashed var(--wn)}
.alt3{display:flex;gap:8px;flex-wrap:wrap}.alt3 span{border:1px dashed var(--wn);padding:8px 12px;font-size:.75rem;color:var(--tx2)}
.fx{padding:8px 16px 4px}.fx svg{width:100%;height:auto;display:block}.fx .ln path{fill:none;stroke:var(--line2);stroke-width:1.5}.fx rect{fill:var(--s2);stroke:var(--line2)}.fx rect.bar{fill:#2a3037;stroke:none}.fx rect.ip{fill:none;stroke-dasharray:4 3}.fx text{fill:var(--tx);font:500 12px var(--f)}.fx text.s{fill:var(--mu);font:400 10.5px var(--fm)}.fx .ex{fill:none;stroke:var(--wn);stroke-dasharray:4 3}.fx rect.exb{stroke:var(--wn);fill:none}.fx .xl{padding:0 4px 12px}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);margin:14px 20px 20px;border:1px solid var(--line)}.tile{background:var(--s1);padding:14px;display:grid;gap:4px;font-size:.8125rem}.tile b{font-weight:500}.tile small{color:var(--mu);font-size:.6875rem}.tile .m{margin-bottom:6px}.m.er{background:var(--er)}
.tk{display:flex;gap:3px;align-items:flex-end;height:44px;margin-top:12px}.tk i{flex:1;height:55%;background:#262c33}.tk i.w{background:var(--wn);height:85%}.tk i.e{background:var(--er);height:100%}
@container (max-width:760px){.xg,.xg2{grid-template-columns:1fr}.xc{border-right:0;border-bottom:1px solid var(--line)}.tiles{grid-template-columns:repeat(2,1fr)}}
/* service signatures */
.tlx{display:grid;grid-template-columns:repeat(7,1fr);gap:0 24px;margin-top:56px;position:relative}.tlx::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--line2)}.tlx>div{position:relative;padding-top:30px}.tlx .dot{position:absolute;top:0;left:0;width:11px;height:11px;border:1px solid var(--ac);background:var(--bg)}.tlx h3{font-size:1rem;margin:6px 0}.tlx p{font-size:.8125rem;color:var(--mu)}
.rail{display:flex;margin-top:48px;border-top:1px solid var(--line2)}.rs{padding:24px 28px 0 0;position:relative;min-width:150px}.rs .dot{position:absolute;top:-6px;left:0;width:11px;height:11px;background:var(--ac)}.rs b{display:block;margin-top:6px;font-weight:500}.rs small{color:var(--mu)}.rs.fade{opacity:.5}.rc2{flex:1;padding:24px 20px 0;border-left:1px solid var(--line)}.rc2>div{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.rc2 span:not(.eb){border:1px solid var(--line2);padding:6px 10px;font-size:.8125rem;color:var(--tx2)}
.stair{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;margin-top:48px}.stair>div{border-top:1px solid var(--ac);padding:24px 28px 32px;background:linear-gradient(180deg,var(--s2),transparent)}.stair .s0{min-height:190px}.stair .s1{min-height:250px}.stair .s2{min-height:310px}.stair p{color:var(--tx2);margin-top:8px}
@media(max-width:900px){section{padding:84px 0}.hero{padding:128px 0 64px}.ar,.areas .ar{grid-template-columns:1fr;gap:12px}.ar>span:last-child{display:none}.rw{grid-template-columns:1fr;gap:8px}.pv{gap:32px;padding:44px 0}.tlx{grid-template-columns:1fr;gap:28px;padding-left:28px}.tlx::before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto}.tlx>div{padding-top:0}.tlx .dot{left:-28px}.rail{flex-direction:column;border-top:0;border-left:1px solid var(--line2)}.rc2{border-left:0;border-top:1px solid var(--line)}.stair{grid-template-columns:1fr}.stair>div{min-height:0!important}nav ul{display:none}.pk{min-width:640px}}
@media(prefers-reduced-motion:reduce){.hero::after{display:none}.wr,.rv{opacity:1;transform:none}::view-transition-group(*){animation:none}}
.hero{padding:128px 0 72px}.hero h1{font-size:clamp(2.6rem,4.8vw,4.4rem)}.hv{margin-top:40px;padding-top:16px}
.pv{display:block;padding:64px 0}.pvh{display:grid;grid-template-columns:1fr 1fr;gap:24px 64px;align-items:end;margin-bottom:36px}.pvh p{max-width:46ch}.pvm{margin:0}.pv:nth-child(even) .pvt{order:0}
@media(max-width:900px){.pvh{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.pv{padding:44px 0}}
.ui.x{width:100%;min-width:0}.pvm{width:100%}
.mm summary::after{content:none}.mm summary{list-style:none}.mm summary::-webkit-details-marker{display:none}
@media(max-width:900px){nav .btn.nb{display:none}nav .w{gap:16px}.mm{margin-left:auto}.mm summary{border:1px solid var(--line2);padding:8px 14px;border-radius:2px}}
@media(max-width:700px){.hv{width:150%;max-width:none;margin-left:-22%}.hv text{display:none}.hero h1{font-size:clamp(2.3rem,10vw,3rem)}}
.bar{flex-wrap:wrap;gap:6px 16px}.bar span:last-child{text-align:right}
.crumb a{text-decoration:none}
