:root{
  --emerald:#2EE8A0; --emerald-dim:#1a8f66;
  --petrol:#0A1310; --bg:#060B09; --panel:#0C1613; --panel-2:#0F1B17;
  --steel:#8FA8A0; --steel-dim:#5A6E68; --threat:#FF5230; --amber:#FFB347; --violet:#9b6bff;
  --line:rgba(46,232,160,.22); --line-dim:rgba(46,232,160,.12);
  --mono:'JetBrains Mono','Consolas',monospace; --head:'Oswald','Arial Narrow',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--steel);font-family:var(--mono);font-size:14px;line-height:1.65;position:relative;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0px,rgba(0,0,0,.14) 1px,transparent 1px,transparent 3px);opacity:.4}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:998;background:radial-gradient(ellipse at 50% 30%,transparent 55%,rgba(0,0,0,.55) 100%)}
::selection{background:var(--emerald);color:var(--petrol)}
img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative;z-index:2}

.statusbar{border-bottom:1px solid var(--line-dim);background:rgba(6,11,9,.92);backdrop-filter:blur(6px);position:sticky;top:0;z-index:50}
.statusbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;gap:16px;flex-wrap:wrap}
.statusbar .sys{color:var(--emerald);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.statusbar nav{display:flex;gap:14px;flex-wrap:wrap}
.statusbar nav a{color:var(--steel-dim);text-decoration:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:color .15s}
.statusbar nav a:hover{color:var(--emerald)}
.blink{animation:blink 1.2s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}

.hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center 42%;background-repeat:no-repeat;filter:saturate(.82) brightness(.6) contrast(1.06);transform:scale(1.02)}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,11,9,.88) 0%,rgba(6,11,9,.3) 40%,rgba(6,11,9,.6) 70%,rgba(6,11,9,.97) 100%),linear-gradient(90deg,rgba(6,11,9,.78) 0%,transparent 55%)}
.hero .grid-overlay{position:absolute;inset:0;opacity:.22;background:linear-gradient(rgba(46,232,160,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(46,232,160,.16) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,transparent 20%,#000 90%);mask-image:linear-gradient(180deg,transparent 20%,#000 90%)}
.hero .inner{position:relative;z-index:3;width:100%;padding:48px 0 56px}
.hero .tag-line{color:var(--emerald);font-size:11px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:18px;text-shadow:0 0 12px rgba(46,232,160,.5)}
.hero h1{font-family:var(--head);font-weight:700;font-size:clamp(54px,9vw,110px);letter-spacing:.06em;line-height:.92;color:#F2FAF6;text-transform:uppercase;text-shadow:0 0 42px rgba(46,232,160,.4),0 4px 24px rgba(0,0,0,.8)}
.hero h1 .core{color:var(--emerald)}
.hero .sub{margin-top:20px;font-family:var(--head);font-weight:500;font-size:clamp(16px,2.3vw,24px);letter-spacing:.04em;color:#DCEDE6;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.hero .logline{margin-top:14px;color:#B9CCC5;font-size:13.5px;max-width:640px;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero .meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.chip{border:1px solid var(--line);color:var(--emerald);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;background:rgba(6,11,9,.75)}
.chip.warn{border-color:rgba(255,179,71,.45);color:var(--amber)}
.hero .shot-cred{position:absolute;right:24px;bottom:14px;z-index:4;color:rgba(143,168,160,.55);font-size:10px;letter-spacing:.12em;text-transform:uppercase}

.steam-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line-dim);background:linear-gradient(180deg,rgba(46,232,160,.08),rgba(46,232,160,.02));padding:26px 0}
.steam-strip .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.btn-steam{display:inline-flex;align-items:center;gap:12px;background:var(--emerald);color:var(--petrol);font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:18px 36px;text-decoration:none;border:1px solid var(--emerald);box-shadow:0 0 28px rgba(46,232,160,.35);transition:background .15s,box-shadow .15s}
.btn-steam:hover{background:#4FF2B4;box-shadow:0 0 40px rgba(46,232,160,.55)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--emerald);font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:18px 26px;text-decoration:none;border:1px solid var(--line);transition:background .15s,border-color .15s}
.btn-ghost:hover{background:rgba(46,232,160,.1);border-color:var(--emerald)}
.btn-ghost.vio{color:var(--violet);border-color:rgba(155,107,255,.4)}
.btn-ghost.vio:hover{background:rgba(155,107,255,.1);border-color:var(--violet)}
.btn-ghost.amb{color:var(--amber);border-color:rgba(255,179,71,.4)}
.btn-ghost.amb:hover{background:rgba(255,179,71,.1);border-color:var(--amber)}

section{padding:70px 0;border-bottom:1px solid var(--line-dim);position:relative}
.sec-label{color:var(--emerald-dim);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px}
.sec-title{font-family:var(--head);font-weight:600;font-size:clamp(25px,3.8vw,38px);color:#EAF5F0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:32px}
.sec-title em{color:var(--emerald);font-style:normal}
.sec-title em.red{color:var(--threat)}
.sub-title{font-family:var(--head);font-weight:600;font-size:19px;color:#EAF5F0;text-transform:uppercase;letter-spacing:.08em;margin:38px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line-dim)}
.sub-title span{color:var(--emerald-dim);font-size:12px;letter-spacing:.2em}
.panel{background:var(--panel);border:1px solid var(--line-dim);padding:26px 28px;position:relative}
.panel::before,.panel::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
.panel::before{top:-1px;left:-1px;border-top:2px solid var(--emerald);border-left:2px solid var(--emerald)}
.panel::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--emerald);border-right:2px solid var(--emerald)}

.pillar{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:14px 0;border-bottom:1px dashed rgba(46,232,160,.14)}
.pillar:last-child{border-bottom:none}
@media(max-width:640px){.pillar{grid-template-columns:1fr;gap:4px}}
.pillar .k{color:var(--emerald);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.pillar .v{color:#B9CCC5;font-size:13px}
.pillar .v b{color:#EAF5F0;font-weight:500}

.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:760px){.feat-grid{grid-template-columns:1fr}}
.feat{background:var(--panel);border:1px solid var(--line-dim);padding:22px 24px;transition:border-color .2s}
.feat:hover{border-color:var(--line)}
.feat .idx{color:var(--emerald-dim);font-size:11px;letter-spacing:.2em}
.feat h3{font-family:var(--head);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.06em;margin:8px 0 4px;color:var(--emerald)}
.feat h3.red{color:var(--threat)} .feat h3.amber{color:var(--amber)}
.feat .en{color:var(--steel-dim);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.feat p{color:#AEC2BB;font-size:12.5px}

.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:860px){.g-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g-grid{grid-template-columns:1fr}}
.g-shot{display:block;border:1px solid var(--line-dim);position:relative;overflow:hidden;background:#000;transition:border-color .2s;text-decoration:none}
.g-shot:hover{border-color:var(--emerald)}
.g-shot img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .3s}
.g-shot:hover img{transform:scale(1.03)}
.g-shot .g-cap{display:block;padding:9px 12px;background:var(--panel);border-top:1px solid var(--line-dim);color:#AEC2BB;font-size:11px}
.g-shot .g-cap b{color:var(--emerald);font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.g-shot.wide{grid-column:1/-1}
.g-shot.wide .g-cap{font-size:12px;padding:12px 16px}

.cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media(max-width:860px){.cast-grid{grid-template-columns:1fr}}
.pilot-row{display:grid;grid-template-columns:132px 1fr;gap:18px;background:var(--panel);border:1px solid var(--line-dim);padding:14px;margin-bottom:12px;align-items:center}
.pilot-row img{width:132px;height:180px;object-fit:cover;border:1px solid var(--line-dim);display:block}
@media(max-width:420px){.pilot-row{grid-template-columns:104px 1fr}.pilot-row img{width:104px;height:142px}}
.pilot-row .n{color:#EAF5F0;font-family:var(--head);font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.pilot-row .n span{color:var(--emerald)}
.pilot-row .r{color:var(--steel-dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:2px 0 6px}
.pilot-row p{color:#AEC2BB;font-size:12px}
.cast-note{margin-top:4px;color:var(--amber);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.cast-note.beast{color:var(--threat)}
.pilot-row.beast{border-color:rgba(255,82,48,.22)}
.pilot-row.beast img{width:132px;height:132px;border-color:rgba(255,82,48,.28);background:#0C1613}
@media(max-width:420px){.pilot-row.beast img{width:104px;height:104px}}
.pilot-row.beast .n span{color:var(--threat)}
.pilot-row.beast .n span.boss{color:var(--amber)}

.built-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.built-grid{grid-template-columns:1fr}}
.built{display:flex;gap:14px;background:var(--panel);border:1px solid var(--line-dim);padding:15px 18px;align-items:flex-start}
.built .sq{color:var(--emerald);font-size:13px;line-height:1.5}
.built p{color:#B9CCC5;font-size:12.5px}

.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:860px){.team-grid{grid-template-columns:1fr}}
.member{background:var(--panel);border:1px solid var(--line-dim);padding:24px 26px}
.member .callsign{color:var(--emerald-dim);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.member h3{font-family:var(--head);font-size:20px;color:#EAF5F0;letter-spacing:.06em;margin:6px 0 2px;text-transform:uppercase}
.member .role{color:var(--emerald);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.member p{color:#AEC2BB;font-size:12.5px}
.member p+p{margin-top:10px}

.sup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:760px){.sup-grid{grid-template-columns:1fr}}
.sup{background:var(--panel);border:1px solid var(--line-dim);padding:24px 26px;position:relative}
.sup::before{content:'';position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--emerald);border-left:2px solid var(--emerald)}
.sup::after{content:'';position:absolute;bottom:-1px;right:-1px;width:14px;height:14px;border-bottom:2px solid var(--emerald);border-right:2px solid var(--emerald)}
.sup h3{font-family:var(--head);font-size:18px;color:#EAF5F0;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.sup .tag{color:var(--emerald-dim);font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
.sup p{color:#AEC2BB;font-size:12.5px;margin-bottom:16px}
.sup.vio::before,.sup.vio::after{border-color:var(--violet)}
.sup.amb::before,.sup.amb::after{border-color:var(--amber)}

.cta{padding:0;border-bottom:none;position:relative;overflow:hidden}
.cta .bg{position:absolute;inset:0;background-position:center 30%;background-size:cover;background-repeat:no-repeat}
.cta .shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(6,11,9,.25) 26%,rgba(6,11,9,0) 55%,rgba(6,11,9,.72) 100%)}
.cta .inner{position:relative;z-index:2;text-align:center;padding:340px 24px 70px}
@media(max-width:760px){.cta .inner{padding:200px 24px 60px}}
.cta .close-line{font-family:var(--head);font-weight:700;font-size:clamp(24px,4vw,40px);color:#FFF6F2;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 2px 18px rgba(0,0,0,.9)}
.cta .btns{margin:32px auto 0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:16px;max-width:840px}
@media(max-width:640px){.cta .btns{grid-auto-flow:row;max-width:420px}}
.cta .demo{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.55);background:rgba(6,11,9,.82);color:#F2FAF6;font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;padding:16px 24px;text-decoration:none;transition:background .15s}
.cta .demo:hover{background:rgba(6,11,9,.95)}
.cta .demo.main{background:#F2FAF6;color:#1A0B0A;border-color:#F2FAF6}
.cta .demo.main:hover{background:#fff}
.cta .links{margin-top:24px;color:#F0D9D4;font-size:12px;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.cta .links a{color:#F0D9D4}

footer{padding:40px 0 70px;color:var(--steel-dim);font-size:11px;letter-spacing:.06em;text-align:center}
footer .sys-line{color:var(--emerald-dim);margin-bottom:8px}
footer a{color:var(--steel-dim)}

.lb{position:fixed;inset:0;z-index:1500;background:rgba(4,8,7,.97);display:none;flex-direction:column}
.lb.open{display:flex}
.lb .lb-top{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line-dim)}
.lb .lb-count{color:var(--emerald);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.lb .lb-close{color:var(--steel);background:none;border:1px solid var(--line);padding:8px 18px;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.lb .lb-close:hover{color:var(--emerald);border-color:var(--emerald)}
.lb .lb-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:18px 74px}
.lb .lb-fig{position:relative;display:flex;max-width:100%;max-height:100%}
.lb .lb-fig::before{content:'';position:absolute;top:-7px;left:-7px;width:20px;height:20px;border-top:2px solid var(--emerald);border-left:2px solid var(--emerald)}
.lb .lb-fig::after{content:'';position:absolute;bottom:-7px;right:-7px;width:20px;height:20px;border-bottom:2px solid var(--emerald);border-right:2px solid var(--emerald)}
.lb img{max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;border:1px solid var(--line-dim);display:block;cursor:pointer}
.lb .lb-arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(6,11,9,.8);border:1px solid var(--line);color:var(--emerald);font-family:var(--mono);font-size:26px;line-height:1;padding:16px 14px;cursor:pointer;user-select:none}
.lb .lb-arr:hover{background:rgba(46,232,160,.15)}
.lb .lb-prev{left:16px} .lb .lb-next{right:16px}
.lb .lb-cap{padding:12px 22px 18px;text-align:center;color:#B9CCC5;font-size:12px;border-top:1px solid var(--line-dim)}
.lb .lb-cap b{color:var(--emerald);letter-spacing:.1em;text-transform:uppercase;font-weight:500}
@media(max-width:640px){.lb .lb-stage{padding:12px 8px}.lb .lb-arr{padding:10px 9px;font-size:20px}}

.studio-hero{position:relative;padding:120px 0 90px;overflow:hidden;border-bottom:1px solid var(--line-dim)}
.studio-hero h1{font-family:var(--head);font-weight:700;font-size:clamp(40px,7vw,74px);letter-spacing:.14em;color:#F2FAF6;text-transform:uppercase;line-height:1}
.studio-hero h1 em{color:var(--emerald);font-style:normal}
.studio-hero p{margin-top:18px;max-width:620px;color:#B9CCC5;font-size:14.5px}
.card{display:block;text-decoration:none;border:1px solid var(--line-dim);background:var(--panel);position:relative;transition:border-color .2s}
.card:hover{border-color:var(--emerald)}
.card::before{content:'';position:absolute;top:-1px;left:-1px;width:16px;height:16px;border-top:2px solid var(--emerald);border-left:2px solid var(--emerald);z-index:3}
.card::after{content:'';position:absolute;bottom:-1px;right:-1px;width:16px;height:16px;border-bottom:2px solid var(--emerald);border-right:2px solid var(--emerald);z-index:3}
.card .shot{position:relative;overflow:hidden}
.card .shot img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;transition:transform .4s;filter:saturate(.9) brightness(.82)}
.card:hover .shot img{transform:scale(1.03)}
.card .body{padding:26px 30px 30px}
.card .st{color:var(--emerald);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.card h2{font-family:var(--head);font-size:clamp(28px,4.4vw,42px);letter-spacing:.1em;color:#F2FAF6;text-transform:uppercase;margin:6px 0 10px}
.card p{color:#B9CCC5;font-size:13px;max-width:640px}
.card .more{display:inline-block;margin-top:18px;color:var(--emerald);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
