:root {
  --ink: #07070b;
  --ink-2: #0d0c13;
  --paper: #e9e6ee;
  --bone: #c9c4d0;
  --ash: #8f8999;
  --violet: #a977ef;
  --violet-2: #d0b0ff;
  --violet-dim: rgba(169,119,239,.16);
  --rule: rgba(233,230,238,.13);
  --max: 1220px;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--paper);
  font-family: var(--sans);
  line-height: 1.58;
  background:
    radial-gradient(circle at 72% 7%, rgba(116,58,180,.14), transparent 25rem),
    radial-gradient(circle at 6% 28%, rgba(151,109,216,.06), transparent 21rem),
    linear-gradient(180deg, #08080d 0%, #09090f 50%, #07070b 100%);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .22;
  background-image:
    radial-gradient(circle at 18% 23%, rgba(255,255,255,.55) 0 1px, transparent 1.4px),
    radial-gradient(circle at 72% 64%, rgba(255,255,255,.35) 0 .8px, transparent 1.2px),
    radial-gradient(circle at 44% 82%, rgba(177,122,255,.45) 0 .9px, transparent 1.3px);
  background-size: 97px 97px, 151px 151px, 211px 211px;
}

a { color: inherit; }
img { display:block; max-width:100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width:min(calc(100% - 44px), var(--max)); margin-inline:auto; }
.mono { font-family:var(--mono); }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(7,7,11,.78);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav {
  min-height: 72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  min-width:0;
}
.brand img {
  width:40px;
  height:42px;
  object-fit:contain;
}
.brand-copy {
  display:flex;
  align-items:baseline;
  gap:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-family:var(--mono);
}
.brand-copy strong { font-size:.79rem; }
.brand-copy span { color:var(--ash); font-size:.63rem; }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links .menu { display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.nav-links .menu li { margin:0; }
.nav-links a {
  text-decoration:none;
  color:var(--ash);
  font-family:var(--mono);
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.13em;
}
.nav-links a::before { content:"/ "; color:rgba(169,119,239,.62); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--paper); }
.menu-toggle {
  display:none;
  color:var(--paper);
  background:transparent;
  border:1px solid var(--rule);
  padding:9px 11px;
  font:600 .72rem var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Shared */
.kicker {
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--violet-2);
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.67rem;
}
.kicker::before {
  content:"✦";
  font-size:.66rem;
}
.rule-label {
  color:var(--ash);
  font:600 .64rem var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}
h1,h2,h3,p { margin-top:0; }
.display {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.045em;
}
.ghost-line { color:var(--ash); }
.actions { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; }
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 0;
  text-decoration:none;
  border-bottom:1px solid rgba(233,230,238,.24);
  font:700 .72rem var(--mono);
  text-transform:uppercase;
  letter-spacing:.13em;
}
.text-link:hover { color:var(--violet-2); border-color:var(--violet); }
.text-link.primary::before { content:"→"; color:var(--violet); }
.section { padding:118px 0; border-top:1px solid var(--rule); }
.section-title {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:64px;
  align-items:end;
  margin-bottom:52px;
}
.section-title h2 {
  margin:0;
  font:400 clamp(2.75rem,6vw,5.8rem)/.93 var(--serif);
  letter-spacing:-.055em;
}
.section-title p { color:var(--ash); max-width:540px; margin:0; }

/* Home hero */
.hero {
  min-height:760px;
  position:relative;
  overflow:hidden;
  display:grid;
  align-items:center;
}
.hero::after {
  content:"";
  position:absolute;
  right:-170px;
  top:50px;
  width:680px;
  height:680px;
  border:1px solid rgba(169,119,239,.13);
  border-radius:50%;
  box-shadow:0 0 0 92px rgba(169,119,239,.022), 0 0 0 184px rgba(169,119,239,.014);
}
.hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.07fr .93fr;
  gap:20px;
  align-items:center;
  padding:100px 0 88px;
}
.hero-copy { max-width:760px; }
.hero h1 {
  margin:24px 0 24px;
  font:400 clamp(4rem,8.4vw,8.7rem)/.82 var(--serif);
  letter-spacing:-.07em;
}
.hero h1 em {
  display:block;
  font-weight:400;
  color:var(--violet-2);
}
.hero-copy > p {
  max-width:610px;
  color:var(--bone);
  font-size:clamp(1rem,1.8vw,1.2rem);
}
.hero-mantra {
  margin-top:44px;
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--ash);
  font:600 .67rem var(--mono);
  text-transform:uppercase;
  letter-spacing:.18em;
}
.hero-mantra::before { content:""; width:54px; height:1px; background:var(--violet); }
.hero-symbol {
  position:relative;
  min-height:560px;
  display:grid;
  place-items:center;
  transform:translateX(7%);
}
.hero-symbol::before {
  content:"☾";
  position:absolute;
  top:7%;
  right:15%;
  font:400 3.1rem/1 var(--serif);
  color:rgba(208,176,255,.27);
}
.hero-symbol img {
  width:min(630px,115%);
  filter:drop-shadow(0 36px 70px rgba(0,0,0,.66));
}
.signal-strip {
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  overflow:hidden;
  background:rgba(255,255,255,.015);
}
.signal-track {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:34px;
  width:max-content;
  color:var(--ash);
  font:600 .64rem var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
  animation: drift 28s linear infinite;
}
.signal-track b { color:var(--violet-2); font-weight:500; }
.signal-track i { color:rgba(255,255,255,.22); font-style:normal; }
@keyframes drift { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .signal-track { animation:none; } }

/* Featured project */
.feature-wrap { position:relative; }
.feature-image {
  width:calc(100% + 72px);
  margin-left:-36px;
  min-height:610px;
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.feature-image img { width:100%; height:100%; min-height:610px; object-fit:cover; }
.feature-image::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,7,11,.15),rgba(7,7,11,0) 45%,rgba(7,7,11,.26));
}
.project-stamp {
  position:absolute;
  left:7%;
  bottom:-62px;
  width:min(530px,86%);
  padding:31px 34px 34px;
  background:#0b0a10;
  border-left:2px solid var(--violet);
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.project-stamp .number { color:var(--violet-2); font:600 .64rem var(--mono); letter-spacing:.17em; }
.project-stamp h3 {
  font:400 clamp(2.7rem,5vw,5rem)/.92 var(--serif);
  margin:13px 0 15px;
  letter-spacing:-.055em;
}
.project-stamp p { color:var(--ash); max-width:440px; }
.project-stamp .facts { display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0 0; color:var(--bone); font:500 .64rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.project-stamp .facts span::before { content:"// "; color:var(--violet); }
.feature-spacer { height:92px; }

/* Workshop */
.workshop {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:80px;
  align-items:start;
}
.workshop-intro h2 { font:400 clamp(2.9rem,5vw,5.2rem)/.94 var(--serif); letter-spacing:-.05em; margin:18px 0; }
.workshop-intro p { color:var(--ash); }
.notes { border-top:1px solid var(--rule); }
.note-row {
  display:grid;
  grid-template-columns:115px 1fr 34px;
  gap:24px;
  padding:25px 0;
  border-bottom:1px solid var(--rule);
  align-items:start;
}
.note-row time { color:var(--violet-2); font:600 .66rem var(--mono); letter-spacing:.1em; }
.note-row p { margin:0; color:var(--bone); }
.note-row .glyph { color:rgba(208,176,255,.38); text-align:right; }

/* Archive collage */
.archive-collage {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:34px;
  align-items:start;
}
.archive-piece { text-decoration:none; display:block; position:relative; }
.archive-piece img { width:100%; object-fit:cover; filter:saturate(.82) contrast(1.03); transition:filter .35s ease, transform .45s ease; }
.archive-piece:hover img { filter:saturate(1.05); transform:scale(1.012); }
.archive-piece.primary { margin-top:18px; }
.archive-piece.primary img { aspect-ratio:16/8.7; }
.archive-piece.secondary { margin-top:126px; }
.archive-piece.secondary img { aspect-ratio:4/5; }
.archive-caption {
  margin-top:16px;
  display:grid;
  grid-template-columns:110px 1fr;
  gap:20px;
}
.archive-caption span { color:var(--violet-2); font:600 .62rem var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.archive-caption h3 { margin:0 0 5px; font:400 1.8rem var(--serif); }
.archive-caption p { color:var(--ash); margin:0; font-size:.9rem; }

/* Manifesto */
.manifesto {
  position:relative;
  padding:140px 0 150px;
  overflow:hidden;
  text-align:center;
}
.manifesto::before {
  content:attr(data-watermark);
  position:absolute;
  inset:auto 0 -220px;
  color:rgba(169,119,239,.035);
  font:700 700px/.8 var(--serif);
  pointer-events:none;
}
.manifesto-inner { position:relative; z-index:1; max-width:930px; margin:auto; }
.manifesto .moon { color:var(--violet-2); font:400 3rem var(--serif); margin-bottom:18px; }
.manifesto blockquote {
  margin:0;
  font:400 clamp(3rem,7vw,6.7rem)/.94 var(--serif);
  letter-spacing:-.055em;
}
.manifesto blockquote em { color:var(--violet-2); font-weight:400; }
.manifesto p { max-width:660px; color:var(--ash); margin:30px auto 0; }

/* Footer */
.site-footer { border-top:1px solid var(--rule); padding:52px 0 66px; }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:36px; align-items:end; }
.footer-identity { display:flex; align-items:center; gap:18px; }
.footer-logo { width:68px; }
.footer-copy strong { display:block; font:600 .74rem var(--mono); letter-spacing:.15em; }
.footer-copy span { color:var(--ash); font-size:.76rem; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; }
.footer-links .footer-menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; list-style:none; margin:0; padding:0; }
.footer-links .footer-menu li { margin:0; }
.footer-links a { color:var(--ash); text-decoration:none; font:500 .67rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.footer-links a:hover { color:var(--violet-2); }

/* Internal page hero */
.page-hero { position:relative; padding:110px 0 86px; overflow:hidden; border-bottom:1px solid var(--rule); }
.page-hero::after { content:"✦"; position:absolute; right:8%; top:16%; font-size:10rem; color:rgba(169,119,239,.03); }
.page-hero h1 { margin:24px 0 23px; font:400 clamp(4rem,9vw,9rem)/.83 var(--serif); letter-spacing:-.07em; max-width:1050px; }
.page-hero > .container > p { color:var(--bone); max-width:760px; font-size:1.08rem; }

/* Games page */
.game-ledger { border-top:1px solid var(--rule); }
.game-entry { display:grid; grid-template-columns:150px 1fr; gap:44px; padding:62px 0 80px; border-bottom:1px solid var(--rule); }
.game-index { color:var(--violet-2); font:600 .67rem var(--mono); letter-spacing:.15em; padding-top:8px; }
.game-main { display:grid; grid-template-columns:1.1fr .9fr; gap:42px; align-items:start; }
.game-main img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.game-copy h2 { font:400 clamp(3rem,6vw,6rem)/.9 var(--serif); letter-spacing:-.06em; margin:0 0 18px; }
.game-copy p { color:var(--ash); }
.game-copy .spec { margin-top:26px; border-top:1px solid var(--rule); }
.game-copy .spec div { padding:10px 0; border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; gap:20px; font:500 .64rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.game-copy .spec span:first-child { color:var(--ash); }

/* SELF NOT FOUND page */
.snf-hero { padding-bottom:0; }
.snf-titleline { color:var(--violet-2); font:600 .67rem var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.snf-glitch { text-shadow:2px 0 rgba(169,119,239,.32), -2px 1px rgba(255,255,255,.08); }
.snf-art { margin-top:62px; width:100%; height:min(62vw,730px); overflow:hidden; border-top:1px solid var(--rule); }
.snf-art img { width:100%; height:100%; object-fit:cover; }
.snf-grid { display:grid; grid-template-columns:260px 1fr; gap:86px; }
.snf-spec { align-self:start; position:sticky; top:105px; border-top:1px solid var(--rule); }
.snf-spec .row { padding:16px 0; border-bottom:1px solid var(--rule); }
.snf-spec span { display:block; color:var(--ash); font:500 .61rem var(--mono); text-transform:uppercase; letter-spacing:.13em; margin-bottom:5px; }
.snf-copy h2 { font:400 clamp(2.7rem,5vw,5.4rem)/.94 var(--serif); letter-spacing:-.055em; }
.snf-copy > p { color:var(--bone); font-size:1.05rem; max-width:760px; }
.snf-copy .aside-quote { margin:58px 0; padding:8px 0 8px 34px; border-left:1px solid var(--violet); font:italic 400 clamp(1.8rem,3vw,3rem)/1.15 var(--serif); color:var(--violet-2); }
.features { list-style:none; padding:0; margin:44px 0 70px; counter-reset:feat; }
.features li { counter-increment:feat; display:grid; grid-template-columns:54px 1fr; padding:18px 0; border-top:1px solid var(--rule); color:var(--bone); }
.features li:last-child { border-bottom:1px solid var(--rule); }
.features li::before { content:"0" counter(feat); color:var(--violet-2); font:600 .63rem var(--mono); letter-spacing:.1em; padding-top:3px; }
.gallery { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; margin-top:30px; }
.gallery button { padding:0; background:transparent; border:0; cursor:zoom-in; overflow:hidden; min-height:240px; }
.gallery button:nth-child(3) { grid-column:1 / -1; }
.gallery img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease, filter .35s ease; filter:saturate(.86); }
.gallery button:hover img { transform:scale(1.015); filter:saturate(1.05); }
.lightbox { position:fixed; inset:0; z-index:100; background:rgba(4,4,7,.94); display:none; place-items:center; padding:30px; }
.lightbox.open { display:grid; }
.lightbox img { max-height:88vh; max-width:min(1400px,95vw); }
.lightbox button { position:absolute; right:24px; top:24px; width:44px; height:44px; border:1px solid var(--rule); background:#0c0b11; color:#fff; cursor:pointer; font-size:1.4rem; }

@media (max-width:960px) {
  .hero-grid { grid-template-columns:1fr; }
  .hero-symbol { min-height:420px; transform:none; margin-top:-35px; }
  .hero-symbol img { width:min(560px,88vw); }
  .section-title, .workshop, .snf-grid { grid-template-columns:1fr; gap:34px; }
  .feature-image { width:100%; margin-left:0; }
  .archive-collage { grid-template-columns:1fr 1fr; }
  .game-entry { grid-template-columns:100px 1fr; }
  .game-main { grid-template-columns:1fr; }
  .snf-spec { position:static; display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--rule); }
  .snf-spec .row { border-right:1px solid var(--rule); border-bottom:0; padding-right:10px; }
  .snf-spec .row:last-child { border-right:0; }
}

@media (max-width:680px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .nav { min-height:64px; }
  .brand-copy span { display:none; }
  .nav-links { display:none; position:absolute; top:70px; left:14px; right:14px; padding:18px 18px 20px; flex-direction:column; align-items:flex-start; gap:18px; background:#0b0a10; border:1px solid var(--rule); box-shadow:0 24px 60px rgba(0,0,0,.48); }
  .nav-links.open { display:flex; }
  .menu-toggle { display:block; }
  .hero { min-height:auto; }
  .hero-grid { padding:74px 0 30px; }
  .hero h1 { font-size:clamp(3.45rem,18vw,5.4rem); }
  .hero-symbol { min-height:330px; margin-top:-20px; }
  .hero::after { width:390px; height:390px; right:-205px; top:250px; }
  .signal-track { animation:none; width:auto; flex-wrap:wrap; gap:8px 18px; padding:12px 14px; }
  .signal-track:nth-child(n) span:nth-child(n+8) { display:none; }
  .section { padding:82px 0; }
  .section-title { margin-bottom:34px; }
  .feature-image, .feature-image img { min-height:420px; }
  .project-stamp { position:relative; left:auto; bottom:auto; width:calc(100% - 24px); margin:-62px 12px 0; padding:25px 24px 28px; }
  .feature-spacer { height:18px; }
  .workshop { gap:42px; }
  .note-row { grid-template-columns:84px 1fr; gap:16px; }
  .note-row .glyph { display:none; }
  .archive-collage { grid-template-columns:1fr; }
  .archive-piece.secondary { margin-top:20px; margin-left:14%; }
  .archive-piece.secondary img { aspect-ratio:16/10; }
  .archive-caption { grid-template-columns:84px 1fr; }
  .manifesto { padding:100px 0; }
  .footer-grid { grid-template-columns:1fr; align-items:start; }
  .footer-links { justify-content:flex-start; }
  .page-hero { padding:78px 0 58px; }
  .page-hero h1 { font-size:clamp(3.6rem,17vw,6.2rem); }
  .game-entry { grid-template-columns:1fr; gap:16px; padding:44px 0 58px; }
  .game-index { padding:0; }
  .snf-art { height:68vw; min-height:330px; }
  .snf-spec { grid-template-columns:1fr 1fr; }
  .snf-spec .row:nth-child(2) { border-right:0; }
  .snf-spec .row:nth-child(-n+2) { border-bottom:1px solid var(--rule); }
  .gallery { grid-template-columns:1fr; }
  .gallery button:nth-child(3) { grid-column:auto; }
}

/* WordPress content compatibility */
.wp-content { max-width: 900px; }
.wp-content > * { max-width: 100%; }
.wp-content h2, .wp-content h3, .wp-content h4 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.wp-content h2 { font-size: clamp(2rem, 5vw, 4rem); margin: 2.5rem 0 1rem; }
.wp-content h3 { font-size: clamp(1.5rem, 3vw, 2.5rem); margin: 2rem 0 .8rem; }
.wp-content p, .wp-content li { color: var(--bone); }
.wp-content a { color: var(--violet-2); }
.wp-content img { height: auto; }
.wp-content figure { margin-left: 0; margin-right: 0; }
.wp-content .wp-block-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.wp-content .wp-block-gallery figure { margin: 0; }
.wp-content input:not([type="submit"]), .wp-content textarea, .wp-content select {
  width: 100%; max-width: 100%; background: #0d0c13; color: var(--paper); border: 1px solid var(--rule); padding: 12px 14px; font: inherit;
}
.wp-content textarea { min-height: 160px; }
.wp-content button, .wp-content input[type="submit"] {
  background: transparent; color: var(--paper); border: 1px solid var(--violet); padding: 11px 16px; font: 700 .72rem var(--mono); text-transform: uppercase; letter-spacing: .12em; cursor: pointer;
}
.wp-content button:hover, .wp-content input[type="submit"]:hover { color: var(--violet-2); }
@media (max-width:680px) { .wp-content .wp-block-gallery { grid-template-columns:1fr; } }

/* V2.1 — editable archive + games showcase */
.archive-single { grid-template-columns: minmax(0, 1fr); max-width: 920px; }
.archive-single .archive-piece.primary { min-height: 520px; }

.showcase-section {
  padding: 72px 0 110px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}
.showcase-heading {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 58px;
  align-items: end;
  margin-bottom: 38px;
}
.showcase-heading h2 {
  margin: 8px 0 0;
  max-width: 760px;
  font: 400 clamp(2.6rem, 5.5vw, 5rem)/.95 var(--serif);
  letter-spacing: -.05em;
}
.showcase-heading p { color: var(--ash); margin: 0; max-width: 500px; }
.showcase-carousel { position: relative; }
.showcase-stage {
  position: relative;
  aspect-ratio: 16 / 8.2;
  min-height: 420px;
  overflow: hidden;
  background: #050507;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.showcase-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}
.showcase-slide.active { opacity: 1; pointer-events: auto; }
.showcase-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(3,3,5,.76) 100%);
  pointer-events: none;
}
.showcase-slide img { width: 100%; height: 100%; object-fit: cover; }
.showcase-slide figcaption {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 22px;
  display: flex;
  gap: 20px;
  align-items: baseline;
  color: var(--paper);
  font: 600 .72rem var(--mono);
  text-transform: uppercase;
  letter-spacing: .11em;
}
.showcase-slide figcaption span { color: var(--violet-2); }
.showcase-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(7,7,11,.72);
  color: var(--paper);
  font-size: 1.2rem;
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.showcase-arrow:hover { border-color: var(--violet); color: var(--violet-2); }
.showcase-arrow.prev { left: 18px; }
.showcase-arrow.next { right: 18px; }
.showcase-dots { display: flex; gap: 10px; margin-top: 18px; align-items: center; }
.showcase-dots button {
  width: 34px;
  height: 4px;
  padding: 0;
  border: 0;
  background: rgba(233,230,238,.17);
  cursor: pointer;
}
.showcase-dots button.active { background: var(--violet-2); }
.archive-project-images { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; align-self: start; }
.archive-project-images img { width: 100%; height: 100%; min-height: 270px; object-fit: cover; }
.archive-project-images img:last-child { object-fit: contain; background: rgba(255,255,255,.025); padding: 18px; }
.archive-project-media { align-items: start; }

@media (max-width: 780px) {
  .showcase-heading { grid-template-columns: 1fr; gap: 18px; }
  .showcase-stage { aspect-ratio: 4 / 3; min-height: 340px; }
  .showcase-slide figcaption { left: 18px; right: 18px; bottom: 16px; align-items: flex-start; flex-direction: column; gap: 4px; }
  .showcase-arrow { width: 44px; height: 44px; }
  .archive-project-images { grid-template-columns: 1fr; }
  .archive-project-images img { min-height: 220px; }
}

/* V2.2 — project-owned galleries and simplified studio flow */
.games-projects { padding-top: 0; }
.game-project { min-width: 0; }
.game-project-head { display: block; margin-bottom: 42px; }
.game-project-head .game-copy { max-width: 820px; }
.project-gallery-label {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 36px;
  align-items: end;
  margin: 42px 0 18px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}
.project-gallery-label span {
  color: var(--violet-2);
  font: 600 .65rem var(--mono);
  text-transform: uppercase;
  letter-spacing: .13em;
}
.project-gallery-label p { margin: 0; color: var(--ash); max-width: 620px; }
.project-showcase .showcase-stage { aspect-ratio: 16 / 9; }
.showcase-slide.contain { background: radial-gradient(circle at 50% 50%, rgba(169,119,239,.10), rgba(5,5,7,1) 56%); }
.showcase-slide.contain img { object-fit: contain; padding: clamp(18px, 4vw, 58px); }
.gallery-intro { color: var(--ash) !important; margin-bottom: 24px; }
.archive-home { border-top: 1px solid var(--rule); }

@media (max-width: 780px) {
  .project-gallery-label { grid-template-columns: 1fr; gap: 10px; }
  .project-showcase .showcase-stage { aspect-ratio: 4 / 3; min-height: 300px; }
  .showcase-slide.contain img { padding: 20px; }
}

/* V2.5 — scalable, block-editable press kits */
.press-kit-hero { padding-bottom: 72px; }
.press-kit-intro { max-width: 760px; margin-top: 28px; color: var(--ash); }
.press-kit-intro > :last-child { margin-bottom: 0; }
.press-kit-list { padding-top: 0; }
.press-kit-grid { display: grid; gap: clamp(28px, 5vw, 72px); }
.press-kit-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  min-height: 430px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: rgba(255,255,255,.015);
}
.press-kit-card-image { min-height: 430px; overflow: hidden; background: #050507; }
.press-kit-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.press-kit-card:hover .press-kit-card-image img { transform: scale(1.018); }
.press-kit-card-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 70px); }
.press-kit-card-copy h2 { margin: 12px 0 18px; font: 400 clamp(2.6rem, 5vw, 5.2rem)/.9 var(--serif); letter-spacing: -.05em; }
.press-kit-card-copy h2 a { color: var(--paper); text-decoration: none; }
.press-kit-card-copy p { color: var(--ash); margin: 0 0 30px; }
.press-kit-card-copy .text-link { align-self: flex-start; }
.press-kit-empty { color: var(--ash); border: 1px solid var(--rule); padding: 24px; }
.press-entry-hero { padding-bottom: 70px; }
.press-entry-art { width: min(1440px, 100%); margin: 0 auto; max-height: 780px; overflow: hidden; background: #050507; }
.press-entry-art img { display: block; width: 100%; max-height: 780px; object-fit: cover; }
.press-entry-content .wp-content { max-width: 980px; }
.press-entry-content .wp-block-gallery { margin: 42px 0; }
.press-entry-content .wp-block-file { padding: 18px 0; border-top: 1px solid var(--rule); }

@media (max-width: 780px) {
  .press-kit-card { grid-template-columns: 1fr; min-height: 0; }
  .press-kit-card-image { min-height: 260px; aspect-ratio: 16 / 10; }
  .press-kit-card-copy { padding: 30px 22px 36px; }
}

/* V2.6 — native Gutenberg page layouts */
.mythcode-native-page { overflow:hidden; }
.mythcode-native-page .mythcode-native-layout { margin:0; }
.mythcode-native-page .alignwide { width:min(calc(100% - 44px), var(--max)); max-width:var(--max); margin-left:auto; margin-right:auto; }
.mythcode-native-page .alignfull { width:100%; max-width:none; margin-left:0; margin-right:0; }
.mythcode-native-page .wp-block-heading { color:var(--paper); }
.mythcode-native-page p { color:var(--bone); }
.mythcode-native-page .native-kicker {
  color:var(--violet-2);
  font:600 .67rem var(--mono);
  text-transform:uppercase;
  letter-spacing:.18em;
}
.mythcode-native-page .native-display {
  margin:22px 0 24px;
  color:var(--paper);
  font:400 clamp(4rem,8.4vw,8.7rem)/.84 var(--serif);
  letter-spacing:-.07em;
}
.mythcode-native-page .native-display strong,
.mythcode-native-page .native-display em { color:var(--violet-2); font-weight:400; }
.native-hero {
  min-height:760px;
  display:grid;
  align-items:center;
  position:relative;
  padding:96px 0 82px;
  border-bottom:1px solid var(--rule);
}
.native-hero::after {
  content:"";
  position:absolute;
  right:-170px;
  top:50px;
  width:680px;
  height:680px;
  border:1px solid rgba(169,119,239,.13);
  border-radius:50%;
  box-shadow:0 0 0 92px rgba(169,119,239,.022),0 0 0 184px rgba(169,119,239,.014);
  pointer-events:none;
}
.native-hero-grid { position:relative; z-index:2; align-items:center !important; gap:clamp(28px,5vw,84px) !important; }
.native-hero-copy > p { max-width:650px; font-size:clamp(1rem,1.8vw,1.2rem); }
.native-hero-art figure { margin:0; }
.native-hero-art img { width:100%; max-height:620px; object-fit:contain; filter:drop-shadow(0 30px 80px rgba(90,35,170,.28)); }
.native-actions { gap:18px !important; margin-top:28px !important; }
.native-actions .wp-block-button__link {
  padding:8px 0;
  border:0;
  border-radius:0;
  border-bottom:1px solid rgba(233,230,238,.24);
  background:transparent;
  color:var(--paper);
  font:700 .72rem var(--mono);
  text-transform:uppercase;
  letter-spacing:.13em;
}
.native-actions .wp-block-button:first-child .wp-block-button__link::before { content:"→ "; color:var(--violet); }
.native-actions .wp-block-button__link:hover { color:var(--violet-2); border-color:var(--violet); }
.native-signal { padding:15px 22px; border-bottom:1px solid var(--rule); background:rgba(255,255,255,.015); }
.native-signal p { margin:0; text-align:center; color:var(--ash); font:600 .64rem var(--mono); text-transform:uppercase; letter-spacing:.13em; }
.native-section { padding:clamp(78px,10vw,126px) 0; border-bottom:1px solid var(--rule); }
.native-section-head { display:grid !important; grid-template-columns:.72fr 1.28fr; gap:64px; align-items:end !important; margin-bottom:52px; }
.native-section-head h2 { margin:8px 0 0; font:400 clamp(2.75rem,6vw,5.8rem)/.93 var(--serif); letter-spacing:-.055em; }
.native-section-head p { color:var(--ash); max-width:560px; margin:0; }
.native-feature { display:grid !important; grid-template-columns:1.12fr .88fr; gap:0 !important; align-items:stretch !important; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.native-feature > .wp-block-column { margin:0 !important; }
.native-feature-art figure { height:100%; margin:0; }
.native-feature-art img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.native-feature-copy { padding:clamp(32px,5vw,72px); background:rgba(255,255,255,.018); }
.native-feature-copy h3 { margin:16px 0 22px; font:400 clamp(2.4rem,4vw,4.4rem)/.95 var(--serif); letter-spacing:-.045em; }
.native-facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.native-facts p { margin:0; padding:7px 10px; border:1px solid var(--rule); color:var(--ash); font:600 .62rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.native-archive-card { position:relative; min-height:520px; overflow:hidden; }
.native-archive-card > figure { margin:0; position:absolute; inset:0; }
.native-archive-card > figure img { width:100%; height:100%; object-fit:cover; opacity:.58; }
.native-archive-copy { position:relative; z-index:2; max-width:700px; padding:clamp(34px,6vw,82px); background:linear-gradient(90deg,rgba(7,7,11,.94),rgba(7,7,11,.55),transparent); }
.native-archive-copy h3 { font:400 clamp(2.8rem,6vw,6rem)/.9 var(--serif); letter-spacing:-.05em; }
.native-manifesto { padding:clamp(90px,13vw,170px) 22px; text-align:center; background:radial-gradient(circle at 50% 50%,rgba(169,119,239,.12),transparent 38rem); }
.native-manifesto h2 { max-width:950px; margin:0 auto 28px; font:400 clamp(3rem,7vw,7rem)/.9 var(--serif); letter-spacing:-.06em; }
.native-manifesto p { max-width:720px; margin:0 auto; color:var(--ash); }
.native-page-hero { padding:clamp(90px,12vw,160px) 0 80px; border-bottom:1px solid var(--rule); }
.native-page-hero h1 { margin:16px 0 22px; font:400 clamp(4rem,9vw,9rem)/.84 var(--serif); letter-spacing:-.07em; }
.native-page-hero > p { max-width:760px; font-size:clamp(1rem,1.8vw,1.2rem); }
.native-game-entry { padding:clamp(80px,10vw,130px) 0; border-bottom:1px solid var(--rule); }
.native-game-heading { display:grid !important; grid-template-columns:.16fr 1.12fr .72fr; gap:clamp(24px,4vw,64px); align-items:start !important; }
.native-game-index { color:var(--violet-2) !important; font:600 .67rem var(--mono); text-transform:uppercase; letter-spacing:.13em; }
.native-game-heading > .wp-block-column:nth-child(2) h2 { margin:12px 0 24px; font:400 clamp(3.2rem,7vw,7.2rem)/.86 var(--serif); letter-spacing:-.06em; }
.native-game-heading > .wp-block-column:nth-child(2) > p { max-width:760px; }
.mythcode-rotunda { margin-top:42px !important; display:block !important; }
.mythcode-rotunda.showcase-carousel { width:100%; }
.native-snf-overview { display:grid !important; grid-template-columns:.34fr 1fr; gap:clamp(34px,7vw,110px); align-items:start !important; }
.native-spec { border-top:1px solid var(--rule); }
.native-spec p { display:flex; justify-content:space-between; gap:20px; margin:0; padding:14px 0; border-bottom:1px solid var(--rule); font:600 .66rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.native-spec strong { color:var(--ash); font-weight:500; }
.native-snf-copy h2 { font:400 clamp(2.8rem,5.5vw,5.8rem)/.92 var(--serif); letter-spacing:-.055em; }
.native-quote { margin:34px 0 !important; padding:24px 28px; border-left:3px solid var(--violet); background:var(--violet-dim); color:var(--paper) !important; font:400 clamp(1.4rem,3vw,2.3rem)/1.2 var(--serif); }

@media (max-width: 780px) {
  .nav-links .menu { flex-direction:column; align-items:flex-start; gap:18px; }
  .footer-links .footer-menu { justify-content:flex-start; }
  .native-hero { min-height:0; padding:76px 0 58px; }
  .native-hero::after { width:430px; height:430px; right:-260px; top:160px; }
  .native-hero-grid { flex-direction:column !important; }
  .native-hero-art { order:2; }
  .native-section-head,
  .native-feature,
  .native-game-heading,
  .native-snf-overview { grid-template-columns:1fr; gap:28px; }
  .native-feature-art img { min-height:300px; }
  .native-archive-card { min-height:580px; }
  .native-page-hero { padding:76px 0 54px; }
}
