﻿@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{--ink:#070a10;--ink-2:#0d1119;--paper:#e5ead7;--muted:#939b91;--coral:#f06451;--jade:#b8d8ba;--line:#e5ead72b;--mx:0px;--my:0px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:'Chakra Petch',Arial,sans-serif;overflow-x:hidden}body::before{content:"";position:fixed;z-index:20;inset:0;pointer-events:none;opacity:.11;background:repeating-linear-gradient(180deg,transparent 0 4px,#eef3df 5px,transparent 6px)}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.skip{position:fixed;z-index:100;left:20px;top:-80px;padding:12px 16px;background:var(--paper);color:var(--ink)}.skip:focus{top:20px}
.site-head{position:fixed;z-index:40;inset:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px;height:82px;padding:0 clamp(20px,4vw,70px);border-bottom:1px solid var(--line);background:#070a10e8;backdrop-filter:blur(12px)}.logo{display:flex;align-items:center;gap:12px;text-decoration:none}.logo img{width:46px;height:46px;object-fit:contain;filter:sepia(1) saturate(.25) brightness(1.6)}.logo span{font-size:14px;font-weight:700;line-height:.92;letter-spacing:.12em}.main-nav{display:flex;justify-content:center;gap:clamp(14px,2vw,32px)}.main-nav a{position:relative;padding:13px 0;color:#a4aaa0;font:11px 'IBM Plex Mono',monospace;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.main-nav a:hover,.main-nav a.active{color:var(--paper)}.main-nav a::after{content:"";position:absolute;right:100%;bottom:5px;left:0;height:1px;background:var(--coral);transition:right .2s}.main-nav a:hover::after,.main-nav a.active::after{right:0}.head-cta{padding:12px 17px;border:1px solid var(--coral);color:var(--coral);font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.menu-button{display:none;border:1px solid var(--line);background:none;color:var(--paper);padding:10px 12px}
.hud-frame{position:relative;border:1px solid var(--line);background:#0b1017d9;clip-path:polygon(0 14px,14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}.hud-frame::before,.hud-frame::after{content:"";position:absolute;z-index:2;pointer-events:none}.hud-frame::before{inset:8px;border:1px solid #e5ead70f}.hud-frame::after{top:0;left:38px;width:68px;height:3px;background:var(--coral);box-shadow:80px 0 0 var(--paper)}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--coral);font:11px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase}.eyebrow::before{content:"";width:38px;height:1px;background:currentColor}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--jade);box-shadow:0 0 12px var(--jade)}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;padding:150px clamp(20px,6vw,105px) 70px;overflow:hidden}.hero-media{position:absolute;inset:0;background:var(--hero) center/cover;transform:translate(var(--mx),var(--my)) scale(1.035);transition:transform .2s linear}.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070a10f5 0%,#070a10c2 38%,#070a1040 72%,#070a10aa),linear-gradient(180deg,#070a1055,#070a1033 55%,#070a10ed)}.hero::after{content:"";position:absolute;inset:82px 30px 28px;pointer-events:none;border:1px solid #e5ead716}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.5fr);gap:6vw;align-items:end}.hero h1{max-width:1040px;margin:25px 0 24px;font-size:clamp(64px,8vw,145px);line-height:.82;letter-spacing:-.065em;text-transform:uppercase}.hero-copy{max-width:820px;color:#c8cec4;font-size:clamp(18px,1.4vw,25px);line-height:1.55}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-width:210px;padding:16px 18px;border:1px solid var(--line);background:#0a0f16d9;color:var(--paper);font:11px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.button.primary{border-color:var(--coral);color:var(--coral)}.button:hover{background:#161c24}.telemetry{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.telemetry div{display:grid;grid-template-columns:66px 1fr;gap:16px;padding:17px;background:#090e15dd}.telemetry strong{color:var(--coral);font-size:20px}.telemetry span{align-self:center;color:var(--muted);font:9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.signal-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:var(--ink-2)}.signal-strip div{padding:17px clamp(18px,3vw,44px);border-right:1px solid var(--line);font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.signal-strip div:last-child{border-right:0}.signal-strip b{color:var(--coral);margin-right:10px}
.section{position:relative;padding:clamp(90px,10vw,170px) clamp(20px,6vw,105px);border-bottom:1px solid var(--line);overflow:hidden}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);gap:8vw;align-items:end;margin-bottom:54px}.section h2,.page-hero h1{max-width:1000px;margin:20px 0 0;font-size:clamp(54px,7vw,122px);line-height:.86;letter-spacing:-.055em;text-transform:uppercase}.section-head>p,.page-lead{margin:0;color:#adb4ab;font-size:clamp(17px,1.3vw,22px);line-height:1.65}.diag{position:absolute;right:-80px;top:50px;width:360px;height:360px;border:1px solid #e5ead70e;border-radius:50%;background:repeating-radial-gradient(circle,#e5ead70d 0 1px,transparent 2px 28px);pointer-events:none}.diag::before,.diag::after{content:"";position:absolute;inset:50%;width:480px;height:1px;background:#e5ead712;transform:translate(-50%,-50%) rotate(32deg)}.diag::after{transform:translate(-50%,-50%) rotate(-32deg)}
.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.card{--accent:var(--coral);position:relative;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;grid-column:span 4;padding:28px;overflow:hidden;border:1px solid var(--line);background:#0b1017;color:var(--paper);text-decoration:none}.card.wide{grid-column:span 6}.card.large{grid-column:span 8;min-height:470px}.card-art{position:absolute;inset:0;background:linear-gradient(180deg,transparent 16%,#080c12ed 88%),var(--image) center/cover;opacity:.62;transition:transform .5s,opacity .3s}.card::after{content:"";position:absolute;top:0;left:0;width:34%;height:3px;background:var(--accent)}.card:hover .card-art{opacity:.85;transform:scale(1.025)}.card>*:not(.card-art){position:relative;z-index:2}.card small{color:var(--accent);font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.card h3{margin:12px 0 8px;font-size:clamp(24px,2vw,38px);line-height:1.03}.card p{max-width:570px;margin:0;color:#aeb5ac;font-size:15px;line-height:1.55}.card .open{margin-top:20px;color:var(--accent);font:10px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.service-card{min-height:270px;justify-content:flex-start}.service-card .module{display:grid;place-items:center;width:68px;height:68px;margin-bottom:auto;border:1px solid var(--accent);color:var(--accent);font:18px 'IBM Plex Mono',monospace;background:radial-gradient(circle,#f0645120,transparent 65%)}.service-card p{margin-top:12px}.work-card{min-height:450px}.team-panel{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.team-photo{min-height:620px;background:linear-gradient(180deg,transparent,#070a10c9),url('/assets/studio/nimbus-team.webp') center/cover}.team-copy{display:grid;align-content:end;padding:38px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.metrics div{min-height:150px;padding:25px;background:var(--ink-2)}.metrics strong{display:block;color:var(--coral);font-size:38px}.metrics span{color:var(--muted);font:10px 'IBM Plex Mono',monospace;text-transform:uppercase}
.role-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.role{min-height:180px;padding:22px;border:1px solid var(--line);background:#0b1017;text-decoration:none}.role:hover{border-color:var(--coral)}.role small{color:var(--coral);font:9px 'IBM Plex Mono',monospace}.role h3{margin:28px 0 8px;font-size:21px}.role span{color:var(--muted);font-size:13px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.map{min-height:520px}.map iframe{width:100%;height:100%;border:0;filter:saturate(.35) contrast(1.15) brightness(.72) hue-rotate(135deg)}.contact-stack{display:grid;gap:14px}.contact-card{padding:30px}.contact-card small{color:var(--coral);font:10px 'IBM Plex Mono',monospace}.contact-card h3{margin:15px 0 8px;font-size:25px}.contact-card p{color:var(--muted);line-height:1.6}.contact-card a{color:var(--paper);text-decoration:none}
.enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:48px}.enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:clamp(24px,4vw,48px)}.form-heading,.form-wide{grid-column:1/-1}.form-heading small{color:var(--coral);font:10px 'IBM Plex Mono',monospace;letter-spacing:.1em}.form-heading h3{margin:18px 0 10px;font-size:clamp(30px,3vw,45px)}.form-heading p{color:var(--muted);line-height:1.6}.enquiry-form label{display:grid;gap:9px;color:#cfd4ca;font:11px 'IBM Plex Mono',monospace;letter-spacing:.05em;text-transform:uppercase}.enquiry-form input,.enquiry-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#080d13;color:var(--paper);padding:14px;font:16px Inter,sans-serif;letter-spacing:0;text-transform:none}.enquiry-form input:focus,.enquiry-form textarea:focus{outline:2px solid var(--coral);outline-offset:2px}.form-consent{grid-template-columns:auto 1fr!important;align-items:start;text-transform:none!important;line-height:1.5}.form-consent input{width:18px;height:18px;margin:1px 0 0}.form-trap{position:absolute!important;left:-9999px!important}.form-status{display:none;margin-top:32px;padding:18px 22px;border:1px solid var(--line);font:13px 'IBM Plex Mono',monospace}.form-status.visible{display:block}.form-status.success{border-color:#6fcf97;color:#9ce2b9}.form-status.error{border-color:#ff6b6b;color:#ff9a9a}
.page-hero{position:relative;min-height:68svh;display:grid;align-items:end;padding:160px clamp(20px,6vw,105px) 72px;border-bottom:1px solid var(--line);overflow:hidden}.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070a10f3,#070a10a6 55%,#070a1066),var(--page-image,linear-gradient(135deg,#131a23,#080b10)) center/cover}.page-hero>div{position:relative;z-index:1}.page-hero h1{max-width:1200px}.page-hero .page-lead{max-width:850px;margin-top:26px}.breadcrumb{color:var(--coral);font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.breadcrumb a{text-decoration:none}.content-shell{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:7vw;padding:90px clamp(20px,6vw,105px)}.content-index{align-self:start;position:sticky;top:110px;padding:25px}.content-index small{color:var(--coral);font:10px 'IBM Plex Mono',monospace}.content-index ul{padding:0;margin:22px 0 0;list-style:none}.content-index li{padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font:12px 'IBM Plex Mono',monospace}.prose{max-width:920px}.prose h2{margin:65px 0 18px;font-size:clamp(34px,4vw,64px);line-height:.95}.prose h2:first-child{margin-top:0}.prose h3{margin:35px 0 12px;color:var(--coral);font-size:24px}.prose p,.prose li,.prose blockquote{color:#b4bbb2;font-size:18px;line-height:1.72}.prose ul{padding-left:20px}.prose blockquote{margin:35px 0;padding:24px 28px;border-left:3px solid var(--coral);background:#0d121a}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tag{padding:8px 11px;border:1px solid var(--line);color:var(--muted);font:9px 'IBM Plex Mono',monospace;text-transform:uppercase}.legacy-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.legacy-item{display:grid;grid-template-columns:220px 1fr;min-height:200px;background:var(--ink-2)}.legacy-item img{width:100%;height:100%;object-fit:cover}.legacy-item div{padding:30px}.legacy-item h3{margin:0 0 10px;font-size:28px}.footer{display:grid;grid-template-columns:1fr auto auto;gap:30px;padding:38px clamp(20px,6vw,105px);color:var(--muted);font:10px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.footer a{text-decoration:none}.footer a:hover{color:var(--coral)}
[data-reveal]{transform:translateY(18px);opacity:.001;transition:transform .35s ease,opacity .35s ease}[data-reveal].seen{transform:none;opacity:1}
@media(max-width:1050px){.main-nav{display:none}.site-head{grid-template-columns:1fr auto auto}.menu-button{display:block}.menu-open .main-nav{position:fixed;display:grid;align-content:start;inset:82px 0 0;padding:40px;background:#070a10f7}.menu-open .main-nav a{padding:18px;font-size:15px;border-bottom:1px solid var(--line)}.hero-grid,.section-head,.team-panel,.contact-grid,.content-shell{grid-template-columns:1fr}.hero{align-items:end}.telemetry{grid-template-columns:repeat(4,1fr)}.telemetry div{grid-template-columns:1fr}.content-index{position:static}.role-list{grid-template-columns:repeat(2,1fr)}.card{grid-column:span 6}}
@media(max-width:1050px){body.menu-open{overflow:hidden}.menu-open .site-head{background:#070a10;backdrop-filter:none}.menu-open .main-nav{z-index:100;overflow-y:auto;overscroll-behavior:contain;background:#070a10;box-shadow:0 24px 60px #000;isolation:isolate}.menu-open .menu-button{position:relative;z-index:101;background:#111821}}
@media(max-width:680px){.site-head{height:68px;padding:0 15px}.logo span{display:none}.head-cta{display:none}.hero{padding:110px 18px 40px}.hero::after{inset:68px 8px 8px}.hero h1{font-size:clamp(52px,17vw,82px)}.hero-copy{font-size:16px}.telemetry{grid-template-columns:repeat(2,1fr)}.section{padding:80px 18px}.section h2,.page-hero h1{font-size:clamp(46px,15vw,72px)}.signal-strip{grid-template-columns:repeat(2,1fr)}.signal-strip div:nth-child(2){border-right:0}.card-grid{grid-template-columns:1fr}.card,.card.wide,.card.large{grid-column:auto;min-height:330px}.team-photo{min-height:430px}.role-list{grid-template-columns:1fr}.page-hero{min-height:72svh;padding:120px 18px 45px}.content-shell{padding:60px 18px}.legacy-item{grid-template-columns:1fr}.legacy-item img{height:180px}.footer{grid-template-columns:1fr}.button{width:100%}.map{min-height:400px}}
@media(max-width:900px){.enquiry-grid{grid-template-columns:1fr}}@media(max-width:680px){.enquiry-form{grid-template-columns:1fr}.enquiry-form label,.form-heading,.form-wide{grid-column:1}}
@media(max-width:680px){.menu-open .main-nav{inset:68px 0 0;padding:24px 18px 40px}.menu-open .main-nav a{padding:20px 12px;color:var(--paper);font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}.hero-media{transform:none}.hero-media video{display:none}}

/* Black Omens game record */
.bo-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:150px clamp(20px,6vw,105px) 72px;overflow:hidden}.bo-hero-art,.bo-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bo-hero-shade{background:linear-gradient(90deg,#050608f5 0%,#050608b5 45%,transparent 75%),linear-gradient(0deg,#050608 0%,transparent 62%)}.bo-hero-copy{position:relative;z-index:2;width:min(820px,70vw)}.bo-logo{display:block;width:min(720px,75vw);max-height:300px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 30px #000)}.bo-deck{max-width:700px;font-size:clamp(19px,1.5vw,27px);line-height:1.5;color:#d5d6d0}.bo-status{position:absolute;z-index:3;right:clamp(20px,5vw,90px);bottom:72px;width:290px;padding:24px;background:#090b0ee8;display:grid;gap:12px}.bo-status small,.bo-specs small{font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#d52b2b}.bo-status strong{font-size:22px}.bo-status span{font:11px 'IBM Plex Mono',monospace;color:var(--muted)}
.bo-remake{padding:48px clamp(20px,8vw,150px);background:#a30000;color:#fff;display:grid;grid-template-columns:180px minmax(260px,.65fr) 1fr;gap:35px;align-items:start}.bo-remake small{font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em}.bo-remake h2{margin:0;font-size:clamp(42px,5vw,78px);line-height:.9;text-transform:uppercase}.bo-remake p{margin:0;font-size:clamp(17px,1.3vw,22px);line-height:1.55}.bo-remake a{grid-column:3;color:#fff;font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.bo-intro{padding:130px clamp(20px,8vw,150px);display:grid;grid-template-columns:minmax(280px,.8fr) 1fr;gap:8vw;background:#050608}.bo-intro h2,.bo-key-art h2,.bo-lineage h2,.bo-final h2{font-size:clamp(52px,7vw,110px);line-height:.85;text-transform:uppercase;margin:18px 0}.bo-intro p:not(.eyebrow){font-size:clamp(19px,1.5vw,26px);line-height:1.65;color:#c6c8c1}
.bo-key-art{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px;background:#0b0c0e}.bo-key-visual>img{width:100%;height:100%;object-fit:cover}.bo-key-art>div:not(.bo-key-visual){padding:90px clamp(30px,5vw,90px);align-self:center}.bo-key-art ul{padding:0;margin:38px 0 0;list-style:none}.bo-key-art li{padding:20px 0;border-top:1px solid #ffffff20;display:grid;gap:7px}.bo-key-art li strong{font-size:19px;text-transform:uppercase}.bo-key-art li span{color:var(--muted);line-height:1.5}
.bo-gallery{background:#08090b}.bo-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bo-shot{position:relative;display:block;overflow:hidden;background:#000;aspect-ratio:16/9}.bo-shot-wide{grid-column:1/-1;aspect-ratio:2.35/1}.bo-shot img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.bo-shot span{position:absolute;left:14px;bottom:14px;padding:8px 10px;background:#07090bdb;color:#fff;font:9px 'IBM Plex Mono',monospace;letter-spacing:.1em;opacity:0;transform:translateY(5px);transition:.25s}.bo-shot:hover img{transform:scale(1.025);filter:contrast(1.08)}.bo-shot:hover span,.bo-shot:focus span{opacity:1;transform:none}

/* Legacy archive */
.legacy-archive{background:#07090d}.legacy-hero{position:relative;min-height:82svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.48fr);gap:8vw;align-items:end;padding:170px clamp(20px,6vw,105px) 76px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 24%,#ffc70218,transparent 27%),linear-gradient(145deg,#10151e,#05070a 66%)}.legacy-hero:before{content:"";position:absolute;inset:0;opacity:.22;background:linear-gradient(90deg,transparent 49.8%,#ffc70233 50%,transparent 50.2%),linear-gradient(#fff0 49.8%,#fff1 50%,#fff0 50.2%);background-size:90px 90px}.legacy-hero>div,.legacy-manifest{position:relative;z-index:1}.legacy-hero h1{max-width:1200px;margin:20px 0 28px;font-size:clamp(60px,8vw,140px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}.legacy-hero .page-lead{max-width:850px}.legacy-manifest{padding:26px;display:grid;gap:12px}.legacy-manifest small,.legacy-manifest span{font:10px 'IBM Plex Mono',monospace;color:var(--muted);letter-spacing:.08em}.legacy-manifest strong{color:#ffc702;font-size:42px}.legacy-manifest span{padding-top:12px;border-top:1px solid var(--line)}.legacy-jump{position:sticky;top:82px;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);background:#07090df2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.legacy-jump a{padding:20px clamp(15px,3vw,46px);border-right:1px solid var(--line);color:var(--muted);font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.legacy-jump a:hover{color:var(--legacy-accent);background:#ffffff05}.legacy-record{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(28px,5vw,90px);padding:120px clamp(20px,6vw,105px);border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--legacy-accent) 12%,transparent),transparent 28%)}.legacy-record-reverse .legacy-record-copy{order:2}.legacy-record-reverse .legacy-hero-art{order:1}.legacy-record-copy h2{margin:16px 0 24px;color:#f1f4e6;font-size:clamp(58px,8vw,130px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}.legacy-record-copy .eyebrow{color:var(--legacy-accent)}.legacy-record-copy>p{max-width:780px;color:#b4bbb2;font-size:18px;line-height:1.72}.legacy-deck{color:#eef1e5!important;font-size:clamp(22px,2vw,34px)!important;line-height:1.25!important}.legacy-hero-art{min-height:560px;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--legacy-accent) 45%,#29303a);background:#0b0e12}.legacy-hero-art img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.legacy-concept img{object-position:center 18%}.legacy-features{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:38px;background:var(--line);border:1px solid var(--line)}.legacy-features div{min-height:126px;padding:22px;background:#0b0f15}.legacy-features b{display:block;margin-bottom:12px;color:var(--legacy-accent);font:24px 'IBM Plex Mono',monospace}.legacy-features span{color:var(--muted);font-size:14px;line-height:1.5}.legacy-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.legacy-gallery figure{position:relative;margin:0;min-width:0;aspect-ratio:16/9;overflow:hidden;background:#020304;border:1px solid var(--line)}.legacy-gallery img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.legacy-gallery figcaption,.legacy-roster figcaption{position:absolute;left:8px;bottom:8px;padding:6px 8px;background:#05070ae8;color:var(--legacy-accent);font:8px 'IBM Plex Mono',monospace;letter-spacing:.08em}.legacy-roster{grid-column:1/-1;display:grid;grid-template-columns:240px 240px 1fr;gap:12px}.legacy-roster figure{position:relative;min-height:300px;margin:0;overflow:hidden;border:1px solid var(--line);background:#0b0e13}.legacy-roster img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.legacy-roster>div{display:grid;align-content:center;padding:36px;border:1px solid var(--line);background:#0b0e13}.legacy-roster small{color:var(--legacy-accent);font:10px 'IBM Plex Mono',monospace}.legacy-roster strong{margin-top:18px;font-size:clamp(28px,3vw,50px);line-height:1}.legacy-final{padding:130px clamp(20px,10vw,180px);text-align:center;background:radial-gradient(circle at 50% 0,#f064511c,transparent 46%)}.legacy-final h2{max-width:1100px;margin:18px auto 24px;font-size:clamp(50px,7vw,110px);line-height:.87;text-transform:uppercase}.legacy-final p:not(.eyebrow){max-width:760px;margin:0 auto 35px;color:#aeb5ac;font-size:18px;line-height:1.7}
.bo-lineage{padding:130px clamp(20px,8vw,150px);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:linear-gradient(110deg,#120203,#050608 55%)}.bo-lineage>div>p:last-child{font-size:20px;line-height:1.6;color:#b8bbb4}.bo-lineage ol{list-style:none;padding:0;margin:0}.bo-lineage li{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:24px 0;border-top:1px solid #a3000066}.bo-lineage b{color:#e8e9e3;font-size:24px}.bo-lineage span{color:#b8bbb4;line-height:1.5}
.bo-specs{display:grid;grid-template-columns:repeat(3,1fr);background:#a30000;gap:1px}.bo-specs div{padding:28px 34px;background:#0a0b0d;display:grid;gap:9px}.bo-specs strong{font-size:16px;line-height:1.4}.bo-final{text-align:center;padding:150px 20px 170px;background:linear-gradient(#050608cc,#050608f7),url('/assets/black-omens/shot-4.webp') center/cover}.bo-final p:not(.eyebrow){max-width:680px;margin:22px auto;color:#c7c9c2;font-size:20px}.bo-final .button-row{justify-content:center}
@media(max-width:900px){.bo-status{position:relative;right:auto;bottom:auto;margin:28px 0 0;width:min(100%,340px)}.bo-hero{display:block;padding-top:160px}.bo-hero-copy{width:100%}.bo-remake,.bo-intro,.bo-key-art,.bo-lineage{grid-template-columns:1fr}.bo-remake a{grid-column:1}.bo-key-visual>img{max-height:620px}.bo-gallery-grid,.bo-specs{grid-template-columns:1fr}.bo-shot-wide{grid-column:auto;aspect-ratio:16/9}}
@media(max-width:900px){.legacy-hero,.legacy-record{grid-template-columns:1fr}.legacy-manifest{margin-top:30px}.legacy-record-reverse .legacy-record-copy,.legacy-record-reverse .legacy-hero-art{order:initial}.legacy-hero-art{min-height:440px}.legacy-roster{grid-template-columns:repeat(2,1fr)}.legacy-roster>div{grid-column:1/-1}.legacy-jump{top:68px}}
@media(max-width:620px){.legacy-jump{grid-template-columns:1fr;position:relative;top:auto}.legacy-jump a{padding:13px 18px}.legacy-record{padding:80px 18px}.legacy-features{grid-template-columns:1fr}.legacy-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.legacy-gallery figure{flex:0 0 72vw;min-height:0;scroll-snap-align:start}.legacy-roster{grid-template-columns:1fr}.legacy-roster>div{grid-column:auto}.legacy-hero-art{min-height:380px}.legacy-hero{padding:130px 18px 55px}.legacy-hero h1{font-size:clamp(52px,16vw,78px)}}

/* Parasomnia game record */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.parasomnia-page{--coral:#e4be1b}.parasomnia-page .bo-hero-shade{background:linear-gradient(90deg,#050608f7 0%,#050608bd 44%,transparent 76%),linear-gradient(0deg,#050608 0%,transparent 62%)}.parasomnia-logo{width:min(560px,65vw);max-height:390px}.parasomnia-page .bo-status small,.parasomnia-page .bo-specs small{color:#e4be1b}.parasomnia-page .button.primary{border-color:#e4be1b;color:#e4be1b}.parasomnia-page .bo-lineage{background:linear-gradient(110deg,#181404,#050608 57%)}.parasomnia-page .bo-lineage li{border-top-color:#e4be1b55}.parasomnia-page .bo-specs{background:#e4be1b}.parasomnia-final{background:linear-gradient(#050608b8,#050608f8),url('/assets/parasomnia/shot-0.webp') center/cover}.parasomnia-page .eyebrow{color:#e4be1b}

/* Escape: Malice game record */
.escape-malice-page{--coral:#ff0101}.escape-malice-page .bo-hero-shade{background:linear-gradient(90deg,#050608f8 0%,#050608c8 45%,transparent 76%),linear-gradient(0deg,#050608 0%,transparent 62%)}.malice-logo{width:min(500px,62vw);max-height:260px}.escape-malice-page .bo-status small,.escape-malice-page .bo-specs small,.escape-malice-page .eyebrow{color:#ff3838}.escape-malice-page .button.primary{border-color:#ff0101;color:#ff3838}.malice-rebuild{padding:60px clamp(20px,8vw,150px);background:#930000;color:#fff;display:grid;grid-template-columns:180px minmax(280px,.7fr) 1fr;gap:36px;align-items:start}.malice-rebuild small{font:10px 'IBM Plex Mono',monospace;letter-spacing:.12em}.malice-rebuild h2{margin:0;font-size:clamp(42px,5vw,80px);line-height:.9;text-transform:uppercase}.malice-rebuild p{margin:0 0 18px;font-size:clamp(17px,1.25vw,21px);line-height:1.6}.malice-teaser{padding:120px clamp(20px,6vw,105px);background:#08090b}.malice-video{position:relative;overflow:hidden;margin-top:48px;aspect-ratio:16/9;background:#000}.malice-video video{display:block;width:100%;height:100%;object-fit:cover}.escape-malice-page .bo-lineage{background:linear-gradient(110deg,#210203,#050608 58%)}.escape-malice-page .bo-lineage li{border-top-color:#ff010155}.escape-malice-page .bo-specs{background:#ff0101}.malice-final{background:linear-gradient(#050608b8,#050608f9),url('/assets/escape-malice/shot-3.webp') center/cover}@media(max-width:900px){.malice-rebuild{grid-template-columns:1fr}.malice-teaser{padding:80px 20px}}

/* Slow emissive CRT scan across image-bearing surfaces. The moving band uses
   backdrop filtering to create a restrained refractive/VHS disturbance. */
@keyframes image-scan-sweep{0%,8%{top:-14%;opacity:0}16%{opacity:.36}48%{top:102%;opacity:.2}52%{top:102%;opacity:0}60%{opacity:.22}92%{top:-14%;opacity:.3}100%{top:-14%;opacity:0}}
.hero-media::before,.page-hero::after,.card-art::after,.bo-hero::after,.bo-shot::after,.bo-key-visual::after,.malice-video::after,.image-sweep{content:"";position:absolute;z-index:3;left:-3%;top:-14%;width:106%;height:7%;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent 0%,#b8f5ed0a 24%,#d8ffff8c 49%,#61d8d72b 53%,transparent 100%);box-shadow:0 0 18px #8cece82c,0 2px 0 #d7ffff24;mix-blend-mode:screen;backdrop-filter:contrast(1.16) saturate(1.28) hue-rotate(-5deg) blur(.45px);transform:skewX(-.45deg);animation-name:image-scan-sweep;animation-duration:var(--scan-speed,14s);animation-timing-function:ease-in-out;animation-delay:var(--scan-delay,0s);animation-iteration-count:infinite;animation-direction:var(--scan-direction,normal);will-change:top,opacity}
.hero-media::before{--scan-speed:19s;--scan-delay:-5s}.page-hero::after{z-index:0;--scan-speed:16.5s;--scan-delay:-8s;--scan-direction:reverse}.card-art::after{--scan-speed:14.5s;--scan-delay:-2.2s}.card:nth-child(2n) .card-art::after{--scan-speed:18s;--scan-delay:-10s;--scan-direction:reverse}.card:nth-child(3n) .card-art::after{--scan-speed:12.8s;--scan-delay:-6s}.bo-shot::after{--scan-speed:15.7s;--scan-delay:-3s}.bo-shot:nth-child(2n)::after{--scan-speed:19.5s;--scan-delay:-12s;--scan-direction:reverse}.bo-shot:nth-child(3n)::after{--scan-speed:13.2s;--scan-delay:-8s}.bo-hero::after{--scan-speed:20s;--scan-delay:-7s;--scan-direction:reverse}.bo-key-visual::after{--scan-speed:16.8s;--scan-delay:-11s}.malice-video::after{--scan-speed:17.6s;--scan-delay:-9s;--scan-direction:reverse}.image-sweep{--scan-speed:18.7s;--scan-delay:-4s;--scan-direction:reverse;display:block}.team-photo,.bo-key-visual{position:relative;overflow:hidden}

/* Studio archive, timeline and external signal directory */
.social-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:18px;border-top:1px solid var(--line)}.social-links a{color:#b4bbb2}.archive-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0;border:1px solid var(--line)}.archive-spec div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-spec dt{color:var(--legacy-accent,var(--coral));font:9px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.archive-spec dd{margin:7px 0 0;color:#d9ded5;font-size:13px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.value-grid article{min-height:260px;padding:34px;background:var(--ink-2)}.value-grid small{color:var(--coral);font:10px 'IBM Plex Mono',monospace}.value-grid h3{margin:30px 0 14px;font-size:28px}.value-grid p{color:#aeb5ad;line-height:1.65}.timeline{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:28px}.timeline-tabs{display:grid}.timeline-tabs button{display:grid;grid-template-columns:70px 1fr;align-items:center;padding:14px 16px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);text-align:left;cursor:pointer}.timeline-tabs button:hover,.timeline-tabs button[aria-selected="true"]{background:#111821;color:var(--paper)}.timeline-tabs button[aria-selected="true"] b{color:var(--coral)}.timeline-tabs b,.timeline-tabs span{font-family:'IBM Plex Mono',monospace}.timeline-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px)}.timeline-panel small{color:var(--coral);font:10px 'IBM Plex Mono',monospace}.timeline-panel h3{margin:25px 0 15px;font-size:clamp(34px,4vw,58px)}.timeline-panel p{max-width:700px;color:#b4bbb2;font-size:18px;line-height:1.7}.press-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.press-grid a{min-height:210px;padding:30px;background:var(--ink-2);text-decoration:none}.press-grid a:hover{background:#111821}.press-grid small,.press-grid span{color:var(--coral);font:9px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.press-grid h3{max-width:650px;margin:28px 0;font-size:25px}@media(max-width:900px){.value-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr}.timeline-tabs{grid-template-columns:repeat(3,1fr)}.timeline-tabs button{grid-template-columns:1fr}.press-grid{grid-template-columns:1fr}}@media(max-width:680px){.value-grid,.timeline-tabs{grid-template-columns:1fr}.archive-spec{grid-template-columns:1fr}.press-grid a{min-height:180px}}
