﻿/* =====================================================================
   ATLARYS INTERACTIVE — DESIGN SYSTEM v2 (Gold / Silver / Platinum)
   Palette inspired by the official studio logo: brushed silver +
   warm gold metalwork on deep black.
   ===================================================================== */
:root{
  /* Backgrounds — deep with subtle warm undertone */
  --bg-0:#06050a;
  --bg-1:#0d0a14;
  --bg-2:#15101e;
  --surface:rgba(255,235,200,0.025);
  --surface-strong:rgba(255,235,200,0.05);
  --line:rgba(212,164,86,0.10);
  --line-strong:rgba(212,164,86,0.25);
  --line-silver:rgba(220,225,235,0.10);

  /* Text */
  --text:#f2ece0;
  --text-dim:#a89e8e;
  --text-muted:#665e52;

  /* PRIMARY: gold — replaces the old cyan everywhere */
  --gold:#d4a456;
  --gold-bright:#f5d68a;
  --gold-deep:#9a7430;
  --gold-soft:rgba(212,164,86,0.18);
  --gold-glow:rgba(245,214,138,0.4);

  /* SECONDARY: silver — replaces the old amber everywhere */
  --silver:#c9d0d8;
  --platinum:#e8edf3;
  --silver-deep:#7a828c;
  --silver-soft:rgba(201,208,216,0.15);

  /* Tertiary accents (factions) */
  --amber:#ff7a1a;
  --amber-soft:rgba(255,122,26,0.18);
  --violet:#9b6bff;
  --violet-soft:rgba(155,107,255,0.18);
  --red:#ff3355;

  /* Reusable gradients */
  --grad-gold:linear-gradient(135deg,var(--gold-bright) 0%,var(--gold) 50%,var(--gold-deep) 100%);
  --grad-silver:linear-gradient(135deg,var(--platinum) 0%,var(--silver) 50%,var(--silver-deep) 100%);
  --grad-bimetal:linear-gradient(135deg,var(--platinum) 0%,var(--silver) 30%,var(--gold-bright) 70%,var(--gold) 100%);

  --font-display:'Cinzel','Michroma','Inter Tight',serif;
  --font-tech:'Rajdhani','Inter Tight',sans-serif;
  --font-body:'Inter Tight',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',monospace;

  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
  --ease-in-out-quint:cubic-bezier(0.83,0,0.17,1);
}

/* ============== Force cursor: none everywhere on hover devices ============== */
@media (hover:hover) and (pointer:fine){
  html,body,*,*::before,*::after{cursor:none !important}
}
@media (hover:none) and (pointer:coarse){
  html,body,*,*::before,*::after{cursor:auto !important}
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{
  background:var(--bg-0);color:var(--text);
  font-family:var(--font-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
html{scroll-behavior:auto}
body{position:relative;min-height:100vh}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none}
::selection{background:var(--gold);color:var(--bg-0)}

body::-webkit-scrollbar{width:6px}
body::-webkit-scrollbar-track{background:var(--bg-0)}
body::-webkit-scrollbar-thumb{background:var(--gold-soft)}

/* =====================================================================
   GLOBAL ATMOSPHERE — warmer, more cinematic
   ===================================================================== */
.atmosphere{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse at top,rgba(212,164,86,0.10),transparent 60%),
    radial-gradient(ellipse at bottom,rgba(201,208,216,0.04),transparent 60%),
    var(--bg-0);
}
.grid-overlay{
  position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.30;
  background-image:
    linear-gradient(rgba(212,164,86,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,164,86,0.04) 1px,transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);
          mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);
}
.noise{
  position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:0.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.scan{
  position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:0.04;
  background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(245,214,138,0.5) 3px,transparent 4px);
  mix-blend-mode:overlay;
}

/* =====================================================================
   LOADER — re-themed with logo reveal
   ===================================================================== */
.loader{
  position:fixed;inset:0;z-index:10000;background:var(--bg-0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;
}
.loader__bg{
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(212,164,86,0.08),transparent 60%);
  pointer-events:none;
}
.loader__sigil{
  position:relative;width:140px;height:140px;margin-bottom:48px;
}
.loader__sigil img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 0 30px rgba(212,164,86,0.4));
  opacity:0;transform:scale(0.5) rotate(-90deg);
}
.loader__sigil .ring{
  position:absolute;inset:-20px;border:1px solid var(--gold-soft);border-radius:50%;
  opacity:0;
}
.loader__sigil .ring--2{inset:-40px;border-color:rgba(201,208,216,0.10)}
.loader__core{position:relative;width:min(440px,80vw);text-align:left}
.loader__brand{
  font-family:var(--font-display);font-size:13px;letter-spacing:0.4em;
  color:var(--gold);margin-bottom:32px;display:flex;align-items:center;gap:12px;
  font-weight:500;text-transform:uppercase;
}
.loader__brand::before{content:"";width:8px;height:8px;background:var(--gold-bright);box-shadow:0 0 20px var(--gold);animation:pulse 1.2s infinite}
.loader__lines{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);line-height:2;min-height:140px}
.loader__lines>span{display:block;opacity:0;transform:translateX(-8px)}
.loader__lines>span.show{animation:bootLine 0.4s var(--ease-out-expo) forwards}
.loader__lines .ok{color:var(--gold-bright)}
.loader__bar{margin-top:32px;height:2px;background:rgba(255,235,200,0.06);overflow:hidden;position:relative}
.loader__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--platinum));box-shadow:0 0 12px var(--gold-glow)}
.loader__pct{
  font-family:var(--font-display);font-size:64px;letter-spacing:0.04em;
  margin-top:24px;color:var(--text);display:flex;align-items:baseline;gap:8px;font-weight:400;
}
.loader__pct small{font-size:18px;color:var(--text-muted);letter-spacing:0.2em;font-family:var(--font-mono)}
@keyframes bootLine{to{opacity:1;transform:translateX(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes sigilFloat{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(180deg) scale(1.05)}
  100%{transform:rotate(360deg) scale(1)}
}

/* =====================================================================
   CUSTOM CURSOR — gold tone
   ===================================================================== */
.cursor,.cursor-dot{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
}
.cursor{
  width:36px;height:36px;border:1px solid rgba(245,214,138,0.7);border-radius:50%;
  transition:width 0.3s var(--ease-out-expo),height 0.3s var(--ease-out-expo),border-color 0.3s,background 0.3s;
  mix-blend-mode:difference;
}
.cursor-dot{width:4px;height:4px;background:var(--platinum);border-radius:50%;mix-blend-mode:difference}
.cursor.is-hover{
  width:64px;height:64px;
  border-color:var(--gold-bright);
  mix-blend-mode:normal;
  background:rgba(212,164,86,0.12);
  box-shadow:0 0 30px rgba(212,164,86,0.3),inset 0 0 20px rgba(212,164,86,0.1);
}
.cursor.is-text{width:2px;height:24px;border-radius:0;border-color:var(--gold);background:var(--gold);mix-blend-mode:normal}
@media (hover:none) and (pointer:coarse){
  .cursor,.cursor-dot{display:none}
}

/* =====================================================================
   MUSIC PLAYER MINI
   ===================================================================== */
#music-player{
  position:fixed;bottom:max(20px,env(safe-area-inset-bottom,20px));right:20px;z-index:300;width:248px;
  background:rgba(7,7,7,.97);border:1px solid rgba(200,146,42,.2);
  backdrop-filter:blur(18px);box-shadow:0 4px 20px rgba(0,0,0,.7);overflow:hidden;
}
.mp-bar{display:flex;align-items:center;gap:7px;padding:7px 9px;cursor:none;border-bottom:1px solid rgba(200,146,42,.07);min-height:38px;}
.mp-logo-m{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(200,146,42,.4));flex-shrink:0;}
.mp-track-name{font-family:'Cinzel',serif;font-size:.58rem;color:var(--silver,#c8d0d8);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.mp-play-m{width:22px;height:22px;background:none;border:1px solid rgba(200,146,42,.28);color:#d4a456;font-size:.6rem;cursor:none;display:flex;align-items:center;justify-content:center;transition:border-color .2s;flex-shrink:0;}
.mp-play-m:hover{border-color:#d4a456;}
.mp-exp-btn{width:16px;height:16px;background:none;border:none;color:rgba(200,146,42,.35);font-size:.5rem;cursor:none;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0;}
.mp-exp-btn:hover{color:#d4a456;}
.mp-body-exp{padding:7px 9px 9px;display:none;}
#music-player.expanded .mp-body-exp{display:block;}
.mp-progress{width:100%;height:2px;background:rgba(200,146,42,.13);cursor:none;margin-bottom:4px;}
.mp-progress-fill{height:100%;background:linear-gradient(to right,#c8922a,#d4a456);width:0%;transition:width .5s linear;}
.mp-times{display:flex;justify-content:space-between;margin-bottom:7px;}
.mp-times span{font-family:'Rajdhani',sans-serif;font-size:.48rem;letter-spacing:.15em;color:rgba(180,185,195,.6);}
.mp-controls-row{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:7px;}
.mp-btn-sm{background:none;border:none;color:rgba(180,185,195,.6);font-size:.75rem;cursor:none;transition:color .2s;}
.mp-btn-sm:hover{color:#d4a456;}
.mp-vol-row{display:flex;align-items:center;gap:5px;}
.mp-vol-row span{font-size:.6rem;color:rgba(180,185,195,.6);}
.mp-vol-row input[type=range]{flex:1;height:2px;-webkit-appearance:none;appearance:none;background:rgba(200,146,42,.15);outline:none;cursor:none;}
.mp-vol-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:7px;height:7px;background:#c8922a;transform:rotate(45deg);}
.mp-shuf-sm{font-family:'Rajdhani',sans-serif;font-size:.45rem;letter-spacing:.22em;color:rgba(160,160,160,.35);cursor:none;transition:color .3s;margin-left:auto;}
.mp-shuf-sm.active{color:#c8922a;}
.mp-notice-sm{padding:5px 9px;background:rgba(200,146,42,.05);border-top:1px solid rgba(200,146,42,.08);font-family:'Rajdhani',sans-serif;font-size:.5rem;letter-spacing:.16em;color:#c8922a;text-align:center;cursor:none;display:none;}
.mp-notice-sm:hover{background:rgba(200,146,42,.09);}
@media(max-width:480px){#music-player{width:calc(100% - 20px);right:10px;left:10px;bottom:8px;}}
@media (hover:none) and (pointer:coarse){
  .mp-bar,.mp-play-m,.mp-exp-btn,.mp-btn-sm,.mp-progress,.mp-shuf-sm,.mp-notice-sm{cursor:pointer}
  .mp-vol-row input[type=range]{cursor:pointer}
  .mp-play-m{min-width:40px;min-height:40px}
  .mp-btn-sm{min-width:36px;min-height:36px}
}

/* =====================================================================
   NAV
   ===================================================================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
  transition:transform 0.7s var(--ease-out-expo), opacity 0.55s var(--ease-out-expo), background 0.4s, backdrop-filter 0.4s, padding 0.35s var(--ease-out-expo), border-color 0.4s;
}
.nav.visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.nav-sensor{
  position:fixed;top:0;left:0;right:0;height:140px;
  z-index:999;pointer-events:auto;
}
.nav.scrolled{
  background:rgba(6,5,10,0.7);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid var(--line);padding:14px 40px;
}
.nav__logo{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-size:13px;letter-spacing:0.32em;font-weight:500}
.nav__logo img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(212,164,86,0.4));transition:filter 0.4s,transform 0.6s var(--ease-out-expo)}
.nav__logo:hover img{filter:drop-shadow(0 0 16px rgba(212,164,86,0.7));transform:rotate(180deg)}
.nav__logo b{color:var(--text)}
.nav__logo span{color:var(--text-dim)}
.nav__links{display:flex;gap:36px;font-family:var(--font-tech);font-size:13px;letter-spacing:0.24em;text-transform:uppercase;color:var(--text-dim)}
.nav__links a{position:relative;padding:6px 0;transition:color 0.3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width 0.35s var(--ease-out-expo)}
.nav__links a:hover,.nav__links a.is-active{color:var(--text)}
.nav__links a:hover::after,.nav__links a.is-active::after{width:100%}

.nav__right{display:flex;align-items:center;gap:14px}
.nav__util{
  width:38px;height:38px;border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);
  font-size:11px;letter-spacing:0.1em;color:var(--text-dim);transition:all 0.3s;position:relative;
}
.nav__util:hover{border-color:var(--gold);color:var(--gold)}
.nav__util svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.nav__util.is-off::after{
  content:"";position:absolute;width:120%;height:1px;background:var(--text-dim);
  top:50%;left:-10%;transform:rotate(-30deg);
}
.nav__cta{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--font-tech);
  font-size:12px;letter-spacing:0.28em;text-transform:uppercase;font-weight:600;
  padding:10px 20px;border:1px solid var(--gold-soft);
  background:linear-gradient(135deg,rgba(212,164,86,0.12),transparent);
  color:var(--gold-bright);
  position:relative;overflow:hidden;transition:all 0.3s;
}
.nav__cta::before{content:"";position:absolute;inset:0;background:var(--grad-gold);transform:translateX(-101%);transition:transform 0.4s var(--ease-out-expo);z-index:-1}
.nav__cta:hover{color:var(--bg-0);border-color:var(--gold);box-shadow:0 0 30px var(--gold-soft)}
.nav__cta:hover::before{transform:translateX(0)}
.nav__menu-btn{
  display:none;width:42px;height:42px;border:1px solid var(--line-strong);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:all 0.3s;
}
.nav__menu-btn i{display:block;width:18px;height:1px;background:var(--text);transition:all 0.3s var(--ease-out-expo)}
.nav__menu-btn.is-open i:nth-child(1){transform:translateY(3px) rotate(45deg)}
.nav__menu-btn.is-open i:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

/* =====================================================================
   MOBILE FULLSCREEN MENU
   ===================================================================== */
.mobile-menu{
  position:fixed;inset:0;z-index:990;background:var(--bg-0);
  transform:translateX(100%);transition:transform 0.7s var(--ease-out-expo);
  display:flex;flex-direction:column;justify-content:center;padding:120px 40px 40px;
}
.mobile-menu.is-open{transform:translateX(0)}
.mobile-menu__bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 70% 30%,rgba(212,164,86,0.18),transparent 50%),
    radial-gradient(circle at 30% 80%,rgba(201,208,216,0.08),transparent 50%);
}
.mobile-menu__sigil{
  position:absolute;right:-15vw;bottom:-15vw;width:60vw;height:60vw;opacity:0.06;
  background:url('logo.png') center/contain no-repeat;
  pointer-events:none;animation:sigilFloat 80s linear infinite;
}
.mobile-menu__nav{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px}
.mobile-menu__nav a{
  font-family:var(--font-display);font-size:clamp(36px,9vw,72px);font-weight:500;
  letter-spacing:-0.02em;text-transform:uppercase;line-height:1.1;
  display:block;padding:8px 0;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.mobile-menu__nav a small{
  display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;
  color:var(--gold);margin-bottom:4px;font-weight:400;
}
.mobile-menu__bottom{
  position:relative;z-index:2;margin-top:48px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;
}
.mobile-menu__contact{font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase;line-height:2}
.mobile-menu__contact a{color:var(--text);display:block}

/* =====================================================================
   SIDE LABELS
   ===================================================================== */
.side-label{
  position:fixed;left:32px;top:50%;transform:translateY(-50%) rotate(-90deg);
  transform-origin:left center;font-family:var(--font-mono);font-size:10px;
  letter-spacing:0.4em;color:var(--text-muted);z-index:50;white-space:nowrap;
}
.side-label::before{content:"";display:inline-block;width:24px;height:1px;background:var(--text-muted);vertical-align:middle;margin-right:12px}
.scroll-indicator{
  position:fixed;right:40px;bottom:32px;z-index:50;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.4em;color:var(--text-muted);
  writing-mode:vertical-rl;display:flex;align-items:center;gap:12px;
}
.scroll-indicator i{display:block;width:1px;height:60px;background:linear-gradient(transparent,var(--gold));position:relative;overflow:hidden}
.scroll-indicator i::after{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:var(--gold-bright);box-shadow:0 0 10px var(--gold);animation:scrollPulse 2s infinite}
@keyframes scrollPulse{0%{transform:translateY(-100%)}100%{transform:translateY(300%)}}

/* =====================================================================
   SHARED — buttons, sections, tags
   ===================================================================== */
.btn{
  display:inline-flex;align-items:center;gap:14px;padding:18px 32px;
  font-family:var(--font-tech);font-size:13px;letter-spacing:0.28em;
  text-transform:uppercase;font-weight:600;
  border:1px solid var(--line-strong);position:relative;overflow:hidden;
  transition:all 0.3s var(--ease-out-expo);
}
.btn svg{width:14px;height:14px;transition:transform 0.3s}
.btn:hover svg{transform:translateX(6px)}
.btn--primary{background:var(--grad-gold);color:var(--bg-0);border-color:var(--gold)}
.btn--primary:hover{box-shadow:0 0 50px var(--gold-glow);transform:translateY(-2px)}
.btn--ghost{color:var(--text);background:rgba(255,235,200,0.02)}
.btn--ghost::before{content:"";position:absolute;inset:0;border:1px solid var(--gold);opacity:0;transition:opacity 0.3s}
.btn--ghost:hover::before{opacity:1}
.btn--ghost:hover{background:rgba(212,164,86,0.06);color:var(--gold-bright)}
.btn--silver{background:var(--grad-silver);color:var(--bg-0);border-color:var(--silver)}
.btn--silver:hover{box-shadow:0 0 50px rgba(232,237,243,0.3);transform:translateY(-2px)}

section{position:relative;z-index:2}
.section{padding:140px 40px;max-width:1600px;margin:0 auto}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:80px;border-bottom:1px solid var(--line);padding-bottom:24px;flex-wrap:wrap}
.section__num{font-family:var(--font-mono);font-size:12px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:12px}
.section__num::before{content:"";width:24px;height:1px;background:var(--gold)}
.section__title{font-family:var(--font-display);font-size:clamp(32px,5vw,82px);line-height:1;letter-spacing:-0.01em;font-weight:500;text-transform:uppercase;margin-top:18px}
.section__title em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent}
.section__sub{font-family:var(--font-tech);font-size:15px;letter-spacing:0.06em;color:var(--text-dim);max-width:420px;line-height:1.6}

.tag{font-family:var(--font-mono);font-size:10px;letter-spacing:0.25em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--line-strong);color:var(--text-dim);display:inline-block}
.tag.tag--accent{color:var(--gold-bright);border-color:var(--gold-soft);background:rgba(212,164,86,0.06)}
.tag.tag--silver{color:var(--platinum);border-color:var(--silver-soft);background:rgba(201,208,216,0.04)}
.tag.tag--amber{color:var(--amber);border-color:var(--amber-soft);background:rgba(255,122,26,0.05)}
.tag.tag--violet{color:var(--violet);border-color:var(--violet-soft);background:rgba(155,107,255,0.05)}

/* =====================================================================
   HERO (index)
   ===================================================================== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:0 40px;overflow:hidden;z-index:2}
#hero-canvas{position:absolute;inset:0;z-index:1}

/* GIANT WATERMARK LOGO behind hero text */
.hero__logo-mark{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(80vh,80vw);height:min(80vh,80vw);z-index:2;
  pointer-events:none;
  opacity:0;
}
.hero__logo-mark img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 0 60px rgba(212,164,86,0.35)) drop-shadow(0 0 120px rgba(245,214,138,0.2));
}
.hero__logo-mark .halo{
  position:absolute;inset:-10%;border-radius:50%;
  background:radial-gradient(circle at center,rgba(212,164,86,0.25),transparent 60%);
  filter:blur(40px);
}

.hero__vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,var(--bg-0) 90%),linear-gradient(180deg,transparent 60%,var(--bg-0) 100%)}
.hero__content{position:relative;z-index:4;width:100%;max-width:1600px;margin:0 auto}
.hero__tag{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.4em;color:var(--gold-bright);padding:8px 16px;border:1px solid var(--gold-soft);background:rgba(212,164,86,0.04);margin-bottom:36px;backdrop-filter:blur(8px)}
.hero__tag i{width:6px;height:6px;background:var(--gold-bright);border-radius:50%;box-shadow:0 0 12px var(--gold);animation:pulse 1.5s infinite}
.hero__title{font-family:var(--font-display);font-size:clamp(48px,9.4vw,180px);line-height:0.92;letter-spacing:-0.01em;font-weight:500;text-transform:uppercase;color:var(--text)}
.hero__title .line{display:block;overflow:hidden}
.hero__title .word{display:inline-block;transform:translateY(120%)}
.hero__title em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.hero__title em::after{content:"";position:absolute;left:0;bottom:0.06em;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0.6}
.hero__title .stroke{-webkit-text-stroke:1.5px var(--silver-deep);color:transparent}
.hero__meta{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:880px}
.hero__meta-item{border-left:1px solid var(--line-strong);padding-left:16px}
.hero__meta-item .k{font-family:var(--font-mono);font-size:10px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}
.hero__meta-item .v{font-family:var(--font-tech);font-size:15px;font-weight:500;color:var(--text);letter-spacing:0.05em}
.hero__ctas{margin-top:56px;display:flex;gap:16px;flex-wrap:wrap}
.hero__corners{position:absolute;inset:32px;pointer-events:none;z-index:4}
.hero__corners i{position:absolute;width:24px;height:24px;border:1px solid var(--gold);opacity:0.5}
.hero__corners i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none}
.hero__corners i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none}
.hero__corners i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none}
.hero__corners i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none}

/* =====================================================================
   STUDIO
   ===================================================================== */
.studio__intro{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;margin-bottom:120px}
.studio__quote{font-family:var(--font-display);font-size:clamp(24px,2.6vw,42px);line-height:1.2;letter-spacing:-0.01em;color:var(--text);font-weight:500}
.studio__quote em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent}
.studio__desc{font-size:15px;line-height:1.8;color:var(--text-dim)}
.studio__desc p+p{margin-top:18px}

.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value{background:var(--bg-0);padding:48px 32px;position:relative;overflow:hidden;transition:background 0.4s var(--ease-out-expo)}
.value::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateX(-100%);transition:transform 0.6s var(--ease-out-expo)}
.value:hover::before{transform:translateX(100%)}
.value:hover{background:var(--bg-1)}
.value__num{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:32px}
.value__title{font-family:var(--font-display);font-size:22px;letter-spacing:-0.01em;text-transform:uppercase;margin-bottom:18px;line-height:1.1;font-weight:500}
.value__desc{font-size:14px;line-height:1.6;color:var(--text-dim)}

.timeline{margin-top:120px}
.timeline__head{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:32px}
.timeline__codename{display:inline-flex;align-items:center;border:1px solid var(--gold-soft);background:rgba(212,164,86,0.08);color:var(--gold-bright);font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;padding:10px 12px;margin:-12px 0 28px}
.timeline__track{position:relative;padding:48px 0}
.timeline__line{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--platinum),transparent)}
.timeline__items{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative}
.timeline__item{position:relative;padding-top:32px}
.timeline__item::before{content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;background:var(--bg-0);border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 12px var(--gold-soft)}
.timeline__item.now::before{background:var(--gold-bright);box-shadow:0 0 24px var(--gold-bright)}
.timeline__date{font-family:var(--font-mono);font-size:11px;letter-spacing:0.2em;color:var(--gold);margin-bottom:12px}
.timeline__label{font-family:var(--font-display);font-size:14px;letter-spacing:0.02em;text-transform:uppercase;line-height:1.3;font-weight:500}
.timeline__detail{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.5}

/* =====================================================================
   GAME CARD — gold/silver themed
   ===================================================================== */
.game-card{position:relative;border:1px solid var(--line);overflow:hidden;background:var(--bg-1);min-height:780px}
.game-card + .game-card{margin-top:32px}
.game-card__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.game-card__bg{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 30% 30%,rgba(212,164,86,0.18),transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(201,208,216,0.08),transparent 55%),linear-gradient(135deg,rgba(24,15,8,0.62) 0%,rgba(13,10,20,0.58) 50%,rgba(26,18,10,0.62) 100%)}
.game-card__visual{position:absolute;inset:0;z-index:2;background-image:radial-gradient(circle at 50% 60%,rgba(245,214,138,0.4) 0%,transparent 8%),radial-gradient(circle at 50% 60%,rgba(212,164,86,0.18) 0%,transparent 25%),radial-gradient(circle at 50% 60%,rgba(212,164,86,0.06) 0%,transparent 50%);filter:blur(0.5px)}
.game-card__planet{position:absolute;left:50%;top:55%;width:60vw;max-width:780px;height:60vw;max-height:780px;transform:translate(-50%,-50%);z-index:3;border-radius:50%;background:radial-gradient(circle at 30% 30%,#3a2a18 0%,#1a1208 60%,#0a0604 100%);box-shadow:inset -40px -40px 100px rgba(0,0,0,0.8),inset 40px 40px 80px rgba(212,164,86,0.18),0 0 120px rgba(212,164,86,0.25),0 0 240px rgba(212,164,86,0.1)}
.game-card__planet::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:radial-gradient(circle at 70% 30%,transparent 60%,rgba(245,214,138,0.5) 70%,transparent 75%),conic-gradient(from 0deg,transparent 0%,rgba(212,164,86,0.4) 25%,transparent 50%,rgba(201,208,216,0.18) 75%,transparent 100%);mix-blend-mode:screen;opacity:0.6;animation:rot 60s linear infinite}
.game-card__planet::after{content:"";position:absolute;inset:-30px;border-radius:50%;border:1px solid rgba(212,164,86,0.25);box-shadow:inset 0 0 60px rgba(212,164,86,0.1),0 0 60px rgba(212,164,86,0.12);transform:rotateX(75deg)}
@keyframes rot{to{transform:rotate(360deg)}}

.game-card__hud{position:absolute;inset:48px;z-index:5;pointer-events:none}
.game-card__hud .hud-corner{position:absolute;width:60px;height:60px;border:1px solid var(--gold);opacity:0.55}
.game-card__hud .hud-corner:nth-child(1){top:0;left:0;border-right:none;border-bottom:none}
.game-card__hud .hud-corner:nth-child(2){top:0;right:0;border-left:none;border-bottom:none}
.game-card__hud .hud-corner:nth-child(3){bottom:0;left:0;border-right:none;border-top:none}
.game-card__hud .hud-corner:nth-child(4){bottom:0;right:0;border-left:none;border-top:none}
.game-card__readout{position:absolute;top:48px;right:48px;z-index:6;text-align:right;font-family:var(--font-mono);font-size:10px;letter-spacing:0.25em;color:var(--text-dim);display:flex;flex-direction:column;gap:4px}
.game-card__readout span{display:block}
.game-card__readout span b{color:var(--gold-bright);font-weight:500;letter-spacing:0.15em}
.game-card__content{position:relative;z-index:7;padding:64px;display:flex;flex-direction:column;justify-content:flex-end;min-height:780px;background:linear-gradient(180deg,transparent 30%,rgba(6,5,10,0.6) 70%,rgba(6,5,10,0.95) 100%)}
.game-card__genre{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:18px}
.game-card__title{font-family:var(--font-display);font-size:clamp(40px,7vw,108px);line-height:0.95;letter-spacing:-0.01em;font-weight:500;text-transform:uppercase;margin-bottom:8px}
.game-card__sub{font-family:var(--font-display);font-size:clamp(16px,1.6vw,24px);letter-spacing:0.4em;color:var(--text-dim);text-transform:uppercase;margin-bottom:32px;font-weight:400}
.game-card__desc{max-width:640px;font-size:15px;line-height:1.75;color:var(--text-dim);margin-bottom:40px}
.game-card__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.game-card__tags{display:flex;gap:8px;flex-wrap:wrap}
.game-card__actions{display:flex;gap:12px}
.game-card--shass .game-card__video{filter:saturate(0.35) hue-rotate(165deg) contrast(1.1);opacity:0.52}
.game-card--shass .game-card__bg{background:radial-gradient(ellipse at 25% 25%,rgba(201,208,216,0.18),transparent 55%),radial-gradient(ellipse at 75% 70%,rgba(212,164,86,0.08),transparent 55%),linear-gradient(135deg,rgba(7,14,18,0.78) 0%,rgba(8,8,12,0.68) 52%,rgba(18,14,8,0.72) 100%)}
.game-card--shass .game-card__visual{background-image:linear-gradient(90deg,transparent 0 11%,rgba(201,208,216,0.08) 11.2% 11.35%,transparent 11.55% 22%),linear-gradient(0deg,transparent 0 11%,rgba(212,164,86,0.06) 11.2% 11.35%,transparent 11.55% 22%),radial-gradient(circle at 50% 55%,rgba(201,208,216,0.22) 0%,transparent 28%),radial-gradient(circle at 50% 55%,rgba(212,164,86,0.08) 0%,transparent 54%);background-size:100% 100%,100% 100%,100% 100%,100% 100%}
.game-card--shass .game-card__planet{border-radius:8px;top:50%;width:min(52vw,620px);height:min(52vw,620px);background:linear-gradient(45deg,rgba(201,208,216,0.18),rgba(8,10,12,0.92)),repeating-linear-gradient(90deg,rgba(212,164,86,0.18) 0 1px,transparent 1px 14%),repeating-linear-gradient(0deg,rgba(201,208,216,0.1) 0 1px,transparent 1px 14%);box-shadow:inset 0 0 90px rgba(0,0,0,0.82),0 0 90px rgba(201,208,216,0.12),0 0 180px rgba(212,164,86,0.08);transform:translate(-50%,-50%) rotate(45deg)}
.game-card--shass .game-card__planet::before{inset:10%;border-radius:4px;background:linear-gradient(90deg,transparent,rgba(245,214,138,0.34),transparent),linear-gradient(0deg,transparent,rgba(201,208,216,0.18),transparent);opacity:0.45;animation:rot 80s linear infinite}
.game-card--shass .game-card__planet::after{inset:-24px;border-radius:8px;border-color:rgba(201,208,216,0.2);transform:none}
.game-card--shass .game-card__genre,.game-card--shass .game-card__readout span b{color:var(--platinum)}
.game-card--rekk .game-card__video{filter:saturate(0.2) contrast(1.2) brightness(0.78);opacity:0.46}
.game-card--rekk .game-card__bg{background:radial-gradient(ellipse at 50% 24%,rgba(245,214,138,0.18),transparent 45%),radial-gradient(ellipse at 20% 80%,rgba(201,208,216,0.08),transparent 50%),linear-gradient(135deg,rgba(12,9,8,0.86) 0%,rgba(5,5,8,0.74) 52%,rgba(22,17,10,0.78) 100%)}
.game-card--rekk .game-card__visual{background-image:linear-gradient(45deg,rgba(212,164,86,0.08) 25%,transparent 25% 50%,rgba(201,208,216,0.07) 50% 75%,transparent 75%),radial-gradient(circle at 50% 48%,rgba(245,214,138,0.26) 0%,transparent 30%),radial-gradient(circle at 50% 48%,rgba(6,5,10,0.4) 0%,transparent 68%);background-size:96px 96px,100% 100%,100% 100%;filter:blur(0)}
.game-card--rekk .game-card__planet{top:48%;width:min(46vw,540px);height:min(46vw,540px);border-radius:50% 50% 10% 10%;background:linear-gradient(180deg,rgba(245,214,138,0.24),rgba(18,14,9,0.94) 62%,rgba(6,5,10,0.98)),radial-gradient(circle at 50% 18%,rgba(255,255,255,0.22),transparent 14%);box-shadow:inset 0 -70px 120px rgba(0,0,0,0.86),0 0 110px rgba(212,164,86,0.2),0 0 240px rgba(0,0,0,0.5)}
.game-card--rekk .game-card__planet::before{inset:18% 28% 22%;border-radius:50% 50% 8px 8px;background:linear-gradient(180deg,rgba(245,214,138,0.18),rgba(201,208,216,0.04));border:1px solid rgba(245,214,138,0.26);opacity:0.75;animation:none}
.game-card--rekk .game-card__planet::after{inset:auto 10% -28px;height:28%;border-radius:4px;border-color:rgba(212,164,86,0.3);background:linear-gradient(90deg,transparent,rgba(212,164,86,0.12),transparent);transform:none}
.game-card--rekk .game-card__genre,.game-card--rekk .game-card__readout span b{color:var(--gold-bright)}

/* =====================================================================
   STUDIO ROSTER
   ===================================================================== */
.team-panel{border:1px solid var(--line);padding:48px;background:linear-gradient(180deg,rgba(255,235,200,0.035),rgba(255,235,200,0.012));position:relative;overflow:hidden}
.team-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,51,85,0.08),transparent 34%,rgba(212,164,86,0.04));pointer-events:none}
.team-panel__title{position:relative;font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:28px}
.team-panel__title--sub{margin-top:36px;color:var(--gold)}
.team-core{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.team-producers{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.team-members{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.team-card{min-height:390px;border:1px solid var(--line);background:rgba(6,5,10,0.72);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform 0.4s var(--ease-out-expo),border-color 0.4s var(--ease-out-expo),background 0.4s var(--ease-out-expo)}
.team-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(245,214,138,0.045));opacity:0;transition:opacity 0.4s var(--ease-out-expo)}
.team-card::after{content:"";position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid var(--line);background:linear-gradient(135deg,transparent 46%,var(--line) 48% 52%,transparent 54%)}
.team-card:hover{transform:translateY(-6px);background:rgba(255,235,200,0.045)}
.team-card:hover::before{opacity:1}
.team-card--red{border-color:rgba(255,51,85,0.62);box-shadow:inset 0 0 0 1px rgba(255,51,85,0.20),0 0 32px rgba(255,51,85,0.08)}
.team-card--red::after{border-color:rgba(255,51,85,0.45);background:linear-gradient(135deg,transparent 46%,rgba(255,51,85,0.8) 48% 52%,transparent 54%)}
.team-card--red:hover{border-color:rgba(255,51,85,0.95);box-shadow:inset 0 0 0 1px rgba(255,51,85,0.28),0 0 44px rgba(255,51,85,0.16)}
.team-card--producer .team-card__rank{color:var(--amber);border-color:var(--amber-soft)}
.team-card--producer-spotlight{min-height:300px;border-color:rgba(255,122,26,0.62);background:linear-gradient(135deg,rgba(255,122,26,0.10),rgba(6,5,10,0.78) 48%,rgba(212,164,86,0.08));box-shadow:inset 0 0 0 1px rgba(255,122,26,0.18),0 0 36px rgba(255,122,26,0.09)}
.team-card--producer-spotlight::after{border-color:rgba(255,122,26,0.48);background:linear-gradient(135deg,transparent 46%,rgba(255,122,26,0.85) 48% 52%,transparent 54%)}
.team-card--producer-spotlight:hover{border-color:rgba(255,122,26,0.95);box-shadow:inset 0 0 0 1px rgba(255,122,26,0.24),0 0 48px rgba(255,122,26,0.16)}
.team-card--producer-spotlight .team-card__rank{color:var(--amber);border-color:var(--amber-soft)}
.team-card--producer-spotlight .team-card__pseudo{font-size:clamp(34px,4vw,60px)}
.team-card--member{border-color:rgba(212,164,86,0.18)}
.team-card__rank{align-self:flex-start;font-family:var(--font-mono);font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--red);border:1px solid rgba(255,51,85,0.35);padding:7px 9px;margin-bottom:auto}
.team-card--member .team-card__rank{color:var(--gold-bright);border-color:rgba(212,164,86,0.32)}
.team-card__pseudo{font-family:var(--font-display);font-size:clamp(24px,2.2vw,36px);line-height:1;text-transform:uppercase;font-weight:500;margin-top:34px;overflow-wrap:anywhere}
.team-card__name{font-family:var(--font-tech);font-size:15px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-dim);margin-top:8px}
.team-card__role{font-family:var(--font-tech);font-size:18px;color:var(--text);margin-top:18px}
.team-card__note{font-family:var(--font-tech);font-size:15px;line-height:1.5;color:var(--text-dim);margin-top:8px;max-width:520px}
.team-card__bio{font-family:var(--font-tech);font-size:14px;line-height:1.62;color:var(--text-dim);margin-top:14px;max-width:64ch}
.team-card__bio--wide{max-width:82ch}
.team-card__discord{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-top:10px;overflow-wrap:anywhere}
.team-card__discord::before{content:"discord // ";color:var(--gold);text-transform:uppercase}

/* =====================================================================
   CAREERS
   ===================================================================== */
.careers__intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:80px;align-items:flex-end}
.careers__quote{font-family:var(--font-display);font-size:clamp(24px,2.4vw,38px);line-height:1.25;letter-spacing:-0.01em;font-weight:500}
.careers__quote em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent}
.careers__sub{font-size:15px;line-height:1.7;color:var(--text-dim)}

.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.job{background:var(--bg-0);padding:36px;display:flex;justify-content:space-between;align-items:center;gap:32px;position:relative;overflow:hidden;transition:all 0.4s var(--ease-out-expo)}
.job::before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:linear-gradient(90deg,rgba(212,164,86,0.06),transparent);transition:width 0.5s var(--ease-out-expo)}
.job:hover{background:var(--bg-1)}
.job:hover::before{width:100%}
.job__main{position:relative;z-index:2}
.job__role{font-family:var(--font-display);font-size:22px;letter-spacing:-0.01em;text-transform:uppercase;line-height:1.2;margin-bottom:8px;font-weight:500}
.job__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase;display:flex;gap:18px;flex-wrap:wrap}
.job__meta span{position:relative}
.job__meta span+span::before{content:"";position:absolute;left:-12px;top:50%;width:4px;height:4px;background:var(--gold);border-radius:50%;transform:translateY(-50%)}
.job__arrow{width:48px;height:48px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.3s var(--ease-out-expo);position:relative;z-index:2}
.job:hover .job__arrow{background:var(--gold);border-color:var(--gold);transform:rotate(-45deg)}
.job:hover .job__arrow svg{stroke:var(--bg-0)}
.job__arrow svg{width:18px;height:18px;stroke:var(--text);transition:stroke 0.3s;fill:none;stroke-width:1.8}

.careers__cta{margin-top:80px;text-align:center;padding:80px 32px;border:1px solid var(--gold-soft);background:radial-gradient(ellipse at center,rgba(212,164,86,0.08),transparent 70%),var(--surface);position:relative;overflow:hidden}
.careers__cta::before,.careers__cta::after{content:"";position:absolute;width:200px;height:200px;border:1px solid var(--gold-soft);border-radius:50%}
.careers__cta::before{top:-100px;left:-100px}
.careers__cta::after{bottom:-100px;right:-100px}
.careers__cta h3{font-family:var(--font-display);font-size:clamp(28px,4vw,56px);letter-spacing:-0.01em;text-transform:uppercase;line-height:1;margin-bottom:18px;font-weight:500}
.careers__cta p{font-size:15px;color:var(--text-dim);max-width:520px;margin:0 auto 32px}

/* =====================================================================
   NEWSLETTER
   ===================================================================== */
.newsletter{
  position:relative;padding:120px 40px;border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(212,164,86,0.025),transparent);overflow:hidden;
}
.newsletter__bg{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse at 20% 50%,rgba(212,164,86,0.10),transparent 50%),
             radial-gradient(ellipse at 80% 50%,rgba(201,208,216,0.05),transparent 50%);
}
.newsletter__sigil{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60vw;height:60vw;max-width:700px;max-height:700px;
  background:url('logo.png') center/contain no-repeat;opacity:0.04;
  pointer-events:none;animation:sigilFloat 100s linear infinite;
}
.newsletter__inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.newsletter__head{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:18px}
.newsletter__title{font-family:var(--font-display);font-size:clamp(32px,4.5vw,68px);letter-spacing:-0.01em;text-transform:uppercase;line-height:0.95;margin-bottom:24px;font-weight:500}
.newsletter__title em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent}
.newsletter__desc{font-size:15px;line-height:1.7;color:var(--text-dim);max-width:440px}
.newsletter__form{position:relative}
.newsletter__field{position:relative;border:1px solid var(--line-strong);background:rgba(0,0,0,0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px;display:flex;align-items:center;transition:border-color 0.3s}
.newsletter__field:focus-within{border-color:var(--gold)}
.newsletter__field input{flex:1;background:transparent;border:none;outline:none;padding:18px 20px;color:var(--text);font-family:var(--font-tech);font-size:15px;letter-spacing:0.04em}
.newsletter__field input::placeholder{color:var(--text-muted)}
.newsletter__submit{padding:14px 26px;background:var(--gold);color:var(--bg-0);font-family:var(--font-tech);font-size:13px;letter-spacing:0.28em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:10px;transition:all 0.3s;border:1px solid var(--gold)}
.newsletter__submit:hover{background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:0 0 30px var(--gold-glow)}
.newsletter__submit svg{width:14px;height:14px}
.newsletter__legal{margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.15em;color:var(--text-muted);line-height:1.6}
.newsletter__success{display:none;padding:32px;border:1px solid var(--gold);background:rgba(212,164,86,0.08);text-align:center;font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.04em;color:var(--gold-bright);font-weight:500}
.newsletter__form.is-success .newsletter__field,
.newsletter__form.is-success .newsletter__legal{display:none}
.newsletter__form.is-success .newsletter__success{display:block}
.newsletter__stats{margin-top:32px;display:flex;gap:48px;flex-wrap:wrap}
.newsletter__stat{font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-muted);text-transform:uppercase}
.newsletter__stat b{display:block;font-family:var(--font-display);font-size:32px;color:var(--text);letter-spacing:-0.01em;margin-bottom:4px;font-weight:500}

/* =====================================================================
   FOOTER — adds the giant logo as central monument
   ===================================================================== */
.footer{position:relative;padding:120px 40px 40px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(212,164,86,0.025));overflow:hidden}
.footer__monument{
  position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:32px;margin-bottom:64px;
}
.footer__monument img{
  width:120px;height:120px;object-fit:contain;
  filter:drop-shadow(0 0 30px rgba(212,164,86,0.3));
  transition:transform 0.8s var(--ease-out-expo);
}
.footer__monument:hover img{transform:rotate(180deg)}
.footer__brand{font-family:var(--font-display);font-size:clamp(60px,14vw,260px);letter-spacing:-0.02em;line-height:0.85;text-transform:uppercase;-webkit-text-stroke:1px var(--line-strong);color:transparent;text-align:center;font-weight:500;margin:0}
.footer__brand em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0}
.footer__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.footer__col h4{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:20px}
.footer__col ul{list-style:none}
.footer__col li{margin-bottom:12px}
.footer__col a{font-family:var(--font-tech);font-size:14px;letter-spacing:0.04em;color:var(--text-dim);transition:color 0.3s}
.footer__col a:hover{color:var(--gold-bright)}
.footer__about{font-size:13px;line-height:1.7;color:var(--text-dim);max-width:340px}
.socials{display:flex;gap:12px;margin-top:24px}
.social{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s var(--ease-out-expo);position:relative;overflow:hidden}
.social svg{width:16px;height:16px;fill:var(--text-dim);transition:fill 0.3s;position:relative;z-index:2}
.social::before{content:"";position:absolute;inset:0;background:var(--gold);transform:scale(0);transition:transform 0.4s var(--ease-out-expo);border-radius:50%}
.social:hover{border-color:var(--gold);transform:translateY(-4px)}
.social:hover::before{transform:scale(1)}
.social:hover svg{fill:var(--bg-0)}
.footer__bottom{position:relative;z-index:2;margin-top:40px;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-muted);text-transform:uppercase;flex-wrap:wrap;gap:16px}

/* =====================================================================
   PAGE HEADER (sub pages)
   ===================================================================== */
.page-header{position:relative;padding:200px 40px 80px;overflow:hidden;border-bottom:1px solid var(--line)}
.page-header__bg{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 30% 50%,rgba(212,164,86,0.14),transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(201,208,216,0.06),transparent 60%)}
.page-header__sigil{
  position:absolute;right:-15vw;top:50%;transform:translateY(-50%);
  width:60vw;height:60vw;max-width:700px;max-height:700px;z-index:1;opacity:0.07;
  background:url('logo.png') center/contain no-repeat;
  animation:sigilFloat 80s linear infinite;
}
.page-header__inner{position:relative;z-index:2;max-width:1600px;margin:0 auto}
.page-header__crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:32px;display:flex;align-items:center;gap:14px}
.page-header__crumb a{color:var(--text-muted);transition:color 0.3s}
.page-header__crumb a:hover{color:var(--gold)}
.page-header__crumb span{color:var(--gold)}
.page-header__title{font-family:var(--font-display);font-size:clamp(48px,9vw,160px);line-height:0.92;letter-spacing:-0.01em;font-weight:500;text-transform:uppercase;margin-bottom:24px}
.page-header__title em{font-style:normal;background:var(--grad-bimetal);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-header__sub{font-family:var(--font-tech);font-size:18px;letter-spacing:0.04em;color:var(--text-dim);max-width:640px;line-height:1.6}
.page-header--shass .page-header__bg{background:radial-gradient(ellipse at 25% 45%,rgba(201,208,216,0.14),transparent 58%),radial-gradient(ellipse at 78% 50%,rgba(212,164,86,0.08),transparent 62%)}
.page-header--shass .page-header__sigil{border-radius:8px;transform:translateY(-50%) rotate(45deg);background:linear-gradient(45deg,rgba(201,208,216,0.08),rgba(212,164,86,0.04));box-shadow:inset 0 0 80px rgba(0,0,0,0.55),0 0 120px rgba(201,208,216,0.08)}
.page-header--rekk .page-header__bg{background:linear-gradient(45deg,rgba(212,164,86,0.04) 25%,transparent 25% 50%,rgba(201,208,216,0.035) 50% 75%,transparent 75%),radial-gradient(ellipse at 50% 40%,rgba(212,164,86,0.16),transparent 54%);background-size:110px 110px,100% 100%}
.page-header--rekk .page-header__sigil{border-radius:50% 50% 10% 10%;background:linear-gradient(180deg,rgba(245,214,138,0.12),rgba(6,5,10,0.3));box-shadow:inset 0 -60px 90px rgba(0,0,0,0.5),0 0 140px rgba(212,164,86,0.1)}
.page-header--support .page-header__bg{background:radial-gradient(ellipse at 30% 42%,rgba(212,164,86,0.18),transparent 58%),radial-gradient(ellipse at 82% 62%,rgba(201,208,216,0.08),transparent 62%)}
.page-header--support .page-header__sigil{opacity:0.09;filter:drop-shadow(0 0 80px rgba(212,164,86,0.18))}

/* =====================================================================
   VANGUARD PAGE
   ===================================================================== */
.vg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:120px}
.vg-stat{background:var(--bg-0);padding:36px 24px}
.vg-stat .k{font-family:var(--font-mono);font-size:10px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:14px}
.vg-stat .v{font-family:var(--font-display);font-size:24px;letter-spacing:-0.01em;text-transform:uppercase;line-height:1.1;color:var(--text);font-weight:500}
.vg-stat .v small{display:block;font-family:var(--font-tech);font-size:13px;color:var(--text-dim);text-transform:none;letter-spacing:0.04em;margin-top:6px;font-weight:400}

.lore-archive{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lore-entry{background:var(--bg-0);padding:48px;display:grid;grid-template-columns:200px 1fr 1fr;gap:48px;align-items:flex-start;transition:background 0.4s;position:relative;overflow:hidden}
.lore-entry::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 0.5s var(--ease-out-expo)}
.lore-entry:hover::before{transform:scaleY(1)}
.lore-entry:hover{background:var(--bg-1)}
.lore-entry__date{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase}
.lore-entry__date b{display:block;font-family:var(--font-display);font-size:24px;color:var(--text);margin-top:8px;letter-spacing:0.02em;font-weight:500}
.lore-entry__title{font-family:var(--font-display);font-size:28px;letter-spacing:-0.01em;text-transform:uppercase;line-height:1.15;font-weight:500}
.lore-entry__body{font-size:15px;line-height:1.8;color:var(--text-dim)}

.factions{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.faction{position:relative;border:1px solid var(--line);background:var(--bg-1);padding:48px 36px;overflow:hidden;transition:all 0.5s var(--ease-out-expo);min-height:560px;display:flex;flex-direction:column;justify-content:space-between}
.faction::before{content:"";position:absolute;inset:0;opacity:0.4;transition:opacity 0.5s;z-index:1}
.faction:hover::before{opacity:0.8}
.faction:hover{transform:translateY(-8px);border-color:var(--line-strong)}
.faction--concord::before{background:radial-gradient(circle at 50% 0%,rgba(245,214,138,0.3),transparent 70%)}
.faction--hollow::before{background:radial-gradient(circle at 50% 0%,rgba(255,122,26,0.4),transparent 70%)}
.faction--vex::before{background:radial-gradient(circle at 50% 0%,rgba(155,107,255,0.4),transparent 70%)}
.faction__sigil{position:relative;z-index:2;width:120px;height:120px;margin-bottom:32px;background:radial-gradient(circle,rgba(212,164,86,0.08),transparent 70%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.faction__sigil img,.faction__sigil svg{width:100%;height:100%;object-fit:cover}
.faction__num{position:relative;z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;margin-bottom:14px}
.faction--concord .faction__num{color:var(--gold-bright)}
.faction--hollow .faction__num{color:var(--amber)}
.faction--vex .faction__num{color:var(--violet)}
.faction__name{position:relative;z-index:2;font-family:var(--font-display);font-size:36px;letter-spacing:-0.01em;text-transform:uppercase;line-height:1;margin-bottom:8px;font-weight:500}
.faction__motto{position:relative;z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase;margin-bottom:24px;font-style:italic}
.faction__desc{position:relative;z-index:2;font-size:14px;line-height:1.7;color:var(--text-dim);margin-bottom:24px;flex:1}
.faction__attrs{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:24px;border-top:1px solid var(--line)}
.faction__attr .k{font-family:var(--font-mono);font-size:9px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}
.faction__attr .v{font-family:var(--font-tech);font-size:13px;color:var(--text);letter-spacing:0.04em;font-weight:500}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gallery__item{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,rgba(212,164,86,0.06),rgba(6,5,10,0.8))}
.gallery__item:nth-child(3n+1){grid-row:span 2;aspect-ratio:4/6}
.gallery__art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out-expo)}
.gallery__item:hover .gallery__art{transform:scale(1.06)}
.gallery__overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;background:linear-gradient(180deg,transparent 40%,rgba(6,5,10,0.95) 100%);opacity:0;transition:opacity 0.4s}
.gallery__item:hover .gallery__overlay{opacity:1}
.gallery__num{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:8px}
.gallery__caption{font-family:var(--font-display);font-size:18px;letter-spacing:-0.01em;text-transform:uppercase;line-height:1.2;font-weight:500}
.gallery__corners{position:absolute;inset:12px;z-index:3;pointer-events:none;opacity:0.4}
.gallery__corners i{position:absolute;width:14px;height:14px;border:1px solid var(--gold)}
.gallery__corners i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none}
.gallery__corners i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none}
.gallery__corners i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none}
.gallery__corners i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none}

/* =====================================================================
   PRESS KIT
   ===================================================================== */
.pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pk-block{border:1px solid var(--line);padding:40px;background:var(--surface);position:relative;overflow:hidden}
.pk-block__title{font-family:var(--font-mono);font-size:11px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:12px}
.pk-block__title::before{content:"";width:24px;height:1px;background:var(--gold)}

.pk-fact{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:14px 0;border-bottom:1px dashed var(--line)}
.pk-fact:last-child{border-bottom:none}
.pk-fact .k{font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-muted);text-transform:uppercase;align-self:center}
.pk-fact .v{font-family:var(--font-tech);font-size:14px;color:var(--text);letter-spacing:0.02em}

.pk-logos{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.pk-logo{background:var(--bg-0);padding:48px;display:flex;flex-direction:column;align-items:center;gap:24px;transition:background 0.3s}
.pk-logo:hover{background:var(--bg-1)}
.pk-logo--inv{background:#fafafa}
.pk-logo--inv:hover{background:#f0f0f0}
.pk-logo img{width:140px;height:auto;filter:drop-shadow(0 0 12px rgba(212,164,86,0.3))}
.pk-logo--inv img{filter:none}
.pk-logo__caption{font-family:var(--font-mono);font-size:10px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;text-align:center}
.pk-logo--inv .pk-logo__caption{color:#666}
.pk-download{display:inline-flex;gap:8px;font-family:var(--font-tech);font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);font-weight:600}
.pk-logo--inv .pk-download{color:#0a0a0a}

.pk-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pk-color{aspect-ratio:1;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase}
.pk-color b{display:block;font-weight:500;margin-bottom:2px}
.pk-color span{opacity:0.7;font-size:9px}
.pk-color--gold{background:var(--gold);color:var(--bg-0)}
.pk-color--platinum{background:var(--platinum);color:var(--bg-0)}
.pk-color--silver{background:var(--silver);color:var(--bg-0)}
.pk-color--bg{background:var(--bg-0);color:var(--text);border:1px solid var(--line-strong)}

.pk-typo{display:flex;flex-direction:column;gap:18px}
.pk-typo__row{padding-bottom:18px;border-bottom:1px dashed var(--line)}
.pk-typo__row:last-child{border-bottom:none;padding-bottom:0}
.pk-typo__sample{font-size:36px;line-height:1;letter-spacing:-0.01em;margin-bottom:6px}
.pk-typo__sample.display{font-family:var(--font-display);text-transform:uppercase;font-weight:500}
.pk-typo__sample.tech{font-family:var(--font-tech);font-weight:600;letter-spacing:0.06em}
.pk-typo__sample.body{font-family:var(--font-body);font-weight:500}
.pk-typo__sample.mono{font-family:var(--font-mono);font-size:24px;letter-spacing:0.04em}
.pk-typo__meta{font-family:var(--font-mono);font-size:10px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase}

.pk-screens{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pk-screen{position:relative;aspect-ratio:16/10;border:1px solid var(--line);overflow:hidden}
.pk-screen .pk-art{position:absolute;inset:0}
.pk-screen .pk-info{position:absolute;left:16px;bottom:16px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.25em;color:var(--text);text-transform:uppercase;background:rgba(0,0,0,0.6);padding:6px 10px;backdrop-filter:blur(8px)}
.pk-screen .pk-info b{color:var(--gold-bright)}

.pk-press-cta{margin-top:80px;text-align:center;padding:64px 32px;border:1px solid var(--gold-soft);background:radial-gradient(ellipse at center,rgba(212,164,86,0.08),transparent 70%);position:relative;overflow:hidden}
.pk-press-cta h3{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);letter-spacing:-0.01em;text-transform:uppercase;margin-bottom:18px;font-weight:500}
.pk-press-cta p{font-size:14px;color:var(--text-dim);max-width:520px;margin:0 auto 32px;line-height:1.7}
.pk-press-cta__buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* =====================================================================
   SUPPORT PAGE
   ===================================================================== */
.support-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;margin-bottom:72px;align-items:stretch}
.support-intro__copy,.support-intro__panel{border:1px solid var(--line);background:var(--surface);padding:40px;position:relative;overflow:hidden}
.support-intro__copy::before,.support-intro__panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.support-intro__copy p,.support-intro__panel p{font-size:15px;line-height:1.8;color:var(--text-dim);max-width:760px}
.support-payments{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:28px}
.support-payments>div{border:1px solid var(--line-strong);background:rgba(0,0,0,0.22);padding:18px;display:grid;gap:8px}
.support-payments b{font-family:var(--font-display);font-size:24px;letter-spacing:0.02em;text-transform:uppercase;font-weight:500}
.support-payments small{font-family:var(--font-tech);color:var(--text-dim);letter-spacing:0.04em}
.support-payments .is-disabled{opacity:.58}
.support-switch{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:32px}
.support-switch__btn{padding:22px 24px;background:var(--bg-0);text-align:left;border:none;color:var(--text-dim);transition:background .3s,color .3s}
.support-switch__btn span{display:block;font-family:var(--font-display);font-size:24px;text-transform:uppercase;letter-spacing:.02em;color:var(--text)}
.support-switch__btn small{display:block;margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase}
.support-switch__btn.is-active{background:linear-gradient(135deg,rgba(212,164,86,.16),rgba(201,208,216,.04));color:var(--gold-bright)}
.support-plans{display:none;grid-template-columns:repeat(4,1fr);gap:18px}
.support-plans.is-active{display:grid}
.support-plan{position:relative;border:1px solid var(--line);background:var(--surface);padding:30px;min-height:560px;display:flex;flex-direction:column;gap:22px;overflow:hidden;transition:transform .35s var(--ease-out-expo),border-color .35s,background .35s}
.support-plan::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.65}
.support-plan:hover{transform:translateY(-4px);border-color:var(--line-strong);background:var(--surface-strong)}
.support-plan--featured{border-color:var(--gold-soft);box-shadow:0 0 45px rgba(212,164,86,.08)}
.support-plan--premium{border-color:rgba(201,208,216,.22);background:linear-gradient(135deg,rgba(201,208,216,.045),rgba(212,164,86,.035)),var(--surface)}
.support-plan--premium::before{background:linear-gradient(90deg,var(--platinum),var(--gold),transparent)}
.support-plan__badge{position:absolute;top:14px;right:14px;font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--bg-0);background:var(--gold);padding:5px 8px}
.support-plan__head{display:grid;gap:8px}
.support-plan__head span{font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase}
.support-plan__head b{font-family:var(--font-display);font-size:clamp(22px,1.8vw,30px);line-height:1.05;text-transform:uppercase;font-weight:500;letter-spacing:.01em;overflow-wrap:anywhere}
.support-plan__price{font-family:var(--font-display);font-size:54px;line-height:.9;color:var(--text);font-weight:500}
.support-plan__price small{font-family:var(--font-tech);font-size:15px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}
.support-plan p{font-size:14px;line-height:1.65;color:var(--text-dim);margin:0}
.support-plan ul{display:grid;gap:10px;margin:0 0 8px;padding:0;list-style:none;color:var(--text-dim);font-size:13px;line-height:1.45}
.support-plan li{position:relative;padding-left:18px}
.support-plan li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.support-plan .btn{margin-top:auto;justify-content:center}
.support-note{margin-top:72px;text-align:center;border:1px solid var(--gold-soft);background:radial-gradient(ellipse at center,rgba(212,164,86,.08),transparent 72%),var(--surface);padding:52px 32px}
.support-note h3{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);text-transform:uppercase;font-weight:500;margin-bottom:14px}
.support-note p{max-width:760px;margin:0 auto;color:var(--text-dim);line-height:1.75}

/* =====================================================================
   DEVLOG ARCHIVE
   ===================================================================== */
.dl-filters{display:flex;align-items:center;gap:12px;margin-bottom:48px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px}
.dl-filters__label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;margin-right:8px}
.dl-filter{
  font-family:var(--font-tech);font-size:12px;letter-spacing:0.24em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--line-strong);background:transparent;color:var(--text-dim);
  transition:all 0.3s var(--ease-out-expo);position:relative;font-weight:600;
}
.dl-filter:hover{color:var(--text);border-color:var(--gold)}
.dl-filter.is-active{background:var(--gold);color:var(--bg-0);border-color:var(--gold)}
.dl-filter__count{display:inline-block;margin-left:8px;font-family:var(--font-mono);font-size:10px;opacity:0.7}

.dl-search{position:relative;margin-left:auto;flex:0 0 280px}
.dl-search input{width:100%;padding:11px 16px 11px 40px;background:transparent;border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-tech);font-size:13px;letter-spacing:0.04em;outline:none;transition:border-color 0.3s}
.dl-search input:focus{border-color:var(--gold)}
.dl-search input::placeholder{color:var(--text-muted)}
.dl-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;stroke:var(--text-muted);fill:none;stroke-width:1.8}

.dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;min-height:280px}
.dl-card{
  position:relative;border:1px solid var(--line);padding:30px 32px;background:var(--surface);
  min-height:300px;display:flex;flex-direction:column;gap:16px;transition:all 0.4s var(--ease-out-expo);overflow:hidden;
}
.dl-card::before{content:"";position:absolute;left:0;top:0;width:0;height:2px;transition:width 0.5s var(--ease-out-expo)}
.dl-card[data-cat="tech"]::before{background:var(--gold)}
.dl-card[data-cat="art"]::before{background:var(--platinum)}
.dl-card[data-cat="sound"]::before{background:var(--violet)}
.dl-card[data-cat="design"]::before{background:var(--amber)}
.dl-card:hover::before{width:100%}
.dl-card:hover{background:var(--surface-strong);border-color:var(--line-strong);transform:translateY(-4px)}
.dl-card.is-hidden{display:none}
.dl-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.dl-card__date{font-family:var(--font-mono);font-size:11px;letter-spacing:0.25em;color:var(--text-muted);text-transform:uppercase}
.dl-card__cat{font-family:var(--font-mono);font-size:9px;letter-spacing:0.3em;text-transform:uppercase;padding:4px 10px;border:1px solid;border-radius:2px;font-weight:500}
.dl-card[data-cat="tech"] .dl-card__cat{color:var(--gold-bright);border-color:var(--gold-soft);background:rgba(212,164,86,0.06)}
.dl-card[data-cat="art"] .dl-card__cat{color:var(--platinum);border-color:var(--silver-soft);background:rgba(201,208,216,0.05)}
.dl-card[data-cat="sound"] .dl-card__cat{color:var(--violet);border-color:var(--violet-soft);background:rgba(155,107,255,0.05)}
.dl-card[data-cat="design"] .dl-card__cat{color:var(--amber);border-color:var(--amber-soft);background:rgba(255,122,26,0.05)}
.dl-card__title{font-family:var(--font-display);font-size:clamp(18px,1.2vw,22px);letter-spacing:0;text-transform:uppercase;line-height:1.18;font-weight:500;max-width:92%}
.dl-card__excerpt{font-size:13px;line-height:1.65;color:var(--text-dim);max-width:94%}
.dl-card__more{margin-top:auto;font-family:var(--font-tech);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;font-weight:600}
.dl-card__more--disabled{border:0;background:none;padding:0;cursor:default;opacity:.72}
.dl-card__more svg{width:12px;height:12px}
.dl-empty{grid-column:1/-1;text-align:center;padding:80px 32px;color:var(--text-muted);font-family:var(--font-mono);font-size:13px;letter-spacing:0.2em;text-transform:uppercase;border:1px dashed var(--line)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1100px){
  .hero__meta{grid-template-columns:repeat(2,1fr)}
  .studio__intro{grid-template-columns:1fr;gap:32px}
  .values{grid-template-columns:repeat(2,1fr)}
  .timeline__items{grid-template-columns:repeat(3,1fr)}
  .team-core{grid-template-columns:repeat(2,1fr)}
  .team-members{grid-template-columns:1fr}
  .careers__intro{grid-template-columns:1fr;gap:32px}
  .jobs{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr;gap:40px}
  .newsletter__inner{grid-template-columns:1fr;gap:48px}
  .vg-stats{grid-template-columns:repeat(2,1fr)}
  .lore-entry{grid-template-columns:1fr;gap:18px}
  .factions{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery__item:nth-child(3n+1){grid-row:auto;aspect-ratio:4/3}
  .pk-grid{grid-template-columns:1fr}
  .pk-screens{grid-template-columns:1fr}
  .support-intro{grid-template-columns:1fr}
  .support-plans{grid-template-columns:repeat(2,1fr)}
  .dl-grid{grid-template-columns:1fr 1fr}
  .dl-search{margin-left:0;flex:1 0 100%}
}
@media (max-width:760px){
  .nav{padding:18px 20px}
  .nav.scrolled{padding:14px 20px}
  .nav__links{display:none}
  .nav__cta{display:none}
  .nav__menu-btn{display:flex}
  .side-label,.scroll-indicator{display:none}
  .hero{padding:0 20px}
  .hero__meta{grid-template-columns:1fr 1fr;gap:18px}
  .section{padding:80px 20px}
  .values{grid-template-columns:1fr}
  .timeline__items{grid-template-columns:repeat(2,1fr)}
  .game-card__content{padding:32px}
  .game-card__hud,.game-card__readout{display:none}
  .team-panel{padding:28px}
  .team-core{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .footer__bottom{flex-direction:column;align-items:flex-start}
  .footer{padding:60px 20px 30px}
  .newsletter{padding:60px 20px}
  .vg-stats{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .pk-logos{grid-template-columns:1fr}
  .pk-palette{grid-template-columns:repeat(2,1fr)}
  .support-switch{grid-template-columns:1fr}
  .support-plan{min-height:auto}
  .dl-grid{grid-template-columns:1fr}
  .page-header{padding:140px 20px 60px}
  /* === mobile additions === */
  .game-card{min-height:auto}
  .game-card__content{min-height:auto}
  .section__head{margin-bottom:48px}
  .hero__ctas{flex-direction:column;align-items:flex-start}
  .hero__ctas .btn{width:100%;max-width:320px;justify-content:center}
  .pk-fact{grid-template-columns:1fr}
  .careers__cta::before,.careers__cta::after{display:none}
  .game-card__bottom{flex-direction:column;align-items:flex-start;gap:20px}
  .newsletter__field{flex-wrap:wrap;gap:8px}
  .newsletter__submit{flex:1 0 100%;justify-content:center}
  .loader__pct{font-size:44px}
  .faction{min-height:auto}
  .vg-stats{grid-template-columns:1fr 1fr}
  .mobile-menu__nav a{font-size:clamp(28px,8vw,62px)}
}

/* Mobile portrait (<= 480 px) */
@media (max-width:480px){
  .nav{padding:12px 16px}
  .nav.scrolled{padding:10px 16px}
  .section{padding:56px 16px}
  .section__head{margin-bottom:28px}
  .page-header{padding:100px 16px 40px}
  .page-header__title{font-size:clamp(22px,8vw,80px);word-break:break-word}
  .page-header__sub{font-size:14px}
  .hero{padding:0 16px}
  .hero__tag{font-size:10px;letter-spacing:0.2em;padding:6px 10px}
  .hero__meta{gap:12px}
  .hero__meta-item .v{font-size:13px}
  .hero__ctas .btn{max-width:100%}
  .hero__corners{inset:16px}
  .loader__pct{font-size:34px}
  .loader__lines{font-size:9px;min-height:auto}
  .loader__sigil{width:90px;height:90px;margin-bottom:24px}
  .newsletter{padding:48px 16px}
  .newsletter__title{font-size:clamp(24px,7vw,48px)}
  .footer{padding:48px 16px 24px}
  .footer__brand{font-size:clamp(30px,12vw,90px)}
  .footer__grid{gap:20px}
  .footer__monument img{width:72px;height:72px}
  .footer__monument{margin-bottom:40px;gap:20px}
  .timeline__items{grid-template-columns:1fr}
  .timeline__track{padding:32px 0}
  .game-card__content{padding:20px 16px}
  .game-card__title{font-size:clamp(28px,9vw,72px)}
  .game-card__sub{font-size:clamp(12px,3.5vw,18px)}
  .game-card__desc{font-size:13px;margin-bottom:20px}
  .mobile-menu{padding:72px 20px 24px}
  .mobile-menu__nav a{font-size:clamp(24px,7.5vw,48px)}
  .mobile-menu__bottom{margin-top:24px}
  .careers__cta{padding:40px 16px}
  .careers__cta h3{font-size:clamp(22px,6vw,40px)}
  .team-panel{padding:16px}
  .team-card{min-height:210px;padding:20px 16px}
  .team-card__pseudo{font-size:clamp(24px,8vw,34px)}
  .faction{padding:24px 16px}
  .faction__name{font-size:26px}
  .faction__sigil{width:72px;height:72px;margin-bottom:16px}
  .lore-entry{padding:24px 16px}
  .lore-entry__title{font-size:20px}
  .vg-stats{grid-template-columns:1fr}
  .vg-stat{padding:20px 14px}
  .vg-stat .v{font-size:20px}
  .job{padding:20px 14px}
  .job__role{font-size:18px}
  .pk-block{padding:24px 16px}
  .support-intro__copy,.support-intro__panel,.support-note{padding:32px 16px}
  .support-plans{grid-template-columns:1fr}
  .support-plan{padding:24px 16px}
  .support-plan__price{font-size:44px}
  .dl-card{padding:20px 16px}
  .dl-filter{padding:7px 10px;font-size:11px}
  .value{padding:32px 20px}
  .gallery__item:nth-child(3n+1){aspect-ratio:4/3}
}

/* Touch devices: disable hover-only interactions */
@media (hover:none) and (pointer:coarse){
  .gallery__overlay{opacity:1}
  .faction:hover{transform:none;border-color:var(--line)}
  .team-card:hover{transform:none;background:rgba(6,5,10,0.72)}
  .dl-card:hover{transform:none}
  .social:hover{transform:none}
  .value:hover{background:var(--bg-0)}
  .nav__util{min-width:44px;min-height:44px}
  .job__arrow{width:44px;height:44px}
}

.reveal{opacity:0;transform:translateY(40px)}

