:root{
--bg:#04060d;
--bg-2:#070c17;
--panel:rgba(7,11,20,.82);
--line:rgba(255,255,255,.08);
--text:#e9eef7;
--muted:#8a94a6;
--accent:#22d3ee;
--accent-2:#a78bfa;
--accent-3:#f472b6;
--font-display:'Space Grotesk','Arial Black',sans-serif;
--font-body:'Inter','Helvetica Neue',Arial,sans-serif;
--font-mono:'JetBrains Mono','SF Mono',monospace;
--ease:cubic-bezier(.16,1,.3,1)
}
html{scroll-behavior:smooth}
body{
margin:0;
color:var(--text);
background:var(--bg);
font-family:var(--font-body);
-webkit-font-smoothing:antialiased;
overflow-x:hidden
}
html.js body:not(.is-loaded){overflow:hidden;height:100vh}
a{color:inherit}
::selection{background:rgba(34,211,238,.28);color:#fff}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#152032;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:#1d2b44}

#bg{position:fixed;inset:0;z-index:0}
.vignette{position:fixed;inset:0;z-index:3;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(2,4,10,.72) 100%)}
.grain{
position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E")
}

#progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:90;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:0 50%}

.cursor{position:fixed;top:0;left:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .3s}
.cursor.is-on{opacity:1}
.cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(34,211,238,.85)}
.cursor-ring{position:fixed;top:0;left:0;width:38px;height:38px}
.cursor-ring-core{
position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;
border:1px solid rgba(34,211,238,.55);background:transparent;
transition:transform .4s var(--ease),background .3s,border-color .3s
}
.cursor-ring.is-hover .cursor-ring-core{transform:scale(1.5);background:rgba(34,211,238,.08)}
.cursor-ring.has-label .cursor-ring-core{transform:scale(3);border-color:rgba(34,211,238,.25);background:rgba(4,6,13,.55)}
.cursor-label{font:500 9px/1 var(--font-mono);letter-spacing:.18em;color:#eaf6ff;opacity:0;transition:opacity .2s}
.cursor-ring.has-label .cursor-label{opacity:1}

.loader{position:fixed;inset:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:opacity .5s ease,visibility .5s}
.loader.is-done{opacity:0;visibility:hidden}
.loader-mark{display:flex;font:700 clamp(40px,6vw,64px)/1 var(--font-display);letter-spacing:.04em}
.loader-mark span{opacity:0;transform:translateY(120%);animation:lmark .55s var(--ease) forwards}
.loader-mark span:nth-child(1){animation-delay:.05s}
.loader-mark span:nth-child(2){animation-delay:.1s}
.loader-mark span:nth-child(3){animation-delay:.15s}
.loader-mark span:nth-child(4){animation-delay:.2s}
.loader-mark span:nth-child(5){animation-delay:.25s}
@keyframes lmark{to{opacity:1;transform:none}}
.loader-bar{width:180px;height:1px;background:rgba(255,255,255,.12);overflow:hidden;border-radius:2px}
.loader-bar span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:0 50%;animation:lbar .55s cubic-bezier(.4,0,.2,1) forwards}
.loader-percent{font:600 11px/1 var(--font-mono);letter-spacing:.18em;color:var(--muted);margin-top:-18px;font-variant-numeric:tabular-nums}
@keyframes lbar{to{transform:scaleX(1)}}

.site-header{
position:fixed;top:0;left:0;right:0;z-index:80;
display:flex;align-items:center;justify-content:space-between;
padding:26px clamp(20px,4vw,52px);
transition:background .4s,border-color .4s,padding .4s;
border-bottom:1px solid transparent
}
body.is-scrolled .site-header{background:rgba(4,6,13,.72);backdrop-filter:blur(14px);border-bottom-color:var(--line);padding-top:16px;padding-bottom:16px}
.logo{font:700 26px/1 var(--font-display);letter-spacing:.02em;text-decoration:none;color:var(--text)}
.logo-dot{color:var(--accent)}
.nav{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.nav a{font:500 12px/1 var(--font-body);letter-spacing:.16em;text-decoration:none;color:var(--muted);transition:color .3s;position:relative}
.nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover{color:var(--text)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav .nav-cta{border:1px solid var(--line);padding:13px 22px;border-radius:40px;color:var(--text);background:rgba(255,255,255,.04)}
.nav .nav-cta::after{display:none}
.nav .nav-cta:hover{border-color:var(--accent);box-shadow:0 0 24px rgba(34,211,238,.25)}
.lang-toggle{display:flex;align-items:center;gap:8px;font:500 12px/1 var(--font-body);letter-spacing:.16em;margin-left:clamp(12px,1.5vw,20px)}
.lang-toggle a{text-decoration:none;color:var(--muted);transition:color .3s}
.lang-toggle a:hover{color:var(--text)}
.lang-toggle a.is-active{color:var(--accent);pointer-events:none}
.lang-toggle .sep{color:var(--muted);opacity:.5}
.lang a{text-decoration:none;color:var(--muted);transition:color .3s}
.lang a:hover{color:var(--accent)}
.lang a.is-active{color:var(--accent);pointer-events:none}

.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 20px 80px;z-index:2;overflow:hidden}
.hero-inner{position:relative;z-index:2}
.hero-glow{
position:absolute;top:50%;left:50%;width:min(64vw,760px);aspect-ratio:1;transform:translate(-50%,-50%);
background:radial-gradient(circle,rgba(34,211,238,.16) 0%,rgba(139,92,246,.08) 40%,transparent 70%);
filter:blur(30px);z-index:1;pointer-events:none;transition:opacity .5s
}
.hero-tag{font:400 12px/1 var(--font-mono);letter-spacing:.34em;color:var(--muted);margin-bottom:34px}
.hero-tag::before{content:'✦ ';color:var(--accent)}
.hero-title{position:relative;font:700 clamp(44px,8vw,150px)/.92 var(--font-display);letter-spacing:-.04em;margin:0;will-change:transform}
.line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.line-in{display:block;transform:translateY(112%);transition:transform 1.15s var(--ease)}
body.is-loaded .hero-title .line:nth-child(1) .line-in{transform:none;transition-delay:.15s}
body.is-loaded .hero-title .line:nth-child(2) .line-in{transform:none;transition-delay:.27s}
body.is-loaded .hero-title .line:nth-child(3) .line-in{transform:none;transition-delay:.39s}
.grad{background:linear-gradient(100deg,var(--accent) 0%,var(--accent-2) 55%,var(--accent-3) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{position:relative;color:var(--muted);max-width:520px;margin:34px auto 0;line-height:1.65;font-size:16px}
.hero-cta{position:relative;margin-top:42px}
.btn{
display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#fff;
padding:21px 44px;border-radius:60px;border:1px solid rgba(255,255,255,.16);
background:linear-gradient(90deg,rgba(34,211,238,.16),rgba(139,92,246,.14));
font:600 14px/1 var(--font-body);letter-spacing:.08em;
transition:box-shadow .35s,border-color .35s,background .35s
}
.btn:hover{border-color:rgba(34,211,238,.6);box-shadow:0 0 44px rgba(34,211,238,.35);background:linear-gradient(90deg,rgba(34,211,238,.24),rgba(139,92,246,.22))}
.btn-arrow{transition:transform .35s var(--ease);font-size:18px}
.btn:hover .btn-arrow{transform:translateX(6px)}

.tags{position:absolute;inset:0;z-index:1;pointer-events:none}
.tag{
position:absolute;left:0;top:0;
font:500 11px/1 var(--font-mono);letter-spacing:.22em;color:var(--muted);
padding:11px 18px;border:1px solid var(--line);border-radius:40px;
background:rgba(9,14,26,.4);backdrop-filter:blur(4px);white-space:nowrap;
transform:translate(var(--x,0),var(--y,0)) translate(-50%,-50%);
will-change:transform
}
.tag:nth-child(3n){color:#9db9c9;border-color:rgba(34,211,238,.22)}
.tag:nth-child(3n+1){color:#c5b8e8;border-color:rgba(139,92,246,.25)}

.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font:400 10px/1 var(--font-mono);letter-spacing:.34em}
.scroll-hint i{width:1px;height:54px;background:linear-gradient(var(--accent),transparent);overflow:hidden;display:block}
.scroll-hint i::after{content:'';display:block;width:100%;height:50%;background:#fff;animation:hintdrop 1.6s ease-in-out infinite}
@keyframes hintdrop{0%{transform:translateY(-100%)}60%{transform:translateY(0)}100%{transform:translateY(100%)}}

.marquee{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden;background:rgba(5,8,15,.75);backdrop-filter:blur(10px)}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee-group{display:flex;align-items:center;flex-shrink:0}
.marquee-group span{font:500 clamp(22px,3vw,38px)/1 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--text);white-space:nowrap;padding:0 26px}
.marquee-group i{font-style:normal;color:var(--accent);font-size:14px}

.section{position:relative;z-index:2;padding:clamp(90px,12vw,160px) clamp(20px,5vw,72px);background:rgba(4,7,13,.88);backdrop-filter:blur(12px)}
.services .section{border-bottom:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:30px 60px;margin-bottom:clamp(50px,7vw,90px)}
.sec-label{font:400 12px/1 var(--font-mono);letter-spacing:.28em;color:var(--accent)}
.sec-title{font:700 clamp(40px,7vw,96px)/.95 var(--font-display);letter-spacing:-.03em;margin:0}
.sec-title .dot-accent{color:var(--accent)}
.sec-sub{color:var(--muted);max-width:380px;line-height:1.7;margin:0}

.svc-list{list-style:none;margin:0;padding:0;position:relative}
.svc-list::before{content:'';position:absolute;inset:0;background:radial-gradient(560px circle at var(--mx,70%) var(--my,40%),rgba(34,211,238,.06),transparent 65%);pointer-events:none}
.svc-item{
position:relative;display:flex;align-items:center;gap:clamp(16px,3vw,48px);
padding:clamp(26px,4vw,44px) 0;border-top:1px solid var(--line);cursor:pointer;
flex-wrap:wrap;transition:padding .4s var(--ease)
}
.svc-item:last-child{border-bottom:1px solid var(--line)}
.svc-item::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2),transparent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.svc-item:hover::after{transform:scaleX(1)}
.svc-num{font:400 12px/1 var(--font-mono);color:var(--accent);min-width:52px}
.svc-title{font:600 clamp(26px,4.5vw,58px)/1.05 var(--font-display);letter-spacing:-.02em;margin:0;flex:1;transition:transform .55s var(--ease),color .35s}
.svc-desc{color:var(--muted);max-width:320px;font-size:15px;line-height:1.6;margin:0;transition:color .35s}
.svc-arrow{font-size:24px;color:var(--accent);opacity:0;transform:translateX(-16px);transition:opacity .4s,transform .55s var(--ease)}
.svc-item:hover .svc-title{transform:translateX(clamp(10px,2vw,30px));color:var(--accent)}
.svc-item:hover .svc-desc{color:var(--text)}
.svc-item:hover .svc-arrow{opacity:1;transform:translateX(0) rotate(90deg)}
.svc-item.is-open .svc-arrow{opacity:1;transform:translateX(0) rotate(90deg)}
.svc-drawer{
flex-basis:100%;max-height:0;opacity:0;overflow:hidden;
transition:max-height .6s var(--ease),opacity .5s ease
}
.svc-item:hover .svc-drawer,
.svc-item.is-open .svc-drawer,
.svc-item:focus-within .svc-drawer{max-height:var(--maxh,620px);opacity:1}
.svc-sub{
list-style:none;margin:0;padding:clamp(20px,3vw,30px) 0 clamp(8px,1.5vw,14px);
border-top:1px dashed rgba(255,255,255,.14);
display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px 34px
}
.svc-sub li{
position:relative;padding-left:28px;color:var(--muted);
font:500 15px/1.45 var(--font-body);cursor:default;
transition:color .3s,transform .35s var(--ease)
}
.svc-sub li::before{
content:'';position:absolute;left:0;top:6px;width:16px;height:16px;
border:1px solid var(--accent);border-radius:50%;opacity:.65;transition:background .3s,border-color .3s
}
.svc-sub li::after{
content:'+';position:absolute;left:4px;top:3px;font-size:9px;line-height:1;color:var(--accent)
}
.svc-item:hover .svc-sub li{color:var(--text)}
.svc-sub li:hover{transform:translateX(5px);color:var(--text)}
.svc-sub li:hover::before{background:rgba(34,211,238,.12);border-color:var(--accent)}

.studio-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:start}
.studio-text .sec-sub{margin:26px 0 38px;max-width:440px}
.text-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font:600 14px/1 var(--font-body);letter-spacing:.1em}
.text-link span{color:var(--accent);transition:transform .4s var(--ease)}
.text-link:hover span{transform:translateX(6px)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:26px 34px}
.stat{padding:26px 0 20px;border-top:1px solid var(--line)}
.stat-num{font:700 clamp(38px,5vw,66px)/1 var(--font-display);letter-spacing:-.02em;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-label{display:block;margin-top:14px;color:var(--muted);font:500 11px/1 var(--font-mono);letter-spacing:.2em}

.projects{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:0;padding-block:clamp(58px,7vw,86px);overflow:hidden}
.projects-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.projects::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(70% 120% at 50% 50%,transparent 40%,rgba(2,4,10,.5) 100%)}
.projects-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:clamp(22px,2.6vw,34px)}
.projects-btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

.services .sec-head,
.services .svc-list,
.studio .studio-grid{position:relative;z-index:2}
.services::after,
.studio::after,
.site-footer::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(70% 120% at 50% 50%,transparent 40%,rgba(2,4,10,.5) 100%)}
.site-footer .foot-label,
.site-footer .foot-contact,
.site-footer .foot-links,
.site-footer .wordmark{position:relative;z-index:2}
.btn-giant{
display:inline-flex;align-items:center;gap:clamp(14px,2vw,30px);
padding:clamp(26px,4.5vw,58px) clamp(38px,7vw,120px);
border-radius:200px;border:1px solid rgba(255,255,255,.16);
background:linear-gradient(90deg,rgba(34,211,238,.12),rgba(139,92,246,.10));
font:600 clamp(18px,2.7vw,42px)/1 var(--font-display);letter-spacing:.005em;color:#fff;
text-decoration:none;position:relative;overflow:hidden;
transition:border-color .45s,box-shadow .45s
}
.btn-giant::before{
content:'';position:absolute;inset:0;transform:translateX(-101%);
background:linear-gradient(100deg,rgba(34,211,238,.28),rgba(139,92,246,.26));
transition:transform .65s var(--ease)
}
.btn-giant:hover::before{transform:translateX(0)}
.btn-giant:hover{border-color:rgba(34,211,238,.65);box-shadow:0 0 70px rgba(34,211,238,.22)}
.btn-giant-text{position:relative}
.btn-giant-arrow{position:relative;font-size:.72em;color:var(--accent);transition:transform .45s var(--ease)}
.btn-giant:hover .btn-giant-arrow{transform:translateX(10px)}

.site-footer{position:relative;z-index:2;padding:clamp(90px,12vw,150px) clamp(20px,5vw,72px) 40px;border-top:1px solid var(--line);background:rgba(4,7,13,.94);overflow:hidden}
.foot-label{display:block;margin-bottom:30px;text-align:center}
.foot-contact{font:700 clamp(40px,6vw,72px)/1 var(--font-display);letter-spacing:-.03em;margin:0 0 30px;color:#fff;text-align:center}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,2.6vw,40px);margin-bottom:clamp(70px,9vw,120px)}
.foot-link{position:relative;display:inline-block;text-decoration:none;color:var(--muted);font:600 clamp(18px,2.2vw,30px)/1.1 var(--font-display);letter-spacing:.02em;padding-bottom:8px;transition:color .3s}
.foot-link::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.foot-link:hover,.foot-link:focus-visible{color:#fff}
.foot-link:hover::after,.foot-link:focus-visible::after{transform:scaleX(1)}
.contact-card{position:absolute;left:50%;top:calc(100% + 20px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:170px;padding:16px;background:rgba(9,14,26,.96);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -18px rgba(0,0,0,.8),0 0 40px rgba(34,211,238,.1);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-10px);transition:opacity .3s ease,transform .45s var(--ease),visibility .3s}
.foot-link:hover .contact-card,.foot-link:focus-visible .contact-card{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.contact-card img{width:120px;height:120px;display:block;border-radius:10px;background:#fff;object-fit:contain}
.contact-card-value{font:500 12px/1.4 var(--font-mono);color:var(--accent);text-align:center;letter-spacing:.02em}
body.is-touch .contact-card{display:none}
.footer-bottom{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font:400 11px/1 var(--font-mono);letter-spacing:.18em;border-top:1px solid var(--line);padding-top:30px;position:relative;z-index:2}
.footer-left{display:flex;gap:28px;align-items:center}
.lang{color:var(--accent);cursor:pointer}
.legal-links{display:flex;flex-wrap:wrap;gap:24px}
.legal-links a{text-decoration:none;color:var(--muted);transition:color .3s;font:400 11px/1 var(--font-mono);letter-spacing:.18em}
.legal-links a:hover{color:var(--accent)}
.wordmark{position:relative;margin-top:20px;text-align:center;font:700 clamp(90px,18vw,300px)/.8 var(--font-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);user-select:none;pointer-events:none;transition:-webkit-text-stroke .5s}
.site-footer:hover .wordmark{-webkit-text-stroke:1px rgba(34,211,238,.4)}

.back-top{
position:fixed;right:26px;bottom:26px;z-index:70;width:52px;height:52px;border-radius:50%;
display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;
border:1px solid var(--line);background:rgba(9,14,26,.7);backdrop-filter:blur(8px);
opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s,border-color .3s,box-shadow .3s
}
body.is-scrolled .back-top{opacity:1;transform:none}
.back-top:hover{border-color:var(--accent);box-shadow:0 0 26px rgba(34,211,238,.35)}

[data-reveal]{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s);will-change:transform}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal-scale]{opacity:0;transform:translateY(44px) scale(.9);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s);will-change:transform}
[data-reveal-scale].is-in{opacity:1;transform:none}

body.is-touch .tag{animation:tagFloat 5s ease-in-out infinite}
@keyframes tagFloat{
0%,100%{transform:translate(var(--x),var(--y)) translate(-50%,-50%) translateY(0)}
50%{transform:translate(var(--x),var(--y)) translate(-50%,-50%) translateY(-16px)}
}

.page-hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:150px 20px 70px;z-index:2;overflow:hidden}
.page-hero-inner{position:relative;z-index:2}
.page-title{position:relative;font:700 clamp(48px,9vw,150px)/.95 var(--font-display);letter-spacing:-.04em;margin:0}
body.is-loaded .page-title .line:nth-child(1) .line-in{transform:none;transition-delay:.15s}
body.is-loaded .page-title .line:nth-child(2) .line-in{transform:none;transition-delay:.27s}
.page-sub{position:relative;color:var(--muted);max-width:560px;margin:32px auto 0;line-height:1.7;font-size:16px}

.page-hero.legal-hero{min-height:auto;padding-top:210px;padding-bottom:70px}
.legal{padding:10px clamp(20px,5vw,72px) clamp(90px,12vw,160px)}
.legal-inner{max-width:820px;margin:0 auto;color:var(--muted);line-height:1.85;font-size:15px}
.legal-inner h2{font:600 clamp(22px,2.4vw,30px)/1.2 var(--font-display);letter-spacing:-.01em;color:#fff;margin:56px 0 16px}
.legal-inner p{margin:0 0 14px}
.legal-inner ul{margin:0 0 14px;padding-left:20px}
.legal-inner li{margin-bottom:8px}
.legal-inner a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(34,211,238,.3)}
.legal-inner a:hover{color:#fff;border-color:var(--accent)}

.proj-grid{padding-top:0}
.proj-grid-inner{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,40px)}
.proj-card:first-child{grid-column:1/-1}
.proj-card{position:relative;display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--panel);transition:border-color .4s,transform .55s var(--ease),box-shadow .55s}
.proj-card:hover{transform:translateY(-6px);border-color:rgba(34,211,238,.42);box-shadow:0 34px 70px -24px rgba(0,0,0,.75),0 0 46px rgba(34,211,238,.09)}
.proj-cover{display:flex;flex-direction:column;position:relative}
.proj-card:first-child .proj-cover{aspect-ratio:21/9}
.proj-card:not(:first-child) .proj-cover{aspect-ratio:16/10}
.browser-bar{position:relative;z-index:3;height:36px;flex:none;display:flex;align-items:center;gap:7px;padding:0 15px;background:rgba(255,255,255,.05);border-bottom:1px solid var(--line)}
.browser-bar i{width:9px;height:9px;border-radius:50%}
.browser-bar i:nth-child(1){background:#ff5f57}
.browser-bar i:nth-child(2){background:#febc2e}
.browser-bar i:nth-child(3){background:#28c840}
.browser-bar span{margin-left:12px;font:400 10px/1 var(--font-mono);color:rgba(255,255,255,.45);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cover-art{position:relative;flex:1;overflow:hidden;background:radial-gradient(130% 130% at 14% 0%,var(--c1) 0%,var(--c2) 74%)}
.cover-art::after{content:'';position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 110%,rgba(0,0,0,.38),transparent 70%)}
.proj-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px 24px;border-top:1px solid var(--line);position:relative;z-index:2}
.proj-name{margin:0;font:600 clamp(20px,1.8vw,26px)/1.15 var(--font-display);letter-spacing:-.01em;transition:color .3s}
.proj-card:hover .proj-name{color:var(--accent)}
.proj-cat{display:block;margin-top:9px;font:500 10px/1 var(--font-mono);letter-spacing:.22em;color:var(--muted)}
.proj-arrow{font-size:24px;color:var(--accent);opacity:0;transform:translateX(-14px);transition:opacity .4s,transform .55s var(--ease)}
.proj-card:hover .proj-arrow{opacity:1;transform:none}

.preview-frame{position:absolute;inset:0;overflow:hidden}
.preview{display:block;width:1440px;height:900px;border:0;transform-origin:top left;transform:scale(var(--pf,1));pointer-events:none;opacity:0;transition:opacity .7s ease}
.preview.is-loaded{opacity:1}

.cover-ember{--c1:#ff7a45;--c2:#b8321f}
.cover-velocity{--c1:#e84444;--c2:#161b26}
.cover-luma{--c1:#f4bdcc;--c2:#c9829f}
.cover-northline{--c1:#2b7a63;--c2:#13423b}
.cover-pulse{--c1:#c6f830;--c2:#4d8c1d}
.cover-forma{--c1:#c99a58;--c2:#4f3a26}
.cover-nova{--c1:#46cdf2;--c2:#0f6f9f}
.cover-mono{--c1:#ececea;--c2:#8c8c88}
.cover-azn{--c1:#e6ecf7;--c2:#f6e0e0}

.nav a.is-current{color:var(--accent)}
.nav a.is-current::after{transform:scaleX(1);transform-origin:left}

body.is-reduced *,
body.is-reduced *::before,
body.is-reduced *::after{animation:none !important;transition-duration:.01ms !important}
body.is-reduced .hero-glow{display:none}

@media (max-width:1024px){
.proj-grid-inner{grid-template-columns:1fr}
.proj-card .proj-cover{aspect-ratio:1/2}
.preview{width:100%;height:100%;transform:none}
}
@media (max-width:900px){
.studio-grid{grid-template-columns:1fr}
.stats{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
.nav a:not(.nav-cta){display:none}
.hero{padding-top:140px}
.hero-sub{font-size:15px}
.svc-item{flex-wrap:wrap;gap:14px}
.svc-desc{max-width:100%}
.svc-arrow{display:none}
.svc-sub{grid-template-columns:1fr;gap:11px}
.tag:nth-child(n+6){display:none}
.stats{grid-template-columns:1fr 1fr;gap:18px}
.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px}
.legal-links{gap:16px}
}
@media (max-width:420px){
.stats{grid-template-columns:1fr}
}
