:root { --black:#030507; --white:#edf2f5; --muted:#77818a; --line:rgba(255,255,255,.14); --ice:#b8d9ea; --acid:#d8ff45; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; color:var(--white); background:var(--black); font-family:Inter,"Noto Sans",system-ui,sans-serif; overflow-x:hidden; }
body.intro-active { overflow:hidden; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.noise { position:fixed; inset:0; opacity:.045; pointer-events:none; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
.splash { position:fixed; z-index:100; inset:0; display:grid; place-items:center; overflow:hidden; background:#010203; opacity:1; visibility:visible; transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 1s; }
.splash::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,#101b23 0,transparent 28%),linear-gradient(90deg,transparent 49.95%,rgba(190,220,236,.1) 50%,transparent 50.05%); opacity:0; animation:splashAtmosphere 2.6s .25s forwards; }
.splash-core { position:relative; width:min(850px,82vw); text-align:center; }
.splash-logo { position:relative; display:block; width:100%; opacity:0; transform:scale(.965); filter:brightness(.3); animation:splashLogo 2.25s .2s cubic-bezier(.2,.75,.2,1) forwards; }
.splash-line { position:absolute; z-index:2; top:50%; left:50%; width:0; height:1px; background:#e8f7ff; transform:translate(-50%,-50%); box-shadow:0 0 18px 3px #a6dafa; animation:splashLine 1.65s .65s ease-out forwards; }
.splash-core p { margin:-12px 0 0; color:#6f7c85; font-size:9px; letter-spacing:.52em; text-transform:uppercase; opacity:0; animation:splashText .8s 1.55s forwards; }
.splash-skip { position:absolute; top:32px; right:clamp(24px,5vw,76px); padding:10px 0; color:#5c6870; border:0; background:none; font:500 8px Inter,sans-serif; letter-spacing:.3em; text-transform:uppercase; cursor:pointer; transition:color .25s; }
.splash-skip:hover { color:#dfe8ed; }
.splash-credit { position:absolute; bottom:38px; left:50%; transform:translateX(-50%); color:#69757d; font-size:9px; letter-spacing:.38em; text-transform:uppercase; white-space:nowrap; opacity:0; animation:splashText .8s 1.75s forwards; }
body.intro-complete .splash { opacity:0; visibility:hidden; pointer-events:none; }
@keyframes splashLogo { 0%{opacity:0;transform:scale(.965);filter:brightness(.25)} 45%{opacity:1;filter:brightness(.65)} 72%{filter:brightness(1.35)} 100%{opacity:1;transform:scale(1);filter:brightness(.94)} }
@keyframes splashLine { 0%{width:0;opacity:0} 25%{opacity:1} 65%{width:92%;opacity:.9} 100%{width:15%;opacity:0} }
@keyframes splashText { to{opacity:1} }
@keyframes splashAtmosphere { to{opacity:1} }
.site-header { position:fixed; z-index:30; inset:0 0 auto; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,76px); border-bottom:1px solid rgba(255,255,255,.09); background:linear-gradient(#030507ed,rgba(3,5,7,.45)); backdrop-filter:blur(14px); transition:opacity .8s .25s,transform .8s .25s; }
body.intro-active .site-header { opacity:0; transform:translateY(-18px); }
.brand { display:flex; width:150px; flex-direction:column; align-items:stretch; justify-content:center; gap:1px; }
.wordmark { display:block; width:150px; height:31px; overflow:hidden; }
.wordmark img { width:100%; height:100%; object-fit:contain; }
.brand small { display:block; width:100%; margin:-2px 0 0; color:#707b83; font:500 7px/1 Inter,sans-serif; letter-spacing:.38em; text-align:center; text-indent:.38em; text-transform:uppercase; }
.header-actions { display:flex; align-items:center; gap:34px; }
nav { display:flex; gap:34px; font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
nav a { color:#818990; transition:.25s; }
nav a:hover, nav a.active { color:#fff; }
.language-control { position:relative; z-index:45; display:flex; align-items:center; direction:ltr; }
.language-control select { width:154px; height:40px; padding:0 12px; color:#aab3b9; border:1px solid rgba(255,255,255,.16); border-radius:0; outline:0; background:#070a0d; font:500 9px/1 Inter,sans-serif; letter-spacing:.08em; cursor:pointer; }
.language-trigger { position:relative; width:154px; height:40px; padding:0 11px; display:none; grid-template-columns:26px minmax(0,1fr) 15px; align-items:center; gap:9px; color:#c6ced3; border:1px solid rgba(255,255,255,.16); background:linear-gradient(105deg,rgba(255,255,255,.045),transparent 58%),#070a0d; box-shadow:inset 2px 0 0 rgba(216,255,69,.72); font:500 9px/1 Inter,sans-serif; letter-spacing:.07em; text-align:left; cursor:pointer; transition:border-color .25s,background .25s; }
.language-control.language-enhanced select { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.language-control.language-enhanced .language-trigger { display:grid; }
.language-trigger:hover,.language-trigger:focus-visible,.language-trigger[aria-expanded="true"] { outline:0; border-color:rgba(216,255,69,.62); background:linear-gradient(105deg,rgba(216,255,69,.07),transparent 62%),#080c0f; }
.language-flag { width:26px; height:17px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.2); background:#0b0e11; font-size:20px; line-height:1; filter:saturate(.82) contrast(1.05); }
.language-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.language-chevron { width:8px; height:8px; justify-self:end; border-right:1px solid #7d8991; border-bottom:1px solid #7d8991; transform:rotate(45deg) translate(-2px,2px); transition:transform .25s; }
.language-trigger[aria-expanded="true"] .language-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.language-menu { position:absolute; top:calc(100% + 10px); right:0; width:370px; max-height:min(464px,calc(100vh - 120px)); padding:8px; overflow:auto; grid-template-columns:1fr 1fr; gap:1px; border:1px solid rgba(255,255,255,.18); background:linear-gradient(145deg,rgba(24,38,47,.34),transparent 42%),#05080a; box-shadow:0 28px 70px rgba(0,0,0,.72),inset 0 2px 0 rgba(216,255,69,.5); }
.language-menu:not([hidden]) { display:grid; }
.language-option { min-width:0; height:42px; padding:0 10px; display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:9px; color:#87939a; border:1px solid transparent; background:transparent; font:500 9px/1 Inter,sans-serif; text-align:left; cursor:pointer; transition:color .2s,border-color .2s,background .2s; }
.language-option:hover,.language-option:focus-visible { outline:0; color:#eef3f5; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.045); }
.language-option[aria-selected="true"] { color:#f3f6f7; border-color:rgba(216,255,69,.32); background:linear-gradient(90deg,rgba(216,255,69,.09),transparent); box-shadow:inset 2px 0 0 var(--acid); }
.language-option-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; unicode-bidi:plaintext; }
.language-code { color:#56636b; font-size:7px; letter-spacing:.18em; text-transform:uppercase; }
.menu-toggle { display:none; background:none; border:0; padding:10px; }
.menu-toggle span:not(.sr-only) { display:block; width:22px; height:1px; background:white; margin:6px; }
.hero { min-height:100svh; position:relative; display:grid; place-items:center; overflow:hidden; isolation:isolate; }
.hero-image { position:absolute; inset:-4%; z-index:-3; background:radial-gradient(circle at 50% 42%,#13202a 0,transparent 32%),linear-gradient(180deg,#070a0d,#020304); transform:scale(1.04); }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 50% 48%,transparent 0 14%,rgba(3,5,7,.28) 48%,#030507 100%),linear-gradient(0deg,#030507 0,transparent 22%); }
.hero-content { width:min(920px,88vw); min-height:53vh; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; margin-top:5vh; }
body.intro-active .hero-content { opacity:0; transform:translateY(18px); }
body.intro-complete .hero-content { transition:opacity 1s .35s,transform 1s .35s; }
.project-signature { position:relative; z-index:1; display:block; width:clamp(300px,40vw,520px); height:clamp(76px,8vw,106px); margin:0 0 -3px; object-fit:cover; object-position:center; mix-blend-mode:screen; filter:brightness(.88) contrast(1.08); }
.hero-content h1 { width:min(860px,88vw); margin:0 0 6px; }
.hero-content h1 img { display:block; width:100%; }
.eyebrow { margin:0 0 22px; color:#91a1ab; text-transform:uppercase; font-size:10px; font-weight:600; letter-spacing:.36em; }
.hero-line { margin:0 0 62px; font:400 clamp(10px,1vw,13px)/1 Inter,sans-serif; letter-spacing:.58em; color:#8b969e; }
.scroll-link { display:inline-flex; flex-direction:column; align-items:center; gap:16px; text-transform:uppercase; letter-spacing:.28em; font-size:9px; color:#aab3ba; }
.scroll-link i { display:block; width:1px; height:45px; background:linear-gradient(#fff,transparent); animation:pulse 2s infinite; }
@keyframes pulse { 50% { transform:scaleY(.45); opacity:.4; transform-origin:top; } }
.catalog { position:relative; min-height:100vh; padding:150px clamp(22px,5vw,76px) 170px; display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(42px,6vw,96px); border-top:1px solid var(--line); background:radial-gradient(circle at 20% 17%,rgba(29,54,68,.32),transparent 24%),#030507; }
.catalog-rail { position:sticky; top:130px; height:calc(100vh - 170px); min-height:480px; display:flex; flex-direction:column; align-self:start; border-right:1px solid var(--line); }
.rail-label { margin:0 0 38px; color:#6f7b83; font-size:8px; font-weight:600; letter-spacing:.38em; text-transform:uppercase; }
.catalog-tabs { display:flex; flex-direction:column; }
.catalog-tab { position:relative; width:100%; min-height:108px; padding:22px 25px 22px 0; display:grid; grid-template-columns:35px 1fr; gap:15px; align-items:start; color:#768087; border:0; border-top:1px solid rgba(255,255,255,.11); background:none; text-align:left; cursor:pointer; transition:color .3s,padding .3s,background .3s; }
.catalog-tab:last-child { border-bottom:1px solid rgba(255,255,255,.11); }
.catalog-tab::after { content:""; position:absolute; right:-1px; top:0; bottom:0; width:2px; background:var(--acid); transform:scaleY(0); transition:transform .3s; }
.catalog-tab:hover { color:#cdd4d8; padding-left:6px; }
.catalog-tab.active { color:#fff; background:linear-gradient(90deg,rgba(255,255,255,.035),transparent); }
.catalog-tab:focus { outline:0; }
.catalog-tab:focus-visible { outline:1px solid rgba(216,255,69,.72); outline-offset:-2px; }
.catalog-tab.active::after { transform:scaleY(1); }
.tab-index { color:#566169; font-size:8px; letter-spacing:.16em; }
.catalog-tab strong { display:block; margin:-3px 0 10px; font:500 20px/1 Rajdhani,Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.catalog-tab small { display:block; max-width:135px; color:#606d75; font:500 8px/1.5 Inter,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.rail-meta { margin:auto 0 0; color:#4f5a62; font:500 8px/1.8 Inter,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.rail-meta span { color:#75828a; }
.catalog-stage { min-width:0; }
.catalog-panel { animation:panelIn .55s cubic-bezier(.2,.8,.2,1); }
.catalog-panel[hidden] { display:none; }
@keyframes panelIn { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin:0 auto 54px; max-width:1400px; border-bottom:1px solid var(--line); }
.section-heading h1 { margin:0 0 25px; font:400 clamp(46px,7vw,86px)/.9 Inter,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
.section-heading .eyebrow { margin-bottom:18px; }
.section-note { max-width:300px; margin:0 0 27px; color:#68747c; font-size:10px; line-height:1.65; letter-spacing:.04em; text-align:right; }
.game-grid,.vault-grid { max-width:1180px; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.game-card,.vault-category { position:relative; min-height:clamp(300px,29vw,390px); overflow:hidden; background:#0a0d0f; isolation:isolate; border:1px solid rgba(255,255,255,.08); }
.game-card { cursor:pointer; }
.card-art { position:absolute; inset:0; z-index:-3; transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s; }
.game-card:hover .card-art,.game-card:focus .card-art { transform:scale(1.04); filter:brightness(1.12); }
.card-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 35%,rgba(0,0,0,.88)); }
.card-top { display:flex; justify-content:space-between; padding:18px; color:rgba(255,255,255,.7); font-size:8px; letter-spacing:.22em; text-transform:uppercase; }
.card-copy { position:absolute; inset:auto 22px 22px; }
.card-copy p { margin:0 0 10px; color:#b8c0c6; font-size:8px; letter-spacing:.24em; text-transform:uppercase; }
.card-copy h2 { margin:0 0 17px; max-width:100%; font:400 clamp(31px,3.2vw,47px)/.88 Inter,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
.horizon .card-copy h2 { font-size:clamp(28px,2.9vw,42px); line-height:.92; }
.card-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.status { color:#dffb7b; border:1px solid rgba(216,255,69,.42); background:rgba(12,18,8,.72); padding:6px 8px; font-size:7px; font-weight:600; letter-spacing:.17em; line-height:1; text-transform:uppercase; white-space:nowrap; }
.card-link { font-size:9px; letter-spacing:.26em; text-transform:uppercase; }.card-link i{font-style:normal;margin-left:8px;color:var(--acid)}
.trust .card-art { background:url('assets/images/tusk-riot-poster-v8.png') 67% center/cover; }
.horizon .card-art { background:url('assets/images/conflict-at-horizon-poster-v6.png') center/cover; }
.vault-category::before { content:""; position:absolute; z-index:3; top:0; left:0; width:34%; height:2px; background:linear-gradient(90deg,var(--world-accent,var(--acid)),transparent); opacity:.84; transition:width .5s ease,opacity .5s ease; pointer-events:none; }
.vault-category::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.02),transparent 38%,rgba(0,0,0,.96)); pointer-events:none; }
.category-media { position:absolute; inset:0; z-index:-3; overflow:hidden; background:#0a0d0f; }
.category-media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:saturate(.64) contrast(1.06) brightness(.92); transform:scale(1.01); transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s; }
.vault-category:hover { border-color:color-mix(in srgb,var(--world-accent,var(--acid)) 42%,rgba(255,255,255,.12)); }
.vault-category:hover::before { width:68%; opacity:1; }
.vault-category:hover .category-media img { transform:scale(1.04); filter:saturate(.88) contrast(1.11) brightness(1.02); }
.category-index { position:absolute; top:18px; left:18px; z-index:2; color:rgba(255,255,255,.7); font-size:8px; letter-spacing:.22em; text-transform:uppercase; }
.category-copy { position:absolute; inset:auto 22px 22px; z-index:2; }
.vault-category h2 { margin:0 0 16px; max-width:100%; font:400 clamp(29px,3vw,44px)/.9 Inter,sans-serif; letter-spacing:-.05em; text-transform:uppercase; }
.vault-category h2.world-title-long { font-size:clamp(27px,2.75vw,40px); line-height:.91; }
.vault-category p.world-kicker { max-width:350px; margin:0 0 10px; color:#bdc5ca; font-size:7px; line-height:1.4; letter-spacing:.27em; text-transform:uppercase; }
.world-meta { min-height:24px; padding-top:11px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; border-top:1px solid rgba(255,255,255,.17); color:#9ba6ac; font:600 7px/1.35 Inter,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.world-status { color:var(--world-accent,var(--acid)); white-space:nowrap; }
.world-meta>span:last-child { text-align:right; }
.world-command { --world-accent:#7bc7ff; }
.world-heroes { --world-accent:#ff725d; }
.world-domotic { --world-accent:#e8bd77; }
.world-printball { --world-accent:#b782ff; }
.world-science { --world-accent:#66e6f1; }
.world-paleohaven { --world-accent:#86d68d; }
.access-banner { position:relative; margin-top:34px; min-height:250px; display:grid; grid-template-columns:minmax(215px,260px) minmax(0,1fr) auto; align-items:stretch; gap:30px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:linear-gradient(115deg,rgba(27,46,56,.18),transparent 54%),#070a0c; }
.access-banner::before { content:""; position:absolute; z-index:3; top:0; left:0; width:38%; height:2px; background:linear-gradient(90deg,var(--acid),rgba(216,255,69,0)); pointer-events:none; }
.access-visual { position:relative; min-height:250px; overflow:hidden; border-right:1px solid rgba(255,255,255,.11); background:#040607; }
.access-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 45%,rgba(7,10,12,.58)),linear-gradient(0deg,rgba(3,5,7,.48),transparent 55%); pointer-events:none; }
.access-visual img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:contrast(1.06) saturate(.78); transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s; }
.access-banner:hover .access-visual img { transform:scale(1.035); filter:contrast(1.1) saturate(.9); }
.access-visual>span { position:absolute; z-index:2; left:18px; bottom:16px; color:#a4afb5; font:600 7px/1 Inter,sans-serif; letter-spacing:.24em; }
.access-copy { align-self:center; padding:34px 0; }
.access-copy .eyebrow { margin-bottom:15px; }
.access-copy h2 { margin:0 0 10px; font:500 clamp(28px,3vw,46px)/.95 Rajdhani,Inter,sans-serif; letter-spacing:.03em; text-transform:uppercase; }
.access-copy>p:last-child { max-width:500px; margin:0; color:#7c8991; font-size:10px; line-height:1.65; }
.access-button { min-width:160px; height:50px; margin:auto 28px auto 0; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:25px; color:#dce4e8; border:1px solid rgba(255,255,255,.2); background:transparent; font:600 8px/1 Inter,sans-serif; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:.3s; }
.access-button:hover { color:#050704; border-color:var(--acid); background:var(--acid); }
.access-button i { font-style:normal; font-size:15px; }
.vault-empty { margin-top:20px; min-height:135px; padding:28px 32px; display:flex; align-items:center; gap:28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.vault-empty>span { color:#354047; font:500 42px/1 Rajdhani,sans-serif; }
.vault-empty p { margin:0; color:#5d6971; font-size:9px; line-height:1.75; letter-spacing:.04em; }
.vault-empty strong { color:#a7b1b7; font-weight:500; text-transform:uppercase; letter-spacing:.18em; }
.studio { min-height:70vh; display:flex; flex-direction:column; justify-content:center; padding:100px 8vw; border-top:1px solid var(--line); background:radial-gradient(circle at 75% 50%,#0b1a22,transparent 32%); }
.manifesto { margin:0; font:300 clamp(56px,9vw,128px)/.86 Inter,sans-serif; letter-spacing:-.065em; text-transform:uppercase; }
.contact { min-height:72vh; padding:clamp(100px,12vw,170px) 8vw; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.72fr); align-items:center; gap:8vw; background:radial-gradient(circle at 78% 50%,rgba(20,38,49,.55),transparent 26%); }
.contact-heading .eyebrow { margin-bottom:34px; }
.contact-title { margin:0; font:300 clamp(58px,8vw,118px)/.84 Inter,sans-serif; letter-spacing:-.065em; text-transform:uppercase; }
.x-contact { position:relative; min-height:190px; padding:32px 34px; border:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:25px; background:rgba(255,255,255,.015); overflow:hidden; transition:border-color .35s,background .35s,transform .35s; }
.x-contact::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,transparent 25%,rgba(174,216,238,.08),transparent 72%); transform:translateX(-100%); transition:transform .65s ease; }
.x-contact:hover { border-color:rgba(213,237,249,.48); background:rgba(153,206,231,.04); transform:translateY(-3px); }
.x-contact:hover::before { transform:translateX(100%); }
.x-mark { position:relative; display:grid; place-items:center; width:72px; height:72px; border:1px solid rgba(255,255,255,.22); border-radius:50%; font:300 27px/1 Inter,sans-serif; }
.x-copy { position:relative; display:flex; flex-direction:column; gap:9px; }
.x-copy small { color:#7d8991; font:500 8px/1 Inter,sans-serif; letter-spacing:.32em; text-transform:uppercase; }
.x-copy strong { color:#e5eaed; font:400 clamp(16px,1.7vw,23px)/1.1 Inter,sans-serif; letter-spacing:-.02em; }
.x-copy em { color:#68757d; font:normal 500 8px/1 Inter,sans-serif; letter-spacing:.18em; }
.x-arrow { position:relative; color:#9caab2; font:300 21px/1 Inter,sans-serif; transition:transform .3s,color .3s; }
.x-contact:hover .x-arrow { color:white; transform:translate(3px,-3px); }
footer { min-height:120px; padding:0 6vw; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:#69737a; font-size:9px; letter-spacing:.25em; }
footer span:last-child { text-align:right; }
footer strong { color:#a7b0b6; font:400 11px/1 Inter,sans-serif; letter-spacing:.38em; text-align:center; text-transform:uppercase; }
.access-dialog { width:min(720px,calc(100vw - 34px)); max-height:calc(100vh - 34px); padding:46px; color:var(--white); border:1px solid rgba(255,255,255,.2); background:#070a0d; box-shadow:0 40px 120px #000; }
.access-dialog::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(10px); }
.access-dialog h2 { margin:0 0 32px; font:500 clamp(38px,6vw,64px)/.9 Rajdhani,Inter,sans-serif; letter-spacing:-.03em; text-transform:uppercase; }
.dialog-close { position:absolute; top:18px; right:20px; width:38px; height:38px; color:#89959c; border:1px solid rgba(255,255,255,.12); background:none; font-size:22px; cursor:pointer; }
.access-dialog ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.access-dialog li { padding:18px 0; display:grid; grid-template-columns:48px 1fr; border-bottom:1px solid var(--line); }
.access-dialog li>span { color:#59656d; font-size:9px; letter-spacing:.2em; }
.access-dialog li p { margin:0; }
.access-dialog li strong { display:block; margin-bottom:6px; font:500 15px/1.2 Inter,sans-serif; }
.access-dialog li small { display:block; color:#68757d; font-size:9px; line-height:1.55; }
.license-summary { margin:26px 0 14px; color:#89969e; font-size:10px; line-height:1.7; }
.license-summary span:first-child { color:var(--acid); }
.license-link { font-size:8px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.legal-page { background:radial-gradient(circle at 75% 5%,#11202a,transparent 25%),var(--black); }
.legal-header { height:100px; padding:0 clamp(24px,6vw,90px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.legal-back { color:#89959c; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.legal-shell { width:min(1160px,88vw); margin:0 auto; padding:130px 0 150px; }
.legal-shell>h1 { margin:0 0 38px; font:400 clamp(52px,8vw,106px)/.82 Inter,sans-serif; letter-spacing:-.07em; }
.legal-lead { max-width:720px; margin:0 0 80px; color:#8b979e; font-size:14px; line-height:1.8; }
.legal-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.legal-grid section { min-height:250px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.legal-grid section>span { color:#526069; font-size:9px; letter-spacing:.22em; }
.legal-grid h2 { margin:55px 0 16px; font:500 22px/1 Rajdhani,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.legal-grid p,.legal-italian p:last-child { margin:0; color:#79868e; font-size:11px; line-height:1.75; }
.legal-italian { margin-top:80px; max-width:760px; padding-left:28px; border-left:1px solid var(--acid); }
[dir="rtl"] .catalog-rail { border-right:0; border-left:1px solid var(--line); }
[dir="rtl"] .catalog-tab { padding:22px 0 22px 25px; text-align:right; }
[dir="rtl"] .catalog-tab::after { right:auto; left:-1px; }
[dir="rtl"] .section-note { text-align:left; }
[dir="rtl"] .card-copy { text-align:right; }
[dir="rtl"] .world-meta>span:last-child { text-align:left; }
[dir="rtl"] .language-menu { right:auto; left:0; }
[dir="rtl"] .legal-italian { padding-left:0; padding-right:28px; border-left:0; border-right:1px solid var(--acid); }
.reveal { opacity:0; transform:translateY(35px); transition:opacity .9s,transform .9s; }.reveal.visible{opacity:1;transform:none}
@media(max-width:1060px){
  .header-actions{gap:18px}
  nav{gap:22px}
  .catalog{grid-template-columns:190px minmax(0,1fr);gap:35px}
  .game-card,.vault-category{min-height:320px}
  .access-banner{grid-template-columns:180px minmax(0,1fr);gap:0}
  .access-visual{grid-row:1/3}
  .access-copy{padding:28px 24px 12px}
  .access-button{grid-column:2;margin:0 24px 24px;width:max-content}
  .card-top{padding:16px}
  .status{white-space:normal;text-align:center;line-height:1.25}
}
@media(max-width:760px){
  .site-header{height:76px}
  .brand,.wordmark{width:125px}
  .wordmark{height:28px}
  .brand small{font-size:6px;letter-spacing:.32em;text-indent:.32em}
  .menu-toggle{display:block;order:3}
  .header-actions{margin-left:auto}
  .language-control{margin-right:8px}
  .language-control select,.language-trigger{width:118px;height:38px}
  .language-trigger{padding:0 9px;grid-template-columns:24px minmax(0,1fr) 13px;gap:7px}
  .language-flag{width:24px;height:16px;font-size:18px}
  .language-name{font-size:8px}
  .language-menu,[dir="rtl"] .language-menu{position:fixed;top:68px;right:16px;left:16px;width:auto;max-height:calc(100svh - 86px);grid-template-columns:1fr}
  nav{position:absolute;top:76px;left:0;right:0;padding:28px;flex-direction:column;background:#030507;border-bottom:1px solid var(--line);transform:translateY(-150%);transition:.35s;z-index:-1}
  nav.open{transform:none}
  .project-signature{width:280px;height:66px;margin-bottom:0}
  .hero-line{letter-spacing:.35em}
  .splash-credit{font-size:8px;letter-spacing:.28em}
  .catalog{padding:104px 20px 110px;display:block}
  .catalog-rail,[dir="rtl"] .catalog-rail{position:relative;top:auto;height:auto;min-height:0;margin-bottom:54px;border:0}
  .rail-label{margin-bottom:18px}
  .catalog-tabs{display:grid;grid-template-columns:1fr 1fr}
  .catalog-tab,[dir="rtl"] .catalog-tab{min-height:92px;padding:18px 14px;grid-template-columns:24px 1fr;border-bottom:1px solid rgba(255,255,255,.11)}
  .catalog-tab:last-child{border-left:1px solid rgba(255,255,255,.11)}
  .catalog-tab::after,[dir="rtl"] .catalog-tab::after{top:auto;left:0;right:0;bottom:-1px;width:auto;height:2px;transform:scaleX(0)}
  .catalog-tab.active::after{transform:scaleX(1)}
  .catalog-tab strong{font-size:17px}
  .catalog-tab small{font-size:7px}
  .rail-meta{display:none}
  .game-grid,.vault-grid{grid-template-columns:1fr}
  .game-card,.vault-category{min-height:390px}
  .section-heading{align-items:start;flex-direction:column;gap:0}
  .section-heading .eyebrow{order:0}
  .section-note,[dir="rtl"] .section-note{margin-top:-12px;text-align:left}
  .card-copy,.category-copy{inset:auto 24px 28px}
  .card-copy h2,.vault-category h2{font-size:39px}
  .horizon .card-copy h2{font-size:34px}
  .category-index{top:18px;left:18px}
  .access-banner{grid-template-columns:1fr;gap:0}
  .access-visual{grid-row:auto;min-height:205px;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  .access-copy{padding:28px 24px 12px}
  .access-button{grid-column:1;margin:8px 24px 28px;width:calc(100% - 48px)}
  .manifesto{line-height:.82}
  .contact{min-height:auto;grid-template-columns:1fr;padding:110px 24px;gap:64px}
  .contact-title{font-size:clamp(52px,16vw,78px)}
  .x-contact{min-height:150px;padding:25px 22px;gap:17px}
  .x-mark{width:54px;height:54px;font-size:21px}
  .x-copy small{letter-spacing:.2em}
  .x-arrow{font-size:17px}
  .access-dialog{padding:38px 24px}
  .legal-header{height:82px}
  .legal-back{font-size:7px}
  .legal-shell{padding:90px 0 110px}
  .legal-grid{grid-template-columns:1fr}
  .legal-lead{font-size:12px}
  .legal-grid section{min-height:220px}
  footer{min-height:145px;grid-template-columns:1fr 1fr;gap:24px}
  footer strong{grid-column:1/-1;grid-row:1;font-size:9px}
  footer span{grid-row:2}
  .hero-image{inset:0;transform:none!important}
  .category-media img{object-position:center}
  .contact{grid-template-columns:minmax(0,1fr)}
  .contact-heading,.x-contact{min-width:0}
  .contact-title{font-size:clamp(40px,11vw,58px)}
}
@media(max-width:360px){
  .site-header{padding:0 12px}
  .brand,.wordmark{width:108px}
  .wordmark{height:25px}
  .brand small{font-size:5px;letter-spacing:.25em;text-indent:.25em}
  .language-control{margin-right:3px}
  .language-control select,.language-trigger{width:108px}
  .language-trigger{padding:0 7px;grid-template-columns:22px minmax(0,1fr) 10px;gap:5px}
  .language-flag{width:22px;height:15px;font-size:17px}
  .language-name{font-size:7px}
  .menu-toggle{padding:7px}
  .menu-toggle span:not(.sr-only){width:20px;margin:5px}
  .language-menu,[dir="rtl"] .language-menu{right:12px;left:12px}
  .vault-category h2{font-size:34px}
  .contact-title{font-size:34px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.splash{display:none}body.intro-active{overflow:auto}.site-header,.hero-content{opacity:1!important;transform:none!important}}
/* GENESYS focus pass: video-to-game first, with the 3D vault and access promo removed from the public path. */
.catalog-tab[data-panel="vault"], #vault-panel, .access-banner[hidden] { display: none !important; }

/* September 2026: project states and subtle collection polish. */
.brand small { color:#9ca8af; font-size:6.5px; letter-spacing:.19em; text-indent:.19em; white-space:nowrap; }
.section-heading h2 { margin:0 0 24px; font:500 clamp(30px,3vw,46px)/1 Inter,sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.game-card { cursor:default; transition:border-color .35s,box-shadow .35s; --card-accent:#dffb7b; }
.game-card::after { content:""; position:absolute; inset:0 auto auto 0; width:28%; height:1px; background:linear-gradient(90deg,var(--card-accent),transparent); transition:width .6s; pointer-events:none; }
.game-card:hover { border-color:#ffffff38; box-shadow:0 12px 36px #0005; }
.game-card:hover::after { width:72%; }
.echoes .card-art { background:url('assets/images/house-of-echoes-poster-v6.png') 48% center/cover; }
.final-k .card-art { background:url('assets/images/final-k-cover.png') center/cover; }
.game-card .card-shade { background:linear-gradient(180deg,#0002,transparent 20%,#0008 52%,#000f); }
.game-card .card-copy h2 { margin-bottom:16px; }
.game-card .card-copy .project-note { margin:13px 0 0; max-width:340px; color:#b4bec5; font:400 11px/1.65 Inter,sans-serif; letter-spacing:.01em; text-transform:none; min-height:37px; }
.state-experimental { --card-accent:#efc489; }
.state-planned { --card-accent:#a9bbc8; }
.game-card .status { color:var(--card-accent); border-color:color-mix(in srgb,var(--card-accent) 38%,transparent); background:#080d12ba; line-height:1.3; white-space:normal; }
@media (max-width:600px) { .brand small { font-size:5.5px; letter-spacing:.1em; } .game-card .card-copy .project-note {font-size:12px;} }
@media (prefers-reduced-motion:reduce) { .game-card,.game-card::after,.game-card .card-art { transition:none; } .game-card:hover .card-art {transform:none;} }
.echoes .card-art { background-image:url('assets/images/house-of-echoes-poster-v6.png'); background-size:auto 160%; background-position:50% 85%; }

/* Updated concept covers: preserve subject visibility above title. */
.trust .card-art { background-image:url('assets/images/tusk-riot-poster-v8.png'); background-position:center top; }
.horizon .card-art { background-image:url('assets/images/conflict-at-horizon-poster-v6.png'); background-position:center top; }
.trust .card-shade,.horizon .card-shade {background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 35%,rgba(0,0,0,.35) 57%,rgba(0,0,0,.92) 82%,#000);}
/* September 23: typography, platform catalog, Assets and studio footer. */
.project-label{margin:0 0 22px;padding-left:.72em;font:500 clamp(30px,4.2vw,52px)/1.3 Orbitron,Inter,sans-serif;letter-spacing:.72em;color:#b7cbd5;}
#assets,#contact{scroll-margin-top:90px}
.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin:-20px 0 14px;}
.platform-filters{display:flex;flex-wrap:wrap;gap:6px}.platform-filters button{color:#aab8c0;border:1px solid #ffffff20;background:#0a1014;padding:12px 15px;font:500 11px Inter,sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.platform-filters button[aria-pressed=true]{background:#d8ff4515;color:#e4ff91;border-color:#d8ff4570}.platform-filters button:hover{border-color:#a6bbc5}
.sort-control{display:flex;align-items:center;gap:10px;color:#8598a2;font-size:10px}.sort-control select{padding:11px 28px 11px 12px;border:1px solid #ffffff26;background:#0a1014;color:#dce5ea;font:400 11px Inter,sans-serif;max-width:210px;color-scheme:dark}.results-count{margin:0 0 24px;font-size:10px;color:#9aaab3;letter-spacing:.08em}
.game-card[hidden]{display:none!important}.game-card{min-height:420px}.game-card .card-copy{bottom:68px}.game-card .card-copy .project-note{min-height:36px}.platforms{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:14px;color:#c9d7df}.platform-icon{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.05em}.platform-icon svg{width:20px;height:20px}.seventh .card-art{background:url('assets/images/7th-day-key-art.png') center center/cover}.seventh .card-shade{background:linear-gradient(180deg,#0001,transparent 25%,#0009 60%,#000 95%)}.card-top span{font-size:8px}.empty-games{color:#a9bac5;padding:40px;border:1px solid #ffffff20}
.assets-section{padding:30px clamp(24px,6vw,90px) 110px}.assets-feature{position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:420px;max-width:1440px;margin:auto;border:1px solid #a1bed538;background:radial-gradient(ellipse at 80% 50%,#16304477,transparent 55%),#080d12;overflow:hidden;transition:border-color .3s}.assets-feature:hover{border-color:#b8d9ea99}.assets-copy{position:relative;z-index:2;padding:64px clamp(26px,5vw,70px)}.assets-copy h2{margin:0 0 24px;font:500 clamp(34px,4.5vw,66px)/.98 Inter,sans-serif;letter-spacing:-.045em}.assets-copy h2 span{display:block;font-weight:300;color:#a7c7db}.assets-copy>p:not(.eyebrow){max-width:360px;color:#a3b3bf;font-size:14px;line-height:1.7}.assets-cta{display:inline-flex;gap:34px;align-items:center;margin-top:26px;padding-bottom:12px;border-bottom:1px solid #a4cce86b;font-size:11px;letter-spacing:.08em}.assets-cta>span:last-child{font-size:22px}.assets-visual{position:relative;display:grid;place-items:center;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000 25%)}.asset-monogram{font:300 clamp(150px,20vw,290px)/1 Inter,sans-serif;color:#bfd7e810;text-shadow:0 0 60px #a1cde30d;letter-spacing:-.1em;position:relative}.asset-monogram>span{display:block;font:500 12px/1 Inter,sans-serif;letter-spacing:.55em;text-align:center;color:#b3cbd6a6}.asset-orbit{position:absolute;width:70%;aspect-ratio:1;border:1px solid #b4d4e933;transform:rotate(45deg);box-shadow:0 0 0 40px #a3d5ef04,0 0 0 80px #a3d5ef03}.asset-coordinate{position:absolute;bottom:28px;right:30px;font-size:9px;color:#728895;letter-spacing:.25em}
.contact{min-height:0;padding:90px clamp(24px,8vw,120px);grid-template-columns:1.1fr 1fr;gap:70px;background:linear-gradient(135deg,#0a1017,#030507 65%)}.contact-title{font:400 clamp(42px,5.5vw,76px)/1.05 Inter,sans-serif;letter-spacing:-.055em;text-transform:none}.contact-heading .eyebrow{margin-bottom:24px}.contact-description{max-width:430px;font-size:14px;line-height:1.85;color:#97a9b5;margin:25px 0 0}.contact-channel{display:flex;flex-direction:column;justify-content:space-between;padding:28px 32px;min-height:235px;border:1px solid #ffffff26;background:#ffffff03;transition:background .3s,border-color .3s}.contact-channel:hover{border-color:#b8d9ea80;background:#b8d9ea08}.channel-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;color:#91a9b8}.channel-top>span:last-child{font-size:24px;line-height:1}.channel-name{display:flex;align-items:center;gap:25px;font-size:48px;font-weight:300}.channel-name>span{font-size:18px;font-weight:400;letter-spacing:-.02em}.channel-handle{font-size:11px;letter-spacing:.1em;color:#91a2ad}
.site-footer{display:block;padding:50px clamp(24px,6vw,90px) 26px;background:#020406;letter-spacing:normal}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:44px}.footer-brand{display:flex;flex-direction:column;gap:8px;width:160px}.footer-brand img{width:160px}.footer-brand>span{font-size:7px;letter-spacing:.22em;text-align:center!important;color:#869eae}.footer-links{display:flex;gap:26px;font-size:11px;color:#b0bec7}.footer-links a:hover,.back-top:hover{color:white}.back-top{font-size:10px;color:#a0b3bf}.footer-bottom{border-top:1px solid #ffffff13;padding-top:24px;display:flex;justify-content:space-between;gap:25px;align-items:center;color:#7d919e}.footer-bottom p{margin:0;font-size:10px;line-height:1.8}.footer-bottom strong{font:500 10px/1.8 Inter,sans-serif;letter-spacing:normal;text-transform:none;color:#a0b2be}.footer-bottom p>span{display:block;text-align:left!important}.footer-signature{font-size:8px;letter-spacing:.2em;color:#7f939e}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(max-width:1100px){.catalog{grid-template-columns:150px minmax(0,1fr);gap:35px;padding-top:100px}.game-card .card-copy h2{font-size:32px}.catalog-tools{align-items:flex-start}.header-actions{gap:20px}#site-nav{gap:22px}}
@media(max-width:760px){.project-label{font-size:clamp(20px,5.6vw,34px);letter-spacing:.55em;padding-left:.55em;margin-bottom:26px}.catalog{display:block;padding:85px 20px}.game-card{min-height:440px}.game-card .card-copy h2{font-size:39px}.catalog-tools{margin-top:0;gap:16px}.sort-control{width:100%;justify-content:space-between}.platform-filters{width:100%}.platform-filters button{flex:1;padding:12px 9px}.assets-section{padding:0 20px 70px}.assets-feature{grid-template-columns:1fr;min-height:0}.assets-copy{padding:40px 26px}.assets-visual{min-height:210px;mask-image:linear-gradient(180deg,transparent,#000 30%)}.asset-orbit{width:170px}.asset-monogram{font-size:160px}.contact{grid-template-columns:1fr;padding:65px 24px;gap:35px}.contact-channel{min-height:205px}.footer-main{flex-wrap:wrap;gap:30px}.footer-links{order:3;width:100%;justify-content:space-between;gap:15px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:15px}.site-footer strong,.site-footer span{grid-row:auto;grid-column:auto}.site-footer{padding-top:35px}.game-card .card-copy .project-note{font-size:12px}.platforms{bottom:20px}}
@media(prefers-reduced-motion:reduce){.assets-feature,.contact-channel{transition:none}}
.assets-feature{min-height:460px;background:linear-gradient(90deg,#03070bee 0%,#03070b9c 37%,#03070b08 65%),url('assets/images/genesys-assets-gallery.png') center/cover}.assets-visual{background:none;mask-image:none}.asset-monogram,.asset-orbit{display:none}.asset-coordinate{color:#d5e5f0}.assets-copy{align-self:center}.assets-copy h2{font-size:clamp(38px,4.5vw,66px)}
@media(max-width:760px){.assets-feature{background:linear-gradient(180deg,#03070b 3%,#03070bf0 42%,#03070b00 75%),url('assets/images/genesys-assets-gallery.png') 72% bottom/auto 100%;}.assets-visual{min-height:210px}.assets-copy{padding-bottom:15px}}

/* Shared text tracks keep every card aligned across titles and languages. */
.game-card .card-copy{--title-size:clamp(31px,3.2vw,47px);display:grid;grid-template-rows:32px calc(var(--title-size) * 2.4) 40px;gap:0;}
.game-card .card-copy>p{margin:0;align-self:start;line-height:1.5;}
.game-card .card-copy h2{font-size:var(--title-size);line-height:1; margin:0;align-self:start;}
.game-card .card-meta{height:40px;align-items:flex-start;}
@media(max-width:1100px){.game-card .card-copy{--title-size:32px}}
@media(max-width:760px){.game-card .card-copy{--title-size:39px}}

/* More room for the Assets collection and its planned plugin workflow. */
.assets-feature{min-height:540px}.assets-copy>p:not(.eyebrow){max-width:510px;font-size:15px;line-height:1.75}.assets-cta{margin-top:22px}@media(max-width:760px){.assets-feature{min-height:0}.assets-copy>p:not(.eyebrow){font-size:14px}}

@media(max-width:760px){.assets-feature{background:linear-gradient(180deg,#03070b 0%,#03070bf5 62%,#03070b00 88%),url('assets/images/genesys-assets-gallery.png') 72% bottom/auto 100%}}

/* September 26: original poster cards, custom GENESYS wordmark, mobile Assets art. */
.minuus .card-art{background:url('assets/images/minuus-poster.jpeg') center top/cover}
.mini-kart .card-art{background:url('assets/images/mini-kart-poster.jpeg') center top/cover}
.aeterna-flamma .card-art{background:url('assets/images/aeterna-flamma-poster.jpeg') center top/cover}
.wild-drive .card-art{background:url('assets/images/wild-drive-poster.jpeg') center top/cover}
.echoes-at-sea .card-art{background:url('assets/images/echoes-at-sea-poster.jpeg') center top/cover}
.roll-and-clash .card-art{background:url('assets/images/roll-and-clash-card-v2.png') center center/cover}
.bomber-one .card-art{background:url('assets/images/bomber-one-poster.jpeg') center top/cover}
.poster-card .card-shade{background:linear-gradient(180deg,#0004,transparent 28%,transparent 54%,#000b 87%,#000e)}.poster-card .card-copy{display:flex;flex-direction:column;gap:9px;bottom:65px}.poster-card .card-copy>p{font-size:9px;text-shadow:0 1px 5px #000}.poster-card .card-copy h2.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.poster-card .card-meta{height:auto}.poster-card .card-top{position:relative;z-index:2;text-shadow:0 1px 5px #000}.poster-card .platforms{z-index:2}.poster-card .card-art{filter:saturate(.88)}.poster-card:hover .card-art{filter:saturate(1.05) brightness(1.08)}
.wordmark{position:relative;height:25px}.wordmark img{position:absolute;left:0;top:50%;width:100%;height:auto;object-fit:initial;transform:translateY(-50%)}.hero-content h1{width:min(1020px,90vw);height:clamp(80px,10vw,120px);overflow:hidden;position:relative}.hero-content h1 img{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}.splash-core{max-height:170px;overflow:hidden}.splash-logo{margin-top:-5%;margin-bottom:-5%}.footer-brand{overflow:hidden}.footer-brand img{display:block;width:160px;height:27px;object-fit:cover;object-position:center}.brand small{margin-top:1px}
@media(max-width:760px){.assets-feature{background:linear-gradient(180deg,#03070bf5 0%,#03070bdf 48%,#03070b40 73%,#03070b00 100%),url('assets/images/genesys-assets-gallery-mobile.png') center bottom/cover}.assets-visual{min-height:240px}.hero-content h1{height:clamp(42px,11vw,75px)}.wordmark{height:22px}.platforms{gap:9px}.platform-icon{font-size:8px;gap:4px}.platform-icon svg{width:17px;height:17px}}

/* Keep the studio tagline distinct from the GENESYS mark. */
.hero-line{margin-top:14px}
@media(max-width:760px){.hero-line{margin-top:12px}}

/* 7TH DAY uses the game menu typography and colours. */
@font-face{font-family:7thDayBebas;src:url(assets/fonts/BebasNeue-Regular.ttf) format(truetype);font-display:swap}
.seventh .card-copy h2.seventh-logo{font-family:7thDayBebas,Impact,sans-serif;font-size:clamp(53px,5.3vw,76px);line-height:.84;letter-spacing:-.012em;text-transform:uppercase;white-space:nowrap;text-shadow:0 3px 16px #000b}
.seventh-logo span:first-child{color:#f1372d}.seventh-logo span:last-child{color:#e9e3d4;margin-left:.09em}
@media(max-width:760px){.seventh .card-copy h2.seventh-logo{font-size:65px}}

/* Poster-first catalogue: titles are integrated in artwork, metadata in one readable row. */
.echoes .card-art{background-image:url(assets/images/house-of-echoes-poster-v6.png)}
.trust .card-art{background-image:url(assets/images/tusk-riot-poster-v8.png)}
.horizon .card-art{background-image:url(assets/images/conflict-at-horizon-poster-v6.png)}
.roll-and-clash .card-art{background-image:url(assets/images/roll-and-clash-card-v2.png)}
.echoes .card-art,.trust .card-art,.horizon .card-art,.roll-and-clash .card-art{background-color:#07090d;background-size:100% auto;background-position:center top;background-repeat:no-repeat}
.game-card .card-copy{display:block;bottom:65px}
.game-card .card-copy h2.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.game-card .card-copy .card-meta{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px;min-height:29px;height:auto}
.game-card .card-copy .genre{display:inline-flex;align-items:center;min-height:27px;margin:0;padding:6px 8px;border:1px solid #ffffff40;background:#071018cc;color:#e8eef2;font:600 9px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px #000}
.game-card .card-copy h2.seventh-logo{margin:0 0 14px}
.game-card .card-shade{background:linear-gradient(180deg,#0002,transparent 55%,#0007 76%,#000e)}
.seventh .card-shade{background:linear-gradient(180deg,#0001,transparent 23%,#0008 61%,#000e)}
@media(max-width:760px){.game-card .card-copy{left:20px;right:20px;bottom:65px}.game-card .card-copy .genre{font-size:8px}.echoes .card-art,.trust .card-art,.horizon .card-art,.roll-and-clash .card-art{background-size:100% auto}}

/* Catalogue refinement: plain genre above the unchanged status badge; full-bleed key art. */
.echoes .card-art{background-image:url(assets/images/house-of-echoes-poster-v6.png)}
.horizon .card-art{background-image:url(assets/images/conflict-at-horizon-poster-v6.png)}
.echoes .card-art,.trust .card-art,.horizon .card-art{background-size:cover;background-position:center center;background-repeat:no-repeat}
.game-card .card-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px;bottom:65px}
.game-card .card-copy>p.genre{display:block;min-height:0;margin:0;padding:0;border:0;background:none;color:#e9eef2;font:600 9px/1.35 Inter,sans-serif;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 2px 8px #000,0 1px 2px #000}
.game-card .card-copy .card-meta{display:block;height:auto;min-height:0}
.seventh h2.seventh-logo{position:absolute;top:58px;left:22px;z-index:2;margin:0;font-family:7thDayBebas,Impact,sans-serif;font-size:clamp(53px,5.3vw,76px);line-height:.84;letter-spacing:-.012em;text-transform:uppercase;white-space:nowrap;text-shadow:0 3px 16px #000b}
@media(max-width:760px){.seventh h2.seventh-logo{top:54px;left:20px;font-size:65px}.echoes .card-art,.trust .card-art,.horizon .card-art{background-size:cover;background-position:center center}.game-card .card-copy>p.genre{font-size:8px}}

/* Roll & Clash fills the card while keeping the centred title and characters inside. */
.roll-and-clash .card-art{background-size:cover;background-position:center center;background-repeat:no-repeat}
@media(max-width:760px){.roll-and-clash .card-art{background-size:cover;background-position:center center}}

/* September 26 v11: finished posters with the logos embedded in the images. */
.echoes .card-art{background-image:url('assets/images/house-of-echoes-poster-v6.png')}
.trust .card-art{background-image:url('assets/images/tusk-riot-poster-v8.png')}
.horizon .card-art{background-image:url('assets/images/conflict-at-horizon-poster-v6.png')}
.echoes .card-art,.trust .card-art,.horizon .card-art{background-position:center top}
.trust .card-shade{background:linear-gradient(180deg,#08122d46 0%,transparent 39%,#0003 63%,#000e 100%)}
.horizon .card-shade{background:linear-gradient(180deg,#ecdfc021 0%,transparent 37%,#0002 64%,#000e 100%)}
.asset-mobile-frame{display:none}
@media(max-width:760px){
  .assets-feature{display:flex;flex-direction:column;background:#070d13}
  .assets-copy{align-self:stretch;padding:35px 25px 24px}
  .assets-visual{display:block;min-height:0;margin:0 18px 18px;border:1px solid #abc9da73;background:#03080d;overflow:hidden;mask-image:none;box-shadow:inset 0 0 0 4px #050b10,0 12px 30px #0005}
  .asset-mobile-frame{display:block;position:relative;aspect-ratio:1.05;overflow:hidden}
  .asset-mobile-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 72%}
  .asset-mobile-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 5px #02070b66,inset 0 -50px 45px #02070b7d;pointer-events:none}
  .asset-coordinate{bottom:11px;right:13px;z-index:2;color:#d9eaf4;text-shadow:0 2px 5px #000}
}


/* The mobile illustration needs a definite width for its aspect ratio in flex layout. */
@media(max-width:760px){
  .assets-visual{width:calc(100% - 36px);align-self:center;flex:none;margin:0 0 18px}
  .asset-mobile-frame{width:100%;aspect-ratio:1.05}
}


/* Desktop catalogue: game artwork is displayed as portrait posters. */
@media(min-width:761px){
  .game-card{aspect-ratio:2/3;min-height:0}
}
