/* ============================================================
   ÎNTENTIONAL ELECTRO — Advanced Components
   Erweitert style.css um neue Kachel-Varianten, Sign-CTA,
   Mini-Player, Zielgruppen-Portals, Signatories-Modul,
   Frequenz-Karten, Liquid Cards, Tilt Cards, Marquee, Intensity-Slider.
   ============================================================ */

/* ========================================================
   UNIFIED SIGN-CTA — looks identical everywhere
   Usage: <a href="manifesto.html#sign" class="sign-cta">…</a>
   ======================================================== */
.sign-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  padding: 18px 34px 18px 30px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(135deg, var(--r-orange) 0%, var(--r-red) 100%);
  color: #fff;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 40%, transparent);
  box-shadow:
    0 8px 40px -8px color-mix(in oklab, var(--r-orange) 70%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.15);
  position: relative; overflow: hidden;
  transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out);
  cursor: pointer;
}
.sign-cta::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
  transform: translateX(-120%);
  transition: transform .8s var(--ease-out);
  pointer-events: none;
}
.sign-cta::after {
  /* pulsing ring */
  content: ""; position: absolute; inset: -4px;
  border-radius: inherit;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 50%, transparent);
  opacity: 0;
  animation: sign-pulse 3.5s ease-out infinite;
  pointer-events: none;
}
@keyframes sign-pulse {
  0%   { transform: scale(1);    opacity: 0.7; }
  80%  { transform: scale(1.18); opacity: 0; }
  100% { transform: scale(1.18); opacity: 0; }
}
.sign-cta:hover {
  transform: translateY(-3px);
  box-shadow:
    0 16px 56px -8px var(--r-orange),
    inset 0 1px 0 rgba(255,255,255,0.25);
  color: #fff;
}
.sign-cta:hover::before { transform: translateX(120%); }
.sign-cta .feather-icon { width: 16px; height: 16px; }
.sign-cta .arrow {
  width: 0; overflow: hidden;
  transition: width .35s var(--ease-out), margin-left .35s var(--ease-out);
  display: inline-block;
  margin-left: 0;
}
.sign-cta:hover .arrow {
  width: 18px;
  margin-left: 4px;
}
.sign-cta.small {
  padding: 12px 22px;
  font-size: 11px;
  letter-spacing: 0.2em;
  min-width: 148px;
  white-space: nowrap;
}
.sign-cta.ghost {
  background: transparent;
  color: var(--r-yellow);
  border-color: color-mix(in oklab, var(--r-yellow) 50%, var(--line-strong));
  box-shadow: none;
}
.sign-cta.ghost::after { display: none; }
.sign-cta.ghost:hover {
  background: color-mix(in oklab, var(--r-orange) 12%, transparent);
  color: #fff;
  border-color: var(--r-orange);
}

.manifesto-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.manifesto-cta .sign-cta {
  padding: 22px 40px;
  font-size: 14px;
  min-width: min(100%, 420px);
  box-shadow:
    0 14px 52px -10px color-mix(in oklab, var(--r-orange) 76%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.18);
}
.manifesto-cta-copy {
  max-width: 540px;
  margin: 0;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 15px;
}
@media (max-width: 640px) {
  .manifesto-cta .sign-cta {
    width: 100%;
    min-width: 0;
    padding: 20px 26px;
  }
}

/* ========================================================
   LOGO LOCKUP — header
   Renders the tree logo + wordmark properly
   ======================================================== */
.logo-lockup {
  display: flex; align-items: center; gap: 14px;
  text-decoration: none; color: inherit;
}
.logo-tree {
  width: 44px; height: 44px;
  flex: 0 0 44px;
  background-image: url('logo.png');
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 30%, var(--line-strong));
  box-shadow:
    0 0 30px -6px color-mix(in oklab, var(--r-orange) 60%, transparent),
    inset 0 0 20px rgba(0,0,0,0.5);
  position: relative;
  transition: all .4s var(--ease-out);
}
.logo-tree::after {
  content: ""; position: absolute; inset: -3px;
  border-radius: inherit;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 40%, transparent);
  opacity: 0;
  transition: opacity .4s var(--ease-out), transform .4s var(--ease-out);
}
.logo-lockup:hover .logo-tree {
  box-shadow:
    0 0 40px color-mix(in oklab, var(--r-orange) 80%, transparent),
    inset 0 0 20px rgba(0,0,0,0.5);
  transform: scale(1.04);
}
.logo-lockup:hover .logo-tree::after {
  opacity: 1;
  transform: scale(1.1);
}
.logo-wordmark {
  display: flex; flex-direction: column;
  line-height: 1.1;
}
.logo-wordmark-main {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
}
.logo-wordmark-main .i-hat {
  color: var(--r-orange);
  font-weight: 700;
}
.logo-wordmark-sub {
  font-family: var(--font-display);
  font-size: 9px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-top: 3px;
}
@media (max-width: 640px) {
  .logo-wordmark-sub { display: none; }
  .logo-tree { width: 36px; height: 36px; flex-basis: 36px; }
}

/* ========================================================
   AUDIENCE PORTALS — 4 large question-cards
   ======================================================== */
.portal-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 56px;
  perspective: 1200px;
}
@media (max-width: 1000px) { .portal-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .portal-grid { grid-template-columns: 1fr; } }

.portal {
  --mx: 50%;
  --my: 84%;
  --rx: 0deg;
  --ry: 0deg;
  position: relative;
  padding: 44px 32px 36px;
  border-radius: var(--r-xl);
  background: linear-gradient(160deg,
    color-mix(in oklab, var(--surface) 80%, transparent) 0%,
    color-mix(in oklab, var(--bg-2) 70%, transparent) 100%);
  border: 1px solid var(--line);
  overflow: hidden;
  isolation: isolate;
  min-height: 320px;
  display: flex; flex-direction: column;
  transform: translate3d(0, 0, 0) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .45s var(--ease-out), border-color .45s var(--ease-out), box-shadow .45s var(--ease-out);
  text-decoration: none; color: inherit;
  box-shadow: 0 18px 40px -30px color-mix(in oklab, var(--portal-accent) 30%, transparent);
}
.portal::before {
  /* radial pulse + cursor spotlight */
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(220px 180px at var(--mx) var(--my),
      color-mix(in oklab, var(--portal-accent) 26%, transparent),
      transparent 72%),
    radial-gradient(ellipse 80% 60% at 50% 100%,
      color-mix(in oklab, var(--portal-accent) 30%, transparent),
      transparent 70%);
  opacity: 0.62;
  transition: opacity .4s var(--ease-out), transform .8s var(--ease-out), background .2s linear;
}
.portal::after {
  /* border glow outline */
  content: ""; position: absolute; inset: 0; z-index: -1;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg,
    var(--portal-accent) 0%,
    transparent 40%,
    transparent 60%,
    var(--portal-accent) 100%);
  -webkit-mask: linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .5s var(--ease-out);
}
.portal:hover {
  transform: translate3d(0, -10px, 0) rotateX(var(--rx)) rotateY(var(--ry));
  border-color: transparent;
  box-shadow:
    0 30px 70px -42px color-mix(in oklab, var(--portal-accent) 56%, transparent),
    0 0 0 1px color-mix(in oklab, var(--portal-accent) 16%, transparent) inset;
}
.portal:hover::before {
  opacity: 1;
  transform: scale(1.05);
}
.portal:hover::after { opacity: 0.7; }
.portal.is-moving {
  transition: transform .14s linear, border-color .32s var(--ease-out), box-shadow .32s var(--ease-out);
}

.portal-question {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.portal-question em {
  font-style: normal;
  color: var(--portal-accent);
  font-weight: 500;
}
.portal-desc {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 14px;
  line-height: 1.55;
  flex: 1;
  margin: 0;
}
.portal-symbol {
  position: absolute;
  top: 24px; right: 24px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 36px;
  color: var(--portal-accent);
  opacity: 0.35;
  transition: all .5s var(--ease-out);
}
.portal:hover .portal-symbol {
  opacity: 0.8;
  transform: scale(1.1) rotate(-4deg);
}
.portal-action {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 24px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--portal-accent);
}
.portal-action svg { width: 16px; height: 16px; transition: transform .3s var(--ease-out); }
.portal:hover .portal-action svg { transform: translateX(6px); }

.portal.audience-dj       { --portal-accent: var(--r-orange); }
.portal.audience-festival { --portal-accent: var(--r-green); }
.portal.audience-producer { --portal-accent: var(--r-yellow); }
.portal.audience-dancer   { --portal-accent: var(--r-cyan); }
.portal-grid .portal:nth-child(1) { animation: portalFloat 8.2s ease-in-out infinite; }
.portal-grid .portal:nth-child(2) { animation: portalFloat 8.2s ease-in-out infinite; animation-delay: .8s; }
.portal-grid .portal:nth-child(3) { animation: portalFloat 8.2s ease-in-out infinite; animation-delay: 1.4s; }
.portal-grid .portal:nth-child(4) { animation: portalFloat 8.2s ease-in-out infinite; animation-delay: 2.1s; }

@keyframes portalFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotateX(var(--rx)) rotateY(var(--ry)); }
  50% { transform: translate3d(0, -4px, 0) rotateX(var(--rx)) rotateY(var(--ry)); }
}

@media (prefers-reduced-motion: reduce) {
  .portal-grid .portal { animation: none !important; }
}

/* ========================================================
   STICKY MINI-PLAYER (bottom-right)
   ======================================================== */
.mini-player {
  position: fixed;
  bottom: 20px; right: 20px;
  z-index: 70;
  display: flex; align-items: center; gap: 14px;
  padding: 12px 20px 12px 12px;
  background: color-mix(in oklab, var(--void) 92%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid color-mix(in oklab, var(--r-orange) 40%, var(--line-strong));
  border-radius: 999px;
  box-shadow:
    0 20px 50px -15px rgba(0,0,0,0.6),
    0 0 40px -10px color-mix(in oklab, var(--r-orange) 40%, transparent);
  transform: translateY(120%);
  opacity: 0;
  transition: transform .5s var(--ease-out), opacity .5s var(--ease-out);
  max-width: calc(100vw - 40px);
}
.mini-player.visible {
  transform: translateY(0);
  opacity: 1;
}

.mini-tab {
  position: absolute;
  top: -22px;
  left: 76px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 16px 8px;
  border-radius: 14px 14px 8px 8px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 55%, var(--line-strong));
  background: linear-gradient(135deg, color-mix(in oklab, var(--r-orange) 82%, var(--r-yellow)), color-mix(in oklab, var(--r-red) 82%, var(--r-orange)));
  color: #fff7e7;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.24em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 26px -10px rgba(0,0,0,.7), 0 0 22px color-mix(in oklab, var(--r-orange) 48%, transparent);
  pointer-events: none;
  white-space: nowrap;
}

.mini-play-btn {
  width: 44px; height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--r-orange), var(--r-red));
  color: #fff;
  display: grid; place-items: center;
  position: relative;
  transition: transform .2s var(--ease-out);
}
.mini-play-btn:hover { transform: scale(1.06); }
.mini-play-btn svg { width: 18px; height: 18px; margin-left: 2px; }
.mini-play-btn.playing svg { margin-left: 0; }

.mini-play-btn.first-visit::before {
  /* gentle pulse for first-time visitors */
  content: ""; position: absolute; inset: -6px;
  border-radius: inherit;
  border: 2px solid var(--r-yellow);
  opacity: 0;
  animation: mini-pulse 2.4s ease-out infinite;
}
@keyframes mini-pulse {
  0%   { transform: scale(1);   opacity: 0.8; }
  80%  { transform: scale(1.5); opacity: 0; }
  100% { transform: scale(1.5); opacity: 0; }
}

.mini-info { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.mini-title {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.mini-sub {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--r-yellow);
  font-family: var(--font-display);
  margin-top: 3px;
}
.mini-bars {
  display: flex; align-items: flex-end; gap: 2px;
  height: 18px;
  margin-left: 6px;
}
.mini-bars span {
  width: 2px;
  background: var(--r-orange);
  border-radius: 1px;
  opacity: 0.5;
}
.mini-bars span:nth-child(1) { height: 50%; }
.mini-bars span:nth-child(2) { height: 90%; }
.mini-bars span:nth-child(3) { height: 30%; }
.mini-bars span:nth-child(4) { height: 70%; }
.mini-bars span:nth-child(5) { height: 45%; }
.mini-player.playing .mini-bars span {
  animation: bar-dance 1.4s ease-in-out infinite;
  opacity: 0.95;
}
.mini-player.playing .mini-bars span:nth-child(1) { animation-delay: -.1s; }
.mini-player.playing .mini-bars span:nth-child(2) { animation-delay: -.3s; }
.mini-player.playing .mini-bars span:nth-child(3) { animation-delay: -.5s; }
.mini-player.playing .mini-bars span:nth-child(4) { animation-delay: -.7s; }
.mini-player.playing .mini-bars span:nth-child(5) { animation-delay: -.9s; }
@keyframes bar-dance {
  0%,100% { transform: scaleY(0.4); }
  50%     { transform: scaleY(1); }
}

.mini-close {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  cursor: pointer;
  display: grid; place-items: center;
  transition: all .2s var(--ease-out);
  margin-left: 4px;
}
.mini-close:hover {
  color: var(--ink); border-color: var(--r-red);
}
.mini-close svg { width: 12px; height: 12px; }

/* Hidden SoundCloud iframe lives here (audio-only) */
.mini-audio-holder {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  opacity: 0; pointer-events: none;
  left: 0; top: 0;
}

@media (max-width: 540px) {
  .mini-title { max-width: 140px; font-size: 12px; }
  .mini-bars { display: none; }
  .mini-player { padding: 10px 14px 10px 10px; gap: 10px; }
}

/* ========================================================
   MANIFESTO EXCERPT BADGE
   ======================================================== */
.excerpt-badge {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 50%, var(--line-strong));
  background: color-mix(in oklab, var(--r-yellow) 10%, transparent);
  color: var(--r-yellow);
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.excerpt-badge::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--r-yellow);
  box-shadow: 0 0 10px var(--r-yellow);
}
.excerpt-footer {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px dashed color-mix(in oklab, var(--r-yellow) 30%, var(--line-strong));
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center;
}
.excerpt-footer .note {
  font-size: 13px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-style: italic;
}

/* ========================================================
   SIGNATORIES MODULE — counters + breakdown + country strip
   ======================================================== */
.signatories-hero {
  padding: 42px 48px 34px;
  border-radius: var(--r-xl);
  background:
    radial-gradient(circle at 50% 24%, color-mix(in oklab, var(--r-yellow) 8%, transparent), transparent 24%),
    radial-gradient(circle at 50% 46%, color-mix(in oklab, var(--r-orange) 10%, transparent), transparent 40%),
    linear-gradient(160deg,
      color-mix(in oklab, var(--r-green) 12%, var(--surface)) 0%,
      color-mix(in oklab, var(--r-yellow) 9%, var(--surface)) 48%,
      color-mix(in oklab, var(--r-orange) 13%, var(--surface)) 100%);
  border: 1px solid color-mix(in oklab, var(--r-yellow) 30%, var(--line-strong));
  position: relative;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-orange) 10%, transparent) inset,
    0 40px 120px -80px color-mix(in oklab, var(--r-orange) 55%, transparent);
}
body.page-manifesto #live-signatories > .narrow {
  width: min(100%, 1180px);
  max-width: 1180px;
}
body.page-manifesto #live-signatories .signatories-hero {
  padding-left: 56px;
  padding-right: 56px;
}
.signatories-hero::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent,
    var(--r-green), var(--r-yellow), var(--r-orange), var(--r-red), transparent);
}
.signatories-hero-sky {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.signatories-hero-sky .star {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--r-yellow) 78%, white 22%);
  box-shadow:
    0 0 12px color-mix(in oklab, var(--r-yellow) 45%, transparent),
    0 0 30px color-mix(in oklab, var(--r-orange) 16%, transparent);
  opacity: 0.78;
  animation: statsStarFloat 7s ease-in-out infinite;
}
.signatories-hero-sky .s1 { top: 8%; left: 8%; animation-delay: 0s; }
.signatories-hero-sky .s2 { top: 18%; right: 12%; animation-delay: 1s; }
.signatories-hero-sky .s3 { top: 52%; left: 16%; animation-delay: 2s; }
.signatories-hero-sky .s4 { top: 64%; right: 15%; animation-delay: 3s; }
.signatories-hero-sky .s5 { top: 82%; left: 50%; animation-delay: 4s; }
.signatories-topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.signatories-kicker {
  max-width: 640px;
  margin: 0;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 82%, white 18%);
}
.signatories-secondary {
  flex: 0 0 auto;
  border-color: color-mix(in oklab, var(--r-orange) 42%, var(--line-strong));
  box-shadow: 0 18px 40px -28px color-mix(in oklab, var(--r-orange) 52%, transparent);
}
.signatories-map {
  position: relative;
  min-height: 700px;
  margin-top: 26px;
}
.signatories-orbit-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.orbit-line {
  position: absolute;
  left: 50%;
  top: 308px;
  width: var(--orbit-len);
  height: 2px;
  transform-origin: 0 50%;
  transform: rotate(var(--orbit-rot));
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--orbit-color) 65%, transparent) 0%,
    color-mix(in oklab, var(--orbit-color) 24%, transparent) 42%,
    transparent 100%);
  box-shadow:
    0 0 14px color-mix(in oklab, var(--orbit-color) 24%, transparent),
    0 0 28px color-mix(in oklab, var(--orbit-color) 12%, transparent);
  opacity: 0.75;
  animation: statsOrbitGlow 6.8s ease-in-out infinite;
}
.orbit-dj { --orbit-color: var(--r-orange); --orbit-len: 338px; --orbit-rot: 206deg; animation-delay: .15s; }
.orbit-festival { --orbit-color: var(--r-green); --orbit-len: 342px; --orbit-rot: 334deg; animation-delay: 1.4s; }
.orbit-producer { --orbit-color: var(--r-yellow); --orbit-len: 344px; --orbit-rot: 156deg; animation-delay: .7s; }
.orbit-dancer { --orbit-color: var(--r-cyan); --orbit-len: 344px; --orbit-rot: 24deg; animation-delay: 2.1s; }
.signatories-beacon {
  position: absolute;
  left: 50%;
  top: 24px;
  transform: translateX(-50%);
  width: min(100%, 560px);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 3;
}
.signatories-beacon-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.signatories-beacon .ring-1 {
  inset: 38px 42px auto;
  height: 360px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 24%, transparent);
  box-shadow: 0 0 34px color-mix(in oklab, var(--r-yellow) 10%, transparent);
  animation: statsRingPulse 7s ease-in-out infinite;
}
.signatories-beacon .ring-2 {
  inset: 8px 12px auto;
  height: 420px;
  border: 1px dashed color-mix(in oklab, var(--r-orange) 18%, transparent);
  opacity: 0.88;
  animation: statsRingPulse 8.6s ease-in-out infinite;
  animation-delay: .8s;
}
.signatories-beacon-core {
  position: relative;
  width: min(100%, 440px);
  min-height: 440px;
  padding: 104px 26px 60px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,0.14), transparent 18%),
    radial-gradient(circle at 50% 44%, color-mix(in oklab, var(--r-yellow) 38%, transparent), transparent 32%),
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--r-orange) 20%, transparent), transparent 60%),
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--surface) 96%, transparent), color-mix(in oklab, var(--bg-2) 88%, transparent) 72%);
  border: 1px solid color-mix(in oklab, var(--r-yellow) 20%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 14%, transparent) inset,
    0 0 60px color-mix(in oklab, var(--r-yellow) 14%, transparent),
    0 0 120px color-mix(in oklab, var(--r-orange) 18%, transparent),
    0 50px 130px -72px color-mix(in oklab, var(--r-orange) 58%, transparent);
  animation: statsBeaconPulse 6.2s ease-in-out infinite;
}
.big-number {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(92px, 14vw, 188px);
  line-height: 0.86;
  letter-spacing: -0.06em;
  background: linear-gradient(180deg, #fff4cd 0%, var(--r-yellow) 26%, var(--r-orange) 78%, #ff7d1a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
  text-shadow: 0 0 28px color-mix(in oklab, var(--r-yellow) 18%, transparent);
}
.big-number[data-count-size="medium"] {
  font-size: clamp(86px, 13vw, 172px);
}
.big-number[data-count-size="wide"] {
  font-size: clamp(76px, 11.8vw, 150px);
  letter-spacing: -0.075em;
}
.big-label {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 90%, white 10%);
  margin-top: 12px;
}
.signatories-mission {
  max-width: 300px;
  margin: 16px 0 0;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 15px;
  line-height: 1.55;
}
.signatories-progress {
  position: relative;
  width: min(100%, 430px);
  margin-top: -36px;
  padding: 20px 20px 16px;
  border-radius: 24px;
  background: linear-gradient(160deg,
    color-mix(in oklab, var(--surface) 94%, transparent),
    color-mix(in oklab, var(--bg-2) 94%, transparent));
  border: 1px solid color-mix(in oklab, var(--r-orange) 20%, var(--line-strong));
  box-shadow:
    0 26px 80px -54px color-mix(in oklab, var(--r-orange) 72%, transparent),
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 6%, transparent) inset;
  overflow: hidden;
}
.signatories-progress::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.06) 46%, transparent 68%);
  transform: translateX(-110%);
  animation: statsProgressSweep 5.8s ease-in-out infinite;
}
.signatories-progress-head,
.signatories-progress-meta {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.signatories-progress-current {
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
}
.signatories-progress-target {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.signatories-progress-target strong {
  color: var(--r-orange);
  font-weight: 800;
}
.signatories-progress-rail {
  position: relative;
  z-index: 1;
  height: 16px;
  margin: 14px 0 12px;
  padding: 2px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--void) 44%, transparent);
  border: 1px solid color-mix(in oklab, var(--r-yellow) 12%, transparent);
  overflow: hidden;
}
.signatories-progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  min-width: 14px;
  border-radius: inherit;
  background:
    linear-gradient(90deg, var(--r-yellow) 0%, var(--r-orange) 56%, var(--r-red) 100%);
  box-shadow:
    0 0 16px color-mix(in oklab, var(--r-yellow) 34%, transparent),
    0 0 34px color-mix(in oklab, var(--r-orange) 28%, transparent);
  transition: width .9s var(--ease-out);
}
.signatories-progress-percent {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1;
  color: var(--r-yellow);
}
.signatories-progress-copy {
  max-width: 250px;
  font-size: 13px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  text-align: right;
}

.signatory-breakdown {
  position: relative;
  inset: auto;
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  z-index: 2;
}
.signatory-stat {
  position: relative;
  inset: auto;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: 100%;
  min-height: 166px;
  padding: 18px 20px 18px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 16%, color-mix(in oklab, var(--stat-color) 12%, transparent), transparent 24%),
    linear-gradient(155deg, color-mix(in oklab, var(--surface) 96%, transparent), color-mix(in oklab, var(--bg-2) 92%, transparent));
  border: 1px solid color-mix(in oklab, var(--stat-color) 24%, var(--line));
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  transition: transform .32s var(--ease-out), border-color .32s var(--ease-out), box-shadow .32s var(--ease-out), background .32s var(--ease-out);
  cursor: pointer;
  box-shadow:
    0 26px 56px -38px color-mix(in oklab, var(--stat-color) 58%, transparent),
    0 0 0 1px color-mix(in oklab, var(--stat-color) 8%, transparent) inset;
}
.signatory-stat::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    color-mix(in oklab, var(--stat-color) 54%, transparent) 30%,
    color-mix(in oklab, var(--r-yellow) 26%, transparent) 70%,
    transparent 100%);
  opacity: 0.9;
}
.signatory-stat::after {
  content: "";
  position: absolute;
  inset: auto -34px -60px auto;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in oklab, var(--stat-color) 18%, transparent), transparent 68%);
  pointer-events: none;
  transition: transform .32s var(--ease-out), opacity .32s var(--ease-out);
  opacity: 0.86;
}
.signatory-stat:hover,
.signatory-stat:focus-visible {
  background: linear-gradient(155deg, color-mix(in oklab, var(--surface) 98%, transparent), color-mix(in oklab, var(--bg-2) 96%, transparent));
  border-color: color-mix(in oklab, var(--stat-color) 58%, var(--line-strong));
  transform: translateY(-10px) scale(1.03);
  box-shadow:
    0 34px 72px -42px color-mix(in oklab, var(--stat-color) 72%, transparent),
    0 0 0 1px color-mix(in oklab, var(--stat-color) 18%, transparent) inset,
    0 0 28px color-mix(in oklab, var(--stat-color) 16%, transparent);
}
.signatory-stat:hover::after,
.signatory-stat:focus-visible::after {
  transform: scale(1.12);
  opacity: 1;
}
.signatory-stat-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--stat-color) 18%, transparent);
  border: 1px solid color-mix(in oklab, var(--stat-color) 40%, transparent);
  display: inline-grid;
  place-items: center;
  color: var(--stat-color);
  margin-bottom: 18px;
  box-shadow: 0 0 24px color-mix(in oklab, var(--stat-color) 14%, transparent);
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.signatory-stat-icon svg { width: 18px; height: 18px; }
.signatory-stat-num {
  font-family: var(--font-display);
  font-size: 62px;
  font-weight: 600;
  color: var(--ink);
  line-height: 0.88;
  letter-spacing: -0.055em;
  font-variant-numeric: tabular-nums;
  position: relative;
  z-index: 1;
  text-shadow: 0 0 22px color-mix(in oklab, var(--stat-color) 10%, transparent);
}
.signatory-stat-num[data-count-size="medium"] {
  font-size: 52px;
}
.signatory-stat-num[data-count-size="wide"] {
  font-size: 44px;
  letter-spacing: -0.07em;
}
.signatory-stat-label {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  margin-top: 12px;
  max-width: 164px;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

.signatory-stat.cat-dj       { --stat-color: var(--r-orange); left: 0; top: 140px; }
.signatory-stat.cat-listener { --stat-color: var(--r-green); right: 0; top: 140px; }
.signatory-stat.cat-producer { --stat-color: var(--r-yellow); left: 20px; bottom: 116px; }
.signatory-stat.cat-festival { --stat-color: var(--r-cyan); right: 20px; bottom: 116px; }
.signatory-stat.cat-dancer   { --stat-color: var(--r-cyan); right: 20px; bottom: 116px; }

.signatories-country-zone {
  position: relative;
  z-index: 2;
  width: min(100%, 980px);
  margin: -58px auto 0;
  padding: 18px 20px 18px;
  border-radius: 30px;
  background:
    radial-gradient(ellipse at 50% -18%, color-mix(in oklab, var(--r-orange) 24%, transparent), transparent 56%),
    radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--r-yellow) 14%, transparent), transparent 38%),
    linear-gradient(160deg,
      color-mix(in oklab, var(--surface) 90%, transparent),
      color-mix(in oklab, var(--bg-2) 94%, transparent));
  border: 1px solid color-mix(in oklab, var(--r-yellow) 16%, var(--line));
  box-shadow:
    0 28px 84px -56px color-mix(in oklab, var(--r-orange) 58%, transparent),
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 8%, transparent) inset;
  overflow: hidden;
}
.signatories-country-zone::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -46px;
  width: min(84vw, 680px);
  height: 92px;
  transform: translateX(-50%);
  background:
    radial-gradient(ellipse at center, color-mix(in oklab, var(--r-yellow) 30%, transparent) 0%, transparent 68%),
    linear-gradient(90deg,
      transparent 0%,
      color-mix(in oklab, var(--r-orange) 18%, transparent) 18%,
      color-mix(in oklab, var(--r-yellow) 34%, transparent) 50%,
      color-mix(in oklab, var(--r-orange) 18%, transparent) 82%,
      transparent 100%);
  filter: blur(18px);
  opacity: .8;
  pointer-events: none;
}
.signatories-country-zone::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.08), transparent 24%),
    radial-gradient(circle at 50% 42%, color-mix(in oklab, var(--r-orange) 10%, transparent), transparent 58%),
    radial-gradient(circle at 50% 52%, transparent 0 54%, color-mix(in oklab, var(--r-yellow) 12%, transparent) 58%, transparent 63%);
  pointer-events: none;
}
.signatories-country-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}
.signatories-country-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.signatories-country-copy {
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
.signatories-country-copy strong {
  color: var(--r-yellow);
  font-weight: 800;
}

.country-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 14px;
  margin: 14px auto 0;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.country-chip {
  position: relative;
  padding: 11px 16px 11px 36px;
  border-radius: 999px;
  background:
    linear-gradient(160deg, color-mix(in oklab, var(--surface) 94%, transparent), color-mix(in oklab, var(--bg-2) 96%, transparent));
  border: 1px solid color-mix(in oklab, var(--r-yellow) 12%, var(--line));
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--ink);
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .28s var(--ease-out), border-color .28s var(--ease-out), box-shadow .28s var(--ease-out), color .28s var(--ease-out);
  animation: statsCountryDrift 7s ease-in-out infinite;
  animation-delay: calc(var(--country-index, 0) * .17s);
  box-shadow:
    0 14px 32px -28px color-mix(in oklab, var(--r-orange) 38%, transparent),
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 6%, transparent) inset;
}
.country-chip::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: radial-gradient(circle, var(--r-yellow) 0%, var(--r-orange) 72%, transparent 100%);
  box-shadow:
    0 0 10px color-mix(in oklab, var(--r-yellow) 46%, transparent),
    0 0 26px color-mix(in oklab, var(--r-orange) 18%, transparent);
}
.country-chip:hover {
  color: #fff;
  border-color: color-mix(in oklab, var(--r-orange) 46%, var(--line-strong));
  transform: translateY(-4px) scale(1.03);
  box-shadow:
    0 20px 44px -30px color-mix(in oklab, var(--r-orange) 66%, transparent),
    0 0 24px color-mix(in oklab, var(--r-yellow) 10%, transparent),
    0 0 0 1px color-mix(in oklab, var(--r-orange) 14%, transparent) inset;
}
.country-chip .flag {
  margin-right: 7px;
}

@keyframes statsBeaconPulse {
  0%, 100% { transform: scale(1); box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 14%, transparent) inset,
    0 0 60px color-mix(in oklab, var(--r-yellow) 14%, transparent),
    0 0 120px color-mix(in oklab, var(--r-orange) 18%, transparent),
    0 50px 130px -72px color-mix(in oklab, var(--r-orange) 58%, transparent); }
  50% { transform: scale(1.015); box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 18%, transparent) inset,
    0 0 72px color-mix(in oklab, var(--r-yellow) 18%, transparent),
    0 0 140px color-mix(in oklab, var(--r-orange) 24%, transparent),
    0 62px 144px -72px color-mix(in oklab, var(--r-orange) 62%, transparent); }
}
@keyframes statsRingPulse {
  0%, 100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.03); opacity: 1; }
}
@keyframes statsOrbitGlow {
  0%, 100% { opacity: .46; }
  50% { opacity: .92; }
}
@keyframes statsProgressSweep {
  0% { transform: translateX(-110%); }
  56%, 100% { transform: translateX(110%); }
}
@keyframes statsCountryDrift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes statsStarFloat {
  0%, 100% { transform: translateY(0) scale(1); opacity: .55; }
  50% { transform: translateY(-8px) scale(1.08); opacity: 1; }
}

@media (max-width: 1100px) {
  .signatories-map {
    min-height: 960px;
  }
  .signatories-beacon {
    top: 0;
    width: min(100%, 520px);
  }
  .signatories-beacon .ring-1 {
    inset: 30px 36px auto;
    height: 332px;
  }
  .signatories-beacon .ring-2 {
    inset: 8px 10px auto;
    height: 386px;
  }
  .signatories-beacon-core {
    width: min(100%, 408px);
    min-height: 408px;
    padding: 88px 22px 50px;
  }
  .signatories-progress {
    width: min(100%, 400px);
    margin-top: -24px;
  }
  .signatory-breakdown {
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding-top: 508px;
  }
  .signatory-stat.cat-dj,
  .signatory-stat.cat-listener,
  .signatory-stat.cat-producer,
  .signatory-stat.cat-festival,
  .signatory-stat.cat-dancer {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
  }
  .signatory-stat {
    min-height: 152px;
    padding: 16px 18px 16px;
  }
  .signatory-stat-num {
    font-size: 54px;
  }
  .signatory-stat-num[data-count-size="medium"] {
    font-size: 46px;
  }
  .signatory-stat-num[data-count-size="wide"] {
    font-size: 39px;
  }
  .signatory-stat-label {
    max-width: 142px;
    letter-spacing: 0.2em;
  }
  .signatories-country-zone {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 24px;
  }
  .signatories-country-copy {
    font-size: 13px;
  }
  .country-strip {
    gap: 10px;
    margin-top: 12px;
  }
  .country-chip {
    padding: 10px 14px 10px 33px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }
  .signatories-orbit-lines {
    opacity: .45;
  }
  .orbit-dj { --orbit-len: 240px; --orbit-rot: 220deg; }
  .orbit-festival { --orbit-len: 240px; --orbit-rot: 320deg; }
  .orbit-producer { --orbit-len: 240px; --orbit-rot: 140deg; }
  .orbit-dancer { --orbit-len: 240px; --orbit-rot: 40deg; }
}
@media (max-width: 980px) {
  .signatories-map {
    min-height: 900px;
  }
  .signatories-beacon {
    width: min(100%, 500px);
  }
  .signatories-beacon-core {
    width: min(100%, 386px);
    min-height: 386px;
    padding: 76px 20px 46px;
  }
  .big-number {
    font-size: clamp(84px, 12vw, 146px);
  }
  .big-number[data-count-size="medium"] {
    font-size: clamp(76px, 11vw, 132px);
  }
  .big-number[data-count-size="wide"] {
    font-size: clamp(66px, 10vw, 116px);
  }
  .signatory-breakdown {
    padding-top: 470px;
  }
  .signatories-country-head {
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 14px;
  }
  .signatories-country-copy {
    width: 100%;
    text-align: left;
  }
}
@media (max-width: 720px) {
  .share-signal:not(.is-revealed)::before {
    position: static;
    display: inline-flex;
    margin: 0 auto 18px;
  }
  .frustration-story-panel {
    padding: 22px;
  }

  .frustration-equation {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .frustration-equation > strong {
    min-height: auto;
    line-height: 1;
  }

  .equation-stack,
  .equation-result {
    min-height: auto;
  }

  .frustration-truth {
    font-size: 18px;
  }

  .festival-journey-carousel {
    min-height: 520px;
  }

  .journey-track {
    left: 18px;
    right: 18px;
    top: 28px;
  }

  .journey-card {
    width: min(92%, 420px);
    padding: 20px;
  }


  .signatories-hero {
    padding: 32px 20px 24px;
  }
  .signatories-topline,
  .signatories-country-head,
  .signatories-progress-head,
  .signatories-progress-meta {
    flex-direction: column;
    align-items: flex-start;
  }
  .signatories-kicker {
    font-size: 11px;
    letter-spacing: 0.18em;
  }
  .signatories-secondary {
    width: 100%;
    justify-content: center;
  }
  .signatories-map {
    min-height: 0;
    margin-top: 20px;
  }
  .signatories-orbit-lines,
  .signatories-beacon-ring {
    display: none;
  }
  .signatories-beacon {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
  }
  .signatories-beacon-core {
    min-height: 0;
    width: 100%;
    border-radius: 34px;
    padding: 42px 18px 34px;
  }
  .big-number {
    font-size: clamp(74px, 20vw, 120px);
  }
  .big-number[data-count-size="medium"] {
    font-size: clamp(66px, 18vw, 104px);
  }
  .big-number[data-count-size="wide"] {
    font-size: clamp(58px, 16vw, 90px);
  }
  .big-label {
    font-size: 11px;
    letter-spacing: 0.24em;
  }
  .signatories-mission {
    font-size: 14px;
  }
  .signatories-progress {
    width: 100%;
    margin-top: 16px;
    padding: 16px 14px 14px;
  }
  .signatories-progress-percent {
    font-size: 22px;
  }
  .signatories-progress-copy {
    max-width: none;
    text-align: left;
  }
  .signatory-breakdown {
    position: relative;
    inset: auto;
    padding-top: 16px;
    grid-template-columns: 1fr 1fr;
  }
  .signatory-stat {
    width: 100%;
    min-height: 0;
    padding: 16px 16px 15px;
    border-radius: 22px;
  }
  .signatory-stat-num {
    font-size: 42px;
  }
  .signatory-stat-num[data-count-size="medium"] {
    font-size: 38px;
  }
  .signatory-stat-num[data-count-size="wide"] {
    font-size: 32px;
  }
  .signatory-stat-label {
    max-width: 100%;
    letter-spacing: 0.18em;
  }
  .signatories-country-zone {
    margin-top: 4px;
    padding: 12px 14px 14px;
  }
  .country-strip {
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }
  .country-chip {
    padding: 9px 13px 9px 30px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.11em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .signatories-hero-sky .star,
  .orbit-line,
  .signatories-beacon .ring-1,
  .signatories-beacon .ring-2,
  .signatories-beacon-core,
  .signatories-progress::before,
  .country-chip {
    animation: none !important;
  }
}

/* ========================================================
   SIGNATORIES LIST — wall of love
   ======================================================== */
.sig-list {
  display: grid;
  gap: 18px;
  margin-top: 12px;
}
.sig-list-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px 16px;
  align-items: flex-end;
  margin-bottom: 18px;
}
.sig-list-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sig-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--line) 72%, var(--line-strong) 28%);
  background: color-mix(in oklab, var(--surface) 92%, transparent);
  color: var(--ink-dim);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: border-color .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);
}
.sig-filter-btn span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  min-height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--bg-2) 88%, transparent);
  color: var(--ink);
  font-size: 11px;
  letter-spacing: 0.05em;
}
.sig-filter-btn:hover {
  color: var(--ink);
  border-color: color-mix(in oklab, var(--r-orange) 48%, var(--line-strong));
  transform: translateY(-1px);
}
.sig-filter-btn.active {
  color: var(--r-orange);
  border-color: color-mix(in oklab, var(--r-orange) 56%, var(--line-strong));
  box-shadow: 0 12px 28px -22px color-mix(in oklab, var(--r-orange) 55%, transparent);
}
.sig-filter-btn.active span {
  background: color-mix(in oklab, var(--r-orange) 18%, var(--bg-2));
  color: var(--ink);
}
.sig-list-toolbar-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.sig-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  align-items: stretch;
}
.sig-list-more {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
}
.sig-list-more .btn[disabled] {
  opacity: 0.64;
  cursor: default;
  pointer-events: none;
}
.sig-row {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: linear-gradient(150deg,
    color-mix(in oklab, var(--surface) 92%, transparent),
    color-mix(in oklab, var(--bg-2) 95%, transparent));
  padding: 14px;
  min-height: 118px;
  transition: transform .22s var(--ease-out), border-color .22s var(--ease-out), box-shadow .22s var(--ease-out);
}
.sig-row:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--r-orange) 45%, var(--line-strong));
  box-shadow: 0 16px 34px -24px color-mix(in oklab, var(--r-orange) 48%, transparent);
}
.sig-row-index {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-family: var(--font-display);
  font-size: clamp(34px, 3.8vw, 52px);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: var(--r-yellow);
  text-shadow: 0 0 26px color-mix(in oklab, var(--r-orange) 38%, transparent);
}
.sig-row-main {
  min-width: 0;
}
.sig-row-name {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: 6px;
}
.sig-row-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.sig-row-flag {
  font-size: 15px;
  line-height: 1;
}
.sig-row-cat {
  border-radius: 999px;
  padding: 2px 8px;
  border: 1px solid var(--line-strong);
  font-size: 10px;
  letter-spacing: 0.12em;
}
.sig-row-cat.cat-dj {
  color: var(--r-orange);
  border-color: color-mix(in oklab, var(--r-orange) 50%, var(--line-strong));
}
.sig-row-cat.cat-producer {
  color: var(--r-yellow);
  border-color: color-mix(in oklab, var(--r-yellow) 50%, var(--line-strong));
}
.sig-row-cat.cat-festival {
  color: var(--r-cyan);
  border-color: color-mix(in oklab, var(--r-cyan) 50%, var(--line-strong));
}
.sig-row-cat.cat-listener {
  color: var(--r-green);
  border-color: color-mix(in oklab, var(--r-green) 50%, var(--line-strong));
}
.sig-row-cat.cat-organizer {
  color: var(--r-green);
  border-color: color-mix(in oklab, var(--r-green) 50%, var(--line-strong));
}
.sig-row-cat.cat-venue {
  color: var(--r-amber);
  border-color: color-mix(in oklab, var(--r-amber) 50%, var(--line-strong));
}
.sig-row-cat.cat-sound {
  color: var(--r-cyan);
  border-color: color-mix(in oklab, var(--r-cyan) 50%, var(--line-strong));
}
.sig-row-cat.cat-press {
  color: var(--r-red);
  border-color: color-mix(in oklab, var(--r-red) 50%, var(--line-strong));
}
.sig-row-cat.cat-dancer {
  color: var(--r-cyan);
  border-color: color-mix(in oklab, var(--r-cyan) 50%, var(--line-strong));
}
.sig-row-cat.cat-other {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  border-color: color-mix(in oklab, var(--ink-dim) 42%, var(--line-strong));
}
.sig-row-why {
  margin-top: 8px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}
@media (max-width: 720px) {
  .sig-list-toolbar {
    align-items: flex-start;
  }
  .sig-list-toolbar-meta {
    width: 100%;
    justify-content: space-between;
  }
  .sig-list-filters {
    width: 100%;
  }
  .sig-filter-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .sig-list {
    margin-top: 10px;
  }
  .sig-list-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .sig-row {
    min-height: 0;
    grid-template-columns: 62px 1fr;
    padding: 12px;
  }
  .sig-row-index {
    font-size: 34px;
  }
}

.signatories-marquee {
  margin-top: 20px;
  border-color: color-mix(in oklab, var(--line) 65%, var(--r-orange) 35%);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--r-orange) 10%, transparent) inset;
}

/* Fix: keep stats responsive instead of overlaying them on top of each other. */
.signatory-breakdown {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}
.signatory-stat {
  position: relative;
  inset: auto;
  width: auto;
}
.signatory-stat.cat-dj,
.signatory-stat.cat-listener,
.signatory-stat.cat-producer,
.signatory-stat.cat-festival,
.signatory-stat.cat-dancer {
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
}

@media (max-width: 900px) {
  .signatory-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 620px) {
  .signatory-breakdown {
    grid-template-columns: 1fr;
  }
}

.home-trust-hero {
  position: relative;
  padding: 44px 0 26px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--r-orange) 14%, transparent), transparent 54%),
    linear-gradient(180deg, color-mix(in oklab, var(--bg-2) 52%, transparent), transparent 100%);
}
.home-trust-hero .display-2 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.home-trust-copy {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  color: var(--ink);
  font-size: clamp(19px, 2.2vw, 25px);
  line-height: 1.45;
}
.home-trust-copy strong {
  color: var(--r-yellow);
  font-weight: 700;
}
.home-trust-inline {
  color: var(--r-orange) !important;
  margin-left: 0.15em;
}

.home-action-hub {
  padding: 42px 0 24px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--r-orange) 18%, transparent), transparent 56%),
    radial-gradient(circle at 50% 58%, color-mix(in oklab, var(--r-orange) 10%, transparent), transparent 40%),
    linear-gradient(180deg, color-mix(in oklab, var(--bg-2) 56%, transparent), transparent 100%);
}
.home-action-copy {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  color: var(--ink);
}
.home-action-console {
  position: relative;
  --mouse-x: 50%;
  --mouse-y: 22%;
  --ray-angle: 270deg;
  border: 1px solid color-mix(in oklab, var(--line) 62%, var(--r-orange) 38%);
  border-radius: 34px;
  padding: 34px 28px 30px;
  background:
    radial-gradient(circle at 50% 14%, color-mix(in oklab, var(--r-orange) 12%, transparent), transparent 38%),
    linear-gradient(180deg, color-mix(in oklab, var(--surface) 88%, transparent), color-mix(in oklab, var(--bg-2) 78%, transparent));
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-orange) 10%, transparent) inset,
    0 30px 80px color-mix(in oklab, var(--r-orange) 12%, transparent);
  overflow: hidden;
}
.home-action-console::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  border: 1px solid color-mix(in oklab, var(--r-orange) 16%, transparent);
  pointer-events: none;
}
.home-action-radar {
  position: relative;
  min-height: 820px;
  max-width: 1180px;
  margin: 0 auto;
  --hub-center-y: 480px;
  background:
    radial-gradient(circle 280px at var(--mouse-x) var(--mouse-y), color-mix(in oklab, var(--r-yellow) 18%, transparent), transparent 62%),
    radial-gradient(circle 220px at var(--mouse-x) var(--mouse-y), color-mix(in oklab, var(--r-orange) 22%, transparent), transparent 70%),
    conic-gradient(from calc(var(--ray-angle) - 8deg) at 50% var(--hub-center-y),
      transparent 0deg 8deg,
      color-mix(in oklab, var(--r-yellow) 30%, transparent) 8deg 13deg,
      color-mix(in oklab, var(--r-orange) 20%, transparent) 13deg 16deg,
      transparent 16deg 360deg);
  transition: background .18s linear;
}
.home-action-rays {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.home-action-rays::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 26px;
  width: min(88%, 940px);
  height: 520px;
  transform: translateX(-50%);
  border: 1px solid color-mix(in oklab, var(--r-orange) 18%, transparent);
  border-bottom: none;
  border-radius: 520px 520px 0 0;
  opacity: 0.7;
}
.home-action-rays::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 86px;
  width: min(66%, 700px);
  height: 380px;
  transform: translateX(-50%);
  border: 1px dashed color-mix(in oklab, var(--r-yellow) 18%, transparent);
  border-bottom: none;
  border-radius: 380px 380px 0 0;
  opacity: 0.55;
}
.home-action-ray {
  position: absolute;
  left: 50%;
  top: var(--hub-center-y);
  width: var(--ray-len);
  height: 2px;
  border-radius: 999px;
  transform-origin: 0 50%;
  transform: rotate(var(--ray-rot));
  background:
    linear-gradient(90deg,
      color-mix(in oklab, var(--r-yellow) 70%, transparent) 0%,
      color-mix(in oklab, var(--r-orange) 36%, transparent) 34%,
      color-mix(in oklab, var(--r-orange) 8%, transparent) 70%,
      transparent 100%);
  box-shadow:
    0 0 12px color-mix(in oklab, var(--r-orange) 26%, transparent),
    0 0 24px color-mix(in oklab, var(--r-yellow) 16%, transparent);
  opacity: 0.62;
  animation: homeActionRayPulse 6s ease-in-out infinite;
}
.ray-follow {
  --ray-len: 520px;
  --ray-rot: var(--ray-angle);
  height: 4px;
  background:
    linear-gradient(90deg,
      color-mix(in oklab, white 74%, var(--r-yellow) 26%) 0%,
      color-mix(in oklab, var(--r-yellow) 86%, white 14%) 14%,
      color-mix(in oklab, var(--r-orange) 44%, transparent) 42%,
      color-mix(in oklab, var(--r-orange) 10%, transparent) 74%,
      transparent 100%);
  box-shadow:
    0 0 18px color-mix(in oklab, var(--r-yellow) 36%, transparent),
    0 0 34px color-mix(in oklab, var(--r-orange) 28%, transparent),
    0 0 58px color-mix(in oklab, white 16%, transparent);
  opacity: 0.98;
  z-index: 2;
  animation: none;
}
.ray-1 { --ray-len: 456px; --ray-rot: 189deg; animation-delay: 0s; }
.ray-2 { --ray-len: 458px; --ray-rot: 209deg; animation-delay: .35s; }
.ray-3 { --ray-len: 430px; --ray-rot: 234deg; animation-delay: .7s; }
.ray-4 { --ray-len: 406px; --ray-rot: 270deg; animation-delay: 1.05s; }
.ray-5 { --ray-len: 430px; --ray-rot: 306deg; animation-delay: 1.4s; }
.ray-6 { --ray-len: 458px; --ray-rot: 331deg; animation-delay: 1.75s; }
.ray-7 { --ray-len: 456px; --ray-rot: 351deg; animation-delay: 2.1s; }
.home-action-core {
  position: absolute;
  left: 50%;
  top: 298px;
  width: 368px;
  min-height: 368px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
  padding: 72px 30px 38px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--r-orange) 52%, transparent);
  background:
    radial-gradient(circle at 50% 44%, color-mix(in oklab, white 18%, transparent), transparent 22%),
    radial-gradient(circle at 50% 48%, color-mix(in oklab, var(--r-yellow) 42%, transparent), transparent 34%),
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--r-orange) 22%, transparent), transparent 66%),
    radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--surface) 94%, transparent), color-mix(in oklab, var(--bg-2) 86%, transparent) 72%);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-yellow) 20%, transparent) inset,
    0 0 0 18px color-mix(in oklab, var(--r-orange) 6%, transparent) inset,
    0 0 42px color-mix(in oklab, var(--r-yellow) 18%, transparent),
    0 0 88px color-mix(in oklab, var(--r-orange) 30%, transparent),
    0 36px 110px color-mix(in oklab, var(--r-orange) 28%, transparent);
  z-index: 3;
}
.home-action-core::before {
  content: "";
  position: absolute;
  inset: -26px;
  border-radius: 50%;
  border: 1px dashed color-mix(in oklab, var(--r-yellow) 22%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--r-orange) 10%, transparent) inset,
    0 0 52px color-mix(in oklab, var(--r-yellow) 14%, transparent),
    0 0 72px color-mix(in oklab, var(--r-orange) 18%, transparent);
  opacity: 0.88;
  animation: homeActionCorePulse 7.5s ease-in-out infinite;
  z-index: -1;
}
.home-action-core::after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--r-orange) 22%, transparent);
  box-shadow:
    0 0 24px color-mix(in oklab, var(--r-yellow) 12%, transparent),
    0 0 54px color-mix(in oklab, var(--r-orange) 14%, transparent);
  opacity: 0.8;
  z-index: -1;
}
.home-action-core-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--r-yellow);
}
.home-action-core-btn {
  display: flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 286px;
  padding: 22px 30px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, var(--r-orange) 0%, var(--r-red) 100%);
  border: 1px solid color-mix(in oklab, var(--r-yellow) 48%, transparent);
  box-shadow:
    0 18px 56px color-mix(in oklab, var(--r-orange) 38%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.16);
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), filter .35s var(--ease-out);
}
.home-action-core-btn:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow:
    0 26px 72px color-mix(in oklab, var(--r-orange) 44%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.2);
  filter: saturate(1.06);
  color: #fff;
}
.home-action-core-btn:focus-visible {
  transform: translateY(-4px) scale(1.02);
  box-shadow:
    0 26px 72px color-mix(in oklab, var(--r-orange) 44%, transparent),
    0 0 0 3px color-mix(in oklab, var(--r-yellow) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.2);
  color: #fff;
}
.home-action-core-btn span {
  width: 22px;
  min-width: 22px;
}
.home-action-core p {
  max-width: 244px;
  margin: 0;
  color: color-mix(in oklab, var(--ink) 92%, white 8%);
  font-size: 14px;
  line-height: 1.55;
}
.home-action-node {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 224px;
  text-align: center;
  z-index: 2;
}
.home-action-node::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  width: 210px;
  height: 148px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in oklab, var(--r-orange) 20%, transparent), transparent 70%);
  opacity: 0.85;
  pointer-events: none;
}
.home-action-node p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: color-mix(in oklab, var(--ink) 74%, white 26%);
  line-height: 1.45;
  font-size: 13px;
  max-width: 198px;
  transition: color .24s var(--ease-out), transform .24s var(--ease-out);
}
.home-action-pill {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  padding: 16px 20px;
  min-height: 62px;
  width: 100%;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 42%, transparent);
  background: linear-gradient(135deg, color-mix(in oklab, var(--r-orange) 92%, white 8%), var(--r-red) 100%);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 16px 38px color-mix(in oklab, var(--r-orange) 28%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.2);
  transition: transform .28s var(--ease-out), border-color .28s var(--ease-out), box-shadow .28s var(--ease-out), color .28s var(--ease-out), filter .28s var(--ease-out);
}
.home-action-pill:hover,
.home-action-pill:focus-visible {
  transform: translateY(-5px) scale(1.03);
  border-color: color-mix(in oklab, var(--r-yellow) 72%, white 28%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.14) inset,
    0 26px 58px color-mix(in oklab, var(--r-orange) 34%, transparent),
    0 0 22px color-mix(in oklab, var(--r-yellow) 16%, transparent);
  filter: saturate(1.08) brightness(1.03);
  color: #fff;
}
.home-action-pill span {
  width: 18px;
  min-width: 18px;
}
.home-action-node:hover p,
.home-action-node:focus-within p {
  color: var(--ink);
  transform: translateY(-2px);
}
.orbit-1 { position: absolute; left: 20px; top: 364px; }
.orbit-2 { position: absolute; left: 72px; top: 212px; }
.orbit-3 { position: absolute; left: 228px; top: 84px; }
.orbit-4 { position: absolute; left: 50%; top: 24px; transform: translateX(-50%); }
.orbit-5 { position: absolute; right: 228px; top: 84px; }
.orbit-6 { position: absolute; right: 72px; top: 212px; }
.orbit-7 { position: absolute; right: 20px; top: 364px; }
@keyframes homeActionRayPulse {
  0%, 100% { opacity: 0.46; filter: saturate(0.92); }
  50% { opacity: 0.82; filter: saturate(1.08); }
}
@keyframes homeActionCorePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.78;
  }
  50% {
    transform: scale(1.018);
    opacity: 1;
  }
}
@media (max-width: 1240px) {
  .home-action-radar {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    align-items: start;
    background: none;
  }
  .home-action-rays,
  .home-action-radar::before,
  .home-action-radar::after {
    display: none;
  }
  .home-action-core,
  .orbit-1,
  .orbit-2,
  .orbit-3,
  .orbit-4,
  .orbit-5,
  .orbit-6,
  .orbit-7 {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
  }
  .home-action-core {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 0;
    padding: 28px 22px 24px;
    border-radius: 30px;
  }
  .home-action-core-btn {
    min-width: min(100%, 420px);
  }
  .home-action-node {
    width: 100%;
  }
  .home-action-node p {
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 640px) {
  .home-action-hub {
    padding-top: 30px;
  }
  .home-action-console {
    padding: 24px 16px 20px;
    border-radius: 26px;
  }
  .home-action-radar {
    grid-template-columns: 1fr 1fr;
    gap: 14px 12px;
  }
  .home-action-core {
    padding: 22px 16px 18px;
  }
  .home-action-core-btn {
    min-width: 0;
    width: 100%;
    padding: 18px 20px;
    font-size: 13px;
  }
  .home-action-node {
    gap: 8px;
  }
  .home-action-pill {
    min-height: 58px;
    padding: 14px 12px;
    font-size: 10px;
    letter-spacing: 0.13em;
  }
  .home-action-node p,
  .home-action-core p {
    font-size: 12px;
    line-height: 1.4;
    max-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-action-console,
  .home-action-radar,
  .home-action-core::before,
  .home-action-ray,
  .home-action-pill,
  .home-action-core-btn,
  .home-action-node p {
    animation: none !important;
    transition: none !important;
  }
}

.wall-love-head h3 {
  margin: 0;
  font-size: clamp(24px, 3.6vw, 38px);
}
.wall-love-head p {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 17px;
}
.wall-love-head p.sub {
  margin-top: 4px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 14px;
}

.manifesto-why-word {
  color: var(--r-orange);
  font-weight: 700;
}

/* ========================================================
   FREQUENCY CARDS — for "What is Intentional Electro"
   Variant 1: tiles with animated wave background
   ======================================================== */
.freq-card {
  padding: 36px 28px;
  border-radius: var(--r-lg);
  background: var(--surface);
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: all .4s var(--ease-out);
}
.freq-card::before {
  content: ""; position: absolute;
  left: 0; right: 0; bottom: 0; height: 60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'><path d='M0 40 Q 150 0 300 40 T 600 40 T 900 40 T 1200 40 L 1200 60 L 0 60 Z' fill='%23e8741a' opacity='0.15'/><path d='M0 50 Q 150 20 300 50 T 600 50 T 900 50 T 1200 50' stroke='%23e8741a' stroke-width='0.8' fill='none' opacity='0.4'/></svg>");
  background-size: 200% 100%;
  background-position: 0 0;
  opacity: 0.6;
  transition: opacity .5s var(--ease-out), background-position 3s linear;
  z-index: -1;
}
.freq-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in oklab, var(--r-orange) 40%, var(--line-strong));
}
.freq-card:hover::before {
  opacity: 1;
  background-position: 100% 0;
}
.freq-num {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--r-yellow);
  margin-bottom: 18px;
}
.freq-card h3 { font-size: 22px; margin-bottom: 10px; }
.freq-card p  { color: var(--ink-dim); font-size: 15px; margin: 0; }

/* ========================================================
   LIQUID CARD — with blob-animated background
   ======================================================== */
.liquid-card {
  position: relative;
  padding: 40px 32px;
  border-radius: 28px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  isolation: isolate;
  transition: transform .4s var(--ease-out);
}
.liquid-card::before,
.liquid-card::after {
  content: ""; position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  z-index: -1;
  transition: transform 1.5s var(--ease-out);
}
.liquid-card::before {
  width: 240px; height: 240px;
  top: -40px; right: -60px;
  background: color-mix(in oklab, var(--liquid-a, var(--r-orange)) 80%, transparent);
  opacity: 0.5;
}
.liquid-card::after {
  width: 200px; height: 200px;
  bottom: -40px; left: -40px;
  background: color-mix(in oklab, var(--liquid-b, var(--r-red)) 70%, transparent);
  opacity: 0.4;
}
.liquid-card:hover { transform: translateY(-6px); }
.liquid-card:hover::before { transform: translate(-20px, 20px) scale(1.15); }
.liquid-card:hover::after  { transform: translate(20px, -20px) scale(1.2); }
.liquid-card.l-green { --liquid-a: var(--r-green); --liquid-b: var(--r-yellow); }
.liquid-card.l-cyan  { --liquid-a: var(--r-cyan);  --liquid-b: var(--r-aqua); }

/* ========================================================
   TILT CARD — responds to mouse position
   Requires JS (added in site.js) to set --tx, --ty
   ======================================================== */
.tilt-card {
  padding: 36px 32px;
  border-radius: var(--r-lg);
  background: linear-gradient(145deg,
    color-mix(in oklab, var(--surface) 85%, transparent),
    color-mix(in oklab, var(--bg-2) 80%, transparent));
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
  transition: transform .5s var(--ease-out), border-color .5s var(--ease-out);
  transform-style: preserve-3d;
  transform:
    perspective(800px)
    rotateX(var(--ty, 0deg))
    rotateY(var(--tx, 0deg));
}
.tilt-card::before {
  /* spotlight that follows cursor */
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle 240px at var(--mx, 50%) var(--my, 50%),
    color-mix(in oklab, var(--r-orange) 22%, transparent),
    transparent 60%);
  opacity: 0;
  transition: opacity .4s var(--ease-out);
  pointer-events: none;
}
.tilt-card:hover {
  border-color: color-mix(in oklab, var(--r-orange) 40%, var(--line-strong));
}
.tilt-card:hover::before { opacity: 1; }
.tilt-card h3 { font-size: 22px; margin-bottom: 10px; transform: translateZ(20px); }
.tilt-card p  { color: var(--ink-dim); font-size: 15px; transform: translateZ(10px); }

/* ========================================================
   MARQUEE TICKER — infinite scrolling text band
   ======================================================== */
.marquee {
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 24px 0 22px;
  background: color-mix(in oklab, var(--bg-2) 80%, transparent);
  position: relative;
  display: grid;
  gap: 10px;
}
.marquee-track {
  display: flex; gap: 48px;
  animation: marquee 78s linear infinite;
  width: max-content;
  font-family: var(--font-display);
  font-size: clamp(21px, 2vw, 31px);
  letter-spacing: 0.04em;
  line-height: 1.15;
  white-space: nowrap;
  color: var(--ink);
}
.marquee-track span {
  display: inline-flex; align-items: center; gap: 20px;
}
.marquee-track:nth-child(2) {
  animation-direction: reverse;
  animation-duration: 92s;
}
.marquee-track:nth-child(3) {
  animation-duration: 108s;
}
.marquee-track span:nth-child(even) {
  color: color-mix(in oklab, var(--r-orange) 72%, var(--ink));
}
.marquee-track span::after {
  content: "✦";
  color: var(--r-orange);
  font-size: 0.7em;
  opacity: 0.8;
}
.marquee-track em {
  font-style: normal;
  color: var(--r-yellow);
}
@keyframes marquee {
  to { transform: translateX(-50%); }
}
.marquee:hover .marquee-track { animation-play-state: paused; }

/* ========================================================
   CONSTELLATION CARD — small info inside a dot-network
   ======================================================== */
.constellation-wrap {
  position: relative;
  padding: 56px 40px;
  border-radius: var(--r-xl);
  background: radial-gradient(ellipse at center, var(--bg-2), var(--void));
  border: 1px solid var(--line);
  overflow: hidden;
}
.constellation-wrap::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 12% 20%, var(--r-yellow) 50%, transparent),
    radial-gradient(1px 1px at 35% 70%, var(--r-cyan) 50%, transparent),
    radial-gradient(1px 1px at 70% 25%, var(--r-orange) 50%, transparent),
    radial-gradient(1px 1px at 85% 60%, var(--r-green) 50%, transparent),
    radial-gradient(1px 1px at 50% 50%, var(--r-yellow) 50%, transparent),
    radial-gradient(1px 1px at 22% 85%, var(--r-orange) 50%, transparent),
    radial-gradient(1px 1px at 65% 80%, var(--r-cyan) 50%, transparent);
  opacity: 0.7;
  animation: twinkle 6s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes twinkle {
  0%   { opacity: 0.4; }
  100% { opacity: 0.9; }
}

/* ========================================================
   VISION FLAG CHECKLIST — "world where..." as one flag
   ======================================================== */
.vision-flag-wrap {
  position: relative;
  padding: 30px;
  border-radius: var(--r-xl);
  border: 1px solid var(--line);
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in oklab, var(--r-orange) 12%, transparent), transparent 62%),
    linear-gradient(160deg, color-mix(in oklab, var(--surface) 86%, transparent), color-mix(in oklab, var(--bg-2) 90%, transparent));
  overflow: hidden;
}
.vision-flag-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      -7deg,
      rgba(255, 255, 255, 0.016) 0 22px,
      rgba(255, 255, 255, 0.005) 22px 44px
    );
  pointer-events: none;
  animation: visionFlagWave 9.5s ease-in-out infinite;
}
.vision-flag-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
  transform: translateX(-120%);
  animation: visionFlagSweep 8.5s ease-in-out infinite;
  pointer-events: none;
}
.vision-flag {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.vision-check-item {
  --vision-accent: var(--r-yellow);
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
  padding: 18px;
  border-radius: var(--r-md);
  border: 1px solid color-mix(in oklab, var(--vision-accent) 24%, var(--line));
  background:
    radial-gradient(circle at 92% 8%, color-mix(in oklab, var(--vision-accent) 16%, transparent), transparent 40%),
    color-mix(in oklab, var(--surface) 82%, transparent);
  box-shadow: 0 14px 34px -28px color-mix(in oklab, var(--vision-accent) 48%, transparent);
  transition: transform .32s var(--ease-out), border-color .32s var(--ease-out), box-shadow .32s var(--ease-out);
}
.vision-check-item:hover {
  transform: translateY(-4px);
  border-color: color-mix(in oklab, var(--vision-accent) 58%, var(--line-strong));
  box-shadow:
    0 20px 44px -30px color-mix(in oklab, var(--vision-accent) 62%, transparent),
    0 0 0 1px color-mix(in oklab, var(--vision-accent) 14%, transparent) inset;
}
.vision-check-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--vision-accent);
  background: color-mix(in oklab, var(--vision-accent) 18%, transparent);
  border: 1px solid color-mix(in oklab, var(--vision-accent) 46%, transparent);
  box-shadow: 0 0 20px color-mix(in oklab, var(--vision-accent) 20%, transparent);
}
.vision-check-icon svg { width: 22px; height: 22px; }
.vision-check-item h3 {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2.15vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.vision-check-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.vision-check-item.is-cyan { --vision-accent: var(--r-cyan); }
.vision-check-item.is-orange { --vision-accent: var(--r-orange); }
.vision-check-item.is-green { --vision-accent: var(--r-green); }
.vision-check-item.is-yellow { --vision-accent: var(--r-yellow); }
.vision-check-item.is-red { --vision-accent: var(--r-red); }
.vision-check-item.is-amber { --vision-accent: var(--r-amber); }

@keyframes visionFlagWave {
  0%, 100% { transform: translateX(0) translateY(0) scaleY(1); opacity: .58; }
  50% { transform: translateX(-10px) translateY(2px) scaleY(1.01); opacity: .82; }
}
@keyframes visionFlagSweep {
  0% { transform: translateX(-120%); opacity: 0; }
  18% { opacity: .55; }
  55% { opacity: .2; }
  100% { transform: translateX(120%); opacity: 0; }
}

@media (max-width: 980px) {
  .vision-flag-wrap {
    padding: 20px;
  }
  .vision-flag {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .vision-check-item {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 15px;
  }
  .vision-check-icon {
    width: 42px;
    height: 42px;
  }
  .vision-check-item h3 {
    font-size: clamp(24px, 7vw, 34px);
  }
}

/* ========================================================
   VERTICAL MANIFESTO (compact, for home)
   ======================================================== */
.manifesto-compact {
  max-width: 760px; margin: 0 auto;
  padding: 56px 48px;
  border-radius: var(--r-xl);
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--surface) 90%, transparent),
    color-mix(in oklab, var(--bg-2) 95%, transparent));
  border: 1px solid var(--line-strong);
  position: relative;
  overflow: hidden;
}
.manifesto-compact::before,
.manifesto-compact::after {
  content: ""; position: absolute;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--r-yellow);
  box-shadow: 0 0 12px var(--r-yellow);
  animation: pulse-dot 3s ease-in-out infinite;
}
.manifesto-compact::before { top: 16px; left: 16px; }
.manifesto-compact::after  { bottom: 16px; right: 16px; animation-delay: -1.5s; }

.m-line {
  display: block;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.5;
  color: var(--ink);
  text-align: center;
  margin: 0 0 22px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.m-line.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.m-line.is-visible:nth-child(2) { transition-delay: .1s; }
.m-line.is-visible:nth-child(3) { transition-delay: .2s; }
.m-line.is-visible:nth-child(4) { transition-delay: .3s; }
.m-line.is-visible:nth-child(5) { transition-delay: .4s; }
.m-line.is-visible:nth-child(6) { transition-delay: .5s; }
.m-line em { font-style: normal; color: var(--r-yellow); font-weight: 500; }
.m-line strong { color: var(--r-orange); font-weight: 500; }
.manifesto-why-line {
  display: inline-block;
  color: var(--r-orange);
  font-weight: 700;
}

@media (max-width: 640px) { .manifesto-compact { padding: 40px 28px; } }

.intention-cues {
  padding: 36px;
  border-radius: var(--r-lg);
  background: color-mix(in oklab, var(--surface) 74%, transparent);
  border: 1px solid var(--line);
}
.intention-cues h3 {
  font-size: clamp(28px, 4vw, 46px);
  margin-bottom: 24px;
}
.cue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.cue-panel {
  padding: 24px;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
}
.cue-flat {
  background: color-mix(in oklab, var(--r-red) 10%, var(--bg-2));
  border-color: color-mix(in oklab, var(--r-red) 28%, var(--line));
}
.cue-alive {
  background: color-mix(in oklab, var(--r-green) 12%, var(--bg-2));
  border-color: color-mix(in oklab, var(--r-green) 30%, var(--line));
}
.cue-panel h4 {
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.18em;
  line-height: 1.45;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.cue-flat h4 { color: var(--r-red); }
.cue-alive h4 { color: var(--r-green); }
.cue-panel ul {
  margin: 0;
  padding-left: 18px;
}
.cue-panel li {
  color: var(--ink);
  line-height: 1.55;
  margin: 0 0 10px;
}
.intention-cues blockquote {
  margin: 28px 0 16px;
  padding-left: 20px;
  border-left: 2px solid var(--r-yellow);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.25;
}
.intention-cues p {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  margin: 0;
}
.manifesto-deep-dive {
  margin-top: 18px;
  display: flex;
}
.manifesto-deep-dive__cta {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "eyebrow arrow"
    "title arrow";
  gap: 8px 18px;
  align-items: center;
  max-width: 520px;
  padding: 18px 20px 16px;
  border-radius: 22px;
  border: 1px solid color-mix(in oklab, var(--r-orange) 58%, var(--r-yellow) 18%);
  background:
    linear-gradient(135deg, color-mix(in oklab, var(--r-orange) 26%, rgba(13, 18, 30, 0.96)), rgba(18, 28, 46, 0.96)),
    linear-gradient(180deg, rgba(13, 18, 30, 0.92), rgba(18, 28, 46, 0.96));
  box-shadow:
    inset 0 0 0 1px color-mix(in oklab, var(--r-orange) 16%, transparent),
    0 18px 40px -22px color-mix(in oklab, var(--r-orange) 72%, transparent);
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out);
}
.manifesto-deep-dive__cta:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--r-orange) 74%, var(--r-yellow));
  box-shadow:
    inset 0 0 0 1px color-mix(in oklab, var(--r-orange) 22%, transparent),
    0 22px 48px -22px color-mix(in oklab, var(--r-orange) 78%, transparent);
}
.manifesto-deep-dive__eyebrow {
  grid-area: eyebrow;
  color: var(--r-orange);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.manifesto-deep-dive__cta strong {
  grid-area: title;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(22px, 2.35vw, 32px);
  line-height: 1.08;
  font-weight: 700;
  max-width: 18ch;
}
.manifesto-deep-dive__arrow {
  grid-area: arrow;
  align-self: center;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklab, var(--r-orange) 86%, var(--r-red));
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 12px 28px -14px color-mix(in oklab, var(--r-orange) 76%, transparent);
}
@media (max-width: 640px) {
  .manifesto-deep-dive__cta {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 820px) {
  .cue-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .intention-cues { padding: 26px 20px; }
}

/* ========================================================
   OPEN QUESTIONS — "What I don't yet know"
   Each question is its own atmospheric card with
   Samuel's reflection + an elegant community input.
   Not a form. A conversation space.
   ======================================================== */
.questions-intro {
  padding: 26px 0 8px;
}
.questions-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.question-card {
  position: relative;
  padding: 22px 28px;
  border-radius: var(--r-xl);
  background: linear-gradient(150deg,
    color-mix(in oklab, var(--surface) 85%, transparent) 0%,
    color-mix(in oklab, var(--bg-2) 90%, transparent) 100%);
  border: 1px solid var(--line);
  overflow: hidden;
  transition: border-color .4s var(--ease-out), transform .4s var(--ease-out);
}
.question-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--q-color, var(--r-yellow)) 80%, transparent),
    transparent);
  opacity: 0.7;
}
.question-card::after {
  content: "";
  position: absolute;
  top: -20%; right: -15%;
  width: 280px; height: 280px;
  background: radial-gradient(circle,
    color-mix(in oklab, var(--q-color, var(--r-yellow)) 16%, transparent),
    transparent 70%);
  filter: blur(32px);
  opacity: 0.5;
  pointer-events: none;
  transition: opacity .5s var(--ease-out), transform .8s var(--ease-out);
}
.question-card:hover {
  border-color: color-mix(in oklab, var(--q-color, var(--r-yellow)) 40%, var(--line-strong));
  transform: translateY(-3px);
}
.question-card:hover::after {
  opacity: 0.9;
  transform: scale(1.15) translate(-10px, 10px);
}

/* Rotating color spectrum for the 10 questions */
.question-card:nth-child(1)  { --q-color: var(--r-cyan); }
.question-card:nth-child(2)  { --q-color: var(--r-aqua); }
.question-card:nth-child(3)  { --q-color: var(--r-green); }
.question-card:nth-child(4)  { --q-color: var(--r-yellow); }
.question-card:nth-child(5)  { --q-color: var(--r-amber); }
.question-card:nth-child(6)  { --q-color: var(--r-orange); }
.question-card:nth-child(7)  { --q-color: var(--r-red); }
.question-card:nth-child(8)  { --q-color: var(--r-orange); }
.question-card:nth-child(9)  { --q-color: var(--r-yellow); }
.question-card:nth-child(10) { --q-color: var(--r-green); }

.question-head {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 10px;
  position: relative; z-index: 2;
}
.question-num {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  line-height: 1;
  color: var(--q-color, var(--r-yellow));
  letter-spacing: -0.03em;
  opacity: 0.9;
  min-width: 72px;
}
.question-title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.25;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.015em;
  padding-top: 6px;
}

.question-samuel {
  position: relative; z-index: 2;
  padding: 14px 18px;
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--void) 35%, transparent);
  border-left: 2px solid color-mix(in oklab, var(--q-color, var(--r-yellow)) 60%, var(--line-strong));
  margin-bottom: 12px;
  font-size: 16px;
  color: var(--ink);
  line-height: 1.55;
  font-style: italic;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.question-samuel .mark {
  font-family: var(--font-display);
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--q-color, var(--r-yellow));
  flex-shrink: 0;
  padding-top: 4px;
  opacity: 0.9;
}
.question-samuel .text { flex: 1; }

.question-invite {
  position: relative; z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 16px;
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--q-color, var(--r-yellow)) 10%, transparent);
  border: 1px dashed color-mix(in oklab, var(--q-color, var(--r-yellow)) 40%, var(--line-strong));
  cursor: pointer;
  transition: background .25s var(--ease-out);
}
.question-invite:hover {
  background: color-mix(in oklab, var(--q-color, var(--r-yellow)) 18%, transparent);
}
.question-invite svg {
  width: 20px; height: 20px;
  color: var(--q-color, var(--r-yellow));
  flex-shrink: 0; margin-top: 2px;
}
.question-invite strong {
  display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ink);
  margin-bottom: 3px;
}
.question-invite span {
  font-size: 13px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-style: italic;
}

/* Expandable answer form */
.question-card .answer-form {
  position: relative; z-index: 2;
  margin-top: 12px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .5s var(--ease-out), opacity .4s var(--ease-out), margin-top .5s var(--ease-out);
}
.question-card.expanded .answer-form {
  max-height: 720px;
  opacity: 1;
  margin-top: 14px;
}
.question-card.expanded .question-invite {
  display: none;
}
.answer-form-inner {
  padding: 18px;
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--void) 50%, transparent);
  border: 1px solid var(--line);
  display: grid;
  gap: 14px;
}
.answer-form-inner .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 600px) {
  .answer-form-inner .row { grid-template-columns: 1fr; }
  .question-card { padding: 22px 20px; }
  .question-num { font-size: 34px; min-width: 50px; }
}
.answer-form-inner input[type="text"],
.answer-form-inner input[type="email"],
.answer-form-inner textarea {
  width: 100%;
  padding: 12px 14px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color .2s var(--ease-out);
}
.answer-form-inner textarea {
  min-height: 110px;
  resize: vertical;
}
.answer-form-inner input:focus,
.answer-form-inner textarea:focus {
  outline: none;
  border-color: var(--q-color, var(--r-yellow));
}
.answer-form-inner .actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.answer-form-inner .actions small {
  color: var(--ink-soft);
  font-size: 12px;
  font-style: italic;
}
.answer-form-inner button[type="submit"] {
  background: linear-gradient(135deg, var(--q-color, var(--r-yellow)), color-mix(in oklab, var(--q-color, var(--r-yellow)) 70%, var(--r-orange)));
  color: var(--void);
  border: none;
  padding: 12px 22px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: transform .2s var(--ease-out);
}
.answer-form-inner button[type="submit"]:hover {
  transform: translateY(-1px);
}
.answer-form-inner button.cancel {
  background: transparent;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  border: 1px solid var(--line-strong);
  padding: 10px 18px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Community echoes display */
.question-echoes {
  position: relative; z-index: 2;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px dashed var(--line);
}
.question-echoes-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
}
.question-echoes-head h5 {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-weight: 500;
  margin: 0;
}
.question-echoes-head .count {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--q-color, var(--r-yellow));
  text-transform: uppercase;
}
.question-echoes-list {
  display: grid;
  gap: 10px;
}
.echo {
  padding: 14px 16px;
  background: color-mix(in oklab, var(--surface) 50%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: 14px;
  color: var(--ink);
  line-height: 1.55;
  font-style: italic;
  transition: border-color .2s var(--ease-out);
}
.echo:hover { border-color: var(--q-color, var(--r-yellow)); }
.echo-attr {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
/* Newly-added echo — brief highlight when user just submitted */
.echo.echo-new {
  animation: echo-appear 2.2s var(--ease-out);
  border-color: var(--q-color, var(--r-yellow));
  background: color-mix(in oklab, var(--q-color, var(--r-yellow)) 14%, var(--surface));
}
@keyframes echo-appear {
  0%   { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ========================================================
   FESTIVAL LINEUP BOARD — 40 hours of emotional slots
   Designed to look like a modern festival timetable,
   2-hour slots, Fri/Sat/Sun layout.
   ======================================================== */
.lineup-board {
  padding: 48px 36px;
  border-radius: var(--r-xl);
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, color-mix(in oklab, var(--r-orange) 22%, transparent), transparent 60%),
    linear-gradient(160deg, var(--surface) 0%, var(--bg-2) 100%);
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
  box-shadow: 0 40px 100px -30px rgba(0, 0, 0, 0.5);
}
.lineup-board::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 79px,
      color-mix(in oklab, var(--ink) 5%, transparent) 79px,
      color-mix(in oklab, var(--ink) 5%, transparent) 80px);
  opacity: 0.5;
  pointer-events: none;
}
.lineup-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding-bottom: 24px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line-strong);
  position: relative; z-index: 2;
}
.lineup-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.1;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0;
}
.lineup-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--r-yellow), var(--r-orange));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.lineup-meta {
  display: flex; gap: 22px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 88%, var(--r-yellow) 12%);
}
.lineup-meta span strong {
  display: block;
  color: var(--r-yellow);
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 2px;
  letter-spacing: 0.15em;
}

.lineup-grid {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 70px repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}
.lineup-cell {
  background: color-mix(in oklab, var(--bg-2) 85%, transparent);
  padding: 14px 12px;
  min-height: 64px;
  display: flex;
  align-items: center;
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--ink) 90%, white 10%);
  position: relative;
  transition: all .25s var(--ease-out);
}
.lineup-cell.day-header {
  background: color-mix(in oklab, var(--surface) 80%, transparent);
  font-size: 13px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--r-yellow);
  justify-content: center;
  min-height: 48px;
  font-weight: 700;
}
.lineup-cell.time-label {
  background: color-mix(in oklab, var(--void) 40%, transparent);
  color: color-mix(in oklab, var(--ink) 84%, var(--r-cyan) 16%);
  font-size: 12px;
  font-weight: 600;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.1em;
}
.lineup-slot {
  cursor: default;
  position: relative;
}
.lineup-slot::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--slot-color, var(--r-orange));
  opacity: 0.9;
}
.lineup-slot-name {
  font-weight: 700;
  font-size: 17px;
  color: var(--ink);
  line-height: 1.2;
  text-transform: none;
  letter-spacing: -0.01em;
  padding-left: 8px;
  transition: color .2s var(--ease-out);
}
.lineup-slot-dj {
  display: block;
  margin-top: 4px;
  padding-left: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 88%, var(--slot-color, var(--r-orange)) 12%);
  line-height: 1.2;
}
.lineup-slot-desc {
  display: block;
  font-size: 11px;
  font-family: var(--font-body);
  color: color-mix(in oklab, var(--ink) 80%, var(--slot-color, var(--r-orange)) 20%);
  letter-spacing: 0;
  text-transform: none;
  margin-top: 3px;
  padding-left: 8px;
  opacity: 0;
  max-height: 0;
  transition: opacity .35s var(--ease-out), max-height .35s var(--ease-out);
}
.lineup-slot:hover {
  background: color-mix(in oklab, var(--slot-color, var(--r-orange)) 14%, var(--bg-2));
}
.lineup-slot:hover::before {
  width: 5px;
  box-shadow: 0 0 20px var(--slot-color, var(--r-orange));
}
.lineup-slot:hover .lineup-slot-name {
  color: var(--slot-color, var(--r-orange));
}
.lineup-slot:hover .lineup-slot-desc {
  opacity: 1;
  max-height: 40px;
}
.lineup-slot.empty {
  background: color-mix(in oklab, var(--void) 50%, transparent);
  color: var(--ink-soft);
}
.lineup-slot.empty::before { background: var(--line); opacity: 0.4; }

/* Slot color variants */
.lineup-slot.c-hot    { --slot-color: var(--r-red); }
.lineup-slot.c-warm   { --slot-color: var(--r-orange); }
.lineup-slot.c-yellow { --slot-color: var(--r-yellow); }
.lineup-slot.c-green  { --slot-color: var(--r-green); }
.lineup-slot.c-cool   { --slot-color: var(--r-cyan); }

.lineup-footer {
  position: relative; z-index: 2;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed var(--line);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}
.lineup-legend {
  display: flex; gap: 16px; flex-wrap: wrap;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 86%, var(--r-yellow) 14%);
}
.lineup-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lineup-legend-dot {
  width: 8px; height: 8px;
  border-radius: 2px;
  background: var(--color);
  box-shadow: 0 0 10px var(--color);
}
.lineup-note {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 84%, var(--r-orange) 16%);
  font-style: italic;
}
.lineup-intro-copy {
  color: color-mix(in oklab, var(--ink) 88%, var(--r-yellow) 12%);
}

/* Home teaser variant: intentionally shows only the top part */
.lineup-board-teaser {
  max-height: 540px;
  overflow: hidden;
  position: relative;
}
.lineup-board-teaser::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 170px;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--bg-2) 0%, transparent 100%) 0%,
    color-mix(in oklab, var(--bg-2) 70%, transparent 30%) 45%,
    var(--bg-2) 100%
  );
}
.lineup-teaser-hint {
  margin-top: 14px;
  color: color-mix(in oklab, var(--ink) 78%, var(--r-yellow) 22%);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

@media (max-width: 780px) {
  .lineup-board { padding: 32px 20px; }
  .lineup-grid { grid-template-columns: 56px repeat(3, 1fr); }
  .lineup-cell { padding: 10px 8px; min-height: 60px; }
  .lineup-slot-name { font-size: 13px; font-weight: 700; }
  .lineup-slot-dj { font-size: 9px; letter-spacing: 0.08em; margin-top: 3px; }
  .lineup-slot-desc { display: none; }
  .lineup-cell.time-label { font-size: 10px; }
  .lineup-board-teaser { max-height: 390px; }
  .lineup-board-teaser::after { height: 120px; }
  .lineup-teaser-hint { font-size: 10px; letter-spacing: 0.12em; }
}

/* ========================================================
   "PACK THE MANIFESTO INTO YOUR SET" — signature block
   A large, warm invitation module for DĴs to embed the
   manifesto audio into their own sets.
   ======================================================== */
.pack-manifesto {
  padding: 56px 48px;
  border-radius: var(--r-xl);
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%,   color-mix(in oklab, var(--r-orange) 24%, transparent), transparent 60%),
    radial-gradient(ellipse 80% 60% at 80% 100%, color-mix(in oklab, var(--r-red) 18%, transparent),    transparent 60%),
    linear-gradient(140deg, var(--surface), var(--bg-2));
  border: 1px solid color-mix(in oklab, var(--r-orange) 35%, var(--line-strong));
  position: relative;
  overflow: hidden;
  box-shadow: 0 40px 100px -30px color-mix(in oklab, var(--r-orange) 50%, transparent);
}
.pack-manifesto::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(90deg, transparent 0, transparent 38px,
      color-mix(in oklab, var(--r-yellow) 8%, transparent) 38px,
      color-mix(in oklab, var(--r-yellow) 8%, transparent) 39px);
  pointer-events: none;
  opacity: 0.4;
}
.pack-manifesto > * { position: relative; z-index: 2; }
.pack-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
}
.pack-header .icon {
  width: 64px; height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--r-orange), var(--r-red));
  color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 10px 30px -8px var(--r-orange);
  flex-shrink: 0;
}
.pack-header .icon svg { width: 28px; height: 28px; }
.pack-header h3 {
  font-size: clamp(24px, 3vw, 34px);
  margin: 0;
  line-height: 1.15;
}
.pack-lede {
  font-size: 17px;
  color: var(--ink);
  line-height: 1.65;
  margin-bottom: 28px;
}
.pack-lede em { color: var(--r-yellow); font-style: normal; font-weight: 500; }

.pack-tracks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
}
@media (max-width: 720px) { .pack-tracks { grid-template-columns: 1fr; } }

.pack-track {
  padding: 22px;
  border-radius: var(--r-lg);
  background: color-mix(in oklab, var(--void) 40%, transparent);
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 16px;
  align-items: center;
  transition: all .3s var(--ease-out);
}
.pack-track:hover {
  background: color-mix(in oklab, var(--void) 55%, transparent);
  border-color: color-mix(in oklab, var(--r-orange) 40%, var(--line-strong));
  transform: translateY(-2px);
}
.pack-track .mini-play {
  width: 52px; height: 52px; border-radius: 50%;
  border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--r-orange), var(--r-red));
  color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 6px 20px -6px var(--r-orange);
  transition: transform .25s var(--ease-out);
}
.pack-track .mini-play:hover { transform: scale(1.07); }
.pack-track .mini-play svg { width: 18px; height: 18px; margin-left: 2px; }
.pack-track .info strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 15px;
  color: var(--ink);
  margin-bottom: 4px;
}
.pack-track .info span {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--r-yellow);
}
.pack-track .link {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: all .25s var(--ease-out);
}
.pack-track .link:hover {
  color: var(--r-yellow);
  border-color: var(--r-yellow);
}

.pack-how {
  margin-top: 28px;
  padding: 24px;
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--r-green) 10%, var(--bg-2));
  border: 1px solid color-mix(in oklab, var(--r-green) 30%, var(--line));
}
.pack-how h4 {
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--r-green);
  margin-bottom: 12px;
}
.pack-how ol {
  margin: 0; padding-left: 24px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.7;
}

/* Visually attractive omission mark — five pulsing dots
   for where verses were skipped between the opening and closing.  */
.m-omission {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin: 36px 0 40px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.m-omission.is-visible,
.manifesto-compact .m-line.is-visible ~ .m-omission {
  opacity: 1;
  transform: translateY(0);
}
.m-omission span {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--r-yellow) 80%, var(--r-orange));
  box-shadow: 0 0 12px color-mix(in oklab, var(--r-yellow) 70%, transparent);
  animation: omission-pulse 2.6s ease-in-out infinite;
}
.m-omission span:nth-child(1) { animation-delay: 0s;   opacity: 0.3; }
.m-omission span:nth-child(2) { animation-delay: .2s;  opacity: 0.5; transform: scale(1.15); }
.m-omission span:nth-child(3) { animation-delay: .4s;  opacity: 0.9; transform: scale(1.4); }
.m-omission span:nth-child(4) { animation-delay: .6s;  opacity: 0.5; transform: scale(1.15); }
.m-omission span:nth-child(5) { animation-delay: .8s;  opacity: 0.3; }
@keyframes omission-pulse {
  0%, 100% { transform: scale(var(--s, 1));    opacity: var(--o, 0.5); }
  50%      { transform: scale(calc(var(--s, 1) * 1.4)); opacity: 1; }
}
/* subtle connecting line */
.m-omission::before,
.m-omission::after {
  content: "";
  height: 1px;
  width: 48px;
  background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--r-yellow) 40%, transparent));
}
.m-omission::after {
  background: linear-gradient(90deg, color-mix(in oklab, var(--r-yellow) 40%, transparent), transparent);
}

/* ========================================================
   CHECKLIST COMPONENT — for For-Festivals suggestions
   ======================================================== */
.checklist {
  padding: 32px;
  border-radius: var(--r-lg);
  background: color-mix(in oklab, var(--surface) 70%, transparent);
  border: 1px solid var(--line);
}
.checklist h3 {
  font-size: 20px; margin-bottom: 20px;
  display: flex; align-items: center; gap: 12px;
}
.checklist h3 .c-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--r-orange) 20%, transparent);
  border: 1px solid color-mix(in oklab, var(--r-orange) 40%, transparent);
  color: var(--r-orange);
  display: grid; place-items: center; flex-shrink: 0;
}
.checklist h3 .c-icon svg { width: 16px; height: 16px; }
.checklist ul { list-style: none; padding: 0; margin: 0; }
.checklist li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 0;
  border-top: 1px dashed var(--line);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.5;
}
.checklist li:first-child { border-top: none; }
.checklist li::before {
  content: ""; flex-shrink: 0;
  width: 20px; height: 20px;
  margin-top: 3px;
  border: 1.5px solid color-mix(in oklab, var(--r-green) 60%, var(--line-strong));
  border-radius: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%233da84a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='4,10 8,14 16,6'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ========================================================
   INTENSITY SLIDER (interactive)
   ======================================================== */
.intensity-slider-wrap {
  padding: 48px 40px;
  border-radius: var(--r-xl);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--surface) 80%, transparent),
    color-mix(in oklab, var(--bg-2) 90%, transparent));
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
.intensity-slider-wrap::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 80% 60% at var(--sx, 50%) 100%,
    color-mix(in oklab, var(--sc, var(--r-orange)) 35%, transparent),
    transparent 70%);
  opacity: 0.6;
  transition: background 0.6s var(--ease-out);
  pointer-events: none;
}
.intensity-track {
  position: relative;
  width: 100%;
  height: 60px;
  margin: 40px 0 16px;
  cursor: pointer;
  z-index: 2;
}
.intensity-rail {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg,
    var(--r-green) 0%,
    var(--r-yellow) 35%,
    var(--r-orange) 70%,
    var(--r-red) 100%);
  border-radius: 2px;
  opacity: 0.7;
}
.intensity-handle {
  position: absolute;
  top: 50%;
  left: var(--sx, 50%);
  width: 32px; height: 32px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--sc, var(--r-orange));
  border: 2px solid #fff;
  box-shadow:
    0 0 0 6px color-mix(in oklab, var(--sc, var(--r-orange)) 30%, transparent),
    0 0 30px color-mix(in oklab, var(--sc, var(--r-orange)) 80%, transparent);
  transition: box-shadow 0.3s var(--ease-out);
}
.intensity-ticks {
  position: absolute;
  bottom: 0;
  left: 0; right: 0;
  display: flex; justify-content: space-between;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.15em;
  color: var(--ink-soft);
}
.intensity-info {
  position: relative; z-index: 2;
  margin-top: 24px;
  padding: 24px;
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--void) 40%, transparent);
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) clamp(86px, 14vw, 132px);
  gap: 20px;
  align-items: center;
  min-height: 120px;
}
.intensity-level-num {
  font-family: var(--font-display);
  font-size: 64px;
  font-weight: 500;
  line-height: 1;
  color: var(--sc, var(--r-orange));
  min-width: 80px;
  text-align: center;
}
.intensity-title {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--ink);
  margin-bottom: 6px;
}
.intensity-cover {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 0;
  object-fit: cover;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 18px 52px color-mix(in oklab, var(--sc, var(--r-orange)) 34%, transparent),
    0 0 34px rgba(238,106,27,.18);
}
.intensity-desc {
  color: var(--r-orange);
  font-family: var(--font-display);
  font-size: clamp(20px, 2.1vw, 34px);
  line-height: 1.02;
  letter-spacing: 0.01em;
  text-shadow: 0 0 24px color-mix(in oklab, var(--r-orange) 34%, transparent);
  margin: 0;
}

@media (max-width: 640px) {
  .intensity-info {
    grid-template-columns: auto minmax(0, 1fr) minmax(68px, 22vw);
    gap: 12px;
    padding: 18px;
  }

  .intensity-cover {
    border-radius: 0;
  }
}

/* ========================================================
   RESPONSIVE HERO SCROLL INDICATOR
   ======================================================== */
.scroll-indicator { display: none !important; }
.scroll-indicator::after { display:none !important; }
@keyframes scroll-pulse {
  0%   { opacity: 0; transform: scaleY(0.3) translateY(-10px); transform-origin: top; }
  50%  { opacity: 1; }
  100% { opacity: 0; transform: scaleY(1) translateY(0); transform-origin: top; }
}

/* ========================================================
   FAQ-ANSWER STYLE (used on home)
   ======================================================== */
.home-faq .faq-item summary {
  font-size: 19px;
}

/* ========================================================
   FOR DĴS PAGE
   ======================================================== */
.dj-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 92px);
  max-height: calc(100svh - 1px);
}

body.page-djs .dj-hero {
  min-height: clamp(320px, 58svh, 460px);
  max-height: none;
  padding: clamp(42px, 5.6vh, 70px) 0 clamp(18px, 2.6vh, 26px);
  display: grid;
  align-items: center;
}
.dj-hero::before,
.dj-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% 8% -10%;
  height: 42%;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 28px,
      color-mix(in oklab, var(--r-cyan) 20%, transparent) 29px 30px,
      transparent 31px 56px
    );
  mask-image: radial-gradient(ellipse at center, #000 0%, transparent 70%);
  opacity: 0.34;
  animation: dj-wave-drift 11s linear infinite;
}
.dj-hero::after {
  inset: 12% -20% auto -20%;
  height: 32%;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 42px,
      color-mix(in oklab, var(--r-orange) 24%, transparent) 43px 45px,
      transparent 46px 84px
    );
  animation-direction: reverse;
  opacity: 0.22;
}
.dj-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(290px, 31vw, 470px);
  gap: clamp(20px, 3vw, 54px);
  align-items: center;
  justify-content: space-between;
}
.dj-hero-copy-stack {
  max-width: 780px;
}
.dj-hero-copy {
  max-width: 880px;
  margin: 10px 0 0;
  color: var(--ink);
  font-size: clamp(16px, 1.02vw, 18px);
  line-height: 1.42;
}
.dj-hero-copy.is-secondary {
  color: var(--ink-dim);
}

body.page-djs .dj-hero .display-1 {
  font-size: clamp(46px, 5.8vw, 84px);
  line-height: 0.9;
  max-width: 11.6ch;
  margin: 0;
}

body.page-djs .dj-hero .btn-group {
  gap: 12px;
  margin-top: 22px;
}
.hero-orange-line {
  color: var(--r-orange);
  font-weight: 700;
  margin-top: 16px;
  font-size: clamp(24px, 1.9vw, 30px);
  line-height: 1.15;
  text-shadow: 0 0 28px color-mix(in oklab, var(--r-orange) 52%, transparent);
}
.dj-hero-side {
  align-self: center;
  display: flex;
  justify-content: center;
  padding-top: 0;
  width: 100%;
}
.dj-side-illustration {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}
.dj-side-artwork {
  display: block;
  width: clamp(290px, 100%, 470px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 24px 44px rgba(238,106,27,.28))
    drop-shadow(0 0 56px rgba(238,106,27,.18));
}
.dj-side-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 28px 48px rgba(238,106,27,.24));
}
.dj-side-statement {
  position: absolute;
  z-index: 2;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  color: var(--ink);
  padding: 0;
  text-shadow: 0 0 18px rgba(255,255,255,.08);
  white-space: nowrap;
}
.dj-side-statement.is-top {
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--r-yellow);
}
.dj-side-statement.is-left {
  left: 8px;
  top: 56%;
  transform: translateY(-50%);
}
.dj-side-statement.is-right {
  right: 10px;
  top: 63%;
  transform: translateY(-50%);
  color: var(--r-cyan);
}
body.page-djs #why {
  padding-top: 39px;
  padding-bottom: 39px;
}
body.page-djs #role {
  padding-top: 60px;
  padding-bottom: 60px;
}
.dj-journey-nav {
  position: sticky;
  top: 78px;
  z-index: 60;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding: 18px max(24px, calc((100vw - 1180px) / 2));
  border-top: 1px solid color-mix(in oklab, var(--r-orange) 62%, var(--line));
  border-bottom: 1px solid color-mix(in oklab, var(--r-orange) 62%, var(--line));
  background:
    linear-gradient(90deg, transparent, color-mix(in oklab, var(--r-orange) 10%, transparent), transparent),
    color-mix(in oklab, var(--void) 86%, transparent);
  backdrop-filter: blur(16px);
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--r-yellow) 28%, transparent),
    inset 0 -1px 0 color-mix(in oklab, var(--r-yellow) 20%, transparent),
    0 0 34px -20px var(--r-orange);
  scrollbar-width: none;
}
.dj-journey-nav::-webkit-scrollbar { display: none; }
.dj-journey-nav a {
  flex: 0 0 auto;
  padding: 12px 17px;
  border: 1px solid color-mix(in oklab, var(--r-orange) 24%, var(--line));
  border-radius: 999px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: color-mix(in oklab, var(--surface) 64%, transparent);
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease, background .22s ease;
}
.dj-journey-nav a::after {
  content: "↓";
  font-size: 12px;
  opacity: .75;
  transition: transform .22s ease, opacity .22s ease;
}
.dj-journey-nav a:hover,
.dj-journey-nav a:focus-visible {
  color: var(--r-yellow);
  border-color: var(--r-orange);
  box-shadow: 0 0 22px -10px var(--r-orange);
  transform: translateY(-1px);
}
.dj-journey-nav a:hover::after,
.dj-journey-nav a:focus-visible::after {
  opacity: 1;
  transform: translateY(2px);
}
.dj-journey-label {
  flex: 0 0 auto;
  margin-right: 8px;
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.95;
}
.dj-identity-strip {
  padding-top: clamp(44px, 7vw, 84px);
  padding-bottom: clamp(22px, 4vw, 46px);
}
.dj-signal-beam {
  position: absolute;
  width: 1px;
  height: 82%;
  background: linear-gradient(180deg, transparent, var(--r-cyan), var(--r-yellow), var(--r-orange), transparent);
  box-shadow: 0 0 42px var(--r-cyan);
  animation: dj-beam 4.2s ease-in-out infinite;
}
.dj-split,
.dj-code-grid,
.commitment-grid,
.script-grid,
.concierge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.dj-panel,
.dj-code-card,
.commitment-card,
.script-grid blockquote,
.energy-menu article,
.symbol-panel,
.movement-panel {
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background:
    radial-gradient(circle at 18% 12%, color-mix(in oklab, var(--card-accent, var(--r-cyan)) 12%, transparent), transparent 36%),
    color-mix(in oklab, var(--surface) 92%, transparent);
}
.dj-panel {
  padding: clamp(24px, 4vw, 38px);
}
.dj-panel.is-muted { --card-accent: var(--r-red); }
.dj-panel.is-alive {
  --card-accent: var(--r-green);
  border-color: color-mix(in oklab, var(--r-green) 35%, var(--line));
}
.dj-panel ul,
.commitment-card ul,
.symbol-panel ul {
  margin: 18px 0 0;
  padding-left: 20px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  line-height: 1.8;
}
.dj-centered-note {
  max-width: 820px;
  color: var(--ink);
  font-size: clamp(18px, 1.6vw, 23px);
  line-height: 1.7;
}
.dj-role-quote {
  position: relative;
  max-width: 980px;
  margin-bottom: 0;
  padding: clamp(26px, 4vw, 44px);
  border-left: 3px solid var(--r-orange);
  border-radius: var(--r-lg);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.04em;
  background:
    radial-gradient(circle at 10% 25%, color-mix(in oklab, var(--r-orange) 18%, transparent), transparent 44%),
    color-mix(in oklab, var(--surface) 58%, transparent);
  box-shadow: 0 26px 90px -60px var(--r-orange);
}
.dj-role-quote::before {
  content: "“";
  position: absolute;
  top: -24px;
  right: 28px;
  color: color-mix(in oklab, var(--r-yellow) 45%, transparent);
  font-size: clamp(90px, 12vw, 170px);
  line-height: 1;
  pointer-events: none;
}
.role-path {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.role-path div {
  position: relative;
  min-height: 164px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, color-mix(in oklab, var(--r-cyan) 9%, var(--surface)), var(--surface));
}
.role-path div:last-child {
  border-color: color-mix(in oklab, var(--r-orange) 48%, var(--line));
  box-shadow: 0 18px 60px -38px var(--r-orange);
}
.role-path strong,
.dj-code-card strong,
.commitment-card h3,
.energy-menu h3 {
  color: var(--ink);
}
.role-path span,
.dj-code-card p,
.commitment-card p,
.energy-menu p {
  display: block;
  margin-top: 10px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  line-height: 1.65;
}
.dj-code-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 10%, color-mix(in oklab, var(--r-orange) 18%, transparent), transparent 35%),
    radial-gradient(circle at 50% 80%, color-mix(in oklab, var(--r-cyan) 16%, transparent), transparent 42%),
    var(--void);
}
.dj-code-section::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 110px;
  bottom: 110px;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--r-cyan), var(--r-yellow), var(--r-orange), transparent);
  box-shadow: 0 0 34px color-mix(in oklab, var(--r-cyan) 70%, transparent);
  opacity: 0.62;
}
.dj-code-intro,
.dj-code-close {
  position: relative;
  max-width: 880px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.75;
}
.dj-code-grid {
  position: relative;
}
.dj-code-card {
  --card-accent: var(--r-cyan);
  position: relative;
  padding: clamp(24px, 3vw, 32px);
  transition: transform .22s var(--ease-out), border-color .22s var(--ease-out), box-shadow .22s var(--ease-out);
}
.dj-code-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in oklab, var(--r-orange) 55%, var(--line));
  box-shadow: 0 24px 70px -46px var(--r-orange), inset 0 0 36px color-mix(in oklab, var(--r-cyan) 8%, transparent);
}
.dj-code-card svg,
.energy-menu svg,
.symbol-panel svg {
  width: 28px;
  height: 28px;
  color: var(--r-yellow);
}
.dj-code-card strong {
  display: block;
  margin-top: 16px;
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.dj-commandment-grid {
  align-items: stretch;
}
.dj-commandment-card {
  min-height: 330px;
  padding: clamp(28px, 4vw, 44px);
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in oklab, var(--r-yellow) 10%, transparent), transparent 42%),
    radial-gradient(circle at 92% 16%, color-mix(in oklab, var(--r-orange) 18%, transparent), transparent 34%),
    color-mix(in oklab, var(--surface) 92%, transparent);
}
.dj-commandment-card.is-wide {
  grid-column: 1 / -1;
  min-height: 260px;
}
.commandment-number {
  display: block;
  margin-bottom: 18px;
  color: color-mix(in oklab, var(--r-yellow) 82%, var(--ink));
  font-family: var(--font-display);
  font-size: clamp(86px, 11vw, 150px);
  font-weight: 700;
  line-height: 0.78;
  letter-spacing: -0.1em;
  text-shadow:
    0 0 26px color-mix(in oklab, var(--r-yellow) 50%, transparent),
    0 0 70px color-mix(in oklab, var(--r-orange) 32%, transparent);
}
.dj-commandment-card h3 {
  max-width: 620px;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.08;
}
.dj-commandment-card p {
  max-width: 720px;
  font-size: 18px;
}
.dj-ladder {
  counter-reset: dj-path;
  display: grid;
  gap: 12px;
  max-width: 960px;
}
.dj-ladder div {
  counter-increment: dj-path;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: linear-gradient(90deg, color-mix(in oklab, var(--r-orange) 10%, var(--surface)), color-mix(in oklab, var(--r-cyan) 5%, var(--surface)));
}
.dj-ladder div::before {
  content: counter(dj-path);
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--r-yellow);
  border: 1px solid color-mix(in oklab, var(--r-yellow) 45%, var(--line));
  background: color-mix(in oklab, var(--r-yellow) 10%, transparent);
}
.dj-ladder strong,
.dj-ladder span {
  grid-column: 2;
}
.dj-ladder span {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  line-height: 1.6;
}
.commitment-card {
  padding: clamp(24px, 3vw, 34px);
}
.commitment-card.is-wide {
  grid-column: 1 / -1;
}
.commitment-card > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 48%, var(--line));
  border-radius: 50%;
  color: var(--r-yellow);
  background: color-mix(in oklab, var(--r-yellow) 10%, transparent);
  font-family: var(--font-display);
}
.energy-chip-grid,
.use-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.energy-chip-grid span,
.use-chip-grid span {
  padding: 9px 13px;
  border: 1px solid color-mix(in oklab, var(--r-orange) 36%, var(--line));
  border-radius: 999px;
  color: var(--ink);
  background: color-mix(in oklab, var(--r-orange) 8%, transparent);
  font-size: 14px;
}
.ritual-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.ritual-grid div,
.dj-template {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
}
.ritual-grid strong {
  display: block;
  color: var(--ink);
  margin-bottom: 8px;
}
.ritual-grid span {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  line-height: 1.55;
}
.dj-template {
  border-left: 3px solid var(--r-orange);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.55;
}
.script-grid blockquote {
  margin: 0;
  padding: clamp(22px, 3vw, 30px);
  color: var(--ink);
  font-size: 17px;
  line-height: 1.7;
}
.energy-menu {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.energy-menu article {
  min-height: 210px;
  padding: 24px;
  transition: transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out);
}
.energy-menu article:hover {
  transform: translateY(-5px) scale(1.015);
  border-color: color-mix(in oklab, var(--r-yellow) 48%, var(--line));
  box-shadow: 0 22px 70px -48px var(--r-yellow);
}
.bridge-diagram {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
  gap: clamp(120px, 16vw, 220px);
  align-items: center;
  min-height: 300px;
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--r-cyan) 30%, var(--line));
  border-radius: var(--r-xl);
  background:
    radial-gradient(circle at 18% 50%, color-mix(in oklab, var(--r-cyan) 22%, transparent), transparent 30%),
    radial-gradient(circle at 82% 50%, color-mix(in oklab, var(--r-orange) 20%, transparent), transparent 32%),
    linear-gradient(135deg, color-mix(in oklab, var(--surface) 92%, transparent), var(--bg-2));
}
.bridge-diagram::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 50%;
  height: 2px;
  background: linear-gradient(90deg, var(--r-cyan), var(--r-yellow), var(--r-orange));
  box-shadow: 0 0 24px color-mix(in oklab, var(--r-yellow) 60%, transparent);
  opacity: 0.72;
}
.bridge-node {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 28px;
  border: 1px solid color-mix(in oklab, var(--bridge-color, var(--r-cyan)) 42%, var(--line));
  border-radius: var(--r-lg);
  color: var(--ink);
  text-align: center;
  background:
    radial-gradient(circle at center, color-mix(in oklab, var(--bridge-color, var(--r-cyan)) 16%, transparent), transparent 62%),
    color-mix(in oklab, var(--surface) 88%, transparent);
  box-shadow: inset 0 0 40px color-mix(in oklab, var(--bridge-color, var(--r-cyan)) 8%, transparent);
}
.bridge-floor { --bridge-color: var(--r-cyan); }
.bridge-dj { --bridge-color: var(--r-orange); }
.bridge-node svg {
  width: 34px;
  height: 34px;
  color: var(--bridge-color);
}
.bridge-node strong {
  margin-top: 14px;
  color: var(--ink);
  font-size: 24px;
}
.bridge-node small {
  margin-top: 8px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  line-height: 1.5;
}
.bridge-runner {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 86px;
  height: 86px;
  border: 1px solid color-mix(in oklab, var(--r-yellow) 55%, var(--line));
  border-radius: 50%;
  color: var(--r-yellow);
  background:
    radial-gradient(circle, color-mix(in oklab, var(--r-yellow) 22%, transparent), transparent 62%),
    color-mix(in oklab, var(--void) 84%, transparent);
  box-shadow:
    0 0 0 8px color-mix(in oklab, var(--r-yellow) 8%, transparent),
    0 0 42px color-mix(in oklab, var(--r-yellow) 52%, transparent);
  transform: translate(-50%, -50%);
  animation: bridge-runner 6.5s ease-in-out infinite;
}
.bridge-runner svg {
  width: 30px;
  height: 30px;
}
.bridge-runner::after {
  content: "Stage Concierge";
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.bridge-line {
  position: absolute;
  z-index: 1;
  top: 50%;
  width: 24%;
  height: 1px;
  background: repeating-linear-gradient(90deg, color-mix(in oklab, var(--r-yellow) 70%, transparent) 0 10px, transparent 10px 18px);
  opacity: 0.55;
}
.bridge-line-to-floor {
  left: 28%;
  animation: bridge-signal-left 3.2s linear infinite;
}
.bridge-line-to-dj {
  right: 28%;
  animation: bridge-signal-right 3.2s linear infinite;
}
.bridge-caption {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  max-width: 760px;
  margin: 12px auto 0;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  text-align: center;
  line-height: 1.7;
}
@keyframes bridge-runner {
  0%, 100% { left: 50%; box-shadow: 0 0 0 8px color-mix(in oklab, var(--r-yellow) 8%, transparent), 0 0 42px color-mix(in oklab, var(--r-yellow) 52%, transparent); }
  25% { left: 25%; box-shadow: 0 0 0 12px color-mix(in oklab, var(--r-cyan) 12%, transparent), 0 0 54px color-mix(in oklab, var(--r-cyan) 58%, transparent); }
  50% { left: 50%; }
  75% { left: 75%; box-shadow: 0 0 0 12px color-mix(in oklab, var(--r-orange) 12%, transparent), 0 0 54px color-mix(in oklab, var(--r-orange) 58%, transparent); }
}
@keyframes bridge-signal-left {
  from { background-position: 0 0; }
  to { background-position: -56px 0; }
}
@keyframes bridge-signal-right {
  from { background-position: 0 0; }
  to { background-position: 56px 0; }
}
.symbol-panel {
  padding: clamp(28px, 4vw, 44px);
}
.dj-big-symbol {
  margin: 0;
  color: var(--r-orange);
  font-family: var(--font-display);
  font-size: clamp(120px, 18vw, 230px);
  line-height: 0.85;
  text-shadow:
    0 0 18px color-mix(in oklab, var(--r-yellow) 70%, transparent),
    0 0 46px color-mix(in oklab, var(--r-orange) 82%, transparent),
    0 0 100px color-mix(in oklab, var(--r-red) 58%, transparent);
}
.dj-symbol-note {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 18px;
  line-height: 1.75;
}
.movement-panel {
  padding: clamp(28px, 5vw, 48px);
}
.responsibility-copy {
  max-width: 860px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.75;
}
.dj-application-form textarea {
  min-height: 150px;
  resize: vertical;
}

@keyframes dj-wave-drift {
  from { transform: translateX(0); }
  to { transform: translateX(-56px); }
}
@keyframes dj-beam {
  0%, 100% { opacity: .65; transform: scaleY(.9); }
  50% { opacity: 1; transform: scaleY(1.08); }
}
@keyframes dj-pulse {
  0%, 100% { transform: scale(.92); opacity: .45; }
  50% { transform: scale(1.06); opacity: .78; }
}
@keyframes dj-ring-wave {
  0% { transform: scale(.92); opacity: .18; }
  55% { opacity: .08; }
  100% { transform: scale(1.08); opacity: 0; }
}

@media (max-width: 1100px) {
  .role-path,
  .ritual-grid,
  .energy-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .dj-hero-grid,
  .dj-split,
  .dj-code-grid,
  .commitment-grid,
  .script-grid,
  .concierge-grid {
    grid-template-columns: 1fr;
  }
  .dj-hero {
    min-height: auto;
  }
  .dj-hero-side {
    padding-top: 4px;
    justify-content: center;
  }
  .dj-side-illustration {
    width: min(100%, 420px);
    aspect-ratio: auto;
    padding: 0;
  }
  .dj-side-artwork {
    width: min(100%, 320px);
  }
  .manifesto-deep-dive__cta {
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "arrow";
  }
  .manifesto-deep-dive__arrow {
    justify-self: start;
  }
  .commitment-card.is-wide {
    grid-column: auto;
  }
  .ritual-room__manifesto-intro-main {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ritual-room__audio-inline {
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(242,194,51,.16);
    grid-template-columns: 1fr;
  }
  .ritual-room__audio-inline audio,
  .ritual-room__audio-inline .ritual-room__audio-status {
    grid-column: auto;
  }
}
@media (max-height: 920px) {
  body.page-djs .dj-hero .display-1 {
    font-size: clamp(42px, 5vw, 74px);
  }

  body.page-djs .dj-hero-copy {
    font-size: clamp(14px, 0.88vw, 15px);
    line-height: 1.28;
    margin-top: 8px;
  }
}

@media (max-height: 820px) {
  body.page-djs .dj-hero {
    min-height: clamp(300px, 56svh, 420px);
    max-height: none;
    padding: 40px 0 18px;
  }

  body.page-djs .dj-hero-grid {
    gap: 18px;
  }

  body.page-djs .dj-hero .display-1 {
    font-size: clamp(38px, 4.7vw, 66px);
  }

  body.page-djs .dj-hero-copy {
    font-size: 14px;
    line-height: 1.26;
  }
}
@media (max-width: 640px) {
  .dj-journey-nav {
    top: 66px;
    padding-inline: 18px;
    justify-content: flex-start;
  }
  .dj-journey-label {
    position: sticky;
    left: 0;
    z-index: 1;
    padding-right: 10px;
    background: color-mix(in oklab, var(--void) 88%, transparent);
  }
  .role-path,
  .ritual-grid,
  .energy-menu,
  .bridge-diagram {
    grid-template-columns: 1fr;
    gap: 96px;
    min-height: auto;
  }
  .bridge-diagram::before {
    left: 50%;
    right: auto;
    top: 18%;
    bottom: 20%;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, var(--r-cyan), var(--r-yellow), var(--r-orange));
  }
  .bridge-runner {
    top: 50%;
    left: 50%;
    animation: bridge-runner-mobile 6.5s ease-in-out infinite;
  }
  .bridge-line {
    display: none;
  }
  @keyframes bridge-runner-mobile {
    0%, 100% { top: 50%; }
    25% { top: 28%; }
    50% { top: 50%; }
    75% { top: 72%; }
  }
  .dj-ladder div {
    grid-template-columns: 1fr;
  }
  .dj-ladder strong,
  .dj-ladder span {
    grid-column: auto;
  }
}

/* Homepage Movement Engine Upgrade */
.hero-sub-main {
  width: min(1080px, calc(100% - 40px));
  margin: 26px auto 0;
  color: var(--ink);
  font-size: clamp(20px, 2.6vw, 36px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.02em;
  text-wrap: balance;
  text-align: center;
  text-shadow: 0 6px 24px rgba(0, 0, 0, .48);
}
.hero-sub-main span {
  color: var(--r-orange);
  text-shadow: 0 0 22px rgba(242, 105, 20, .38);
}
.manifesto-ritual-room .ritual-actions {
  margin: 28px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.manifesto-ritual-room .ritual-actions .btn,
.manifesto-ritual-room .ritual-sign-cta {
  min-height: 58px;
}
.manifesto-ritual-room .ritual-sign-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--r-orange) 58%, var(--line-strong));
  background: rgba(255,255,255,.02);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease, background .2s ease;
}
.manifesto-ritual-room .ritual-sign-cta .arrow { color: var(--r-orange); }
.manifesto-ritual-room .ritual-sign-cta.is-locked {
  opacity: .54;
  cursor: not-allowed;
  box-shadow: none;
}
.manifesto-ritual-room .ritual-sign-cta.is-unlocked {
  opacity: 1;
  background: linear-gradient(180deg, color-mix(in oklab, var(--r-orange) 88%, #fff 12%), color-mix(in oklab, var(--r-red) 74%, #000 26%));
  box-shadow: 0 18px 48px rgba(242,105,20,.28), inset 0 1px 0 rgba(255,255,255,.24);
}
.manifesto-ritual-room .ritual-sign-cta.is-unlocked:hover {
  transform: translateY(-2px);
}
.manifesto-ritual-room .ritual-status {
  margin-top: 16px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.manifesto-ritual-room .ritual-status strong {
  color: var(--r-orange);
}
.manifesto-ritual-room audio[data-manifesto-inline-audio] {
  display: none;
}
.ritual-signature {
  scroll-margin-top: 92px;
}
.ritual-signature.is-locked .signature-shell {
  position: relative;
}
.ritual-signature.is-locked .signature-shell::before {
  content: 'Read or listen first';
  position: absolute;
  inset: 18px;
  display: grid;
  place-items: center;
  border-radius: var(--r-xl);
  background: linear-gradient(180deg, rgba(4, 5, 10, .76), rgba(4, 5, 10, .46));
  border: 1px solid color-mix(in oklab, var(--r-orange) 32%, var(--line-strong));
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  z-index: 2;
  pointer-events: none;
}
.ritual-signature.is-unlocked .signature-shell::before { display: none; }
.hero-message-card {
  width: min(840px, calc(100% - 32px));
  margin: 30px auto 0;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid color-mix(in oklab, var(--r-orange) 34%, rgba(255,255,255,.16));
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(9, 13, 24, .54), rgba(21, 17, 28, .28)),
    radial-gradient(circle at 50% 0%, rgba(241, 194, 51, .12), transparent 58%);
  backdrop-filter: blur(13px) saturate(1.25);
  -webkit-backdrop-filter: blur(13px) saturate(1.25);
  box-shadow:
    0 28px 90px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 48px rgba(232,116,26,.12);
  position: relative;
  overflow: hidden;
}
.hero-message-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent),
    radial-gradient(circle at 50% 50%, rgba(79,184,199,.1), transparent 55%);
  opacity: .65;
  pointer-events: none;
}
.hero-message-card > * {
  position: relative;
  z-index: 1;
}
.hero-support,
.hero-impact {
  max-width: 760px;
  margin: 0 auto;
  color: var(--ink);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.48;
  text-align: center;
  font-weight: 800;
  text-shadow: 0 2px 18px rgba(0,0,0,.56);
}
.hero-support { color: color-mix(in oklab, var(--ink) 88%, white); }

.hero-impact {
  color: var(--r-yellow);
  font-weight: 900;
  letter-spacing: -.01em;
}
.hero-journey-actions { margin: 28px 0 22px; }

.home-journey-nav {
  position: sticky;
  top: 76px;
  z-index: 30;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 20px 14px;
  border-block: 1px solid rgba(255,255,255,.08);
  background: rgba(4, 6, 14, .84);
  backdrop-filter: blur(18px);
}
.home-journey-nav a {
  text-decoration: none;
  color: color-mix(in oklab, var(--ink-dim) 82%, transparent);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease, background .22s ease;
}
.home-journey-nav a::after {
  content: "↓";
  font-size: 12px;
  opacity: .8;
  transition: transform .22s ease, opacity .22s ease;
}
.home-journey-nav a:hover,
.home-journey-nav a:focus-visible,
.home-journey-nav .home-journey-sign {
  color: var(--ink);
  border-color: color-mix(in oklab, var(--r-orange) 70%, var(--line));
  background: rgba(238, 106, 27, .16);
  box-shadow: 0 0 24px rgba(238, 106, 27, .22);
  transform: translateY(-1px);
}
.home-journey-nav a:hover::after,
.home-journey-nav a:focus-visible::after,
.home-journey-nav .home-journey-sign::after {
  opacity: 1;
  transform: translateY(2px);
}

.movement-frustration {
  background:
    radial-gradient(circle at 78% 24%, rgba(238, 106, 27, .18), transparent 30%),
    radial-gradient(circle at 28% 78%, rgba(79, 184, 199, .12), transparent 32%),
    linear-gradient(180deg, rgba(6, 9, 18, .98), rgba(2, 3, 7, 1));
}
.movement-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr);
  gap: clamp(36px, 6vw, 84px);
  align-items: center;
}
.movement-split p { color: var(--ink-dim); font-size: 17px; line-height: 1.7; }
.frustration-story-panel {
  position: relative;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 34px;
  background:
    radial-gradient(circle at 0% 12%, rgba(79,184,199,.14), transparent 34%),
    radial-gradient(circle at 85% 12%, rgba(238,106,27,.16), transparent 34%),
    linear-gradient(145deg, rgba(6,9,18,.42), rgba(15,13,22,.22));
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 22px 80px rgba(0,0,0,.24);
}
.frustration-equation {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1.18fr;
  gap: 14px;
  align-items: stretch;
  margin-top: 34px;
}
.equation-stack,
.equation-result {
  min-height: 154px;
  padding: 18px;
  border: 1px solid rgba(238,106,27,.28);
  border-radius: 24px;
  background: rgba(3,5,11,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 42px rgba(238,106,27,.08);
}
.equation-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.equation-stack span {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 850;
  line-height: 1;
}
.frustration-equation > strong {
  display: grid;
  place-items: center;
  color: var(--r-yellow);
  font-size: clamp(28px, 4vw, 46px);
  text-shadow: 0 0 28px rgba(242,194,51,.34);
}
.equation-result {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-color: rgba(198,56,28,.38);
  background: radial-gradient(circle at 50% 0%, rgba(198,56,28,.18), transparent 56%), rgba(3,5,11,.48);
}
.equation-result span {
  color: var(--r-orange);
  font-family: var(--font-display);
  font-size: clamp(23px, 3vw, 38px);
  font-weight: 950;
  line-height: .94;
  letter-spacing: -.04em;
}
.equation-result em {
  margin-top: 12px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-style: normal;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.frustration-truth {
  margin-top: 28px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 850;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.frustration-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.frustration-actions span {
  padding: 10px 14px;
  border: 1px solid rgba(79,184,199,.28);
  border-radius: 999px;
  background: rgba(79,184,199,.08);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.frustration-list,
.movement-principles {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.frustration-list span,
.movement-principles span {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 9px 12px;
  color: var(--ink);
  background: rgba(255,255,255,.04);
  font-size: 13px;
}
.frustration-list span { border-color: rgba(238,106,27,.28); }
.movement-principles span { border-color: rgba(84,196,213,.28); }
.movement-close { margin-top: 24px; color: var(--ink) !important; }

.manifesto-celebration{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  overflow:hidden;
}
.manifesto-celebration__piece{
  position:fixed;
  width:var(--celebrate-size, 10px);
  height:calc(var(--celebrate-size, 10px) * .7);
  border-radius:999px;
  background:var(--celebrate-color, #ffbf58);
  box-shadow:0 0 18px color-mix(in srgb, var(--celebrate-color, #ffbf58) 75%, white 25%);
  opacity:0;
  transform:translate3d(0,0,0) rotate(0deg) scale(.6);
  animation:manifestoCelebrationBurst var(--celebrate-duration, 1.2s) cubic-bezier(.12,.72,.24,1) forwards;
  animation-delay:var(--celebrate-delay, 0s);
}
@keyframes manifestoCelebrationBurst{
  0%{
    opacity:0;
    transform:translate3d(0,0,0) rotate(0deg) scale(.4);
  }
  10%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate3d(var(--celebrate-x, 0px), var(--celebrate-y, -120px), 0) rotate(var(--celebrate-rotate, 180deg)) scale(1);
  }
}

.festival-journey-carousel {
  --journey-shift: 0px;
  --journey-x: 0px;
  position: relative;
  min-height: 640px;
  border: 1px solid rgba(238,106,27,.28);
  border-radius: 36px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 92%, rgba(242,194,51,.24), transparent 30%),
    radial-gradient(circle at 50% 38%, rgba(84,196,213,.15), transparent 28%),
    linear-gradient(145deg, rgba(12,17,30,.94), rgba(43,20,18,.76));
  box-shadow: 0 34px 110px rgba(238,106,27,.14), inset 0 1px 0 rgba(255,255,255,.08);
  isolation: isolate;
  cursor: ns-resize;
}
.festival-journey-carousel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,3,7,.92), transparent 18%, transparent 76%, rgba(2,3,7,.94)),
    repeating-linear-gradient(90deg, transparent, transparent 70px, rgba(255,255,255,.035) 71px);
  pointer-events: none;
  z-index: 4;
}
.festival-journey-carousel::after {
  content: "";
  position: absolute;
  inset: 9% 50% 10%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(79,184,199,.4), rgba(242,194,51,.72), rgba(232,116,26,.4), transparent);
  box-shadow: 0 0 34px rgba(242,194,51,.34);
  z-index: 1;
}
.journey-orbit {
  position: absolute;
  width: 560px;
  height: 560px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(242,194,51,.16);
  border-radius: 50%;
  box-shadow: inset 0 0 70px rgba(79,184,199,.08), 0 0 90px rgba(238,106,27,.14);
  opacity: .8;
  z-index: 0;
}
.journey-track {
  position: absolute;
  z-index: 2;
  left: 34px;
  right: 34px;
  top: 42px;
  display: grid;
  gap: 16px;
  animation: journey-drift 18s ease-in-out infinite alternate;
  transform: translate3d(var(--journey-x), var(--journey-shift), 0);
  will-change: transform;
}
.festival-journey-carousel:hover .journey-track { animation-play-state: paused; }
.journey-card {
  width: min(82%, 500px);
  min-height: 118px;
  padding: 22px 26px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(7,10,20,.82), rgba(15,24,40,.64)),
    radial-gradient(circle at 12% 10%, rgba(79,184,199,.12), transparent 38%);
  backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 18px 58px rgba(0,0,0,.26);
}
.journey-card:nth-child(even) { justify-self: end; }
.journey-card h3 { margin: 6px 0 8px; color: var(--ink); font-size: clamp(26px, 2.7vw, 42px); font-weight: 950; line-height: .96; letter-spacing: -.045em; }
.journey-card p { margin: 0; color: var(--r-yellow); font-family: var(--font-display); font-size: 12px; font-weight: 900; letter-spacing: .18em; line-height: 1.25; text-transform: uppercase; }
.journey-card.is-warm { border-color: rgba(242,194,51,.36); }
.journey-card.is-search { border-color: rgba(79,184,199,.36); }
.journey-card.is-heavy { border-color: rgba(198,56,28,.4); background: linear-gradient(145deg, rgba(26,8,11,.82), rgba(15,17,30,.62)); }
.journey-card.is-found { border-color: rgba(242,194,51,.62); box-shadow: 0 0 52px rgba(242,194,51,.2); }
.journey-card.is-empty { border-color: rgba(238,106,27,.45); background: linear-gradient(145deg, rgba(30,14,16,.86), rgba(7,9,18,.74)); }
.scene-num {
  color: var(--r-yellow);
  font-family: var(--font-display);
  letter-spacing: .28em;
  font-size: 11px;
}
.journey-bottom-signal {
  position: absolute;
  z-index: 5;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  border: 1px solid rgba(242,194,51,.26);
  border-radius: 999px;
  background: rgba(4,7,14,.58);
  backdrop-filter: blur(14px);
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-family: var(--font-display);
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.festival-gamble-track .journey-bottom-signal {
  left: 24px;
  right: auto;
  width: calc(100% - 48px);
  box-sizing: border-box;
}
.festival-gamble-track .journey-bottom-signal span {
  text-align: center;
}
.journey-bottom-signal strong { color: var(--r-yellow); font-size: 18px; }
@keyframes journey-drift {
  0% { transform: translate3d(var(--journey-x), calc(var(--journey-shift) - 44px), 0); }
  100% { transform: translate3d(var(--journey-x), calc(var(--journey-shift) - 220px), 0); }
}


.movement-numbers-lede,
.movement-numbers-copy {
  max-width: 860px;
  margin-inline: auto;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  text-align: center;
}
.movement-numbers-copy { margin-top: 16px; font-size: 17px; line-height: 1.65; }
.movement-hover-words {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}
.movement-hover-words span {
  position: absolute;
  color: rgba(255,255,255,.42);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .42;
  transition: opacity .25s ease, color .25s ease, transform .25s ease;
}
.signatories-map:hover .movement-hover-words span { opacity: .9; color: var(--r-yellow); transform: translateY(-4px); }
.movement-hover-words span:nth-child(1) { left: 11%; top: 22%; }
.movement-hover-words span:nth-child(2) { right: 12%; top: 24%; }
.movement-hover-words span:nth-child(3) { left: 9%; bottom: 27%; }
.movement-hover-words span:nth-child(4) { right: 13%; bottom: 25%; }
.movement-hover-words span:nth-child(5) { left: 42%; top: 10%; }
.movement-hover-words span:nth-child(6) { right: 28%; bottom: 10%; }
.movement-hover-words span:nth-child(7) { left: 25%; bottom: 11%; }
.movement-hover-words span:nth-child(8) { right: 36%; top: 14%; }

.hear-standard { background: radial-gradient(circle at 50% 15%, rgba(238,106,27,.18), transparent 34%), #05060b; }
.standard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.standard-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(18,22,38,.88), rgba(35,18,24,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 20px 70px rgba(0,0,0,.28);
}
.standard-card:hover { border-color: rgba(238,106,27,.56); box-shadow: 0 0 50px rgba(238,106,27,.16); }
.standard-tag {
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .3em;
  text-transform: uppercase;
}
.standard-card h3 { color: var(--ink); font-size: clamp(24px, 3vw, 34px); line-height: 1.05; }
.standard-card-hear { background: radial-gradient(circle at 50% 30%, rgba(238,106,27,.22), transparent 44%), linear-gradient(145deg, rgba(28,18,30,.9), rgba(12,16,28,.86)); }
.listen-note { text-align: center; color: var(--r-yellow); margin-top: 30px; font-weight: 700; }

.future-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  perspective: 1400px;
}
.future-card {
  position: relative;
  min-height: 350px;
  border-radius: 30px;
  background: transparent;
  border: 0;
  padding: 0;
  overflow: visible;
  transform-style: preserve-3d;
}
.future-card-inner {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transform-style: preserve-3d;
  transition: transform .75s cubic-bezier(.2,.75,.18,1);
}
.future-card:hover .future-card-inner,
.future-card:focus-within .future-card-inner,
.future-card:focus .future-card-inner {
  transform: rotateY(180deg) translateY(-6px);
}
.future-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: inherit;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(238,106,27,.16), transparent 32%),
    linear-gradient(150deg, rgba(12,16,28,.97), rgba(27,17,24,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 22px 78px rgba(0,0,0,.28);
}
.future-face::before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: -56px;
  top: -58px;
  border-radius: 50%;
  border: 1px solid rgba(242,194,51,.22);
  box-shadow: 0 0 60px rgba(238,106,27,.16), inset 0 0 42px rgba(242,194,51,.08);
}
.future-face::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 22px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--r-orange), var(--r-yellow), var(--r-cyan));
  transform: scaleX(.34);
  transform-origin: left;
  opacity: .72;
  transition: transform .35s ease, opacity .35s ease;
}
.future-card:hover .future-face::after,
.future-card:focus .future-face::after,
.future-card:focus-within .future-face::after {
  transform: scaleX(1);
  opacity: 1;
}
.future-front {
  transform: rotateY(0deg);
}
.future-back {
  transform: rotateY(180deg);
  background:
    radial-gradient(circle at 50% 16%, rgba(242,194,51,.2), transparent 34%),
    linear-gradient(150deg, rgba(37,18,16,.96), rgba(11,16,28,.9));
  border-color: rgba(238,106,27,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 28px 96px rgba(238,106,27,.2);
}
.future-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--r-yellow);
  background: rgba(238,106,27,.16);
  border: 1px solid rgba(242,194,51,.3);
  box-shadow: 0 0 34px rgba(238,106,27,.18);
  margin-bottom: 20px;
}
.future-icon svg { width: 29px; height: 29px; }
.future-card span {
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.future-card h3 {
  margin: 18px 0 18px;
  color: var(--ink);
  font-size: clamp(28px, 2.7vw, 42px);
  line-height: .98;
  font-weight: 800;
  letter-spacing: -.045em;
}
.future-card p {
  color: color-mix(in oklab, var(--ink-dim) 84%, white);
  line-height: 1.6;
  font-size: 16px;
  margin: 0;
}
.future-card strong {
  display: block;
  margin-top: 22px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.28;
  font-weight: 800;
}
.future-back p {
  font-size: 18px;
  color: var(--ink);
  font-weight: 650;
}

.future-demand {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(238,106,27,.28);
  border-radius: 30px;
  background: radial-gradient(circle at 15% 20%, rgba(238,106,27,.16), transparent 42%), rgba(255,255,255,.035);
}
.future-demand h3 { color: var(--ink); font-size: clamp(28px, 3.2vw, 42px); margin: 0 0 12px; }
.future-demand p { color: var(--ink-dim); max-width: 760px; }


.future-reveal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.future-reveal-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
}
.future-reveal-card .future-card-inner {
  position: relative;
  min-height: 320px;
  height: 100%;
  padding: 26px 24px 24px;
  border-radius: 30px;
  border: 1px solid rgba(255, 179, 77, .18);
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 168, 54, .18), transparent 18%),
    radial-gradient(circle at 82% 0%, rgba(79, 160, 255, .14), transparent 26%),
    linear-gradient(180deg, rgba(14, 22, 37, .96), rgba(10, 15, 28, .96));
  overflow: hidden;
  box-shadow: 0 18px 56px rgba(0, 0, 0, .18);
  transition: transform .34s ease, box-shadow .34s ease, border-color .34s ease, filter .34s ease;
}
.future-reveal-card .future-card-inner::before,
.future-reveal-card .future-card-inner::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.future-reveal-card .future-card-inner::before {
  width: 146px;
  height: 146px;
  top: -44px;
  right: -38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 189, 66, .16);
}
.future-reveal-card .future-card-inner::after {
  left: 24px;
  right: 24px;
  bottom: 18px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 132, 48, .92), rgba(98, 193, 255, .72));
  opacity: .58;
  transform-origin: left center;
  transform: scaleX(.34);
  transition: transform .34s ease, opacity .34s ease;
}
.future-reveal-card .future-card-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}
.future-reveal-card .future-card-badge {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  color: var(--r-yellow);
  border: 1px solid rgba(255, 189, 66, .26);
  background: rgba(255, 255, 255, .04);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .03) inset,
    0 0 36px rgba(255, 166, 44, .08);
  flex: none;
}
.future-reveal-card .future-card-badge span[data-icon] {
  font-size: 24px;
}
.future-reveal-card .future-card-tag {
  margin-top: 6px;
  color: var(--r-yellow);
  text-transform: uppercase;
  letter-spacing: .28em;
  font-size: 11px;
}
.future-reveal-card h3 {
  margin: 16px 0 10px;
  color: var(--ink);
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.06;
  text-wrap: balance;
}
.future-reveal-card .future-card-copy {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.5;
  max-width: 30ch;
  font-weight: 500;
}
.future-reveal-card .future-card-more {
  margin-top: 14px;
  max-width: 32ch;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 15px;
  line-height: 1.52;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity .28s ease, max-height .34s ease;
}
.future-reveal-card:hover .future-card-inner,
.future-reveal-card:focus-within .future-card-inner,
.future-reveal-card.is-active .future-card-inner {
  transform: translateY(-8px) scale(1.01);
  border-color: rgba(255, 189, 66, .44);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 255, 255, .04) inset, 0 0 56px rgba(238, 106, 27, .12);
}
.future-reveal-card:hover .future-card-inner::after,
.future-reveal-card:focus-within .future-card-inner::after,
.future-reveal-card.is-active .future-card-inner::after {
  transform: scaleX(1);
  opacity: .95;
}
.future-reveal-card:hover .future-card-more,
.future-reveal-card:focus-within .future-card-more,
.future-reveal-card.is-active .future-card-more {
  opacity: 1;
  max-height: 160px;
}
.future-reveal-grid:hover .future-reveal-card:not(:hover):not(:focus-within):not(.is-active) .future-card-inner {
  transform: translateY(4px) scale(.99);
  filter: saturate(.96) brightness(.96);
}
@media (max-width: 1100px) {
  .future-reveal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .future-reveal-grid {
    grid-template-columns: 1fr;
  }
  .future-reveal-card .future-card-inner {
    min-height: 0;
  }
}

.manifesto-initiation, .manifesto-ritual-room { background: radial-gradient(circle at 50% 30%, rgba(242,194,51,.14), transparent 38%), #04050a; }
.manifesto-init-copy { color: var(--ink-dim); font-size: 18px; line-height: 1.7; }
.signature-ritual { background: linear-gradient(180deg, #020307, #08070b); }
.signature-shell {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
  padding: clamp(28px, 5vw, 62px);
  border: 1px solid rgba(238,106,27,.24);
  border-radius: 36px;
  background: radial-gradient(circle at 22% 24%, rgba(238,106,27,.2), transparent 36%), rgba(255,255,255,.035);
  box-shadow: 0 30px 100px rgba(0,0,0,.36);
}
.signature-copy p { color: var(--ink-dim); }
.signature-wave {
  height: 92px;
  margin-top: 34px;
  border-radius: 22px;
  background: linear-gradient(90deg, transparent, rgba(238,106,27,.55), rgba(242,194,51,.9), rgba(84,196,213,.44), transparent);
  mask: repeating-linear-gradient(90deg, #000 0 6px, transparent 6px 16px);
  animation: signature-wave 5s linear infinite;
  opacity: .85;
}
@keyframes signature-wave { to { background-position: 240px 0; } }
.home-signature-form { background: rgba(9, 12, 23, .72); }
.role-field {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}
.role-field legend { color: var(--r-yellow); font-family: var(--font-display); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; padding: 0 8px; }
.role-field label,
.check { color: var(--ink-dim); font-size: 14px; }
.role-field input,
.check input { width: auto; margin-right: 7px; }
.home-signature-form input:focus,
.home-signature-form textarea:focus,
.home-signature-form select:focus { box-shadow: 0 0 0 3px rgba(238,106,27,.22), 0 0 35px rgba(238,106,27,.16); }

.share-signal { background: radial-gradient(circle at 70% 20%, rgba(84,196,213,.14), transparent 34%), #05060b; }

.share-signal {
  position: relative;
  transition: opacity .35s ease, filter .35s ease, transform .35s ease;
}
.share-signal:not(.is-revealed) .share-identity,
.share-signal:not(.is-revealed) .share-signal-grid {
  opacity: .46;
  filter: saturate(.86);
  pointer-events: none;
}
.share-signal:not(.is-revealed)::before {
  content: "Unlocks after you sign the manifesto.";
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 3;
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(10, 14, 24, .82);
  border: 1px solid rgba(238,106,27,.34);
  color: var(--r-yellow);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  box-shadow: 0 16px 40px rgba(0,0,0,.24);
}
.share-signal.is-revealed::before {
  display: none;
}

.share-identity {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.share-identity button {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 12px 16px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  background: rgba(255,255,255,.04);
  font: 800 11px/1 var(--font-display);
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
}
.share-identity button.active,
.share-identity button:hover { color: var(--ink); border-color: var(--r-orange); background: rgba(238,106,27,.16); }
.share-signal-grid {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr);
  gap: 26px;
  align-items: stretch;
}
.share-preview {
  padding: 22px;
  border: 1px solid rgba(238,106,27,.32);
  border-radius: 28px;
  background: rgba(255,255,255,.035);
  box-shadow: 0 0 50px rgba(238,106,27,.12);
}
.share-preview img {
  width: 100%;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(238,106,27,.38);
}
.share-preview p { color: var(--ink); font-size: 18px; line-height: 1.5; margin: 18px 0 0; }
.share-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-content: center;
}
.share-actions .btn { justify-content: center; }
.final-floor-cta { background: radial-gradient(circle at 50% 20%, rgba(238,106,27,.18), transparent 40%), #020307; }
.final-floor-cta p { color: var(--ink-dim); line-height: 1.7; }

.home-manifesto-modal[hidden] { display: none; }
.home-manifesto-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 28px;
}
.home-manifesto-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(16px);
}
.home-manifesto-dialog {
  position: relative;
  width: min(920px, 100%);
  max-height: min(88vh, 920px);
  overflow: hidden;
  border: 1px solid rgba(238,106,27,.42);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,194,51,.22), transparent 36%),
    linear-gradient(180deg, rgba(15,14,24,.98), rgba(3,4,8,.98));
  box-shadow: 0 0 120px rgba(238,106,27,.25);
}
.home-manifesto-dialog::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 10%, rgba(255,214,120,.18), transparent 22%);
  animation: modal-flicker 5s ease-in-out infinite alternate;
}
@keyframes modal-flicker { 50% { opacity: .55; } 100% { opacity: .95; } }
.home-modal-close { position: absolute; right: 18px; top: 18px; z-index: 4; }
.home-manifesto-scroll {
  position: relative;
  z-index: 2;
  max-height: min(88vh, 920px);
  overflow-y: auto;
  padding: clamp(32px, 6vw, 72px);
}
.home-manifesto-author {
  text-align: center;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-family: var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
}
.home-manifesto-flag {
  max-width: 680px;
  margin: 34px auto;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(238,106,27,.32);
  border-radius: 28px;
  background: rgba(0,0,0,.32);
}
.home-manifesto-flag p {
  color: var(--ink);
  font-size: clamp(21px, 3vw, 32px);
  line-height: 1.4;
  text-align: center;
  margin: 0;
  padding: 26px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.home-manifesto-flag p:last-child { border-bottom: 0; }
.home-stand-cta { margin: 0 auto; }
body.home-modal-open { overflow: hidden; }

.mobile-sign-cta {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 60;
  display: none;
  justify-content: center;
  gap: 10px;
  padding: 15px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--r-orange), var(--r-red));
  color: white;
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  box-shadow: 0 14px 44px rgba(238,106,27,.42);
}

@media (max-width: 980px) {
  .movement-split,
  .standard-grid,
  .future-grid,
  .future-reveal-grid,
  .signature-shell,
  .share-signal-grid { grid-template-columns: 1fr; }
  .festival-journey-carousel { min-height: 620px; }
  .standard-card { min-height: 240px; }
  .future-card { min-height: 340px; }
}
@media (max-width: 720px) {
  .home-journey-nav { display: none; }
  .frustration-story-panel { padding: 22px; }
  .frustration-equation { grid-template-columns: 1fr; gap: 10px; }
  .frustration-equation > strong { font-size: 28px; min-height: 18px; }
  .equation-stack, .equation-result { min-height: auto; }
  .festival-journey-carousel { min-height: 620px; cursor: default; }
  .journey-track { left: 18px; right: 18px; top: 34px; gap: 14px; }
  .journey-card { width: 100%; min-height: auto; padding: 18px; }
  .journey-card:nth-child(even) { justify-self: stretch; }
  .share-actions { grid-template-columns: 1fr; }
  .future-grid { gap: 18px; }
  .future-card { min-height: auto; }
  .future-card-inner { position: relative; display: grid; gap: 14px; transform: none !important; transition: none; }
  .future-face { position: relative; min-height: auto; backface-visibility: visible; transform: none; }
  .future-back { transform: none; }
  .future-card h3 { font-size: clamp(26px, 8vw, 38px); }
  .home-manifesto-modal { padding: 12px; }
  .home-manifesto-scroll { padding: 34px 22px; }
  .mobile-sign-cta { display: flex; }
  body { padding-bottom: 72px; }
  .nav-inner .sign-cta { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-track,
  .signature-wave,
  .home-manifesto-dialog::before { animation: none !important; }
  .future-card-inner { transition: none !important; transform: none !important; }
  .future-face { position: relative; backface-visibility: visible; transform: none; }
  .future-card { min-height: auto; }
}


.home-vision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  position: relative;
  z-index: 2;
}
.home-quote-block {
  padding-top: 12px;
}
.home-intention-quote {
  padding: 8px 0 4px;
}
.home-quote-mark {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.18;
  color: var(--ink);
  max-width: 820px;
  margin: 0 auto;
  text-wrap: balance;
}
.home-quote-mark--compact {
  max-width: 18ch;
  margin-inline: auto;
  font-size: clamp(26px, 3.35vw, 44px);
  line-height: 1.04;
}
.home-quote-accent {
  color: var(--r-orange);
  font-weight: 700;
  text-shadow: 0 0 18px rgba(238,106,27,.18);
}
.home-quote-author {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--r-yellow);
  margin-top: 40px;
}
@media (max-width: 900px) {
  .home-vision-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .home-vision-grid {
    grid-template-columns: 1fr;
  }
}


/* --- Homepage visual upgrade: frustration, future cards, ritual room --- */
.movement-frustration .movement-split { align-items: stretch; }
.frustration-story-panel .lede {
  color: var(--ink);
  font-size: clamp(20px, 2.1vw, 30px);
  line-height: 1.28;
  font-weight: 780;
  max-width: 22ch;
}
.frustration-story-panel .frustration-equation { margin-top: 22px; }
.frustration-story-panel .story-accent-gold {
  color: var(--r-orange);
  text-shadow: 0 0 16px rgba(238,106,27,.22);
}
.frustration-story-panel .story-accent-hot {
  color: #ff6d6d;
  text-shadow: 0 0 18px rgba(255,109,109,.26);
}
.festival-journey-carousel {
  background:
    radial-gradient(circle at 50% 92%, rgba(242,194,51,.32), transparent 32%),
    radial-gradient(circle at 50% 38%, rgba(84,196,213,.18), transparent 32%),
    linear-gradient(145deg, rgba(12,17,30,.98), rgba(42,18,18,.82));
}
.journey-card {
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.festival-journey-carousel:hover .journey-card {
  border-color: rgba(255,255,255,.24);
}
.festival-journey-carousel:hover .journey-card:hover {
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(242,194,51,.68);
  box-shadow: 0 20px 64px rgba(242,194,51,.2);
}

.future-reveal-grid {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 18px;
}
.future-reveal-card {
  --mx: 50%;
  --my: 50%;
  transition: transform .28s ease, filter .28s ease;
}
.future-reveal-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 30px;
  pointer-events: none;
  background: radial-gradient(220px 220px at var(--mx) var(--my), rgba(238,106,27,.18), transparent 72%);
  opacity: 0;
  transition: opacity .24s ease;
  z-index: 2;
}
.future-reveal-card .future-card-inner {
  min-height: 350px;
  border-color: rgba(255, 186, 82, .22);
  box-shadow: 0 20px 58px rgba(0, 0, 0, .2);
}
.future-reveal-card .future-card-badge {
  width: 74px;
  height: 74px;
  border-radius: 24px;
  box-shadow: 0 0 40px rgba(255, 166, 44, .15);
}
.future-reveal-card .future-card-badge span[data-icon] { font-size: 28px; }
.future-reveal-card h3 {
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: 1.02;
}
.future-reveal-card .future-card-copy {
  font-size: 18px;
  line-height: 1.45;
  font-weight: 580;
}
.future-reveal-card .future-card-more {
  font-size: 16px;
}
.future-reveal-card:hover::after,
.future-reveal-card:focus-within::after,
.future-reveal-card.is-active::after { opacity: 1; }
.future-reveal-grid[data-active] .future-reveal-card:not(.is-active) {
  filter: saturate(.9) brightness(.92);
}
.future-reveal-grid[data-active] .future-reveal-card:not(.is-active):nth-child(odd) {
  transform: translate(-8px, 8px) scale(.98);
}
.future-reveal-grid[data-active] .future-reveal-card:not(.is-active):nth-child(even) {
  transform: translate(8px, 8px) scale(.98);
}

.manifesto-ritual-room .ritual-steps {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.manifesto-ritual-room .ritual-step {
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  padding: 12px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.manifesto-ritual-room .ritual-step span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: rgba(238,106,27,.2);
  border: 1px solid rgba(238,106,27,.42);
  font-size: 11px;
  font-weight: 800;
}
.manifesto-ritual-room .ritual-share-note {
  margin-top: 12px;
  color: color-mix(in oklab, var(--ink-dim) 86%, white);
  font-size: 14px;
}
.manifesto-ritual-room .ritual-read-confirm {
  border-color: rgba(242,194,51,.36);
  color: var(--r-yellow);
}

.manifesto-audio-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.manifesto-audio-duo .manifesto-audio-card {
  border-color: rgba(242,194,51,.24);
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 181, 63, .14), transparent 28%),
    linear-gradient(145deg, rgba(18,22,38,.88), rgba(34,17,22,.72));
}
@media (max-width: 920px) {
  .manifesto-ritual-room .ritual-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .manifesto-audio-duo {
    grid-template-columns: 1fr;
  }
}

/* --- Homepage continuation: hero v2, gamble game, ritual room chamber --- */
.hero-sub.hero-sub-main {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.12;
  text-shadow: 0 10px 36px rgba(0, 0, 0, .45);
}
.hero-sub.hero-sub-main span { color: var(--r-orange); }

.hero-signal-v2 .inner h1 {
  font-size: clamp(54px, 8vw, 122px);
  line-height: .96;
  text-wrap: balance;
}
.hero-v2-brand {
  margin: 8px 0 10px;
  color: color-mix(in oklab, var(--ink) 92%, white);
  font: 900 clamp(28px, 5.4vw, 70px)/.92 var(--font-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  text-shadow: 0 10px 42px rgba(0, 0, 0, .45);
}
.hero-role-switch {
  margin: 22px auto 12px;
  display: inline-flex;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(3, 7, 14, .54);
  box-shadow: 0 16px 46px rgba(0,0,0,.24);
}
.hero-role-switch button {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  border-radius: 999px;
  padding: 12px 16px;
  font: 900 11px/1 var(--font-display);
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .24s ease;
}
.hero-role-switch button:hover,
.hero-role-switch button.is-active {
  color: var(--ink);
  border-color: rgba(242,194,51,.55);
  background: rgba(238,106,27,.22);
  box-shadow: 0 0 24px rgba(238,106,27,.24);
}
.hero-role-line {
  color: color-mix(in oklab, var(--ink) 84%, white);
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.5;
  margin: 0;
  transition: opacity .18s ease, transform .18s ease;
}
.hero-role-line.is-changing {
  opacity: .25;
  transform: translateY(4px);
}

.festival-gamble .movement-split {
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  align-items: center;
}
.frustration-gamble-result {
  margin-top: 14px;
  color: var(--r-yellow);
  font-family: var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
}

.festival-gamble-track {
  --gamble-progress: 10%;
  --gamble-active-x: 0%;
  --journey-walker-p: 0;
  height: 520px;
  min-height: 520px;
  padding: 54px 24px 92px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-behavior: smooth;
  overflow-anchor: none;
  touch-action: pan-y;
  cursor: grab;
  border: 1px solid rgba(238,106,27,.24);
  border-radius: 34px;
  background:
    radial-gradient(circle at var(--gamble-active-x) 58%, rgba(242,194,51,.18), transparent 22%),
    linear-gradient(90deg, rgba(84,196,213,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(84,196,213,.05) 1px, transparent 1px),
    linear-gradient(140deg, rgba(7,13,24,.92), rgba(24,18,31,.78));
  background-size: auto, 120px 120px, 120px 120px, auto;
}
.festival-gamble-track.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}
.festival-gamble-track::-webkit-scrollbar {
  display: none;
}
.festival-gamble-track:hover .journey-track { animation-play-state: running; }
.festival-gamble-track::before,
.festival-gamble-track::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.festival-gamble-track::before {
  inset: auto;
  left: 8%;
  right: auto;
  width: max(84%, 2160px);
  top: 52%;
  height: 3px;
  mask: radial-gradient(130% 180% at 50% 50%, #000 68%, transparent 70%);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(84,196,213,.32), rgba(242,194,51,.75), rgba(238,106,27,.55), rgba(84,196,213,.22));
  box-shadow: 0 0 32px rgba(238,106,27,.25);
  z-index: 1;
}
.festival-gamble-track::after {
  inset: auto;
  left: calc(8% + (84% * var(--gamble-active-x) / 100));
  top: calc(52% - 13px);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, var(--r-yellow), var(--r-orange) 52%, transparent 70%);
  box-shadow: 0 0 44px rgba(242,194,51,.75), 0 0 90px rgba(238,106,27,.35);
  transition: left .42s ease;
  z-index: 2;
}
.festival-gamble-track .journey-walker {
  position: absolute;
  left: var(--journey-walker-x, calc(8% + (84% * var(--journey-walker-p))));
  top: var(--walker-top, calc(52% - 122px + var(--journey-walker-y, 0px)));
  z-index: 18;
  pointer-events: none;
  transition: left .58s cubic-bezier(.2,.78,.21,1), top .58s cubic-bezier(.2,.78,.21,1);
}
.festival-gamble-track .journey-walker-figure {
  position: relative;
  width: 34px;
  height: 52px;
  display: block;
  filter: drop-shadow(0 0 16px rgba(242,194,51,.34));
}
.festival-gamble-track .journey-walker-head {
  position: absolute;
  left: 11px;
  top: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff4cd, var(--r-yellow));
  box-shadow: 0 0 14px rgba(242,194,51,.48);
}
.festival-gamble-track .journey-walker-body {
  position: absolute;
  left: 15px;
  top: 10px;
  width: 4px;
  height: 19px;
  border-radius: 99px;
  background: color-mix(in oklab, var(--r-yellow) 76%, #fff);
}
.festival-gamble-track .journey-walker-leg {
  position: absolute;
  left: 16px;
  top: 27px;
  width: 3px;
  height: 18px;
  border-radius: 99px;
  background: color-mix(in oklab, var(--r-orange) 72%, var(--r-yellow));
  transform-origin: top center;
}
.festival-gamble-track .journey-walker-leg-a {
  animation: journey-walker-step-a .76s ease-in-out infinite;
}
.festival-gamble-track .journey-walker-leg-b {
  animation: journey-walker-step-b .76s ease-in-out infinite;
}
.festival-gamble-track .journey-walker-bubble {
  position: absolute;
  left: 40px;
  top: -6px;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(198,56,28,.55);
  background: rgba(21,9,11,.88);
  color: #ffb8a4;
  font: 900 10px/1 var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(-2px) scale(.95);
  transition: opacity .22s ease, transform .22s ease;
}
.festival-gamble-track .journey-walker-bubble::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 12px;
  width: 7px;
  height: 7px;
  border-left: 1px solid rgba(198,56,28,.55);
  border-bottom: 1px solid rgba(198,56,28,.55);
  background: rgba(21,9,11,.88);
  transform: rotate(45deg);
}
.festival-gamble-track .journey-walker.is-lost {
  animation: journey-walker-pacing 1.8s ease-in-out infinite alternate;
}
.festival-gamble-track .journey-walker.is-lost .journey-walker-bubble {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@keyframes journey-walker-step-a {
  0%, 100% { transform: rotate(15deg); }
  50% { transform: rotate(-15deg); }
}
@keyframes journey-walker-step-b {
  0%, 100% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg); }
}
@keyframes journey-walker-pacing {
  from { transform: translateX(-14px); }
  to { transform: translateX(14px); }
}
.festival-gamble-track .journey-game-controls {
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 11;
  pointer-events: none;
}
.festival-gamble-track .journey-arrow {
  width: 42px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(242,194,51,.36);
  background: linear-gradient(145deg, rgba(24,18,18,.96), rgba(10,14,22,.92));
  color: var(--r-yellow);
  display: grid;
  place-items: center;
  cursor: pointer;
  pointer-events: auto;
}
.festival-gamble-track .journey-arrow:hover { box-shadow: 0 0 24px rgba(238,106,27,.26); }
.festival-gamble-track .journey-station {
  min-width: 98px;
  text-align: center;
  color: var(--ink);
  font: 900 11px/1 var(--font-display);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.festival-gamble-track .journey-track {
  position: relative;
  height: 330px;
  animation: none;
  transform: none;
  width: max-content;
  display: grid;
  grid-template-columns: repeat(11, 190px);
  gap: 16px;
  align-items: center;
  z-index: 2;
}
.festival-gamble-track .journey-card {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  min-height: 178px;
  padding: 20px 18px;
  opacity: .48;
  transform: translateY(0) scale(.92);
  cursor: pointer;
  transition: opacity .4s ease, transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.festival-gamble-track .journey-card:nth-child(odd) {
  align-self: start;
}
.festival-gamble-track .journey-card:nth-child(even) {
  align-self: end;
}
.festival-gamble-track .journey-dot {
  position: absolute;
  left: 50%;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(242,194,51,.55);
  background: rgba(4,7,14,.92);
  box-shadow: 0 0 20px rgba(238,106,27,.2);
}
.festival-gamble-track .journey-card:nth-child(odd) .journey-dot {
  top: calc(100% + 28px);
}
.festival-gamble-track .journey-card:nth-child(even) .journey-dot {
  top: -30px;
}
.festival-gamble-track .journey-card.is-active {
  opacity: 1;
  transform: translateY(0) scale(1.05);
  border-color: rgba(242,194,51,.52);
  box-shadow: 0 26px 80px rgba(0,0,0,.34), 0 0 52px rgba(238,106,27,.24);
  z-index: 3;
}
.festival-gamble-track .journey-card.is-active .journey-dot {
  background: var(--r-yellow);
  box-shadow: 0 0 28px rgba(242,194,51,.8), 0 0 60px rgba(238,106,27,.35);
}
.festival-gamble-track .journey-card:focus-visible {
  outline: 2px solid var(--r-yellow);
  outline-offset: 4px;
}
.festival-gamble-track .journey-card h3 {
  font-size: clamp(20px, 1.6vw, 28px);
  line-height: .96;
}
.festival-gamble-track .journey-card p {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.festival-gamble-track .journey-card.is-found {
  background:
    radial-gradient(circle at 50% 0%, rgba(242,194,51,.2), transparent 46%),
    rgba(12,20,26,.82);
}
.festival-gamble-track .journey-card.is-empty {
  filter: saturate(.75);
}
.festival-gamble-track .journey-bottom-signal::after {
  content: "";
  position: absolute;
  left: 12px;
  bottom: 8px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--r-orange), var(--r-yellow), var(--r-cyan));
  width: var(--gamble-progress);
  max-width: calc(100% - 24px);
  transition: width .35s ease;
}

.manifesto-ritual-room .ritual-enter-btn {
  margin-top: 22px;
}
.manifesto-ritual-room .ritual-enter-note {
  margin-top: 12px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.manifesto-ritual-room .ritual-chamber[hidden] { display: none; }
.manifesto-ritual-room .ritual-chamber {
  margin-top: 20px;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid rgba(238,106,27,.28);
  border-radius: 22px;
  background: linear-gradient(160deg, rgba(9,13,24,.62), rgba(26,16,20,.42));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 20px 60px rgba(0,0,0,.28), 0 0 56px rgba(238,106,27,.12);
}
.manifesto-ritual-room .ritual-vow-btn {
  border-color: rgba(84,196,213,.36);
  color: var(--r-cyan);
}
.manifesto-ritual-room.is-entered .ritual-enter-btn {
  opacity: .45;
  pointer-events: none;
}

@media (max-width: 980px) {
  .festival-gamble .movement-split {
    grid-template-columns: 1fr;
  }
  .festival-gamble-track {
    height: auto;
    min-height: auto;
    padding: 86px 18px 76px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .festival-gamble-track::before {
    left: 56px;
    right: auto;
    width: max(900px, calc(100% - 112px));
  }
  .festival-gamble-track .journey-walker {
    left: var(--journey-walker-x, calc(56px + ((100% - 112px) * var(--journey-walker-p))));
    top: calc(52% - 70px);
  }
  .festival-gamble-track .journey-walker-bubble {
    left: 28px;
    top: -10px;
    font-size: 9px;
    letter-spacing: .1em;
  }
  .festival-gamble-track::after {
    display: none;
  }
  .festival-gamble-track .journey-track {
    width: max-content;
    grid-template-columns: repeat(11, 176px);
  }
  .festival-gamble-track .journey-card {
    scroll-snap-align: center;
  }
  .hero-role-switch {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* --- Ritual Room full experience --- */
.manifesto-ritual-room .lede {
  max-width: 760px;
  margin-inline: auto;
}
.ritual-room__portal {
  margin: 30px auto 22px;
  width: min(860px, 100%);
  min-height: clamp(360px, 48vw, 520px);
  position: relative;
  border-radius: 38px;
  border: 1px solid rgba(238,106,27,.26);
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(242,194,51,.18) 49%, rgba(242,194,51,.42) 50%, rgba(242,194,51,.18) 51%, transparent 52%),
    radial-gradient(circle at 50% 56%, rgba(242,194,51,.2), transparent 22%),
    radial-gradient(ellipse at 50% 102%, rgba(238,106,27,.28), transparent 42%),
    radial-gradient(circle at 22% 20%, rgba(84,196,213,.12), transparent 34%),
    linear-gradient(150deg, rgba(5,7,13,.95), rgba(24,14,18,.78));
  box-shadow: inset 0 0 80px rgba(0,0,0,.58), 0 34px 110px rgba(0,0,0,.38), 0 0 80px rgba(238,106,27,.14);
}
.ritual-room__portal::before,
.ritual-room__portal::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.ritual-room__portal::before {
  left: 50%;
  top: 8%;
  width: 2px;
  height: 78%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(242,194,51,.88), rgba(238,106,27,.28), transparent);
  box-shadow: 0 0 42px rgba(242,194,51,.72);
}
.ritual-room__portal::after {
  left: 12%;
  right: 12%;
  bottom: 38px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(242,194,51,.65), transparent);
  box-shadow: 0 0 42px rgba(238,106,27,.55);
}
.ritual-room__portal-ring {
  position: absolute;
  inset: 9% 20% 13%;
  border-radius: 999px 999px 34px 34px;
  border: 1px solid rgba(242,194,51,.42);
  box-shadow: 0 0 70px rgba(238,106,27,.26), inset 0 0 60px rgba(242,194,51,.12);
}
.ritual-room__door {
  position: absolute;
  left: 50%;
  top: 15%;
  width: min(360px, 54%);
  height: 68%;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 999px 999px 24px 24px;
  overflow: hidden;
  border: 1px solid rgba(238,106,27,.32);
  box-shadow: inset 0 0 60px rgba(0,0,0,.55), 0 0 52px rgba(238,106,27,.16);
}
.ritual-room__door span {
  background:
    radial-gradient(circle at 50% 55%, rgba(242,194,51,.08), transparent 38%),
    linear-gradient(180deg, rgba(12,16,28,.8), rgba(6,7,12,.92));
}
.ritual-room__door span:first-child {
  border-right: 1px solid rgba(242,194,51,.28);
}
.ritual-room__door span:last-child {
  border-left: 1px solid rgba(242,194,51,.12);
}
.ritual-room__portal-core {
  position: absolute;
  width: min(360px, 72%);
  min-height: 118px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 50%, rgba(242,194,51,.26), rgba(238,106,27,.16) 50%, rgba(6,8,14,.08) 76%);
  box-shadow: 0 0 90px rgba(238,106,27,.42), 0 0 180px rgba(242,194,51,.2);
  animation: ritual-core-breathe 5s ease-in-out infinite;
}
@keyframes ritual-core-breathe {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: .94; }
  50% { transform: translate(-50%, -50%) scale(1.035); opacity: 1; }
}
.ritual-room__word {
  position: absolute;
  color: rgba(255,255,255,.78);
  font: 900 11px/1 var(--font-display);
  letter-spacing: .24em;
  text-transform: uppercase;
}
.ritual-room__word.w1 { left: 11%; top: 20%; }
.ritual-room__word.w2 { right: 12%; top: 18%; }
.ritual-room__word.w3 { left: 13%; bottom: 23%; }
.ritual-room__word.w4 { right: 14%; bottom: 22%; }
.ritual-room__word.w5 { left: 50%; bottom: 10%; transform: translateX(-50%); color: var(--r-yellow); }
.ritual-room__spark {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--r-yellow);
  box-shadow: 0 0 22px rgba(242,194,51,.8);
  opacity: .75;
  animation: ritual-spark-float 5s ease-in-out infinite;
}
.ritual-room__spark.s1 { left: 22%; top: 48%; animation-delay: .2s; }
.ritual-room__spark.s2 { right: 24%; top: 36%; animation-delay: 1s; }
.ritual-room__spark.s3 { left: 50%; bottom: 21%; animation-delay: 1.8s; }
@keyframes ritual-spark-float {
  0%, 100% { transform: translateY(0); opacity: .42; }
  50% { transform: translateY(-14px); opacity: .95; }
}
.ritual-room__enter-cta {
  position: relative;
  z-index: 3;
  margin-inline: auto;
  display: inline-flex;
  min-height: 72px;
  padding-inline: clamp(24px, 4vw, 46px);
  font-size: clamp(12px, 1.4vw, 15px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset, 0 0 36px rgba(238,106,27,.36), 0 16px 54px rgba(238,106,27,.28);
  animation: ritual-enter-pulse 3.5s ease-in-out infinite;
}
@keyframes ritual-enter-pulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset, 0 0 36px rgba(238,106,27,.36), 0 16px 54px rgba(238,106,27,.28); }
  50% { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset, 0 0 54px rgba(238,106,27,.5), 0 20px 64px rgba(238,106,27,.34); }
}
.ritual-room__entry-note {
  margin-top: 14px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.ritual-room__entry-done {
  margin-top: 14px;
  color: var(--r-yellow);
  font: 900 11px/1 var(--font-display);
  letter-spacing: .24em;
  text-transform: uppercase;
}

.ritual-room__overlay[hidden] { display: none; }
.ritual-room__overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 220;
  padding: 14px;
  display: grid;
  align-items: start;
  justify-items: center;
  overflow: hidden;
  opacity: 0;
  transform: scale(.985);
  transition: opacity .36s ease, transform .36s ease;
}
.ritual-room__overlay.is-open {
  opacity: 1;
  transform: scale(1);
}
.ritual-room__overlay.is-closing {
  opacity: 0;
  transform: scale(.988);
}
.ritual-room__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(242,194,51,.14), transparent 30%),
    radial-gradient(circle at 12% 88%, rgba(238,106,27,.16), transparent 28%),
    rgba(1, 2, 6, .94);
  backdrop-filter: blur(18px);
}
.ritual-room__container {
  position: relative;
  z-index: 2;
  width: min(1480px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  overflow-y: auto;
  border: 1px solid rgba(238,106,27,.42);
  border-radius: 24px;
  padding: clamp(18px, 3vw, 34px);
  background:
    linear-gradient(90deg, rgba(242,194,51,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(242,194,51,.05) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(242,194,51,.18), transparent 36%),
    radial-gradient(circle at 0% 100%, rgba(84,196,213,.13), transparent 30%),
    linear-gradient(160deg, rgba(6,8,15,.98), rgba(22,13,18,.96));
  background-size: 70px 70px, 70px 70px, auto, auto, auto;
  box-shadow: 0 36px 160px rgba(0,0,0,.72), 0 0 110px rgba(238,106,27,.2);
}
.ritual-room__container::before,
.ritual-room__container::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.ritual-room__container::before {
  inset: 10px;
  border: 1px solid rgba(242,194,51,.14);
  border-radius: 18px;
}
.ritual-room__container::after {
  left: 8%;
  right: 8%;
  top: 96px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,194,51,.55), transparent);
  box-shadow: 0 0 34px rgba(238,106,27,.42);
}
.ritual-room__close {
  position: fixed;
  top: clamp(16px, 2vw, 28px);
  right: clamp(16px, 2vw, 28px);
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(8,10,18,.56);
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font: 700 10px/1 var(--font-display);
  letter-spacing: .14em;
  text-transform: uppercase;
  z-index: 30;
  backdrop-filter: blur(12px);
}
.ritual-room__close:hover,
.ritual-room__close:focus-visible {
  color: var(--ink);
  border-color: rgba(242,194,51,.42);
  background: rgba(238,106,27,.12);
  opacity: .96;
}
.ritual-room__close span:not(.icon-rendered) {
  display: inline-flex;
}
.ritual-room__header {
  margin-top: -18px;
}
.ritual-room__header .display-2 {
  max-width: 1000px;
  font-size: clamp(44px, 6.6vw, 92px);
  line-height: .92;
}
.ritual-room__header p { color: var(--ink-dim); max-width: 76ch; }
.ritual-room__choice-row {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ritual-room__choice {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  color: var(--ink);
  min-height: 44px;
  padding: 0 16px;
  font: 900 11px/1 var(--font-display);
  letter-spacing: .14em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all .22s ease;
}
.ritual-room__choice i {
  font-style: normal;
  color: var(--r-yellow);
  font-weight: 900;
}
.ritual-room__choice:hover,
.ritual-room__choice.is-active {
  border-color: rgba(242,194,51,.56);
  background: rgba(238,106,27,.16);
  box-shadow: 0 0 22px rgba(238,106,27,.22);
}
.ritual-room__split {
  margin-top: 20px;
  display: block;
}
.ritual-room__manifesto,
.ritual-room__audio {
  position: relative;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  padding: clamp(16px, 2vw, 22px);
  background:
    radial-gradient(circle at 50% 0%, rgba(238,106,27,.12), transparent 42%),
    rgba(255,255,255,.035);
  box-shadow: inset 0 0 38px rgba(255,255,255,.025), 0 18px 60px rgba(0,0,0,.28);
}
.ritual-room__manifesto-intro {
  min-width: 0;
}
.ritual-room__manifesto-intro-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
  gap: 24px;
  align-items: start;
}
.ritual-room__manifesto h3,
.ritual-room__audio h3,
.ritual-room__form h3,
.ritual-room__share h3,
.ritual-room__thanks h3 {
  margin: 0;
  color: var(--ink);
}
.ritual-room__step-kicker {
  margin-bottom: 10px;
  color: var(--r-yellow);
  font: 900 10px/1 var(--font-display);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.ritual-room__manifesto-frame-wrap {
  margin-top: 12px;
  border: 1px solid rgba(242,194,51,.2);
  border-radius: 14px;
  overflow: auto;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,194,51,.08), transparent 34%),
    rgba(4,7,14,.9);
  height: min(46vh, 560px);
  scroll-behavior: smooth;
  box-shadow: inset 0 0 70px rgba(0,0,0,.35);
}
.ritual-room__read-meter {
  margin-top: 14px;
  display: grid;
  gap: 8px;
  color: var(--r-yellow);
  font: 900 10px/1 var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ritual-room__read-meter i {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--r-orange), var(--r-yellow));
  transform-origin: left;
  transform: scaleX(.02);
  box-shadow: 0 0 18px rgba(238,106,27,.5);
}
.ritual-room__manifesto-text {
  position: relative;
  padding: clamp(18px, 3vw, 34px);
}
.ritual-room__manifesto-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 22px;
  align-items: start;
  margin-bottom: 20px;
}
.ritual-room__manifesto-heading {
  min-width: 0;
}
.ritual-room__audio-corner {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  padding: 12px 0 0 18px;
  border-radius: 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(238,106,27,.16), transparent 28%),
    transparent;
  border: 0;
  box-shadow: none;
}
.ritual-room__audio-corner .ritual-room__wave {
  margin: 0 0 12px;
  height: 54px;
  padding: 10px 12px;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 50%, rgba(238,106,27,.12), transparent 58%);
}
.ritual-room__audio-corner .ritual-room__wave span {
  max-width: 12px;
}
.ritual-room__audio-corner .ritual-room__listen-btn {
  min-height: 48px;
  width: 100%;
}
.ritual-room__audio-corner .ritual-room__audio-status {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}
.ritual-room__audio-inline {
  width: 100%;
  max-width: 400px;
  min-width: 0;
  padding: 2px 0 0 22px;
  border: 0;
  border-left: 1px solid rgba(242,194,51,.16);
  border-radius: 0;
  background:
    radial-gradient(circle at 30% 16%, rgba(238,106,27,.14), transparent 30%),
    transparent;
  box-shadow: none;
  display: grid;
  grid-template-columns: minmax(112px, 148px) minmax(220px, 1fr);
  gap: 12px 14px;
  align-items: center;
  justify-self: end;
  overflow: hidden;
}
.ritual-room__audio-inline .ritual-room__wave {
  margin: 0;
  height: 46px;
  padding: 10px 12px;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 50%, rgba(238,106,27,.12), transparent 58%);
}
.ritual-room__audio-inline .ritual-room__wave span {
  max-width: 12px;
}
.ritual-room__audio-inline .ritual-room__listen-btn {
  width: 100%;
  min-height: 48px;
  min-width: 0;
  white-space: nowrap;
  padding-inline: 22px;
  font-size: 14px;
  letter-spacing: 0.14em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.ritual-room__audio-inline audio,
.ritual-room__audio-inline .ritual-room__audio-status {
  grid-column: 1 / -1;
}
.ritual-room__audio-inline .ritual-room__audio-status {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.42;
}
.ritual-room__manifesto-text h4 {
  margin: 10px 0 8px;
  color: var(--ink);
  font: 700 clamp(34px, 5vw, 68px)/.94 var(--font-display);
  text-wrap: balance;
}
.ritual-room__manifesto-text h4 em,
.ritual-room__flag em,
.ritual-room__flag strong {
  color: var(--r-orange);
  font-style: normal;
}
.ritual-room__byline {
  margin: 0 0 20px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 16px;
}
.ritual-room__flag {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: min(100%, 830px);
  border-color: rgba(238,106,27,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(238,106,27,.025));
  text-align: center;
}
.ritual-room__audio-title {
  margin: 18px 0 0;
  color: var(--ink);
  font: 800 clamp(30px, 4vw, 54px)/.95 var(--font-display);
}
.ritual-room__audio-sub {
  margin: 2px 0 0;
  color: var(--r-yellow);
  font: 900 11px/1 var(--font-display);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.ritual-room__wave {
  margin: 28px 0;
  display: flex;
  gap: 9px;
  align-items: end;
  height: 96px;
  padding: 22px;
  border: 1px solid rgba(242,194,51,.18);
  border-radius: 18px;
  background: radial-gradient(circle at 50% 50%, rgba(238,106,27,.18), transparent 58%);
}
.ritual-room__wave span {
  flex: 1;
  max-width: 18px;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--r-yellow), var(--r-orange));
  height: 18px;
  opacity: .55;
  box-shadow: 0 0 18px rgba(238,106,27,.25);
  animation: ritual-wave-idle 2.6s ease-in-out infinite;
}
.ritual-room__wave span:nth-child(2) { animation-delay: .1s; }
.ritual-room__wave span:nth-child(3) { animation-delay: .2s; }
.ritual-room__wave span:nth-child(4) { animation-delay: .3s; }
.ritual-room__wave span:nth-child(5) { animation-delay: .4s; }
.ritual-room__wave span:nth-child(6) { animation-delay: .5s; }
.ritual-room__wave span:nth-child(7) { animation-delay: .6s; }
@keyframes ritual-wave-idle {
  0%, 100% { height: 14px; opacity: .42; }
  50% { height: 28px; opacity: .72; }
}
.ritual-room__audio.is-playing .ritual-room__wave span {
  animation: ritual-wave 1s ease-in-out infinite;
  opacity: .95;
}
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(2) { animation-delay: .08s; }
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(3) { animation-delay: .16s; }
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(4) { animation-delay: .24s; }
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(5) { animation-delay: .32s; }
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(6) { animation-delay: .4s; }
.ritual-room__audio.is-playing .ritual-room__wave span:nth-child(7) { animation-delay: .48s; }
@keyframes ritual-wave {
  0%, 100% { height: 18px; }
  50% { height: 72px; }
}
.ritual-room__audio-status {
  margin-top: 12px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
  font-size: 14px;
}
.ritual-room__vow-inline {
  margin-top: 18px;
}
.ritual-room__vow-inline .ritual-room__vow-inner {
  width: 100%;
}
.ritual-room__vow {
  margin-top: 16px;
  display: flex;
  justify-content: center;
}
.ritual-room__vow-inner {
  width: min(900px, 100%);
  text-align: center;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(238,106,27,.22);
  background: radial-gradient(circle at 50% 0%, rgba(238,106,27,.16), transparent 58%);
}
.ritual-room__signal-proof {
  margin-bottom: 12px;
  color: color-mix(in oklab, var(--ink) 88%, transparent);
  font: 800 clamp(15px, 1.1vw, 18px)/1.2 var(--font-sans);
  letter-spacing: .02em;
  text-wrap: balance;
}
.ritual-room__signal-proof strong {
  color: var(--r-orange);
  font: 900 clamp(22px, 1.8vw, 30px)/1 var(--font-display);
  letter-spacing: .03em;
  margin-right: .28em;
}
.ritual-room__stand-button.is-locked {
  opacity: .6;
}
.ritual-room__stand-button.is-unlocked {
  box-shadow: 0 0 34px rgba(238,106,27,.36);
}
.ritual-room__form,
.ritual-room__share,
.ritual-room__thanks {
  margin-top: 22px;
  border: 1px solid rgba(238,106,27,.34);
  border-radius: 20px;
  padding: clamp(18px, 2.6vw, 30px);
  background:
    radial-gradient(circle at 12% 0%, rgba(242,194,51,.11), transparent 36%),
    rgba(8,12,22,.82);
  box-shadow: 0 24px 70px rgba(0,0,0,.3);
}
.ritual-room__form p,
.ritual-room__share p,
.ritual-room__thanks p {
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.ritual-room__form-note {
  margin-top: 12px;
  color: color-mix(in oklab, var(--ink-dim) 78%, transparent);
}
.ritual-room__share-actions {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
body.ritual-room-open {
  overflow: hidden;
}
@media (max-width: 900px) {
  .ritual-room__split {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .78fr);
    gap: 14px;
  }
  .ritual-room__manifesto-frame-wrap {
    height: 42vh;
  }
}
@media (max-width: 760px) {
  .ritual-room__portal {
    min-height: 420px;
    border-radius: 26px;
  }
  .ritual-room__portal-ring {
    inset: 10% 9% 16%;
  }
  .ritual-room__door {
    width: 70%;
  }
  .ritual-room__word {
    font-size: 9px;
    letter-spacing: .18em;
  }
  .ritual-room__word.w1 { left: 7%; top: 17%; }
  .ritual-room__word.w2 { right: 7%; top: 17%; }
  .ritual-room__word.w3 { left: 8%; bottom: 21%; }
  .ritual-room__word.w4 { right: 9%; bottom: 21%; }
  .ritual-room__overlay {
    padding: 0;
  }
  .ritual-room__container {
    width: 100vw;
    max-height: 100vh;
    min-height: 100vh;
    border-radius: 0;
    padding: 14px;
  }
  .ritual-room__header {
    margin-top: -8px;
  }
  .ritual-room__header .display-2 {
    font-size: clamp(38px, 10vw, 56px);
  }
  .ritual-room__choice-row { gap: 8px; }
  .ritual-room__choice { min-height: 40px; padding: 0 12px; font-size: 10px; }
  .ritual-room__split {
    grid-template-columns: 1fr;
  }
  .ritual-room__share-actions {
    grid-template-columns: 1fr;
  }
  .ritual-room__manifesto-frame-wrap {
    height: 42vh;
  }
  .ritual-room__share-actions {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ritual-room__portal-core,
  .ritual-room__enter-cta,
  .ritual-room__audio.is-playing .ritual-room__wave span,
  .ritual-room__wave span {
    animation: none !important;
  }
}

/* Homepage responsive polish */
@media (max-width: 1100px) {
  .hero-signal .inner {
    width: min(100% - 32px, 980px);
  }
  .hero-sub.hero-sub-main {
    max-width: 920px;
    font-size: clamp(22px, 4vw, 34px);
    line-height: 1.16;
  }
  .future-reveal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .track-hero,
  .share-signal-grid,
  .festival-gamble .movement-split {
    grid-template-columns: 1fr;
  }
  .home-action-console {
    overflow: hidden;
  }
}

@media (max-width: 760px) {
  section,
  .section-dark {
    padding-top: 72px;
    padding-bottom: 72px;
  }
  .hero-signal {
    min-height: auto;
    padding-top: 120px;
    padding-bottom: 78px;
  }
  .hero-signal .inner {
    width: min(100% - 24px, 640px);
  }
  .hero-sub.hero-sub-main {
    font-size: clamp(24px, 8vw, 34px);
    line-height: 1.12;
    margin-top: 18px;
  }
  .hero-proof-box {
    padding: 20px;
    border-radius: 22px;
  }
  .btn-group,
  .btn-group.centered {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .btn,
  .sign-cta {
    width: 100%;
    justify-content: center;
    min-height: 58px;
    white-space: normal;
  }
  .future-reveal-grid,
  .manifesto-audio-duo,
  .home-vision-grid {
    grid-template-columns: 1fr;
  }
  .future-reveal-card .future-card-inner {
    min-height: auto;
    padding: 24px;
  }
  .festival-gamble-track .journey-track {
    grid-template-columns: repeat(11, minmax(220px, 78vw));
  }
  .festival-gamble-track .journey-game-controls {
    justify-content: center;
  }
  .share-preview {
    padding: 18px;
  }
  .share-preview img {
    max-height: 46vh;
    object-fit: contain;
  }
  .mobile-sign-cta {
    left: 16px;
    right: 16px;
    bottom: 14px;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .display-2 {
    font-size: clamp(36px, 11vw, 54px);
    line-height: 1;
  }
  .hero-proof-box {
    font-size: 16px;
  }
  .ritual-room__enter-cta {
    min-height: 64px;
    padding-inline: 20px;
  }
  .ritual-room__portal-core {
    width: 82%;
  }
}

/* === Targeted UX polish (annotations pass) === */
.festival-gamble-track .scene-num { display: none; }
.festival-gamble-track .journey-walker {
  top: var(--walker-top, calc(52% - 118px));
  z-index: 18;
}
.festival-gamble-track .journey-walker-bubble {
  left: 34px;
  top: -12px;
}
.festival-gamble-track .journey-card {
  z-index: 2;
}
.festival-gamble-track .journey-game-controls {
  left: 10px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.festival-gamble-track .journey-arrow {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(28,20,18,.94), rgba(7,10,18,.92));
  box-shadow: 0 0 24px rgba(238,106,27,.18);
}
.festival-gamble-track .journey-bottom-signal {
  width: calc(100% - 32px);
  left: 16px;
  right: 16px;
}
.festival-gamble-track .journey-bottom-signal span {
  width: 100%;
  text-align: center;
}

.ritual-room__header-guide {
  color: color-mix(in oklab, var(--ink-dim) 84%, white);
}
.ritual-room__header-guide,
.ritual-room__choice-row,
.ritual-room__choice-hint,
.ritual-room__readlisten {
  display: none !important;
}
.ritual-room__choice-row {
  align-items: center;
}
.ritual-room__choice {
  min-width: 170px;
}
.ritual-room__choice i {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  font-size: 16px;
}
.ritual-room__close {
  opacity: .75;
  min-width: 38px;
  min-height: 38px;
  padding: 0 10px;
  color: color-mix(in oklab, var(--ink-dim) 85%, white);
}
.ritual-room__close span:not(.icon-rendered) {
  opacity: .86;
  font-size: 9px;
}
.ritual-room__close:hover,
.ritual-room__close:focus-visible {
  opacity: .98;
}
.ritual-room__audio .ritual-room__wave span {
  animation-duration: 2.8s;
}

.future-reveal-grid {
  gap: 12px;
  align-items: stretch;
}
.future-reveal-card {
  overflow: hidden;
  position: relative;
  min-height: 0;
}
.future-reveal-card .future-card-inner {
  min-height: 380px;
  position: relative;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px 20px 88px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 186, 98, 0.14), transparent 20%),
    radial-gradient(circle at 82% 18%, rgba(109, 159, 255, 0.08), transparent 22%),
    linear-gradient(165deg, rgba(14, 31, 61, 0.96), rgba(10, 18, 36, 0.96));
  border: 1px solid rgba(255, 175, 84, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
.future-card-doorline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255, 212, 150, 0.84);
  font: 800 10px/1.2 var(--font-display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.future-card-doorline span:last-child {
  opacity: 0.78;
}
.future-card-reveal {
  margin-top: auto;
  display: grid;
  gap: 12px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease;
}
.future-card-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.future-card-flow span {
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 187, 99, 0.24);
  background: rgba(255, 157, 67, 0.08);
  color: rgba(255, 239, 214, 0.92);
  font: 700 10px/1.1 var(--font-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.future-reveal-card .future-card-more {
  opacity: 1;
  transform: none;
  color: rgba(244, 229, 209, 0.88);
  line-height: 1.45;
}
.future-reveal-card:hover .future-card-more,
.future-reveal-card:focus-within .future-card-more,
.future-reveal-card.is-active .future-card-more {
  opacity: 1;
  transform: none;
}
.future-reveal-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(242,194,51,.2), transparent 36%);
  opacity: 0;
  transition: opacity .25s ease;
}
.future-reveal-card:hover::before,
.future-reveal-card:focus-within::before,
.future-reveal-card.is-active::before {
  opacity: 1;
}
.future-reveal-card .future-card-inner::before,
.future-reveal-card .future-card-inner::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  background:
    linear-gradient(180deg, rgba(255, 170, 84, 0.12), rgba(10, 19, 38, 0.02) 16%, rgba(7, 14, 29, 0.96)),
    linear-gradient(160deg, rgba(16, 33, 66, 0.98), rgba(8, 16, 31, 0.98));
  border-top: 1px solid rgba(255, 187, 98, 0.18);
  border-bottom: 1px solid rgba(255, 187, 98, 0.12);
  transition: transform .38s cubic-bezier(.2,.8,.2,1), opacity .26s ease;
  z-index: 0;
}
.future-reveal-card .future-card-inner::before {
  left: 0;
  border-right: 1px solid rgba(255, 187, 98, 0.12);
}
.future-reveal-card .future-card-inner::after {
  right: 0;
  border-left: 1px solid rgba(255, 187, 98, 0.12);
}
.future-reveal-card .future-card-top,
.future-reveal-card .future-card-copy,
.future-reveal-card .future-card-reveal,
.future-reveal-card .future-card-doorline {
  position: relative;
  z-index: 1;
}
.future-reveal-card:hover .future-card-inner::before,
.future-reveal-card:focus-within .future-card-inner::before,
.future-reveal-card.is-active .future-card-inner::before {
  transform: translateX(-42%);
  opacity: 0.42;
}
.future-reveal-card:hover .future-card-inner::after,
.future-reveal-card:focus-within .future-card-inner::after,
.future-reveal-card.is-active .future-card-inner::after {
  transform: translateX(42%);
  opacity: 0.42;
}
.future-reveal-card:hover .future-card-reveal,
.future-reveal-card:focus-within .future-card-reveal,
.future-reveal-card.is-active .future-card-reveal {
  opacity: 1;
  transform: translateY(0);
}

.sonic-proof-cluster {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  gap: 12px;
  align-items: stretch;
}
.manifesto-audio-duo {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.manifesto-audio-duo .manifesto-audio-card {
  min-height: 0;
}
.track-length {
  margin: -2px 0 10px;
  color: rgba(255, 196, 118, 0.9);
  font: 700 11px/1.25 var(--font-display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.manifesto-audio-cover-wrap {
  display: grid;
  place-items: center;
  margin: 10px 0 14px;
}
.manifesto-audio-cover {
  width: clamp(112px, 18vw, 148px);
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 18px 40px rgba(0,0,0,0.28), 0 0 0 1px rgba(255, 178, 90, 0.24) inset;
}

/* dramatic responsive cleanup */
@media (max-width: 1120px) {
  .future-reveal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .signatories-hero .signatories-map {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .signatory-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .festival-gamble-track {
    min-height: 420px;
    height: 420px;
    padding-top: 58px;
  }
  .festival-gamble-track .journey-track {
    height: 280px;
    grid-template-columns: repeat(11, minmax(180px, 62vw));
  }
  .ritual-room__header .display-2 {
    font-size: clamp(36px, 7.8vw, 62px);
  }
  .ritual-room__choice {
    flex: 1 1 220px;
    justify-content: center;
  }
  .sonic-proof-cluster .track-hero {
    padding: 22px;
  }
  .sonic-proof-cluster .track-hero h2 {
    margin-bottom: 10px;
  }
}

@media (max-width: 720px) {
  .signatories-country-zone,
  .signatories-marquee {
    display: none;
  }
  .signatory-breakdown {
    grid-template-columns: 1fr;
  }
  .future-reveal-grid {
    grid-template-columns: 1fr;
  }
  .future-reveal-card .future-card-inner {
    min-height: 0;
  }
  .sonic-proof-cluster {
    gap: 8px;
  }
  .sonic-proof-cluster .track-hero,
  .manifesto-audio-duo .manifesto-audio-card {
    padding: 18px;
  }
  .manifesto-audio-duo .wave-bars {
    margin: 10px 0 12px;
  }
}

.ritual-room__overlay { opacity: 0; transition: opacity .36s ease; }
.ritual-room__overlay.is-open { opacity: 1; }
.ritual-room__overlay .ritual-room__container { transform: translateY(20px) scale(.985); opacity: .92; transition: transform .42s cubic-bezier(.22,.9,.21,1), opacity .34s ease; }
.ritual-room__overlay.is-open .ritual-room__container { transform: translateY(0) scale(1); opacity: 1; }
.ritual-room__overlay.is-closing .ritual-room__container { transform: translateY(18px) scale(.985); opacity: .82; }

.festival-gamble-track { touch-action: pan-y; cursor: grab; }
.festival-gamble-track.is-dragging { cursor: grabbing; }

@media (max-width: 980px) {
  .sonic-proof-cluster { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr); gap: 12px; }
  .sonic-proof-cluster .track-hero { grid-template-columns: 1fr; padding: 18px; }
  .sonic-proof-cluster .track-hero .waveform-cover { max-width: 220px; margin: 10px auto 0; }
  .sonic-proof-cluster .track-hero p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .sonic-proof-cluster .manifesto-audio-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .sonic-proof-cluster .manifesto-audio-card { min-height: 0; }
}
@media (max-width: 760px) {
  .sonic-proof-cluster {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .sonic-proof-cluster .track-hero {
    padding: 18px;
  }
  .sonic-proof-cluster .manifesto-audio-duo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .signatories-hero { padding: 16px; }
  .signatory-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .signatories-country-zone { padding: 12px; }
  .signatories-country-zone .country-pill:nth-child(n+9) { display: none; }
}

/* Ensure the stat cards remain fluid on the signatories page */
@media (min-width: 901px) {
  .page-signatories .signatory-breakdown {
    align-items: stretch;
  }
  .page-signatories .signatory-stat.cat-dj,
  .page-signatories .signatory-stat.cat-listener,
  .page-signatories .signatory-stat.cat-producer,
  .page-signatories .signatory-stat.cat-festival {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .mini-player {
    right: 12px;
    bottom: 12px;
    max-width: calc(100vw - 24px);
  }
  .mini-tab {
    left: 68px;
    top: -20px;
    font-size: 9px;
    letter-spacing: 0.22em;
  }
  .signatory-breakdown {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .signatory-breakdown { grid-template-columns: 1fr; }
  .signatories-country-zone .country-pill:nth-child(n+6) { display: none; }
  .signatories-topline .signatories-secondary { display: none; }
}


.ritual-room__choice-hint {
  margin: 10px 0 0;
  color: var(--ink-dim);
  font: 700 11px/1.2 var(--font-display);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ritual-room__header[data-step="read"] .ritual-room__choice[data-ritual-focus="read"],
.ritual-room__header[data-step="stand"] .ritual-room__choice[data-ritual-focus="read"],
.ritual-room__header[data-step="stand"] .ritual-room__choice[data-ritual-focus="listen"] {
  border-color: rgba(242,194,51,.62);
  box-shadow: 0 0 20px rgba(242,194,51,.22);
}
.ritual-room__choice:hover i { transform: translateY(2px); }
.ritual-room__choice i { transition: transform .22s ease; }


@media (max-width: 860px) {
  .movement-numbers-copy { display: none; }
  .signatory-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .signatory-stat { min-height: 120px; }
  .country-strip button:nth-child(n+9) { display: none; }
  .home-signatures-wall { display: none; }
  .vision-check-item p { display: none; }
  .portal-desc { display: none; }
  .festival-gamble-track .journey-card p { font-size: 11px; }
}
@media (max-width: 560px) {
  .signatory-breakdown { grid-template-columns: 1fr; }
  .country-strip button:nth-child(n+7) { display: none; }
  .ritual-room__manifesto-text .manifesto-verse:nth-child(n+7) { display: none; }
  .ritual-room__audio-status { font-size: 13px; }
}

/* Final signatories safeguard: keep the hero counters and cards stable. */
.page-signatories .signatory-breakdown {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: clamp(12px, 1.8vw, 18px);
  align-items: stretch;
}

.page-signatories .signatory-stat,
.page-signatories .signatory-stat.cat-dj,
.page-signatories .signatory-stat.cat-listener,
.page-signatories .signatory-stat.cat-producer,
.page-signatories .signatory-stat.cat-festival,
.page-signatories .signatory-stat.cat-dancer {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-height: clamp(170px, 18vw, 220px);
  transform: none !important;
}

@media (max-width: 900px) {
  .page-signatories .signatory-breakdown {
    gap: 12px;
  }
  .page-signatories .signatory-stat,
  .page-signatories .signatory-stat.cat-dj,
  .page-signatories .signatory-stat.cat-listener,
  .page-signatories .signatory-stat.cat-producer,
  .page-signatories .signatory-stat.cat-festival,
  .page-signatories .signatory-stat.cat-dancer {
    min-height: 154px;
  }
}

@media (max-width: 620px) {
  .page-signatories .signatory-breakdown {
    grid-template-columns: 1fr;
  }
  .page-signatories .signatory-stat,
  .page-signatories .signatory-stat.cat-dj,
  .page-signatories .signatory-stat.cat-listener,
  .page-signatories .signatory-stat.cat-producer,
  .page-signatories .signatory-stat.cat-festival,
  .page-signatories .signatory-stat.cat-dancer {
    min-height: 144px;
  }
}
/* === Codex UX/flow visual overrides === */
.codex-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(12px);
  background: rgba(8, 17, 36, 0.92);
  border: 1px solid rgba(255, 159, 67, 0.45);
  color: #f4f6fb;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 9999;
}
.codex-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.ritual-time-note {
  display: block;
  margin-top: 8px;
  font-size: clamp(14px, 2vw, 18px);
  color: rgba(255, 203, 120, 0.95);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ritual-room__readlisten {
  margin-top: 12px;
  padding: 10px 14px 4px;
  border: 1px solid rgba(255, 175, 84, 0.2);
  border-radius: 16px;
  background: linear-gradient(120deg, rgba(255, 137, 48, 0.12), rgba(8, 20, 45, 0.18));
}
.ritual-room__readlisten-tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.ritual-room__tab {
  color: #ffbe66;
  font-size: clamp(16px, 2.4vw, 26px);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0;
  text-shadow: 0 0 18px rgba(255, 159, 67, 0.35);
}
.ritual-room__tab.is-static {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ritual-room__tab-arrows {
  color: #ffb45a;
  font-size: clamp(20px, 2.4vw, 30px);
}
.ritual-room__tab-down {
  margin-top: 8px;
  text-align: center;
  color: rgba(255, 191, 102, 0.8);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font: 700 11px/1.2 var(--font-display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ritual-room__leave,
.ritual-room__close,
[data-close-ritual] {
  opacity: 0.68 !important;
  filter: saturate(0.72);
}
.ritual-room__leave:hover,
.ritual-room__close:hover,
[data-close-ritual]:hover {
  opacity: 0.92 !important;
}

.ritual-room__audio .wave,
.ritual-room__audio .wave-bars,
.ritual-room__audio [class*="wave"] {
  animation: codexWaveFloat 1.8s ease-in-out infinite;
}
@keyframes codexWaveFloat {
  0%,
  100% { transform: translateY(0); opacity: 0.72; }
  50% { transform: translateY(-4px); opacity: 1; }
}

.ritual-room--opening {
  animation: ritualOpen 460ms cubic-bezier(.2,.88,.3,1);
}
.ritual-room--closing {
  animation: ritualClose 360ms cubic-bezier(.4,0,.6,1);
}
@keyframes ritualOpen {
  from { opacity: 0; transform: scale(0.985); filter: blur(6px); }
  to { opacity: 1; transform: scale(1); filter: blur(0); }
}
@keyframes ritualClose {
  from { opacity: 1; transform: scale(1); filter: blur(0); }
  to { opacity: 0; transform: scale(0.992); filter: blur(5px); }
}

.hl-warm { color: #ffb85f; font-weight: 700; }
.hl-hot { color: #ff724d; font-weight: 800; }

.journey-path-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}
.journey-path-curve {
  fill: none;
  stroke: rgba(255, 174, 93, 0.34);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 8 10;
}
.journey-walker {
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 42px;
  pointer-events: none;
  z-index: 6;
}
.journey-walker__head {
  position: absolute;
  top: 0;
  left: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffd27a;
  box-shadow: 0 0 10px rgba(255, 188, 87, 0.5);
}
.journey-walker__body {
  position: absolute;
  top: 8px;
  left: 10px;
  width: 2px;
  height: 22px;
  background: linear-gradient(#ffd27a, #ff8d3a);
}
.journey-walker::before,
.journey-walker::after {
  content: "";
  position: absolute;
  top: 16px;
  width: 9px;
  height: 2px;
  background: rgba(255, 190, 96, 0.95);
  transform-origin: left center;
}
.journey-walker::before { left: 2px; transform: rotate(25deg); }
.journey-walker::after { left: 10px; transform: rotate(-25deg); }

.hero-v2-brand {
  text-align: center;
  font-size: clamp(36px, 7vw, 110px);
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 0.95;
  margin: 8px 0 18px;
  color: #f4f7ff;
  text-shadow: 0 0 22px rgba(255, 169, 74, 0.25);
}

#future-vision [class*="card"] {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
#future-vision [class*="card"]:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 176, 91, 0.28) inset;
}
#future-vision [class*="card"]::after {
  content: attr(data-door-label);
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  color: rgba(255, 208, 147, 0.88);
  font: 700 11px/1.2 var(--font-display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 220ms ease, transform 220ms ease;
}
.codex-future-card { position: relative; overflow: hidden; }
.codex-future-card::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(255,169,74,0.12), rgba(255,169,74,0) 24%, rgba(255,169,74,0) 76%, rgba(255,169,74,0.12)),
    linear-gradient(180deg, rgba(7,16,34,0.0), rgba(7,16,34,0.18));
  opacity: 0;
  transform: scaleX(0.94);
  transition: opacity 220ms ease, transform 220ms ease;
  pointer-events: none;
}
.codex-future-card:hover::before,
.codex-future-card:hover::after {
  opacity: 1;
  transform: translateY(0) scaleX(1);
}
.codex-future-icon {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #ffd086;
  border: 1px solid rgba(255, 190, 100, 0.4);
  background: rgba(18, 28, 56, 0.42);
  box-shadow: 0 0 16px rgba(255, 170, 76, 0.16);
  font-size: 17px;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.seal-teaser-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.seal-teaser-card {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 10px;
  padding: 20px 18px 18px;
  border-radius: 28px;
  border: 1px solid rgba(255, 174, 93, 0.22);
  background:
    radial-gradient(circle at 50% 10%, rgba(255, 194, 90, 0.14), transparent 34%),
    linear-gradient(160deg, rgba(8, 15, 32, 0.96), rgba(18, 17, 28, 0.92));
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.seal-teaser-card:hover,
.seal-teaser-card:focus-visible {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 181, 88, 0.18) inset;
  border-color: rgba(255, 184, 95, 0.4);
}

.seal-teaser-card img {
  width: min(100%, 142px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.28));
}

.seal-teaser-card strong {
  color: #fff1d7;
  font-size: clamp(18px, 1.9vw, 24px);
  line-height: 1;
}

.seal-teaser-card span {
  color: rgba(233, 227, 214, 0.8);
  font-size: 14px;
  line-height: 1.5;
}

.seal-teaser-copy {
  margin: 14px 0 0;
  text-align: center;
  color: rgba(255, 214, 164, 0.92);
  font: 800 11px/1.4 var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.seal-teaser-dj { box-shadow: inset 0 0 0 1px rgba(238, 106, 27, 0.08); }
.seal-teaser-track { box-shadow: inset 0 0 0 1px rgba(242, 194, 51, 0.08); }
.seal-teaser-festival { box-shadow: inset 0 0 0 1px rgba(67, 180, 121, 0.08); }

/* === Ritual + Festival Journey upgrade === */
.festival-gamble .movement-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr);
  gap: clamp(22px, 3vw, 40px);
  align-items: start;
}

.festival-gamble-track {
  position: relative;
  min-height: 620px;
  height: 620px;
  overflow: hidden;
  padding: 84px 20px 104px;
  border: 1px solid rgba(255, 159, 67, 0.2);
  border-radius: 38px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 181, 83, 0.18), transparent 22%),
    radial-gradient(circle at 18% 28%, rgba(76, 184, 199, 0.08), transparent 28%),
    radial-gradient(circle at 84% 22%, rgba(238, 106, 27, 0.12), transparent 26%),
    linear-gradient(160deg, rgba(5, 12, 28, 0.98), rgba(11, 18, 36, 0.92) 48%, rgba(18, 12, 18, 0.88));
  cursor: grab;
}

.festival-gamble-track.is-dragging {
  cursor: grabbing;
}

.festival-gamble-track .journey-orbit {
  position: absolute;
  inset: 8% 12%;
  border-radius: 999px;
  border: 1px solid rgba(255, 180, 89, 0.14);
  box-shadow: inset 0 0 120px rgba(255, 176, 91, 0.05);
  animation: festivalOrbitSlow 18s linear infinite;
}

@keyframes festivalOrbitSlow {
  from { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.02); }
  to { transform: rotate(360deg) scale(1); }
}

.festival-gamble-track .journey-stage-copy {
  position: absolute;
  left: 20px;
  right: 20px;
  top: 18px;
  z-index: 16;
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 22px;
  border: 1px solid rgba(255, 184, 95, 0.18);
  background: linear-gradient(135deg, rgba(255, 151, 66, 0.09), rgba(6, 15, 33, 0.62));
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
}

.festival-gamble-track .journey-stage-copy strong {
  color: #fff3de;
  font-size: clamp(20px, 2.1vw, 32px);
  line-height: 0.96;
  letter-spacing: -0.03em;
}

.festival-gamble-track .journey-stage-copy span {
  max-width: 60ch;
  color: rgba(241, 228, 209, 0.86);
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.45;
}

.festival-gamble-track .journey-track {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 4;
}

.festival-gamble-track .journey-card {
  position: absolute;
  left: var(--journey-x, 50%);
  top: var(--journey-y, 50%);
  width: clamp(170px, 18vw, 230px);
  min-height: 154px;
  padding: 22px 18px 20px;
  transform: translate(-50%, -50%) scale(.8);
  opacity: .2;
  transition:
    left .55s cubic-bezier(.2,.8,.2,1),
    top .55s cubic-bezier(.2,.8,.2,1),
    transform .45s cubic-bezier(.2,.8,.2,1),
    opacity .32s ease,
    box-shadow .32s ease,
    border-color .32s ease,
    filter .32s ease;
  z-index: 3;
  backdrop-filter: blur(8px);
}

.festival-gamble-track .journey-card.is-near {
  opacity: .58;
  transform: translate(-50%, -50%) scale(.9);
}

.festival-gamble-track .journey-card.is-mid {
  opacity: .34;
  transform: translate(-50%, -50%) scale(.84);
}

.festival-gamble-track .journey-card.is-far {
  filter: saturate(.74) blur(.2px);
}

.festival-gamble-track .journey-card.is-active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
  z-index: 9;
}

.festival-gamble-track .journey-card.is-hidden-small,
.festival-gamble-track .journey-card.is-hidden-medium {
  pointer-events: none;
}

.festival-gamble-track .journey-card.is-hidden-small {
  opacity: 0;
  transform: translate(-50%, -50%) scale(.74);
}

.festival-gamble-track .journey-card.is-hidden-medium {
  opacity: .12;
}

.festival-gamble-track .journey-dot {
  top: auto;
  bottom: -22px;
  left: 18px;
  transform: none;
}

.festival-gamble-track .journey-card h3 {
  margin-bottom: 10px;
}

.festival-gamble-track .journey-card p {
  font-size: 12px;
  letter-spacing: .14em;
  line-height: 1.3;
}

.festival-gamble-track .journey-walker {
  width: 32px;
  height: 56px;
  z-index: 14;
  transition: left .64s cubic-bezier(.22,.82,.22,1), top .64s cubic-bezier(.22,.82,.22,1);
}

.festival-gamble-track .journey-walker-figure {
  width: 32px;
  height: 56px;
  animation: journeyWalkerStride .9s ease-in-out infinite;
}

.festival-gamble-track .journey-walker.is-lost .journey-walker-figure {
  animation-duration: 1.25s;
}

@keyframes journeyWalkerStride {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

.festival-gamble-track .journey-walker-bubble {
  opacity: .9;
  transform: translateY(0) scale(1);
  border-color: rgba(255, 168, 76, 0.45);
  color: rgba(255, 214, 164, 0.92);
  background: rgba(20, 11, 13, 0.9);
}

.festival-gamble-track .journey-walker.is-lost .journey-walker-bubble {
  color: #ffb8a4;
}

.festival-gamble-track .journey-game-controls {
  top: auto;
  left: 16px;
  right: 16px;
  bottom: 110px;
  transform: none;
  z-index: 18;
}

.festival-gamble-track .journey-arrow {
  background: linear-gradient(145deg, rgba(24, 16, 16, 0.96), rgba(9, 14, 24, 0.94));
}

.festival-gamble-track .journey-bottom-signal {
  bottom: 20px;
  left: 16px;
  right: 16px;
  width: auto;
  z-index: 17;
}

.festival-gamble-track .journey-bottom-signal span {
  color: rgba(255, 240, 220, 0.88);
  font-size: clamp(11px, 1.15vw, 14px);
  letter-spacing: .22em;
}

.ritual-room__readlisten {
  padding: 14px 18px 12px;
}

.ritual-room__primer {
  margin-bottom: 10px;
  text-align: center;
  color: rgba(255, 214, 164, 0.92);
  font: 800 11px/1.2 var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ritual-room__tab {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 173, 88, 0.14);
  background: rgba(10, 17, 34, 0.42);
}

.ritual-room__tab[aria-selected="true"] {
  background: linear-gradient(135deg, rgba(255, 145, 48, 0.16), rgba(7, 17, 34, 0.24));
}

.ritual-room__tab-down {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.ritual-room__tab-down span {
  flex: 1 1 0;
  text-align: center;
  font: 800 11px/1.2 var(--font-display);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ritual-room__close {
  opacity: .54;
}

.ritual-room__close:hover,
.ritual-room__close:focus-visible {
  opacity: .84;
}

.ritual-room__audio .ritual-room__wave span {
  animation-duration: 2.2s;
  opacity: .76;
}

@media (max-width: 1120px) {
  .festival-gamble .movement-split {
    grid-template-columns: 1fr;
  }

  .festival-gamble-track {
    min-height: 560px;
    height: 560px;
  }

  .seal-teaser-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 900px) {
  .festival-gamble-track {
    min-height: 500px;
    height: 500px;
    padding-top: 98px;
  }

  .festival-gamble-track .journey-stage-copy span {
    max-width: none;
    font-size: 15px;
  }

  .festival-gamble-track .journey-card {
    width: clamp(156px, 28vw, 210px);
    min-height: 142px;
    padding: 18px 16px;
  }

  .festival-gamble-track .journey-game-controls {
    bottom: 96px;
  }
}

@media (max-width: 760px) {
  .seal-teaser-strip {
    grid-template-columns: 1fr;
  }

  .seal-teaser-card {
    grid-template-columns: 92px 1fr;
    justify-items: start;
    text-align: left;
    align-items: center;
  }

  .seal-teaser-card img {
    width: 82px;
  }

  .seal-teaser-card strong,
  .seal-teaser-card span {
    grid-column: 2;
  }

  .festival-gamble-track {
    min-height: 430px;
    height: 430px;
    padding: 92px 14px 92px;
    border-radius: 30px;
  }

  .festival-gamble-track .journey-stage-copy {
    left: 14px;
    right: 14px;
    top: 12px;
    padding: 12px 14px;
  }

  .festival-gamble-track .journey-stage-copy strong {
    font-size: 18px;
  }

  .festival-gamble-track .journey-stage-copy span {
    font-size: 13px;
    line-height: 1.38;
  }

  .festival-gamble-track .journey-card {
    width: min(182px, 44vw);
    min-height: 124px;
    padding: 14px 14px 16px;
  }

  .festival-gamble-track .journey-card h3 {
    font-size: 18px;
  }

  .festival-gamble-track .journey-card p {
    font-size: 10px;
    letter-spacing: .12em;
  }

  .festival-gamble-track .journey-game-controls {
    bottom: 84px;
  }

  .festival-gamble-track .journey-arrow {
    width: 42px;
    height: 42px;
  }

  .festival-gamble-track .journey-bottom-signal {
    bottom: 14px;
  }

  .ritual-room__readlisten-tabs {
    gap: 10px;
  }

  .ritual-room__tab-arrows {
    display: none;
  }

  .ritual-room__tab-down {
    display: none;
  }
}

@media (max-width: 560px) {
  .seal-teaser-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .seal-teaser-card strong,
  .seal-teaser-card span {
    grid-column: auto;
  }

  .festival-gamble-track .journey-orbit,
  .festival-gamble-track .journey-card.is-hidden-medium {
    display: none;
  }

  .festival-gamble-track .journey-card {
    width: min(164px, 43vw);
  }

  .festival-gamble-track .journey-bottom-signal span {
    letter-spacing: .14em;
    font-size: 10px;
  }
}
.codex-future-card:hover .codex-future-icon {
  transform: translateY(-3px) scale(1.08) rotate(-4deg);
  box-shadow: 0 0 22px rgba(255, 171, 79, 0.34);
}

#share-manifesto {
  transition: opacity 220ms ease, transform 220ms ease;
}
#share-manifesto.is-locked {
  display: none !important;
}

#deeper-paths [class*="card"] {
  min-height: 220px;
  padding: 20px;
}
#deeper-paths [class*="card"]:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(6, 12, 30, 0.42);
}

#what-is-intentional-deeper [class*="card"] {
  transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
#what-is-intentional-deeper [class*="card"]:hover {
  transform: translateY(-5px);
  background: linear-gradient(160deg, rgba(24, 47, 84, 0.84), rgba(12, 24, 48, 0.88));
  box-shadow: 0 12px 30px rgba(4, 8, 22, 0.4);
}

#share-manifesto [data-share-identity],
#share-manifesto .share-identity,
#share-manifesto .share-lock-pill {
  display: none !important;
}
.codex-share-actions {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.codex-share-actions .btn {
  width: 100%;
}

.manifesto-progress-tile {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 175, 84, 0.28);
  background: linear-gradient(110deg, rgba(255, 138, 45, 0.14), rgba(10, 22, 45, 0.22));
}
.manifesto-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: rgba(236, 241, 249, 0.94);
}
.manifesto-progress-head strong { color: #fff7e9; }
.manifesto-progress-rail {
  margin-top: 8px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.manifesto-progress-rail > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff9f43, #ffce5d);
}

#radio-prototype .lb-radio-console {
  position: relative;
  border-radius: 22px;
  background:
    radial-gradient(130px 130px at 10% 18%, rgba(255, 170, 84, 0.08), transparent 60%),
    radial-gradient(160px 160px at 88% 78%, rgba(83, 159, 255, 0.08), transparent 64%),
    linear-gradient(165deg, rgba(28, 36, 56, 0.9), rgba(10, 18, 35, 0.95));
  box-shadow: inset 0 0 0 1px rgba(255, 188, 104, 0.12), 0 28px 50px rgba(0,0,0,0.45);
}
#radio-prototype .lb-radio-console::before,
#radio-prototype .lb-radio-console::after {
  content: "";
  position: absolute;
  top: 12px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 40% 40%, rgba(255,255,255,.42), rgba(255,255,255,.08) 28%, rgba(0,0,0,.34) 65%),
    linear-gradient(145deg, #8b8f99, #464d62);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), 0 0 16px rgba(0,0,0,.4);
}
#radio-prototype .lb-radio-console::before { left: 12px; }
#radio-prototype .lb-radio-console::after { right: 12px; }

#radio-prototype .lb-channel-btn.is-live,
#radio-prototype .lb-channel-btn[aria-pressed="true"] {
  background: linear-gradient(135deg, #ff8f3d, #e44f2e) !important;
  color: #fff !important;
  border-color: rgba(255, 200, 132, 0.7) !important;
  box-shadow: 0 6px 18px rgba(255, 102, 35, 0.32);
}

body.codex-tight-sections section,
body.codex-tight-sections .section-dark {
  padding-top: 56px;
  padding-bottom: 56px;
}

@media (max-width: 1130px) {
  #future-vision [class*="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  #deeper-paths [class*="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #sonic-proof [class*="grid"] {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .ritual-room__header h1,
  .ritual-room__header .display-1,
  .ritual-room__header .display-2 {
    font-size: clamp(34px, 7vw, 54px);
  }
  body.codex-tight-sections section,
  body.codex-tight-sections .section-dark {
    padding-top: 44px;
    padding-bottom: 44px;
  }
  #deeper-paths [class*="card"] {
    min-height: 172px;
    padding: 16px;
  }
  #future-vision [class*="card"] {
    min-height: 206px;
  }
  #sonic-proof [class*="grid"] {
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: 8px;
  }
  #sonic-proof [class*="card"] {
    padding: 14px;
    min-height: 240px;
  }
  #sonic-proof [class*="card"] p {
    font-size: 14px;
    line-height: 1.4;
  }
  .manifesto-audio-cover {
    width: 108px;
  }
}

@media (max-width: 680px) {
  #future-vision [class*="grid"],
  #deeper-paths [class*="grid"],
  #what-is-intentional-deeper [class*="grid"] {
    grid-template-columns: 1fr;
  }
  #sonic-proof [class*="grid"] {
    gap: 8px;
  }
  .codex-share-actions {
    grid-template-columns: 1fr;
  }
  #sonic-proof [class*="card"] {
    min-height: 218px;
  }
  .manifesto-audio-cover-wrap {
    margin: 8px 0 10px;
  }
  #sonic-proof [class*="card"] p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #deeper-paths [class*="card"] p,
  #future-vision [class*="card"] p,
  #what-is-intentional-deeper [class*="card"] p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #why-this-exists .lede {
    font-size: 1rem;
    line-height: 1.45;
  }
  #sonic-proof [class*="badge"] {
    font-size: 10px;
  }
  .future-reveal-card .future-card-inner {
    min-height: 0;
    padding: 18px 16px 72px;
  }
  .future-card-flow span:nth-child(n+5) {
    display: none;
  }
}

@media (max-width: 760px) {
  .sonic-proof-cluster {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .sonic-proof-cluster .track-hero,
  .manifesto-audio-duo .manifesto-audio-card {
    min-height: 100%;
  }
  .sonic-proof-cluster .track-hero p,
  .manifesto-audio-duo .manifesto-audio-card p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

@media (max-width: 620px) {
  .sonic-proof-cluster .manifesto-audio-duo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .manifesto-audio-card .btn-group .btn {
    width: 100%;
  }
  .manifesto-audio-duo .manifesto-audio-card {
    padding: 14px;
  }
  .manifesto-audio-duo .manifesto-audio-card h4 {
    font-size: 28px;
    line-height: 0.98;
  }
  .manifesto-audio-duo .manifesto-audio-card p {
    font-size: 14px;
    line-height: 1.42;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .track-length {
    font-size: 10px;
    letter-spacing: 0.15em;
  }
}

/* remove legacy pre-launch playlist block on Lifeblood page */
#intentional-tracks {
  display: none !important;
}

/* legacy homepage block removed per new flow */
#listen {
  display: none !important;
}


/* Homepage cleanup + progress monument */
body.codex-tight-sections section,
body.codex-tight-sections .section-dark {
  padding-top: clamp(42px, 6vw, 64px);
  padding-bottom: clamp(42px, 6vw, 64px);
}

.ritual-room__header .display-2 {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding-right: .18em;
  background: linear-gradient(90deg, rgba(11, 10, 15, .98), rgba(11, 10, 15, .9) 72%, rgba(11, 10, 15, 0) 100%);
  box-shadow: 0 0 0 14px rgba(11, 10, 15, .88);
}

.movement-progress-home__lede {
  max-width: 760px;
  margin-inline: auto;
}
.movement-progress-home__stage {
  position: relative;
  margin-top: 28px;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 38px;
  border: 1px solid rgba(255, 174, 93, 0.18);
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 194, 88, .14), transparent 18%),
    radial-gradient(circle at 16% 18%, rgba(79, 184, 199, .09), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(238, 106, 27, .12), transparent 24%),
    linear-gradient(160deg, rgba(7, 18, 39, .98), rgba(11, 24, 47, .94) 50%, rgba(8, 10, 20, .96));
  overflow: hidden;
}
.movement-progress-home__halo {
  position: absolute;
  inset: 8% 22% auto;
  height: min(46vw, 420px);
  aspect-ratio: 1;
  margin: auto;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 210, 108, .24), rgba(255, 210, 108, .06) 34%, transparent 66%);
  filter: blur(10px);
  pointer-events: none;
}
.movement-progress-home__core {
  position: relative;
  text-align: center;
  padding: clamp(36px, 8vw, 86px) 18px 20px;
}
.movement-progress-home__count {
  font-family: var(--font-display);
  font-size: clamp(88px, 16vw, 210px);
  line-height: .88;
  font-weight: 800;
  letter-spacing: -.06em;
  color: transparent;
  background: linear-gradient(180deg, #ffe6a8 0%, #f7c45b 42%, #ef7c34 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 0 30px rgba(255, 178, 72, .18);
}
.movement-progress-home__label {
  margin-top: 8px;
  color: var(--ink);
  font: 800 18px/1.2 var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.movement-progress-home__mission {
  max-width: 620px;
  margin: 14px auto 0;
  color: var(--ink-dim);
  font-size: 18px;
  line-height: 1.55;
}
.movement-progress-home__railbox {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 10px auto 0;
  padding: 26px 26px 22px;
  border-radius: 30px;
  background: rgba(9, 20, 44, .82);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.movement-progress-home__head,
.movement-progress-home__meta {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}
.movement-progress-home__head {
  color: var(--ink);
  font: 800 18px/1.1 var(--font-display);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.movement-progress-home__head strong {
  font-size: clamp(28px, 4vw, 46px);
  line-height: .92;
  background: linear-gradient(180deg, #ffe8ad 0%, #ffc95a 42%, #ef7c34 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 18px rgba(255, 170, 73, .2);
}
.movement-progress-home__meta {
  margin-top: 14px;
  color: var(--ink-dim);
  font-size: 15px;
}
.movement-progress-home__meta span:first-child {
  color: var(--r-yellow);
  font: 800 38px/1 var(--font-display);
}
.movement-progress-home__rail {
  margin-top: 16px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.movement-progress-home__fill {
  display: block;
  height: 100%;
  width: 0%;
  min-width: 18px;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffb34d 0%, #ef7c34 52%, #5dd0e0 100%);
  box-shadow: 0 0 22px rgba(255, 166, 67, .24);
}
.movement-progress-home__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.home-vision-block .vision-check-item p {
  color: color-mix(in oklab, var(--ink-dim) 88%, white);
}

@media (max-width: 900px) {
  .home-journey-nav {
    top: 68px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-inline: 14px;
    scrollbar-width: none;
  }
  .home-journey-nav::-webkit-scrollbar { display: none; }
  .movement-progress-home__head,
  .movement-progress-home__meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 760px) {
  .home-journey-nav { display: flex; }
  .movement-progress-home__stage { padding: 22px 16px; border-radius: 28px; }
  .movement-progress-home__count { font-size: clamp(68px, 24vw, 120px); }
  .movement-progress-home__label { font-size: 13px; letter-spacing: .16em; }
  .movement-progress-home__mission { font-size: 16px; }
  .movement-progress-home__railbox { padding: 18px; border-radius: 22px; }
  .movement-progress-home__meta span:first-child { font-size: 30px; }
}


/* incremental homepage polish */
.ritual-room__header .display-2::before{content:none !important;}
.future-vision .display-2{max-width:14ch;}
.future-door-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;}
.future-door{position:relative;border:1px solid rgba(255,186,98,.18);border-radius:30px;background:linear-gradient(160deg,rgba(9,20,44,.96),rgba(12,27,56,.88));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.future-door summary{list-style:none;cursor:pointer;padding:22px 22px 24px;display:grid;gap:10px;min-height:220px;align-content:end;position:relative;}
.future-door summary::-webkit-details-marker{display:none;}
.future-door::before,.future-door::after{content:"";position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,rgba(255,188,102,.10),rgba(255,188,102,.02));border-color:rgba(255,186,98,.12);transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .24s ease;z-index:0;}
.future-door::before{left:0;border-right:1px solid rgba(255,186,98,.12);}
.future-door::after{right:0;border-left:1px solid rgba(255,186,98,.12);}
.future-door:hover::before,.future-door[open]::before{transform:translateX(-34%);opacity:.5;}
.future-door:hover::after,.future-door[open]::after{transform:translateX(34%);opacity:.5;}
.future-door > *{position:relative;z-index:1;}
.future-door-index{font:800 12px/1 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--r-yellow);}
.future-door-title{font:800 clamp(28px,3.6vw,48px)/.94 var(--font-display);color:var(--ink);max-width:10ch;}
.future-door-tease{font-size:17px;line-height:1.45;color:var(--ink-dim);max-width:28ch;}
.future-door-panel{display:grid;gap:14px;padding:0 22px 22px;max-height:0;opacity:0;overflow:hidden;transition:max-height .34s ease,opacity .26s ease,padding-top .26s ease;}
.future-door:hover .future-door-panel,.future-door[open] .future-door-panel{max-height:240px;opacity:1;padding-top:6px;}
.future-door-flow{display:flex;flex-wrap:wrap;gap:8px;}
.future-door-flow span{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font:700 10px/1.1 var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);}
.future-door-panel p{margin:0;color:var(--ink-dim);font-size:16px;line-height:1.58;}
.future-door-grid .future-door:last-child{grid-column:1/-1;}
.portal-grid{gap:14px;}
.portal{min-height:250px;justify-content:space-between;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;}
.portal:hover,.portal:focus-visible{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.26),0 0 0 1px rgba(255,176,91,.20) inset;}
.portal-symbol{transition:transform .24s ease,opacity .24s ease;}
.portal:hover .portal-symbol,.portal:focus-visible .portal-symbol{transform:translateY(-3px) scale(1.06);}
.seal-teaser-card::after{content:"Earn it →";position:absolute;bottom:14px;left:50%;transform:translateX(-50%) translateY(8px);font:800 10px/1 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,216,149,.0);transition:transform .24s ease,color .24s ease;}
.seal-teaser-card:hover::after,.seal-teaser-card:focus-visible::after{transform:translateX(-50%) translateY(0);color:rgba(255,216,149,.9);}
@media (max-width: 980px){.future-door-grid{grid-template-columns:1fr 1fr;}.portal{min-height:220px;}.seal-teaser-strip{gap:12px;}}
@media (max-width: 760px){.home-journey-nav{gap:8px;padding-inline:10px;}.home-journey-nav a{padding:11px 14px;font-size:10px;}.dj-journey-nav{justify-content:flex-start;flex-wrap:nowrap;padding-inline:12px;}.dj-journey-label{display:none;}.future-door-grid{grid-template-columns:1fr;gap:12px;}.future-door summary{min-height:170px;padding:18px 18px 20px;}.future-door-title{font-size:clamp(24px,8vw,38px);}.portal-grid{grid-template-columns:1fr 1fr;gap:10px;}.portal{min-height:180px;padding:18px;}.portal-question{font-size:clamp(24px,5vw,36px);}.seal-teaser-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.seal-teaser-card{padding:12px 10px 18px;border-radius:22px;gap:6px;}.seal-teaser-card img{width:min(100%,80px);}.seal-teaser-card span{display:none;}.seal-teaser-card strong{font-size:16px;}.movement-progress-home__head strong{font-size:clamp(22px,7vw,34px);}.movement-progress-home__head span:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.manifesto-audio-duo .manifesto-audio-card{display:grid;grid-template-rows:auto auto auto auto auto 1fr auto;}}
@media (max-width: 620px){.portal-grid{grid-template-columns:1fr 1fr;}.portal-desc{display:none;}.portal{min-height:150px;}.portal-question{font-size:clamp(22px,6vw,30px);}.portal-action{font-size:10px;letter-spacing:.16em;}.seal-teaser-copy{font-size:11px;letter-spacing:.18em;}.manifesto-audio-cover{width:92px;}.manifesto-audio-card h4{font-size:22px !important;line-height:1.04;}.dj-journey-nav a{padding:11px 14px;font-size:10px;}}


.home-journey-nav{display:none !important;}

.home-vision-block .vision-check-item p{display:none !important;}

.portal-action{font-size:12px;letter-spacing:.2em;font-weight:800;}
@media (max-width:620px){.portal-action{font-size:11px;letter-spacing:.18em;}}

.seal-teaser-card{position:relative;isolation:isolate;}
.seal-teaser-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 45%, rgba(9,16,30,.08), rgba(6,12,24,.72) 52%, rgba(4,8,18,.92) 100%);opacity:0;transition:opacity .28s ease;z-index:0;}
.seal-teaser-card > *{position:relative;z-index:1;}
.seal-teaser-card::after{content:"EARN IT";position:absolute;left:50%;top:50%;transform:translate(-50%,-42%) scale(.86) rotate(-10deg);font:900 clamp(24px,3vw,40px)/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,140,44,0);text-shadow:0 0 24px rgba(255,140,44,0);transition:transform .28s ease,color .28s ease,text-shadow .28s ease;z-index:1;pointer-events:none;}
.seal-teaser-card:hover,.seal-teaser-card:focus-visible{border-color:rgba(255,151,53,.7);box-shadow:0 22px 54px rgba(0,0,0,.36),0 0 0 1px rgba(255,151,53,.24) inset,0 0 30px rgba(255,126,36,.22);}
.seal-teaser-card:hover::before,.seal-teaser-card:focus-visible::before{opacity:1;}
.seal-teaser-card:hover::after,.seal-teaser-card:focus-visible::after{transform:translate(-50%,-42%) scale(1) rotate(-8deg);color:rgba(255,145,40,.28);text-shadow:0 0 24px rgba(255,140,44,.22);}
.seal-teaser-card:hover strong,.seal-teaser-card:hover span,.seal-teaser-card:focus-visible strong,.seal-teaser-card:focus-visible span{color:#fff3df;}

#sonic-proof .manifesto-audio-duo{align-items:stretch;}
#sonic-proof .manifesto-audio-card{display:grid;grid-template-rows:auto auto auto auto auto 1fr auto;align-content:start;}
#sonic-proof .manifesto-audio-card .btn-group{margin-top:auto;}
#sonic-proof .manifesto-audio-card p{margin-bottom:0;}
#sonic-proof .track-hero{align-items:start;}
@media (max-width:760px){#sonic-proof .manifesto-audio-card{padding:16px;} #sonic-proof .manifesto-audio-card h4{min-height:2.2em;} #sonic-proof .track-length{min-height:2.6em;display:block;} }
@media (max-width:620px){#sonic-proof .manifesto-audio-card p{display:none;} #sonic-proof .track-hero p{display:none;} #sonic-proof .track-hero h2{margin-bottom:6px;} #sonic-proof .track-hero .track-length{min-height:auto;} #sonic-proof .manifesto-audio-duo{gap:8px;} #sonic-proof .manifesto-audio-card .btn{width:100%;}}

#radio-preview .display-2{max-width:14ch;}

.future-quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.future-quest-card{position:relative;border:1px solid rgba(255,167,72,.18);border-radius:30px;background:linear-gradient(160deg,rgba(8,18,39,.98),rgba(17,36,66,.9));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.future-quest-card summary{list-style:none;cursor:pointer;min-height:240px;padding:26px 24px;display:grid;align-content:space-between;gap:16px;position:relative;}
.future-quest-card summary::-webkit-details-marker{display:none;}
.future-quest-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%, rgba(255,172,72,.12), transparent 34%), linear-gradient(90deg, rgba(255,170,76,.08), transparent 28%, transparent 72%, rgba(255,170,76,.08));opacity:.58;transition:opacity .28s ease, transform .28s ease;}
.future-quest-card:hover::before,.future-quest-card[open]::before{opacity:1;transform:scale(1.02);}
.future-quest-number{font:800 clamp(30px,5vw,54px)/1 var(--font-display);letter-spacing:-.04em;color:transparent;background:linear-gradient(180deg,#ffe7ad 0%,#ffc95a 44%,#ef7c34 100%);-webkit-background-clip:text;background-clip:text;}
.future-quest-mark{position:absolute;right:22px;top:18px;font:900 clamp(50px,9vw,92px)/1 var(--font-display);color:rgba(255,165,68,.22);text-shadow:0 0 26px rgba(255,140,44,.18);transition:transform .26s ease,color .26s ease,text-shadow .26s ease;}
.future-quest-card:hover .future-quest-mark,.future-quest-card[open] .future-quest-mark{transform:scale(1.08) rotate(-4deg);color:rgba(255,169,74,.42);text-shadow:0 0 30px rgba(255,140,44,.28);}
.future-quest-prompt{max-width:12ch;font:800 clamp(30px,4.2vw,52px)/.92 var(--font-display);color:var(--ink);}
.future-quest-answer{padding:0 24px 24px;max-height:0;opacity:0;overflow:hidden;transition:max-height .34s ease, opacity .28s ease, padding-top .28s ease;}
.future-quest-card:hover .future-quest-answer,.future-quest-card[open] .future-quest-answer{max-height:220px;opacity:1;padding-top:4px;}
.future-quest-answer h3{margin:0 0 10px;font-size:24px;color:var(--r-orange);}
.future-quest-answer p{margin:0;color:var(--ink-dim);font-size:16px;line-height:1.55;max-width:34ch;}
.future-quest-grid .future-quest-card:last-child{grid-column:1/-1;}
@media (max-width:900px){.future-quest-grid{grid-template-columns:1fr 1fr;gap:14px;}.future-quest-card summary{min-height:210px;padding:22px 20px;}.future-quest-prompt{font-size:clamp(26px,5vw,40px);}}
@media (max-width:680px){.future-quest-grid{grid-template-columns:1fr;}.future-quest-grid .future-quest-card:last-child{grid-column:auto;}.future-quest-card summary{min-height:180px;padding:18px;}.future-quest-prompt{font-size:clamp(24px,8vw,34px);} .future-quest-answer h3{font-size:22px;} .future-quest-answer p{font-size:15px;}}


.no-reveal-visibility,
.no-reveal-visibility [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  filter: none !important;
}

.dj-hat-note {
  display: block;
  margin-top: 10px;
  color: rgba(231, 222, 207, 0.78);
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.dj-hat-note strong {
  color: var(--ink);
  font-weight: 700;
}

.dj-journey-nav .dj-journey-link[href="#hat"]::before {
  content: "^ ";
  color: var(--r-yellow);
}


.portal-action {
  font-size: 13px !important;
  letter-spacing: 0.22em !important;
  font-weight: 800 !important;
}

@media (max-width: 620px) {
  .portal-action {
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
  }
}

.future-quest-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.future-reveal-card {
  position: relative;
  min-height: 280px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--r-orange) 24%, var(--line));
  background:
    linear-gradient(155deg, rgba(12, 22, 41, 0.95), rgba(20, 39, 72, 0.92)),
    radial-gradient(circle at 18% 18%, rgba(255, 145, 54, 0.14), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(255, 207, 92, 0.08), transparent 28%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 24px 70px rgba(2, 6, 14, 0.28);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
  cursor: pointer;
}

.future-reveal-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 16%, rgba(255, 150, 64, 0.18) 34%, rgba(255, 150, 64, 0.08) 50%, transparent 70%),
    radial-gradient(circle at center, rgba(255, 150, 64, 0.16), transparent 58%);
  opacity: 0;
  transition: opacity .28s ease;
  pointer-events: none;
}

.future-reveal-card:hover,
.future-reveal-card:focus-visible {
  transform: translateY(-6px) scale(1.01);
  border-color: color-mix(in oklab, var(--r-orange) 76%, var(--line));
  box-shadow: 0 26px 90px rgba(255, 122, 35, 0.18), inset 0 1px 0 rgba(255,255,255,0.06);
}

.future-reveal-card:hover::before,
.future-reveal-card:focus-visible::before {
  opacity: 1;
}

.future-reveal-front,
.future-reveal-back {
  position: absolute;
  inset: 0;
  padding: 24px 26px;
  display: flex;
  transition: transform .34s ease, opacity .34s ease;
}

.future-reveal-front {
  align-items: flex-start;
  justify-content: space-between;
}

.future-reveal-number {
  font-family: var(--font-display);
  font-size: clamp(68px, 8vw, 108px);
  line-height: 0.88;
  color: color-mix(in oklab, var(--r-orange) 88%, #ffe4a1);
  text-shadow: 0 0 24px rgba(255, 145, 54, 0.26);
}

.future-reveal-mark {
  font-family: var(--font-display);
  font-size: clamp(54px, 7vw, 88px);
  line-height: 1;
  color: rgba(245, 238, 224, 0.94);
}

.future-reveal-back {
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  opacity: 0;
  transform: translateY(26px);
}

.future-reveal-card:hover .future-reveal-front,
.future-reveal-card:focus-visible .future-reveal-front {
  opacity: 0.14;
  transform: scale(1.04);
}

.future-reveal-card:hover .future-reveal-back,
.future-reveal-card:focus-visible .future-reveal-back {
  opacity: 1;
  transform: translateY(0);
}

.future-reveal-tag {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--r-yellow);
}

.future-reveal-back h3 {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.02;
}

.future-reveal-back p {
  margin: 0;
  max-width: 28ch;
  color: rgba(236, 227, 214, 0.8);
  font-size: 17px;
  line-height: 1.5;
}

.seal-teaser-card {
  overflow: hidden;
}

.seal-teaser-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(6, 9, 17, 0.42), rgba(4, 6, 12, 0.82));
  opacity: 0;
  transition: opacity .24s ease;
  pointer-events: none;
  z-index: 1;
}

.seal-teaser-card::after {
  content: 'EARN IT';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-11deg) scale(0.88);
  font-family: var(--font-display);
  font-size: clamp(26px, 3.6vw, 48px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 143, 40, 0.94);
  text-shadow: 0 0 18px rgba(255, 130, 26, 0.28);
  opacity: 0;
  transition: opacity .24s ease, transform .24s ease;
  pointer-events: none;
  z-index: 3;
}

.seal-teaser-card > * {
  position: relative;
  z-index: 2;
}

.seal-teaser-card:hover,
.seal-teaser-card:focus-visible {
  border-color: color-mix(in oklab, var(--r-orange) 76%, var(--line));
  box-shadow: 0 24px 70px rgba(255, 122, 35, 0.2), inset 0 0 0 1px rgba(255, 161, 76, 0.24);
}

.seal-teaser-card:hover::before,
.seal-teaser-card:focus-visible::before {
  opacity: 1;
}

.seal-teaser-card:hover::after,
.seal-teaser-card:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(-11deg) scale(1);
}

#sonic-proof .manifesto-audio-duo {
  align-items: stretch;
}

#sonic-proof .manifesto-audio-duo .manifesto-audio-card {
  display: grid;
  grid-template-rows: auto auto auto auto auto 1fr auto;
  align-items: start;
}

#sonic-proof .manifesto-audio-card .btn-group {
  margin-top: auto;
}

#sonic-proof .manifesto-audio-card h4,
#sonic-proof .manifesto-audio-card .track-length,
#sonic-proof .manifesto-audio-card p,
#sonic-proof .manifesto-audio-card .wave-bars,
#sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap,
#sonic-proof .manifesto-audio-card .btn-group {
  width: 100%;
}

@media (max-width: 900px) {
  .future-quest-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .future-reveal-card {
    min-height: 250px;
  }
}

@media (max-width: 680px) {
  .future-quest-grid {
    grid-template-columns: 1fr;
  }

  .future-reveal-card {
    min-height: 210px;
  }

  .future-reveal-back h3 {
    font-size: 24px;
  }

  .future-reveal-back p {
    font-size: 15px;
  }
}

@media (max-width: 620px) {
  #sonic-proof .track-hero p,
  #sonic-proof .manifesto-audio-card p {
    display: none;
  }

  #sonic-proof .sonic-proof-cluster {
    gap: 12px;
  }

  #sonic-proof .manifesto-audio-duo {
    gap: 8px;
  }

  #sonic-proof .manifesto-audio-card {
    grid-template-rows: auto auto auto auto 1fr auto;
  }

  #sonic-proof .manifesto-audio-card .btn {
    width: 100%;
  }

  .seal-teaser-card p {
    display: none;
  }
}


/* 2026-06-04 targeted polish */
.future-reveal-front {
  align-items: center;
  justify-content: center;
}
.future-reveal-number {
  position: absolute;
  top: 22px;
  left: 28px;
  font-size: clamp(22px, 3vw, 42px);
}
.future-reveal-tag {
  font-size: clamp(28px, 3.5vw, 52px);
  line-height: .96;
  letter-spacing: .01em;
  text-align: center;
  text-transform: none;
  color: rgba(248, 241, 231, 0.92);
  text-shadow: 0 0 24px rgba(255, 166, 84, 0.18);
}
.future-reveal-front .future-reveal-tag {
  max-width: 10ch;
}
.future-reveal-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 38%, rgba(255,186,96,.22), transparent 42%);
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}
.future-reveal-card:hover::after,
.future-reveal-card:focus-visible::after,
.future-reveal-card.is-active::after {
  opacity: 1;
}
.sonic-proof-cluster .track-hero h2,
.sonic-proof-cluster .manifesto-audio-card h4 {
  line-height: .96;
}
@media (max-width: 640px) {
  #sonic-proof .manifesto-audio-card p,
  #sonic-proof .track-hero p {
    display: none;
  }
  .sonic-proof-cluster .manifesto-audio-card,
  .sonic-proof-cluster .track-hero {
    align-items: stretch;
  }
  .sonic-proof-cluster .manifesto-audio-card .btn,
  .sonic-proof-cluster .track-hero .btn {
    width: 100%;
  }
}
.no-reveal-visibility [data-reveal],
.no-reveal-visibility .reveal,
.no-reveal-visibility .questions-list,
.no-reveal-visibility .question-card,
.no-reveal-visibility .faq-item {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  visibility: visible !important;
}


/* --- 2026-06-04 focused polish --- */
.dj-hat-note{font-size:12px;letter-spacing:.08em;line-height:1.45;max-width:220px;text-align:center;}
.no-reveal-visibility,.no-reveal-visibility .narrow,.no-reveal-visibility .questions-list,.no-reveal-visibility .question-card{opacity:1 !important;transform:none !important;filter:none !important;visibility:visible !important;}
.future-reveal-front{justify-content:center;align-items:center;text-align:center;padding:30px;}
.future-reveal-front .future-reveal-number{position:absolute;top:22px;left:24px;font-size:clamp(42px,8vw,72px);line-height:.9;opacity:.9;}
.future-reveal-front .future-reveal-tag{display:block;font-size:clamp(24px,3.6vw,44px);font-weight:700;line-height:1.02;letter-spacing:.01em;color:#f6efe2;max-width:11ch;text-wrap:balance;margin-inline:auto;text-shadow:0 0 24px rgba(255,177,77,.18);}
.future-reveal-card::before{background:radial-gradient(circle at 50% 35%, rgba(255,175,76,.24), rgba(255,175,76,0) 45%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));}
.future-reveal-card:hover .future-reveal-front,.future-reveal-card:focus-visible .future-reveal-front,.future-reveal-card.is-active .future-reveal-front{transform:rotateY(-88deg) scale(.98);filter:brightness(1.08);}
.future-reveal-card:hover .future-reveal-back,.future-reveal-card:focus-visible .future-reveal-back,.future-reveal-card.is-active .future-reveal-back{transform:rotateY(0deg) translateY(0);box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 35px rgba(255,150,56,.16);}
.future-reveal-back{transition:transform .68s cubic-bezier(.2,.8,.2,1),opacity .4s ease,box-shadow .4s ease;}
.sonic-proof-cluster .track-hero h2,.sonic-proof-cluster .manifesto-audio-card h4{line-height:.88;letter-spacing:-.02em;}
#sonic-proof .track-hero h2{max-width:8ch;}
#sonic-proof .manifesto-audio-card h4{max-width:8ch;min-height:2.1em;}
#sonic-proof .manifesto-audio-duo .manifesto-audio-card{display:grid;grid-template-rows:auto auto auto 1fr auto auto auto;align-content:start;}
#sonic-proof .manifesto-audio-card .manifesto-audio-cover{width:112px;aspect-ratio:1/1;object-fit:cover;}
#sonic-proof .manifesto-audio-cover-wrap{display:flex;justify-content:center;align-items:center;min-height:128px;}
@media (max-width: 900px){#sonic-proof .manifesto-audio-card .track-length{min-height:3.1em;} #sonic-proof .manifesto-audio-card h4{font-size:clamp(26px,3.2vw,34px);} }
@media (max-width: 700px){#sonic-proof .manifesto-audio-card p,#sonic-proof .track-hero p{display:none;} #sonic-proof .track-hero h2{max-width:9ch;line-height:.9;} #sonic-proof .manifesto-audio-card h4{font-size:clamp(22px,5vw,30px);line-height:.94;min-height:2.2em;} #sonic-proof .manifesto-audio-card .track-length{min-height:2.8em;} }
@media (max-width: 560px){#sonic-proof .manifesto-audio-duo{grid-template-columns:1fr 1fr;gap:10px;} #sonic-proof .manifesto-audio-card{padding:14px;} #sonic-proof .manifesto-audio-card .manifesto-audio-cover{width:82px;} #sonic-proof .manifesto-audio-cover-wrap{min-height:96px;} #sonic-proof .manifesto-audio-card .btn{padding-inline:12px;font-size:11px;} }
.seal-teaser-card{overflow:hidden;}
.seal-teaser-card::before{background:radial-gradient(circle at 50% 48%, rgba(6,12,24,.06), rgba(4,8,18,.8) 58%, rgba(2,5,14,.95) 100%);}
.seal-teaser-card::after{content:"EARN IT";position:absolute;left:50%;top:50%;transform:translate(-50%,-42%) scale(.82) rotate(-10deg);font:900 clamp(26px,3vw,44px)/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,144,40,0);text-shadow:0 0 0 rgba(255,140,44,0);transition:transform .28s ease,color .28s ease,text-shadow .28s ease;pointer-events:none;z-index:1;}
.seal-teaser-card:hover,.seal-teaser-card:focus-visible{border-color:rgba(255,145,40,.78);box-shadow:0 24px 56px rgba(0,0,0,.42),0 0 0 1px rgba(255,149,55,.28) inset,0 0 34px rgba(255,127,34,.24);}
.seal-teaser-card:hover::after,.seal-teaser-card:focus-visible::after{transform:translate(-50%,-42%) scale(1) rotate(-8deg);color:rgba(255,145,40,.34);text-shadow:0 0 26px rgba(255,145,40,.28);} 


/* Codex targeted polish pass */
.page-about .section-dark.no-reveal-visibility,
.page-about .section-dark.no-reveal-visibility .narrow,
.page-about .section-dark.no-reveal-visibility [data-reveal],
.page-about .section-dark.no-reveal-visibility .questions-list,
.page-about .section-dark.no-reveal-visibility .pull-quote {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.sonic-proof-cluster .track-hero h2,
.sonic-proof-cluster .track-card h4 {
  line-height: 0.92;
  text-wrap: balance;
}

.sonic-proof-cluster .track-card .track-cover,
.sonic-proof-cluster .track-card .track-cover img {
  width: 132px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media (max-width: 680px) {
  .sonic-proof-cluster .track-card p {
    display: none;
  }

  .sonic-proof-cluster {
    align-items: stretch;
  }

  .sonic-proof-cluster .track-card,
  .sonic-proof-cluster .track-hero {
    display: grid;
    align-content: start;
  }

  .sonic-proof-cluster .track-hero h2,
  .sonic-proof-cluster .track-card h4 {
    line-height: 0.95;
  }
}

.future-question-grid .future-tile {
  position: relative;
  overflow: hidden;
}

.future-question-grid .future-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 35%, rgba(255,170,90,.18), transparent 52%), linear-gradient(180deg, rgba(255,180,105,.08), transparent 70%);
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}

.future-question-grid .future-tile:hover::after,
.future-question-grid .future-tile:focus-within::after {
  opacity: 1;
}

.future-question-grid .future-front-mark {
  display: none !important;
}

.future-question-grid .future-front-label {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(2.8rem, 7vw, 6rem);
  font-weight: 700;
  letter-spacing: .06em;
  color: rgba(255,178,102,.82);
  text-transform: uppercase;
  text-align: center;
  text-shadow: 0 0 24px rgba(255,145,56,.16);
  transition: transform .5s ease, opacity .4s ease, filter .5s ease;
}

.future-question-grid .future-tile.is-open .future-front-label,
.future-question-grid .future-tile:hover .future-front-label,
.future-question-grid .future-tile:focus-within .future-front-label {
  transform: translate(-50%, -138%);
  opacity: .16;
  filter: blur(1.5px);
}

.future-question-grid .future-reveal {
  transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
}

.future-question-grid .future-tile.is-open .future-reveal,
.future-question-grid .future-tile:hover .future-reveal,
.future-question-grid .future-tile:focus-within .future-reveal {
  animation: futureRevealMagic .65s cubic-bezier(.2,.8,.2,1);
}

@keyframes futureRevealMagic {
  0% { opacity: 0; transform: translateY(26px) scale(.98); }
  60% { opacity: 1; transform: translateY(-4px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.home-vision-list .vision-item p {
  display: none;
}

.seal-teaser-strip .seal-teaser {
  position: relative;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.seal-teaser-strip .seal-teaser::after {
  content: 'EARN IT';
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%) scale(.82) rotate(-8deg);
  font-size: clamp(26px, 4vw, 54px);
  font-weight: 800;
  letter-spacing: .18em;
  color: rgba(255,146,42,.92);
  opacity: 0;
  text-shadow: 0 0 28px rgba(255,130,34,.3);
  pointer-events: none;
  transition: opacity .28s ease, transform .32s ease;
}

.seal-teaser-strip .seal-teaser:hover,
.seal-teaser-strip .seal-teaser:focus-visible {
  border-color: rgba(255,143,56,.75);
  box-shadow: 0 0 0 1px rgba(255,143,56,.32), 0 20px 48px rgba(255,122,34,.16);
  background: linear-gradient(180deg, rgba(255,142,56,.08), rgba(8,12,22,.92));
  transform: translateY(-5px);
}

.seal-teaser-strip .seal-teaser:hover::after,
.seal-teaser-strip .seal-teaser:focus-visible::after {
  opacity: .32;
  transform: translate(-50%, -50%) scale(1) rotate(-8deg);
}

.portal .portal-action {
  font-size: 1.02rem;
  letter-spacing: .18em;
}

@media (max-width: 900px) {
  .portal .portal-action {
    font-size: .98rem;
  }
}


/* final June 2026 polish */
.page-about .section-dark.no-reveal-visibility,
.page-about .section-dark.no-reveal-visibility *,
.page-about .section-dark.no-reveal-visibility [data-reveal],
.page-about .section-dark.no-reveal-visibility .reveal,
.page-about .section-dark.no-reveal-visibility .questions-list,
.page-about .section-dark.no-reveal-visibility .pull-quote,
.page-about .section-dark.no-reveal-visibility .no-reveal-force {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.track-title-tight {
  line-height: 0.9 !important;
  text-wrap: balance;
}

.track-hero .track-title-tight {
  line-height: 0.88 !important;
}

.future-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.future-question-grid .future-tile {
  min-height: 340px;
  border-radius: 34px;
  border: 1px solid rgba(116, 154, 221, 0.18);
  background: linear-gradient(180deg, rgba(20,44,82,.94), rgba(16,28,52,.98));
  padding: 28px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015);
}

.future-question-grid .future-front-number {
  position: absolute;
  top: 20px;
  left: 24px;
  font: 700 clamp(52px, 9vw, 96px)/0.9 var(--font-display);
  color: rgba(255, 146, 66, 0.9);
  letter-spacing: -.03em;
  text-shadow: 0 0 32px rgba(255, 126, 44, 0.18);
}

.future-question-grid .future-front-label {
  max-width: 72%;
  line-height: 0.94;
}

.future-question-grid .future-reveal {
  position: absolute;
  inset: auto 28px 30px 28px;
  opacity: 0;
  transform: translateY(18px);
}

.future-question-grid .future-reveal-kicker {
  color: rgba(255, 204, 129, 0.94);
  font: 700 11px/1.2 var(--font-display);
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.future-question-grid .future-reveal h3 {
  margin: 0 0 10px;
  line-height: 0.98;
}

.future-question-grid .future-reveal p {
  margin: 0;
  color: rgba(233, 236, 243, 0.8);
}

.future-question-grid .future-tile:hover,
.future-question-grid .future-tile:focus-within {
  border-color: rgba(255, 147, 60, 0.5);
  box-shadow: 0 18px 54px rgba(8, 10, 24, 0.32), 0 0 0 1px rgba(255, 146, 66, 0.12) inset;
}

.future-question-grid .future-tile:hover .future-front-number,
.future-question-grid .future-tile:focus-within .future-front-number {
  transform: translateY(-4px) scale(1.03);
}

.future-question-grid .future-tile:hover .future-front-label,
.future-question-grid .future-tile:focus-within .future-front-label,
.future-question-grid .future-tile.is-open .future-front-label {
  transform: translate(-50%, -148%);
  opacity: .12;
}

.future-question-grid .future-tile:hover .future-reveal,
.future-question-grid .future-tile:focus-within .future-reveal,
.future-question-grid .future-tile.is-open .future-reveal {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 900px) {
  .future-question-grid {
    grid-template-columns: 1fr;
  }
}


/* final targeted polish */
.track-hero h2,
.track-card h4,
.track-title-tight {
  line-height: 0.92 !important;
}

.future-reveal-front {
  display: grid;
  place-items: center;
  text-align: center;
}

.future-reveal-front::after,
.future-reveal-card::after {
  content: none !important;
}

.future-reveal-front .future-reveal-tag {
  max-width: 12ch;
  margin: 0 auto;
  font-size: clamp(28px, 3.2vw, 46px) !important;
  line-height: 1.02 !important;
  text-shadow: 0 0 28px rgba(255,178,82,.18);
}

.future-reveal-front .future-reveal-number {
  position: absolute;
  top: 22px;
  left: 24px;
  font-size: clamp(44px, 7vw, 76px);
  opacity: .72;
}

.future-reveal-card:hover .future-reveal-back,
.future-reveal-card:focus-within .future-reveal-back,
.future-reveal-card.is-active .future-reveal-back {
  animation: futureDoorMagic .55s cubic-bezier(.22,.8,.2,1);
}

@keyframes futureDoorMagic {
  0% { opacity: 0; transform: rotateY(12deg) translateY(18px) scale(.985); filter: blur(10px); }
  100% { opacity: 1; transform: rotateY(0deg) translateY(0) scale(1); filter: blur(0); }
}

.seal-teaser {
  position: relative;
  overflow: hidden;
}
.seal-teaser::after {
  content: "EARN IT";
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%) scale(.7) rotate(-10deg);
  font-family: var(--font-display);
  font-size: clamp(20px, 2.4vw, 36px);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,145,36,0);
  text-shadow: 0 0 0 rgba(255,145,36,0);
  pointer-events: none;
  transition: transform .28s ease, color .28s ease, text-shadow .28s ease;
}
.seal-teaser:hover,
.seal-teaser:focus-visible {
  border-color: rgba(255,145,36,.72) !important;
  box-shadow: 0 20px 48px rgba(255,145,36,.18), 0 0 0 1px rgba(255,145,36,.32) inset;
  background: radial-gradient(circle at 50% 42%, rgba(255,145,36,.12), rgba(5,8,18,.94) 70%);
}
.seal-teaser:hover::after,
.seal-teaser:focus-visible::after {
  color: rgba(255,145,36,.94);
  text-shadow: 0 0 28px rgba(255,145,36,.28);
  transform: translate(-50%, -50%) scale(1) rotate(-8deg);
}

.portal-action {
  font-size: 1.02rem !important;
  letter-spacing: .17em;
}

.page-about .no-reveal-visibility,
.page-about .no-reveal-visibility *,
.page-about .no-reveal-visibility [data-reveal],
.page-about .no-reveal-visibility .reveal,
.page-about .no-reveal-visibility .questions-list,
.page-about .no-reveal-visibility .questions-list > *,
.page-about .no-reveal-visibility .pull-quote {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
}

@media (max-width: 680px) {
  .sonic-proof-cluster .track-card p,
  .sonic-proof-cluster .track-hero p {
    display: none;
  }
  .sonic-proof-cluster .track-card,
  .sonic-proof-cluster .track-hero {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .manifesto-audio-cover-wrap,
  .manifesto-audio-cover {
    width: 112px;
    height: 112px;
    aspect-ratio: 1 / 1;
  }
}


/* 2026-06-04 final focused polish */
.home-vision-block .vision-check-item p {
  display: none !important;
}

.future-reveal-front .future-reveal-mark,
.future-reveal-card .future-reveal-mark,
.future-reveal-front::after,
.future-reveal-front::before,
.future-reveal-card::after,
.future-reveal-card::before {
  content: none !important;
  display: none !important;
}

.future-reveal-front {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 177, 92, 0.16), transparent 26%),
    radial-gradient(circle at 50% 70%, rgba(98, 183, 255, 0.08), transparent 34%),
    linear-gradient(160deg, rgba(14, 29, 54, 0.95), rgba(20, 40, 70, 0.92)) !important;
}

.future-reveal-number {
  position: absolute !important;
  top: 18px !important;
  left: 22px !important;
  font-size: clamp(3rem, 8vw, 5.4rem) !important;
  line-height: 0.88 !important;
  color: color-mix(in oklab, var(--r-orange) 90%, #ffe2a5) !important;
  text-shadow: 0 0 28px rgba(255, 150, 48, 0.28) !important;
}

.future-reveal-front .future-reveal-tag {
  max-width: 10ch !important;
  margin: 0 auto !important;
  font-size: clamp(1.6rem, 2.3vw, 2.4rem) !important;
  line-height: 0.95 !important;
  letter-spacing: 0.04em !important;
  color: rgba(245, 238, 224, 0.98) !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 24px rgba(255, 184, 112, 0.18) !important;
}

.future-reveal-back {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 173, 76, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(14, 29, 54, 0.95), rgba(8, 16, 30, 0.98)) !important;
  box-shadow: inset 0 0 90px rgba(255, 174, 82, 0.04);
}

.future-reveal-card:hover,
.future-reveal-card:focus-visible,
.future-reveal-card:focus-within {
  transform: translateY(-8px) scale(1.01) !important;
  border-color: color-mix(in oklab, var(--r-orange) 82%, var(--line)) !important;
  box-shadow: 0 28px 88px rgba(255, 122, 35, 0.18), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.future-reveal-card:hover .future-reveal-front,
.future-reveal-card:focus-visible .future-reveal-front,
.future-reveal-card:focus-within .future-reveal-front {
  opacity: 0.04 !important;
  transform: scale(1.06) rotate(-1deg) !important;
  filter: saturate(1.08) brightness(1.08) blur(1px) !important;
}

.future-reveal-card:hover .future-reveal-back,
.future-reveal-card:focus-visible .future-reveal-back,
.future-reveal-card:focus-within .future-reveal-back {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

.track-title-tight,
.track-hero .track-title-tight,
.track-card .track-title-tight,
.track-hero h2,
.track-card h4 {
  line-height: 0.84 !important;
}

.page-about .section-dark.no-reveal-visibility,
.page-about .section-dark.no-reveal-visibility *,
.page-about .section-dark.no-reveal-visibility [data-reveal],
.page-about .section-dark.no-reveal-visibility .is-visible,
.page-about .section-dark.no-reveal-visibility .questions-list,
.page-about .section-dark.no-reveal-visibility .pull-quote,
.page-about .section-dark.no-reveal-visibility .narrow {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  max-height: none !important;
  transition: none !important;
}

.page-about .section-dark.no-reveal-visibility .narrow {
  position: relative;
  z-index: 2;
}

@media (max-width: 760px) {
  .track-hero-copy,
  .track-card p,
  .track-card .track-note {
    display: none !important;
  }

  .track-hero,
  .track-card {
    align-content: start !important;
    min-height: 0 !important;
  }

  .track-hero .track-title-tight,
  .track-card h4 {
    max-width: 8ch;
  }

  .manifesto-audio-duo,
  .sonic-proof-cluster {
    align-items: stretch !important;
  }

  .manifesto-audio-card,
  .track-card {
    display: grid !important;
    grid-template-rows: auto auto auto auto 1fr auto auto !important;
  }
}

@media (max-width: 620px) {
  .track-cover-wrap,
  .track-cover-wrap img,
  .track-cover--small,
  .manifesto-audio-cover,
  .manifesto-audio-cover-wrap,
  .manifesto-audio-cover-wrap img {
    width: 124px !important;
    height: 124px !important;
    min-width: 124px !important;
    min-height: 124px !important;
    aspect-ratio: 1 / 1 !important;
  }

  .track-card .track-length,
  .track-hero .track-length {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
}


/* 2026-06-04 final cleanup pass */
.track-title-tight,
.track-hero .track-title-tight,
.track-card .track-title-tight,
.track-hero h2,
.track-card h4 {
  line-height: 0.78 !important;
}

.future-reveal-front {
  place-items: center !important;
  justify-items: center !important;
}

.future-reveal-front .future-reveal-tag--front {
  max-width: 8.5ch !important;
  font-size: clamp(2.1rem, 3vw, 3rem) !important;
  line-height: 0.92 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.future-reveal-front .future-reveal-mark,
.future-reveal-card .future-reveal-mark,
.future-reveal-front .question-mark,
.future-reveal-card .question-mark {
  display: none !important;
  content: none !important;
}

.future-reveal-card:hover .future-reveal-back,
.future-reveal-card:focus-within .future-reveal-back,
.future-reveal-card.is-active .future-reveal-back {
  animation: futureDoorGlow .7s cubic-bezier(.2,.8,.2,1) both !important;
}

@keyframes futureDoorGlow {
  0% { opacity: 0; transform: translateY(24px) scale(.98); filter: blur(14px) brightness(.9); }
  60% { opacity: 1; transform: translateY(-4px) scale(1.01); filter: blur(0) brightness(1.08); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0) brightness(1); }
}

.page-about .no-reveal-visibility,
.page-about .no-reveal-visibility *,
.page-about .no-reveal-visibility [data-reveal],
.page-about .no-reveal-visibility .questions-list,
.page-about .no-reveal-visibility .question-card,
.page-about .no-reveal-visibility .question-echoes,
.page-about .no-reveal-visibility .question-echoes *,
.page-about .no-reveal-visibility .pull-quote {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  transition: none !important;
}

.sig-list-toolbar-meta {
  display: none !important;
}

@media (max-width: 760px) {
  .sonic-proof-cluster .track-card p,
  .sonic-proof-cluster .track-hero p {
    display: none !important;
  }
  .sonic-proof-cluster .track-card,
  .sonic-proof-cluster .track-hero {
    align-items: stretch !important;
  }
  .manifesto-audio-card .track-length,
  .track-hero .track-length {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
}


/* === June 2026 focused patch === */
.wall-love-head--quote{padding:28px 32px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:28px;background:linear-gradient(180deg,rgba(14,24,40,.88),rgba(11,16,28,.96));box-shadow:0 28px 80px rgba(0,0,0,.28);}
.wall-love-head--quote .eyebrow{margin-bottom:14px;}
.wall-love-head--quote h3{margin:0 0 14px;font-size:clamp(26px,3vw,42px);}
.wall-love-head--quote .answer{margin:0;font-size:clamp(26px,4vw,48px);line-height:1.08;font-weight:700;color:var(--r-orange);text-wrap:balance;}
.signatory-breakdown--duo{grid-template-columns:repeat(2,minmax(0,1fr));}

.movement-progress-home__stage{position:relative;overflow:hidden;}
.movement-progress-home__core,.movement-progress-home__railbox,.movement-progress-home__actions{position:relative;z-index:2;}

.future-reveal-card{overflow:hidden;isolation:isolate;}
.future-reveal-card::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 32%,rgba(244,154,78,.24),transparent 42%),radial-gradient(circle at 50% 82%,rgba(120,196,255,.12),transparent 35%);opacity:0;transform:scale(.84);transition:opacity .45s ease,transform .55s ease;z-index:0;pointer-events:none;}
.future-reveal-card:hover::before,.future-reveal-card:focus-within::before,.future-reveal-card:focus::before{opacity:1;transform:scale(1);}
.future-reveal-front,.future-reveal-back{position:relative;z-index:1;}
.future-reveal-front{display:flex;align-items:center;justify-content:center;text-align:center;padding:34px 22px;}
.future-reveal-front::after{content:none !important;display:none !important;}
.future-reveal-number{position:absolute;top:18px;left:18px;font-size:clamp(44px,5.2vw,92px);line-height:1;color:rgba(242,150,84,.82);}
.future-reveal-tag--front{max-width:12ch;font-size:clamp(28px,3.2vw,46px);line-height:.96;font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 20px rgba(255,255,255,.08);}
.future-reveal-back{animation:futureRevealFloat .7s ease both;}
@keyframes futureRevealFloat{0%{opacity:0;transform:translateY(16px) scale(.97);filter:blur(8px);}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}}

.track-title-tight{line-height:.9;letter-spacing:-.03em;}
@media (max-width: 900px){
  #sonic-proof .sonic-proof-cluster{grid-template-columns:minmax(0,1fr);gap:18px;}
  #sonic-proof .manifesto-audio-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;}
  #sonic-proof .track-card,#sonic-proof .track-hero{height:100%;}
  #sonic-proof .track-hero .track-title-tight{line-height:.9;}
}
@media (max-width: 680px){
  #sonic-proof .track-hero p{font-size:0;line-height:0;margin-bottom:8px;}
  #sonic-proof .track-hero p em,#sonic-proof .track-hero p strong{display:none;}
  #sonic-proof .manifesto-audio-card p{display:none;}
  #sonic-proof .manifesto-audio-duo{gap:12px;}
  #sonic-proof .manifesto-audio-card{padding:20px 18px;display:grid;grid-template-rows:auto auto auto auto 1fr auto;align-items:start;}
  #sonic-proof .manifesto-audio-cover-wrap{margin-top:10px;}
}
@media (max-width: 520px){
  #sonic-proof .manifesto-audio-duo{grid-template-columns:1fr;}
  #sonic-proof .manifesto-audio-card .btn-group .btn{width:100%;justify-content:center;}
}

.seal-teaser-card{position:relative;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease,background .35s ease;}
.seal-teaser-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,167,80,.12),transparent 48%),linear-gradient(180deg,rgba(6,10,18,.16),rgba(6,10,18,.38));opacity:0;transition:opacity .35s ease;pointer-events:none;}
.seal-teaser-card::after{content:"EARN IT";position:absolute;inset:auto 18px 18px auto;font-size:clamp(24px,3vw,44px);font-weight:800;letter-spacing:.14em;color:rgba(255,145,52,.88);opacity:0;transform:scale(.72) rotate(-9deg);transition:opacity .35s ease,transform .35s ease;text-shadow:0 0 22px rgba(255,145,52,.28);pointer-events:none;}
.seal-teaser-card:hover,.seal-teaser-card:focus-visible{border-color:rgba(255,145,52,.75);box-shadow:0 18px 48px rgba(0,0,0,.35),0 0 0 1px rgba(255,145,52,.24) inset,0 0 28px rgba(255,145,52,.16);background:linear-gradient(180deg,rgba(13,20,34,.96),rgba(10,14,24,.98));transform:translateY(-4px);}
.seal-teaser-card:hover::before,.seal-teaser-card:focus-visible::before{opacity:1;}
.seal-teaser-card:hover::after,.seal-teaser-card:focus-visible::after{opacity:1;transform:scale(1) rotate(-7deg);}

.page-about [data-no-reveal],.page-about [data-no-reveal] *, .page-about .no-reveal-force, .page-about .no-reveal-force *, .page-about .questions-list, .page-about .question-card{opacity:1 !important;visibility:visible !important;transform:none !important;filter:none !important;clip-path:none !important;}

.lb-radio-console{position:relative;overflow:hidden;}
.lb-radio-console::before{content:"";position:absolute;inset:18px 18px auto auto;width:160px;height:160px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 58%);mix-blend-mode:screen;opacity:.28;pointer-events:none;}
.lb-display{position:relative;overflow:hidden;}
.lb-display::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 36%,transparent 68%,rgba(68,218,255,.06));pointer-events:none;}
.lb-display-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap;}
.lb-display-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(105,196,255,.26);background:rgba(9,18,32,.56);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#cce9ff;}
.lb-display-chip.is-live{border-color:rgba(255,170,84,.45);color:#ffd69e;box-shadow:0 0 18px rgba(255,170,84,.14);}
.lb-display-vu{display:inline-flex;align-items:flex-end;gap:4px;min-width:74px;justify-content:flex-end;}
.lb-display-vu i{display:block;width:4px;border-radius:999px;background:linear-gradient(180deg,#ffcf7a,#f07a2d);animation:lbVu 1.2s ease-in-out infinite;}
.lb-display-vu i:nth-child(1){height:10px;animation-delay:0s;}
.lb-display-vu i:nth-child(2){height:18px;animation-delay:.12s;}
.lb-display-vu i:nth-child(3){height:12px;animation-delay:.24s;}
.lb-display-vu i:nth-child(4){height:22px;animation-delay:.36s;}
.lb-display-vu i:nth-child(5){height:14px;animation-delay:.48s;}
@keyframes lbVu{0%,100%{transform:scaleY(.7);opacity:.65;}50%{transform:scaleY(1.2);opacity:1;}}


/* codex follow-up polish */
#million-signatures .movement-progress-home__head strong {
  font-size: clamp(28px, 4vw, 48px);
  line-height: .92;
  color: transparent;
  background: linear-gradient(180deg, #fff4bd 0%, #ffd469 35%, #ffb255 68%, #ff8f2a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 0 22px rgba(255, 179, 84, .18);
}
.future-reveal-front .future-reveal-tag--front {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.4vw, 46px);
  line-height: .96;
  letter-spacing: -.02em;
  text-transform: none;
  color: var(--ink);
  max-width: 9ch;
  margin: 0 auto;
}
.future-reveal-front .future-reveal-number {
  position: absolute;
  top: 18px;
  left: 20px;
  opacity: .92;
}
.future-reveal-front .future-reveal-mark,
.future-reveal-card .future-reveal-mark,
.future-reveal-front .question-mark,
.future-reveal-card .question-mark {
  display: none !important;
}
.future-reveal-card::after {
  content: "";
  position: absolute;
  inset: auto 12% 12% 12%;
  height: 42%;
  background: radial-gradient(circle at 50% 50%, rgba(255, 162, 72, .24), transparent 68%);
  filter: blur(24px);
  opacity: 0;
  transform: scale(.82);
  transition: opacity .45s ease, transform .55s ease;
  pointer-events: none;
}
.future-reveal-card:hover::after,
.future-reveal-card:focus-visible::after,
.future-reveal-card:focus-within::after {
  opacity: 1;
  transform: scale(1.04);
}
.future-reveal-back {
  animation: futureRevealMagic .8s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes futureRevealMagic {
  0% { opacity: 0; transform: translateY(18px) scale(.96); filter: blur(8px); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
#sonic-proof .track-title-tight,
#sonic-proof .track-hero .track-title-tight,
#sonic-proof .track-card .track-title-tight {
  line-height: .86;
}
#sonic-proof .manifesto-audio-cover-wrap {
  width: min(156px, 58%);
  aspect-ratio: 1 / 1;
  margin: 14px auto 0;
}
#sonic-proof .manifesto-audio-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}
#sonic-proof .manifesto-audio-duo {
  align-items: stretch;
}
#sonic-proof .manifesto-audio-card {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto auto;
  align-items: start;
}
#sonic-proof .manifesto-audio-card .btn-group {
  margin-top: auto;
}
@media (max-width: 640px) {
  #sonic-proof .track-hero p,
  #sonic-proof .manifesto-audio-card p {
    display: none;
  }
  #sonic-proof .track-hero,
  #sonic-proof .manifesto-audio-card {
    min-height: 100%;
  }
  #sonic-proof .track-length {
    margin-bottom: 8px;
  }
}
.seal-teaser-card {
  border-color: rgba(255, 152, 58, .22);
}
.seal-teaser-card::after {
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%) scale(.68) rotate(-8deg);
  font-size: clamp(30px, 4vw, 58px);
  letter-spacing: .16em;
  color: rgba(255, 139, 46, .96);
}
.seal-teaser-card:hover,
.seal-teaser-card:focus-visible {
  border-color: rgba(255, 144, 52, .9);
  box-shadow: 0 22px 54px rgba(0,0,0,.38), 0 0 0 1px rgba(255,144,52,.24) inset, 0 0 38px rgba(255,144,52,.22);
}
.seal-teaser-card:hover::after,
.seal-teaser-card:focus-visible::after {
  transform: translate(-50%, -50%) scale(1) rotate(-6deg);
}
.portal-action {
  font-size: 15px;
  letter-spacing: .18em;
}
.page-about .section-dark.no-reveal-visibility,
.page-about .section-dark.no-reveal-visibility *,
.page-about .section-dark.no-reveal-visibility [data-reveal],
.page-about .section-dark.no-reveal-visibility .questions-list,
.page-about .section-dark.no-reveal-visibility .questions-list > *,
.page-about .section-dark.no-reveal-visibility .question-card,
.page-about .section-dark.no-reveal-visibility .question-echoes,
.page-about .section-dark.no-reveal-visibility .question-echoes * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
}
.lb-display-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.lb-display-chip {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink) 88%, var(--r-yellow));
  background: rgba(255,255,255,.04);
}
.lb-display-chip.is-live {
  color: #ffd47a;
  border-color: rgba(255, 170, 72, .32);
  box-shadow: 0 0 16px rgba(255, 170, 72, .14) inset;
}
.lb-display-vu {
  display: inline-flex;
  align-items: end;
  gap: 4px;
  padding-left: 4px;
}
.lb-display-vu i {
  width: 4px;
  border-radius: 999px;
  display: block;
  background: linear-gradient(180deg, #7be0ff, #ffd264, #ff8f38);
  box-shadow: 0 0 10px rgba(123,224,255,.18);
  animation: lbVu 1.35s ease-in-out infinite;
}
.lb-display-vu i:nth-child(1){height:10px;animation-delay:0s;}
.lb-display-vu i:nth-child(2){height:16px;animation-delay:.12s;}
.lb-display-vu i:nth-child(3){height:22px;animation-delay:.24s;}
.lb-display-vu i:nth-child(4){height:14px;animation-delay:.36s;}
.lb-display-vu i:nth-child(5){height:18px;animation-delay:.48s;}
@keyframes lbVu {
  0%,100% { transform: scaleY(.72); opacity: .72; }
  50% { transform: scaleY(1.18); opacity: 1; }
}


/* Final refinement pass */
.movement-progress-home__stage {
  overflow: hidden;
  --sig-mouse-x: 50%;
  --sig-mouse-y: 62%;
  --sig-drift-x: 0px;
  --sig-drift-y: 0px;
  --sig-focus-glow: .22;
}
.movement-progress-home__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    radial-gradient(circle 240px at var(--sig-mouse-x) var(--sig-mouse-y), rgba(255, 213, 118, calc(var(--sig-focus-glow) * 1.15)), transparent 62%),
    radial-gradient(circle 320px at 50% 38%, rgba(255, 154, 62, .12), transparent 70%);
  opacity: 1;
  transition: background-position .2s ease, opacity .2s ease;
}
.future-reveal-card {
  overflow: hidden;
  isolation: isolate;
}
.future-reveal-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 42%, rgba(255,181,112,.18), transparent 58%);
  opacity: 0;
  transition: opacity .45s ease;
  z-index: 0;
}
.future-reveal-card:hover::after,
.future-reveal-card:focus-visible::after,
.future-reveal-card.is-open::after { opacity: 1; }
.future-reveal-front,
.future-reveal-back { position: relative; z-index: 1; }
.future-reveal-front {
  display: grid;
  place-items: center;
  gap: 18px;
  text-align: center;
}
.future-reveal-number {
  font-size: clamp(56px, 8vw, 92px);
  line-height: .8;
  letter-spacing: -.06em;
  color: color-mix(in oklab, var(--accent) 78%, white 22%);
  text-shadow: 0 0 28px rgba(255,155,84,.18);
}
.future-reveal-tag--front {
  font-size: clamp(20px, 2.6vw, 34px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.03em;
  text-transform: uppercase;
  color: var(--ink);
  border: 0;
  background: none;
  padding: 0;
  max-width: 10ch;
}
.future-reveal-back {
  animation: futureRevealMagic .45s ease;
}
@keyframes futureRevealMagic {
  0% { opacity: 0; transform: translateY(16px) scale(.985); filter: blur(10px); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.track-title-tight {
  line-height: .84;
  letter-spacing: -.04em;
  margin-bottom: 10px;
}
#sonic-proof .track-hero,
#sonic-proof .manifesto-audio-card {
  display: flex;
  flex-direction: column;
}
#sonic-proof .manifesto-audio-card > * { width: 100%; }
#sonic-proof .manifesto-audio-cover-wrap {
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
}
#sonic-proof .manifesto-audio-cover {
  width: clamp(116px, 12vw, 160px);
  height: clamp(116px, 12vw, 160px);
  object-fit: cover;
}
#sonic-proof .track-card .btn,
#sonic-proof .track-hero .btn { margin-top: auto; }
@media (max-width: 760px) {
  #sonic-proof .track-hero { grid-template-columns: 1fr; }
  #sonic-proof .track-hero > div:first-child p,
  #sonic-proof .manifesto-audio-card p { display: none; }
  #sonic-proof .manifesto-audio-duo { grid-template-columns: 1fr 1fr; align-items: stretch; }
  #sonic-proof .manifesto-audio-card { min-height: 100%; }
}
@media (max-width: 560px) {
  #sonic-proof .manifesto-audio-duo { grid-template-columns: 1fr; }
  #sonic-proof .track-title-tight { line-height: .9; }
}

.page-about .no-reveal-visibility,
.page-about .no-reveal-visibility *,
.page-about .no-reveal-force,
.page-about .no-reveal-force * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  transition: none !important;
}
.page-about .no-reveal-visibility .question-card,
.page-about .no-reveal-visibility .shared-perspectives,
.page-about .no-reveal-visibility .answer-form,
.page-about .no-reveal-visibility .question-echoes {
  opacity: 1 !important;
  visibility: visible !important;
}

.dj-hat-note {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.lb-display {
  position: relative;
  overflow: hidden;
}
.lb-display::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 45%), radial-gradient(circle at 84% 18%, rgba(116,227,255,.2), transparent 32%);
  pointer-events: none;
}
.lb-display-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--ink-muted) 72%, white 28%);
  margin-bottom: 14px;
}
.lb-display-led {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(180deg, #9df5ff, #3bc7ff);
  box-shadow: 0 0 12px rgba(59,199,255,.65);
  animation: radioBlink 2.4s ease-in-out infinite;
}
.lb-display-noise { margin-left: auto; }
.lb-display-vu {
  display: flex;
  align-items: end;
  gap: 6px;
  margin-top: 18px;
  height: 26px;
}
.lb-display-vu span {
  width: 7px;
  border-radius: 999px 999px 3px 3px;
  background: linear-gradient(180deg, rgba(111,228,255,.95), rgba(255,167,88,.9));
  box-shadow: 0 0 10px rgba(255,153,84,.18);
  animation: radioVu 1.8s ease-in-out infinite;
}
.lb-display-vu span:nth-child(1){height: 28%;animation-delay:0s}
.lb-display-vu span:nth-child(2){height: 62%;animation-delay:.12s}
.lb-display-vu span:nth-child(3){height: 44%;animation-delay:.24s}
.lb-display-vu span:nth-child(4){height: 82%;animation-delay:.36s}
.lb-display-vu span:nth-child(5){height: 38%;animation-delay:.48s}
.lb-display-vu span:nth-child(6){height: 72%;animation-delay:.6s}
@keyframes radioBlink { 0%,100%{opacity:.6} 50%{opacity:1} }
@keyframes radioVu {
  0%,100% { transform: scaleY(.72); opacity: .72; }
  50% { transform: scaleY(1.12); opacity: 1; }
}


/* Dreamer block */
.home-dreamer-block{
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(36px, 6vw, 72px);
}
.home-dreamer-grid{
  display:grid;
  grid-template-columns:minmax(320px, 1.1fr) minmax(280px, .9fr);
  gap:clamp(18px, 3vw, 42px);
  align-items:stretch;
}
.home-dreamer-media,
.home-dreamer-copy{
  position:relative;
  border:1px solid rgba(236,139,73,.24);
  border-radius:32px;
  overflow:hidden;
  min-height:clamp(320px, 42vw, 560px);
  background:radial-gradient(circle at 50% 25%, rgba(236,139,73,.18), rgba(7,10,18,.95) 68%);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.home-dreamer-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.02) contrast(1.04);
}
.home-dreamer-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,10,18,.06), rgba(8,10,18,.18) 38%, rgba(8,10,18,.68));
}
.home-dreamer-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px, 4vw, 54px);
  background:
    radial-gradient(circle at 22% 24%, rgba(255,176,93,.16), transparent 28%),
    radial-gradient(circle at 78% 72%, rgba(104,181,255,.12), transparent 24%),
    linear-gradient(145deg, rgba(13,20,38,.98), rgba(8,10,18,.98));
}
.home-dreamer-quote{
  margin:0;
  font-size:clamp(40px, 6vw, 92px);
  line-height:.96;
  letter-spacing:-0.04em;
  color:var(--ink);
  text-wrap:balance;
  max-width:10ch;
}
.home-dreamer-quote::before,
.home-dreamer-quote::after{content:none;}

/* Future vision restored door feeling */
#future-vision .future-reveal-grid{
  gap:clamp(18px, 2vw, 26px);
}
#future-vision .future-reveal-card{
  min-height:420px;
  border-radius:30px;
  overflow:hidden;
  isolation:isolate;
}
#future-vision .future-reveal-front{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:34px 28px 34px;
  background:
    radial-gradient(circle at 50% 28%, rgba(255,188,120,.10), transparent 28%),
    linear-gradient(180deg, rgba(45,84,138,.58) 0 34%, rgba(24,52,94,.76) 34% 100%);
}
#future-vision .future-reveal-front::after{
  content:"";
  position:absolute;
  inset:34% 0 0;
  background:linear-gradient(180deg, rgba(12,24,48,.06), rgba(11,28,56,.24));
  z-index:-1;
}
#future-vision .future-reveal-number{
  top:18px;
  left:22px;
  font-size:clamp(58px, 7vw, 86px);
  line-height:.9;
  color:rgba(236,139,73,.92);
}
#future-vision .future-reveal-tag--front{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-56%);
  width:min(80%, 11ch);
  text-align:center;
  font-size:clamp(24px, 3vw, 52px);
  line-height:.88;
  letter-spacing:-0.05em;
  text-transform:uppercase;
  color:rgba(245,240,232,.95);
  text-wrap:balance;
}
#future-vision .future-reveal-glyph,
#future-vision .future-reveal-label{display:none;}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-10px) scale(.985);
  filter:brightness(1.04);
}
#future-vision .future-reveal-back{
  background:
    radial-gradient(circle at 50% 18%, rgba(255,183,99,.12), transparent 30%),
    linear-gradient(180deg, rgba(10,16,30,.96), rgba(9,12,22,.98));
}
#future-vision .future-reveal-back h3{
  font-size:clamp(28px, 3vw, 44px);
  line-height:.95;
}
#future-vision .future-reveal-flow{
  gap:10px;
}
#future-vision .future-reveal-flow span{
  background:rgba(14,26,50,.72);
  border-color:rgba(255,255,255,.12);
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-tag--front{
  width:min(82%, 10ch);
}

/* Sonic proof alignment + responsive refinement */
#sonic-proof .sonic-proof-cluster{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.72fr) minmax(280px,.72fr);
  gap:clamp(16px, 2vw, 22px);
  align-items:stretch;
}
#sonic-proof .track-hero,
#sonic-proof .manifesto-audio-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
#sonic-proof .track-hero > div:first-child,
#sonic-proof .manifesto-audio-card > div:first-child{
  flex:1 1 auto;
}
#sonic-proof .track-hero h2,
#sonic-proof .manifesto-audio-card h3{
  line-height:.9;
}
#sonic-proof .track-hero h2{
  max-width:7.4ch;
}
#sonic-proof .manifesto-audio-card h3{
  min-height:2.1em;
  display:block;
}
#sonic-proof .manifesto-cover-wrap{
  width:min(176px, 62%);
  aspect-ratio:1;
  margin:22px auto 18px;
}
#sonic-proof .manifesto-cover-wrap img,
#sonic-proof .track-cover-oval img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#sonic-proof .track-hero .btn-group,
#sonic-proof .manifesto-audio-card .track-actions{
  margin-top:auto;
}
#sonic-proof .track-hero .lede{
  max-width:34ch;
}
@media (max-width: 1180px){
  #sonic-proof .sonic-proof-cluster{
    grid-template-columns:1fr 1fr;
  }
  #sonic-proof .track-hero{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(240px,.72fr);
    gap:26px;
    align-items:center;
  }
  #sonic-proof .track-hero .track-cover-oval{
    margin:0 auto;
  }
}
@media (max-width: 900px){
  #sonic-proof .track-hero{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-hero .track-cover-oval{
    width:min(320px, 72vw);
  }
}
@media (max-width: 760px){
  #sonic-proof .sonic-proof-cluster{
    grid-template-columns:1fr;
  }
  #sonic-proof .manifesto-audio-card{
    min-height:0;
  }
  #sonic-proof .manifesto-audio-card p{
    display:none;
  }
  #sonic-proof .manifesto-audio-card h3{
    min-height:0;
  }
  #sonic-proof .manifesto-audio-card .eyebrow,
  #sonic-proof .manifesto-audio-card .track-meta{
    margin-bottom:10px;
  }
}
@media (max-width: 560px){
  #sonic-proof .track-hero h2{max-width:none;}
  #sonic-proof .track-hero .btn-group{gap:12px;}
  #sonic-proof .track-hero .btn-group .btn-secondary{display:none;}
  #sonic-proof .track-hero .lede{font-size:clamp(18px, 4.2vw, 22px);}
  #sonic-proof .manifesto-audio-card .eyebrow:last-of-type,
  #sonic-proof .manifesto-audio-card .track-meta + p{display:none;}
}


/* Dreamer block fix + future restore */
.home-dreamer-block{
  padding-top:clamp(42px,6vw,78px);
  padding-bottom:clamp(42px,6vw,78px);
}
.home-dreamer-grid{
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(320px,1.08fr);
  gap:clamp(18px,3vw,40px);
  align-items:stretch;
}
.home-dreamer-copy{order:1;}
.home-dreamer-media{order:2;}
.home-dreamer-media,
.home-dreamer-copy{
  position:relative;
  min-height:clamp(320px,42vw,540px);
  border:1px solid rgba(236,139,73,.24);
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.34);
}
.home-dreamer-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-dreamer-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(9,10,17,.05), rgba(9,10,17,.2) 35%, rgba(9,10,17,.72));
}
.home-dreamer-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(26px,4vw,56px);
  background:radial-gradient(circle at 24% 24%, rgba(255,183,99,.16), transparent 28%), linear-gradient(145deg, rgba(13,20,38,.98), rgba(8,10,18,.98));
}
.home-dreamer-quote{
  margin:0;
  font-size:clamp(42px,6vw,94px);
  line-height:.95;
  letter-spacing:-0.045em;
  color:var(--ink);
  max-width:9.5ch;
  text-wrap:balance;
}
.home-dreamer-quote::before,
.home-dreamer-quote::after{content:none;}
#future-vision .future-reveal-front{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:34px 28px;
  background:linear-gradient(180deg, rgba(43,83,137,.58) 0 33%, rgba(24,52,94,.76) 33% 100%);
}
#future-vision .future-reveal-tag--front{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-56%);
  width:min(78%,11ch);
  text-align:center;
  font-size:clamp(24px,3vw,52px);
  line-height:.88;
  letter-spacing:-0.05em;
  text-transform:uppercase;
  color:rgba(245,240,232,.95);
  text-wrap:balance;
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-tag--front{
  width:min(84%,12ch);
  font-size:clamp(22px,2.7vw,44px);
}
#future-vision .future-reveal-mark{
  position:absolute;
  top:22px;
  right:24px;
  font-size:clamp(64px,8vw,104px);
  line-height:1;
  color:rgba(236,139,73,.86);
  text-shadow:0 0 24px rgba(236,139,73,.18);
  pointer-events:none;
}
#future-vision .future-reveal-front .future-reveal-tag--front{
  max-width:10ch;
  font-size:clamp(22px,2.6vw,42px);
  line-height:.92;
}
#future-vision .future-reveal-card:hover .future-reveal-mark,
#future-vision .future-reveal-card:focus-within .future-reveal-mark{
  transform:translateY(-4px) scale(1.02);
  color:rgba(255,179,102,.98);
}
@media (max-width: 900px){
  .home-dreamer-grid{grid-template-columns:1fr;}
  .home-dreamer-copy,.home-dreamer-media{order:initial;}
}

.home-dreamer-quote span{ color: var(--r-orange); }


/* Lifeblood seal teaser and channel card final overrides */
.seal-teaser-card{position:relative;overflow:hidden;isolation:isolate;}
.seal-teaser-card img{position:relative;z-index:1;}
.seal-teaser-card strong,.seal-teaser-card span,.seal-teaser-card p{position:relative;z-index:2;}
.seal-teaser-card::after{z-index:4 !important;}
.seal-teaser-card:hover::after,.seal-teaser-card:focus-visible::after{z-index:4 !important;}

/* Final homepage polish: seal stamp, future reveal, festival phone */
.seal-teaser-card{
  overflow: visible !important;
  position: relative;
  isolation: isolate;
}
.seal-teaser-card::after{
  content:"EARN IT";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%) scale(.72) rotate(-12deg);
  padding:clamp(10px, 1.5vw, 14px) clamp(16px, 2vw, 24px);
  border:2px solid rgba(255,140,42,.95);
  color:#ff8e32;
  font-size:clamp(1.1rem, 2vw, 1.6rem);
  letter-spacing:.28em;
  font-weight:800;
  text-transform:uppercase;
  border-radius:999px;
  background:rgba(12,10,18,.78);
  box-shadow:0 0 0 1px rgba(255,153,62,.2), 0 0 34px rgba(255,123,28,.28);
  opacity:0;
  z-index:6;
  pointer-events:none;
  transition:opacity .34s ease, transform .42s ease, filter .34s ease;
  filter:blur(4px);
  white-space:nowrap;
}
.seal-teaser-card:hover,
.seal-teaser-card:focus-visible{
  border-color:rgba(255,137,48,.92);
  box-shadow:0 18px 42px rgba(255,111,0,.18), inset 0 0 0 1px rgba(255,163,76,.22);
  background:radial-gradient(circle at 50% 35%, rgba(32,26,18,.78), rgba(10,10,16,.96) 72%);
}
.seal-teaser-card:hover::after,
.seal-teaser-card:focus-visible::after{
  opacity:.96;
  transform:translate(-50%, -50%) scale(1) rotate(-11deg);
  filter:blur(0);
}
.seal-teaser-card > *{ position:relative; z-index:2; }

#why-this-exists .movement-split{
  align-items:stretch;
  grid-template-columns:minmax(0, 1fr) minmax(320px, .92fr);
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:100%;
  height:100%;
}
#why-this-exists .festival-phone-stage{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:clamp(24px, 3vw, 34px);
}
#why-this-exists .festival-phone-stage__glow{
  inset:10% 14% auto;
  height:68%;
}
#why-this-exists .festival-phone{
  margin:auto;
  width:min(100%, 320px);
  aspect-ratio:9 / 18.7;
  flex:0 0 auto;
}
#why-this-exists .festival-phone-stage__caption{
  position:relative;
  inset:auto;
  width:100%;
  max-width:360px;
  margin:0 auto;
  padding:0;
  background:none;
  border:none;
  box-shadow:none;
  text-align:left;
}
#why-this-exists .festival-phone-stage__caption strong{
  display:block;
  font-size:.86rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
}
#why-this-exists .festival-phone-stage__caption span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  line-height:1.55;
  max-width:32ch;
}

#future-vision .future-quest-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(16px, 2vw, 24px);
}
#future-vision .future-reveal-card{
  position:relative;
  min-height:260px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,168,88,.18);
  background:linear-gradient(180deg, rgba(26,58,108,.96), rgba(17,43,82,.92));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 20px 50px rgba(2,6,18,.22);
  isolation:isolate;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:50.5%;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 24%),
    linear-gradient(180deg, rgba(60,104,171,.95), rgba(28,63,117,.95));
  transition:transform .7s cubic-bezier(.2,.82,.16,.98), opacity .55s ease;
}
#future-vision .future-reveal-card::before{
  left:0;
  border-right:1px solid rgba(255,188,120,.12);
}
#future-vision .future-reveal-card::after{
  right:0;
  border-left:1px solid rgba(255,188,120,.12);
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-102%);
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(102%);
}
#future-vision .future-reveal-front,
#future-vision .future-reveal-back{
  position:absolute;
  inset:0;
  padding:clamp(22px, 3vw, 28px);
}
#future-vision .future-reveal-front{
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  transition:transform .72s cubic-bezier(.2,.82,.16,.98), opacity .52s ease;
}
#future-vision .future-reveal-number{
  position:absolute;
  top:22px;
  left:24px;
  font-size:clamp(3.3rem, 7vw, 5.1rem);
  line-height:.9;
  letter-spacing:-.04em;
  color:#ffc95d;
  text-shadow:0 0 26px rgba(255,177,68,.18);
}
#future-vision .future-reveal-mark{
  position:absolute;
  right:26px;
  top:22px;
  font-size:clamp(4rem, 7vw, 5.2rem);
  line-height:.82;
  color:rgba(255,245,224,.92);
  text-shadow:0 0 32px rgba(255,255,255,.12);
}
#future-vision .future-reveal-tag--front{
  max-width:10ch;
  font-size:clamp(2rem, 4.1vw, 3.05rem);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.03em;
  text-transform:uppercase;
  color:var(--ink);
  text-shadow:0 8px 28px rgba(0,0,0,.18);
}
#future-vision .future-reveal-back{
  z-index:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,199,115,.16), transparent 34%),
    linear-gradient(180deg, rgba(18,41,79,.66), rgba(9,21,42,.94));
  opacity:0;
  transform:translateY(14px);
  transition:opacity .58s ease .14s, transform .68s cubic-bezier(.2,.82,.16,.98) .14s;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-26px) scale(.98);
  opacity:.08;
}
#future-vision .future-reveal-card:hover .future-reveal-back,
#future-vision .future-reveal-card:focus-within .future-reveal-back{
  opacity:1;
  transform:translateY(0);
  z-index:3;
}
#future-vision .future-reveal-tag{
  width:max-content;
  max-width:100%;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,198,115,.28);
  background:rgba(11,17,32,.48);
  color:#ffd17f;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
#future-vision .future-reveal-back h3{
  margin:0;
  font-size:clamp(1.55rem, 2.4vw, 2.2rem);
  line-height:1.02;
  color:var(--ink);
}
#future-vision .future-reveal-back p{
  margin:0;
  font-size:1rem;
  line-height:1.55;
  color:var(--muted);
  max-width:29ch;
}

#sonic-proof .sonic-proof-cluster{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(300px, .88fr);
  gap:clamp(16px, 2vw, 24px);
  align-items:stretch;
}
#sonic-proof .track-hero{
  min-width:0;
  display:flex;
  flex-direction:column;
}
#sonic-proof .track-hero > div:first-child{ min-width:0; }
#sonic-proof .track-hero h2,
#sonic-proof .track-card h3{
  line-height:.94;
}
#sonic-proof .track-hero .cover-art{
  width:min(100%, 360px);
  aspect-ratio:1;
  align-self:center;
  object-fit:cover;
}
#sonic-proof .track-side-stack{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(16px, 1.8vw, 20px);
  min-width:0;
}
#sonic-proof .track-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
#sonic-proof .track-card__body{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
}
#sonic-proof .track-card .cover-art{
  width:min(100%, 160px);
  aspect-ratio:1;
  object-fit:cover;
  align-self:center;
}
#sonic-proof .track-card .btn{
  margin-top:auto;
}

@media (max-width: 1320px){
  #sonic-proof .sonic-proof-cluster{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-side-stack{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 1100px){
  #why-this-exists .movement-split{
    grid-template-columns:1fr;
  }
  #why-this-exists .festival-phone-stage__caption{
    max-width:420px;
    text-align:center;
  }
  #why-this-exists .festival-phone-stage__caption span{
    max-width:none;
  }
}
@media (max-width: 900px){
  #future-vision .future-quest-grid{
    grid-template-columns:1fr;
  }
  #future-vision .future-reveal-card{
    min-height:220px;
  }
  #why-this-exists .festival-phone{
    width:min(100%, 280px);
  }
}
@media (max-width: 760px){
  .seal-teaser-card::after{
    font-size:.95rem;
    letter-spacing:.2em;
    padding:9px 14px;
  }
  #sonic-proof .track-side-stack{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-card__body p,
  #sonic-proof .track-card__body .small-copy,
  #sonic-proof .track-card__body .track-copy-optional{
    display:none;
  }
  #sonic-proof .track-card{
    min-height:unset;
  }
}


/* Codex pass: tighten the three active sections */
#why-this-exists .movement-split{
  gap:clamp(18px, 2vw, 24px);
}
#why-this-exists .frustration-story-panel{
  display:flex;
  flex-direction:column;
}
#why-this-exists .frustration-story-panel .btn-group{
  margin-top:auto;
}
#why-this-exists .festival-phone-stage{
  justify-content:flex-start;
  gap:16px;
}
#why-this-exists .festival-phone{
  width:min(100%, 360px);
}
#why-this-exists .festival-phone-stage__caption{
  max-width:360px;
}
@media (max-width: 900px){
  #why-this-exists .festival-phone-stage{
    padding-bottom:18px;
  }
}

#future-vision .future-quest-grid{
  gap:clamp(14px, 1.8vw, 20px);
}
#future-vision .future-reveal-card{
  min-height:220px;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  width:52%;
  transition:transform 2s cubic-bezier(.2,.82,.16,.98), opacity 1.7s ease;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 18%),
    linear-gradient(180deg, rgba(56,98,162,.98), rgba(18,44,85,.98));
}
#future-vision .future-reveal-card::before{
  box-shadow:inset -1px 0 0 rgba(255,208,140,.16), inset -24px 0 22px rgba(10,18,34,.16);
}
#future-vision .future-reveal-card::after{
  box-shadow:inset 1px 0 0 rgba(255,208,140,.16), inset 24px 0 22px rgba(10,18,34,.16);
}
#future-vision .future-reveal-front,
#future-vision .future-reveal-back{
  transition:transform 2s cubic-bezier(.2,.82,.16,.98), opacity 1.85s ease;
}
#future-vision .future-reveal-front{
  justify-content:center;
  align-items:center;
  gap:12px;
}
#future-vision .future-reveal-number{
  color:#ffd45e;
  text-shadow:0 0 20px rgba(255,197,86,.16);
}
#future-vision .future-reveal-mark{
  top:20px;
  right:22px;
  width:auto;
  height:auto;
  border:0;
  background:none;
  box-shadow:none;
  color:#f7ead7;
  font-size:clamp(1.8rem, 2.8vw, 2.8rem);
  line-height:1;
  transform:none;
}
#future-vision .future-reveal-tag--front{
  max-width:11ch;
  font-size:clamp(1.9rem, 3.15vw, 2.85rem);
  line-height:.92;
  transform:translateY(0);
  transition:transform 2s cubic-bezier(.2,.82,.16,.98), top 2s cubic-bezier(.2,.82,.16,.98), font-size 2s cubic-bezier(.2,.82,.16,.98), letter-spacing 2s cubic-bezier(.2,.82,.16,.98), opacity 1.2s ease;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-12px) scale(.985);
  opacity:.12;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:18px;
  transform:translateY(0);
  font-size:clamp(1rem, 1.35vw, 1.25rem);
  letter-spacing:.18em;
}
#future-vision .future-reveal-back{
  transform:translateY(18px);
}
#future-vision .future-reveal-back h3{
  max-width:13ch;
}
#future-vision .future-reveal-back p{
  max-width:30ch;
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-tag--front{
  max-width:10ch;
}

#sonic-proof .sonic-proof-cluster{
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
}
#sonic-proof .track-hero{
  gap:16px;
}
#sonic-proof .track-hero .cover-art{
  width:min(100%, 430px);
}
#sonic-proof .track-side-stack{
  gap:clamp(14px, 1.6vw, 18px);
  align-items:stretch;
}
#sonic-proof .track-card{
  justify-content:flex-start;
  gap:16px;
}
#sonic-proof .track-card__body{
  gap:10px;
}
#sonic-proof .track-card h3{
  min-height:2.25em;
}
#sonic-proof .track-card .cover-art{
  width:min(100%, 220px);
}
@media (max-width: 1180px){
  #sonic-proof .sonic-proof-cluster{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-side-stack{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  #sonic-proof .track-hero{
    grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);
    align-items:center;
  }
}
@media (max-width: 900px){
  #sonic-proof .track-hero{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-hero .cover-art{
    width:min(100%, 360px);
  }
}
@media (max-width: 760px){
  #sonic-proof .track-side-stack{
    grid-template-columns:1fr;
  }
  #sonic-proof .track-card__body p,
  #sonic-proof .track-card__body .small-copy,
  #sonic-proof .track-card__body .track-copy-optional{
    display:none;
  }
}

#what-is-intentional-deeper .freq-card{
  position:relative;
  overflow:hidden;
  --mx:50%;
  --my:50%;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,169,72,.26), transparent 28%),
    linear-gradient(180deg, rgba(18,41,79,.96), rgba(9,16,32,.97));
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
#what-is-intentional-deeper .freq-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,140,45,.18), transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,0), rgba(255,199,95,.08), rgba(255,255,255,0));
  opacity:.65;
  transition:opacity .35s ease;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translateY(-6px) scale(1.01);
  box-shadow:0 18px 40px rgba(255,124,0,.12), inset 0 0 0 1px rgba(255,176,95,.18);
}
#what-is-intentional-deeper .freq-card:hover::before,
#what-is-intentional-deeper .freq-card:focus-within::before{
  opacity:1;
}


/* Codex pass: final alignment, reveal pacing, and pointer polish */

#why-this-exists .movement-split{
  gap:clamp(18px, 2vw, 24px);
  align-items:stretch;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
}
#why-this-exists .festival-phone-stage{
  justify-content:space-between;
  gap:16px;
}
#why-this-exists .festival-phone-stage__caption{
  margin-top:auto;
  max-width:360px;
}
@media (max-width:1100px){
  #why-this-exists .movement-split{ grid-template-columns:1fr; }
  #why-this-exists .festival-phone-stage__caption{ max-width:420px; text-align:center; }
  #why-this-exists .festival-phone-stage__caption span{ max-width:none; }
}

#future-vision .future-quest-grid{
  gap:clamp(12px, 1.4vw, 18px);
  align-items:stretch;
}
#future-vision .future-reveal-card{
  min-height:clamp(220px, 22vw, 280px);
  perspective:1400px;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  width:50%;
  transition:transform 2s cubic-bezier(.16,.9,.18,1), opacity 1.9s ease;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 20%),
    linear-gradient(180deg, rgba(61,107,176,.96), rgba(18,45,88,.98));
  box-shadow:inset 0 0 0 1px rgba(255,200,130,.08);
}
#future-vision .future-reveal-front,
#future-vision .future-reveal-back{
  transition:transform 2s cubic-bezier(.16,.9,.18,1), opacity 1.9s ease;
}
#future-vision .future-reveal-front{
  justify-content:center;
  align-items:center;
}
#future-vision .future-reveal-number{
  color:#ffd55a;
  text-shadow:0 0 20px rgba(255,197,86,.16);
}
#future-vision .future-reveal-mark{
  top:16px;
  right:18px;
  width:auto;
  height:auto;
  border:0;
  background:none;
  box-shadow:none;
  color:#f7ead7;
  font-size:clamp(1.6rem, 2.5vw, 2.6rem);
  line-height:1;
  transform:none;
}
#future-vision .future-reveal-tag--front{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  max-width:min(11ch, calc(100% - 80px));
  font-size:clamp(1.7rem, 2.8vw, 2.8rem);
  line-height:.92;
  text-align:center;
  text-wrap:balance;
  transition:
    top 2s cubic-bezier(.16,.9,.18,1),
    transform 2s cubic-bezier(.16,.9,.18,1),
    font-size 2s cubic-bezier(.16,.9,.18,1),
    letter-spacing 2s cubic-bezier(.16,.9,.18,1),
    opacity 1.5s ease;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-10px);
  opacity:.08;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:24px;
  transform:translate(-50%, 0);
  font-size:clamp(1rem, 1.15vw, 1.2rem);
  letter-spacing:.18em;
}
#future-vision .future-reveal-back{
  padding-top:clamp(92px, 8vw, 120px);
  transform:translateY(20px);
}
#future-vision .future-reveal-back h3{
  max-width:14ch;
}
#future-vision .future-reveal-back p{
  max-width:32ch;
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-tag--front{
  max-width:10ch;
}

#sonic-proof .sonic-proof-cluster{
  gap:clamp(14px, 1.6vw, 22px);
  align-items:stretch;
  grid-template-columns:minmax(0, 1.18fr) minmax(0, .82fr);
}
#sonic-proof .track-hero{
  gap:18px;
}
#sonic-proof .track-hero .cover-art{
  width:min(100%, 500px);
}
#sonic-proof .track-side-stack{
  gap:clamp(14px, 1.4vw, 18px);
  align-items:stretch;
}
#sonic-proof .track-card{
  min-height:100%;
  gap:14px;
}
#sonic-proof .track-card__body{
  gap:12px;
}
#sonic-proof .track-card h3{
  min-height:0;
  line-height:.92;
}
#sonic-proof .track-card .cover-art{
  width:min(100%, 280px);
}
#sonic-proof .track-card .btn{
  align-self:flex-start;
}
@media (max-width:1180px){
  #sonic-proof .sonic-proof-cluster{ grid-template-columns:1fr; }
  #sonic-proof .track-side-stack{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #sonic-proof .track-hero{ grid-template-columns:minmax(0, 1fr) minmax(260px, .72fr); align-items:center; }
  #sonic-proof .track-hero .cover-art{ width:min(100%, 420px); }
  #sonic-proof .track-card .cover-art{ width:min(100%, 260px); }
}
@media (max-width:900px){
  #sonic-proof .track-hero{ grid-template-columns:1fr; }
  #sonic-proof .track-side-stack{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #sonic-proof .track-card .cover-art{ width:min(100%, 220px); }
}
@media (max-width:700px){
  #sonic-proof .track-side-stack{ grid-template-columns:1fr; }
  #sonic-proof .track-card__body p,
  #sonic-proof .track-card__body .small-copy,
  #sonic-proof .track-card__body .track-copy-optional{ display:none; }
  #sonic-proof .track-card{ min-height:unset; }
}

#what-is-intentional-deeper .freq-card{
  position:relative;
  overflow:hidden;
  --mx:50%;
  --my:50%;
  --rx:0deg;
  --ry:0deg;
  transform:translateY(0) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  will-change:transform;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,169,72,.22), transparent 28%),
    linear-gradient(180deg, rgba(18,41,79,.96), rgba(9,16,32,.97));
  transition:transform .45s ease, box-shadow .45s ease, border-color .35s ease, background .35s ease;
}
#what-is-intentional-deeper .freq-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,140,45,.18), transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,0), rgba(255,199,95,.10), rgba(255,255,255,0));
  opacity:.72;
  transition:opacity .35s ease;
}
#what-is-intentional-deeper .freq-card > *{
  position:relative;
  z-index:1;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translateY(-8px) scale(1.01) rotateX(var(--rx)) rotateY(var(--ry));
  box-shadow:0 18px 40px rgba(255,124,0,.14), inset 0 0 0 1px rgba(255,176,95,.2);
}
#what-is-intentional-deeper .freq-card:hover::before,
#what-is-intentional-deeper .freq-card:focus-within::before{
  opacity:1;
}
@media (max-width: 900px){
  #future-vision .future-quest-grid{ gap:12px; }
  #future-vision .future-reveal-card{ min-height:210px; }
  #future-vision .future-reveal-back{ padding-top:88px; }
}
@media (max-width: 680px){
  #future-vision .future-reveal-card{ min-height:190px; }
  #future-vision .future-reveal-tag--front{
    max-width:12ch;
    font-size:clamp(1.45rem, 6vw, 2rem);
  }
  #future-vision .future-reveal-card:hover .future-reveal-tag--front,
  #future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
    top:18px;
    font-size:.98rem;
  }
}


/* Codex pass: future tiles, sonic proof, festival alignment, resonance motion */
#why-this-exists .movement-split{
  gap:clamp(16px, 2vw, 24px);
  align-items:stretch;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  height:100%;
  min-height:clamp(560px, 58vw, 740px);
  display:flex;
  flex-direction:column;
}
#why-this-exists .festival-phone-stage{
  justify-content:space-between;
  gap:16px;
}
#why-this-exists .festival-phone{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
#why-this-exists .festival-phone-stage__caption{
  margin-top:0;
  max-width:420px;
}
#why-this-exists .festival-phone-stage__caption strong{
  display:block;
  margin-bottom:6px;
}
#why-this-exists .festival-phone-stage__caption span{
  max-width:none;
}

#future-vision .future-quest-grid{
  gap:clamp(14px, 1.6vw, 20px);
}
#future-vision .future-reveal-card{
  min-height:clamp(210px, 20vw, 250px);
  perspective:1800px;
}
#future-vision .future-reveal-mark{
  display:none !important;
}
#future-vision .future-reveal-front,
#future-vision .future-reveal-back{
  transition:
    transform 2s cubic-bezier(.2,.85,.18,1),
    opacity 1.9s ease,
    filter 1.9s ease;
}
#future-vision .future-reveal-front{
  display:grid;
  place-items:center;
  padding:24px;
}
#future-vision .future-reveal-number{
  color:#ffd85f;
  text-shadow:0 0 20px rgba(255,197,86,.18);
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:50%;
  pointer-events:none;
  opacity:.92;
  transition:
    transform 2s cubic-bezier(.2,.85,.18,1),
    opacity 1.8s ease;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 18%),
    linear-gradient(180deg, rgba(61,107,176,.95), rgba(18,45,88,.97));
}
#future-vision .future-reveal-card::before{
  left:0;
  border-right:1px solid rgba(255,200,130,.08);
  transform-origin:left center;
}
#future-vision .future-reveal-card::after{
  right:0;
  border-left:1px solid rgba(255,200,130,.08);
  transform-origin:right center;
}
#future-vision .future-reveal-tag--front{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(13ch, calc(100% - 70px));
  max-width:none;
  font-size:clamp(1.6rem, 2.6vw, 2.55rem);
  line-height:.95;
  text-align:center;
  text-wrap:balance;
  transition:
    top 2s cubic-bezier(.2,.85,.18,1),
    transform 2s cubic-bezier(.2,.85,.18,1),
    font-size 2s cubic-bezier(.2,.85,.18,1),
    letter-spacing 2s cubic-bezier(.2,.85,.18,1),
    opacity 1.7s ease,
    max-width 2s cubic-bezier(.2,.85,.18,1);
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-12%) scaleX(.14);
  opacity:.52;
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(12%) scaleX(.14);
  opacity:.52;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-8px);
  filter:brightness(.82);
  opacity:.15;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:22px;
  transform:translate(-50%, 0);
  font-size:.98rem;
  letter-spacing:.18em;
}
#future-vision .future-reveal-back{
  padding-top:clamp(92px, 8vw, 120px);
  transform:translateY(12px);
  opacity:.98;
}
#future-vision .future-reveal-back h3{
  max-width:13ch;
}
#future-vision .future-reveal-back p{
  max-width:32ch;
}

#sonic-proof .sonic-proof-cluster{
  gap:clamp(16px, 1.8vw, 24px);
  align-items:stretch;
  grid-template-columns:minmax(0, 1.16fr) minmax(0, .84fr);
}
#sonic-proof .track-hero,
#sonic-proof .track-card{
  height:100%;
}
#sonic-proof .track-hero{
  gap:20px;
  align-content:start;
}
#sonic-proof .track-hero .cover-art{
  width:min(100%, 560px);
}
#sonic-proof .track-side-stack{
  gap:clamp(14px, 1.5vw, 20px);
  align-items:stretch;
}
#sonic-proof .track-card{
  gap:16px;
  padding:clamp(22px, 2.4vw, 30px);
  min-height:100%;
}
#sonic-proof .track-card__body{
  gap:10px;
}
#sonic-proof .track-card h3{
  min-height:0;
  line-height:.94;
}
#sonic-proof .track-card .cover-art{
  width:min(100%, 320px);
  aspect-ratio:1;
  margin-inline:auto;
}
#sonic-proof .track-card .btn{
  align-self:center;
  width:100%;
  max-width:320px;
}
@media (max-width:1180px){
  #sonic-proof .sonic-proof-cluster{ grid-template-columns:1fr; }
  #sonic-proof .track-side-stack{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  #sonic-proof .track-hero{ grid-template-columns:minmax(0,1fr) minmax(260px,.72fr); align-items:center; }
  #sonic-proof .track-hero .cover-art{ width:min(100%, 500px); }
  #sonic-proof .track-card .cover-art{ width:min(100%, 280px); }
}
@media (max-width:900px){
  #sonic-proof .track-hero{ grid-template-columns:1fr; }
  #sonic-proof .track-side-stack{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #sonic-proof .track-hero .cover-art{ width:min(100%, 420px); }
  #sonic-proof .track-card .cover-art{ width:min(100%, 260px); }
  #sonic-proof .track-card .btn{ max-width:none; }
}
@media (max-width:700px){
  #sonic-proof .track-side-stack{ grid-template-columns:1fr; }
  #sonic-proof .track-card__body p,
  #sonic-proof .track-card__body .small-copy,
  #sonic-proof .track-card__body .track-copy-optional{ display:none; }
  #sonic-proof .track-card{ min-height:unset; }
  #sonic-proof .track-hero .cover-art{ width:min(100%, 340px); }
  #sonic-proof .track-card .cover-art{ width:min(100%, 240px); }
}

#what-is-intentional-deeper .freq-card{
  position:relative;
  overflow:hidden;
  --mx:50%;
  --my:50%;
  --rx:0deg;
  --ry:0deg;
  --tx:0px;
  --ty:0px;
  transform:translate3d(var(--tx), var(--ty), 0) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;
  will-change:transform;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,169,72,.22), transparent 28%),
    linear-gradient(180deg, rgba(18,41,79,.96), rgba(9,16,32,.97));
  transition:transform .5s ease, box-shadow .45s ease, border-color .35s ease, background .35s ease;
}
#what-is-intentional-deeper .freq-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,140,45,.18), transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,0), rgba(255,199,95,.10), rgba(255,255,255,0));
  opacity:.72;
  transition:opacity .35s ease;
}
#what-is-intentional-deeper .freq-card > *{
  position:relative;
  z-index:1;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translate3d(var(--tx), var(--ty), 0) translateY(-8px) scale(1.01) rotateX(var(--rx)) rotateY(var(--ry));
  box-shadow:0 18px 40px rgba(255,124,0,.14), inset 0 0 0 1px rgba(255,176,95,.2);
}
#what-is-intentional-deeper .freq-card:hover::before,
#what-is-intentional-deeper .freq-card:focus-within::before{
  opacity:1;
}

@media (max-width: 900px){
  #future-vision .future-quest-grid{ gap:12px; }
  #future-vision .future-reveal-card{ min-height:200px; }
  #future-vision .future-reveal-back{ padding-top:86px; }
  #future-vision .future-reveal-tag--front{ width:min(14ch, calc(100% - 48px)); font-size:clamp(1.35rem, 5.8vw, 1.95rem); }
  #future-vision .future-reveal-card:hover .future-reveal-tag--front,
  #future-vision .future-reveal-card:focus-within .future-reveal-tag--front{ top:18px; font-size:1rem; }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{ min-height:unset; }
}
@media (max-width: 680px){
  #future-vision .future-reveal-card{ min-height:180px; }
  #future-vision .future-reveal-card:hover .future-reveal-front,
  #future-vision .future-reveal-card:focus-within .future-reveal-front{ transform:translateY(-6px); }
  #future-vision .future-reveal-back p{ max-width:28ch; }
  #sonic-proof .track-card .cover-art{ width:min(100%, 220px); }
  #sonic-proof .track-hero .cover-art{ width:min(100%, 300px); }
}

/* Codex pass: layout alignment refresh 2026-06-06 */
#why-this-exists .movement-split{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:clamp(14px, 1.6vw, 20px) !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(500px, 52vw, 660px) !important;
}
#why-this-exists .festival-phone-stage{
  justify-content:flex-start !important;
  gap:14px !important;
  padding-bottom:12px !important;
}
#why-this-exists .festival-phone{
  flex:1 1 auto !important;
  width:min(100%, 420px) !important;
  max-width:420px;
}
#why-this-exists .festival-phone-stage__caption{
  margin-top:auto !important;
  max-width:420px !important;
}
#why-this-exists .festival-phone-stage__caption strong{
  font-size:clamp(1rem, 1.3vw, 1.1rem);
}
#why-this-exists .festival-phone-stage__caption span{
  display:block;
  max-width:none;
}
@media (max-width:1100px){
  #why-this-exists .movement-split{ grid-template-columns:1fr !important; }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{ min-height:unset !important; }
  #why-this-exists .festival-phone-stage{ align-items:center !important; }
  #why-this-exists .festival-phone-stage__caption{ text-align:center !important; }
}
@media (max-width:680px){
  #why-this-exists .frustration-story-panel .display-2{ font-size:clamp(2.4rem, 12vw, 3.1rem); }
  #why-this-exists .festival-phone-stage__caption span{ font-size:clamp(.98rem, 3.9vw, 1.05rem); }
}

#future-vision .future-quest-grid{
  gap:clamp(12px, 1.2vw, 16px) !important;
}
#future-vision .future-reveal-card{
  min-height:clamp(190px, 18vw, 240px) !important;
  perspective:1600px !important;
  cursor:pointer;
}
#future-vision .future-reveal-mark{
  display:none !important;
}
#future-vision .future-reveal-front{
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  justify-items:center !important;
  gap:10px !important;
  padding:clamp(18px, 2vw, 26px) !important;
}
#future-vision .future-reveal-number{
  position:static !important;
  color:#ffd85f !important;
  font-size:clamp(2.3rem, 4.2vw, 4rem) !important;
  line-height:.9 !important;
  text-shadow:0 0 22px rgba(255,208,96,.16) !important;
}
#future-vision .future-reveal-tag--front{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:min(12ch,100%) !important;
  max-width:none !important;
  font-size:clamp(1.55rem, 2.6vw, 2.45rem) !important;
  line-height:.93 !important;
  text-align:center !important;
  text-wrap:balance !important;
  letter-spacing:.02em !important;
  transition:transform 2s cubic-bezier(.16,.9,.18,1), opacity 2s ease, letter-spacing 2s cubic-bezier(.16,.9,.18,1), filter 2s ease !important;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  width:50%;
  opacity:.96;
  transition:transform 2s cubic-bezier(.16,.9,.18,1), opacity 2s ease !important;
}
#future-vision .future-reveal-card::before{
  left:0;
  transform-origin:left center;
}
#future-vision .future-reveal-card::after{
  right:0;
  transform-origin:right center;
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-13%) scaleX(.12);
  opacity:.48;
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(13%) scaleX(.12);
  opacity:.48;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-14px) scale(.985) !important;
  opacity:.09 !important;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  filter:blur(.1px);
  letter-spacing:.16em !important;
}
#future-vision .future-reveal-back{
  padding-top:clamp(86px, 7.5vw, 110px) !important;
  transform:translateY(12px);
}
#future-vision .future-reveal-back h3{
  max-width:14ch;
}
#future-vision .future-reveal-back p{
  max-width:30ch;
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-tag--front{
  max-width:11ch;
}
@media (max-width:900px){
  #future-vision .future-reveal-card{ min-height:200px !important; }
}
@media (max-width:680px){
  #future-vision .future-reveal-card{ min-height:180px !important; }
  #future-vision .future-reveal-tag--front{ font-size:clamp(1.4rem, 6vw, 1.95rem) !important; }
  #future-vision .future-reveal-card:hover .future-reveal-tag--front,
  #future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
    font-size:1rem !important;
  }
}

#sonic-proof .sonic-proof-cluster{
  gap:clamp(14px, 1.5vw, 20px) !important;
  align-items:stretch !important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) !important;
}
#sonic-proof .track-hero{
  gap:18px !important;
}
#sonic-proof .track-hero .cover-art{
  width:min(100%, 580px) !important;
  max-width:580px;
}
#sonic-proof .track-side-stack{
  gap:clamp(12px, 1.2vw, 16px) !important;
}
#sonic-proof .track-card{
  gap:14px !important;
  padding:clamp(20px, 2.2vw, 28px) !important;
}
#sonic-proof .track-card .cover-art{
  width:min(100%, 300px) !important;
  max-width:300px;
}
#sonic-proof .track-card h3{
  line-height:.9 !important;
}
@media (max-width:1180px){
  #sonic-proof .track-hero .cover-art{ width:min(100%, 500px) !important; }
  #sonic-proof .track-card .cover-art{ width:min(100%, 300px) !important; }
}
@media (max-width:900px){
  #sonic-proof .track-hero .cover-art{ width:min(100%, 420px) !important; }
  #sonic-proof .track-card .cover-art{ width:min(100%, 280px) !important; }
}
@media (max-width:700px){
  #sonic-proof .track-card .cover-art{ width:min(100%, 220px) !important; }
}

#what-is-intentional-deeper .freq-card{
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:transform .5s ease, box-shadow .45s ease, border-color .35s ease, background .35s ease;
}
#what-is-intentional-deeper .freq-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255,180,72,.22), transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,0), rgba(255,203,92,.12), rgba(255,255,255,0));
  opacity:.72;
  transition:opacity .35s ease;
}
#what-is-intentional-deeper .freq-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,142,47,.10) 70%, rgba(255,142,47,.28));
  opacity:.14;
  transform:translateY(18%);
  transition:opacity .4s ease, transform .5s ease;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translate3d(var(--tx), var(--ty), 0) translateY(-10px) scale(1.015) rotateX(var(--rx)) rotateY(var(--ry));
  box-shadow:0 18px 44px rgba(255,124,0,.16), inset 0 0 0 1px rgba(255,176,95,.24);
}
#what-is-intentional-deeper .freq-card:hover::before,
#what-is-intentional-deeper .freq-card:focus-within::before{
  opacity:1;
}
#what-is-intentional-deeper .freq-card:hover::after,
#what-is-intentional-deeper .freq-card:focus-within::after{
  opacity:.4;
  transform:translateY(0);
}

/* Codex pass: future vision / sonic proof / resonance polish 2026-06-06 */
#future-vision .future-quest-grid{
  gap:clamp(10px, 1.15vw, 15px) !important;
  align-items:stretch !important;
}
#future-vision .future-reveal-card{
  min-height:clamp(160px, 15vw, 214px) !important;
  overflow:hidden !important;
  cursor:pointer;
}
#future-vision .future-reveal-front{
  position:relative !important;
  display:block !important;
  min-height:100% !important;
  padding:clamp(18px, 1.8vw, 24px) !important;
}
#future-vision .future-reveal-number{
  position:absolute !important;
  top:clamp(16px, 1.6vw, 22px) !important;
  left:clamp(16px, 1.6vw, 22px) !important;
  color:#ffd960 !important;
  font-size:clamp(2.15rem, 3.8vw, 3.55rem) !important;
  line-height:.88 !important;
  text-shadow:0 0 24px rgba(255,211,96,.18) !important;
}
#future-vision .future-reveal-mark{
  display:none !important;
}
#future-vision .future-reveal-tag--front{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(14ch, calc(100% - 72px)) !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--ink) !important;
  text-align:center !important;
  line-height:.92 !important;
  letter-spacing:.02em !important;
  text-wrap:balance !important;
  transition:
    top 2s cubic-bezier(.16,.9,.18,1),
    left 2s cubic-bezier(.16,.9,.18,1),
    transform 2s cubic-bezier(.16,.9,.18,1),
    width 2s cubic-bezier(.16,.9,.18,1),
    font-size 2s cubic-bezier(.16,.9,.18,1),
    opacity 2s ease,
    letter-spacing 2s cubic-bezier(.16,.9,.18,1),
    filter 2s ease !important;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:22px !important;
  left:24px !important;
  transform:none !important;
  width:calc(100% - 48px) !important;
  font-size:clamp(1.02rem, 1.35vw, 1.18rem) !important;
  letter-spacing:.18em !important;
  text-align:left !important;
  opacity:.96 !important;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  width:50%;
  opacity:.94;
  transition:transform 2s cubic-bezier(.16,.9,.18,1), opacity 2s ease, filter 2s ease !important;
  filter:saturate(1.08);
}
#future-vision .future-reveal-card::before{
  left:0;
  transform-origin:left center;
}
#future-vision .future-reveal-card::after{
  right:0;
  transform-origin:right center;
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-12%) scaleX(.08);
  opacity:.38;
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(12%) scaleX(.08);
  opacity:.38;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  transform:translateY(-10px) scale(.99) !important;
  opacity:.08 !important;
}
#future-vision .future-reveal-back{
  padding-top:clamp(82px, 6.8vw, 106px) !important;
}
#future-vision .future-reveal-back h3{
  max-width:13ch;
}
#future-vision .future-reveal-back p{
  max-width:28ch;
}
#future-vision .future-reveal-card[data-reveal-theme="festival"] .future-reveal-back h3{
  max-width:12ch;
}
@media (max-width:900px){
  #future-vision .future-quest-grid{ gap:10px !important; }
  #future-vision .future-reveal-card{ min-height:172px !important; }
  #future-vision .future-reveal-tag--front{
    width:min(13ch, calc(100% - 60px)) !important;
  }
}
@media (max-width:680px){
  #future-vision .future-reveal-card{
    min-height:160px !important;
  }
  #future-vision .future-reveal-tag--front{
    font-size:clamp(1.2rem, 5.4vw, 1.72rem) !important;
  }
  #future-vision .future-reveal-card:hover .future-reveal-tag--front,
  #future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
    font-size:1rem !important;
  }
}

#sonic-proof .sonic-proof-cluster{
  gap:clamp(12px, 1.35vw, 18px) !important;
  align-items:stretch !important;
}
#sonic-proof .track-hero{
  gap:16px !important;
}
#sonic-proof .track-card{
  gap:12px !important;
}
#sonic-proof .track-card .manifesto-audio-cover,
#sonic-proof .track-card .cover-art{
  width:clamp(150px, 18vw, 240px) !important;
  max-width:240px !important;
}
#sonic-proof .manifesto-audio-cover-wrap{
  min-height:clamp(160px, 20vw, 220px) !important;
}
#sonic-proof .track-card h4{
  max-width:8ch;
}
#sonic-proof .track-card .track-length{
  max-width:14ch;
}
@media (max-width:900px){
  #sonic-proof .track-card .manifesto-audio-cover,
  #sonic-proof .track-card .cover-art{
    width:clamp(140px, 22vw, 220px) !important;
  }
  #sonic-proof .manifesto-audio-cover-wrap{
    min-height:clamp(140px, 22vw, 200px) !important;
  }
}
@media (max-width:680px){
  #sonic-proof .track-card .manifesto-audio-cover,
  #sonic-proof .track-card .cover-art{
    width:clamp(120px, 26vw, 180px) !important;
  }
  #sonic-proof .manifesto-audio-cover-wrap{
    min-height:clamp(124px, 26vw, 170px) !important;
  }
}

#what-is-intentional-deeper .freq-card{
  transform-style:preserve-3d;
  cursor:pointer;
}
#what-is-intentional-deeper .freq-card::before{
  opacity:.82;
  transition:opacity .35s ease, transform .4s ease, background-position .4s ease;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translate3d(var(--tx), var(--ty), 0) translateY(-12px) scale(1.02) rotateX(var(--rx)) rotateY(var(--ry));
  box-shadow:0 20px 48px rgba(255,124,0,.18), inset 0 0 0 1px rgba(255,176,95,.26);
}
#what-is-intentional-deeper .freq-card:hover::before,
#what-is-intentional-deeper .freq-card:focus-within::before{
  opacity:1;
}
#what-is-intentional-deeper .freq-card:hover::after,
#what-is-intentional-deeper .freq-card:focus-within::after{
  opacity:.5;
  transform:translateY(0);
}

#why-this-exists .movement-split{
  gap:clamp(14px, 1.5vw, 20px) !important;
  align-items:stretch !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(520px, 55vw, 700px) !important;
  height:100% !important;
}
#why-this-exists .festival-phone-stage{
  justify-content:space-between !important;
  gap:14px !important;
}
#why-this-exists .festival-phone-stage__caption{
  margin-top:auto !important;
  max-width:430px !important;
}
#why-this-exists .festival-phone-stage__caption strong{
  display:block;
  max-width:28ch;
}
#why-this-exists .festival-phone-stage__caption span{
  display:block;
  max-width:34ch;
}
@media (max-width:1100px){
  #why-this-exists .movement-split{ grid-template-columns:1fr !important; }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{ min-height:unset !important; }
  #why-this-exists .festival-phone-stage{ align-items:center !important; }
  #why-this-exists .festival-phone-stage__caption{ text-align:center !important; }
}

/* Codex pass: final alignment + spacing cleanup 2026-06-06 */
#why-this-exists{
  padding-bottom:clamp(28px, 4vw, 56px) !important;
}
#why-this-exists .movement-split{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
  align-items:stretch !important;
  gap:clamp(12px, 1.35vw, 18px) !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(460px, 50vw, 620px) !important;
}
#why-this-exists .frustration-story-panel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}
#why-this-exists .festival-phone-stage{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:12px !important;
}
#why-this-exists .festival-phone{
  width:min(100%, 390px) !important;
  max-width:390px !important;
}
#why-this-exists .festival-phone-stage__caption{
  margin-top:auto !important;
  max-width:390px !important;
}
@media (max-width:980px){
  #why-this-exists .movement-split{
    grid-template-columns:1fr !important;
  }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{
    min-height:unset !important;
  }
  #why-this-exists .festival-phone-stage{
    align-items:center !important;
  }
  #why-this-exists .festival-phone-stage__caption{
    text-align:center !important;
  }
}
@media (max-width:680px){
  #why-this-exists{
    padding-bottom:clamp(20px, 6vw, 34px) !important;
  }
  #why-this-exists .festival-phone{
    width:min(100%, 320px) !important;
    max-width:320px !important;
  }
  #why-this-exists .festival-phone-stage__caption strong{
    font-size:clamp(.98rem, 4.4vw, 1.08rem) !important;
  }
  #why-this-exists .festival-phone-stage__caption span{
    font-size:clamp(.92rem, 3.8vw, 1rem) !important;
  }
}

#sonic-proof .sonic-proof-cluster{
  grid-template-columns:minmax(0,1fr) !important;
  gap:clamp(12px, 1.35vw, 18px) !important;
}
#sonic-proof .track-side-stack{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:clamp(12px, 1.2vw, 16px) !important;
}
#sonic-proof .track-hero{
  min-height:clamp(420px, 54vw, 640px) !important;
}
#sonic-proof .track-card{
  min-height:clamp(360px, 46vw, 540px) !important;
}
#sonic-proof .track-card .manifesto-audio-cover,
#sonic-proof .track-card .cover-art{
  width:clamp(170px, 26vw, 320px) !important;
  max-width:320px !important;
}
@media (max-width:980px){
  #sonic-proof .track-side-stack{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  #sonic-proof .track-hero{
    min-height:clamp(380px, 50vw, 560px) !important;
  }
  #sonic-proof .track-card{
    min-height:clamp(320px, 42vw, 460px) !important;
  }
  #sonic-proof .track-card .manifesto-audio-cover,
  #sonic-proof .track-card .cover-art{
    width:clamp(150px, 28vw, 260px) !important;
  }
}
@media (max-width:700px){
  #sonic-proof .track-side-stack{
    grid-template-columns:1fr !important;
  }
  #sonic-proof .track-hero,
  #sonic-proof .track-card{
    min-height:unset !important;
  }
  #sonic-proof .track-card .manifesto-audio-cover,
  #sonic-proof .track-card .cover-art{
    width:clamp(140px, 36vw, 220px) !important;
  }
}

/* Codex pass: final homepage alignment + responsive polish 2026-06-06 */
#why-this-exists .movement-split{
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr) !important;
  align-items:stretch !important;
  gap:clamp(18px, 1.6vw, 26px) !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(560px, 44vw, 700px) !important;
  height:100% !important;
}
#why-this-exists .frustration-story-panel{
  padding:clamp(30px, 2.2vw, 40px) !important;
  justify-content:flex-start !important;
  gap:clamp(18px, 1.5vw, 24px) !important;
  background:linear-gradient(180deg, rgba(22,43,71,.9), rgba(12,23,41,.82)) !important;
  backdrop-filter:blur(18px) !important;
}
#why-this-exists .frustration-story-panel .display-2,
#why-this-exists .frustration-story-panel .lede{
  max-width:15ch !important;
}
#why-this-exists .festival-phone-stage{
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-items:center !important;
  padding:clamp(24px, 2.1vw, 34px) !important;
  gap:clamp(16px, 1.35vw, 22px) !important;
  overflow:hidden !important;
}
#why-this-exists .festival-phone-stage__glow{
  inset:8% 14% auto 14% !important;
  height:52% !important;
}
#why-this-exists .festival-phone{
  width:min(100%, clamp(280px, 23vw, 360px)) !important;
  max-width:360px !important;
  margin:0 auto !important;
  align-self:center !important;
}
#why-this-exists .festival-phone__screen{
  overflow:hidden !important;
}
#why-this-exists .festival-phone__video{
  object-fit:cover !important;
  object-position:center center !important;
}
#why-this-exists .festival-phone-stage__caption{
  position:relative !important;
  z-index:3 !important;
  width:min(100%, 360px) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:left !important;
  background:none !important;
}
#why-this-exists .festival-phone-stage__caption strong{
  display:block !important;
  max-width:18ch !important;
  font-size:clamp(1.02rem, 1.2vw, 1.2rem) !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
}
#why-this-exists .festival-phone-stage__caption span{
  display:block !important;
  max-width:26ch !important;
  margin-top:10px !important;
  color:rgba(233,240,255,.82) !important;
  font-size:clamp(.96rem, 1.05vw, 1.05rem) !important;
  line-height:1.5 !important;
}
@media (max-width:1160px){
  #why-this-exists .movement-split{
    grid-template-columns:1fr !important;
  }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{
    min-height:auto !important;
  }
  #why-this-exists .frustration-story-panel .display-2,
  #why-this-exists .frustration-story-panel .lede{
    max-width:unset !important;
  }
  #why-this-exists .festival-phone-stage{
    justify-items:center !important;
  }
  #why-this-exists .festival-phone-stage__caption{
    width:min(100%, 420px) !important;
    text-align:center !important;
  }
  #why-this-exists .festival-phone-stage__caption strong,
  #why-this-exists .festival-phone-stage__caption span{
    max-width:none !important;
  }
}
@media (max-width:700px){
  #why-this-exists .frustration-story-panel{
    padding:24px !important;
  }
  #why-this-exists .festival-phone{
    width:min(100%, 312px) !important;
  }
}

#future-vision .future-quest-grid{
  grid-auto-rows:1fr !important;
  align-items:stretch !important;
  gap:clamp(14px, 1.3vw, 18px) !important;
}
#future-vision .future-reveal-card{
  min-height:clamp(220px, 20vw, 280px) !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(173,211,255,.18), rgba(173,211,255,0) 36%),
    linear-gradient(180deg, rgba(39,81,133,.92), rgba(21,54,100,.96)) !important;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  background:
    linear-gradient(180deg, rgba(68,115,182,.88), rgba(28,63,114,.96)) !important;
  opacity:1 !important;
  filter:none !important;
  transition:transform 1.65s cubic-bezier(.17,.88,.18,1), opacity 1.65s ease !important;
}
#future-vision .future-reveal-front{
  opacity:1 !important;
  transition:opacity .28s ease, transform .28s ease !important;
}
#future-vision .future-reveal-number{
  color:#ffd960 !important;
  text-shadow:0 0 26px rgba(255,218,108,.22) !important;
}
#future-vision .future-reveal-mark{
  display:block !important;
  position:absolute !important;
  right:clamp(18px, 1.7vw, 24px) !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:rgba(255,247,226,.88) !important;
  font-size:clamp(3.2rem, 4.8vw, 4.8rem) !important;
  font-weight:500 !important;
  line-height:1 !important;
  opacity:.82 !important;
  transition:opacity .28s ease, transform .28s ease !important;
}
#future-vision .future-reveal-tag--front{
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(14ch, calc(100% - 118px)) !important;
  color:var(--ink) !important;
  font-size:clamp(1.75rem, 2.35vw, 2.7rem) !important;
  font-weight:700 !important;
  line-height:.93 !important;
  letter-spacing:.015em !important;
  text-transform:none !important;
  text-shadow:0 0 26px rgba(173,211,255,.16) !important;
  transition:
    top 1.65s cubic-bezier(.17,.88,.18,1),
    left 1.65s cubic-bezier(.17,.88,.18,1),
    transform 1.65s cubic-bezier(.17,.88,.18,1),
    width 1.65s cubic-bezier(.17,.88,.18,1),
    font-size 1.65s cubic-bezier(.17,.88,.18,1),
    opacity 1.65s ease,
    letter-spacing 1.65s cubic-bezier(.17,.88,.18,1) !important;
}
#future-vision .future-reveal-back{
  padding:clamp(26px, 2.1vw, 32px) !important;
  padding-top:clamp(86px, 7vw, 108px) !important;
  transition:opacity 1.65s ease, transform 1.65s cubic-bezier(.17,.88,.18,1) !important;
}
#future-vision .future-reveal-back .future-reveal-tag{
  color:#ffd960 !important;
  font-size:clamp(.9rem, 1.04vw, 1rem) !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  opacity:.92 !important;
}
#future-vision .future-reveal-back h3{
  max-width:12ch !important;
}
#future-vision .future-reveal-back p{
  max-width:30ch !important;
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-8%) scaleX(.05) !important;
  opacity:.18 !important;
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(8%) scaleX(.05) !important;
  opacity:.18 !important;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  opacity:0 !important;
  transform:scale(.98) !important;
  transition-duration:1.65s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-mark,
#future-vision .future-reveal-card:focus-within .future-reveal-mark{
  opacity:0 !important;
  transform:translateY(-50%) translateX(10px) !important;
  transition-duration:1.65s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:28px !important;
  left:28px !important;
  transform:none !important;
  width:calc(100% - 56px) !important;
  font-size:clamp(.94rem, 1vw, 1rem) !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  opacity:.16 !important;
  transition-duration:1.65s !important;
}
#future-vision .future-reveal-card .future-reveal-back,
#future-vision .future-reveal-card .future-reveal-tag--front,
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  transition-duration:.42s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-back,
#future-vision .future-reveal-card:focus-within .future-reveal-back,
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front,
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before,
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transition-duration:1.65s !important;
}
@media (max-width:980px){
  #future-vision .future-reveal-card{
    min-height:210px !important;
  }
}
@media (max-width:720px){
  #future-vision .future-reveal-card{
    min-height:190px !important;
  }
  #future-vision .future-reveal-tag--front{
    width:min(12ch, calc(100% - 96px)) !important;
    font-size:clamp(1.45rem, 6vw, 2.2rem) !important;
  }
  #future-vision .future-reveal-mark{
    font-size:clamp(2.4rem, 8vw, 3.4rem) !important;
  }
}

#sonic-proof .sonic-proof-cluster{
  grid-template-columns:minmax(0,1fr) !important;
  gap:clamp(16px, 1.4vw, 22px) !important;
}
#sonic-proof .track-hero{
  display:grid !important;
  grid-template-columns:minmax(0, 1.22fr) minmax(220px, .78fr) !important;
  align-items:center !important;
  gap:clamp(18px, 2vw, 32px) !important;
  min-height:unset !important;
}
#sonic-proof .track-hero > div:last-child{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
#sonic-proof .track-hero .waveform-cover{
  width:min(100%, 360px) !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
}
#sonic-proof .track-hero .waveform-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
}
#sonic-proof .manifesto-audio-duo{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:clamp(14px, 1.25vw, 18px) !important;
}
#sonic-proof .manifesto-audio-card{
  min-height:clamp(420px, 38vw, 520px) !important;
}
#sonic-proof .manifesto-audio-card .btn-group{
  margin-top:auto !important;
}
#sonic-proof .manifesto-audio-cover-wrap{
  width:min(100%, 210px) !important;
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  margin-inline:auto !important;
}
#sonic-proof .manifesto-audio-cover{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
}
@media (max-width:1320px){
  #sonic-proof .track-hero{
    grid-template-columns:minmax(0, 1fr) minmax(180px, .62fr) !important;
  }
  #sonic-proof .track-hero .waveform-cover{
    width:min(100%, 300px) !important;
  }
}
@media (max-width:1040px){
  #sonic-proof .track-hero{
    grid-template-columns:1fr !important;
  }
  #sonic-proof .track-hero .waveform-cover{
    width:min(100%, 320px) !important;
    margin-inline:auto !important;
  }
}
@media (max-width:900px){
  #sonic-proof .manifesto-audio-duo{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  #sonic-proof .manifesto-audio-card{
    min-height:380px !important;
  }
  #sonic-proof .manifesto-audio-cover-wrap{
    width:min(100%, 180px) !important;
  }
}
@media (max-width:680px){
  #sonic-proof .manifesto-audio-duo{
    grid-template-columns:1fr !important;
  }
  #sonic-proof .manifesto-audio-card{
    min-height:unset !important;
  }
  #sonic-proof .manifesto-audio-cover-wrap{
    width:min(100%, 200px) !important;
  }
}

#what-is-intentional-deeper .freq-card{
  position:relative !important;
  overflow:hidden !important;
  transform-style:preserve-3d !important;
  transition:transform .34s ease, box-shadow .34s ease, border-color .34s ease !important;
}
#what-is-intentional-deeper .freq-card::after{
  content:"" !important;
  position:absolute !important;
  inset:-20% !important;
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,178,88,.18), transparent 28%),
    radial-gradient(circle at 50% 118%, rgba(108,176,255,.14), transparent 30%) !important;
  opacity:0 !important;
  transition:opacity .34s ease, transform .34s ease !important;
  pointer-events:none !important;
}
#what-is-intentional-deeper .freq-card:hover,
#what-is-intentional-deeper .freq-card:focus-within{
  transform:translate3d(var(--tx,0), var(--ty,0), 0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px) scale(1.018) !important;
  box-shadow:0 22px 50px rgba(255,124,0,.16), inset 0 0 0 1px rgba(255,191,112,.28) !important;
}
#what-is-intentional-deeper .freq-card:hover::after,
#what-is-intentional-deeper .freq-card:focus-within::after{
  opacity:1 !important;
  transform:scale(1.02) !important;
}

.what-next-intentional{
  padding-top:clamp(30px, 4vw, 54px) !important;
}
.what-next-intentional__grid{
  align-items:stretch !important;
}
.what-next-intentional__tile{
  height:100% !important;
}

/* Final alignment pass: festival gamble, future vision, sonic proof */
#why-this-exists .movement-split{
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr) !important;
  align-items:stretch !important;
  gap:clamp(20px, 2vw, 30px) !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(530px, 41vw, 650px) !important;
  height:100% !important;
}
#why-this-exists .frustration-story-panel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}
#why-this-exists .festival-phone-stage{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  overflow:hidden !important;
  padding:clamp(24px, 2.2vw, 34px) !important;
  gap:clamp(14px, 1.4vw, 20px) !important;
}
#why-this-exists .festival-phone{
  width:min(100%, 312px) !important;
  max-width:312px !important;
  margin:0 auto !important;
  flex:0 0 auto !important;
}
#why-this-exists .festival-phone-stage__caption{
  position:static !important;
  width:min(100%, 320px) !important;
  max-width:320px !important;
  margin:0 auto !important;
  padding:0 !important;
  align-self:center !important;
  text-align:left !important;
}
#why-this-exists .festival-phone-stage__caption strong{
  display:block !important;
  font-size:clamp(.98rem, 1.35vw, 1.18rem) !important;
}
#why-this-exists .festival-phone-stage__caption span{
  display:block !important;
  max-width:30ch !important;
}

#future-vision .future-quest-grid{
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
  gap:clamp(18px, 1.6vw, 24px) !important;
}
#future-vision .future-reveal-card{
  min-height:clamp(220px, 23vw, 290px) !important;
  display:block !important;
  overflow:hidden !important;
}
#future-vision .future-reveal-card::before,
#future-vision .future-reveal-card::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:51% !important;
  z-index:1 !important;
  opacity:.78 !important;
  background:
    linear-gradient(180deg, rgba(41,88,146,.82), rgba(22,58,105,.9)) !important;
  transition:transform .34s ease, opacity .34s ease !important;
}
#future-vision .future-reveal-card::before{
  left:0 !important;
  border-right:1px solid rgba(255,196,118,.08) !important;
}
#future-vision .future-reveal-card::after{
  right:0 !important;
  border-left:1px solid rgba(255,196,118,.08) !important;
}
#future-vision .future-reveal-front{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  z-index:3 !important;
  transition:opacity .34s ease, transform .34s ease !important;
}
#future-vision .future-reveal-number{
  color:#ffd960 !important;
  text-shadow:0 0 26px rgba(255,218,108,.22) !important;
}
#future-vision .future-reveal-mark{
  display:block !important;
  position:absolute !important;
  right:clamp(20px, 2vw, 28px) !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:rgba(255,248,230,.9) !important;
  font-size:clamp(3rem, 4vw, 4.4rem) !important;
  font-weight:500 !important;
  line-height:1 !important;
  opacity:.84 !important;
  transition:opacity .34s ease, transform .34s ease !important;
}
#future-vision .future-reveal-tag--front{
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(11ch, calc(100% - 112px)) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--ink) !important;
  font-size:clamp(2rem, 2.4vw, 2.9rem) !important;
  font-weight:700 !important;
  line-height:.94 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  text-align:center !important;
  text-shadow:0 0 26px rgba(173,211,255,.16) !important;
  transition:
    top .34s ease,
    left .34s ease,
    transform .34s ease,
    width .34s ease,
    font-size .34s ease,
    opacity .34s ease,
    letter-spacing .34s ease !important;
}
#future-vision .future-reveal-back{
  position:absolute !important;
  inset:0 !important;
  padding:clamp(24px, 2vw, 30px) !important;
  padding-top:clamp(78px, 6.5vw, 98px) !important;
  opacity:0 !important;
  transform:translateY(24px) !important;
  filter:blur(8px) !important;
  z-index:2 !important;
  transition:opacity .34s ease, transform .34s ease, filter .34s ease !important;
}
#future-vision .future-reveal-back .future-reveal-tag{
  color:#ffe08b !important;
  font-size:clamp(.98rem, 1.02vw, 1.06rem) !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  opacity:.96 !important;
}
#future-vision .future-reveal-back h3{
  max-width:13ch !important;
  margin-top:.55rem !important;
}
#future-vision .future-reveal-back p{
  max-width:31ch !important;
}
#future-vision .future-reveal-card:hover::before,
#future-vision .future-reveal-card:focus-within::before{
  transform:translateX(-104%) !important;
  opacity:.14 !important;
  transition-duration:1.9s !important;
}
#future-vision .future-reveal-card:hover::after,
#future-vision .future-reveal-card:focus-within::after{
  transform:translateX(104%) !important;
  opacity:.14 !important;
  transition-duration:1.9s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-front,
#future-vision .future-reveal-card:focus-within .future-reveal-front{
  opacity:.14 !important;
  transform:scale(.985) !important;
  transition-duration:1.9s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-mark,
#future-vision .future-reveal-card:focus-within .future-reveal-mark{
  opacity:0 !important;
  transform:translateY(-50%) translateX(10px) !important;
  transition-duration:1.9s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-tag--front,
#future-vision .future-reveal-card:focus-within .future-reveal-tag--front{
  top:26px !important;
  left:28px !important;
  transform:none !important;
  width:calc(100% - 56px) !important;
  font-size:clamp(.98rem, 1vw, 1.06rem) !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  opacity:.18 !important;
  transition-duration:1.9s !important;
}
#future-vision .future-reveal-card:hover .future-reveal-back,
#future-vision .future-reveal-card:focus-within .future-reveal-back{
  opacity:1 !important;
  transform:translateY(0) !important;
  filter:blur(0) !important;
  transition-duration:1.9s !important;
}

#sonic-proof .track-hero{
  display:grid !important;
  grid-template-columns:minmax(0, 1.16fr) minmax(260px, .84fr) !important;
  align-items:start !important;
  gap:clamp(22px, 2vw, 34px) !important;
  min-height:unset !important;
}
#sonic-proof .track-hero > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}
#sonic-proof .track-hero > div:last-child{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding-top:clamp(18px, 5vw, 122px) !important;
}
#sonic-proof .track-hero .waveform-cover{
  width:min(100%, 350px) !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
}
#sonic-proof .track-hero .waveform-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
}
#sonic-proof .manifesto-audio-duo{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:clamp(14px, 1.25vw, 18px) !important;
  align-items:stretch !important;
}
#sonic-proof .manifesto-audio-card{
  min-height:clamp(430px, 35vw, 520px) !important;
  display:flex !important;
  flex-direction:column !important;
}
#sonic-proof .manifesto-audio-card p{
  max-width:30ch !important;
}
#sonic-proof .manifesto-audio-cover-wrap,
#sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
  width:clamp(170px, 24vw, 250px) !important;
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  margin-inline:auto !important;
  flex:0 0 auto !important;
}
#sonic-proof .manifesto-audio-cover-wrap img,
#sonic-proof .manifesto-audio-card .manifesto-audio-cover{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
  max-width:none !important;
}
#sonic-proof .manifesto-audio-card .btn-group{
  margin-top:auto !important;
}

@media (max-width:1260px){
  #why-this-exists .movement-split{
    grid-template-columns:minmax(0,1fr) minmax(300px,.94fr) !important;
  }
  #sonic-proof .track-hero{
    grid-template-columns:minmax(0,1fr) minmax(220px,.72fr) !important;
  }
  #sonic-proof .track-hero .waveform-cover{
    width:min(100%, 300px) !important;
  }
}
@media (max-width:1080px){
  #why-this-exists .movement-split{
    grid-template-columns:1fr !important;
  }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{
    min-height:auto !important;
  }
  #sonic-proof .track-hero{
    grid-template-columns:1fr !important;
  }
  #sonic-proof .track-hero > div:last-child{
    padding-top:0 !important;
    align-items:center !important;
  }
  #sonic-proof .track-hero .waveform-cover{
    width:min(100%, 320px) !important;
    margin-inline:auto !important;
  }
}
@media (max-width:900px){
  #future-vision .future-quest-grid{
    grid-template-columns:1fr !important;
  }
  #future-vision .future-reveal-card{
    min-height:200px !important;
  }
  #sonic-proof .manifesto-audio-cover-wrap,
  #sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
    width:clamp(170px, 30vw, 220px) !important;
  }
}
@media (max-width:680px){
  #sonic-proof .manifesto-audio-duo{
    grid-template-columns:1fr !important;
  }
  #sonic-proof .manifesto-audio-card{
    min-height:auto !important;
  }
}

/* Final refinement: festival video balance + sonic proof card-fit */
#why-this-exists .movement-split{
  grid-template-columns:minmax(0,1.04fr) minmax(280px,.88fr) !important;
  align-items:stretch !important;
  gap:clamp(18px, 2vw, 28px) !important;
}
#why-this-exists .frustration-story-panel,
#why-this-exists .festival-phone-stage{
  min-height:clamp(520px, 46vw, 680px) !important;
}
#why-this-exists .frustration-story-panel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:clamp(28px, 3vw, 44px) !important;
}
#why-this-exists .frustration-story-panel .display-2,
#why-this-exists .frustration-story-panel .lede{
  max-width:13ch !important;
}
#why-this-exists .festival-phone-stage{
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  justify-items:center !important;
  align-content:center !important;
  padding:clamp(22px, 2.6vw, 32px) !important;
  overflow:hidden !important;
}
#why-this-exists .festival-phone{
  width:min(100%, 292px) !important;
  max-height:min(100%, 610px) !important;
  margin-inline:auto !important;
}
#why-this-exists .festival-phone-stage__caption{
  position:static !important;
  inset:auto !important;
  width:min(100%, 24ch) !important;
  margin:clamp(16px, 1.8vw, 20px) auto 0 !important;
  text-align:left !important;
  background:transparent !important;
}
@media (max-width:1380px){
  #why-this-exists .movement-split{
    grid-template-columns:minmax(0,1fr) minmax(260px,.82fr) !important;
  }
  #why-this-exists .frustration-story-panel .display-2,
  #why-this-exists .frustration-story-panel .lede{
    max-width:14ch !important;
  }
}
@media (max-width:1080px){
  #why-this-exists .movement-split{
    grid-template-columns:1fr !important;
  }
  #why-this-exists .frustration-story-panel,
  #why-this-exists .festival-phone-stage{
    min-height:auto !important;
  }
  #why-this-exists .frustration-story-panel .display-2,
  #why-this-exists .frustration-story-panel .lede{
    max-width:none !important;
  }
  #why-this-exists .festival-phone-stage__caption{
    text-align:center !important;
    width:min(100%, 30ch) !important;
  }
}

#sonic-proof .manifesto-audio-duo{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:clamp(18px, 1.6vw, 22px) !important;
  align-items:stretch !important;
}
#sonic-proof .manifesto-audio-card{
  min-height:clamp(360px, 28vw, 430px) !important;
}
@media (min-width:1150px){
  #sonic-proof .manifesto-audio-card{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) clamp(140px, 13vw, 190px) !important;
    grid-template-rows:auto auto auto auto 1fr auto !important;
    column-gap:clamp(16px, 1.4vw, 22px) !important;
    align-items:start !important;
    padding:clamp(22px, 2vw, 28px) !important;
    min-height:clamp(320px, 26vw, 390px) !important;
  }
  #sonic-proof .manifesto-audio-card .num,
  #sonic-proof .manifesto-audio-card h4,
  #sonic-proof .manifesto-audio-card .track-length,
  #sonic-proof .manifesto-audio-card p,
  #sonic-proof .manifesto-audio-card .wave-bars,
  #sonic-proof .manifesto-audio-card .btn-group{
    grid-column:1 !important;
    width:100% !important;
  }
  #sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
    grid-column:2 !important;
    grid-row:1 / span 6 !important;
    width:clamp(140px, 12vw, 182px) !important;
    aspect-ratio:1 / 1 !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 !important;
  }
  #sonic-proof .manifesto-audio-card .btn-group{
    margin-top:clamp(10px, 1.2vw, 16px) !important;
    align-self:end !important;
  }
  #sonic-proof .manifesto-audio-card h4{
    max-width:9ch !important;
    min-height:0 !important;
  }
  #sonic-proof .manifesto-audio-card p{
    max-width:28ch !important;
  }
}
@media (max-width:1149px){
  #sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
    width:clamp(170px, 28vw, 240px) !important;
  }
}
@media (max-width:760px){
  #sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
    width:clamp(132px, 28vw, 188px) !important;
  }
}

/* Final homepage pass: signal pull, sonic proof, festival gamble */
#million-signatures .movement-progress-home__stage{
  --sig-mouse-x: 50%;
  --sig-mouse-y: 62%;
  --sig-drift-x: 0px;
  --sig-drift-y: 0px;
  --sig-pull-x: 0px;
  --sig-pull-y: 0px;
  --sig-speed-factor: 1;
  --sig-pull-strength: .18;
  --sig-focus-glow: .22;
}
#million-signatures .movement-progress-home__stage::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:26px;
  pointer-events:none;
  z-index:2;
  background:linear-gradient(180deg, rgba(9, 20, 42, .96) 0%, rgba(9, 20, 42, .74) 48%, rgba(9, 20, 42, 0) 100%);
}
#million-signatures .movement-progress-home__stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle 250px at var(--sig-mouse-x) var(--sig-mouse-y), rgba(255, 211, 116, calc(var(--sig-focus-glow) * 1.15)), transparent 60%),
    radial-gradient(circle 360px at 50% 38%, rgba(255, 150, 54, .1), transparent 72%);
}
#million-signatures .movement-progress-home__particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  mix-blend-mode:normal;
  transform:translate3d(calc(var(--sig-drift-x) / 26), calc(var(--sig-drift-y) / 28), 0);
  transition:transform .16s ease-out;
  overflow:visible;
}
#million-signatures .movement-progress-home__canvas{
  display:block;
  width:100%;
  height:100%;
}
#million-signatures .movement-progress-home__count,
#million-signatures .movement-progress-home__label,
#million-signatures .movement-progress-home__mission,
#million-signatures .movement-progress-home__head,
#million-signatures .movement-progress-home__meta,
#million-signatures .movement-progress-home__actions{
  position:relative;
  z-index:4;
}
#million-signatures .movement-progress-home__railbox{
  z-index:4;
}
#million-signatures .movement-progress-home__rail{
  position:relative;
  z-index:4;
  overflow:visible;
}

#sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
  border-radius:50% !important;
  overflow:hidden !important;
  background:radial-gradient(circle at 50% 28%, rgba(255, 214, 130, .22), rgba(9, 18, 34, .74) 58%, rgba(5, 10, 22, .94) 100%);
  box-shadow:0 0 0 1px rgba(255, 185, 92, .16) inset, 0 26px 52px rgba(0, 0, 0, .34);
  padding:10px !important;
}
#sonic-proof .manifesto-audio-card .manifesto-audio-cover{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  border-radius:50% !important;
  object-fit:cover !important;
  display:block;
}

.home-blind-date-quote{
  padding:clamp(18px, 3.2vw, 34px) 0 clamp(10px, 2vw, 18px);
}
.home-blind-date-quote .narrow{
  max-width:min(980px, 92vw);
}
.home-blind-date-quote .eyebrow{
  margin-bottom:18px;
}
.home-blind-date-quote__line{
  font-family:var(--font-display);
  font-size:clamp(42px, 7.8vw, 104px);
  line-height:.94;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--ink);
  text-wrap:balance;
}
.home-blind-date-quote__line span{
  color:var(--r-orange);
  font-weight:800;
  text-shadow:0 0 22px rgba(238,106,27,.18);
}
@media (max-width:720px){
  .home-blind-date-quote{
    padding:16px 0 8px;
  }
  .home-blind-date-quote__line{
    font-size:clamp(34px, 12vw, 64px);
    line-height:.96;
  }
}

#why-this-exists .festival-gamble-shell{
  display:block;
}
#why-this-exists .festival-gamble-hero{
  width:100%;
}
#why-this-exists .festival-gamble-copy{
  position:relative;
  z-index:3;
  display:grid;
  align-items:start;
  padding:clamp(24px, 3vw, 38px) clamp(18px, 2.4vw, 30px);
}
#why-this-exists .festival-gamble-copy__inner{
  width:min(41%, 450px);
  display:grid;
  gap:0;
}
#why-this-exists .festival-gamble-copy__eyebrow{
  margin-bottom:8px;
  color:rgba(255, 211, 120, .94);
  font:800 11px/1 var(--font-display);
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(255, 170, 70, .18);
}
#why-this-exists .festival-gamble-video-card{
  position:relative;
  width:100%;
  min-height:clamp(420px, 60vh, 800px);
  padding:0;
  border-radius:34px;
  border:1px solid rgba(255, 166, 76, .18);
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 169, 77, .14), transparent 28%),
    radial-gradient(circle at 12% 24%, rgba(84, 196, 213, .08), transparent 26%),
    linear-gradient(180deg, rgba(10, 18, 34, .96), rgba(6, 12, 24, .98));
  box-shadow:0 34px 90px rgba(0, 0, 0, .34);
  overflow:visible;
}
#why-this-exists .festival-gamble-video-card__glow{
  position:absolute;
  inset:auto 12% -14% 12%;
  height:34%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255, 165, 72, .28), rgba(255, 165, 72, 0) 68%);
  filter:blur(18px);
  pointer-events:none;
}
#why-this-exists .festival-gamble-video-frame{
  position:absolute;
  inset:0;
  border-radius:34px;
  background:#060c18;
  overflow:hidden;
}
#why-this-exists .festival-gamble-loader{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  transition:opacity 0.5s;
}
#why-this-exists .festival-gamble-loader.is-hidden{
  opacity:0;
}
#why-this-exists .festival-gamble-loader__ring{
  width:32px;
  height:32px;
  border:3px solid rgba(238, 106, 27, .22);
  border-top-color:var(--r-orange);
  border-radius:50%;
  animation:fgSpin 0.75s linear infinite;
}
@keyframes fgSpin{
  to{transform:rotate(360deg);}
}
#why-this-exists .festival-gamble-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
#why-this-exists .festival-gamble-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4, 7, 13, .98) 0%, rgba(4, 7, 13, .92) 34%, rgba(8, 16, 30, .34) 58%, rgba(4, 8, 18, .08) 100%),
    linear-gradient(180deg, rgba(4, 8, 18, .08) 0%, rgba(4, 8, 18, .04) 52%, rgba(238, 106, 27, .16) 100%);
  pointer-events:none;
}
#why-this-exists .festival-gamble-copy .display-2,
#why-this-exists .festival-gamble-copy .lede,
#why-this-exists .festival-gamble-copy .frustration-truth{
  max-width:none;
}
#why-this-exists .festival-gamble-copy .display-2{
  font-size:clamp(34px, 4.8vw, 68px);
  line-height:.9;
  margin-bottom:0;
  text-wrap:balance;
}
#why-this-exists .festival-gamble-sting{
  margin:12px 0 0;
  color:var(--r-orange);
  font-family:var(--font-display);
  font-size:clamp(22px, 1.85vw, 30px);
  font-weight:700;
  line-height:1.12;
  text-shadow:0 0 26px rgba(238, 106, 27, .18);
}
#why-this-exists .festival-gamble-balance{
  margin-top:14px;
  display:grid;
  grid-template-columns:max-content 1px max-content;
  gap:10px;
  align-items:start;
  justify-content:start;
}
#why-this-exists .festival-gamble-balance__left p,
#why-this-exists .festival-gamble-balance__right p{
  margin:0;
}
#why-this-exists .festival-gamble-balance__left{
  display:grid;
  gap:8px;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(20px, 2vw, 30px);
  font-weight:700;
  line-height:1.02;
  justify-items:start;
}
#why-this-exists .festival-gamble-balance__divider{
  width:1px;
  height:100%;
  min-height:112px;
  background:linear-gradient(180deg, rgba(238, 106, 27, .06), rgba(238, 106, 27, .96), rgba(238, 106, 27, .18));
  box-shadow:0 0 18px rgba(238, 106, 27, .2);
}
#why-this-exists .festival-gamble-balance__right{
  display:grid;
  gap:16px;
  padding-top:3px;
  color:var(--r-orange);
  font:800 clamp(16px, 1.45vw, 22px)/1 var(--font-display);
  letter-spacing:.16em;
  text-transform:uppercase;
  justify-items:start;
}
#why-this-exists .festival-gamble-copy .lede{
  margin-top:14px;
  max-width:18ch;
  font-size:clamp(18px, 1.45vw, 24px);
  font-weight:500;
  line-height:1.24;
  color:rgba(244, 236, 223, .94);
}
#why-this-exists .festival-gamble-copy .lede span{
  color:var(--r-orange);
  text-shadow:0 0 22px rgba(238, 106, 27, .18);
}
#why-this-exists .festival-gamble-bottom{
  margin-top:18px;
  display:grid;
  gap:12px;
  justify-items:start;
}
#why-this-exists .festival-gamble-bottom .frustration-truth{
  color:var(--ink);
  font:700 clamp(22px, 1.72vw, 28px)/1.14 var(--font-display);
  letter-spacing:.01em;
  text-transform:none;
  margin:0;
  max-width:none;
  text-shadow:0 0 18px rgba(255,255,255,.08);
}
#why-this-exists .festival-gamble-bottom .btn-group{
  margin-top:0 !important;
}
#why-this-exists .festival-gamble-bottom .btn{
  min-height:52px;
  padding:15px 24px;
  min-width:280px;
}
@media (max-width:980px){
  #why-this-exists .festival-gamble-video-card{
    min-height:clamp(380px, 58vh, 720px);
  }
  #why-this-exists .festival-gamble-copy__inner{
    width:min(48%, 500px);
  }
}
@media (max-width:760px){
  #why-this-exists .festival-gamble-video-card{
    height:auto;
    min-height:0;
    overflow:visible;
  }
  #why-this-exists .festival-gamble-video-frame{
    position:relative;
    height:clamp(250px, 44vh, 480px);
  }
  #why-this-exists .festival-gamble-video{
    object-position:center;
  }
  #why-this-exists .festival-gamble-overlay{
    background:
      linear-gradient(180deg, rgba(4, 8, 18, .08) 0%, rgba(4, 8, 18, .06) 46%, rgba(238, 106, 27, .18) 100%),
      linear-gradient(180deg, rgba(6, 12, 24, .12) 0%, rgba(6, 12, 24, .22) 100%);
  }
  #why-this-exists .festival-gamble-copy{
    position:relative;
    inset:auto;
    padding:18px 18px 14px;
    align-items:start;
    background:linear-gradient(180deg, rgba(6, 12, 24, .98), rgba(8, 16, 30, .96));
    border-bottom:1px solid rgba(255, 166, 76, .14);
  }
  #why-this-exists .festival-gamble-copy__inner,
  #why-this-exists .festival-gamble-copy .display-2,
  #why-this-exists .festival-gamble-copy .lede,
  #why-this-exists .festival-gamble-copy .frustration-truth{
    max-width:none;
  }
  #why-this-exists .festival-gamble-copy__eyebrow{
    display:none;
  }
  #why-this-exists .festival-gamble-copy__inner{
    width:100%;
  }
  #why-this-exists .festival-gamble-copy .display-2{
    font-size:clamp(34px, 10vw, 54px);
  }
  #why-this-exists .festival-gamble-sting{
    font-size:clamp(22px, 5vw, 28px);
  }
  #why-this-exists .festival-gamble-balance{
    grid-template-columns:max-content 1px max-content;
    gap:8px;
    margin-top:16px;
  }
  #why-this-exists .festival-gamble-balance__left{
    font-size:clamp(20px, 6vw, 30px);
  }
  #why-this-exists .festival-gamble-balance__right{
    gap:14px;
    font-size:clamp(15px, 4vw, 20px);
  }
  #why-this-exists .festival-gamble-copy .lede{
    max-width:none;
    font-size:clamp(18px, 4.8vw, 24px);
  }
  #why-this-exists .festival-gamble-bottom .btn{
    min-width:0;
    width:100%;
    justify-content:center;
  }
}
@media (max-width:640px){
  #why-this-exists .festival-gamble-video-card,
  #why-this-exists .festival-gamble-video-frame{
    border-radius:24px;
  }
  #why-this-exists .festival-gamble-video-frame{
    height:clamp(220px, 38vh, 380px);
  }
  #why-this-exists .festival-gamble-copy{
    padding:14px;
  }
  #why-this-exists .festival-gamble-copy__eyebrow{
    font-size:10px;
  }
  #why-this-exists .festival-gamble-balance{
    grid-template-columns:max-content 1px max-content;
    gap:8px;
  }
  #why-this-exists .festival-gamble-balance__divider{
    width:1px;
    height:100%;
    min-height:96px;
  }
  #why-this-exists .festival-gamble-balance__right{
    gap:12px;
    font-size:14px;
  }
  #why-this-exists .festival-gamble-copy .lede{
    max-width:none;
  }
  #why-this-exists .festival-gamble-bottom .btn{
    min-width:0;
    width:100%;
  }
}
@media (max-width:420px){
  #why-this-exists .festival-gamble-balance{
    grid-template-columns:max-content 1px max-content;
    gap:8px;
  }
  #why-this-exists .festival-gamble-balance__divider{
    width:1px;
    height:100%;
    min-height:86px;
  }
  #why-this-exists .festival-gamble-balance__left{
    font-size:clamp(17px, 5.4vw, 22px);
  }
  #why-this-exists .festival-gamble-balance__right{
    grid-template-columns:none;
    gap:8px;
    padding-top:0;
    font-size:12px;
  }
}
@media (max-width:900px) {
  .ritual-room__manifesto-head {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ritual-room__audio-corner {
    padding: 14px 0 0;
    border-left: 0;
    border-top: 0;
  }
}

/* Future tile eyebrow fitting */
#future-vision .future-reveal-back .future-reveal-tag{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.18 !important;
  font-size:clamp(.76rem, .72rem + .22vw, .98rem) !important;
  letter-spacing:clamp(.08em, .14vw, .15em) !important;
}
#future-vision .future-reveal-back h3{
  max-width:12ch !important;
}
@media (max-width:900px){
  #future-vision .future-reveal-back{
    padding:22px !important;
    padding-top:72px !important;
  }
  #future-vision .future-reveal-back .future-reveal-tag{
    font-size:clamp(.72rem, .64rem + .4vw, .88rem) !important;
    letter-spacing:.1em !important;
  }
  #future-vision .future-reveal-back h3{
    max-width:11ch !important;
  }
}
@media (max-width:620px){
  #future-vision .future-reveal-back{
    padding:20px !important;
    padding-top:68px !important;
  }
  #future-vision .future-reveal-back .future-reveal-tag{
    font-size:.74rem !important;
    letter-spacing:.08em !important;
  }
  #future-vision .future-reveal-back h3{
    max-width:10ch !important;
  }
}

/* Final comment pass */
.seal-teaser-card::after{
  color:rgba(255, 135, 26, .98) !important;
  text-shadow:0 0 26px rgba(255, 126, 22, .34), 0 0 10px rgba(255, 170, 70, .26) !important;
}
.seal-teaser-card:hover::after,
.seal-teaser-card:focus-visible::after{
  color:rgba(255, 128, 20, 1) !important;
  text-shadow:0 0 28px rgba(255, 122, 18, .44), 0 0 12px rgba(255, 176, 78, .32) !important;
}

#radio-preview .radio-preview__accent{
  color:var(--r-orange);
  display:inline-block;
}

@media (min-width:1100px){
  #sonic-proof .manifesto-audio-duo{
    gap:18px !important;
  }
  #sonic-proof .manifesto-audio-card{
    padding:26px 26px 24px !important;
    min-height:100% !important;
  }
  #sonic-proof .manifesto-audio-card h4{
    font-size:clamp(34px, 2.4vw, 46px) !important;
    line-height:.92 !important;
    max-width:9ch !important;
  }
  #sonic-proof .manifesto-audio-card .track-length{
    font-size:13px !important;
    letter-spacing:.16em !important;
  }
  #sonic-proof .manifesto-audio-card p{
    font-size:18px !important;
    line-height:1.58 !important;
    max-width:30ch !important;
  }
  #sonic-proof .manifesto-audio-card .manifesto-audio-cover-wrap{
    width:clamp(184px, 15vw, 236px) !important;
    min-height:clamp(184px, 15vw, 236px) !important;
  }
  #sonic-proof .manifesto-audio-card .btn{
    min-height:56px;
    font-size:15px;
  }
}

/* late overrides for mini-player + signatories page */
.mini-tab {
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 18px 9px;
  min-height: 31px;
  min-width: max-content;
  border-radius: 16px 16px 6px 6px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom-width: 0;
  box-shadow:
    0 12px 26px -14px rgba(0,0,0,.78),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 18px color-mix(in oklab, var(--r-orange) 44%, transparent);
  white-space: nowrap;
  z-index: 6;
}

.page-signatories .signatories-hero > div:first-child {
  gap: 22px !important;
}

.page-signatories .signatory-breakdown {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: clamp(12px, 1.8vw, 18px);
  margin-top: clamp(18px, 2.6vw, 30px);
  z-index: 2;
  align-items: stretch;
}

.page-signatories .signatory-stat {
  position: relative;
  inset: auto;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: 100%;
  min-height: clamp(170px, 18vw, 220px);
  align-self: stretch;
  transform: none;
}

.page-signatories .signatory-stat.cat-dj,
.page-signatories .signatory-stat.cat-listener,
.page-signatories .signatory-stat.cat-producer,
.page-signatories .signatory-stat.cat-festival,
.page-signatories .signatory-stat.cat-dancer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  transform: none !important;
}

.page-signatories .sig-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px;
}

.page-signatories .sig-list-toolbar {
  order: 1;
  width: 100%;
}

.page-signatories .sig-list-grid {
  order: 2;
  width: 100%;
}

.page-signatories .sig-list-more {
  order: 3;
  width: 100%;
  margin-top: 16px;
}

@media (max-width: 900px) {
  .page-signatories .signatories-hero > div:first-child {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 16px !important;
  }
  .page-signatories .signatories-hero > div:first-child .btn-group {
    justify-self: start;
  }
  .page-signatories .signatory-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
  }
  .page-signatories .signatory-stat {
    min-height: 154px;
  }
}

@media (max-width: 620px) {
  .page-signatories .signatory-breakdown {
    grid-template-columns: 1fr;
  }
  .mini-tab {
    left: 50%;
    top: -25px;
    transform: translateX(-50%);
    padding: 8px 12px 7px;
    min-height: 24px;
    border-radius: 14px 14px 4px 4px;
    font-size: 8px;
    letter-spacing: 0.2em;
  }
  .page-signatories .signatory-stat {
    min-height: 144px;
  }
}
