*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --terminal-font: "Cascadia Mono", "Consolas", "Lucida Console", "Courier New", monospace;
  --terminal-size: 11px;
  --terminal-lh: 1.36;
  --terminal-weight: 400;
  --transition-theme: 9s ease-in-out;
  --page-bg: #0a0a0a;
  --brand-serif: "Cormorant Garamond", Garamond, Georgia, serif;
  --ui-serif: "Cormorant Garamond", Garamond, Georgia, serif;
  --c-black: #0C0C0C;
  --c-darkblue: #0037DA;
  --c-darkgreen: #13A10E;
  --c-darkcyan: #3A96DD;
  --c-darkred: #C50F1F;
  --c-darkmagenta: #881798;
  --c-darkyellow: #C19C00;
  --c-gray: #CCCCCC;
  --c-darkgray: #767676;
  --c-blue: #3B78FF;
  --c-green: #16C60C;
  --c-cyan: #61D6D6;
  --c-red: #E74856;
  --c-magenta: #B4009E;
  --c-yellow: #F9F1A5;
  --c-white: #F2F2F2;
  --console-sync-hue: 0deg;
  --console-pair-hue: 0deg;
  --console-sync-saturation: 72%;
  --console-sync-lightness: 58%;
  --console-pair-saturation: 72%;
  --console-pair-lightness: 52%;
  --console-pair-hue-offset: 180deg;
}

@property --console-sync-hue {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}

@property --console-pair-hue {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}

@keyframes console-sync-hue-rotate {
  to {
    --console-sync-hue: 360deg;
  }
}

@keyframes console-pair-hue-rotate {
  to {
    --console-pair-hue: 360deg;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  background-color: var(--page-bg);
  transition: background-color var(--transition-theme);
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  overflow-x: hidden;
  background-color: var(--page-bg);
  background-image: none;
  color: var(--text-primary);
  transition: background-color var(--transition-theme), color var(--transition-theme);
}

body.theme-light {
  --page-bg: #c85888;
  --text-primary: #111111;
  --text-secondary: #333333;
  --text-muted: #666666;
  --footer-color: #1a1a1a;
  background-image: linear-gradient(155deg, #f5b8d8 0%, #e878b8 52%, #c85888 100%);
  --t-default: #1a1a1a;
  --t-muted: #555555;
  --t-prompt: #111111;
  --t-cmd: #1a1a1a;
  --t-str: #2a2a2a;
  --t-var: #333333;
  --t-num: #444444;
  --t-path: #3a3a3a;
  --t-key: #222222;
  --t-val: #333333;
  --t-status: #2c2c2c;
  --t-brand: #0d0d0d;
}

body.theme-dark {
  --page-bg: #0a0a0a;
  --text-primary: #f0f0f0;
  --text-secondary: #d4d4d4;
  --text-muted: #a0a0a0;
  --footer-color: #f0f0f0;
  background-image: none;
  --t-default: #d4d4d4;
  --t-muted: #808080;
  --t-prompt: #cccccc;
  --t-cmd: #8ea8be;
  --t-str: #b8a898;
  --t-var: #a8b4c0;
  --t-num: #a8b0a4;
  --t-path: #b4ac9c;
  --t-key: #a8b4c0;
  --t-val: #d4d4d4;
  --t-status: #a0b4ac;
  --t-brand: #e2e2e2;
}

/* ── Terminal background ── */

.terminal-bg {
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.terminal-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: none;
}

.terminal-track {
  display: flex;
  flex-direction: row;
  height: 100%;
  width: max-content;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  background: none;
}

.terminal-block {
  flex-shrink: 0;
  height: 100%;
  background: none;
  contain: layout style paint;
  font-family: var(--terminal-font);
  font-size: var(--terminal-size);
  line-height: var(--terminal-lh);
  font-weight: var(--terminal-weight);
  letter-spacing: 0;
  font-variant-ligatures: none;
  white-space: pre;
  color: var(--t-default);
}

.terminal-line {
  white-space: nowrap;
}

.terminal-line span {
  transition: none;
}

.t-tail { color: var(--t-default); }

.t-prompt { color: var(--t-prompt); }
.t-cmd    { color: var(--t-cmd); }
.t-str    { color: var(--t-str); }
.t-var    { color: var(--t-var); }
.t-num    { color: var(--t-num); }
.t-path   { color: var(--t-path); }
.t-key    { color: var(--t-key); }
.t-val    { color: var(--t-val); }
.t-status { color: var(--t-status); }
.t-brand  { color: var(--t-brand); }
.t-muted  { color: var(--t-muted); }

body.theme-dark .t-status:nth-child(1) { color: #a0b4ac; }
body.theme-dark .terminal-line .t-cmd { color: #8ea8be; }
body.theme-dark .terminal-line .t-str { color: #b8a898; }
body.theme-dark .terminal-line .t-var { color: #a8b4c0; }
body.theme-dark .terminal-line .t-num { color: #a8b0a4; }
body.theme-dark .terminal-line .t-key { color: #a8b4c0; }
body.theme-dark .terminal-line .t-path { color: #b4ac9c; }
body.theme-dark .terminal-line .t-brand { color: #e2e2e2; }

/* Layer animation — duration set in JS; one segment width per cycle half */
@keyframes scroll-right {
  from { transform: translate3d(-50%, 0, 0); }
  to   { transform: translate3d(0, 0, 0); }
}

/* ── Brand composition ── */

.brand-composition {
  position: fixed;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding:
    max(clamp(1.5rem, 3vh, 2.25rem), env(safe-area-inset-top, 0px))
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right, 0px))
    max(clamp(4rem, 10vh, 6rem), calc(env(safe-area-inset-bottom, 0px) + 3.5rem))
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left, 0px));
  pointer-events: none;
  text-align: center;
}

/* Descriptor color cycle — english tagline + german subtitle only */
@keyframes descriptor-color-cycle {
  0%, 100% { color: #eeff00; }
  25%      { color: #ff2d9a; }
  50%      { color: #00d4ff; }
  75%      { color: #39ff14; }
}

.hero-tagline {
  position: relative;
  margin: 0;
  width: fit-content;
  max-width: min(98vw, 1680px);
  font-family: var(--brand-serif);
  font-size: clamp(1.21rem, 2.695vw, 2.09rem);
  font-weight: 400;
  letter-spacing: 0.028em;
  line-height: 1.35;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  animation: descriptor-color-cycle 20s linear infinite;
  padding: 0.34rem 0.58rem;
  border-radius: 0.55rem;
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}

body.theme-dark .hero-tagline {
  background: rgba(5, 5, 5, 0.68);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 2px 12px rgba(0, 0, 0, 0.28);
}

body.theme-light .hero-tagline {
  background: rgba(255, 250, 253, 0.76);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 12px rgba(0, 0, 0, 0.12);
}

.brand-core {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 100%;
  max-width: min(96vw, 1400px);
  margin: 0 auto;
}

.brand-text-block {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 0 10px;
  contain: paint;
}

.brand-letter {
  display: inline-block;
}

.company-de {
  position: relative;
  z-index: 1;
  margin: clamp(0.28rem, 0.55vh, 0.42rem) 0 0;
  padding: 0;
  max-width: 100%;
  font-family: var(--brand-serif);
  font-size: clamp(0.42rem, 0.92vw, 0.74rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.3;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  animation: descriptor-color-cycle 20s linear infinite;
}

body.theme-dark .hero-tagline,
body.theme-dark .company-de {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.94),
    0 0 6px rgba(0, 0, 0, 0.52);
}

body.theme-dark .brand-name {
  color: #ffffff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.98),
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 0 8px rgba(0, 0, 0, 0.68),
    0 0 14px rgba(0, 0, 0, 0.42);
}

body.theme-light .hero-tagline,
body.theme-light .company-de {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.82),
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 6px rgba(0, 0, 0, 0.42);
}

body.theme-light .brand-name {
  color: #111111;
  text-shadow:
    0 0 1px rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(255, 255, 255, 0.72),
    0 2px 4px rgba(255, 255, 255, 0.48);
}

body.theme-dark .brand-name .brand-letter:nth-child(4) {
  color: #ff2d9a;
  text-shadow:
    0 0 2px rgba(255, 45, 154, 0.9),
    0 0 10px rgba(255, 45, 154, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.98);
}

body.theme-light .brand-name .brand-letter:nth-child(4) {
  color: #e7f000;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.55),
    0 0 8px rgba(238, 255, 0, 0.58);
}

.brand-name {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--terminal-font);
  font-size: clamp(3rem, 10vw, 6rem);
  font-weight: 400;
  letter-spacing: 0.36em;
  line-height: 1;
  white-space: nowrap;
  color: #ffffff;
  transition: color var(--transition-theme);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga" 0;
}

/* ── Footer ── */

.site-footer {
  position: fixed;
  bottom: clamp(0.75rem, 2vh, 1.25rem);
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.25rem;
  padding:
    0
    max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-right, 0px))
    max(0px, env(safe-area-inset-bottom, 0px))
    max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-left, 0px));
  font-family: var(--ui-serif);
  font-size: clamp(0.936rem, 1.86vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.45;
  color: var(--footer-color);
  transition: color var(--transition-theme);
  pointer-events: auto;
}

body.theme-dark .site-footer {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.92),
    0 0 5px rgba(0, 0, 0, 0.48);
}

body.theme-light .site-footer {
  text-shadow:
    0 0 1px rgba(255, 255, 255, 0.96),
    0 1px 2px rgba(255, 255, 255, 0.82),
    0 0 4px rgba(255, 255, 255, 0.6);
}

.footer-email,
.footer-links {
  border-radius: 0.55rem;
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}

.footer-email {
  padding: 0.408rem 0.624rem;
}

.footer-links {
  padding: 0.408rem 0.624rem;
}

body.theme-dark .footer-email,
body.theme-dark .footer-links {
  background: rgba(5, 5, 5, 0.68);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 2px 12px rgba(0, 0, 0, 0.28);
}

body.theme-light .footer-email,
body.theme-light .footer-links {
  background: rgba(255, 250, 253, 0.76);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 12px rgba(0, 0, 0, 0.12);
}

.footer-email,
.footer-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease, opacity 0.25s ease;
}

.footer-email:hover,
.footer-link:hover,
.footer-link:focus-visible {
  opacity: 1;
}

body.theme-dark .footer-email:hover,
body.theme-dark .footer-link:hover,
body.theme-dark .footer-link:focus-visible {
  color: #ffffff;
}

body.theme-light .footer-email:hover,
body.theme-light .footer-link:hover,
body.theme-light .footer-link:focus-visible {
  color: #000000;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.5rem;
  text-align: right;
}

.footer-sep {
  opacity: 0.72;
}

.footer-copy {
  white-space: nowrap;
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  .terminal-layer--a .terminal-track {
    animation: none;
  }

  .terminal-layer--a .terminal-track {
    transform: translateX(-25%);
  }

  html,
  body {
    transition: none;
  }

  .terminal-line span,
  .hero-tagline,
  .company-de,
  .brand-name,
  .site-footer {
    transition: none;
  }

  .hero-tagline,
  .company-de {
    animation: none;
    color: #ffffff;
  }
}

/* ── Responsive ── */

@media (max-width: 900px) {
  .hero-tagline {
    font-size: clamp(1.045rem, 4.62vw, 1.705rem);
    letter-spacing: 0.024em;
  }

  .company-de {
    font-size: clamp(0.52rem, 1.35vw, 0.68rem);
    letter-spacing: 0.015em;
  }

  .brand-name {
    letter-spacing: 0.28em;
  }
}

@media (max-width: 600px) {
  :root {
    --terminal-size: 10px;
    --terminal-lh: 1.34;
  }

  .brand-composition {
    padding-top: max(clamp(1rem, 2.8vh, 1.5rem), env(safe-area-inset-top, 0px));
    padding-bottom: max(clamp(5.5rem, 14vh, 7rem), calc(env(safe-area-inset-bottom, 0px) + 4.75rem));
  }

  .brand-core {
    min-height: 0;
    flex: 1;
  }

  .brand-text-block {
    padding: 0 6px;
    width: 100%;
    max-width: min(96vw, 100%);
  }

  .hero-tagline {
    font-size: clamp(0.792rem, 3.96vw, 1.155rem);
    line-height: 1.4;
    letter-spacing: 0.02em;
    max-width: min(96vw, 100%);
    white-space: normal;
    text-wrap: balance;
  }

  .brand-name {
    font-size: clamp(1.9rem, 12.8vw, 3.25rem);
    letter-spacing: clamp(0.14em, 2.8vw, 0.22em);
    max-width: 100%;
  }

  .company-de {
    font-size: clamp(0.58rem, 2.85vw, 0.72rem);
    line-height: 1.38;
    letter-spacing: 0.012em;
    max-width: min(96vw, 100%);
    white-space: normal;
    text-wrap: balance;
  }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
    font-size: clamp(0.864rem, 4.08vw, 1.02rem);
  }

  .footer-email,
  .footer-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
  }

  .footer-email {
    padding: 0.24rem 0.6rem;
  }

  .footer-link {
    padding: 0.24rem 0.12rem;
  }

  .footer-links {
    justify-content: flex-start;
    text-align: left;
    gap: 0.25rem 0.45rem;
  }

  .footer-copy {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (max-width: 600px) and (max-height: 700px) {
  .brand-composition {
    padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    padding-bottom: max(4.75rem, calc(env(safe-area-inset-bottom, 0px) + 4.25rem));
  }

  .brand-name {
    font-size: clamp(1.7rem, 11.5vw, 2.75rem);
  }

  .hero-tagline {
    font-size: clamp(0.748rem, 3.52vw, 1.012rem);
    line-height: 1.35;
  }

  .company-de {
    font-size: clamp(0.54rem, 2.6vw, 0.66rem);
    margin-top: 0.22rem;
  }
}

@media (max-width: 360px) {
  :root {
    --terminal-size: 9.5px;
    --terminal-lh: 1.32;
  }

  .brand-composition {
    padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
  }

  .hero-tagline {
    font-size: clamp(0.726rem, 3.74vw, 0.902rem);
  }

  .brand-name {
    font-size: clamp(1.65rem, 11vw, 2.2rem);
    letter-spacing: 0.14em;
  }

  .company-de {
    font-size: clamp(0.52rem, 2.75vw, 0.62rem);
    line-height: 1.36;
  }
}

/* ── Legal page ── */

body.page-legal {
  overflow-x: hidden;
  overflow-y: auto;
}

.legal-nav {
  position: relative;
  z-index: 10;
  padding: clamp(1.25rem, 3vh, 2rem) clamp(1.25rem, 4vw, 3rem) 0;
}

.legal-back {
  font-family: var(--ui-serif);
  font-size: clamp(0.95rem, 1.6vw, 1.1rem);
  font-weight: 400;
  color: #ffffff;
  text-decoration: none;
  text-shadow:
    0 0 2px rgba(0, 0, 0, 0.95),
    0 0 6px rgba(0, 0, 0, 0.82);
  transition: opacity 0.2s ease;
}

body.theme-light .legal-back {
  text-shadow:
    0 0 2px rgba(255, 255, 255, 0.95),
    0 0 6px rgba(253, 240, 248, 0.9),
    0 0 8px rgba(0, 0, 0, 0.25);
}

.legal-back:hover,
.legal-back:focus-visible {
  opacity: 0.75;
}

.legal-main {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  padding: clamp(1.5rem, 4vh, 2.5rem) clamp(1rem, 4vw, 2rem) clamp(5rem, 12vh, 7rem);
}

.legal-panel {
  width: min(100%, 42rem);
  padding: clamp(2rem, 5vw, 3.5rem);
  background: #ffffff;
  color: #1a1a1a;
  font-family: var(--ui-serif);
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  font-weight: 400;
  line-height: 1.65;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.9),
    0 12px 48px rgba(0, 0, 0, 0.28),
    0 0 72px 32px rgba(255, 255, 255, 0.12);
}

.legal-panel h1 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 500;
  line-height: 1.2;
  color: #111111;
}

.legal-panel h1 + h1 {
  margin-top: 2.5rem;
}

.legal-panel h2 {
  margin: 1.75rem 0 0.65rem;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 500;
  line-height: 1.3;
  color: #111111;
}

.legal-panel p {
  margin: 0 0 1rem;
}

.legal-panel p:last-child {
  margin-bottom: 0;
}

.legal-panel a {
  color: #111111;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.legal-panel a:hover,
.legal-panel a:focus-visible {
  opacity: 0.72;
}

body.page-legal .site-footer {
  position: relative;
}

/* ── Sub pages (products, segestes, gaming labs) ── */

body.page-sub {
  overflow-x: hidden;
  overflow-y: auto;
}

body.page-sub .site-footer {
  position: relative;
}

.sub-nav {
  position: relative;
  z-index: 10;
  padding:
    max(clamp(1.25rem, 3vh, 2rem), env(safe-area-inset-top, 0px))
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right, 0px))
    0
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left, 0px));
}

.sub-back {
  font-family: var(--ui-serif);
  font-size: clamp(0.95rem, 1.6vw, 1.1rem);
  font-weight: 400;
  color: #ffffff;
  text-decoration: none;
  text-shadow:
    0 0 2px rgba(0, 0, 0, 0.95),
    0 0 6px rgba(0, 0, 0, 0.82);
  transition: opacity 0.2s ease;
}

body.theme-light .sub-back {
  text-shadow:
    0 0 2px rgba(255, 255, 255, 0.95),
    0 0 6px rgba(253, 240, 248, 0.9),
    0 0 8px rgba(0, 0, 0, 0.25);
}

.sub-back:hover,
.sub-back:focus-visible {
  opacity: 0.75;
}

.sub-main {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100dvh - 9rem);
  padding:
    clamp(1.5rem, 4vh, 3rem)
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right, 0px))
    max(clamp(5rem, 12vh, 7rem), calc(env(safe-area-inset-bottom, 0px) + 4rem))
    max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left, 0px));
  text-align: center;
}

.sub-main--stack {
  gap: clamp(0.85rem, 2.5vh, 1.35rem);
}

.sub-index {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.35rem, 3.5vh, 2.25rem);
  width: min(100%, 24rem);
}

.sub-index-link {
  font-family: var(--brand-serif);
  font-size: clamp(1.15rem, 3.8vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 1.35;
  color: #ffffff;
  text-decoration: none;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.94),
    0 0 8px rgba(0, 0, 0, 0.55);
  transition: opacity 0.2s ease;
}

.sub-index-link.sub-index-link--terminal {
  font-family: var(--terminal-font);
  font-size: clamp(1.9011rem, 6.2819vw, 2.8930rem);
  font-weight: var(--terminal-weight);
  letter-spacing: 0;
  color: #8f6dd4;
  text-align: center;
  white-space: nowrap;
  text-transform: none;
  font-variant: normal;
}

body.page-products {
  --console-sync-hue: 0deg;
  --console-pair-hue: 0deg;
  animation:
    console-sync-hue-rotate 180s linear infinite,
    console-pair-hue-rotate 210s linear infinite;
}

body.page-products .sub-back,
body.page-products .footer-email,
body.page-products .footer-link,
body.page-products .footer-copy {
  color: hsl(
    var(--console-sync-hue)
    var(--console-sync-saturation)
    var(--console-sync-lightness)
  );
  transition: opacity 0.2s ease;
}

body.page-products .footer-email,
body.page-products .footer-link {
  transition: opacity 0.25s ease;
}

body.page-products .sub-index-link.sub-index-link--terminal {
  transition: opacity 0.2s ease;
}

body.page-products .sub-index-link--terminal:nth-child(1) {
  color: hsl(
    var(--console-pair-hue)
    var(--console-pair-saturation)
    var(--console-pair-lightness)
  );
}

body.page-products .sub-index-link--terminal:nth-child(2) {
  color: hsl(
    calc(var(--console-pair-hue) + var(--console-pair-hue-offset))
    var(--console-pair-saturation)
    var(--console-pair-lightness)
  );
}

body.theme-light .sub-index-link {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.82),
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 8px rgba(0, 0, 0, 0.42);
}

.sub-index-link:hover,
.sub-index-link:focus-visible,
.sub-product-link:hover,
.sub-product-link:focus-visible {
  opacity: 0.78;
}

.sub-title {
  margin: 0;
  font-family: var(--brand-serif);
  font-size: clamp(1.85rem, 5.5vw, 2.85rem);
  font-weight: 400;
  letter-spacing: 0.22em;
  line-height: 1.15;
  color: #ffffff;
  text-transform: uppercase;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.98),
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 0 10px rgba(0, 0, 0, 0.55);
}

.sub-title--compact {
  font-size: clamp(1.35rem, 4.2vw, 2.1rem);
  letter-spacing: 0.16em;
}

.sub-title--product {
  font-size: clamp(1.5rem, 4.8vw, 2.35rem);
  letter-spacing: 0.12em;
  text-wrap: balance;
  max-width: min(96vw, 22rem);
}

body.theme-light .sub-title {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.88),
    0 1px 2px rgba(0, 0, 0, 0.78),
    0 2px 4px rgba(0, 0, 0, 0.62),
    0 0 8px rgba(0, 0, 0, 0.45);
}

.sub-lead {
  margin: 0;
  max-width: min(96vw, 26rem);
  font-family: var(--brand-serif);
  font-size: clamp(0.95rem, 2.8vw, 1.2rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: #f0f0f0;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.92),
    0 0 6px rgba(0, 0, 0, 0.5);
}

body.theme-light .sub-lead {
  color: #1a1a1a;
  text-shadow:
    0 0 1px rgba(255, 255, 255, 0.9),
    0 0 6px rgba(253, 240, 248, 0.75);
}

.sub-status {
  margin: 0;
  font-family: var(--ui-serif);
  font-size: clamp(0.82rem, 2.4vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #ffffff;
  animation: descriptor-color-cycle 20s linear infinite;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.94);
}

body.theme-light .sub-status {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.82),
    0 1px 2px rgba(0, 0, 0, 0.72);
}

.sub-kicker {
  margin: 0;
  font-family: var(--ui-serif);
  font-size: clamp(0.72rem, 2vw, 0.85rem);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(240, 240, 240, 0.82);
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.95),
    0 0 5px rgba(0, 0, 0, 0.45);
}

body.theme-light .sub-kicker {
  color: rgba(26, 26, 26, 0.78);
  text-shadow:
    0 0 1px rgba(255, 255, 255, 0.85),
    0 0 5px rgba(253, 240, 248, 0.65);
}

.countdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(3.25rem, 1fr));
  gap: clamp(0.45rem, 2vw, 0.85rem);
  width: min(100%, 22rem);
  margin-top: 0.35rem;
}

.countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.countdown-value {
  font-family: var(--terminal-font);
  font-size: clamp(1.2rem, 4.8vw, 1.65rem);
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 0 6px rgba(0, 0, 0, 0.55);
}

.countdown-label {
  font-family: var(--ui-serif);
  font-size: clamp(0.62rem, 2vw, 0.72rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(240, 240, 240, 0.78);
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.65);
}

body.theme-light .countdown-value {
  color: #111111;
  text-shadow:
    0 0 1px rgba(255, 255, 255, 0.9),
    0 0 5px rgba(253, 240, 248, 0.7);
}

body.theme-light .countdown-label {
  color: rgba(26, 26, 26, 0.72);
  text-shadow: none;
}

.sub-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin-top: 0.5rem;
  padding: 0.55rem 1.35rem;
  border: 1px solid rgba(255, 255, 255, 0.38);
  font-family: var(--ui-serif);
  font-size: clamp(0.78rem, 2.4vw, 0.92rem);
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.18);
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.75);
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.sub-cta:hover,
.sub-cta:focus-visible {
  opacity: 0.82;
  border-color: rgba(255, 255, 255, 0.55);
}

body.theme-light .sub-cta {
  color: #111111;
  border-color: rgba(17, 17, 17, 0.35);
  background: rgba(255, 255, 255, 0.22);
  text-shadow: none;
}

.sub-product-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  width: min(100%, 22rem);
  text-align: left;
}

.sub-product-list li {
  margin: 0;
}

.sub-product-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0.35rem 0;
  font-family: var(--brand-serif);
  font-size: clamp(0.95rem, 2.8vw, 1.15rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.3;
  color: #ffffff;
  text-decoration: none;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 2px rgba(0, 0, 0, 0.92),
    0 0 6px rgba(0, 0, 0, 0.48);
}

body.theme-light .sub-product-link {
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.82),
    0 1px 2px rgba(0, 0, 0, 0.72);
}

.sub-product-icon {
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
  color: #ffffff;
}

body.theme-light .sub-product-icon {
  color: #111111;
}

@media (max-width: 600px) {
  .sub-main {
    min-height: calc(100dvh - 8.5rem);
    padding-bottom: max(5.5rem, calc(env(safe-area-inset-bottom, 0px) + 4.5rem));
  }

  .countdown {
    grid-template-columns: repeat(4, minmax(2.75rem, 1fr));
  }

  .sub-title--product {
    letter-spacing: 0.08em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sub-status {
    animation: none;
    color: #ffffff;
  }
}


/* ── Products editorial layout v2 ── */
body.page-products .products-editorial {
  justify-content: flex-start;
  text-align: left;
  min-height: calc(100dvh - 8rem);
  padding-top: clamp(3.6rem, 7vh, 5.6rem);
  padding-bottom: clamp(7.5rem, 12vh, 10rem);
}

.products-shell {
  width: min(100%, 86rem);
  margin: 0 auto;
}

.products-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto clamp(2.2rem, 4.5vh, 3.8rem);
  padding: 0.48rem 1rem 0.62rem;
  border-radius: 0.6rem;
  background: rgba(4, 4, 4, 0.64);
  box-shadow: 0 0 0 1px rgba(255,255,255,.055), 0 8px 28px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.products-kicker {
  margin: 0;
  font-family: var(--brand-serif);
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.96);
  text-shadow: 0 1px 3px #000, 0 0 10px rgba(0,0,0,.65);
}

.products-accent {
  display: block;
  width: 72%;
  height: 1px;
  margin-top: .65rem;
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  box-shadow: 0 0 7px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}

.product-chapter {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 22rem);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  min-height: clamp(15.5rem, 31vh, 20.5rem);
  padding: clamp(2rem, 4vh, 3.25rem) clamp(1.5rem, 4vw, 4.25rem);
  border-top: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(90deg, rgba(3,3,3,.68) 0%, rgba(3,3,3,.46) 55%, rgba(3,3,3,.62) 100%);
  -webkit-backdrop-filter: blur(2.2px);
  backdrop-filter: blur(2.2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 12px 45px rgba(0,0,0,.12);
}
.product-chapter:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
.product-chapter + .product-chapter { margin-top: clamp(1rem, 2.2vh, 1.6rem); }

.product-chapter__primary { min-width: 0; }
.product-chapter h1, .product-chapter h2 {
  margin: 0 0 .55rem;
  font-family: var(--brand-serif);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.035em;
  text-transform: none;
  color: hsl(var(--console-pair-hue) var(--console-pair-saturation) var(--console-pair-lightness));
  text-shadow: 0 2px 3px #000, 0 0 12px rgba(0,0,0,.82);
}
.product-chapter h1 { font-size: clamp(4.1rem, 8.2vw, 7.8rem); }
.product-chapter--gaming h2 {
  font-size: clamp(3.15rem, 6.6vw, 6.35rem);
  color: hsl(calc(var(--console-pair-hue) + var(--console-pair-hue-offset)) var(--console-pair-saturation) var(--console-pair-lightness));
}

.product-chapter__description {
  margin: 0 0 1.35rem;
  font-family: var(--brand-serif);
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .01em;
  color: rgba(255,255,255,.94);
  text-shadow: 0 1px 3px #000, 0 0 7px #000;
}

.product-enter {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-width: clamp(13.5rem, 20vw, 17rem);
  padding: .72rem 1.05rem .68rem 1.25rem;
  border: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .7);
  border-radius: .5rem;
  background: rgba(3,3,3,.64);
  box-shadow: 0 0 12px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .12);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  font-family: var(--ui-serif);
  font-size: clamp(.78rem, 1vw, .92rem);
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255,255,255,.96);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.product-enter b { font-size: 1.2rem; font-weight: 400; letter-spacing: 0; transition: transform .2s ease; }
.product-enter:hover, .product-enter:focus-visible { transform: translateY(-1px); background: rgba(8,8,8,.82); }
.product-enter:hover b, .product-enter:focus-visible b { transform: translateX(.22rem); }

.product-chapter__aside {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(1.8rem, 3vw, 3rem);
  border-left: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .38);
}
.product-words {
  margin: 0;
  font-family: var(--ui-serif);
  font-size: clamp(.74rem, 1vw, .9rem);
  line-height: 1.8;
  letter-spacing: .31em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  text-shadow: 0 1px 3px #000;
}
.product-rule {
  display: block;
  width: 1.8rem;
  height: 2px;
  margin: 1rem 0 .85rem;
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  box-shadow: 0 0 6px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .45);
}
.product-note {
  margin: 0;
  font-family: var(--brand-serif);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.25;
  color: rgba(255,255,255,.9);
  text-shadow: 0 1px 3px #000;
}

body.theme-light .products-heading { background: rgba(255,250,253,.78); box-shadow: 0 0 0 1px rgba(0,0,0,.07), 0 8px 28px rgba(0,0,0,.1); }
body.theme-light .products-kicker { color: rgba(15,15,15,.95); text-shadow: 0 1px 3px #fff; }
body.theme-light .product-chapter { border-color: rgba(0,0,0,.12); background: linear-gradient(90deg, rgba(255,252,254,.78), rgba(255,252,254,.55) 55%, rgba(255,252,254,.72)); }
body.theme-light .product-chapter h1, body.theme-light .product-chapter h2 { text-shadow: 0 1px 3px rgba(255,255,255,.95), 0 0 8px rgba(255,255,255,.75); }
body.theme-light .product-chapter__description, body.theme-light .product-words, body.theme-light .product-note { color: rgba(15,15,15,.9); text-shadow: 0 1px 3px #fff; }
body.theme-light .product-enter { color: #111; background: rgba(255,255,255,.72); }

@media (max-width: 760px) {
  body.page-products .products-editorial { padding-top: 3.25rem; padding-bottom: 9rem; }
  .products-heading { margin-bottom: 1.6rem; }
  .products-kicker { font-size: 1.2rem; }
  .product-chapter { grid-template-columns: 1fr; gap: 1.8rem; min-height: 0; padding: 2rem 1.25rem 2.2rem; }
  .product-chapter h1 { font-size: clamp(3.6rem, 19vw, 5.5rem); }
  .product-chapter--gaming h2 { font-size: clamp(2.8rem, 13.5vw, 4.3rem); line-height: .95; }
  .product-chapter__description { font-size: clamp(1.15rem, 5.4vw, 1.4rem); }
  .product-chapter__aside { padding: 1.3rem 0 0; border-left: 0; border-top: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .28); }
  .product-enter { min-width: min(100%, 16rem); }
}

@media (prefers-reduced-motion: reduce) {
  .product-enter, .product-enter b { transition: none; }
}

/* ── Editorial product subpages: SEGESTES / Gaming Labs / Legal ── */
body.page-segestes,
body.page-gaming-labs,
body.page-legal {
  --console-sync-hue: 0deg;
  animation: console-sync-hue-rotate 180s linear infinite;
}

body.page-segestes .sub-back,
body.page-segestes .footer-email,
body.page-segestes .footer-link,
body.page-segestes .footer-copy,
body.page-gaming-labs .sub-back,
body.page-gaming-labs .footer-email,
body.page-gaming-labs .footer-link,
body.page-gaming-labs .footer-copy,
body.page-legal .legal-back,
body.page-legal .footer-email,
body.page-legal .footer-link,
body.page-legal .footer-copy {
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}

.editorial-kicker {
  margin: 0 0 .7rem;
  font-family: var(--terminal-font);
  font-size: clamp(.68rem, .85vw, .8rem);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  text-shadow: 0 1px 3px #000;
}

.editorial-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-width: min(100%, 16.5rem);
  padding: .76rem 1.05rem .72rem 1.2rem;
  border: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .68);
  border-radius: .45rem;
  background: rgba(4,4,4,.66);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  box-shadow: 0 0 14px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .12);
  font-family: var(--ui-serif);
  font-size: .86rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}
.editorial-cta span { font-size: 1.2rem; letter-spacing: 0; }
.editorial-cta:hover,
.editorial-cta:focus-visible { transform: translateY(-1px); background: rgba(12,12,12,.85); }

/* SEGESTES */
.segestes-page {
  position: relative;
  z-index: 5;
  width: min(100% - 2rem, 88rem);
  margin: 0 auto;
  padding: clamp(2rem, 5vh, 4rem) 0 clamp(7rem, 13vh, 10rem);
}

.segestes-hero {
  min-height: clamp(24rem, 58vh, 38rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(2rem, 5vw, 5rem);
  background: linear-gradient(90deg, rgba(3,3,3,.76), rgba(3,3,3,.34) 70%, rgba(3,3,3,.08));
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}

.segestes-hero h1 {
  margin: -.1em 0 .15em;
  font-family: var(--brand-serif);
  font-size: clamp(5.8rem, 13vw, 12rem);
  font-weight: 500;
  line-height: .78;
  letter-spacing: -.045em;
  text-transform: lowercase;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  text-shadow: 0 2px 4px #000, 0 0 18px rgba(0,0,0,.8);
}

.segestes-hero-copy {
  margin: .9rem 0 0;
  max-width: 42rem;
  font-family: var(--brand-serif);
  font-size: clamp(1.65rem, 3vw, 2.7rem);
  line-height: 1.02;
  color: #fff;
  text-shadow: 0 2px 5px #000;
}

.segestes-hero-rule {
  width: clamp(4rem, 8vw, 7rem);
  height: 1px;
  margin: 1.45rem 0 1.1rem;
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  box-shadow: 0 0 8px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .5);
}

.segestes-hero-note {
  margin: 0;
  max-width: 37rem;
  font-family: var(--ui-serif);
  font-size: clamp(.98rem, 1.4vw, 1.18rem);
  line-height: 1.45;
  color: rgba(255,255,255,.8);
  text-shadow: 0 1px 3px #000;
}

.segestes-section {
  margin-top: clamp(1.2rem, 2.5vh, 2rem);
  padding: clamp(2.2rem, 5vw, 4.5rem);
  background: rgba(3,3,3,.68);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}

.section-heading-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(1.8rem, 4vh, 3rem);
}

.segestes-section h2,
.tester-callout h2 {
  margin: 0;
  font-family: var(--brand-serif);
  font-size: clamp(2.35rem, 5.2vw, 5rem);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -.025em;
  color: #fff;
  text-shadow: 0 2px 4px #000;
}

.section-side-note {
  margin: 0;
  padding-left: 1.5rem;
  border-left: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .45);
  font-family: var(--terminal-font);
  font-size: .78rem;
  line-height: 1.65;
  letter-spacing: .08em;
  color: rgba(255,255,255,.74);
  text-align: left;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
}

.portfolio-card {
  min-height: 10.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.1rem;
  border: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
}
.portfolio-card:nth-child(3) { border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .45); }
.portfolio-label,
.portfolio-state {
  font-family: var(--terminal-font);
  font-size: .64rem;
  letter-spacing: .15em;
  color: rgba(255,255,255,.62);
}
.portfolio-card strong {
  font-family: var(--brand-serif);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
.portfolio-state { color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness)); }
.portfolio-disclaimer {
  margin: 1.2rem 0 0;
  max-width: 54rem;
  font-family: var(--ui-serif);
  font-size: .82rem;
  line-height: 1.45;
  color: rgba(255,255,255,.58);
}

.segestes-mini {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .85fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
}
.mini-status {
  margin: .8rem 0 .6rem;
  font-family: var(--terminal-font);
  font-size: .78rem;
  letter-spacing: .22em;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}
.mini-description {
  margin: 0 0 1.4rem;
  max-width: 34rem;
  font-family: var(--brand-serif);
  font-size: clamp(1.2rem, 1.7vw, 1.5rem);
  line-height: 1.3;
  color: rgba(255,255,255,.88);
}
.mini-countdown-wrap {
  padding-left: clamp(1.5rem, 4vw, 3rem);
  border-left: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .38);
}
.countdown-caption {
  margin: 0 0 .8rem;
  font-family: var(--terminal-font);
  font-size: .68rem;
  letter-spacing: .16em;
  color: rgba(255,255,255,.65);
}
.page-segestes .countdown { width: 100%; margin: 0; }

/* Gaming Labs */
.gaming-page {
  position: relative;
  z-index: 5;
  width: min(100% - 2rem, 88rem);
  margin: 0 auto;
  padding: clamp(2rem, 5vh, 4rem) 0 clamp(7rem, 13vh, 10rem);
}
.gaming-hero {
  padding: clamp(2.5rem, 6vw, 5.5rem);
  background: linear-gradient(90deg, rgba(3,3,3,.74), rgba(3,3,3,.28));
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}
.gaming-hero h1 {
  margin: 0 0 .25rem;
  max-width: 60rem;
  font-family: var(--brand-serif);
  font-size: clamp(4.2rem, 10vw, 9rem);
  font-weight: 500;
  line-height: .82;
  letter-spacing: -.04em;
  text-transform: lowercase;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  text-shadow: 0 2px 5px #000;
}
.gaming-hero > p:last-child {
  margin: 1rem 0 0;
  font-family: var(--brand-serif);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  color: rgba(255,255,255,.9);
}
.games-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1rem;
}
.game-card {
  position: relative;
  min-height: clamp(13rem, 25vh, 18rem);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr auto;
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.6rem);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(3,3,3,.69);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
a.game-card:hover,
a.game-card:focus-visible {
  transform: translateY(-2px);
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .55);
  background: rgba(8,8,8,.82);
}
.game-card--moba {
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .38);
}
.game-index {
  font-family: var(--terminal-font);
  font-size: .7rem;
  letter-spacing: .15em;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}
.game-card h2 {
  margin: 0 0 .5rem;
  font-family: var(--brand-serif);
  font-size: clamp(2rem, 4.5vw, 4.4rem);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.02em;
}
.game-card p {
  margin: 0;
  max-width: 30rem;
  font-family: var(--ui-serif);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.35;
  color: rgba(255,255,255,.73);
}
.game-state {
  grid-column: 2;
  font-family: var(--terminal-font);
  font-size: .66rem;
  letter-spacing: .17em;
  color: rgba(255,255,255,.55);
}
.tester-callout {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-top: 1rem;
  padding: clamp(2.2rem, 5vw, 4.5rem);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(3,3,3,.7);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}
.tester-callout p:not(.editorial-kicker) {
  max-width: 48rem;
  margin: 1rem 0 0;
  font-family: var(--brand-serif);
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.35;
  color: rgba(255,255,255,.8);
}

/* Legal: retain content, bring presentation into the URAETA language */
body.page-legal .legal-main { padding-top: clamp(1.2rem, 3vh, 2rem); }
body.page-legal .legal-panel {
  width: min(100%, 58rem);
  padding: clamp(2rem, 5vw, 4.5rem);
  background: rgba(7,7,7,.88);
  color: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .2rem;
  box-shadow: 0 16px 60px rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
body.page-legal .legal-panel h1 {
  font-family: var(--brand-serif);
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  font-weight: 500;
  letter-spacing: -.025em;
  color: #fff;
}
body.page-legal .legal-panel h2 {
  font-family: var(--brand-serif);
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}
body.page-legal .legal-panel p { color: rgba(255,255,255,.78); }
body.page-legal .legal-panel strong { color: #fff; }
body.page-legal .legal-panel a {
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
}
body.theme-light.page-legal .legal-panel {
  background: rgba(255,250,253,.9);
  color: #171717;
  border-color: rgba(0,0,0,.1);
}
body.theme-light.page-legal .legal-panel h1,
body.theme-light.page-legal .legal-panel strong { color: #111; }
body.theme-light.page-legal .legal-panel p { color: rgba(15,15,15,.82); }

@media (max-width: 900px) {
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-card:last-child { grid-column: 1 / -1; min-height: 8rem; }
  .segestes-mini { grid-template-columns: 1fr; }
  .mini-countdown-wrap { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .32); }
  .tester-callout { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 680px) {
  .segestes-page,
  .gaming-page { width: min(100% - 1rem, 88rem); padding-top: 1.5rem; }
  .segestes-hero,
  .segestes-section,
  .gaming-hero,
  .tester-callout { padding: 1.6rem 1.2rem 1.8rem; }
  .segestes-hero { min-height: 23rem; }
  .segestes-hero h1 { font-size: clamp(4.7rem, 24vw, 7rem); }
  .section-heading-row { grid-template-columns: 1fr; align-items: start; }
  .section-side-note { padding: 1rem 0 0; border-left: 0; border-top: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .35); }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-card,
  .portfolio-card:last-child { grid-column: auto; min-height: 7.8rem; }
  .portfolio-card strong { font-size: 2.7rem; }
  .gaming-hero h1 { font-size: clamp(3.7rem, 19vw, 5.8rem); }
  .games-grid { grid-template-columns: 1fr; }
  .game-card { min-height: 12rem; grid-template-columns: auto 1fr; }
  .game-card h2 { font-size: clamp(2rem, 12vw, 3.2rem); }
  .page-segestes .countdown { grid-template-columns: repeat(2, minmax(4rem, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  body.page-segestes,
  body.page-gaming-labs,
  body.page-legal { animation: none; }
  .editorial-cta,
  .game-card { transition: none; }
}

/* ── 2026-09-13 navigation visibility + linked portfolio cards ── */
.sub-back {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .48rem .72rem .52rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .22rem;
  background: rgba(4,4,4,.68);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
body.theme-light .sub-back {
  color: #111;
  border-color: rgba(0,0,0,.1);
  background: rgba(255,250,253,.82);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.portfolio-card {
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
a.portfolio-card:hover,
a.portfolio-card:focus-visible {
  transform: translateY(-2px);
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .62);
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
}

/* ── SEGESTES portfolio public record ── */
.portfolio-page,
.game-project-page {
  position: relative;
  z-index: 5;
  width: min(100% - 2.5rem, 88rem);
  margin: 0 auto;
  padding: clamp(2rem, 5vh, 4.5rem) 0 clamp(7rem, 12vh, 10rem);
}
.portfolio-page-hero,
.game-project-hero {
  padding: clamp(2.2rem, 5vw, 4.8rem);
  background: linear-gradient(90deg, rgba(3,3,3,.76), rgba(3,3,3,.34) 72%, rgba(3,3,3,.08));
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}
.portfolio-page-hero h1,
.game-project-hero h1 {
  margin: .35rem 0 .8rem;
  font-family: var(--brand-serif);
  font-size: clamp(4.4rem, 10vw, 9rem);
  font-weight: 500;
  line-height: .82;
  letter-spacing: -.035em;
  color: #fff;
}
.portfolio-page-hero > p:last-child,
.game-project-lead {
  margin: 0;
  max-width: 47rem;
  font-family: var(--ui-serif);
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  line-height: 1.45;
  color: rgba(255,255,255,.78);
}
.portfolio-ledger {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .75rem;
  margin-top: 1rem;
}
.portfolio-ledger-card {
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.35rem;
  scroll-margin-top: 2rem;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(3,3,3,.7);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}
.portfolio-ledger-card:target {
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .72);
  box-shadow: inset 0 0 0 1px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .18);
}
.portfolio-ledger-card strong {
  font-family: var(--brand-serif);
  font-size: clamp(2.3rem, 3.7vw, 4rem);
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
.portfolio-ledger-card p {
  margin: .7rem 0 0;
  font-family: var(--ui-serif);
  font-size: .88rem;
  line-height: 1.4;
  color: rgba(255,255,255,.58);
}
.portfolio-method-note,
.game-project-info {
  margin-top: 1rem;
  padding: clamp(2rem, 4vw, 4rem);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(3,3,3,.68);
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
}
.portfolio-method-note h2,
.game-project-info h2 {
  margin: .25rem 0 .75rem;
  font-family: var(--brand-serif);
  font-size: clamp(2.4rem, 4.8vw, 4.8rem);
  font-weight: 500;
  line-height: .95;
  color: #fff;
}
.portfolio-method-note > p:not(.editorial-kicker),
.game-project-info p:not(.editorial-kicker) {
  max-width: 52rem;
  font-family: var(--ui-serif);
  line-height: 1.5;
  color: rgba(255,255,255,.72);
}

/* ── Space MOBA project page ── */
.game-project-status {
  display: inline-flex;
  margin-top: 1.5rem;
  padding: .5rem .72rem;
  border: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .36);
  font-family: var(--terminal-font);
  font-size: .68rem;
  letter-spacing: .16em;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  background: rgba(4,4,4,.62);
}
.game-project-info {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 6vw, 6rem);
}
.game-project-test {
  padding-left: clamp(1.4rem, 3vw, 3rem);
  border-left: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .3);
}

@media (max-width: 920px) {
  .portfolio-ledger { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portfolio-ledger-card:last-child { grid-column: 1 / -1; }
  .game-project-info { grid-template-columns: 1fr; }
  .game-project-test { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .3); }
}
@media (max-width: 600px) {
  .portfolio-page,
  .game-project-page { width: min(100% - 1rem, 88rem); padding-top: 1.5rem; }
  .portfolio-page-hero,
  .game-project-hero,
  .portfolio-method-note,
  .game-project-info { padding: 1.5rem 1.1rem; }
  .portfolio-page-hero h1,
  .game-project-hero h1 { font-size: clamp(4rem, 21vw, 6rem); }
  .portfolio-ledger { grid-template-columns: 1fr; }
  .portfolio-ledger-card,
  .portfolio-ledger-card:last-child { grid-column: auto; min-height: 10rem; }
}

/* ── 2026-09-14 landing refinement: unified masthead / navigation / synchronized color cycle ── */
body.page-home .hero-tagline {
  width: min(96vw, 1760px);
  max-width: none;
  display: grid;
  grid-template-columns: auto max-content auto max-content auto max-content auto;
  align-items: center;
  justify-content: space-between;
  gap: clamp(.55rem, 1.35vw, 1.7rem);
  padding: .48rem clamp(.75rem, 1.6vw, 1.35rem);
  font-size: clamp(1.18rem, 2.35vw, 2rem);
  letter-spacing: .035em;
  text-align: center;
}

body.page-home .hero-tagline-sep {
  font-family: var(--terminal-font);
  font-size: .42em;
  opacity: .72;
  transform: translateY(.08em);
}

body.page-home .brand-core {
  justify-content: center;
  gap: clamp(1.35rem, 3vh, 2.35rem);
}

body.page-home .brand-text-block {
  width: min(92vw, 64rem);
  padding-inline: clamp(.65rem, 1.5vw, 1rem);
}

body.page-home .brand-name {
  align-self: center;
  font-size: clamp(3.35rem, 10.5vw, 6.45rem);
}

body.page-home .company-de {
  width: 82%;
  margin: clamp(.55rem, 1.1vh, .8rem) auto 0;
  padding: .42rem .72rem .48rem;
  font-size: clamp(.74rem, 1.18vw, .98rem);
  line-height: 1.25;
  text-align: center;
  border-radius: .55rem;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

body.page-home.theme-dark .company-de {
  background: rgba(5, 5, 5, .72);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2px 14px rgba(0,0,0,.3);
}

body.page-home.theme-light .company-de {
  background: rgba(255, 250, 253, .82);
  box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 2px 14px rgba(0,0,0,.13);
}

body.page-home .landing-actions {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: .72rem;
  pointer-events: auto;
}

body.page-home .landing-action {
  min-width: clamp(10.5rem, 16vw, 14rem);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "label arrow"
    "title arrow";
  gap: .08rem 1rem;
  align-items: center;
  padding: .72rem .9rem .78rem;
  border: 1px solid currentColor;
  border-radius: .5rem;
  background: rgba(5,5,5,.7);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  font-family: var(--terminal-font);
  text-decoration: none;
  text-align: left;
  box-shadow: 0 3px 16px rgba(0,0,0,.22);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

body.page-home.theme-light .landing-action { background: rgba(255,250,253,.82); }
body.page-home .landing-action:hover,
body.page-home .landing-action:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
body.page-home .landing-action-label {
  grid-area: label;
  font-size: .56rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: .72;
}
body.page-home .landing-action strong {
  grid-area: title;
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-home .landing-action > span:last-child {
  grid-area: arrow;
  font-size: 1.05rem;
}

/* One clock, one palette: all landing descriptors and secondary navigation move together. */
body.page-home .hero-tagline,
body.page-home .company-de,
body.page-home .landing-action,
body.page-home .footer-email,
body.page-home .footer-link,
body.page-home .footer-copy,
body.page-home .footer-sep {
  animation: descriptor-color-cycle 20s linear infinite !important;
  animation-delay: 0s !important;
}

body.page-home .footer-email,
body.page-home .footer-links {
  background: rgba(5,5,5,.74);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
body.page-home.theme-light .footer-email,
body.page-home.theme-light .footer-links { background: rgba(255,250,253,.82); }

@media (max-width: 980px) {
  body.page-home .hero-tagline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: .2rem;
    white-space: normal;
    font-size: clamp(1rem, 3.2vw, 1.5rem);
  }
  body.page-home .brand-text-block { width: min(94vw, 54rem); }
  body.page-home .company-de {
    width: 91%;
    white-space: normal;
    font-size: clamp(.72rem, 2vw, .9rem);
  }
}

@media (max-width: 620px) {
  body.page-home .hero-tagline-sep { display: none; }
  body.page-home .hero-tagline { gap: .15rem .65rem; }
  body.page-home .landing-actions { width: min(92vw, 25rem); }
  body.page-home .landing-action { min-width: 0; flex: 1; }
  body.page-home .company-de { width: 96%; }
}

/* ── 2026-09-14 SEGESTES hero portfolio ── */
body.page-segestes .segestes-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .72fr);
  gap: clamp(2.2rem, 6vw, 6.5rem);
  align-items: center;
}

body.page-segestes .segestes-hero-main {
  min-width: 0;
}

body.page-segestes .hero-portfolio {
  width: 100%;
  align-self: center;
  padding: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(145deg, rgba(12,12,12,.88), rgba(4,4,4,.58));
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  box-shadow: 0 18px 46px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.025);
}

body.page-segestes .hero-portfolio-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid rgba(255,255,255,.11);
  font-family: var(--terminal-font);
  font-size: .58rem;
  letter-spacing: .16em;
  color: rgba(255,255,255,.58);
}

body.page-segestes .hero-portfolio-eyebrow {
  margin: 1.2rem 0 .1rem;
  font-family: var(--terminal-font);
  font-size: .67rem;
  letter-spacing: .18em;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 68%);
}

body.page-segestes .hero-portfolio-value {
  display: block;
  margin: 0;
  font-family: var(--brand-serif);
  font-size: clamp(3.2rem, 5.5vw, 5.7rem);
  font-weight: 500;
  line-height: .92;
  color: #fff;
  text-shadow: 0 2px 5px #000;
}

body.page-segestes .hero-portfolio-copy {
  margin: 1rem 0 1.3rem;
  max-width: 28rem;
  font-family: var(--ui-serif);
  font-size: clamp(.95rem, 1.2vw, 1.1rem);
  line-height: 1.4;
  color: rgba(255,255,255,.72);
}

body.page-segestes .hero-budget-selector {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .38rem;
}
body.page-segestes .hero-budget-selector a {
  padding: .58rem .3rem;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.025);
  font-family: var(--terminal-font);
  font-size: .66rem;
  text-align: center;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
body.page-segestes .hero-budget-selector a:hover,
body.page-segestes .hero-budget-selector a:focus-visible,
body.page-segestes .hero-budget-selector a.is-active {
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 68% / .72);
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) 45% / .12);
  color: #fff;
}

body.page-segestes .hero-portfolio-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: .9rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.11);
  font-family: var(--terminal-font);
  font-size: .7rem;
  letter-spacing: .14em;
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 70%);
  text-decoration: none;
}

@media (max-width: 980px) {
  body.page-segestes .segestes-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  body.page-segestes .hero-portfolio { max-width: 42rem; }
}

@media (max-width: 560px) {
  body.page-segestes .hero-budget-selector { grid-template-columns: repeat(3, 1fr); }
}

/* ── 2026-09-14 Public V7 refinements ── */

/* Landing: keep the subtitle tightly wrapped around its actual text. */
body.page-home .company-de {
  --subtitle-optical-shift: 0px;
  transform: translateX(var(--subtitle-optical-shift));
  width: fit-content;
  max-width: min(90vw, 49rem);
  padding: .36rem .52rem .4rem;
}

/* Landing: right-hand navigation rail beneath the architecture end of the top line. */
@media (min-width: 981px) {
  body.page-home .brand-core {
    position: relative;
  }

  body.page-home .landing-actions {
    position: fixed;
    z-index: 8;
    top: clamp(7.2rem, 15.5vh, 9.5rem);
    right: max(clamp(1.5rem, 3.4vw, 4rem), env(safe-area-inset-right, 0px));
    width: clamp(12rem, 15vw, 15.5rem);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: .55rem;
    padding: 1rem 0 0 1rem;
    border-left: 1px solid currentColor;
    border-top: 1px solid currentColor;
  }

  body.page-home .landing-actions-kicker {
    display: block;
    margin: -.2rem 0 .15rem;
    font-family: var(--terminal-font);
    font-size: .53rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    opacity: .62;
    text-align: left;
  }

  body.page-home .landing-action {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 980px) {
  body.page-home .landing-actions-kicker { display: none; }
}

/* SEGESTES: denser interactive portfolio preview with horizontally scrollable holdings. */
body.page-segestes .segestes-hero {
  grid-template-columns: minmax(0, .94fr) minmax(30rem, 1.06fr);
  gap: clamp(2rem, 4.8vw, 5rem);
}

body.page-segestes .hero-portfolio {
  padding: clamp(1.15rem, 2vw, 1.7rem);
}

body.page-segestes .hero-portfolio-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
}

body.page-segestes .hero-portfolio-demo {
  margin-bottom: .5rem;
  font-family: var(--terminal-font);
  font-size: .52rem;
  letter-spacing: .16em;
  color: rgba(255,255,255,.36);
  white-space: nowrap;
}

body.page-segestes .hero-portfolio-value {
  font-size: clamp(3rem, 4.7vw, 5rem);
}

body.page-segestes .hero-holdings-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.15rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.11);
  font-family: var(--terminal-font);
  font-size: .56rem;
  letter-spacing: .16em;
  color: rgba(255,255,255,.5);
}

body.page-segestes .hero-holdings-controls {
  display: flex;
  gap: .28rem;
}

body.page-segestes .hero-holdings-controls button {
  width: 1.8rem;
  height: 1.55rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.72);
  font-family: var(--terminal-font);
  cursor: pointer;
}

body.page-segestes .hero-holdings-controls button:hover,
body.page-segestes .hero-holdings-controls button:focus-visible {
  border-color: rgba(255,255,255,.38);
  color: #fff;
}

body.page-segestes .hero-holdings {
  display: flex;
  gap: .6rem;
  margin: .55rem -.05rem 0;
  padding: .05rem .05rem .45rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.18) transparent;
}

body.page-segestes .hero-holding {
  flex: 0 0 clamp(8rem, 10vw, 9.7rem);
  scroll-snap-align: start;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "ticker move"
    "weight move";
  align-items: center;
  gap: .18rem .65rem;
  min-height: 4.4rem;
  padding: .72rem .78rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.025);
  font-family: var(--terminal-font);
}

body.page-segestes .hero-holding-ticker {
  grid-area: ticker;
  font-size: .76rem;
  letter-spacing: .08em;
  color: #fff;
}

body.page-segestes .hero-holding strong {
  grid-area: weight;
  font-size: .57rem;
  font-weight: 400;
  color: rgba(255,255,255,.42);
}

body.page-segestes .hero-holding > span:last-child {
  grid-area: move;
  font-size: .72rem;
  white-space: nowrap;
}

body.page-segestes .hero-holding.is-up {
  border-color: rgba(57,255,20,.18);
  background: linear-gradient(135deg, rgba(57,255,20,.055), rgba(255,255,255,.018));
}
body.page-segestes .hero-holding.is-up > span:last-child { color: #6dff5a; }

body.page-segestes .hero-holding.is-down {
  border-color: rgba(231,72,86,.2);
  background: linear-gradient(135deg, rgba(231,72,86,.06), rgba(255,255,255,.018));
}
body.page-segestes .hero-holding.is-down > span:last-child { color: #ff6f7c; }

body.page-segestes .hero-budget-block {
  margin-top: .65rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,.11);
}

body.page-segestes .hero-budget-label {
  display: block;
  margin-bottom: .5rem;
  font-family: var(--terminal-font);
  font-size: .54rem;
  letter-spacing: .16em;
  color: rgba(255,255,255,.46);
}

body.page-segestes .hero-budget-selector button {
  padding: .58rem .3rem;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.025);
  font-family: var(--terminal-font);
  font-size: .66rem;
  text-align: center;
  color: rgba(255,255,255,.72);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

body.page-segestes .hero-budget-selector button:hover,
body.page-segestes .hero-budget-selector button:focus-visible,
body.page-segestes .hero-budget-selector button.is-active {
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 68% / .72);
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) 45% / .12);
  color: #fff;
}

@media (max-width: 1180px) {
  body.page-segestes .segestes-hero {
    grid-template-columns: minmax(0, .9fr) minmax(26rem, 1.1fr);
  }
}

@media (max-width: 980px) {
  body.page-segestes .segestes-hero { grid-template-columns: 1fr; }
  body.page-segestes .hero-portfolio { max-width: 46rem; }
}

@media (max-width: 560px) {
  body.page-segestes .hero-portfolio-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }
  body.page-segestes .hero-portfolio-demo { margin-bottom: 0; }
  body.page-segestes .hero-budget-selector { grid-template-columns: repeat(3, 1fr); }
}


/* ── 2026-09-14 Public V8: cleaner nav rail + rendering-cost pass ── */
@media (min-width: 981px) {
  body.page-home .landing-actions {
    padding-left: 0;
    padding-top: 0;
    border-left: 0;
    border-top: 0;
  }
}

/* Large live-glass areas over a continuously moving terminal are expensive,
   especially in Firefox. Keep the same depth with denser fills instead of GPU blur. */
body.page-segestes .hero-portfolio {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: linear-gradient(145deg, rgba(12,12,12,.94), rgba(4,4,4,.82));
}

/* Isolate painting without size containment. `contain: strict` on the moving
   track collapses its intrinsic width in some browsers and can hide the terminal. */
.terminal-layer {
  contain: layout paint style;
}

.terminal-track {
  contain: layout paint style;
}

@media (prefers-reduced-motion: reduce) {
  .terminal-track { animation: none !important; transform: translate3d(-2%,0,0); }
}

/* ── 2026-09-14 Public V10: pink-mode dark underlays ── */
body.page-home.theme-light .company-de,
body.page-home.theme-light .landing-action {
  background: rgba(5, 5, 5, .82);
  box-shadow: 0 0 0 1px rgba(255,255,255,.09), 0 3px 16px rgba(0,0,0,.28);
}

/* ── 2026-09-14 Public V11: dark-surface policy + visual portfolio on Products ── */
/* White / milky UI panels are no longer used on the public site. The terminal
   may change theme, but readable surfaces remain black and the type carries color. */
body.theme-light .hero-tagline,
body.theme-light .footer-email,
body.theme-light .footer-links,
body.page-home.theme-light .company-de,
body.page-home.theme-light .landing-action,
body.theme-light .sub-back,
body.theme-light.page-products .products-heading,
body.theme-light.page-products .product-chapter,
body.theme-light.page-products .product-enter,
body.theme-light.page-legal .legal-panel,
body.theme-light.page-segestes .segestes-hero,
body.theme-light.page-segestes .segestes-section,
body.theme-light.page-gaming-labs .gaming-hero,
body.theme-light.page-gaming-labs .game-card,
body.theme-light.page-gaming-labs .tester-callout,
body.theme-light .portfolio-page-hero,
body.theme-light .portfolio-ledger-card,
body.theme-light .portfolio-method-note,
body.theme-light .game-project-hero,
body.theme-light .game-project-info,
body.theme-light .game-project-status,
body.theme-light .editorial-cta {
  background: rgba(4,4,4,.88) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.28) !important;
}

body.theme-light .hero-tagline,
body.theme-light .footer-email,
body.theme-light .footer-links,
body.page-home.theme-light .company-de,
body.page-home.theme-light .landing-action,
body.theme-light .sub-back,
body.theme-light.page-products .product-chapter__description,
body.theme-light.page-products .product-words,
body.theme-light.page-products .product-note,
body.theme-light.page-legal .legal-panel h1,
body.theme-light.page-legal .legal-panel strong,
body.theme-light.page-legal .legal-panel p {
  color: inherit;
  text-shadow: 0 1px 3px #000, 0 0 8px rgba(0,0,0,.55) !important;
}

body.theme-light.page-products .product-chapter {
  background: linear-gradient(90deg, rgba(3,3,3,.93), rgba(3,3,3,.79) 58%, rgba(3,3,3,.9)) !important;
}
body.theme-light.page-products .product-chapter h1,
body.theme-light.page-products .product-chapter h2 {
  text-shadow: 0 2px 4px #000, 0 0 12px rgba(0,0,0,.86) !important;
}
body.theme-light.page-products .product-chapter__description,
body.theme-light.page-products .product-words,
body.theme-light.page-products .product-note {
  color: rgba(255,255,255,.88) !important;
}
body.theme-light.page-products .product-enter,
body.theme-light .sub-back,
body.theme-light .editorial-cta {
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 72%) !important;
}
body.theme-light.page-legal .legal-panel p { color: rgba(255,255,255,.78) !important; }
body.theme-light.page-legal .legal-panel h1,
body.theme-light.page-legal .legal-panel strong { color: #fff !important; }

/* Products / SEGESTES: replace the text-heavy right rail with a compact visual
   representation of the five public model portfolios. No performance is invented. */
.product-chapter__aside--portfolio {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .8rem;
  min-width: 0;
}

.products-portfolio-head,
.products-portfolio-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  font-family: var(--terminal-font);
  font-size: .56rem;
  letter-spacing: .15em;
  color: rgba(255,255,255,.52);
}

.products-portfolio-head a {
  color: hsl(var(--console-sync-hue) var(--console-sync-saturation) 70%);
  text-decoration: none;
  white-space: nowrap;
}
.products-portfolio-head a:hover,
.products-portfolio-head a:focus-visible { color: #fff; }

.products-portfolio-visual {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: .38rem;
}

.products-portfolio-visual a {
  position: relative;
  min-height: 6.6rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: .72rem .58rem .62rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(12,12,12,.98), rgba(2,2,2,.9));
  color: #fff;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.products-portfolio-visual a::after {
  content: "";
  position: absolute;
  left: .55rem;
  right: .55rem;
  bottom: .48rem;
  height: 2px;
  background: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness));
  opacity: .42;
  box-shadow: 0 0 8px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .35);
}

.products-portfolio-visual a:nth-child(2)::after { width: 48%; }
.products-portfolio-visual a:nth-child(3)::after { width: 64%; }
.products-portfolio-visual a:nth-child(4)::after { width: 78%; }
.products-portfolio-visual a:nth-child(5)::after { width: calc(100% - 1.1rem); }
.products-portfolio-visual a.is-featured {
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .48);
  box-shadow: inset 0 0 0 1px hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .08);
}
.products-portfolio-visual a:hover,
.products-portfolio-visual a:focus-visible {
  transform: translateY(-2px);
  border-color: hsl(var(--console-sync-hue) var(--console-sync-saturation) var(--console-sync-lightness) / .7);
  box-shadow: 0 8px 24px rgba(0,0,0,.32);
}
.products-portfolio-visual span {
  font-family: var(--terminal-font);
  font-size: .55rem;
  letter-spacing: .12em;
  color: rgba(255,255,255,.42);
}
.products-portfolio-visual strong {
  margin-bottom: .55rem;
  font-family: var(--brand-serif);
  font-size: clamp(1.45rem, 2.35vw, 2.35rem);
  font-weight: 500;
  line-height: .9;
  color: #fff;
}
.products-portfolio-foot { font-size: .48rem; opacity: .78; }

@media (max-width: 1080px) {
  .products-portfolio-visual { grid-template-columns: repeat(5, minmax(4.4rem,1fr)); }
  .products-portfolio-visual a { min-height: 5.7rem; padding: .62rem .48rem .55rem; }
}

@media (max-width: 760px) {
  .product-chapter__aside--portfolio { padding-top: 1.15rem; }
  .products-portfolio-visual {
    grid-template-columns: repeat(5, minmax(5rem, 1fr));
    overflow-x: auto;
    padding-bottom: .35rem;
  }
  .products-portfolio-visual a { min-width: 5rem; }
  .products-portfolio-head,
  .products-portfolio-foot { font-size: .5rem; }
}


/* Products portfolio preview v12: holdings dominate; portfolio sizes stay compact below. */
body.page-products .product-chapter__aside--portfolio {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
body.page-products .products-portfolio-stage {
  min-width: 0;
  padding: 1rem 0 .7rem;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
body.page-products .products-portfolio-stage-head {
  display:flex; justify-content:space-between; gap:1rem; margin-bottom:.65rem;
  font-family:var(--terminal-font); font-size:.49rem; letter-spacing:.16em;
  color:rgba(255,255,255,.42);
}
body.page-products .products-holdings-preview {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
}
body.page-products .products-holdings-preview a {
  min-width:0;
  display:flex; align-items:flex-end; justify-content:space-between; gap:.5rem;
  padding:.72rem .75rem .62rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.78);
  color:#fff;
  text-decoration:none;
}
body.page-products .products-holdings-preview strong {
  font-family:var(--terminal-font);
  font-size:clamp(1rem,1.7vw,1.55rem);
  letter-spacing:.05em;
}
body.page-products .products-holdings-preview span {
  font-family:var(--terminal-font);
  font-size:.58rem;
  color:rgba(255,255,255,.54);
}
body.page-products .products-portfolio-selector-wrap > span {
  display:block; margin-bottom:.45rem; font-family:var(--terminal-font);
  font-size:.48rem; letter-spacing:.17em; color:rgba(255,255,255,.42);
}
body.page-products .products-portfolio-selector {
  display:flex; flex-wrap:wrap; gap:.32rem;
}
body.page-products .products-portfolio-selector a {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:3rem; padding:.32rem .48rem;
  border:1px solid rgba(255,255,255,.12);
  background:#050505;
  color:rgba(255,255,255,.62);
  font-family:var(--terminal-font); font-size:.58rem;
  text-decoration:none;
}
body.page-products .products-portfolio-selector a:hover,
body.page-products .products-portfolio-selector a.is-active {
  color:#fff; border-color:rgba(255,220,90,.55);
}
@media (max-width:760px){
  body.page-products .products-holdings-preview{grid-template-columns:1fr 1fr;}
}
