*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg:#0a0d0a;
--bg-2:#0e120e;
--surface:rgba(255,255,255,.032);
--surface-2:rgba(255,255,255,.055);
--border:rgba(255,255,255,.075);
--border-2:rgba(255,255,255,.12);
--text:#efece3;
--text-2:#a5a59a;
--text-3:#6b6b62;
--lime:#d3ff4e;
--lime-deep:#a8cc3a;
--lime-glow:rgba(211,255,78,.15);
--amber:#e8a86b;
--container:min(1360px,calc(100% - 56px));
--r-sm:14px;
--r:20px;
--r-lg:28px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
font-family:'Inter',system-ui,-apple-system,sans-serif;
background:var(--bg);
color:var(--text);
font-size:16px;
line-height:1.6;
overflow-x:hidden;
font-feature-settings:"kern" 1,"liga" 1,"ss01" 1,"cv11" 1;
-webkit-font-smoothing:antialiased;
}
body::before{
content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
opacity:.4;
mix-blend-mode:overlay;
}
body.noscroll{overflow:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.container{width:var(--container);margin-inline:auto;position:relative;z-index:2}

h1,h2,h3,h4{
font-family:'Inter Tight','Inter',sans-serif;
font-weight:500;
letter-spacing:-.035em;
line-height:1;
color:var(--text);
}
h1{font-size:clamp(3rem,7.4vw,6.6rem);font-weight:500;letter-spacing:-.045em;line-height:.96}
h2{font-size:clamp(2.2rem,4.6vw,3.8rem);font-weight:500;letter-spacing:-.04em;line-height:1}
h3{font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:-.03em}
p{color:var(--text-2);max-width:62ch}
.lbl{
font-family:'JetBrains Mono',monospace;
font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
color:var(--text-3);font-weight:400;
}
.accent{color:var(--lime)}
.dim{color:var(--text-3)}

/* HEADER */
.hdr{
position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:60;
width:min(1360px,calc(100% - 32px));
border-radius:100px;
background:rgba(14,18,14,.72);
backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);
border:1px solid var(--border);
transition:top .35s,border-color .35s,background .35s;
}
.hdr-inner{
display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;
padding:.75rem 1rem .75rem 1.35rem;
}
.brand{display:flex;align-items:center;gap:.75rem;line-height:1}
.brand-mark{
width:32px;height:32px;border-radius:10px;
background:linear-gradient(135deg,var(--lime) 0%,var(--lime-deep) 100%);
display:grid;place-items:center;position:relative;overflow:hidden;
box-shadow:0 0 24px rgba(211,255,78,.35);
}
.brand-mark svg{width:18px;height:18px;color:#0a0d0a;position:relative;z-index:1}
.brand-mark::after{
content:"";position:absolute;inset:auto -20% -60% -20%;height:100%;
background:radial-gradient(circle at 50% 100%,rgba(0,0,0,.35),transparent 70%);
}
.brand-name{
font-family:'Inter Tight',sans-serif;font-size:1.05rem;font-weight:600;
letter-spacing:-.02em;color:var(--text);
}
.brand-name i{font-style:normal;color:var(--lime)}
.nav{
display:flex;justify-content:center;gap:.25rem;align-items:center;
font-size:.85rem;
}
.nav>a,.nav .par>a{
padding:.55rem .95rem;border-radius:100px;
color:var(--text-2);transition:background .25s,color .25s;
white-space:nowrap;
}
.nav>a:hover,.nav .par>a:hover{background:var(--surface-2);color:var(--text)}
.nav .par{position:relative}
.nav .par::after{
content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
background:var(--lime);margin-left:.4rem;vertical-align:middle;
transform:translateY(-1px);
}
.nav .drop{
position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);
min-width:320px;padding:.6rem;
background:rgba(14,18,14,.96);backdrop-filter:blur(20px);
border:1px solid var(--border);border-radius:var(--r);
opacity:0;visibility:hidden;
transition:opacity .25s,transform .25s,visibility .25s;
box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
}
.par:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{
display:flex;justify-content:space-between;align-items:center;gap:2rem;
padding:.65rem .8rem;border-radius:12px;
font-size:.88rem;color:var(--text-2);
transition:background .2s,color .2s;
}
.drop a:hover{background:var(--surface-2);color:var(--text)}
.drop a span:last-child{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
color:var(--text-3);
}
.hdr-right{display:flex;align-items:center;gap:.6rem}
.tel-btn{
font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
color:var(--text-2);padding:.55rem .9rem;border-radius:100px;
transition:color .2s,background .2s;
white-space:nowrap;
}
.tel-btn:hover{color:var(--text);background:var(--surface-2)}
.btn-book{
display:inline-flex;align-items:center;gap:.55rem;
padding:.65rem 1.15rem;
border-radius:100px;
background:var(--lime);color:#0a0d0a;
font-family:'Inter Tight',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:-.01em;
transition:transform .25s,box-shadow .25s,background .25s;
box-shadow:0 0 0 0 var(--lime-glow);
white-space:nowrap;
}
.btn-book:hover{
background:#e0ff6b;
transform:translateY(-1px);
box-shadow:0 8px 30px -8px var(--lime);
}
.btn-book svg{width:14px;height:14px;transition:transform .25s}
.btn-book:hover svg{transform:translateX(2px)}
.burger{
display:none;width:38px;height:38px;border-radius:50%;
border:1px solid var(--border);place-items:center;
transition:background .2s;
}
.burger:hover{background:var(--surface-2)}
.burger span{display:block;width:15px;height:1.4px;background:var(--text);position:relative;transition:transform .3s}
.burger span::before,.burger span::after{
content:"";position:absolute;left:0;width:15px;height:1.4px;background:var(--text);
transition:transform .3s,top .3s;
}
.burger span::before{top:-5px}
.burger span::after{top:5px}
.burger.on span{background:transparent}
.burger.on span::before{top:0;transform:rotate(45deg)}
.burger.on span::after{top:0;transform:rotate(-45deg)}

/* HERO */
.hero{padding:9rem 0 4rem;position:relative}
.hero::before{
content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
width:80vw;height:60vh;pointer-events:none;
background:radial-gradient(ellipse at 50% 30%,var(--lime-glow),transparent 60%);
opacity:.6;filter:blur(40px);
}
.hero-grid{
display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;
position:relative;align-items:stretch;
}
.hero-left{display:flex;flex-direction:column;justify-content:space-between;padding:1rem 0 0}
.hero-badge{
display:inline-flex;align-items:center;gap:.6rem;
padding:.4rem .55rem .4rem .5rem;border-radius:100px;
background:var(--surface);border:1px solid var(--border);
font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.08em;
color:var(--text-2);width:fit-content;
}
.hero-badge .dot{
width:6px;height:6px;border-radius:50%;background:var(--lime);
box-shadow:0 0 12px var(--lime);animation:pulse 2s infinite;
}
.hero-badge b{color:var(--text);font-weight:400}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{margin:2rem 0 1.6rem}
.hero h1 span{
display:inline-block;
background:linear-gradient(135deg,var(--lime) 0%,var(--lime-deep) 100%);
-webkit-background-clip:text;background-clip:text;
-webkit-text-fill-color:transparent;
}
.hero-lede{
font-size:1.05rem;line-height:1.55;color:var(--text-2);max-width:50ch;
}
.hero-lede strong{color:var(--text);font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.2rem}
.btn{
display:inline-flex;align-items:center;gap:.6rem;
padding:.9rem 1.4rem;border-radius:100px;
font-family:'Inter Tight',sans-serif;font-weight:600;font-size:.9rem;letter-spacing:-.005em;
transition:transform .25s,background .25s,box-shadow .25s,border-color .25s;
}
.btn-primary{
background:var(--text);color:#0a0d0a;
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(239,236,227,.4)}
.btn-primary svg{width:15px;height:15px;transition:transform .25s}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-ghost{
background:var(--surface);border:1px solid var(--border);color:var(--text);
}
.btn-ghost:hover{background:var(--surface-2);border-color:var(--border-2);transform:translateY(-1px)}
.hero-strip{
margin-top:3.4rem;padding-top:1.8rem;border-top:1px solid var(--border);
display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;
}
.hero-stat{display:flex;flex-direction:column;gap:.35rem}
.hero-stat b{
font-family:'Inter Tight',sans-serif;font-size:1.75rem;font-weight:500;
letter-spacing:-.03em;color:var(--text);line-height:1;
display:flex;align-items:baseline;gap:.15em;
}
.hero-stat b em{font-style:normal;color:var(--lime);font-size:.85em}
.hero-stat span{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}

.hero-right{
position:relative;display:grid;grid-template-rows:1.4fr 1fr;gap:1rem;
}
.hero-photo{
position:relative;overflow:hidden;border-radius:var(--r-lg);
border:1px solid var(--border);
}
.hero-photo img{
width:100%;height:100%;object-fit:cover;
filter:saturate(.95) contrast(1.05) brightness(.92);
transition:transform 1.4s cubic-bezier(.2,.8,.2,1);
}
.hero-photo:hover img{transform:scale(1.04)}
.hero-photo-tag{
position:absolute;top:16px;left:16px;
padding:.35rem .7rem;border-radius:100px;
background:rgba(10,13,10,.7);backdrop-filter:blur(10px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
color:var(--text);
display:flex;align-items:center;gap:.5rem;
}
.hero-photo-tag::before{
content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);
box-shadow:0 0 10px var(--lime);
}
.hero-float{
position:absolute;right:16px;bottom:16px;
padding:.9rem 1rem;border-radius:var(--r);
background:rgba(10,13,10,.72);backdrop-filter:blur(16px);
border:1px solid var(--border-2);
display:flex;align-items:center;gap:.8rem;
}
.hero-float .ic{
width:34px;height:34px;border-radius:10px;
background:var(--lime);color:#0a0d0a;
display:grid;place-items:center;
}
.hero-float .ic svg{width:16px;height:16px}
.hero-float b{display:block;font-family:'Inter Tight',sans-serif;font-size:.82rem;font-weight:600;color:var(--text);line-height:1.1}
.hero-float small{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase}
.hero-tiles{
display:grid;grid-template-columns:1fr 1fr;gap:1rem;height:100%;
}
.hero-tile{
border-radius:var(--r-lg);border:1px solid var(--border);
background:var(--surface);padding:1.4rem;
display:flex;flex-direction:column;justify-content:space-between;
transition:background .3s,border-color .3s;
}
.hero-tile:hover{background:var(--surface-2);border-color:var(--border-2)}
.hero-tile .mono{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.hero-tile .big{
font-family:'Inter Tight',sans-serif;font-size:2.6rem;font-weight:500;
letter-spacing:-.045em;color:var(--text);line-height:1;
display:flex;align-items:baseline;gap:.15em;
}
.hero-tile .big em{font-style:normal;color:var(--lime);font-size:.7em}
.hero-tile .cap{font-size:.82rem;color:var(--text-2);line-height:1.4}
.hero-tile.accent-tile{
background:linear-gradient(140deg,var(--lime) 0%,var(--lime-deep) 100%);
border-color:transparent;
color:#0a0d0a;
}
.hero-tile.accent-tile .mono,.hero-tile.accent-tile .cap{color:rgba(10,13,10,.7)}
.hero-tile.accent-tile .big{color:#0a0d0a}
.hero-tile.accent-tile .big em{color:#0a0d0a}

/* TICKER */
.ticker{
margin-top:6rem;padding:1.4rem 0;
border-top:1px solid var(--border);border-bottom:1px solid var(--border);
overflow:hidden;position:relative;
mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.ticker-track{
display:flex;width:max-content;
animation:tk 42s linear infinite;
}
.ticker-track span{
padding:0 2.4rem;
font-family:'Inter Tight',sans-serif;
font-size:1.4rem;font-weight:400;letter-spacing:-.02em;
color:var(--text-3);
display:inline-flex;align-items:center;gap:2.4rem;white-space:nowrap;
}
.ticker-track span::after{content:"✦";color:var(--lime);font-size:.7em}
.ticker-track span b{color:var(--text);font-weight:500}
@keyframes tk{to{transform:translateX(-50%)}}

/* SECTION */
.sec{padding:6rem 0}
.sec-head{max-width:720px;margin-bottom:3.4rem}
.sec-head .lbl{display:block;margin-bottom:1.2rem}
.sec-head h2{margin-bottom:1.2rem}
.sec-head p{font-size:1.02rem;line-height:1.55}

/* BENTO */
.bento{
display:grid;
grid-template-columns:repeat(12,1fr);
grid-auto-rows:170px;
gap:1rem;
}
.tile{
border-radius:var(--r-lg);
border:1px solid var(--border);
background:var(--surface);
overflow:hidden;position:relative;
padding:1.6rem;
display:flex;flex-direction:column;
transition:background .35s,border-color .35s,transform .35s;
}
.tile:hover{background:var(--surface-2);border-color:var(--border-2)}
.tile.img-tile{padding:0}
.tile.img-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);filter:saturate(.92) contrast(1.04)}
.tile.img-tile:hover img{transform:scale(1.05)}
.tile.img-tile .overlay{
position:absolute;inset:auto 0 0 0;padding:1.6rem;
background:linear-gradient(to top,rgba(10,13,10,.92),transparent);
}
.tile.img-tile .overlay h3{font-size:1.15rem;color:var(--text);letter-spacing:-.025em}
.tile.img-tile .overlay p{font-size:.86rem;color:var(--text-2);margin-top:.35rem;max-width:36ch}
.tile.img-tile .badge{
position:absolute;top:16px;left:16px;
padding:.3rem .6rem;border-radius:100px;
background:rgba(10,13,10,.72);backdrop-filter:blur(10px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
color:var(--text);
}
.tile .tile-lbl{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);margin-bottom:auto;
}
.tile .tile-num{
font-family:'Inter Tight',sans-serif;
font-size:clamp(2.4rem,3.6vw,3.4rem);font-weight:500;letter-spacing:-.05em;
line-height:1;color:var(--text);
display:flex;align-items:baseline;gap:.1em;
}
.tile .tile-num em{font-style:normal;color:var(--lime);font-size:.65em}
.tile .tile-cap{
font-size:.86rem;color:var(--text-2);line-height:1.45;margin-top:.55rem;
}
.tile .tile-cap b{color:var(--text);font-weight:500}
.tile.lime{
background:linear-gradient(140deg,var(--lime) 0%,var(--lime-deep) 100%);
border-color:transparent;color:#0a0d0a;
}
.tile.lime .tile-lbl,.tile.lime .tile-cap{color:rgba(10,13,10,.72)}
.tile.lime .tile-num{color:#0a0d0a}
.tile.lime .tile-num em{color:#0a0d0a}
.tile.dark-tile{background:linear-gradient(180deg,#0f140f 0%,#0a0d0a 100%)}
.tile-cta{
display:flex;flex-direction:column;justify-content:space-between;
}
.tile-cta h3{font-size:1.35rem;letter-spacing:-.03em;line-height:1.1;margin-bottom:.7rem}
.tile-cta .arrow-btn{
width:44px;height:44px;border-radius:50%;
background:var(--lime);color:#0a0d0a;
display:grid;place-items:center;align-self:flex-start;
transition:transform .3s,background .3s;
}
.tile-cta:hover .arrow-btn{transform:translate(4px,-4px);background:#e0ff6b}
.tile-cta .arrow-btn svg{width:16px;height:16px}

/* BENTO specific spans */
.t-a{grid-column:span 5;grid-row:span 3}
.t-b{grid-column:span 4;grid-row:span 2}
.t-c{grid-column:span 3;grid-row:span 2}
.t-d{grid-column:span 3;grid-row:span 2}
.t-e{grid-column:span 4;grid-row:span 2}
.t-f{grid-column:span 5;grid-row:span 2}
.t-g{grid-column:span 3;grid-row:span 2}
.t-h{grid-column:span 4;grid-row:span 2}
.t-i{grid-column:span 5;grid-row:span 2}

/* SERVICES LIST */
.svc-sec{padding:6rem 0 2rem}
.svc-head{
display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;
padding-bottom:2rem;border-bottom:1px solid var(--border);margin-bottom:0;
flex-wrap:wrap;
}
.svc-head .lbl{display:block;margin-bottom:1.2rem}
.svc-head h2{max-width:18ch}
.svc-head p{max-width:36ch;font-size:.95rem}
.svc-row{
display:grid;grid-template-columns:56px 1.1fr 1.4fr auto;
gap:2rem;align-items:center;
padding:1.8rem 0;border-bottom:1px solid var(--border);
cursor:pointer;position:relative;
transition:padding-left .4s cubic-bezier(.2,.8,.2,1);
}
.svc-row:first-child{border-top:1px solid var(--border)}
.svc-num{
font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.16em;
color:var(--text-3);transition:color .3s;
}
.svc-name{
font-family:'Inter Tight',sans-serif;
font-size:clamp(1.5rem,2.4vw,2.1rem);
font-weight:500;letter-spacing:-.035em;line-height:1.05;
color:var(--text);transition:color .3s;
}
.svc-name em{font-style:normal;color:var(--lime)}
.svc-desc{
font-size:.92rem;color:var(--text-2);line-height:1.55;max-width:46ch;
}
.svc-arrow{
width:44px;height:44px;border-radius:50%;
border:1px solid var(--border);
display:grid;place-items:center;
transition:background .3s,border-color .3s,transform .4s;
}
.svc-arrow svg{width:15px;height:15px;color:var(--text);transition:color .3s}
.svc-row:hover{padding-left:12px}
.svc-row:hover .svc-num{color:var(--lime)}
.svc-row:hover .svc-arrow{
background:var(--lime);border-color:var(--lime);
transform:translateX(4px);
}
.svc-row:hover .svc-arrow svg{color:#0a0d0a}

/* FEATURE */
.feat{padding:5rem 0}
.feat-inner{
border-radius:var(--r-lg);border:1px solid var(--border);
overflow:hidden;background:var(--bg-2);
display:grid;grid-template-columns:1.2fr 1fr;
}
.feat-img{position:relative;overflow:hidden;min-height:520px}
.feat-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05) brightness(.94)}
.feat-img .badge{
position:absolute;top:20px;left:20px;
padding:.4rem .8rem;border-radius:100px;
background:rgba(10,13,10,.78);backdrop-filter:blur(12px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;color:var(--text);
display:flex;align-items:center;gap:.5rem;
}
.feat-img .badge::before{
content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);
box-shadow:0 0 10px var(--lime);
}
.feat-body{padding:3.4rem 2.8rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.feat-body .lbl{display:block;margin-bottom:1.4rem}
.feat-body h2{font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.08;margin-bottom:1.4rem}
.feat-body h2 em{font-style:normal;color:var(--lime)}
.feat-body p{font-size:.98rem;line-height:1.6;color:var(--text-2)}
.feat-specs{
display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;
padding-top:1.8rem;border-top:1px solid var(--border);
}
.feat-specs .spec{display:flex;flex-direction:column;gap:.4rem}
.feat-specs .spec .k{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--text-3);
}
.feat-specs .spec .v{
font-family:'Inter Tight',sans-serif;font-size:1.05rem;font-weight:500;
letter-spacing:-.02em;color:var(--text);
}
.feat-link{
display:inline-flex;align-items:center;gap:.6rem;
font-family:'Inter Tight',sans-serif;font-size:.92rem;font-weight:500;
color:var(--lime);transition:gap .3s;
}
.feat-link:hover{gap:.95rem}
.feat-link svg{width:14px;height:14px}

/* ARCHIVE */
.arch{padding:6rem 0}
.arch-head{
display:flex;justify-content:space-between;align-items:flex-end;
gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border);
flex-wrap:wrap;
}
.arch-head .lbl{display:block;margin-bottom:1.2rem}
.arch-head h2{max-width:20ch}
.arch-head p{font-size:.95rem;color:var(--text-2);max-width:30ch}
.arch-hint{
display:flex;align-items:center;gap:.6rem;
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.arch-hint::before{content:"";width:24px;height:1px;background:var(--text-3)}
.arch-rail{
display:flex;gap:1rem;overflow-x:auto;
padding:2.6rem 0 1.6rem;cursor:grab;
scroll-snap-type:x mandatory;
scrollbar-width:thin;scrollbar-color:var(--border) transparent;
}
.arch-rail::-webkit-scrollbar{height:5px}
.arch-rail::-webkit-scrollbar-track{background:transparent}
.arch-rail::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.arch-rail.drag{cursor:grabbing;scroll-snap-type:none}
.arch-card{
flex:0 0 min(420px,74vw);
display:flex;flex-direction:column;gap:.9rem;
scroll-snap-align:start;
}
.arch-photo{
position:relative;aspect-ratio:4/5;border-radius:var(--r);
overflow:hidden;border:1px solid var(--border);
}
.arch-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);filter:saturate(.94) contrast(1.04)}
.arch-card:hover .arch-photo img{transform:scale(1.05)}
.arch-year{
position:absolute;top:14px;left:14px;
padding:.3rem .6rem;border-radius:100px;
background:rgba(10,13,10,.75);backdrop-filter:blur(10px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;color:var(--text);
}
.arch-meta{
display:flex;justify-content:space-between;align-items:baseline;
gap:1rem;padding-top:.8rem;border-top:1px solid var(--border);
}
.arch-title{
font-family:'Inter Tight',sans-serif;font-size:1.1rem;font-weight:500;
letter-spacing:-.025em;color:var(--text);line-height:1.2;
}
.arch-loc{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);white-space:nowrap;
}
.arch-foot{
margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--border);
display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;flex-wrap:wrap;
}
.arch-foot .count{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.14em;color:var(--text-3);text-transform:uppercase}

/* PROCESS */
.proc{padding:6rem 0}
.proc-head{max-width:640px;margin-bottom:3.4rem}
.proc-head .lbl{display:block;margin-bottom:1.2rem}
.proc-head h2{margin-bottom:1.2rem}
.proc-head h2 em{font-style:normal;color:var(--lime)}
.proc-head p{font-size:1.02rem;line-height:1.55}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.step{
padding:1.8rem 1.5rem;border-radius:var(--r-lg);
border:1px solid var(--border);background:var(--surface);
display:flex;flex-direction:column;gap:1.4rem;
transition:background .35s,border-color .35s,transform .35s;
position:relative;overflow:hidden;
}
.step::after{
content:"";position:absolute;inset:auto 0 0 0;height:2px;
background:var(--lime);transform:scaleX(0);transform-origin:left;
transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.step:hover{background:var(--surface-2);border-color:var(--border-2);transform:translateY(-3px)}
.step:hover::after{transform:scaleX(1)}
.step-num{
width:44px;height:44px;border-radius:50%;
border:1px solid var(--border-2);
display:grid;place-items:center;
font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
color:var(--lime);font-weight:500;
}
.step h3{font-size:1.1rem;letter-spacing:-.025em;line-height:1.15}
.step p{font-size:.88rem;line-height:1.55;color:var(--text-2)}

/* NUMBERS */
.nums{
padding:6rem 0;background:var(--bg-2);
border-top:1px solid var(--border);border-bottom:1px solid var(--border);
position:relative;overflow:hidden;
}
.nums::before{
content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
width:100%;height:100%;pointer-events:none;
background:radial-gradient(ellipse at 50% 50%,var(--lime-glow),transparent 60%);
opacity:.35;
}
.nums-head{max-width:640px;margin-bottom:3.4rem;position:relative}
.nums-head .lbl{display:block;margin-bottom:1.2rem}
.nums-head h2{margin-bottom:1.2rem}
.nums-head h2 em{font-style:normal;color:var(--lime)}
.nums-head p{font-size:1.02rem;line-height:1.55}
.nums-grid{
display:grid;grid-template-columns:repeat(4,1fr);gap:0;
position:relative;
border-top:1px solid var(--border);
}
.num-cell{
padding:2.4rem 1.6rem 2rem 0;
border-right:1px solid var(--border);
display:flex;flex-direction:column;gap:.6rem;
}
.num-cell:last-child{border-right:none}
.num-cell:nth-child(n+2){padding-left:1.6rem}
.num-value{
font-family:'Inter Tight',sans-serif;
font-size:clamp(2.8rem,5.4vw,4.4rem);font-weight:500;
letter-spacing:-.05em;line-height:1;color:var(--text);
display:flex;align-items:baseline;gap:.05em;
}
.num-value em{font-style:normal;color:var(--lime);font-size:.6em}
.num-lbl{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--text-3);
}
.num-note{font-size:.85rem;color:var(--text-2);line-height:1.5;margin-top:.4rem}

/* VOICES */
.voices{padding:6rem 0}
.voices-head{padding-bottom:2rem;border-bottom:1px solid var(--border);margin-bottom:0}
.voices-head .lbl{display:block;margin-bottom:1.2rem}
.voices-head h2{max-width:20ch}
.voices-head h2 em{font-style:normal;color:var(--lime)}
.voice-row{
display:grid;grid-template-columns:220px 1fr;
gap:3rem;padding:2.8rem 0;border-bottom:1px solid var(--border);
align-items:start;
}
.voice-row:last-child{border-bottom:none}
.voice-id{display:flex;flex-direction:column;gap:.5rem;padding-top:.3rem}
.voice-id .n{
font-family:'Inter Tight',sans-serif;font-size:1.1rem;font-weight:500;
letter-spacing:-.02em;color:var(--text);
}
.voice-id .city{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.voice-id .stars{color:var(--lime);letter-spacing:.25em;font-size:.85rem;margin-top:1rem}
.voice-q{
font-family:'Inter Tight',sans-serif;
font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;
letter-spacing:-.03em;line-height:1.28;color:var(--text);
max-width:34ch;
}
.voice-q em{font-style:normal;color:var(--lime)}
.voice-attrib{
margin-top:1.4rem;font-family:'JetBrains Mono',monospace;
font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);
}
.voice-attrib b{color:var(--text);font-weight:400}

/* TERRITORY */
.terr{padding:6rem 0}
.terr-head{max-width:640px;margin-bottom:3.4rem}
.terr-head .lbl{display:block;margin-bottom:1.2rem}
.terr-head h2{margin-bottom:1.2rem}
.terr-head h2 em{font-style:normal;color:var(--lime)}
.terr-head p{font-size:1.02rem;line-height:1.55}
.terr-grid{
display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;
}
.terr-item{
padding:1.2rem 1.3rem;border-radius:var(--r);
border:1px solid var(--border);background:var(--surface);
display:flex;justify-content:space-between;align-items:baseline;
gap:1rem;font-size:.95rem;
transition:background .3s,border-color .3s,transform .3s;
}
.terr-item:hover{background:var(--surface-2);border-color:var(--border-2);transform:translateY(-2px)}
.terr-item .nm{
font-family:'Inter Tight',sans-serif;font-weight:500;
letter-spacing:-.02em;color:var(--text);
}
.terr-item .dist{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.terr-item.hq{border-color:var(--lime);background:rgba(211,255,78,.06)}
.terr-item.hq .nm{color:var(--lime)}
.terr-item.hq .dist{color:var(--lime)}

/* CTA */
.cta{padding:5rem 0 7rem}
.cta-inner{
border-radius:var(--r-lg);
padding:4rem 3.4rem;
background:linear-gradient(140deg,#0f140f 0%,#0a0d0a 60%);
border:1px solid var(--border);
position:relative;overflow:hidden;
display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;
}
.cta-inner::before{
content:"";position:absolute;top:-40%;right:-10%;width:60%;height:180%;
background:radial-gradient(circle at 50% 50%,var(--lime-glow),transparent 60%);
pointer-events:none;
}
.cta-inner .lbl{display:block;margin-bottom:1.2rem;position:relative}
.cta-inner h2{
font-size:clamp(2rem,4.4vw,3.4rem);
letter-spacing:-.045em;line-height:1;position:relative;
}
.cta-inner h2 em{font-style:normal;color:var(--lime)}
.cta-right{position:relative;display:flex;flex-direction:column;gap:1.8rem}
.cta-right p{font-size:1rem;line-height:1.55;color:var(--text-2);max-width:42ch}
.cta-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.cta-contacts{
display:grid;gap:.5rem;padding-top:1.4rem;border-top:1px solid var(--border);
}
.cta-contacts a{
display:grid;grid-template-columns:90px 1fr auto;
gap:1rem;align-items:baseline;padding:.3rem 0;
transition:padding-left .3s,color .3s;
}
.cta-contacts a:hover{padding-left:6px}
.cta-contacts .k{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.cta-contacts .v{
font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:500;
letter-spacing:-.015em;color:var(--text);
transition:color .3s;
}
.cta-contacts a:hover .v{color:var(--lime)}
.cta-contacts .a{color:var(--text-3);font-size:.85rem}

/* FOOTER */
.ftr{
background:#060806;padding:5rem 0 2rem;
border-top:1px solid var(--border);
}
.ftr-grid{
display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:3rem;
padding-bottom:3.4rem;border-bottom:1px solid var(--border);
}
.ftr-brand .brand-name{font-size:1.15rem}
.ftr-brand p{color:var(--text-2);font-size:.9rem;margin:1.2rem 0 1.6rem;max-width:320px}
.ftr-contacts{display:grid;gap:.5rem;font-size:.88rem}
.ftr-contacts a{display:flex;align-items:center;gap:.6rem;color:var(--text-2);transition:color .25s}
.ftr-contacts a:hover{color:var(--lime)}
.ftr-contacts svg{width:13px;height:13px;color:var(--text-3);flex-shrink:0}
.ftr-col h4{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.18em;
text-transform:uppercase;font-weight:500;color:var(--text-3);
margin-bottom:1.3rem;
}
.ftr-col a{
display:block;font-size:.88rem;color:var(--text-2);
padding:.32rem 0;transition:color .25s,padding-left .25s;
}
.ftr-col a:hover{color:var(--lime);padding-left:3px}
.ftr-foot{
padding-top:2rem;display:flex;flex-wrap:wrap;justify-content:space-between;
gap:1rem;font-family:'JetBrains Mono',monospace;
font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);
}
.ftr-foot a:hover{color:var(--lime)}

/* MOBILE MENU */
.mm{
position:fixed;inset:0;background:var(--bg);z-index:100;
padding:5rem 1.5rem 2rem;opacity:0;visibility:hidden;
transition:opacity .3s,visibility .3s;overflow-y:auto;
}
.mm.open{opacity:1;visibility:visible}
.mm nav{display:grid;gap:0}
.mm a{
font-family:'Inter Tight',sans-serif;
font-size:1.5rem;font-weight:500;letter-spacing:-.03em;
color:var(--text);padding:.9rem 0;border-bottom:1px solid var(--border);
display:flex;justify-content:space-between;align-items:center;
}
.mm a .n{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
color:var(--text-3);
}
.mm .sub{
font-family:'Inter',sans-serif;font-size:1rem;padding-left:1rem;
border-bottom:none;color:var(--text-2);
}

/* MODAL */
.mback{
position:fixed;inset:0;background:rgba(6,8,6,.78);
backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
z-index:120;display:grid;place-items:center;padding:1.5rem;
opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.mback.open{opacity:1;visibility:visible}
.mbox{
background:#0f140f;width:min(680px,100%);max-height:92vh;overflow-y:auto;
padding:2.4rem 2.6rem 2.4rem;
border-radius:var(--r-lg);
border:1px solid var(--border-2);
position:relative;
transform:translateY(16px) scale(.98);
transition:transform .4s cubic-bezier(.2,.8,.2,1);
box-shadow:0 60px 120px -40px rgba(0,0,0,.9);
}
.mback.open .mbox{transform:translateY(0) scale(1)}
.mclose{
position:absolute;top:1.2rem;right:1.2rem;width:36px;height:36px;
border-radius:50%;border:1px solid var(--border);
display:grid;place-items:center;
transition:background .25s,border-color .25s,transform .3s;
}
.mclose:hover{background:var(--surface-2);border-color:var(--border-2);transform:rotate(90deg)}
.mclose svg{width:13px;height:13px;color:var(--text)}
.mbox .lbl{display:block;margin-bottom:1rem;color:var(--lime)}
.mbox h3{font-size:1.8rem;letter-spacing:-.035em;margin-bottom:.6rem;line-height:1.1}
.mbox h3 em{font-style:normal;color:var(--lime)}
.mbox>p{font-size:.94rem;line-height:1.55;color:var(--text-2);margin-bottom:1.8rem;max-width:50ch}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1rem}
.fld{display:flex;flex-direction:column;gap:.35rem}
.fld.full{grid-column:1/-1}
.fld label{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}
.fld input,.fld select,.fld textarea{
font-family:'Inter',sans-serif;font-size:.94rem;
padding:.85rem .95rem;
border-radius:12px;
border:1px solid var(--border);
background:var(--surface);color:var(--text);
width:100%;transition:border-color .25s,background .25s;
}
.fld textarea{resize:vertical;min-height:84px}
.fld input:focus,.fld select:focus,.fld textarea:focus{
outline:none;border-color:var(--lime);background:rgba(211,255,78,.04);
}
.fld input.err,.fld select.err,.fld textarea.err{border-color:#ff6b5a}
.fld .msg{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.14em;
text-transform:uppercase;color:#ff6b5a;min-height:1em;
}
.factions{display:flex;gap:.7rem;margin-top:1.8rem;flex-wrap:wrap;align-items:center}
.fnote{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.1em;
text-transform:uppercase;color:var(--text-3);margin-top:1.2rem;line-height:1.5;
}
.success{text-align:center;padding:1.4rem .4rem}
.success .ok{
width:60px;height:60px;border-radius:50%;
background:var(--lime);color:#0a0d0a;
display:grid;place-items:center;margin:0 auto 1.4rem;
box-shadow:0 0 40px var(--lime-glow);
}
.success .ok svg{width:24px;height:24px}
.success h3{margin-bottom:.7rem}
.success p{max-width:44ch;margin-inline:auto;font-size:.95rem}
.success .ref{
display:inline-block;margin-top:1.2rem;padding:.4rem .85rem;
background:var(--surface);border:1px solid var(--border);
border-radius:100px;
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-2);
}

/* COOKIE */
.cookie{
position:fixed;left:1.4rem;right:1.4rem;bottom:1.4rem;z-index:70;
background:rgba(14,18,14,.92);backdrop-filter:blur(20px);
border:1px solid var(--border-2);border-radius:var(--r);
padding:1.1rem 1.3rem;
display:grid;grid-template-columns:1fr auto;gap:1.4rem;align-items:center;
transform:translateY(160%);transition:transform .55s cubic-bezier(.2,.8,.2,1);
max-width:1180px;margin-inline:auto;
}
.cookie.show{transform:translateY(0)}
.cookie p{color:var(--text-2);font-size:.86rem;line-height:1.5;max-width:none}
.cookie a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.btn-s{
padding:.6rem 1rem;border-radius:100px;
font-family:'Inter Tight',sans-serif;font-size:.8rem;font-weight:500;
letter-spacing:-.005em;
transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.btn-s.ghost{
background:transparent;border:1px solid var(--border-2);color:var(--text);
}
.btn-s.ghost:hover{background:var(--surface-2);border-color:var(--text-3)}
.btn-s.solid{
background:var(--lime);color:#0a0d0a;border:1px solid var(--lime);
}
.btn-s.solid:hover{background:#e0ff6b;transform:translateY(-1px)}

/* RESPONSIVE */
@media(max-width:1100px){
:root{--container:min(100% - 40px,1360px)}
.nav{display:none}
.tel-btn{display:none}
.burger{display:grid}
.hdr{top:12px;width:calc(100% - 24px)}
.hero{padding:8rem 0 3rem}
.hero-grid{grid-template-columns:1fr;gap:2rem}
.hero h1{font-size:clamp(2.6rem,8vw,4.4rem)}
.hero-right{grid-template-rows:auto auto;min-height:auto}
.hero-photo{aspect-ratio:4/3}
.hero-tiles{height:auto}
.hero-strip{grid-template-columns:repeat(2,1fr);gap:1.2rem}
.bento{grid-template-columns:repeat(6,1fr);grid-auto-rows:180px}
.t-a{grid-column:span 6;grid-row:span 3}
.t-b{grid-column:span 4;grid-row:span 2}
.t-c{grid-column:span 2;grid-row:span 2}
.t-d{grid-column:span 3;grid-row:span 2}
.t-e{grid-column:span 3;grid-row:span 2}
.t-f{grid-column:span 6;grid-row:span 2}
.t-g{grid-column:span 6;grid-row:span 2}
.t-h{grid-column:span 3;grid-row:span 2}
.t-i{grid-column:span 3;grid-row:span 2}
.svc-head,.arch-head{flex-direction:column;align-items:flex-start;gap:1.2rem}
.svc-row{grid-template-columns:44px 1fr auto;gap:1.2rem;padding:1.4rem 0}
.svc-desc{display:none}
.feat-inner{grid-template-columns:1fr}
.feat-img{min-height:380px}
.feat-body{padding:2.4rem 1.8rem}
.proc-grid{grid-template-columns:repeat(2,1fr)}
.nums-grid{grid-template-columns:repeat(2,1fr)}
.num-cell{padding:1.8rem 1.2rem 1.6rem 0 !important;border-right:none;border-bottom:1px solid var(--border)}
.num-cell:nth-child(even){padding-left:1.2rem !important;border-left:1px solid var(--border)}
.voice-row{grid-template-columns:1fr;gap:1rem;padding:2rem 0}
.terr-grid{grid-template-columns:1fr 1fr}
.cta-inner{grid-template-columns:1fr;padding:2.6rem 1.8rem}
.ftr-grid{grid-template-columns:1fr 1fr;gap:2.4rem}
.cookie{grid-template-columns:1fr;padding:1.1rem}
}
@media(max-width:720px){
:root{--container:calc(100% - 32px)}
.hero h1{font-size:clamp(2.2rem,10vw,3.4rem)}
.hero-strip{grid-template-columns:1fr 1fr}
.hero-tiles{grid-template-columns:1fr}
.bento{grid-template-columns:1fr;grid-auto-rows:auto}
.t-a,.t-b,.t-c,.t-d,.t-e,.t-f,.t-g,.t-h,.t-i{grid-column:1/-1;grid-row:auto;min-height:200px}
.t-a{min-height:340px}
.proc-grid{grid-template-columns:1fr}
.nums-grid{grid-template-columns:1fr}
.num-cell{padding:1.6rem 0 !important;border-right:none !important;border-left:none !important}
.terr-grid{grid-template-columns:1fr}
.ftr-grid{grid-template-columns:1fr}
.fgrid{grid-template-columns:1fr}
.mbox{padding:1.8rem 1.4rem}
.arch-card{flex:0 0 82vw}
}