: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-cover.jpg') 67% center/cover; }
.horizon .card-art { background:url('assets/images/conflict-at-horizon-cover.jpg') 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; }
