
    :root {
      --black: #050609;
      --deep: #08111f;
      --blue: #122640;
      --blue-soft: #1a3553;
      --paper: #f2ebdd;
      --paper-soft: #e5dac8;
      --ink: #141820;
      --ink-soft: rgba(20,24,32,.74);
      --white: #f6f3ee;
      --muted: rgba(246,243,238,.62);
      --gold: #cfd8e3;
      --red: #ff4b4b;
      --line: rgba(246,243,238,.14);
      --paper-line: rgba(20,24,32,.16);
      --ui: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --mono: "Courier Prime", "Courier New", monospace;
      --title: "Oswald", "Arial Narrow", sans-serif;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html, body { width: 100%; min-height: 100%; }
    html { scroll-behavior: smooth; }

    body {
      background:
        radial-gradient(circle at 18% 42%, rgba(216,228,242,.08), transparent 25%),
        radial-gradient(circle at 90% 12%, rgba(216,228,242,.10), transparent 30%),
        linear-gradient(135deg, #050609 0%, #08111f 50%, #14263c 130%);
      color: var(--white);
      font-family: var(--ui);
      overflow-x: hidden;
    }

    body.menu-open,
    body.intro-active {
      overflow: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: .12;
      mix-blend-mode: screen;
      background-image:
        repeating-linear-gradient(
          0deg,
          rgba(255,255,255,.05) 0,
          rgba(255,255,255,.05) 1px,
          transparent 1px,
          transparent 4px
        );
    }

    a { color: inherit; text-decoration: none; }
    button { font: inherit; border: 0; cursor: pointer; color: inherit; background: none; }

    .intro {
      position: fixed;
      inset: 0;
      z-index: 99999;
      background: #000;
      display: grid;
      place-items: center;
      transition: opacity 1.05s cubic-bezier(.22,1,.36,1), visibility 1.05s ease;
    }

    .intro.hide {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .intro-inner {
      width: min(920px, 92vw);
      text-align: center;
      display: grid;
      place-items: center;
    }

    .intro-mark {
      width: min(340px, 52vw);
      height: min(340px, 52vw);
      display: grid;
      place-items: center;
      opacity: 0;
      transform: scale(.94);
      filter: blur(12px);
      animation: introMarkQuiet 2.15s cubic-bezier(.22,1,.36,1) forwards;
    }

    .intro-logo-img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      display: block;
    }

    .intro-logo-fallback {
      display: none;
      font-family: var(--title);
      font-size: clamp(8rem, 34vw, 18rem);
      line-height: .74;
      font-weight: 200;
      letter-spacing: -.08em;
      color: rgba(246,243,238,.94);
    }

    .intro-title,
    .intro-sub {
      display: none;
    }

    @keyframes introMarkQuiet {
      0% { opacity: 0; transform: scale(.94); filter: blur(12px); }
      34% { opacity: .95; transform: scale(1); filter: blur(0); }
      66% { opacity: .95; transform: scale(1); filter: blur(0); }
      100% { opacity: 0; transform: scale(1.045); filter: blur(7px); }
    }

    main {
      min-height: 100vh;
      position: relative;
      opacity: 0;
      transition: opacity 1.25s cubic-bezier(.22,1,.36,1);
    }

    body.site-entered main {
      opacity: 1;
    }

    .giant-m {
      position: fixed;
      left: -.14em;
      top: 50%;
      transform: translateY(-50%);
      z-index: 0;
      pointer-events: none;
      font-family: var(--title);
      font-size: 114vh;
      line-height: .78;
      font-weight: 200;
      letter-spacing: -.08em;
      color: rgba(246,243,238,.04);
      text-shadow: 0 0 90px rgba(216,228,242,.04);
    }

    .brand {
      position: fixed;
      top: 24px;
      left: clamp(22px, 4vw, 56px);
      z-index: 4200;
      font-family: var(--title);
      text-transform: uppercase;
      letter-spacing: .16em;
      font-size: .9rem;
      color: rgba(246,243,238,.74);
      opacity: 0;
      transition: opacity .95s ease;
    }

    body.site-entered .brand { opacity: 1; }

    .side-trigger {
      position: fixed;
      top: 50%;
      right: 24px;
      transform: translateY(-50%);
      z-index: 5000;
      color: var(--gold);
      font-family: var(--mono);
      font-size: 4rem;
      line-height: 1;
      opacity: 0;
      transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1), color .65s ease;
    }

    body.site-entered .side-trigger { opacity: 1; }

    .side-trigger:hover {
      transform: translateY(-50%) translateX(-8px);
      color: var(--white);
    }

    .side-label {
      position: fixed;
      right: 92px;
      top: 50%;
      transform: translateY(-50%) rotate(-90deg);
      z-index: 3900;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .16em;
      font-size: .82rem;
      color: rgba(246,243,238,.42);
      opacity: 0;
      transition: opacity 1s cubic-bezier(.22,1,.36,1);
      pointer-events: none;
    }

    body.site-entered .side-label { opacity: .74; }

    .drawer-backdrop {
      position: fixed;
      inset: 0;
      z-index: 6000;
      background: rgba(0,0,0,.66);
      opacity: 0;
      pointer-events: none;
      transition: opacity .85s cubic-bezier(.22,1,.36,1), backdrop-filter .85s cubic-bezier(.22,1,.36,1);
      backdrop-filter: blur(3px);
    }

    body.menu-open .drawer-backdrop {
      opacity: 1;
      pointer-events: auto;
    }

    .drawer {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 7000;
      width: min(560px, 94vw);
      height: 100vh;
      background:
        radial-gradient(circle at top right, rgba(216,228,242,.07), transparent 34%),
        linear-gradient(135deg, #070d16, #132238);
      color: var(--white);
      transform: translateX(100%);
      transition: transform 1.05s cubic-bezier(.22,1,.36,1);
      padding: clamp(22px, 3.2vh, 32px) clamp(30px, 4.4vw, 46px);
      overflow: hidden;
    }

    body.menu-open .drawer { transform: translateX(0); }

    .drawer::after {
      content: "";
      position: absolute;
      inset: 0;
      background: url("images/logo.png") left center / auto 116vh no-repeat;
      opacity: .105;
      filter: grayscale(1) brightness(1.85) contrast(.72);
      pointer-events: none;
    }

    .drawer > * {
      position: relative;
      z-index: 2;
    }

    .drawer-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: clamp(16px, 2.6vh, 24px);
    }

    .menu-title {
      color: var(--gold);
      font-family: var(--mono);
      text-transform: uppercase;
      font-size: .76rem;
      letter-spacing: .16em;
    }

    .close-drawer {
      font-family: var(--mono);
      font-size: 2rem;
      color: var(--white);
    }

    .drawer-intro {
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: .72rem;
      color: rgba(246,243,238,.45);
      margin-bottom: 0;
      display: none;
      line-height: 1.6;
    }

    .drawer-nav {
      display: grid;
      gap: clamp(15px, 2.35vh, 25px);
      padding-bottom: 0;
    }

    .drawer-link {
      text-align: left;
      color: var(--white);
      display: grid;
      grid-template-columns: 54px 1fr;
      gap: 18px;
      align-items: baseline;
      opacity: .48;
      transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), filter .55s ease;
      font-family: var(--mono);
      text-transform: uppercase;
      position: relative;
    }

    .drawer-link:hover,
    .drawer-link.active,
    .drawer-link.selected {
      opacity: 1;
      transform: translateX(-8px);
    }

    .chapter-number {
      color: var(--gold);
      font-size: .74rem;
      letter-spacing: .12em;
      font-weight: 700;
    }

    .drawer-link strong {
      font-family: var(--title);
      font-weight: 300;
      letter-spacing: -.01em;
      text-transform: uppercase;
      font-size: clamp(2.1rem, 5.45vh, 3.55rem);
      line-height: .98;
      display: inline-block;
      position: relative;
    }

    .drawer-link span.label {
      display: block;
      margin-top: 4px;
      font-family: var(--mono);
      font-size: .7rem;
      letter-spacing: .12em;
      color: rgba(246,243,238,.44);
      line-height: 1.4;
    }

    .drawer-link strong::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -8px;
      width: 0;
      height: 1px;
      background: var(--gold);
      box-shadow: 0 0 14px rgba(216,228,242,.38);
      transition: width .55s cubic-bezier(.22,1,.36,1), opacity .55s ease;
    }

    .drawer-link:hover strong::after,
    .drawer-link.active strong::after,
    .drawer-link.selected strong::after {
      width: 100%;
    }

    .stage {
      min-height: 100vh;
      padding: 68px clamp(18px, 7vw, 120px) 80px;
      display: grid;
      place-items: start center;
      position: relative;
      z-index: 2;
    }

    .page-stack {
      width: min(980px, 100%);
      position: relative;
      min-height: 78vh;
      perspective: 1200px;
    }

    .page {
      width: 100%;
      min-height: 78vh;
      background:
        radial-gradient(circle at 12% 21%, rgba(0,0,0,.08) 0 2px, transparent 3px),
        radial-gradient(circle at 12% 50%, rgba(0,0,0,.08) 0 2px, transparent 3px),
        radial-gradient(circle at 12% 79%, rgba(0,0,0,.08) 0 2px, transparent 3px),
        linear-gradient(90deg, rgba(0,0,0,.045), transparent 8%, transparent 92%, rgba(0,0,0,.03)),
        repeating-linear-gradient(0deg, rgba(0,0,0,.015) 0, rgba(0,0,0,.015) 1px, transparent 1px, transparent 28px),
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.08)),
        var(--paper);
      color: var(--ink);
      border-radius: 4px;
      padding: clamp(44px, 6vw, 84px) clamp(28px, 5vw, 72px);
      box-shadow:
        0 46px 124px rgba(0,0,0,.58),
        0 2px 0 rgba(255,255,255,.5) inset;
      font-family: var(--mono);
      transform: rotate(-.15deg);
      position: relative;
      overflow: hidden;
      transition:
        transform 1.05s cubic-bezier(.22,1,.36,1),
        opacity .9s cubic-bezier(.22,1,.36,1),
        filter .9s ease;
    }

    .page::after {
      content: "THE MASI ROOM / CONVERSATION FILE";
      position: absolute;
      right: clamp(22px, 4vw, 48px);
      bottom: 22px;
      font-size: .62rem;
      letter-spacing: .12em;
      color: rgba(20,24,32,.25);
      pointer-events: none;
    }

    .page.exit-up {
      transform: translateY(-110vh) rotate(-1.5deg);
      opacity: 0;
      filter: blur(4px) brightness(.9);
    }

    .page.enter-from-bottom {
      transform: translateY(110vh) rotate(.8deg);
      opacity: 0;
      filter: blur(4px) brightness(.88);
    }

    .page.entered {
      transform: translateY(0) rotate(-.15deg);
      opacity: 1;
      filter: blur(0) brightness(1);
    }

    .scene-line {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .035em;
      border-bottom: 1px solid rgba(20,24,32,.16);
      padding-bottom: 16px;
      margin-bottom: 0;
      display: none;
      color: var(--ink);
      min-height: 2.5em;
    }

    .act-title {
      font-family: var(--title);
      text-transform: uppercase;
      font-size: clamp(3.4rem, 9vw, 8.6rem);
      line-height: .9;
      font-weight: 300;
      letter-spacing: -.035em;
      margin-bottom: 36px;
      color: var(--ink);
    }

    .script-copy {
      font-size: clamp(1.02rem, 1.4vw, 1.16rem);
      line-height: 1.78;
      color: var(--ink-soft);
      max-width: 760px;
      margin-bottom: 24px;
    }

    .script-note {
      margin-top: 36px;
      padding-left: 62px;
      position: relative;
      color: rgba(20,24,32,.68);
      max-width: 780px;
      line-height: 1.68;
    }

    .script-note::before {
      content: "NOTE:";
      position: absolute;
      left: 0;
      top: 0;
      font-size: .72rem;
      letter-spacing: .08em;
      color: rgba(20,24,32,.42);
    }

    .character {
      text-align: center;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin: 34px 0 10px;
      color: var(--ink);
    }

    .dialogue {
      width: min(560px, 100%);
      margin: 0 auto 22px;
      line-height: 1.65;
      color: rgba(20,24,32,.78);
      font-size: clamp(.98rem, 1.35vw, 1.08rem);
    }

    .scene-cards {
      display: grid;
      gap: 18px;
      margin-top: 38px;
      max-width: 880px;
    }

    .scene-card {
      display: grid;
      grid-template-columns: 84px 1fr;
      gap: 22px;
      padding: 24px 0;
      border-top: 1px solid rgba(20,24,32,.13);
    }

    .scene-card:first-child { border-top: 0; }

    .scene-number {
      color: rgba(20,24,32,.55);
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .82rem;
    }

    .scene-card h2 {
      font-family: var(--title);
      text-transform: uppercase;
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: .95;
      font-weight: 300;
      letter-spacing: -.02em;
      color: var(--ink);
      margin-bottom: 12px;
    }

    .scene-card p {
      color: var(--ink-soft);
      line-height: 1.65;
      max-width: 720px;
    }

    body.credits-active .stage {
      min-height: 100vh;
      padding: 0;
      place-items: stretch;
    }

    body.credits-active .page-stack {
      width: 100%;
      min-height: 100vh;
    }

    body.credits-active .footer,
    body.credits-active .brand,
    body.credits-active .side-label {
      display: none;
    }

    .page.credits-page {
      width: 100%;
      min-height: 100vh;
      height: 100vh;
      padding: 0;
      background:
        radial-gradient(circle at center, rgba(246,243,238,.055), transparent 34%),
        linear-gradient(180deg, #000 0%, #030303 100%);
      color: var(--white);
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
      transform: none;
    }

    .page.credits-page.entered {
      transform: none;
    }

    .page.credits-page::after {
      content: none;
    }

    .page.credits-page .scene-line,
    .page.credits-page .act-title {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
    }

    .page.credits-page .page-content {
      position: absolute;
      inset: 0;
      min-height: 100vh;
      overflow: hidden;
      opacity: 1;
      transform: none;
      mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 86%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 86%, transparent 100%);
    }

    .credits-roll {
      width: min(880px, 86vw);
      margin: 0 auto;
      padding-top: 34vh;
      padding-bottom: 24vh;
      text-align: center;
      animation: creditsRoll 19s linear infinite;
    }

    .credits-roll:hover { animation-play-state: paused; }

    @keyframes creditsRoll {
      from { transform: translateY(0); }
      to { transform: translateY(-100%); }
    }

    .credit-block {
      margin: 0 auto 44px;
      line-height: 1.7;
    }

    .credit-role {
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .18em;
      font-size: clamp(.82rem, 1.2vw, 1.05rem);
      color: rgba(246,243,238,.45);
      margin-bottom: 10px;
    }

    .credit-name {
      font-family: var(--title);
      text-transform: uppercase;
      font-weight: 300;
      font-size: clamp(3.35rem, 8.2vw, 7.4rem);
      line-height: .95;
      letter-spacing: -.02em;
      color: var(--white);
    }

    .credit-text {
      color: rgba(246,243,238,.74);
      max-width: 680px;
      margin: 0 auto;
      font-size: clamp(1.18rem, 1.8vw, 1.48rem);
    }

    .credit-text strong {
      color: var(--white);
      font-weight: 700;
    }

    .credits-kicker {
      position: fixed;
      top: clamp(22px, 4vw, 46px);
      left: clamp(22px, 4vw, 48px);
      z-index: 7200;
      font-family: var(--title);
      text-transform: uppercase;
      font-weight: 300;
      letter-spacing: .03em;
      font-size: clamp(2.8rem, 7vw, 6.6rem);
      line-height: .86;
      color: rgba(246,243,238,.96);
      pointer-events: none;
    }

    .credits-controls {
      position: fixed;
      left: clamp(22px, 4vw, 48px);
      right: clamp(22px, 4vw, 48px);
      bottom: 26px;
      z-index: 7100;
      display: flex;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
      pointer-events: auto;
    }

    .page.credits-page .buttons {
      margin-top: 0;
      padding-top: 0;
      border-top: 0;
    }

    .buttons {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: 42px;
      padding-top: 26px;
      border-top: 1px solid rgba(20,24,32,.12);
      position: relative;
      z-index: 2;
    }

    .btn {
      min-height: 50px;
      padding: 15px 24px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-transform: uppercase;
      letter-spacing: .09em;
      font-family: var(--mono);
      font-weight: 700;
      font-size: .78rem;
      transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
    }

    .btn.primary {
      background: var(--ink);
      color: var(--paper);
    }

    .btn.secondary {
      border: 1px solid rgba(20,24,32,.32);
      color: var(--ink);
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .writer-cursor::after {
      content: "I";
      display: inline-block;
      margin-left: 6px;
      animation: blink 1s step-end infinite;
    }

    @keyframes blink { 50% { opacity: 0; } }

    .page-content > * {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .7s ease, transform .7s ease;
    }

    .page-content.revealed > * {
      opacity: 1;
      transform: translateY(0);
    }

    .page-content.revealed > *:nth-child(1) { transition-delay: .05s; }
    .page-content.revealed > *:nth-child(2) { transition-delay: .12s; }
    .page-content.revealed > *:nth-child(3) { transition-delay: .20s; }
    .page-content.revealed > *:nth-child(4) { transition-delay: .28s; }
    .page-content.revealed > *:nth-child(5) { transition-delay: .36s; }
    .page-content.revealed > *:nth-child(6) { transition-delay: .44s; }

    .footer {
      position: relative;
      z-index: 3;
      padding: 30px clamp(18px, 6vw, 82px);
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
      color: rgba(246,243,238,.45);
      font-family: var(--mono);
      font-size: .76rem;
      letter-spacing: .04em;
    }

    @media (max-width: 900px) {
      .brand {
        left: 18px;
        font-size: .82rem;
      }

      .side-trigger {
        right: 12px;
        font-size: 3.2rem;
      }

      .side-label {
        display: none;
      }

      .stage {
        padding: 96px 14px 60px;
      }

      .page {
        padding: 38px 22px 64px;
        min-height: 76vh;
      }

      .scene-card,
      .credit-line {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .script-note {
        padding-left: 0;
      }

      .script-note::before {
        position: static;
        display: block;
        margin-bottom: 8px;
      }

      .drawer {
        padding: 26px 24px;
      }

      .drawer-link {
        grid-template-columns: 42px 1fr;
      }

      .drawer-link strong {
        font-size: clamp(1.7rem, 8.5vw, 2.45rem);
      }

      .footer {
        flex-direction: column;
      }
    }

    
    :root {
      --gold: #f6f3ee;
      --paper: #eee6d7;
      --paper-soft: #d8cdbc;
      --ink: #11151c;
      --ink-soft: rgba(17,21,28,.72);
    }

    body {
      background:
        radial-gradient(circle at 18% 42%, rgba(246,243,238,.045), transparent 26%),
        radial-gradient(circle at 86% 10%, rgba(246,243,238,.045), transparent 28%),
        linear-gradient(135deg, #030406 0%, #07101b 54%, #101d2e 140%);
    }

    .intro {
      background: #000;
      transition: opacity 1.35s cubic-bezier(.22,1,.36,1), visibility 1.35s ease;
    }

    .intro-inner {
      width: min(900px, 92vw);
      min-height: 46vh;
      display: grid;
      place-items: center;
      align-content: center;
      gap: clamp(22px, 4vh, 40px);
    }

    .intro-mark {
      width: min(260px, 42vw);
      height: min(260px, 42vw);
      opacity: 0;
      transform: scale(.985);
      filter: blur(8px);
      animation: finalIntroLogo 3.1s cubic-bezier(.22,1,.36,1) forwards;
    }

    .intro-title {
      display: block;
      font-family: var(--title);
      text-transform: uppercase;
      font-size: clamp(2.7rem, 9vw, 7.2rem);
      line-height: .88;
      font-weight: 300;
      letter-spacing: .025em;
      color: rgba(246,243,238,.96);
      opacity: 0;
      transform: translateY(10px);
      filter: blur(5px);
      animation: finalIntroTitle 3.1s cubic-bezier(.22,1,.36,1) forwards;
    }

    .intro-sub { display: none; }

    @keyframes finalIntroLogo {
      0% { opacity: 0; transform: scale(.985); filter: blur(8px); }
      26% { opacity: .92; transform: scale(1); filter: blur(0); }
      74% { opacity: .92; transform: scale(1); filter: blur(0); }
      100% { opacity: 0; transform: scale(1.012); filter: blur(5px); }
    }

    @keyframes finalIntroTitle {
      0%, 28% { opacity: 0; transform: translateY(10px); filter: blur(5px); }
      46% { opacity: .96; transform: translateY(0); filter: blur(0); }
      78% { opacity: .96; transform: translateY(0); filter: blur(0); }
      100% { opacity: 0; transform: translateY(-6px); filter: blur(4px); }
    }

    .side-trigger,
    .menu-title,
    .chapter-number { color: rgba(246,243,238,.76); }

    .side-trigger:hover,
    .close-drawer:hover { color: #fff; }

    .drawer {
      background: linear-gradient(135deg, #04070d 0%, #0a1421 62%, #111b2a 100%);
      padding: clamp(18px, 2.5vh, 28px) clamp(26px, 4vw, 44px);
      overflow: hidden;
    }

    .drawer::after {
      background: url("images/logo.png") left -16vh center / auto 128vh no-repeat;
      opacity: .12;
      filter: grayscale(1) brightness(2.05) contrast(.75);
      transform: translateX(-24%);
    }

    .drawer-head { margin-bottom: clamp(10px, 1.7vh, 18px); }

    .menu-title {
      font-size: .64rem;
      color: rgba(246,243,238,.38);
    }

    .drawer-nav {
      gap: clamp(11px, 1.65vh, 18px);
      min-height: calc(100vh - 86px);
      align-content: center;
    }

    .drawer-link {
      grid-template-columns: 42px 1fr;
      gap: 18px;
      opacity: .52;
    }

    .chapter-number {
      font-size: .62rem;
      color: rgba(246,243,238,.32);
      transform: translateY(.48em);
    }

    .drawer-link strong {
      font-size: clamp(2.65rem, 6.8vh, 4.9rem);
      line-height: .86;
      letter-spacing: -.035em;
    }

    .drawer-link span.label { display: none; }

    .drawer-link strong::after {
      background: rgba(246,243,238,.76);
      box-shadow: none;
      bottom: -5px;
    }

    .page {
      background:
        linear-gradient(90deg, rgba(0,0,0,.06), transparent 10%, transparent 90%, rgba(0,0,0,.035)),
        repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0, rgba(0,0,0,.012) 1px, transparent 1px, transparent 31px),
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.04)),
        var(--paper);
      border-radius: 2px;
      box-shadow: 0 54px 150px rgba(0,0,0,.66), 0 1px 0 rgba(255,255,255,.46) inset;
      transform: rotate(-.08deg);
      transition: transform 1.18s cubic-bezier(.22,1,.36,1), opacity .98s cubic-bezier(.22,1,.36,1), filter .98s ease;
    }

    .page.exit-up {
      transform: translateY(-105vh) rotate(-.8deg) scale(.985);
      opacity: 0;
      filter: blur(7px) brightness(.86);
    }

    .page.enter-from-bottom {
      transform: translateY(105vh) rotate(.35deg) scale(.99);
      opacity: 0;
      filter: blur(7px) brightness(.9);
    }

    .page.entered { transform: translateY(0) rotate(-.08deg) scale(1); }

    .act-title {
      letter-spacing: -.045em;
      margin-bottom: clamp(34px, 5vw, 62px);
    }

    .script-copy, .dialogue, .script-note, .scene-card p { color: rgba(17,21,28,.7); }

    .btn.primary { background: #11151c; color: var(--paper); }
    .btn.secondary { border-color: rgba(17,21,28,.28); color: #11151c; }

    .page.credits-page {
      background: radial-gradient(circle at 50% 48%, rgba(246,243,238,.05), transparent 32%), #000;
    }

    .credits-kicker {
      font-size: clamp(3.2rem, 8.5vw, 8.2rem);
      color: rgba(246,243,238,.98);
    }

    .credits-roll {
      width: min(980px, 88vw);
      padding-top: 22vh;
      padding-bottom: 18vh;
      animation-duration: 13s;
    }

    .credit-block { margin-bottom: clamp(34px, 5vh, 58px); }
    .credit-name { font-size: clamp(4rem, 9.6vw, 9.3rem); }
    .credit-text { font-size: clamp(1.28rem, 2.1vw, 1.72rem); max-width: 760px; }

    .room-tone-toggle {
      position: fixed;
      left: clamp(18px, 4vw, 56px);
      bottom: clamp(18px, 3vw, 34px);
      z-index: 4300;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: .68rem;
      color: rgba(246,243,238,.38);
      border: 1px solid rgba(246,243,238,.16);
      border-radius: 999px;
      padding: 10px 14px;
      opacity: 0;
      transition: opacity .9s cubic-bezier(.22,1,.36,1), color .45s ease, border-color .45s ease, transform .45s cubic-bezier(.22,1,.36,1);
    }

    body.site-entered .room-tone-toggle { opacity: 1; }
    body.credits-active .room-tone-toggle { color: rgba(246,243,238,.62); border-color: rgba(246,243,238,.24); }
    .room-tone-toggle:hover, .room-tone-toggle.active { color: rgba(246,243,238,.9); border-color: rgba(246,243,238,.46); transform: translateY(-1px); }

    @media (max-height: 760px) {
      .drawer-link strong { font-size: clamp(2.15rem, 6.1vh, 3.6rem); }
      .drawer-nav { gap: 10px; }
    }

    @media (max-width: 900px) {
      .drawer-link strong { font-size: clamp(2.35rem, 11vw, 3.9rem); }
      .drawer::after { background-size: auto 112vh; transform: translateX(-36%); }
      .room-tone-toggle { display: none; }
    }

  

    
    .intro {
      background: #000;
      transition: opacity .9s cubic-bezier(.22,1,.36,1), visibility .9s ease;
    }

    .intro-inner { gap: 18px; }

    .intro-mark {
      width: min(280px, 46vw);
      height: min(280px, 46vw);
      animation: finalQuietIdent 1.55s cubic-bezier(.22,1,.36,1) forwards;
    }

    .intro-title {
      font-family: var(--title);
      font-size: clamp(2.2rem, 7vw, 5.6rem);
      font-weight: 300;
      letter-spacing: .02em;
      opacity: 0;
      animation: finalQuietTitle 1.55s cubic-bezier(.22,1,.36,1) forwards;
    }

    .intro-sub { display: none; }

    @keyframes finalQuietIdent {
      0% { opacity: 0; transform: scale(.98); filter: blur(8px); }
      30% { opacity: .9; transform: scale(1); filter: blur(0); }
      68% { opacity: .9; transform: scale(1); filter: blur(0); }
      100% { opacity: 0; transform: scale(1.01); filter: blur(5px); }
    }

    @keyframes finalQuietTitle {
      0%, 34% { opacity: 0; transform: translateY(8px); filter: blur(5px); }
      55% { opacity: .96; transform: translateY(0); filter: blur(0); }
      78% { opacity: .96; transform: translateY(0); filter: blur(0); }
      100% { opacity: 0; transform: translateY(-4px); filter: blur(4px); }
    }

    .drawer::after {
      background-image: url("images/logo.png");
      background-repeat: no-repeat;
      background-size: auto 178vh;
      background-position: left -52vh center;
      opacity: .135;
      filter: grayscale(1) brightness(2.25) contrast(.78);
      transform: none;
    }

    .drawer-nav {
      gap: clamp(13px, 2vh, 22px);
      min-height: calc(100vh - 76px);
      align-content: center;
    }

    .drawer-link strong {
      font-size: clamp(2.95rem, 7.4vh, 5.35rem);
      line-height: .84;
      letter-spacing: -.04em;
    }

    .chapter-number {
      font-size: .68rem;
      transform: translateY(.42em);
    }

    .page.credits-page {
      position: fixed;
      inset: 0;
      width: 100vw;
      height: 100vh;
      min-height: 100vh;
      z-index: 3500;
      padding: 0;
      background: #000;
      overflow: hidden;
    }

    .page.credits-page .page-content {
      position: absolute;
      inset: 0;
      min-height: 100vh;
      overflow: hidden;
      mask-image: linear-gradient(to bottom, transparent 0%, black 11%, black 88%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 11%, black 88%, transparent 100%);
    }

    .credits-kicker {
      position: fixed;
      top: clamp(22px, 4vw, 54px);
      left: clamp(22px, 4vw, 58px);
      z-index: 3700;
      font-family: var(--mono);
      font-size: clamp(.78rem, 1vw, .98rem);
      line-height: 1;
      letter-spacing: .22em;
      color: rgba(246,243,238,.92);
      text-transform: uppercase;
      border-bottom: 1px solid rgba(246,243,238,.75);
      padding-bottom: 8px;
      pointer-events: none;
    }

    .credits-roll {
      width: min(900px, 84vw);
      padding-top: 16vh;
      padding-bottom: 14vh;
      animation: creditsRoll 10.5s linear infinite;
    }

    .credit-block { margin-bottom: clamp(28px, 4.2vh, 48px); }
    .credit-role { font-size: clamp(.8rem, 1vw, 1rem); }
    .credit-name { font-size: clamp(2.8rem, 6.4vw, 6.8rem); }
    .credit-text { font-size: clamp(1.18rem, 1.8vw, 1.55rem); max-width: 760px; }

    .credits-controls {
      position: fixed;
      left: 50%;
      bottom: clamp(20px, 4vh, 38px);
      transform: translateX(-50%);
      z-index: 3800;
      margin: 0;
      padding: 0;
      border: 0;
      opacity: .18;
      transition: opacity .45s ease;
    }

    .credits-controls:hover { opacity: 1; }

    @media (max-width: 900px) {
      .drawer::after {
        background-size: auto 150vh;
        background-position: left -48vh center;
      }

      .drawer-link strong {
        font-size: clamp(2.35rem, 10.5vw, 4.35rem);
      }

      .credits-kicker {
        top: 20px;
        left: 18px;
      }

      .credits-roll {
        width: min(760px, 88vw);
        padding-top: 18vh;
        animation-duration: 11s;
      }
    }

    
    .giant-m { display: none; }

    .giant-logo {
      position: fixed;
      left: -38vh;
      top: 50%;
      width: 114vh;
      height: 114vh;
      transform: translateY(-50%);
      z-index: 0;
      pointer-events: none;
      background: url("images/logo.png") center / contain no-repeat;
      opacity: .045;
      filter: grayscale(1) brightness(2.05) contrast(.78);
      text-shadow: 0 0 90px rgba(216,228,242,.04);
    }

    .drawer::after {
      background-image: url("images/logo.png");
      background-repeat: no-repeat;
      background-size: auto 178vh;
      background-position: left -52vh center;
      opacity: .135;
      filter: grayscale(1) brightness(2.25) contrast(.78);
      transform: none;
    }

    .drawer-nav {
      gap: clamp(15px, 2.25vh, 26px);
    }

    .drawer-link strong {
      font-size: clamp(3.25rem, 8.4vh, 6.15rem);
      line-height: .82;
    }

    .credits-roll {
      animation-duration: 22s;
    }

    .credit-block {
      margin-bottom: clamp(24px, 3.7vh, 42px);
    }

    .credit-role {
      font-size: clamp(.68rem, .86vw, .86rem);
    }

    .credit-name {
      font-size: clamp(2.35rem, 5.3vw, 5.65rem);
    }

    .credit-text {
      font-size: clamp(.98rem, 1.42vw, 1.28rem);
      max-width: 720px;
    }

    @media (max-width: 900px) {
      .giant-logo {
        left: -42vh;
        width: 108vh;
        height: 108vh;
      }

      .drawer-link strong {
        font-size: clamp(2.65rem, 11.8vw, 4.75rem);
      }

      .credits-roll {
        animation-duration: 24s;
      }
    }

    
    .page.exit-up {
      transform: translateY(-42px) rotate(-.25deg) scale(.992) !important;
      opacity: 0 !important;
      filter: blur(8px) brightness(.78) !important;
      transition: transform .72s cubic-bezier(.22,1,.36,1), opacity .72s cubic-bezier(.22,1,.36,1), filter .72s ease !important;
    }

    .page.enter-from-bottom {
      transform: translateY(58px) rotate(.18deg) scale(.992) !important;
      opacity: 0 !important;
      filter: blur(8px) brightness(.86) !important;
    }

    .page.entered {
      transform: translateY(0) rotate(-.08deg) scale(1) !important;
      opacity: 1 !important;
      filter: blur(0) brightness(1) !important;
      transition: transform .88s cubic-bezier(.22,1,.36,1), opacity .88s cubic-bezier(.22,1,.36,1), filter .88s ease !important;
    }

    .credits-roll {
      width: min(760px, 80vw) !important;
      padding-top: 28vh !important;
      padding-bottom: 28vh !important;
      animation-duration: 34s !important;
    }

    .credit-block { margin-bottom: clamp(24px, 4.4vh, 54px) !important; }
    .credit-role {
      font-size: clamp(.58rem, .72vw, .76rem) !important;
      letter-spacing: .24em !important;
      margin-bottom: 8px !important;
    }
    .credit-name {
      font-size: clamp(1.75rem, 3.9vw, 4.35rem) !important;
      line-height: 1.02 !important;
      letter-spacing: .015em !important;
    }
    .credit-text {
      font-size: clamp(.76rem, 1.05vw, 1.02rem) !important;
      line-height: 1.72 !important;
      max-width: 620px !important;
    }

    @media (max-width: 900px) {
      .credits-roll { animation-duration: 36s !important; width: min(640px, 86vw) !important; }
      .credit-name { font-size: clamp(1.65rem, 8vw, 3.4rem) !important; }
      .credit-text { font-size: clamp(.78rem, 3.4vw, .98rem) !important; }
    }

    
    .page.exit-up {
      transform: translateY(-92px) rotate(-.35deg) scale(.985) !important;
      opacity: 0 !important;
      filter: blur(10px) brightness(.72) !important;
      transition: transform .95s cubic-bezier(.22,1,.36,1), opacity .95s cubic-bezier(.22,1,.36,1), filter .95s ease !important;
    }

    .page.enter-from-bottom {
      transform: translateY(34px) rotate(.12deg) scale(.992) !important;
      opacity: 0 !important;
      filter: blur(7px) brightness(.9) !important;
    }

    .page.entered {
      transform: translateY(0) rotate(-.08deg) scale(1) !important;
      opacity: 1 !important;
      filter: blur(0) brightness(1) !important;
      transition: transform 1.05s cubic-bezier(.22,1,.36,1), opacity 1.05s cubic-bezier(.22,1,.36,1), filter 1.05s ease !important;
    }

    .credits-roll {
      width: min(620px, 76vw) !important;
      padding-top: 42vh !important;
      padding-bottom: 48vh !important;
      animation-duration: 58s !important;
      letter-spacing: .01em !important;
    }

    .credit-block { margin-bottom: clamp(22px, 4vh, 46px) !important; }
    .credit-role {
      font-size: clamp(.48rem, .62vw, .66rem) !important;
      letter-spacing: .26em !important;
      margin-bottom: 7px !important;
      color: rgba(246,243,238,.48) !important;
    }
    .credit-name {
      font-size: clamp(1.25rem, 2.65vw, 3.15rem) !important;
      line-height: 1.08 !important;
      letter-spacing: .03em !important;
      font-weight: 300 !important;
    }
    .credit-text {
      font-size: clamp(.64rem, .86vw, .86rem) !important;
      line-height: 1.82 !important;
      max-width: 520px !important;
    }

    .credits-kicker {
      font-size: clamp(.62rem, .82vw, .82rem) !important;
      letter-spacing: .28em !important;
      opacity: .86 !important;
    }

    @media (max-width: 900px) {
      .credits-roll { width: min(520px, 82vw) !important; animation-duration: 62s !important; padding-top: 40vh !important; }
      .credit-name { font-size: clamp(1.12rem, 5.7vw, 2.35rem) !important; }
      .credit-text { font-size: clamp(.62rem, 2.7vw, .82rem) !important; }
    }

    
    .giant-logo { display: none !important; }
    .giant-m {
      display: block !important;
      position: fixed;
      left: -.14em;
      top: 50%;
      transform: translateY(-50%);
      z-index: 0;
      pointer-events: none;
      font-family: var(--title);
      font-size: 114vh;
      line-height: .78;
      font-weight: 200;
      letter-spacing: -.08em;
      color: rgba(246,243,238,.04);
      text-shadow: 0 0 90px rgba(216,228,242,.04);
    }

    .act-title.is-writing::after,
    .act-title.is-erasing::after {
      content: "I";
      display: inline-block;
      margin-left: .08em;
      font-family: var(--mono);
      font-size: .42em;
      transform: translateY(-.08em);
      animation: blink 1s step-end infinite;
    }

    .page.exit-up {
      transform: translateY(-76px) rotate(-.18deg) scale(.99) !important;
      opacity: 0 !important;
      filter: blur(9px) brightness(.78) !important;
      transition: transform 1.35s cubic-bezier(.19,1,.22,1), opacity 1.35s cubic-bezier(.19,1,.22,1), filter 1.35s ease !important;
    }

    .page.enter-from-bottom {
      transform: translateY(42px) rotate(.08deg) scale(.994) !important;
      opacity: 0 !important;
      filter: blur(8px) brightness(.9) !important;
    }

    .page.entered {
      transform: translateY(0) rotate(-.08deg) scale(1) !important;
      opacity: 1 !important;
      filter: blur(0) brightness(1) !important;
      transition: transform 1.45s cubic-bezier(.19,1,.22,1), opacity 1.45s cubic-bezier(.19,1,.22,1), filter 1.45s ease !important;
    }

    .credits-roll {
      width: min(560px, 72vw) !important;
      padding-top: 48vh !important;
      padding-bottom: 55vh !important;
      animation-duration: 78s !important;
    }
    .credit-name { font-size: clamp(1.05rem, 2.1vw, 2.55rem) !important; }
    .credit-text { font-size: clamp(.58rem, .76vw, .78rem) !important; max-width: 480px !important; }
    .credit-role { font-size: clamp(.44rem, .56vw, .6rem) !important; }

    @media (max-width: 900px) {
      .credits-roll { width: min(460px, 82vw) !important; animation-duration: 82s !important; }
      .credit-name { font-size: clamp(1rem, 5vw, 2.05rem) !important; }
      .credit-text { font-size: clamp(.58rem, 2.4vw, .76rem) !important; }
    }

    
    .giant-logo { display: none !important; }
    .giant-m {
      display: block !important;
      position: fixed;
      left: -.16em;
      top: 50%;
      transform: translateY(-50%);
      z-index: 0;
      pointer-events: none;
      font-family: var(--title);
      font-size: 118vh;
      line-height: .78;
      font-weight: 200;
      letter-spacing: -.08em;
      color: rgba(246,243,238,.032);
      text-shadow: 0 0 110px rgba(216,228,242,.045);
    }

    .page {
      transition:
        transform 1.55s cubic-bezier(.19,1,.22,1),
        opacity 1.25s cubic-bezier(.19,1,.22,1),
        filter 1.25s ease !important;
      will-change: transform, opacity, filter;
    }

    .page.exit-up {
      transform: translateY(-120px) rotate(-.32deg) scale(.986) !important;
      opacity: 0 !important;
      filter: blur(10px) brightness(.76) !important;
    }

    .page.enter-from-bottom {
      transform: translateY(70px) rotate(.12deg) scale(.993) !important;
      opacity: 0 !important;
      filter: blur(9px) brightness(.9) !important;
    }

    .page.entered {
      transform: translateY(0) rotate(-.08deg) scale(1) !important;
      opacity: 1 !important;
      filter: blur(0) brightness(1) !important;
    }

    .act-title {
      min-height: 1.02em;
      white-space: pre-wrap;
    }

    .act-title.is-writing::after,
    .act-title.is-erasing::after {
      content: "I";
      display: inline-block;
      margin-left: .08em;
      font-family: var(--mono);
      font-size: .38em;
      transform: translateY(-.1em);
      animation: blink 1s step-end infinite;
    }

    .page-content {
      opacity: 1;
      transition: opacity .65s ease, transform .65s cubic-bezier(.22,1,.36,1);
    }

    .page-content.leaving {
      opacity: 0;
      transform: translateY(-12px);
    }

    .credits-roll {
      width: min(520px, 70vw) !important;
      padding-top: 52vh !important;
      padding-bottom: 58vh !important;
      animation-duration: 92s !important;
      text-align: center !important;
    }

    .credit-block { margin-bottom: clamp(20px, 3.7vh, 42px) !important; }
    .credit-role {
      font-size: clamp(.42rem, .52vw, .58rem) !important;
      letter-spacing: .28em !important;
      margin-bottom: 7px !important;
      color: rgba(246,243,238,.48) !important;
    }
    .credit-name {
      font-size: clamp(1.02rem, 1.95vw, 2.35rem) !important;
      line-height: 1.12 !important;
      letter-spacing: .035em !important;
      font-weight: 300 !important;
    }
    .credit-text {
      font-size: clamp(.56rem, .72vw, .76rem) !important;
      line-height: 1.86 !important;
      max-width: 460px !important;
      color: rgba(246,243,238,.72) !important;
    }
    .credits-kicker {
      font-size: clamp(.58rem, .72vw, .78rem) !important;
      letter-spacing: .3em !important;
      opacity: .84 !important;
    }

    .room-tone-toggle::after {
      content: " / ambient hum";
      opacity: .55;
    }

    @media (max-width: 900px) {
      .giant-m { left: -.22em; font-size: 106vh; }
      .credits-roll { width: min(440px, 82vw) !important; animation-duration: 96s !important; }
      .credit-name { font-size: clamp(.98rem, 4.8vw, 1.95rem) !important; }
      .credit-text { font-size: clamp(.56rem, 2.3vw, .72rem) !important; }
    }

    
    .room-tone-toggle { display: none !important; }

    .page.same-page-changing {
      transform: translateY(-10px) rotate(-.08deg) scale(.998) !important;
      filter: blur(1px) brightness(.98) !important;
      transition: transform .55s cubic-bezier(.19,1,.22,1), filter .55s ease !important;
    }

    .page-content.leaving > * {
      opacity: 0 !important;
      transform: translateY(-16px) !important;
      transition: opacity .36s ease, transform .36s cubic-bezier(.19,1,.22,1) !important;
    }

    .page.credits-page.same-page-changing {
      transform: none !important;
    }

    .intro-logo-img {
      filter: grayscale(1) brightness(1.9) contrast(.82);
    }

    
    .drawer-link span.label {
      display: block !important;
      margin-top: 10px;
      font-family: var(--mono);
      font-size: clamp(.58rem, .78vw, .72rem);
      line-height: 1.45;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(246,243,238,.62);
      opacity: 0;
      transform: translateY(-4px);
      max-height: 0;
      overflow: hidden;
      transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), max-height .55s cubic-bezier(.22,1,.36,1);
    }

    .drawer-link:hover span.label,
    .drawer-link:focus-visible span.label,
    .drawer-link.active span.label,
    .drawer-link.selected span.label {
      opacity: .78;
      transform: translateY(0);
      max-height: 42px;
    }

    .menu-title {
      color: rgba(246,243,238,.72) !important;
      letter-spacing: .22em !important;
    }

    .season-header {
      margin: 34px 0 18px;
      padding: 28px 0 20px;
      border-top: 1px solid rgba(17,21,28,.16);
      border-bottom: 1px solid rgba(17,21,28,.12);
      max-width: 820px;
    }

    .season-eyebrow {
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .2em;
      font-size: .68rem;
      color: rgba(17,21,28,.46);
      margin-bottom: 10px;
      font-weight: 700;
    }

    .season-header h2 {
      font-family: var(--title);
      text-transform: uppercase;
      font-weight: 300;
      font-size: clamp(3.4rem, 8vw, 7.8rem);
      line-height: .86;
      letter-spacing: -.04em;
      color: var(--ink);
      margin-bottom: 14px;
    }

    .season-header p {
      color: rgba(17,21,28,.68);
      line-height: 1.65;
      max-width: 680px;
    }

    .episode-list { margin-top: 14px; }
    .episode-card h2::before { content: none; }
    .muted-episode { opacity: .72; }

    
    .giant-m,
    .giant-logo { display: none !important; }

    .drawer::after { content: none !important; display: none !important; }

    .intro {
      background:
        radial-gradient(circle at 50% 42%, rgba(22,43,70,.38), transparent 42%),
        radial-gradient(circle at 18% 78%, rgba(246,243,238,.045), transparent 26%),
        linear-gradient(135deg, #020305 0%, #050b14 46%, #071529 100%) !important;
      place-items: stretch !important;
      overflow: hidden;
      transition: opacity 1.05s cubic-bezier(.22,1,.36,1), visibility 1.05s ease !important;
    }

    .intro::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .18;
      background:
        linear-gradient(to bottom, rgba(255,255,255,.055), transparent 14%, transparent 86%, rgba(0,0,0,.25)),
        repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 5px);
      mix-blend-mode: screen;
    }

    .intro::after {
      content: "";
      position: absolute;
      inset: clamp(18px, 3vw, 42px);
      border: 1px solid rgba(246,243,238,.08);
      box-shadow: inset 0 0 120px rgba(0,0,0,.45);
      pointer-events: none;
    }

    .intro-inner,
    .intro-mark,
    .intro-title,
    .intro-sub,
    .intro-logo-img,
    .intro-logo-fallback { display: none !important; }

    .intro-screen {
      position: relative;
      width: 100vw;
      height: 100vh;
      padding: clamp(32px, 7vw, 96px);
      font-family: var(--title);
      text-transform: uppercase;
      color: rgba(246,243,238,.96);
      letter-spacing: .025em;
      overflow: hidden;
    }

    .intro-word {
      position: absolute;
      min-height: 1em;
      line-height: .82;
      font-weight: 300;
      text-shadow: 0 0 34px rgba(246,243,238,.08);
      white-space: nowrap;
    }

    .intro-word-the {
      top: clamp(40px, 9vh, 88px);
      left: clamp(34px, 8vw, 118px);
      font-size: clamp(3.4rem, 10vw, 10.8rem);
    }

    .intro-word-masi {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: clamp(5.8rem, 18vw, 20rem);
      letter-spacing: .005em;
    }

    .intro-word-room {
      right: clamp(34px, 8vw, 118px);
      bottom: clamp(44px, 10vh, 104px);
      font-size: clamp(3.4rem, 10vw, 10.8rem);
    }

    .intro-cursor {
      position: absolute;
      font-family: var(--mono);
      font-size: clamp(1.5rem, 3.3vw, 3.2rem);
      color: rgba(246,243,238,.9);
      opacity: 0;
      transform: translateY(-.05em);
      animation: blink 1s step-end infinite;
      pointer-events: none;
    }

    .intro-cursor.visible { opacity: 1; }

    body.site-entered .brand,
    body.site-entered .side-trigger,
    body.site-entered .side-label { transition-delay: .12s; }

    .intro-masi-underline {
      position: absolute;
      left: 50%;
      top: calc(50% + clamp(3.1rem, 9.2vw, 10.2rem));
      width: min(34vw, 520px);
      height: 1px;
      background: rgba(246,243,238,.82);
      box-shadow: 0 0 24px rgba(246,243,238,.22);
      transform: translateX(-50%) scaleX(0);
      transform-origin: center;
      opacity: 0;
      pointer-events: none;
      transition:
        transform 1.05s cubic-bezier(.19,1,.22,1),
        opacity .55s ease,
        left 1.15s cubic-bezier(.19,1,.22,1),
        top 1.15s cubic-bezier(.19,1,.22,1),
        width 1.15s cubic-bezier(.19,1,.22,1);
    }

    .intro-masi-underline.visible {
      opacity: 1;
      transform: translateX(-50%) scaleX(1);
    }

    .intro-masi-underline.to-paper {
      left: 50%;
      top: calc(100vh - clamp(80px, 12vh, 132px));
      width: min(980px, calc(100vw - clamp(36px, 14vw, 240px)));
      opacity: .88;
      transform: translateX(-50%) scaleX(1);
    }

    .intro-screen.paper-revealing .intro-word {
      opacity: .08;
      filter: blur(5px);
      transition: opacity .9s ease, filter .9s ease;
    }

    .page::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
      opacity: .55;
      pointer-events: none;
    }

    @media (max-width: 900px) {
      .intro-screen { padding: 28px; }
      .intro-word-the { left: 28px; top: 70px; }
      .intro-word-masi { font-size: clamp(5rem, 24vw, 9rem); }
      .intro-masi-underline { top: calc(50% + clamp(2.8rem, 12vw, 4.8rem)); width: min(58vw, 320px); }
      .intro-masi-underline.to-paper { width: calc(100vw - 56px); top: calc(100vh - 105px); }
      .intro-word-room { right: 28px; bottom: 86px; }
    }

    
    .intro {
      background:
        radial-gradient(circle at 50% 44%, rgba(15,33,55,.32), transparent 48%),
        linear-gradient(180deg, #010203 0%, #030811 58%, #020304 100%) !important;
    }

    .intro::before {
      opacity: .075 !important;
      background:
        radial-gradient(circle at 24% 35%, rgba(246,243,238,.08), transparent 1px),
        radial-gradient(circle at 62% 72%, rgba(246,243,238,.06), transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.025), transparent 24%, transparent 80%, rgba(0,0,0,.34)) !important;
      background-size: 220px 220px, 300px 300px, auto !important;
      mix-blend-mode: screen;
    }

    .intro::after { content: none !important; }

    .intro-screen {
      font-family: var(--mono) !important;
      letter-spacing: .28em !important;
      color: rgba(246,243,238,.9) !important;
    }

    .intro-word {
      font-weight: 400 !important;
      line-height: 1 !important;
      text-shadow: 0 0 18px rgba(246,243,238,.08) !important;
    }

    .intro-word-the,
    .intro-word-room {
      font-size: clamp(1.9rem, 5.4vw, 5.6rem) !important;
    }

    .intro-word-masi {
      font-size: clamp(3.6rem, 11vw, 11.8rem) !important;
      letter-spacing: .22em !important;
    }

    .intro-cursor {
      font-family: var(--mono) !important;
      font-size: clamp(1.35rem, 3.6vw, 3.7rem) !important;
      color: rgba(246,243,238,.86) !important;
      text-shadow: 0 0 18px rgba(246,243,238,.28);
    }

    .intro-masi-underline {
      top: calc(50% + clamp(2.4rem, 6.2vw, 7rem)) !important;
      height: 1px !important;
      background: rgba(246,243,238,.72) !important;
      box-shadow: 0 0 18px rgba(246,243,238,.12) !important;
    }

    .intro-masi-underline.to-paper {
      top: calc(100vh - clamp(86px, 13vh, 148px)) !important;
      width: min(980px, calc(100vw - clamp(42px, 16vw, 260px))) !important;
    }

    .intro-screen.paper-revealing .intro-word {
      opacity: .10 !important;
      filter: none !important;
      transition: opacity .8s ease !important;
    }

    .place-time-head {
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .13em;
      font-weight: 700;
      font-size: clamp(.78rem, 1.05vw, .94rem);
      color: rgba(17,21,28,.72);
      padding-bottom: 14px;
      margin-bottom: 34px;
      border-bottom: 1px solid rgba(17,21,28,.18);
    }

    .page.same-page-changing {
      transform: translateY(-4px) rotate(-.08deg) scale(1) !important;
      filter: none !important;
      transition: transform .42s cubic-bezier(.19,1,.22,1) !important;
    }

    .page-content.leaving {
      opacity: 0 !important;
      transform: none !important;
    }

    .page-content.leaving > * {
      opacity: 0 !important;
      transform: none !important;
      transition: opacity .28s ease !important;
    }

    .page.enter-from-bottom,
    .page.exit-up,
    .page.entered {
      filter: none !important;
    }

    @media (max-width: 900px) {
      .intro-word-masi { font-size: clamp(3rem, 17vw, 7.4rem) !important; }
      .intro-masi-underline { top: calc(50% + clamp(2rem, 9vw, 4.8rem)) !important; width: min(62vw, 340px) !important; }
      .place-time-head { font-size: .72rem; line-height: 1.55; }
    }

    
    .intro-screen {
      font-family: var(--mono) !important;
      letter-spacing: .24em !important;
    }

    .intro-word {
      opacity: 1;
      transition:
        opacity .9s cubic-bezier(.22,1,.36,1),
        transform 1.05s cubic-bezier(.22,1,.36,1),
        letter-spacing 1.05s cubic-bezier(.22,1,.36,1);
    }

    .intro-word-masi {
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
      font-size: clamp(3.6rem, 11vw, 11.8rem) !important;
      letter-spacing: .22em !important;
      z-index: 3;
    }

    .intro-word-the,
    .intro-word-room {
      top: 50% !important;
      bottom: auto !important;
      right: auto !important;
      left: 50% !important;
      font-size: clamp(1.35rem, 3.25vw, 3.6rem) !important;
      letter-spacing: .32em !important;
      opacity: 0;
      z-index: 2;
      color: rgba(246,243,238,.74) !important;
    }

    .intro-word-the {
      transform: translate(calc(-50% - clamp(9.2rem, 27vw, 28rem)), -44%) !important;
    }

    .intro-word-room {
      transform: translate(calc(-50% + clamp(9.2rem, 27vw, 28rem)), -44%) !important;
    }

    .intro-word-the.side-visible,
    .intro-word-room.side-visible {
      opacity: 1;
      transform: translate(calc(-50% - clamp(8.2rem, 24vw, 25rem)), -50%) !important;
    }

    .intro-word-room.side-visible {
      transform: translate(calc(-50% + clamp(8.2rem, 24vw, 25rem)), -50%) !important;
    }

    .intro-masi-underline {
      width: min(30vw, 430px) !important;
      top: calc(50% + clamp(2.25rem, 5.8vw, 6.6rem)) !important;
      transform-origin: center !important;
    }

    .intro-masi-underline.to-paper {
      top: calc(100vh - clamp(86px, 13vh, 148px)) !important;
      width: min(980px, calc(100vw - clamp(42px, 16vw, 260px))) !important;
    }

    .intro-screen.title-assembled .intro-word-masi {
      letter-spacing: .16em !important;
      transition-delay: .05s;
    }

    .intro-screen.paper-revealing .intro-word {
      opacity: .09 !important;
      filter: none !important;
    }

    @media (max-width: 900px) {
      .intro-word-masi {
        font-size: clamp(3.7rem, 19vw, 7.8rem) !important;
        letter-spacing: .16em !important;
      }

      .intro-word-the,
      .intro-word-room {
        font-size: clamp(1.1rem, 5vw, 2.3rem) !important;
        letter-spacing: .24em !important;
      }

      .intro-word-the {
        transform: translate(-50%, calc(-50% - 5.4rem)) !important;
      }

      .intro-word-room {
        transform: translate(-50%, calc(-50% + 5.4rem)) !important;
      }

      .intro-word-the.side-visible {
        transform: translate(-50%, calc(-50% - 5.8rem)) !important;
      }

      .intro-word-room.side-visible {
        transform: translate(-50%, calc(-50% + 5.8rem)) !important;
      }

      .intro-masi-underline {
        width: min(54vw, 300px) !important;
        top: calc(50% + clamp(2.45rem, 9vw, 4.2rem)) !important;
      }
    }

    
    .latest-on-black {
      position: relative;
      z-index: 2;
      width: min(980px, calc(100% - clamp(36px, 14vw, 240px)));
      margin: -42px auto 78px;
      opacity: 0;
      transform: translateY(18px);
      pointer-events: none;
      transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
    }
    body.site-entered .latest-on-black { opacity: 1; transform: translateY(0); pointer-events: auto; }
    body.credits-active .latest-on-black { display: none; }
    .latest-frame { border-top: 1px solid rgba(246,243,238,.18); border-bottom: 1px solid rgba(246,243,238,.12); padding: 22px 0 26px; background: linear-gradient(180deg, rgba(246,243,238,.025), transparent); }
    .latest-eyebrow { font-family: var(--mono); text-transform: uppercase; letter-spacing: .24em; font-size: .58rem; color: rgba(246,243,238,.44); margin-bottom: 16px; }
    .latest-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 22px; }
    .latest-head h2 { font-family: var(--title); text-transform: uppercase; font-weight: 300; line-height: .9; letter-spacing: -.035em; font-size: clamp(2.55rem, 6vw, 5.8rem); color: rgba(246,243,238,.92); max-width: 620px; }
    .latest-head p { max-width: 300px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .13em; font-size: .58rem; line-height: 1.65; color: rgba(246,243,238,.46); text-align: right; }
    .latest-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid rgba(246,243,238,.14); background: rgba(246,243,238,.14); box-shadow: 0 28px 80px rgba(0,0,0,.42); }
    .latest-panel { min-height: 178px; padding: 18px 16px 16px; background: radial-gradient(circle at top right, rgba(246,243,238,.055), transparent 38%), linear-gradient(180deg, rgba(7,13,22,.96), rgba(3,5,8,.98)); position: relative; overflow: hidden; display: flex; flex-direction: column; }
    .latest-panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, rgba(246,243,238,.28) 0 18px, transparent 18px 24px); opacity: .34; }
    .latest-number { font-family: var(--mono); text-transform: uppercase; letter-spacing: .2em; font-weight: 700; font-size: .56rem; color: rgba(246,243,238,.48); margin-bottom: 18px; }
    .latest-panel h3 { font-family: var(--title); text-transform: uppercase; font-weight: 300; letter-spacing: -.025em; line-height: .92; font-size: clamp(1.75rem, 3vw, 2.9rem); color: rgba(246,243,238,.92); margin-bottom: 12px; }
    .latest-panel p { font-family: var(--mono); font-size: .76rem; line-height: 1.58; color: rgba(246,243,238,.52); max-width: 95%; }
    .latest-link { align-self: flex-start; margin-top: auto; padding-top: 18px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .15em; font-size: .6rem; font-weight: 700; color: rgba(246,243,238,.78); }
    .latest-panel.is-empty { opacity: .58; }
    @media (max-width: 900px) { .latest-on-black { width: calc(100% - 28px); margin: -24px auto 60px; } .latest-head { display: block; } .latest-head p { text-align: left; max-width: none; margin-top: 10px; } .latest-board { grid-template-columns: 1fr; } .latest-panel { min-height: 142px; } }

    
    .newsletter-card {
      margin-top: 30px;
      padding: clamp(24px, 4vw, 40px);
      border: 1px solid rgba(17,21,28,.16);
      background:
        linear-gradient(135deg, rgba(17,21,28,.055), transparent 62%),
        rgba(255,255,255,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
      max-width: 860px;
    }

    .newsletter-card h2 {
      font-family: var(--title);
      text-transform: uppercase;
      font-weight: 300;
      letter-spacing: -.035em;
      line-height: .92;
      font-size: clamp(2.8rem, 6.8vw, 6.5rem);
      color: var(--ink);
      margin-bottom: 14px;
    }

    .newsletter-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      margin-top: 22px;
      max-width: 720px;
    }

    .newsletter-form input {
      min-height: 50px;
      width: 100%;
      border: 1px solid rgba(17,21,28,.24);
      background: rgba(255,255,255,.36);
      color: var(--ink);
      padding: 14px 16px;
      font-family: var(--mono);
      outline: none;
    }

    .newsletter-form input:focus { border-color: rgba(17,21,28,.54); }

    .newsletter-small {
      margin-top: 12px;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: .58rem;
      line-height: 1.6;
      color: rgba(17,21,28,.50);
      max-width: 680px;
    }

    @media (max-width: 760px) {
      .newsletter-form { grid-template-columns: 1fr; }
      .newsletter-form .btn { width: 100%; }
    }

    
    .episode-card.is-locked,
    .latest-panel.is-locked { opacity: .62; }

    .episode-card.is-locked .btn,
    .latest-panel.is-locked .latest-link { opacity: .55; }

    .episode-meta,
    .admin-meta {
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: .68rem;
      color: rgba(17,21,28,.50);
      margin: 8px 0 12px;
      font-weight: 700;
    }

    .episode-status {
      display: inline-flex;
      align-items: center;
      border: 1px solid rgba(17,21,28,.24);
      border-radius: 999px;
      padding: 7px 10px;
      margin-bottom: 12px;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: .6rem;
      color: rgba(17,21,28,.62);
      font-weight: 700;
    }

    .editorial-form,
    .admin-form {
      display: grid;
      gap: 14px;
      max-width: 760px;
      margin-top: 24px;
    }

    .editorial-form label,
    .admin-form label {
      display: grid;
      gap: 7px;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .13em;
      font-size: .68rem;
      color: rgba(17,21,28,.62);
      font-weight: 700;
    }

    .editorial-form input,
    .editorial-form select,
    .editorial-form textarea,
    .admin-form input,
    .admin-form textarea {
      width: 100%;
      border: 1px solid rgba(17,21,28,.22);
      background: rgba(255,255,255,.34);
      color: var(--ink);
      padding: 13px 14px;
      border-radius: 2px;
      font-family: var(--mono);
      line-height: 1.45;
    }

    .editorial-form textarea,
    .admin-form textarea { min-height: 140px; resize: vertical; }
    .admin-form textarea { min-height: 320px; white-space: pre; }

    .small-print {
      font-size: .82rem;
      line-height: 1.62;
      color: rgba(17,21,28,.62);
      max-width: 760px;
    }

    code {
      background: rgba(17,21,28,.08);
      border: 1px solid rgba(17,21,28,.12);
      border-radius: 3px;
      padding: 1px 5px;
      font-family: var(--mono);
      font-size: .9em;
    }

    .admin-row {
      border-top: 1px solid rgba(17,21,28,.13);
      padding: 18px 0;
    }

    .admin-row h2 {
      font-family: var(--title);
      text-transform: uppercase;
      font-size: clamp(1.8rem, 3vw, 3rem);
      line-height: .95;
      font-weight: 300;
      letter-spacing: -.02em;
      color: var(--ink);
      margin-bottom: 8px;
    }

    .admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }

    
    .public-home-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr); gap:clamp(18px,4vw,42px); margin-top:34px; align-items:stretch; }
    .home-marquee-card,.public-panel,.guest-profile-card,.press-download-card,.contact-room-card{border:1px solid rgba(17,21,28,.14);background:rgba(255,255,255,.18);box-shadow:0 16px 48px rgba(17,21,28,.06);padding:clamp(22px,3.4vw,34px);position:relative;overflow:hidden}
    .home-marquee-card::before,.episode-hero::before,.season-programme::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background:radial-gradient(circle at 18% 20%,rgba(17,21,28,.12),transparent 32%)}
    .public-kicker,.episode-kicker,.programme-kicker,.profile-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;font-weight:700;color:rgba(17,21,28,.46);margin-bottom:12px}
    .home-marquee-card h2,.episode-hero h2,.season-programme h2,.guest-profile-card h2,.press-download-card h2,.contact-room-card h2{font-family:var(--title);text-transform:uppercase;font-weight:300;letter-spacing:-.045em;line-height:.88;font-size:clamp(2.8rem,7vw,6.6rem);color:var(--ink);margin-bottom:18px}
    .public-panel-list{display:grid;gap:14px;margin-top:8px}.public-panel-line{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:14px 0;border-top:1px solid rgba(17,21,28,.12)}.public-panel-line:first-child{border-top:0}.public-panel-line strong{font-family:var(--title);text-transform:uppercase;font-weight:300;font-size:1.6rem;line-height:1}.public-panel-line p{color:rgba(17,21,28,.66);line-height:1.55}
    .episode-hero,.season-programme{position:relative;border-top:1px solid rgba(17,21,28,.18);border-bottom:1px solid rgba(17,21,28,.12);padding:clamp(28px,5vw,54px) 0;margin:28px 0 30px}.episode-title-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:clamp(22px,4vw,46px);align-items:end;position:relative;z-index:1}
    .guest-frame{aspect-ratio:3/4;border:1px solid rgba(17,21,28,.18);background:linear-gradient(180deg,rgba(17,21,28,.06),rgba(17,21,28,.02)),repeating-linear-gradient(0deg,rgba(17,21,28,.04) 0,rgba(17,21,28,.04) 1px,transparent 1px,transparent 12px);display:grid;place-items:center;color:rgba(17,21,28,.42);font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;text-align:center;padding:18px}
    .episode-quote{margin:30px 0;padding:26px 0 26px 40px;border-left:1px solid rgba(17,21,28,.28);font-family:var(--title);font-weight:300;letter-spacing:-.02em;line-height:1.08;font-size:clamp(2rem,4.6vw,4.6rem);color:rgba(17,21,28,.84)}.interview-block{margin-top:36px;border-top:1px solid rgba(17,21,28,.14);padding-top:26px}.question-line{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(17,21,28,.5);margin:28px 0 10px;text-align:center}.answer-line{width:min(620px,100%);margin:0 auto 22px;line-height:1.75;color:rgba(17,21,28,.72)}
    .locked-room{min-height:360px;display:grid;place-items:center;text-align:center;border:1px solid rgba(17,21,28,.16);background:radial-gradient(circle at 50% 34%,rgba(17,21,28,.10),transparent 34%),linear-gradient(180deg,rgba(17,21,28,.05),rgba(17,21,28,.015));padding:clamp(30px,5vw,60px);margin-top:26px}.locked-room h2{font-family:var(--title);text-transform:uppercase;font-size:clamp(3rem,8vw,7rem);line-height:.86;font-weight:300;letter-spacing:-.04em;margin-bottom:16px}.locked-room p{color:rgba(17,21,28,.64);line-height:1.65;max-width:560px;margin:0 auto}
    .programme-row{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;padding:24px 0;border-top:1px solid rgba(17,21,28,.13)}.programme-row:first-child{border-top:0}.programme-number{color:rgba(17,21,28,.44);font-weight:700;letter-spacing:.12em}.programme-row h3{font-family:var(--title);text-transform:uppercase;font-weight:300;font-size:clamp(2rem,4vw,3.8rem);line-height:.92;letter-spacing:-.03em}.programme-row p{color:rgba(17,21,28,.64);line-height:1.55}.programme-status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:rgba(17,21,28,.5);white-space:nowrap}
    .host-proof-grid,.press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.source-note{font-size:.72rem;color:rgba(17,21,28,.48);line-height:1.55;margin-top:16px}.contact-room-card form{margin-top:20px}.contact-room-card label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:rgba(17,21,28,.62);font-weight:700}
    @media(max-width:900px){.public-home-grid,.episode-title-card,.host-proof-grid,.press-grid{grid-template-columns:1fr}.programme-row{grid-template-columns:1fr;gap:8px}.programme-status{white-space:normal}.episode-quote{padding-left:20px}}

  

    
    body.intro-active { overflow: auto !important; }
    .intro, .intro-screen, .intro-inner, .intro-word, .intro-cursor, .intro-masi-underline { display: none !important; }
    main { opacity: 1; }
    .room-light {
      position: fixed;
      inset: 0;
      z-index: 99999;
      pointer-events: none;
      background:
        radial-gradient(circle at 50% 38%, rgba(246,243,238,.16), transparent 18%),
        radial-gradient(circle at 50% 62%, rgba(20,33,52,.18), transparent 42%),
        #000;
      opacity: 1;
      animation: roomLightTurnsOn 1.55s cubic-bezier(.22,1,.36,1) forwards;
    }
    @keyframes roomLightTurnsOn {
      0% { opacity: 1; filter: brightness(.55); }
      45% { opacity: .62; }
      100% { opacity: 0; visibility: hidden; }
    }
    body.lights-out main { opacity: 1; }
    .latest-on-black {
      display: block !important;
      opacity: 1 !important;
      transform: none !important;
      pointer-events: auto !important;
      margin-top: 0 !important;
    }
    body.credits-active .latest-on-black { display: none !important; }

  


    
    :root {
      --menu-origin-right: clamp(22px, 5.2vw, 78px);
      --menu-origin-width: clamp(124px, 10vw, 168px);
    }

    .side-trigger,
    .side-label {
      display: none !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    .reading-index {
      display: block !important;
      visibility: visible !important;
      position: fixed !important;
      top: 50% !important;
      right: var(--menu-origin-right) !important;
      z-index: 9000 !important;
      width: var(--menu-origin-width) !important;
      transform: translateY(-50%) !important;
      opacity: .82 !important;
      pointer-events: auto !important;
      cursor: pointer !important;
      text-align: right !important;
      color: rgba(246,243,238,.92) !important;
      mix-blend-mode: normal !important;
      filter: none !important;
      background: transparent !important;
      transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), filter .55s ease !important;
    }

    body.site-entered .reading-index { opacity: .82 !important; }
    .reading-index:hover,
    .reading-index:focus-visible {
      opacity: 1 !important;
      outline: none !important;
      transform: translateY(-50%) translateX(-5px) !important;
    }

    .reading-index-number {
      display: block !important;
      margin-bottom: 10px !important;
      font-family: var(--mono) !important;
      font-size: .62rem !important;
      line-height: 1 !important;
      font-weight: 700 !important;
      letter-spacing: .18em !important;
      color: rgba(246,243,238,.48) !important;
    }

    .reading-index-title {
      display: block !important;
      font-family: var(--title) !important;
      text-transform: uppercase !important;
      font-weight: 300 !important;
      letter-spacing: -.026em !important;
      line-height: .88 !important;
      font-size: clamp(1.62rem, 3vw, 3.1rem) !important;
      color: rgba(246,243,238,.96) !important;
      text-shadow: 0 0 24px rgba(246,243,238,.08) !important;
    }

    .reading-index-label,
    .reading-index-action {
      display: block !important;
      font-family: var(--mono) !important;
      text-transform: uppercase !important;
      color: rgba(246,243,238,.34) !important;
    }

    .reading-index-label {
      margin: 10px 0 0 auto !important;
      max-width: 152px !important;
      font-size: .52rem !important;
      line-height: 1.55 !important;
      letter-spacing: .14em !important;
    }

    .reading-index-action {
      margin-top: 12px !important;
      font-size: .46rem !important;
      letter-spacing: .22em !important;
    }

    .reading-index-rule {
      display: block !important;
      position: relative !important;
      overflow: hidden !important;
      width: 1px !important;
      height: 118px !important;
      margin: 18px 0 0 auto !important;
      background: rgba(246,243,238,.18) !important;
    }

    .reading-index-rule::after {
      content: "" !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 1px !important;
      height: var(--section-progress, 16%) !important;
      background: rgba(246,243,238,.86) !important;
      box-shadow: 0 0 18px rgba(246,243,238,.28) !important;
      transition: height .5s cubic-bezier(.19,1,.22,1) !important;
    }

    body.menu-open .reading-index {
      opacity: 0 !important;
      pointer-events: none !important;
      transform: translateY(-50%) scale(.78) !important;
      filter: blur(7px) !important;
    }

    .drawer-backdrop {
      display: block !important;
      position: fixed !important;
      inset: 0 !important;
      z-index: 8700 !important;
      background:
        radial-gradient(circle at calc(100% - var(--menu-origin-right) - (var(--menu-origin-width) / 2)) 50%, rgba(246,243,238,.085), transparent 22%),
        rgba(0,0,0,.24) !important;
      opacity: 0 !important;
      pointer-events: none !important;
      backdrop-filter: blur(0) !important;
      transition: opacity .72s cubic-bezier(.22,1,.36,1), backdrop-filter .72s cubic-bezier(.22,1,.36,1) !important;
    }
    body.menu-open .drawer-backdrop {
      opacity: 1 !important;
      pointer-events: auto !important;
      backdrop-filter: blur(2px) !important;
    }

    .drawer {
      display: block !important;
      visibility: visible !important;
      position: fixed !important;
      z-index: 8900 !important;
      right: var(--menu-origin-right) !important;
      top: 50% !important;
      left: auto !important;
      bottom: auto !important;
      width: min(370px, calc(100vw - 44px)) !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      background: transparent !important;
      box-shadow: none !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
      filter: blur(10px) !important;
      transform: translateY(-50%) scale(.68) !important;
      transform-origin: calc(100% - (var(--menu-origin-width) / 2)) center !important;
      transition: opacity .78s cubic-bezier(.22,1,.36,1), transform .78s cubic-bezier(.22,1,.36,1), filter .78s ease !important;
    }
    body.menu-open .drawer {
      opacity: 1 !important;
      pointer-events: auto !important;
      filter: blur(0) !important;
      transform: translateY(-50%) scale(1) !important;
    }
    .drawer::before,
    .drawer::after { content: none !important; display: none !important; }
    .drawer-head { display: flex !important; justify-content: flex-end !important; margin: 0 0 18px !important; }
    .menu-title { display: none !important; }
    .close-drawer {
      display: grid !important;
      place-items: center !important;
      width: 34px !important;
      height: 34px !important;
      border: 1px solid rgba(246,243,238,.2) !important;
      border-radius: 50% !important;
      color: rgba(246,243,238,.82) !important;
      font-family: var(--mono) !important;
      font-size: 1.48rem !important;
      line-height: 1 !important;
    }
    .drawer-nav {
      display: grid !important;
      justify-items: end !important;
      align-content: center !important;
      gap: clamp(10px, 1.45vh, 16px) !important;
      min-height: 0 !important;
      padding: 0 !important;
      text-align: right !important;
    }
    .drawer-link {
      display: grid !important;
      grid-template-columns: 1fr auto !important;
      grid-template-areas: "voice number" !important;
      gap: 14px !important;
      width: auto !important;
      max-width: min(340px, calc(100vw - 44px)) !important;
      padding: 0 !important;
      align-items: baseline !important;
      text-align: right !important;
      color: rgba(246,243,238,.94) !important;
      opacity: 0 !important;
      filter: blur(5px) !important;
      transform: scale(.82) !important;
      transform-origin: right center !important;
      transition: opacity .58s cubic-bezier(.22,1,.36,1), transform .58s cubic-bezier(.22,1,.36,1), filter .58s ease !important;
    }
    body.menu-open .drawer-link { opacity: .54 !important; filter: blur(0) !important; transform: scale(1) !important; }
    body.menu-open .drawer-link:nth-child(1) { transition-delay: .08s !important; }
    body.menu-open .drawer-link:nth-child(2) { transition-delay: .13s !important; }
    body.menu-open .drawer-link:nth-child(3) { transition-delay: .18s !important; }
    body.menu-open .drawer-link:nth-child(4) { transition-delay: .23s !important; }
    body.menu-open .drawer-link:nth-child(5) { transition-delay: .28s !important; }
    body.menu-open .drawer-link:nth-child(6) { transition-delay: .33s !important; }
    .drawer-link:hover,
    .drawer-link:focus-visible,
    .drawer-link.active,
    .drawer-link.selected { opacity: 1 !important; transform: translateX(-5px) scale(1) !important; outline: none !important; }
    .drawer-link > span:not(.chapter-number) { grid-area: voice !important; }
    .chapter-number { grid-area: number !important; font-size: .54rem !important; letter-spacing: .17em !important; color: rgba(246,243,238,.34) !important; transform: translateY(.3em) !important; }
    .drawer-link strong { font-size: clamp(1.55rem, 3.2vw, 3.85rem) !important; line-height: .88 !important; letter-spacing: -.04em !important; }
    .drawer-link span.label { display: block !important; font-size: clamp(.46rem, .56vw, .62rem) !important; margin-top: 7px !important; color: rgba(246,243,238,.46) !important; opacity: .72 !important; max-height: none !important; overflow: visible !important; }

    
    .stage::before {
      content: "";
      position: fixed;
      left: 50%;
      top: 50%;
      z-index: 8400;
      width: min(980px, 78vw);
      height: 1px;
      background: rgba(246,243,238,.66);
      box-shadow: 0 0 28px rgba(246,243,238,.22);
      opacity: 0;
      pointer-events: none;
      transform: translate(-50%, -50%) scaleX(.08);
      transition: opacity .34s ease, transform .88s cubic-bezier(.19,1,.22,1), top .88s cubic-bezier(.19,1,.22,1);
    }
    body.credits-final-stop .stage::before {
      opacity: .9;
      transform: translate(-50%, -50%) scaleX(1);
    }
    body.credits-final-stop .page:not(.credits-page) {
      transform: translateY(-18px) rotate(-.08deg) scale(.992) !important;
      filter: blur(4px) brightness(.82) !important;
      opacity: .42 !important;
    }
    body.credits-final-stop main::after {
      content: "FINAL STOP";
      position: fixed;
      left: 50%;
      top: calc(50% + 22px);
      z-index: 8450;
      transform: translateX(-50%);
      font-family: var(--mono);
      letter-spacing: .28em;
      text-transform: uppercase;
      font-size: .58rem;
      color: rgba(246,243,238,.62);
      pointer-events: none;
    }
    body.credits-active .reading-index,
    body.credits-active .brand,
    body.credits-active .latest-on-black,
    body.credits-active .footer { display: none !important; }
    body.credits-active .stage { padding: 0 !important; min-height: 100vh !important; place-items: stretch !important; }
    body.credits-active .page-stack { width: 100vw !important; min-height: 100vh !important; }
    .page.credits-page {
      position: fixed !important;
      inset: 0 !important;
      z-index: 8600 !important;
      width: 100vw !important;
      height: 100vh !important;
      min-height: 100vh !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      background: #000 !important;
      transform: translateY(0) scale(1) !important;
      opacity: 1 !important;
      filter: none !important;
    }
    body.credits-fullscreen-entered .page.credits-page {
      animation: creditsScreenTakeover .82s cubic-bezier(.19,1,.22,1) both;
    }
    @keyframes creditsScreenTakeover {
      0% { transform: translateY(100vh) scale(.985); filter: brightness(.74) blur(3px); }
      58% { transform: translateY(-10px) scale(1); filter: brightness(1) blur(0); }
      100% { transform: translateY(0) scale(1); filter: brightness(1) blur(0); }
    }
    .page.credits-page .page-content { opacity: 1 !important; transform: none !important; }

    @media (max-width: 900px) {
      :root { --menu-origin-right: 18px; --menu-origin-width: 112px; }
      .reading-index { width: var(--menu-origin-width) !important; opacity: .78 !important; }
      .reading-index-label,
      .reading-index-action { display: none !important; }
      .reading-index-title { font-size: 1.36rem !important; }
      .reading-index-rule { height: 76px !important; }
      .drawer { width: calc(100vw - 36px) !important; }
      .drawer-link strong { font-size: clamp(1.82rem, 10.5vw, 3.28rem) !important; }
    }
  


    

    body.menu-open .reading-index {
      opacity: .96 !important;
      pointer-events: none !important;
      transform: translateY(-50%) translateX(0) scale(1) !important;
      filter: none !important;
      z-index: 9300 !important;
    }

    body.menu-open .reading-index-title {
      text-shadow: 0 0 34px rgba(246,243,238,.28), 0 0 90px rgba(0,0,0,.9) !important;
    }

    body.menu-open .drawer-backdrop {
      background:
        radial-gradient(circle at calc(100% - var(--menu-origin-right) - (var(--menu-origin-width) / 2)) 50%, rgba(246,243,238,.13), transparent 18%),
        linear-gradient(90deg, rgba(0,0,0,.10), rgba(0,0,0,.56)) !important;
      backdrop-filter: blur(3px) !important;
    }

    .drawer {
      top: 0 !important;
      right: max(18px, calc(var(--menu-origin-right) + var(--menu-origin-width) + 18px)) !important;
      width: min(520px, calc(100vw - var(--menu-origin-width) - var(--menu-origin-right) - 44px)) !important;
      height: 100vh !important;
      transform: none !important;
      opacity: 1 !important;
      filter: none !important;
      background: transparent !important;
      pointer-events: none !important;
      z-index: 9050 !important;
      display: grid !important;
      grid-template-rows: auto 1fr !important;
      align-items: stretch !important;
      padding: clamp(24px, 4vh, 46px) 0 !important;
      overflow: visible !important;
    }

    body.menu-open .drawer { pointer-events: auto !important; }

    .drawer-head {
      justify-content: flex-end !important;
      margin: 0 0 clamp(16px, 4vh, 34px) !important;
      opacity: 0 !important;
      transform: translateX(38px) !important;
      transition: opacity .5s ease, transform .62s cubic-bezier(.19,1,.22,1) !important;
    }

    body.menu-open .drawer-head { opacity: 1 !important; transform: translateX(0) !important; }

    .drawer-nav {
      height: min(78vh, 760px) !important;
      min-height: 520px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      align-items: flex-end !important;
      gap: 0 !important;
      padding: clamp(8px, 1.5vh, 18px) 0 !important;
      text-align: right !important;
      align-self: center !important;
    }

    .drawer-link {
      width: min(500px, 100%) !important;
      max-width: none !important;
      display: grid !important;
      grid-template-columns: 1fr auto !important;
      grid-template-areas: "voice number" !important;
      align-items: baseline !important;
      justify-content: end !important;
      text-align: right !important;
      padding: 0 !important;
      opacity: 0 !important;
      filter: blur(7px) !important;
      transform-origin: right center !important;
      transition:
        opacity .78s cubic-bezier(.19,1,.22,1),
        transform .98s cubic-bezier(.19,1,.22,1),
        filter .78s ease !important;
    }

    .drawer-link:nth-child(1) { transform: translate(132px, 36vh) scale(.48) !important; }
    .drawer-link:nth-child(2) { transform: translate(118px, 22vh) scale(.52) !important; }
    .drawer-link:nth-child(3) { transform: translate(102px, 8vh) scale(.58) !important; }
    .drawer-link:nth-child(4) { transform: translate(102px, -8vh) scale(.58) !important; }
    .drawer-link:nth-child(5) { transform: translate(118px, -22vh) scale(.52) !important; }
    .drawer-link:nth-child(6) { transform: translate(132px, -36vh) scale(.48) !important; }

    body.menu-open .drawer-link {
      opacity: .58 !important;
      filter: blur(0) !important;
      transform: translate(0, 0) scale(1) !important;
    }

    body.menu-open .drawer-link:nth-child(1) { transition-delay: .04s !important; }
    body.menu-open .drawer-link:nth-child(2) { transition-delay: .10s !important; }
    body.menu-open .drawer-link:nth-child(3) { transition-delay: .16s !important; }
    body.menu-open .drawer-link:nth-child(4) { transition-delay: .22s !important; }
    body.menu-open .drawer-link:nth-child(5) { transition-delay: .28s !important; }
    body.menu-open .drawer-link:nth-child(6) { transition-delay: .34s !important; }

    .drawer-link:hover,
    .drawer-link:focus-visible,
    .drawer-link.active,
    .drawer-link.selected {
      opacity: 1 !important;
      transform: translateX(-10px) scale(1) !important;
      filter: blur(0) !important;
    }

    .drawer-link strong {
      font-size: clamp(1.9rem, 4.6vw, 5.25rem) !important;
      line-height: .82 !important;
      letter-spacing: -.048em !important;
    }

    .drawer-link span.label {
      margin-top: 8px !important;
      opacity: .64 !important;
      max-height: none !important;
    }

    .chapter-number {
      transform: translateY(.34em) !important;
      opacity: .78 !important;
    }

    .page.credits-page {
      transform: translateY(0) !important;
      opacity: 1 !important;
      filter: none !important;
      overflow: hidden !important;
    }

    .page.credits-page .page-content {
      position: absolute !important;
      inset: 0 !important;
      overflow: hidden !important;
      opacity: 1 !important;
      transform: none !important;
      mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 84%, transparent 100%) !important;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 84%, transparent 100%) !important;
    }

    .page.credits-page .page-content > * {
      opacity: 1 !important;
    }

    .page.credits-page .credits-roll {
      display: block !important;
      position: relative !important;
      width: min(620px, 76vw) !important;
      margin: 0 auto !important;
      padding-top: 72vh !important;
      padding-bottom: 62vh !important;
      text-align: center !important;
      transform: translate3d(0, 0, 0);
      animation: masiCreditsRollUp 46s linear infinite !important;
      will-change: transform !important;
    }

    .page.credits-page .credits-roll:hover { animation-play-state: running !important; }

    @keyframes masiCreditsRollUp {
      0% { transform: translate3d(0, 30vh, 0); }
      100% { transform: translate3d(0, -112%, 0); }
    }

    body.credits-fullscreen-entered .page.credits-page {
      animation: masiCreditsNaturalOpen .95s cubic-bezier(.19,1,.22,1) both !important;
    }

    @keyframes masiCreditsNaturalOpen {
      0% { transform: translateY(34vh) scale(.992) !important; opacity: 0 !important; filter: blur(8px) brightness(.72) !important; }
      60% { transform: translateY(-8px) scale(1) !important; opacity: 1 !important; filter: blur(0) brightness(1) !important; }
      100% { transform: translateY(0) scale(1) !important; opacity: 1 !important; filter: blur(0) brightness(1) !important; }
    }

    body.leaving-credits-up .page.credits-page {
      animation: masiCreditsLeaveUp .72s cubic-bezier(.19,1,.22,1) both !important;
    }

    @keyframes masiCreditsLeaveUp {
      from { transform: translateY(0) scale(1); opacity: 1; filter: blur(0); }
      to { transform: translateY(100vh) scale(.985); opacity: 0; filter: blur(8px); }
    }

    @media (max-width: 900px) {
      .drawer {
        right: 18px !important;
        width: calc(100vw - 36px) !important;
        padding: 22px 0 !important;
      }
      body.menu-open .reading-index { opacity: .16 !important; }
      .drawer-nav { min-height: 460px !important; height: 74vh !important; }
      .drawer-link strong { font-size: clamp(1.75rem, 9.2vw, 3.8rem) !important; }
      .drawer-link:nth-child(1) { transform: translate(86px, 31vh) scale(.52) !important; }
      .drawer-link:nth-child(2) { transform: translate(74px, 19vh) scale(.56) !important; }
      .drawer-link:nth-child(3) { transform: translate(62px, 7vh) scale(.62) !important; }
      .drawer-link:nth-child(4) { transform: translate(62px, -7vh) scale(.62) !important; }
      .drawer-link:nth-child(5) { transform: translate(74px, -19vh) scale(.56) !important; }
      .drawer-link:nth-child(6) { transform: translate(86px, -31vh) scale(.52) !important; }
      body.menu-open .drawer-link { transform: translate(0,0) scale(1) !important; }
      .page.credits-page .credits-roll { width: min(520px, 84vw) !important; animation-duration: 52s !important; }
    }
  


    
    body.vertical-script-mode { padding-bottom: 118px; }
    body.vertical-script-mode .intro,
    body.vertical-script-mode .intro-screen,
    body.vertical-script-mode .intro-inner,
    body.vertical-script-mode .intro-mark,
    body.vertical-script-mode .intro-title,
    body.vertical-script-mode .intro-sub,
    body.vertical-script-mode .intro-word,
    body.vertical-script-mode .intro-cursor,
    body.vertical-script-mode .intro-masi-underline { display: none !important; }

    body.vertical-script-mode .latest-on-black { display: none !important; }
    body.vertical-script-mode .stage { padding-bottom: 170px; }
    body.vertical-script-mode .page-stack { width: min(980px, 100%); min-height: auto; perspective: none; }
    body.vertical-script-mode .script-scroll { display: grid; gap: clamp(74px, 14vh, 142px); }
    body.vertical-script-mode .script-section { scroll-margin-top: 90px; position: relative; }
    body.vertical-script-mode .script-section .page {
      transform: rotate(-.08deg) !important;
      opacity: 1 !important;
      filter: none !important;
      min-height: 78vh;
      transition: transform .75s cubic-bezier(.19,1,.22,1), box-shadow .75s ease;
    }
    body.vertical-script-mode .script-section.is-current .page {
      transform: translateY(-4px) rotate(-.08deg) !important;
      box-shadow: 0 64px 180px rgba(0,0,0,.72), 0 1px 0 rgba(255,255,255,.46) inset;
    }
    body.vertical-script-mode .script-section .scene-line { display: none !important; }
    body.vertical-script-mode .script-section .page-content > * { opacity: 1 !important; transform: none !important; }
    body.vertical-script-mode .script-section .page-content { opacity: 1 !important; transform: none !important; }
    body.vertical-script-mode .script-section .act-title { min-height: 0; }

    .reading-index {
      position: fixed;
      right: clamp(18px, 3vw, 48px);
      top: 50%;
      transform: translateY(-50%);
      z-index: 5100;
      width: min(178px, 26vw);
      color: rgba(246,243,238,.74);
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .14em;
      pointer-events: auto;
      opacity: 0;
      cursor: pointer;
      text-align: right;
      transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1), color .45s ease;
    }
    .reading-index:hover { color: rgba(246,243,238,.96); transform: translateY(-50%) translateX(-4px); }
    body.site-entered .reading-index { opacity: 1; }
    .reading-index-number { font-weight: 700; font-size: .68rem; color: rgba(246,243,238,.48); margin-bottom: 10px; }
    .reading-index-title { font-family: var(--title); font-weight: 300; letter-spacing: -.02em; line-height: .9; font-size: clamp(1.55rem, 3.1vw, 3.2rem); color: rgba(246,243,238,.88); }
    .reading-index-label { margin-top: 10px; margin-left: auto; font-size: .55rem; line-height: 1.55; color: rgba(246,243,238,.42); max-width: 150px; }
    .reading-index-action { margin-top: 12px; font-size: .48rem; letter-spacing: .2em; color: rgba(246,243,238,.34); }
    .reading-index-rule { width: 1px; height: 116px; background: rgba(246,243,238,.16); margin: 18px 0 0 auto; position: relative; overflow: hidden; }
    .reading-index-rule::after { content: ""; position: absolute; left: 0; top: 0; width: 1px; height: var(--section-progress, 12%); background: rgba(246,243,238,.76); box-shadow: 0 0 18px rgba(246,243,238,.24); transition: height .55s cubic-bezier(.19,1,.22,1); }

    .episode-carousel {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 4400;
      height: 104px;
      color: rgba(246,243,238,.86);
      background: linear-gradient(180deg, rgba(3,5,8,.72), rgba(3,5,8,.98));
      border-top: 1px solid rgba(246,243,238,.16);
      box-shadow: 0 -30px 80px rgba(0,0,0,.5);
      overflow: hidden;
      opacity: 0;
      transform: translateY(10px);
      transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
      backdrop-filter: blur(8px);
    }
    body.site-entered .episode-carousel { opacity: 1; transform: translateY(0); }
    .episode-carousel::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 18vw; background: linear-gradient(90deg, #030508 0%, rgba(3,5,8,0) 100%); z-index: 2; pointer-events: none; }
    .episode-carousel::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 18vw; background: linear-gradient(270deg, #030508 0%, rgba(3,5,8,0) 100%); z-index: 2; pointer-events: none; }
    .episode-carousel-head {
      position: absolute;
      left: clamp(18px, 4vw, 56px);
      top: 14px;
      z-index: 3;
      font-family: var(--mono);
      text-transform: uppercase;
      letter-spacing: .22em;
      font-size: .56rem;
      color: rgba(246,243,238,.48);
      padding-bottom: 7px;
      border-bottom: 1px solid rgba(246,243,238,.32);
    }
    .episode-marquee { position: absolute; left: 0; right: 0; bottom: 12px; overflow: hidden; }
    .episode-marquee-track { display: flex; width: max-content; gap: 12px; animation: episodeMarquee 54s linear infinite; padding-left: 100vw; }
    .episode-carousel:hover .episode-marquee-track { animation-play-state: paused; }
    @keyframes episodeMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    .episode-ticker-item {
      min-width: clamp(310px, 34vw, 480px);
      border: 1px solid rgba(246,243,238,.14);
      background: rgba(246,243,238,.035);
      padding: 10px 15px 10px 10px;
      display: grid;
      grid-template-columns: 64px 74px 1fr;
      gap: 14px;
      align-items: center;
      cursor: pointer;
      transition: background .25s ease, transform .25s ease, border-color .25s ease;
    }
    .episode-ticker-item:hover { background: rgba(246,243,238,.075); border-color: rgba(246,243,238,.28); transform: translateY(-2px); }
    .ticker-thumb {
      width: 64px;
      height: 64px;
      border: 1px solid rgba(246,243,238,.16);
      background: radial-gradient(circle at 50% 36%, rgba(246,243,238,.18), transparent 34%), linear-gradient(135deg, rgba(246,243,238,.09), rgba(246,243,238,.02));
      display: grid;
      place-items: center;
      overflow: hidden;
      color: rgba(246,243,238,.45);
      font-family: var(--title);
      font-size: 2.1rem;
      line-height: 1;
      font-weight: 300;
    }
    .ticker-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(.95) brightness(.9); }
    .ticker-number { font-family: var(--mono); text-transform: uppercase; letter-spacing: .14em; font-weight: 700; font-size: .58rem; color: rgba(246,243,238,.48); }
    .ticker-title { font-family: var(--title); text-transform: uppercase; font-size: clamp(1.45rem, 2.5vw, 2.35rem); line-height: .9; font-weight: 300; letter-spacing: -.025em; color: rgba(246,243,238,.94); }
    .ticker-meta { margin-top: 6px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .12em; font-size: .55rem; color: rgba(246,243,238,.46); }

    @media (max-width: 1100px) {
      .reading-index { display: none; }
      body.vertical-script-mode .stage { padding-left: 14px; padding-right: 14px; }
    }
    @media (max-width: 700px) {
      body.vertical-script-mode { padding-bottom: 92px; }
      .episode-carousel { height: 88px; }
      .episode-carousel-head { display: none; }
      .episode-marquee { bottom: 10px; }
      .episode-ticker-item { min-width: 290px; grid-template-columns: 52px 58px 1fr; padding: 9px 12px 9px 9px; }
      .ticker-thumb { width: 52px; height: 52px; font-size: 1.55rem; }
      .ticker-title { font-size: 1.35rem; }
      .ticker-meta { display: none; }
    }
  


    
    .side-label { display: none !important; }

    
    .room-light {
      position: fixed !important;
      inset: 0 !important;
      z-index: 99999 !important;
      pointer-events: none !important;
      background: #000 !important;
      opacity: 1 !important;
      animation: cleanRoomFade 1.55s cubic-bezier(.22,1,.36,1) forwards !important;
    }
    .room-light::after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 50% 45%, rgba(246,243,238,.20), transparent 34%);
      opacity: 0;
      animation: softRoomGlow 1.55s cubic-bezier(.22,1,.36,1) forwards;
    }
    @keyframes cleanRoomFade {
      0% { opacity: 1; visibility: visible; }
      58% { opacity: .36; }
      100% { opacity: 0; visibility: hidden; }
    }
    @keyframes softRoomGlow {
      0% { opacity: 0; }
      38% { opacity: .22; }
      100% { opacity: 0; }
    }

    
    body.vertical-script-mode .script-section:first-child .page {
      animation: firstPageFadeIn 1.65s cubic-bezier(.19,1,.22,1) both;
      transform-origin: center top;
    }
    @keyframes firstPageFadeIn {
      0% { opacity: 0; transform: translateY(22px) rotate(-.08deg) scale(.992) !important; filter: blur(7px) brightness(.86); }
      100% { opacity: 1; transform: translateY(0) rotate(-.08deg) scale(1) !important; filter: blur(0) brightness(1); }
    }

    
    .episode-carousel {
      display: block !important;
      visibility: visible !important;
      opacity: 0;
      transform: translateY(8px);
    }
    body.site-entered .episode-carousel {
      opacity: 1 !important;
      transform: translateY(0) !important;
      animation: carouselLightOn 1.35s cubic-bezier(.22,1,.36,1) .35s both;
    }
    @keyframes carouselLightOn {
      0% { opacity: 0; box-shadow: 0 -16px 48px rgba(0,0,0,.35), inset 0 1px 0 rgba(246,243,238,0); filter: brightness(.6); }
      14% { opacity: .35; filter: brightness(1.9); box-shadow: 0 -18px 70px rgba(246,243,238,.11), inset 0 1px 0 rgba(246,243,238,.42); }
      24% { opacity: .18; filter: brightness(.65); }
      42% { opacity: .82; filter: brightness(1.16); }
      100% { opacity: 1; filter: brightness(1); box-shadow: 0 -30px 80px rgba(0,0,0,.5); }
    }

    
    body.vertical-script-mode #section-credits {
      min-height: 100vh !important;
      width: 100vw !important;
      margin-left: calc(50% - 50vw) !important;
      display: grid !important;
      place-items: stretch !important;
      scroll-margin-top: 0 !important;
    }
    body.vertical-script-mode #section-credits .page {
      width: 100vw !important;
      height: 100vh !important;
      min-height: 100vh !important;
      padding: 0 !important;
      margin: 0 !important;
      background: #000 !important;
      color: var(--white) !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      transform: none !important;
      overflow: hidden !important;
      filter: none !important;
    }
    body.vertical-script-mode #section-credits .page::before,
    body.vertical-script-mode #section-credits .page::after,
    body.vertical-script-mode #section-credits .place-time-head,
    body.vertical-script-mode #section-credits .act-title {
      display: none !important;
      content: none !important;
    }
    body.vertical-script-mode #section-credits .page-content {
      position: absolute !important;
      inset: 0 !important;
      min-height: 100vh !important;
      opacity: 1 !important;
      overflow: hidden !important;
      transform: none !important;
      mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
    }
    body.vertical-script-mode #section-credits .credits-roll {
      width: min(520px, 70vw) !important;
      margin: 0 auto !important;
      padding-top: 52vh !important;
      padding-bottom: 58vh !important;
      text-align: center !important;
      animation: creditsRoll 92s linear infinite !important;
    }
    body.vertical-script-mode #section-credits .credits-kicker {
      position: absolute !important;
      top: clamp(22px, 4vw, 54px) !important;
      left: clamp(22px, 4vw, 58px) !important;
      z-index: 4 !important;
      font-family: var(--mono) !important;
      font-size: clamp(.58rem, .72vw, .78rem) !important;
      letter-spacing: .3em !important;
      color: rgba(246,243,238,.84) !important;
      border-bottom: 1px solid rgba(246,243,238,.72) !important;
      padding-bottom: 8px !important;
    }
    body.end-credits-active .brand,
    body.end-credits-active .reading-index,
    body.end-credits-active .episode-carousel,
    body.end-credits-active .footer,
    body.end-credits-active .side-trigger {
      opacity: 0 !important;
      pointer-events: none !important;
      transition: opacity .75s ease !important;
    }
  


    
    body.vertical-script-mode #section-credits {
      position: relative !important;
      z-index: 9000 !important;
      background: #000 !important;
    }

    body.vertical-script-mode #section-credits::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: #000;
      opacity: 0;
      transition: opacity .9s cubic-bezier(.22,1,.36,1);
    }

    body.end-credits-active #section-credits::before {
      opacity: 1;
      animation: roomSwitchOff .95s cubic-bezier(.22,1,.36,1) both;
    }

    @keyframes roomSwitchOff {
      0% { opacity: 0; }
      28% { opacity: .92; }
      100% { opacity: 0; }
    }

    body.end-credits-active {
      background: #000 !important;
    }

    body.end-credits-active::before {
      opacity: 0 !important;
    }

    body.end-credits-active .stage {
      padding-left: 0 !important;
      padding-right: 0 !important;
      background: #000 !important;
    }

    body.end-credits-active #section-credits .page {
      position: relative !important;
      z-index: 2 !important;
      background: #000 !important;
    }

    body.end-credits-active #section-credits .page-content {
      mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 84%, transparent 100%) !important;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 84%, transparent 100%) !important;
    }

    .credits-return-arrow {
      position: fixed;
      top: clamp(20px, 4vh, 38px);
      right: clamp(20px, 4vw, 54px);
      z-index: 12000;
      width: 48px;
      height: 48px;
      border-radius: 999px;
      border: 1px solid rgba(246,243,238,.28);
      color: rgba(246,243,238,.78);
      background: rgba(0,0,0,.28);
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-size: 1.55rem;
      line-height: 1;
      opacity: 0;
      pointer-events: none;
      transform: translateY(8px);
      transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1), color .3s ease, border-color .3s ease, background .3s ease;
    }

    body.end-credits-active .credits-return-arrow {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }

    .credits-return-arrow:hover {
      color: #fff;
      border-color: rgba(246,243,238,.55);
      background: rgba(246,243,238,.08);
      transform: translateY(-2px);
    }

    .credits-return-arrow span {
      transform: translateY(-1px);
      display: block;
    }

    body.end-credits-active #section-credits .credits-roll {
      animation-duration: 96s !important;
    }

    body.end-credits-active #section-credits .credits-roll:hover {
      animation-play-state: paused !important;
    }

    @media (max-width: 700px) {
      .credits-return-arrow {
        width: 44px;
        height: 44px;
        right: 18px;
        top: 18px;
      }
    }
  


    
    body.vertical-script-mode .stage {
      padding-left: clamp(18px, 7vw, 120px) !important;
      padding-right: clamp(18px, 7vw, 120px) !important;
      place-items: start center !important;
    }
    body.vertical-script-mode .page-stack {
      width: min(980px, 100%) !important;
      max-width: 980px !important;
      margin: 0 auto !important;
    }
    body.vertical-script-mode .script-scroll {
      width: 100% !important;
    }
    body.vertical-script-mode .script-section,
    body.vertical-script-mode .script-section .page {
      width: 100% !important;
      max-width: 980px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    
    .reading-index {
      right: clamp(16px, 2.6vw, 42px) !important;
      width: min(150px, 22vw) !important;
      opacity: .38 !important;
      color: rgba(246,243,238,.62) !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      mix-blend-mode: screen;
    }
    body.site-entered .reading-index { opacity: .38 !important; }
    .reading-index:hover,
    .reading-index:focus-visible {
      opacity: .88 !important;
      color: rgba(246,243,238,.94) !important;
      transform: translateY(-50%) translateX(-3px) !important;
    }
    .reading-index-number { color: rgba(246,243,238,.42) !important; }
    .reading-index-title { color: rgba(246,243,238,.74) !important; }
    .reading-index:hover .reading-index-title,
    .reading-index:focus-visible .reading-index-title { color: rgba(246,243,238,.94) !important; }
    .reading-index-label { color: rgba(246,243,238,.28) !important; }
    .reading-index-action { color: rgba(246,243,238,.24) !important; }
    .reading-index-rule {
      width: 1px !important;
      background: rgba(246,243,238,.08) !important;
    }
    .reading-index-rule::after {
      background: rgba(246,243,238,.55) !important;
      box-shadow: 0 0 14px rgba(246,243,238,.14) !important;
    }

    
    .episode-carousel { height: 96px !important; }
    .episode-marquee { bottom: 14px !important; }
    .episode-ticker-item {
      min-width: clamp(300px, 31vw, 440px) !important;
      display: grid !important;
      grid-template-columns: 92px minmax(0, 1fr) auto !important;
      gap: 18px !important;
      align-items: baseline !important;
      padding: 16px 18px !important;
      border: 1px solid rgba(246,243,238,.11) !important;
      background: rgba(246,243,238,.025) !important;
    }
    .episode-ticker-item:hover {
      background: rgba(246,243,238,.06) !important;
      border-color: rgba(246,243,238,.22) !important;
    }
    .ticker-thumb { display: none !important; }
    .ticker-number {
      font-size: .56rem !important;
      letter-spacing: .16em !important;
      color: rgba(246,243,238,.44) !important;
      white-space: nowrap !important;
    }
    .ticker-title {
      font-size: clamp(1.38rem, 2.15vw, 2.15rem) !important;
      line-height: .9 !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
    }
    .ticker-meta {
      margin-top: 0 !important;
      font-size: .5rem !important;
      letter-spacing: .16em !important;
      color: rgba(246,243,238,.38) !important;
      white-space: nowrap !important;
    }

    
    body.end-credits-active,
    body.end-credits-active main,
    body.end-credits-active .stage,
    body.end-credits-active .page-stack,
    body.end-credits-active .script-scroll,
    body.end-credits-active #section-credits,
    body.end-credits-active #section-credits .page,
    body.end-credits-active #section-credits .page-content {
      background: #000 !important;
      background-image: none !important;
    }
    body.end-credits-active { overflow-x: hidden !important; }
    body.end-credits-active::before { display: none !important; }
    body.end-credits-active #section-credits {
      max-width: none !important;
      width: 100vw !important;
      margin-left: calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
    }
    body.end-credits-active #section-credits .page {
      max-width: none !important;
      width: 100vw !important;
      height: 100vh !important;
      min-height: 100vh !important;
    }

    @media (max-width: 1100px) {
      body.vertical-script-mode .stage {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }
      .reading-index { display: block !important; opacity: .26 !important; width: 94px !important; }
      .reading-index-label,
      .reading-index-action { display: none !important; }
      .reading-index-title { font-size: 1.45rem !important; }
      .reading-index-rule { height: 74px !important; }
    }
    @media (max-width: 700px) {
      .reading-index { display: none !important; }
      .episode-carousel { height: 88px !important; }
      .episode-ticker-item {
        min-width: 280px !important;
        grid-template-columns: 78px 1fr !important;
        gap: 12px !important;
        padding: 13px 14px !important;
      }
      .ticker-meta { grid-column: 2; display: block !important; margin-top: -4px !important; }
    }
  


    
    body:not(.credits-active) #readingIndex.reading-index {
      display: block !important;
      visibility: visible !important;
      position: fixed !important;
      top: 50% !important;
      right: clamp(22px, 5.2vw, 78px) !important;
      left: auto !important;
      bottom: auto !important;
      z-index: 99999 !important;
      width: clamp(124px, 10vw, 168px) !important;
      height: auto !important;
      transform: translateY(-50%) !important;
      opacity: .88 !important;
      pointer-events: auto !important;
      cursor: pointer !important;
      text-align: right !important;
      color: rgba(246,243,238,.96) !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      filter: none !important;
      mix-blend-mode: normal !important;
    }
    body:not(.credits-active) #readingIndex.reading-index:hover,
    body:not(.credits-active) #readingIndex.reading-index:focus-visible {
      opacity: 1 !important;
      transform: translateY(-50%) translateX(-5px) !important;
      outline: none !important;
    }
    body.menu-open #readingIndex.reading-index {
      opacity: 0 !important;
      pointer-events: none !important;
      transform: translateY(-50%) scale(.78) !important;
      filter: blur(7px) !important;
    }
    #readingIndex .reading-index-number,
    #readingIndex .reading-index-title,
    #readingIndex .reading-index-label,
    #readingIndex .reading-index-action,
    #readingIndex .reading-index-rule { display: block !important; visibility: visible !important; }
    #readingIndex .reading-index-number {
      margin-bottom: 10px !important;
      font-family: var(--mono) !important;
      font-size: .62rem !important;
      line-height: 1 !important;
      font-weight: 700 !important;
      letter-spacing: .18em !important;
      color: rgba(246,243,238,.52) !important;
    }
    #readingIndex .reading-index-title {
      font-family: var(--title) !important;
      text-transform: uppercase !important;
      font-weight: 300 !important;
      letter-spacing: -.026em !important;
      line-height: .88 !important;
      font-size: clamp(1.62rem, 3vw, 3.1rem) !important;
      color: rgba(246,243,238,.98) !important;
      text-shadow: 0 0 24px rgba(246,243,238,.10) !important;
    }
    #readingIndex .reading-index-label {
      margin: 10px 0 0 auto !important;
      max-width: 152px !important;
      font-family: var(--mono) !important;
      text-transform: uppercase !important;
      font-size: .52rem !important;
      line-height: 1.55 !important;
      letter-spacing: .14em !important;
      color: rgba(246,243,238,.36) !important;
    }
    #readingIndex .reading-index-action {
      margin-top: 12px !important;
      font-family: var(--mono) !important;
      text-transform: uppercase !important;
      font-size: .46rem !important;
      letter-spacing: .22em !important;
      color: rgba(246,243,238,.34) !important;
    }
    #readingIndex .reading-index-rule {
      position: relative !important;
      overflow: hidden !important;
      width: 1px !important;
      height: 118px !important;
      margin: 18px 0 0 auto !important;
      background: rgba(246,243,238,.20) !important;
    }
    #readingIndex .reading-index-rule::after {
      content: "" !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 1px !important;
      height: var(--section-progress, 16%) !important;
      background: rgba(246,243,238,.9) !important;
      box-shadow: 0 0 18px rgba(246,243,238,.32) !important;
    }
    body:not(.credits-active) .side-trigger,
    body:not(.credits-active) .side-label { display: none !important; }
    body:not(.credits-active) .drawer-backdrop {
      display: block !important;
      position: fixed !important;
      inset: 0 !important;
      z-index: 97000 !important;
      background: radial-gradient(circle at calc(100% - clamp(22px, 5.2vw, 78px) - 76px) 50%, rgba(246,243,238,.085), transparent 22%), rgba(0,0,0,.24) !important;
      opacity: 0 !important;
      pointer-events: none !important;
      backdrop-filter: blur(0) !important;
      transition: opacity .72s cubic-bezier(.22,1,.36,1), backdrop-filter .72s cubic-bezier(.22,1,.36,1) !important;
    }
    body.menu-open:not(.credits-active) .drawer-backdrop { opacity: 1 !important; pointer-events: auto !important; backdrop-filter: blur(2px) !important; }
    body:not(.credits-active) #drawer.drawer {
      display: block !important;
      visibility: visible !important;
      position: fixed !important;
      z-index: 98000 !important;
      right: clamp(22px, 5.2vw, 78px) !important;
      top: 50% !important;
      left: auto !important;
      bottom: auto !important;
      width: min(370px, calc(100vw - 44px)) !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      background: transparent !important;
      box-shadow: none !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
      filter: blur(10px) !important;
      transform: translateY(-50%) scale(.68) !important;
      transform-origin: calc(100% - 76px) center !important;
      transition: opacity .78s cubic-bezier(.22,1,.36,1), transform .78s cubic-bezier(.22,1,.36,1), filter .78s ease !important;
    }
    body.menu-open:not(.credits-active) #drawer.drawer { opacity: 1 !important; pointer-events: auto !important; filter: blur(0) !important; transform: translateY(-50%) scale(1) !important; }
    #drawer.drawer::before, #drawer.drawer::after { content: none !important; display: none !important; }
    #drawer .drawer-head { display: flex !important; justify-content: flex-end !important; margin: 0 0 18px !important; }
    #drawer .menu-title { display: none !important; }
    #drawer .drawer-nav { display: grid !important; justify-items: end !important; align-content: center !important; gap: clamp(10px, 1.45vh, 16px) !important; min-height: 0 !important; padding: 0 !important; text-align: right !important; }
    #drawer .drawer-link { display: grid !important; grid-template-columns: 1fr auto !important; grid-template-areas: "voice number" !important; gap: 14px !important; width: auto !important; max-width: min(340px, calc(100vw - 44px)) !important; padding: 0 !important; align-items: baseline !important; text-align: right !important; color: rgba(246,243,238,.94) !important; opacity: 0 !important; filter: blur(5px) !important; transform: scale(.82) !important; transform-origin: right center !important; }
    body.menu-open #drawer .drawer-link { opacity: .54 !important; filter: blur(0) !important; transform: scale(1) !important; }
    body.menu-open #drawer .drawer-link.active,
    body.menu-open #drawer .drawer-link:hover,
    body.menu-open #drawer .drawer-link:focus-visible { opacity: 1 !important; transform: translateX(-5px) scale(1) !important; outline: none !important; }
    #drawer .drawer-link > span:not(.chapter-number) { grid-area: voice !important; }
    #drawer .chapter-number { grid-area: number !important; font-size: .54rem !important; letter-spacing: .17em !important; color: rgba(246,243,238,.34) !important; transform: translateY(.3em) !important; }
    #drawer .drawer-link strong { font-size: clamp(1.55rem, 3.2vw, 3.85rem) !important; line-height: .88 !important; letter-spacing: -.04em !important; }
    #drawer .drawer-link span.label { display: block !important; font-size: clamp(.46rem, .56vw, .62rem) !important; margin-top: 7px !important; color: rgba(246,243,238,.46) !important; opacity: .72 !important; max-height: none !important; overflow: visible !important; }
    #drawer .close-drawer { display: grid !important; place-items: center !important; width: 34px !important; height: 34px !important; border: 1px solid rgba(246,243,238,.2) !important; border-radius: 50% !important; color: rgba(246,243,238,.82) !important; font-family: var(--mono) !important; font-size: 1.48rem !important; line-height: 1 !important; }
    @media (max-width: 900px) {
      body:not(.credits-active) #readingIndex.reading-index { right: 18px !important; width: 112px !important; opacity: .8 !important; }
      #readingIndex .reading-index-label, #readingIndex .reading-index-action { display: none !important; }
      #readingIndex .reading-index-title { font-size: 1.36rem !important; }
      #readingIndex .reading-index-rule { height: 76px !important; }
      body:not(.credits-active) #drawer.drawer { right: 18px !important; width: calc(100vw - 36px) !important; transform-origin: calc(100% - 56px) center !important; }
      #drawer .drawer-link strong { font-size: clamp(1.82rem, 10.5vw, 3.28rem) !important; }
    }
  


  
  .side-trigger,
  .side-label {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  
  #readingIndex.reading-index {
    display: block !important;
    position: fixed !important;
    top: 50% !important;
    right: clamp(24px, 4.4vw, 86px) !important;
    width: clamp(128px, 10.8vw, 190px) !important;
    transform: translateY(-50%) !important;
    z-index: 8500 !important;
    opacity: .92 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-align: right !important;
    color: rgba(246,243,238,.82) !important;
    transform-origin: right center !important;
    transition:
      opacity .55s ease,
      filter .55s ease,
      transform .55s cubic-bezier(.19,1,.22,1),
      color .55s ease !important;
  }

  #readingIndex.reading-index:hover,
  #readingIndex.reading-index:focus-visible {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(-3px) !important;
    outline: none !important;
  }

  #readingIndex .reading-index-number,
  #readingIndex .reading-index-title,
  #readingIndex .reading-index-label,
  #readingIndex .reading-index-action,
  #readingIndex .reading-index-rule {
    display: block !important;
    visibility: visible !important;
  }

  #readingIndex .reading-index-number {
    font-family: var(--mono) !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    color: rgba(246,243,238,.48) !important;
    margin-bottom: 11px !important;
  }

  #readingIndex .reading-index-title {
    font-family: var(--title) !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: -.035em !important;
    line-height: .88 !important;
    font-size: clamp(2.1rem, 3.9vw, 4.9rem) !important;
    color: rgba(246,243,238,.90) !important;
    text-shadow: 0 0 28px rgba(246,243,238,.08) !important;
  }

  #readingIndex .reading-index-label {
    margin-top: 10px !important;
    margin-left: auto !important;
    max-width: 158px !important;
    font-family: var(--mono) !important;
    font-size: .52rem !important;
    line-height: 1.52 !important;
    letter-spacing: .16em !important;
    color: rgba(246,243,238,.38) !important;
  }

  #readingIndex .reading-index-rule {
    width: 1px !important;
    height: clamp(98px, 17vh, 148px) !important;
    margin: 20px 0 0 auto !important;
    background: rgba(246,243,238,.16) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  #readingIndex .reading-index-rule::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: var(--section-progress, 16%) !important;
    background: rgba(246,243,238,.78) !important;
    box-shadow: 0 0 18px rgba(246,243,238,.22) !important;
  }

  #readingIndex .reading-index-action {
    margin-top: 13px !important;
    font-family: var(--mono) !important;
    font-size: .46rem !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    color: rgba(246,243,238,.36) !important;
  }

  
  body.menu-open #readingIndex.reading-index {
    opacity: .96 !important;
    filter: none !important;
    transform: translateY(-50%) !important;
  }

  body.menu-open #readingIndex .reading-index-number,
  body.menu-open #readingIndex .reading-index-label,
  body.menu-open #readingIndex .reading-index-action {
    opacity: .24 !important;
  }

  body.menu-open #readingIndex .reading-index-title {
    opacity: .34 !important;
    filter: blur(.2px) !important;
  }

  body.menu-open #readingIndex .reading-index-rule {
    opacity: .82 !important;
  }

  
  #drawerBackdrop.drawer-backdrop {
    background:
      radial-gradient(circle at calc(100% - clamp(80px, 9vw, 160px)) 50%, rgba(246,243,238,.09), transparent 18%),
      linear-gradient(90deg, rgba(3,5,8,0) 0%, rgba(3,5,8,.36) 56%, rgba(3,5,8,.72) 100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    backdrop-filter: none !important;
    transition: opacity .72s cubic-bezier(.19,1,.22,1) !important;
  }

  body.menu-open #drawerBackdrop.drawer-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  
  #drawer.drawer {
    position: fixed !important;
    top: 50% !important;
    right: clamp(24px, 4.4vw, 86px) !important;
    z-index: 8300 !important;
    width: min(540px, calc(100vw - 42px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 82vh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--white) !important;
    transform: translateY(-50%) scaleX(.025) !important;
    transform-origin: calc(100% - clamp(64px, 5.4vw, 98px)) center !important;
    opacity: 0 !important;
    filter: blur(8px) !important;
    pointer-events: none !important;
    transition:
      opacity .58s ease,
      filter .72s ease,
      transform .82s cubic-bezier(.19,1,.22,1) !important;
  }

  body.menu-open #drawer.drawer {
    transform: translateY(-50%) scaleX(1) !important;
    opacity: 1 !important;
    filter: blur(0) !important;
    pointer-events: auto !important;
  }

  #drawer.drawer::before,
  #drawer.drawer::after {
    content: none !important;
    display: none !important;
  }

  #drawer .drawer-head {
    display: none !important;
  }

  #drawer .drawer-nav {
    display: grid !important;
    justify-items: end !important;
    align-content: center !important;
    gap: clamp(12px, 2vh, 24px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: right !important;
  }

  #drawer .drawer-link {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas: "voice number" !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: auto !important;
    max-width: min(470px, calc(100vw - 52px)) !important;
    padding: 0 !important;
    margin: 0 !important;
    color: rgba(246,243,238,.94) !important;
    text-align: right !important;
    opacity: 0 !important;
    filter: blur(7px) !important;
    transform: translateX(72px) scale(.94) !important;
    transform-origin: right center !important;
    transition:
      opacity .55s ease,
      filter .62s ease,
      transform .72s cubic-bezier(.19,1,.22,1) !important;
  }

  body.menu-open #drawer .drawer-link {
    opacity: .58 !important;
    filter: blur(0) !important;
    transform: translateX(0) scale(1) !important;
  }

  body.menu-open #drawer .drawer-link:nth-child(1) { transition-delay: .04s !important; }
  body.menu-open #drawer .drawer-link:nth-child(2) { transition-delay: .08s !important; }
  body.menu-open #drawer .drawer-link:nth-child(3) { transition-delay: .12s !important; }
  body.menu-open #drawer .drawer-link:nth-child(4) { transition-delay: .16s !important; }
  body.menu-open #drawer .drawer-link:nth-child(5) { transition-delay: .20s !important; }
  body.menu-open #drawer .drawer-link:nth-child(6) { transition-delay: .24s !important; }

  body.menu-open #drawer .drawer-link:hover,
  body.menu-open #drawer .drawer-link:focus-visible,
  body.menu-open #drawer .drawer-link.active {
    opacity: 1 !important;
    transform: translateX(-6px) scale(1) !important;
    outline: none !important;
  }

  #drawer .drawer-link > span:not(.chapter-number) {
    grid-area: voice !important;
  }

  #drawer .chapter-number {
    grid-area: number !important;
    font-family: var(--mono) !important;
    font-size: .56rem !important;
    letter-spacing: .18em !important;
    color: rgba(246,243,238,.36) !important;
    transform: translateY(.25em) !important;
  }

  #drawer .drawer-link strong {
    font-family: var(--title) !important;
    font-size: clamp(2.2rem, 4.2vw, 5.2rem) !important;
    line-height: .86 !important;
    font-weight: 300 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
    color: rgba(246,243,238,.94) !important;
  }

  #drawer .drawer-link strong::after {
    display: none !important;
    content: none !important;
  }

  #drawer .drawer-link span.label {
    display: block !important;
    margin-top: 7px !important;
    font-family: var(--mono) !important;
    font-size: clamp(.46rem, .58vw, .64rem) !important;
    letter-spacing: .16em !important;
    line-height: 1.5 !important;
    color: rgba(246,243,238,.45) !important;
    opacity: .68 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  
  body.credits-approaching .episode-carousel,
  body.credits-elevator-stop .episode-carousel,
  body.credits-takeover .episode-carousel,
  body.end-credits-active .episode-carousel,
  body.credits-approaching .brand,
  body.credits-elevator-stop .brand,
  body.credits-takeover .brand,
  body.end-credits-active .brand,
  body.credits-elevator-stop #readingIndex,
  body.credits-takeover #readingIndex,
  body.end-credits-active #readingIndex {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode #section-credits {
    transition: transform .9s cubic-bezier(.19,1,.22,1), opacity .9s ease, filter .9s ease !important;
  }

  body.credits-approaching:not(.credits-takeover) #section-credits .page {
    transform: translateY(-8px) rotate(-.08deg) scale(.995) !important;
    filter: brightness(.84) !important;
  }

  body.credits-elevator-stop #section-credits {
    position: fixed !important;
    inset: 0 !important;
    z-index: 14000 !important;
    margin: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    background: #000 !important;
    animation: masiElevatorStop .96s cubic-bezier(.15,1,.18,1) both !important;
  }

  @keyframes masiElevatorStop {
    0% { transform: translateY(34px); filter: brightness(.58) blur(2px); }
    56% { transform: translateY(-7px); filter: brightness(.86) blur(0); }
    74% { transform: translateY(2px); }
    100% { transform: translateY(0); filter: brightness(1) blur(0); }
  }

  body.credits-elevator-stop #section-credits::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(246,243,238,.16), transparent 18%, transparent 82%, rgba(246,243,238,.04));
    opacity: 0 !important;
    animation: finalStopFlash .96s cubic-bezier(.19,1,.22,1) both !important;
  }

  @keyframes finalStopFlash {
    0% { opacity: 0; }
    42% { opacity: .22; }
    100% { opacity: 0; }
  }

  body.credits-elevator-stop #section-credits .page,
  body.credits-takeover #section-credits .page,
  body.end-credits-active #section-credits .page {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #000 !important;
    transform: none !important;
    filter: none !important;
    overflow: hidden !important;
  }

  body.credits-elevator-stop #section-credits .place-time-head,
  body.credits-elevator-stop #section-credits .act-title,
  body.credits-takeover #section-credits .place-time-head,
  body.credits-takeover #section-credits .act-title,
  body.end-credits-active #section-credits .place-time-head,
  body.end-credits-active #section-credits .act-title {
    display: none !important;
  }

  body.credits-elevator-stop #section-credits .page-content,
  body.credits-takeover #section-credits .page-content,
  body.end-credits-active #section-credits .page-content {
    position: absolute !important;
    inset: 0 !important;
    min-height: 100vh !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: hidden !important;
    mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 86%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 86%, transparent 100%) !important;
  }

  body.credits-elevator-stop #section-credits .credits-roll,
  body.credits-takeover #section-credits .credits-roll,
  body.end-credits-active #section-credits .credits-roll {
    width: min(560px, 76vw) !important;
    margin: 0 auto !important;
    padding-top: 34vh !important;
    padding-bottom: 42vh !important;
    animation: creditsRoll 96s linear infinite !important;
  }

  body.credits-elevator-stop #section-credits .credits-kicker,
  body.credits-takeover #section-credits .credits-kicker,
  body.end-credits-active #section-credits .credits-kicker {
    position: fixed !important;
    top: clamp(24px, 5vh, 54px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 5 !important;
    font-family: var(--mono) !important;
    font-size: clamp(.66rem, .86vw, .9rem) !important;
    letter-spacing: .34em !important;
    color: rgba(246,243,238,.88) !important;
    border-bottom: 1px solid rgba(246,243,238,.52) !important;
    padding-bottom: 10px !important;
  }

  body.credits-takeover #section-credits {
    position: fixed !important;
    inset: 0 !important;
    z-index: 14000 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #000 !important;
  }

  body.credits-takeover::before,
  body.credits-elevator-stop::before,
  body.end-credits-active::before {
    opacity: 0 !important;
  }

  @media (max-width: 1100px) {
    #readingIndex.reading-index {
      right: 18px !important;
      width: 118px !important;
      opacity: .9 !important;
    }
    #readingIndex .reading-index-title {
      font-size: clamp(1.42rem, 7vw, 2.5rem) !important;
    }
    #readingIndex .reading-index-label,
    #readingIndex .reading-index-action {
      display: none !important;
    }
    #readingIndex .reading-index-rule {
      height: 76px !important;
    }
    #drawer.drawer {
      right: 18px !important;
      width: calc(100vw - 36px) !important;
      transform-origin: calc(100% - 56px) center !important;
    }
    #drawer .drawer-link strong {
      font-size: clamp(1.9rem, 10.5vw, 3.4rem) !important;
    }
  }



  :root{
    --menu-bloom-gap: clamp(54px, 7.2vh, 76px);
    --menu-title-center-right: var(--menu-origin-right, clamp(18px, 3vw, 48px));
  }

  
  body.menu-open .reading-index{
    opacity: .42 !important;
    pointer-events: auto !important;
    filter: none !important;
    transform: translateY(-50%) !important;
  }

  body.menu-open .reading-index-number,
  body.menu-open .reading-index-label,
  body.menu-open .reading-index-action{
    opacity: 0 !important;
    transition: opacity .32s ease !important;
  }

  body.menu-open .reading-index-rule{
    opacity: .34 !important;
    height: 138px !important;
    transition: height .7s cubic-bezier(.19,1,.22,1), opacity .45s ease !important;
  }

  body.menu-open .reading-index-title{
    opacity: .22 !important;
    filter: blur(1px) !important;
    transition: opacity .48s ease, filter .48s ease !important;
  }

  
  .drawer{
    right: var(--menu-title-center-right) !important;
    top: 50% !important;
    width: min(440px, calc(100vw - 42px)) !important;
    height: min(640px, 92vh) !important;
    transform: translateY(-50%) !important;
    transform-origin: right center !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 0 !important;
    pointer-events: none !important;
    filter: none !important;
  }

  body.menu-open .drawer{
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(-50%) !important;
  }

  .drawer-head{
    position: absolute !important;
    right: 0 !important;
    top: calc(50% + clamp(210px, 34vh, 275px)) !important;
    margin: 0 !important;
    z-index: 3 !important;
  }

  .close-drawer{
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: .52rem !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: rgba(246,243,238,.48) !important;
  }
  .close-drawer::before{ content: "CLOSE MENU"; }
  .close-drawer{ font-size: 0 !important; }

  .drawer-nav{
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-align: right !important;
  }

  .drawer-link{
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: min(420px, calc(100vw - 44px)) !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas: "voice number" !important;
    gap: 14px !important;
    align-items: baseline !important;
    text-align: right !important;
    opacity: 0 !important;
    filter: blur(9px) !important;
    transform: translateY(0) scale(.62) !important;
    transform-origin: right center !important;
    transition:
      opacity .62s cubic-bezier(.22,1,.36,1),
      transform .78s cubic-bezier(.19,1,.22,1),
      filter .62s ease !important;
    transition-delay: var(--menu-delay, 0ms) !important;
  }

  body.menu-open .drawer-link{
    opacity: .58 !important;
    filter: blur(0) !important;
    transform: translateY(var(--menu-y, 0px)) scale(1) !important;
  }

  body.menu-open .drawer-link.active,
  body.menu-open .drawer-link.selected{
    opacity: 1 !important;
  }

  .drawer-link:hover,
  .drawer-link:focus-visible{
    opacity: 1 !important;
    transform: translateY(var(--menu-y, 0px)) translateX(-6px) scale(1) !important;
  }

  .drawer-link strong{
    font-size: clamp(1.65rem, 3vw, 3.6rem) !important;
    line-height: .88 !important;
  }

  .drawer-link span.label{
    display: block !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: opacity .38s ease, max-height .38s ease !important;
  }

  .drawer-link.active span.label,
  .drawer-link:hover span.label,
  .drawer-link:focus-visible span.label{
    opacity: .68 !important;
    max-height: 34px !important;
  }

  .drawer-backdrop{
    background:
      radial-gradient(circle at calc(100% - var(--menu-title-center-right) - 78px) 50%, rgba(246,243,238,.11), transparent 20%),
      rgba(0,0,0,.18) !important;
    backdrop-filter: blur(1px) !important;
  }

  
  body.season-transitioning .page{
    transform: translateY(-22px) rotate(-.08deg) scale(.996) !important;
    filter: blur(3px) brightness(.88) !important;
    transition: transform .7s cubic-bezier(.19,1,.22,1), filter .7s ease !important;
  }

  body.season-transitioning .page-content{
    opacity: 0 !important;
    transition: opacity .34s ease !important;
  }

  
  body.credits-final-stop .page:not(.credits-page){
    transform: translateY(0) rotate(-.08deg) scale(.985) !important;
    filter: blur(2px) brightness(.62) !important;
    opacity: .36 !important;
  }

  body.credits-active .page.credits-page{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    z-index: 8600 !important;
    background:
      radial-gradient(circle at 50% 50%, rgba(246,243,238,.055), transparent 35%),
      linear-gradient(180deg, #020509 0%, #000 100%) !important;
    opacity: 1 !important;
  }

  body.credits-active .page.credits-page .act-title,
  body.credits-active .page.credits-page .scene-line{
    display: none !important;
  }

  body.credits-active .page.credits-page .page-content{
    position: absolute !important;
    inset: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: hidden !important;
    mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 86%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 13%, black 86%, transparent 100%) !important;
  }

  body.credits-active .credits-kicker{
    position: fixed !important;
    left: 50% !important;
    top: 13vh !important;
    transform: translateX(-50%) !important;
    z-index: 8700 !important;
    font-family: var(--mono) !important;
    font-size: clamp(.72rem, 1vw, .95rem) !important;
    letter-spacing: .46em !important;
    border: 0 !important;
    color: rgba(246,243,238,.86) !important;
  }

  body.credits-active .credits-roll{
    width: min(640px, 78vw) !important;
    margin: 0 auto !important;
    padding: 0 0 50vh !important;
    text-align: center !important;
    animation: creditsRollImmediate 74s linear infinite !important;
    animation-play-state: running !important;
    will-change: transform !important;
  }

  body.credits-active.credits-fullscreen-entered .credits-roll{
    animation-play-state: running !important;
  }

  @keyframes creditsRollImmediate{
    from{ transform: translateY(100vh); }
    to{ transform: translateY(-112%); }
  }

  @media (max-width: 900px){
    .drawer{ right: 18px !important; width: calc(100vw - 36px) !important; }
    .drawer-link{ width: calc(100vw - 36px) !important; }
    .drawer-link strong{ font-size: clamp(1.35rem, 7vw, 2.6rem) !important; }
    .drawer-head{ top: calc(50% + 238px) !important; }
  }



  
  body.menu-open:not(.credits-active) #drawer.drawer,
  body.menu-open #drawer.drawer,
  body.menu-open .drawer {
    height: auto !important;
    max-height: 92vh !important;
    overflow: visible !important;
  }

  #drawer .drawer-nav,
  .drawer .drawer-nav {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: clamp(14px, 2.1vh, 24px) !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    text-align: right !important;
  }

  #drawer .drawer-link,
  .drawer .drawer-link {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas: "voice number" !important;
    width: min(420px, calc(100vw - 44px)) !important;
    opacity: 0 !important;
    filter: blur(8px) !important;
    transform: translateY(10px) scale(.96) !important;
    transition:
      opacity .52s cubic-bezier(.22,1,.36,1),
      transform .62s cubic-bezier(.19,1,.22,1),
      filter .52s ease !important;
  }

  body.menu-open #drawer .drawer-link,
  body.menu-open .drawer .drawer-link {
    opacity: .62 !important;
    filter: blur(0) !important;
    transform: translateY(0) scale(1) !important;
  }

  body.menu-open #drawer .drawer-link:nth-child(1) { transition-delay: .04s !important; }
  body.menu-open #drawer .drawer-link:nth-child(2) { transition-delay: .08s !important; }
  body.menu-open #drawer .drawer-link:nth-child(3) { transition-delay: .12s !important; }
  body.menu-open #drawer .drawer-link:nth-child(4) { transition-delay: .16s !important; }
  body.menu-open #drawer .drawer-link:nth-child(5) { transition-delay: .20s !important; }
  body.menu-open #drawer .drawer-link:nth-child(6) { transition-delay: .24s !important; }

  body.menu-open #drawer .drawer-link:hover,
  body.menu-open #drawer .drawer-link:focus-visible,
  body.menu-open #drawer .drawer-link.active,
  body.menu-open #drawer .drawer-link.selected {
    opacity: 1 !important;
    transform: translateX(-6px) translateY(0) scale(1) !important;
  }

  #drawer .drawer-head,
  .drawer .drawer-head {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 0 20px !important;
  }

  
  body.credits-active .credits-roll,
  body.end-credits-active #section-credits .credits-roll,
  body.credits-takeover #section-credits .credits-roll,
  body.credits-elevator-stop #section-credits .credits-roll {
    animation: publishCreditsRoll 78s linear infinite !important;
    animation-play-state: running !important;
    transform: translateY(100vh);
    will-change: transform !important;
  }

  body.credits-active .credits-roll:hover,
  body.end-credits-active #section-credits .credits-roll:hover {
    animation-play-state: running !important;
  }

  @keyframes publishCreditsRoll {
    0% { transform: translateY(100vh); }
    100% { transform: translateY(-120%); }
  }

  
  body.leaving-credits-up #section-credits,
  body.leaving-credits-up #section-credits .page {
    position: relative !important;
  }



  
  body:not(.credits-active):not(.end-credits-active) #drawer.drawer,
  body:not(.end-credits-active) #drawer.drawer {
    position: fixed !important;
    top: 50% !important;
    right: clamp(18px, 4.8vw, 72px) !important;
    left: auto !important;
    bottom: auto !important;
    width: min(500px, calc(100vw - 36px)) !important;
    height: min(86vh, 760px) !important;
    min-height: 520px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    filter: none !important;
    transform: translateY(-50%) !important;
    z-index: 98000 !important;
  }

  body.menu-open #drawer.drawer { pointer-events: auto !important; }
  #drawer.drawer::before,
  #drawer.drawer::after { content: none !important; display: none !important; }

  body.menu-open #readingIndex.reading-index {
    opacity: .10 !important;
    filter: blur(5px) !important;
    transform: translateY(-50%) scale(.92) !important;
    pointer-events: none !important;
  }

  body:not(.end-credits-active) .drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 97000 !important;
    background: radial-gradient(circle at calc(100% - clamp(18px, 4.8vw, 72px) - 86px) 50%, rgba(246,243,238,.10), transparent 18%), rgba(0,0,0,.30) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    backdrop-filter: blur(0) !important;
    transition: opacity .8s cubic-bezier(.22,1,.36,1), backdrop-filter .8s cubic-bezier(.22,1,.36,1) !important;
  }
  body.menu-open:not(.end-credits-active) .drawer-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
    backdrop-filter: blur(2px) !important;
  }

  #drawer .drawer-head {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) scale(.72) !important;
    opacity: 0 !important;
    transition: opacity .45s ease, transform .65s cubic-bezier(.19,1,.22,1) !important;
  }
  body.menu-open #drawer .drawer-head {
    opacity: .82 !important;
    transform: translateY(-50%) translateX(-18px) scale(1) !important;
  }
  #drawer .menu-title { display: none !important; }
  #drawer .close-drawer {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(246,243,238,.24) !important;
    background: rgba(0,0,0,.18) !important;
    color: rgba(246,243,238,.86) !important;
    font-family: var(--mono) !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
  }

  #drawer .drawer-nav {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    text-align: right !important;
    overflow: visible !important;
  }

  #drawer .drawer-link {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: min(470px, calc(100vw - 42px)) !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas: "voice number" !important;
    column-gap: 16px !important;
    align-items: baseline !important;
    text-align: right !important;
    color: rgba(246,243,238,.96) !important;
    opacity: 0 !important;
    visibility: visible !important;
    filter: blur(10px) !important;
    transform: translateY(-50%) translateX(0) scale(.34) !important;
    transform-origin: right center !important;
    pointer-events: none !important;
    transition:
      top 1.05s cubic-bezier(.19,1,.22,1),
      opacity .72s cubic-bezier(.22,1,.36,1),
      transform 1.05s cubic-bezier(.19,1,.22,1),
      filter .72s ease !important;
  }

  body.menu-open #drawer .drawer-link {
    opacity: .62 !important;
    filter: blur(0) !important;
    transform: translateY(-50%) translateX(0) scale(1) !important;
    pointer-events: auto !important;
  }

  
  body.menu-open #drawer .drawer-link:nth-child(1) { top: 5% !important; transition-delay: .02s !important; }
  body.menu-open #drawer .drawer-link:nth-child(2) { top: 22% !important; transition-delay: .07s !important; }
  body.menu-open #drawer .drawer-link:nth-child(3) { top: 39% !important; transition-delay: .12s !important; }
  body.menu-open #drawer .drawer-link:nth-child(4) { top: 56% !important; transition-delay: .17s !important; }
  body.menu-open #drawer .drawer-link:nth-child(5) { top: 73% !important; transition-delay: .22s !important; }
  body.menu-open #drawer .drawer-link:nth-child(6) { top: 90% !important; transition-delay: .27s !important; }

  body.menu-open #drawer .drawer-link:hover,
  body.menu-open #drawer .drawer-link:focus-visible,
  body.menu-open #drawer .drawer-link.active,
  body.menu-open #drawer .drawer-link.selected {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(-9px) scale(1.015) !important;
    outline: none !important;
  }

  #drawer .drawer-link > span:not(.chapter-number) { grid-area: voice !important; display: block !important; }
  #drawer .chapter-number {
    grid-area: number !important;
    display: block !important;
    font-size: .58rem !important;
    letter-spacing: .18em !important;
    color: rgba(246,243,238,.38) !important;
    transform: translateY(.35em) !important;
  }
  #drawer .drawer-link strong {
    display: inline-block !important;
    font-family: var(--title) !important;
    text-transform: uppercase !important;
    font-weight: 300 !important;
    font-size: clamp(1.7rem, 3.7vw, 4.65rem) !important;
    line-height: .84 !important;
    letter-spacing: -.045em !important;
  }
  #drawer .drawer-link strong::after { bottom: -6px !important; }
  #drawer .drawer-link span.label {
    display: block !important;
    margin-top: 8px !important;
    max-height: none !important;
    opacity: .58 !important;
    overflow: visible !important;
    transform: none !important;
    font-family: var(--mono) !important;
    font-size: clamp(.48rem, .64vw, .68rem) !important;
    line-height: 1.42 !important;
    letter-spacing: .15em !important;
    color: rgba(246,243,238,.54) !important;
  }

  @media (max-width: 900px) {
    body:not(.end-credits-active) #drawer.drawer {
      right: 18px !important;
      width: calc(100vw - 36px) !important;
      height: min(82vh, 690px) !important;
      min-height: 480px !important;
    }
    #drawer .drawer-link { width: calc(100vw - 46px) !important; }
    #drawer .drawer-link strong { font-size: clamp(1.55rem, 8.2vw, 3.25rem) !important; }
    #drawer .drawer-link span.label { font-size: .52rem !important; }
  }

  
  body.vertical-script-mode #section-credits,
  #section-credits {
    position: relative !important;
    min-height: 150vh !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #000 !important;
    display: block !important;
    overflow: visible !important;
    scroll-margin-top: 0 !important;
  }

  body.vertical-script-mode #section-credits .page,
  #section-credits .page,
  .page.credits-page {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #000 !important;
    color: var(--white) !important;
    overflow: hidden !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    z-index: 1 !important;
  }

  #section-credits .place-time-head,
  #section-credits .act-title,
  #section-credits .scene-line,
  #section-credits .page::before,
  #section-credits .page::after {
    display: none !important;
    content: none !important;
  }

  #section-credits .page-content {
    position: absolute !important;
    inset: 0 !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
    background: #000 !important;
    mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 86%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 86%, transparent 100%) !important;
  }

  #section-credits .credits-kicker {
    position: absolute !important;
    top: clamp(22px, 4vw, 54px) !important;
    left: clamp(22px, 4vw, 58px) !important;
    z-index: 6 !important;
    font-family: var(--mono) !important;
    font-size: clamp(.62rem, .85vw, .86rem) !important;
    letter-spacing: .3em !important;
    color: rgba(246,243,238,.86) !important;
    border-bottom: 1px solid rgba(246,243,238,.68) !important;
    padding-bottom: 8px !important;
    pointer-events: none !important;
  }

  #section-credits .credits-roll {
    width: min(620px, 74vw) !important;
    margin: 0 auto !important;
    padding: 0 0 70vh !important;
    text-align: center !important;
    opacity: 1 !important;
    will-change: transform !important;
    animation: none !important;
    transform: translate3d(0, 76vh, 0) !important;
  }

  body.masi-credits-roll-live #section-credits .credits-roll,
  body.end-credits-active #section-credits .credits-roll,
  body.credits-active #section-credits .credits-roll,
  body.credits-takeover #section-credits .credits-roll,
  body.credits-elevator-stop #section-credits .credits-roll {
    animation: trueMasiCreditsRoll 54s linear infinite !important;
    animation-play-state: running !important;
  }

  #section-credits .credits-roll:hover { animation-play-state: running !important; }

  @keyframes trueMasiCreditsRoll {
    0% { transform: translate3d(0, 76vh, 0); }
    100% { transform: translate3d(0, -118%, 0); }
  }

  #section-credits .credit-block { margin-bottom: clamp(22px, 4.2vh, 48px) !important; }
  #section-credits .credit-role {
    font-size: clamp(.48rem, .62vw, .7rem) !important;
    letter-spacing: .27em !important;
    margin-bottom: 8px !important;
    color: rgba(246,243,238,.48) !important;
  }
  #section-credits .credit-name {
    font-size: clamp(1.25rem, 2.55vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .025em !important;
  }
  #section-credits .credit-text {
    max-width: 560px !important;
    margin: 0 auto !important;
    font-size: clamp(.64rem, .88vw, .96rem) !important;
    line-height: 1.78 !important;
    color: rgba(246,243,238,.72) !important;
  }

  body.masi-credits-roll-live,
  body.end-credits-active {
    background: #000 !important;
  }
  body.masi-credits-roll-live .brand,
  body.masi-credits-roll-live .reading-index,
  body.masi-credits-roll-live .episode-carousel,
  body.masi-credits-roll-live .footer,
  body.masi-credits-roll-live .side-trigger,
  body.masi-credits-roll-live .side-label {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  @media (max-width: 900px) {
    #section-credits .credits-roll { width: min(480px, 82vw) !important; }
    body.masi-credits-roll-live #section-credits .credits-roll { animation-duration: 58s !important; }
    #section-credits .credit-name { font-size: clamp(1.05rem, 5vw, 2.15rem) !important; }
    #section-credits .credit-text { font-size: clamp(.58rem, 2.4vw, .78rem) !important; }
  }



  .guest-frame.has-image { padding: 0 !important; overflow: hidden !important; background: #0a0d12 !important; }
  .guest-frame.has-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; filter: grayscale(1) contrast(1.08) brightness(.92) !important; }
  .latest-panel { isolation: isolate; }
  .latest-portrait { position: absolute; inset: 0; z-index: -1; background-position: center; background-size: cover; opacity: .24; filter: grayscale(1) contrast(1.16) brightness(.72); transform: scale(1.03); }
  .latest-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,5,8,.96), rgba(3,5,8,.62)); }
  .episode-ticker-item { grid-template-columns: 48px 74px minmax(120px, 1fr) auto !important; align-items: center !important; }
  .ticker-photo { width: 42px; height: 54px; border: 1px solid rgba(246,243,238,.18); background-position: center; background-size: cover; filter: grayscale(1) contrast(1.08) brightness(.82); opacity: .82; }
  .ticker-photo.empty { background: linear-gradient(180deg, rgba(246,243,238,.08), rgba(246,243,238,.02)); }
  #section-credits { min-height: 140vh !important; }
  #section-credits .page { min-height: 100vh !important; height: 100vh !important; overflow: hidden !important; background: #000 !important; color: var(--white) !important; border-radius: 0 !important; box-shadow: none !important; }
  #section-credits .place-time-head, #section-credits .act-title { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
  #section-credits .page-content { position: absolute !important; inset: 0 !important; display: block !important; min-height: 100vh !important; overflow: hidden !important; opacity: 1 !important; transform: none !important; background: #000 !important; mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%) !important; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%) !important; }
  #section-credits .page-content > * { opacity: 1 !important; transform: none !important; }
  #section-credits .credits-roll { width: min(640px, 78vw) !important; margin: 0 auto !important; padding: 0 0 70vh !important; opacity: 1 !important; text-align: center !important; will-change: transform !important; animation: audienceCreditsRoll 58s linear infinite !important; }
  #section-credits .credits-kicker { position: absolute !important; top: clamp(22px, 4vw, 54px) !important; left: clamp(22px, 4vw, 58px) !important; z-index: 10 !important; font-family: var(--mono) !important; font-size: clamp(.62rem, .85vw, .86rem) !important; letter-spacing: .3em !important; color: rgba(246,243,238,.86) !important; border-bottom: 1px solid rgba(246,243,238,.68) !important; padding-bottom: 8px !important; }
  @keyframes audienceCreditsRoll { 0% { transform: translate3d(0, 88vh, 0); } 100% { transform: translate3d(0, -120%, 0); } }
  body.end-credits-active .brand, body.end-credits-active .reading-index, body.end-credits-active .episode-carousel, body.end-credits-active .footer, body.end-credits-active .side-trigger, body.end-credits-active .side-label { opacity: 0 !important; pointer-events: none !important; }
  @media (max-width: 900px) { .episode-ticker-item { grid-template-columns: 42px 58px minmax(120px, 1fr) !important; } .ticker-photo { width: 36px; height: 46px; } #section-credits .credits-roll { width: min(520px, 84vw) !important; animation-duration: 64s !important; } }



.episode-carousel{height:132px!important}.episode-marquee{bottom:16px!important}.episode-ticker-item{min-width:clamp(430px,44vw,660px)!important;grid-template-columns:92px 150px minmax(150px,1fr) auto!important;gap:20px!important;align-items:center!important;padding:15px 22px 15px 14px!important}.ticker-photo{width:82px!important;height:100px!important;background-size:cover!important;background-position:center 38%!important;opacity:.94!important;filter:grayscale(1) contrast(1.12) brightness(.86)!important}.ticker-number{font-family:var(--title)!important;text-transform:uppercase!important;font-weight:300!important;letter-spacing:.02em!important;font-size:clamp(2rem,3.4vw,3.65rem)!important;line-height:.82!important;color:rgba(246,243,238,.94)!important;white-space:nowrap!important}.ticker-title{font-family:var(--title)!important;font-size:clamp(1.5rem,2.25vw,2.35rem)!important;letter-spacing:-.02em!important;white-space:nowrap!important}.ticker-meta{font-family:var(--mono)!important;font-size:.58rem!important;letter-spacing:.18em!important;color:rgba(246,243,238,.56)!important}.latest-panel .latest-portrait{opacity:.34!important;background-size:112%!important;background-position:center 34%!important}.programme-row{grid-template-columns:124px 78px minmax(0,1fr) auto!important;align-items:center!important;gap:22px!important}.programme-portrait{width:104px;height:132px;border:1px solid rgba(17,21,28,.18);background:linear-gradient(180deg,rgba(17,21,28,.06),rgba(17,21,28,.02));overflow:hidden}.programme-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 34%;filter:grayscale(1) contrast(1.08) brightness(.94)}.programme-portrait.is-empty{opacity:.18}.programme-number{font-family:var(--title)!important;font-weight:300!important;letter-spacing:.02em!important;font-size:clamp(1.5rem,2.8vw,3rem)!important;line-height:.9!important;color:rgba(17,21,28,.62)!important}.guest-frame.has-image img{object-position:center 32%!important;transform:scale(1.06)}@media(max-width:900px){.episode-carousel{height:122px!important}.episode-ticker-item{min-width:390px!important;grid-template-columns:72px 116px minmax(130px,1fr)!important;gap:14px!important}.ticker-photo{width:66px!important;height:82px!important}.ticker-number{font-size:clamp(1.65rem,8vw,2.5rem)!important}.ticker-meta{grid-column:3!important}.programme-row{grid-template-columns:96px 1fr!important;gap:14px!important}.programme-portrait{width:88px;height:112px;grid-row:span 3}.programme-number{font-size:2rem!important}.programme-row>div:last-child{grid-column:2}.guest-frame.has-image img{transform:scale(1.03)}}



  /* Bottom carousel: no square frames, no dividing lines, image + text only. */
  .episode-carousel {
    height: 152px !important;
    border-top: 0 !important;
    box-shadow: 0 -24px 70px rgba(0,0,0,.48) !important;
    background: linear-gradient(180deg, rgba(3,5,8,.18), rgba(3,5,8,.94)) !important;
    backdrop-filter: blur(8px) !important;
  }

  .episode-carousel-head {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    color: rgba(246,243,238,.42) !important;
  }

  .episode-marquee {
    bottom: 14px !important;
  }

  .episode-marquee-track {
    gap: clamp(28px, 4vw, 58px) !important;
  }

  .episode-ticker-item {
    min-width: clamp(360px, 35vw, 560px) !important;
    display: flex !important;
    align-items: center !important;
    gap: clamp(16px, 2vw, 26px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
    overflow: visible !important;
  }

  .episode-ticker-item:hover,
  .episode-ticker-item:focus-visible {
    border: 0 !important;
    background: transparent !important;
    transform: translateY(-2px) !important;
  }

  .ticker-photo {
    flex: 0 0 clamp(92px, 8.2vw, 126px) !important;
    width: clamp(92px, 8.2vw, 126px) !important;
    height: clamp(112px, 9.8vw, 150px) !important;
    border: 0 !important;
    background-color: transparent !important;
    background-position: center 34% !important;
    background-size: cover !important;
    opacity: .96 !important;
    filter: grayscale(1) contrast(1.12) brightness(.88) !important;
  }

  .ticker-photo.empty {
    display: none !important;
  }

  .ticker-copy {
    display: grid !important;
    gap: 7px !important;
    min-width: 0 !important;
    max-width: clamp(210px, 21vw, 360px) !important;
  }

  .ticker-number,
  .ticker-title,
  .ticker-meta {
    display: block !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .ticker-number {
    font-family: var(--title) !important;
    font-weight: 300 !important;
    letter-spacing: .015em !important;
    font-size: clamp(2rem, 3.2vw, 3.55rem) !important;
    line-height: .86 !important;
    color: rgba(246,243,238,.94) !important;
    white-space: nowrap !important;
  }

  .ticker-title {
    font-family: var(--title) !important;
    font-size: clamp(1.35rem, 2vw, 2.25rem) !important;
    line-height: .98 !important;
    letter-spacing: -.018em !important;
    color: rgba(246,243,238,.88) !important;
    white-space: normal !important;
    max-width: 100% !important;
  }

  .ticker-meta {
    margin-top: 2px !important;
    font-family: var(--mono) !important;
    font-size: .56rem !important;
    line-height: 1.35 !important;
    letter-spacing: .16em !important;
    color: rgba(246,243,238,.50) !important;
    white-space: normal !important;
  }

  /* Season One programme images: larger portraits, no cramped text overlap. */
  .programme-row {
    grid-template-columns: 150px 92px minmax(0,1fr) auto !important;
    gap: 26px !important;
    align-items: center !important;
  }

  .programme-portrait {
    width: 136px !important;
    height: 172px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .programme-portrait img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 32% !important;
    filter: grayscale(1) contrast(1.08) brightness(.94) !important;
  }

  .programme-number {
    white-space: nowrap !important;
  }

  /* Instagram replaces newsletter signup. */
  .instagram-card {
    border: 0 !important;
    background: linear-gradient(135deg, rgba(17,21,28,.045), transparent 66%) !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .instagram-actions {
    border-top: 0 !important;
    padding-top: 8px !important;
    margin-top: 20px !important;
  }

  .newsletter-form { display: none !important; }

  @media (max-width: 900px) {
    body.vertical-script-mode { padding-bottom: 138px !important; }
    .episode-carousel { height: 138px !important; }
    .episode-carousel-head { display: none !important; }
    .episode-ticker-item { min-width: 330px !important; gap: 14px !important; }
    .ticker-photo { flex-basis: 82px !important; width: 82px !important; height: 104px !important; }
    .ticker-copy { max-width: 210px !important; }
    .ticker-number { font-size: clamp(1.65rem, 7vw, 2.25rem) !important; }
    .ticker-title { font-size: clamp(1.18rem, 5vw, 1.58rem) !important; }
    .ticker-meta { font-size: .5rem !important; }
    .programme-row { grid-template-columns: 118px minmax(0,1fr) !important; gap: 16px !important; }
    .programme-portrait { width: 108px !important; height: 138px !important; grid-row: span 3 !important; }
    .programme-row > div:last-child { grid-column: 2 !important; }
  }



  .site-instagram {
    position: fixed;
    top: 22px;
    right: clamp(22px, 4vw, 56px);
    z-index: 4300;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(246,243,238,.72);
    font-family: var(--mono);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .64rem;
    opacity: 0;
    transition: opacity .95s ease, color .35s ease, transform .35s ease;
  }
  body.site-entered .site-instagram { opacity: 1; }
  .site-instagram:hover { color: rgba(246,243,238,.98); transform: translateY(-1px); }
  .site-instagram-glyph {
    width: 26px;
    height: 26px;
    border: 1px solid rgba(246,243,238,.42);
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: 0;
  }
  body.credits-active .site-instagram,
  body.end-credits-active .site-instagram,
  body.masi-credits-roll-live .site-instagram {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .episode-carousel {
    height: 176px !important;
    padding-top: 22px !important;
  }
  .episode-marquee { bottom: 20px !important; }
  .episode-ticker-item { align-items: center !important; }
  .ticker-photo {
    height: clamp(96px, 7.8vw, 124px) !important;
    width: clamp(78px, 6.8vw, 104px) !important;
    flex-basis: clamp(78px, 6.8vw, 104px) !important;
    background-position: center 38% !important;
  }
  .programme-row.episode-jump-highlight {
    animation: episodeJumpGlow 1.8s cubic-bezier(.22,1,.36,1);
  }
  @keyframes episodeJumpGlow {
    0% { background: rgba(17,21,28,.12); box-shadow: 0 0 0 0 rgba(17,21,28,.12); }
    100% { background: transparent; box-shadow: 0 0 0 22px rgba(17,21,28,0); }
  }
  @media (max-width: 900px) {
    .site-instagram { top: 56px; left: 18px; right: auto; font-size: .56rem; }
    .site-instagram-glyph { width: 23px; height: 23px; border-radius: 7px; }
    body.vertical-script-mode { padding-bottom: 154px !important; }
    .episode-carousel { height: 154px !important; }
    .episode-marquee { bottom: 18px !important; }
    .ticker-photo { height: 92px !important; width: 72px !important; flex-basis: 72px !important; }
  }


/* Cinematic RETURN button */
.close-drawer{
  font-family: var(--mono);
  font-size:.9rem !important;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:10px;
  transition:transform .4s ease,color .4s ease;
}
.close-drawer:hover{
  transform:translateX(-6px);
  color:#fff;
}


/* Publication polish: menu close arrow, final public copy, cinematic credits */
.drawer-head{
  position:relative;
  display:block !important;
  padding-left:54px;
}
.close-drawer{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(246,243,238,.18);
  display:grid !important;
  place-items:center;
  color:rgba(246,243,238,.84) !important;
  font-family:var(--mono);
  font-size:1.12rem !important;
  letter-spacing:0 !important;
  text-transform:uppercase;
  transition:transform .55s cubic-bezier(.19,1,.22,1), border-color .45s ease, color .45s ease, background .45s ease;
}
.close-drawer .close-drawer-text{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.close-drawer:hover,
.close-drawer:focus-visible{
  transform:translateY(-50%) translateX(-7px);
  color:#fff !important;
  border-color:rgba(246,243,238,.52);
  background:rgba(246,243,238,.045);
  outline:none;
}
.drawer-nav{
  position:relative;
  padding-left:clamp(18px, 2.4vw, 34px);
}
.drawer-nav::before{
  content:"";
  position:absolute;
  left:0;
  top:8%;
  bottom:8%;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(246,243,238,.28), transparent);
  opacity:.7;
}
.drawer-link:hover,
.drawer-link.active,
.drawer-link.selected{
  transform:translateX(-12px) !important;
}

.newsletter-small,
.small-print{
  color:rgba(17,21,28,.55);
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.05em;
  line-height:1.55;
}
.source-note{ display:none !important; }

body.credits-active{
  background:#000 !important;
}
body.credits-active main::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:3490;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%, rgba(246,243,238,.055), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,.4), #000 34%, #000 100%);
  opacity:1;
}
.page.credits-page{
  background:#000 !important;
}
.page.credits-page .page-content{
  mask-image:linear-gradient(to bottom, transparent 0%, black 14%, black 82%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 14%, black 82%, transparent 100%) !important;
}
.credits-roll{
  animation:creditsRoll 78s linear infinite !important;
  will-change:transform;
}
.credits-cinematic-controls{
  left:auto !important;
  right:clamp(18px,4vw,54px) !important;
  bottom:clamp(18px,4vh,42px) !important;
  transform:none !important;
  justify-content:flex-end !important;
  gap:12px !important;
  opacity:.42 !important;
  transition:opacity .45s ease !important;
}
.credits-cinematic-controls:hover,
.credits-cinematic-controls:focus-within{
  opacity:1 !important;
}
.credits-arrow-btn{
  min-height:44px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(246,243,238,.22);
  color:rgba(246,243,238,.86);
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .45s cubic-bezier(.19,1,.22,1), border-color .35s ease, color .35s ease, background .35s ease;
}
.credits-arrow-btn span:first-child{
  font-size:1.05rem;
  letter-spacing:0;
  line-height:1;
}
.credits-arrow-btn:hover,
.credits-arrow-btn:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(246,243,238,.58);
  color:#fff;
  background:rgba(246,243,238,.06);
  outline:none;
}
@media (max-width:900px){
  .drawer-head{ padding-left:48px; }
  .drawer-nav{ padding-left:18px; }
  .credits-cinematic-controls{
    left:18px !important;
    right:18px !important;
    justify-content:center !important;
  }
  .credits-arrow-btn{
    font-size:.58rem;
    padding:11px 13px;
  }
}


/* ===== Publication polish v2 ===== */

/* Pure arrow close control: no injected words */
.close-drawer::before,
.close-drawer::after{
  content:none !important;
}
.close-drawer{
  position:relative !important;
  width:clamp(54px, 5vw, 76px) !important;
  height:clamp(54px, 5vw, 76px) !important;
  min-width:clamp(54px, 5vw, 76px) !important;
  border:1px solid rgba(246,243,238,.24) !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  font-size:clamp(2.15rem, 4vw, 3.4rem) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:rgba(246,243,238,.84) !important;
  background:rgba(246,243,238,.025) !important;
  transform:none !important;
}
.close-drawer span{
  display:block !important;
  transform:translateY(-.04em);
}
.close-drawer .close-drawer-text{
  display:none !important;
}
.close-drawer:hover,
.close-drawer:focus-visible{
  transform:translateX(-8px) !important;
  color:#fff !important;
  border-color:rgba(246,243,238,.58) !important;
  background:rgba(246,243,238,.065) !important;
}

/* Finished announcement card replacing the unavailable newsletter */
.announcement-card{
  margin-top:30px;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(17,21,28,.16);
  background:
    linear-gradient(135deg, rgba(17,21,28,.07), transparent 58%),
    rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
  max-width:860px;
}
.announcement-card h2{
  font-family:var(--title);
  text-transform:uppercase;
  font-weight:300;
  letter-spacing:-.04em;
  line-height:.92;
  font-size:clamp(2.8rem,6.8vw,6.5rem);
  color:var(--ink);
  margin-bottom:14px;
}
.announcement-actions{
  margin-top:24px !important;
}
.newsletter-form,
.newsletter-small{
  display:none !important;
}

/* Host page: remove unused square-card visual weight */
.host-proof-grid{
  display:none !important;
}

/* Episode guest face apparition on hover */
.page{
  isolation:isolate;
}
.episode-hover-ghost{
  position:absolute;
  left:clamp(-44px, -3vw, -18px);
  top:50%;
  width:clamp(170px, 22vw, 320px);
  height:clamp(250px, 34vw, 470px);
  transform:translate(-34%, -50%) scale(.98);
  background-size:cover;
  background-position:center 38%;
  opacity:0;
  filter:grayscale(1) contrast(1.08) brightness(.9);
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:0;
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.episode-hover-ghost::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(238,230,215,.1), rgba(238,230,215,.65) 72%, rgba(238,230,215,.98));
}
.episode-hover-ghost.visible{
  opacity:.22;
  transform:translate(-26%, -50%) scale(1);
}
.programme-row{
  position:relative;
  z-index:2;
}

/* Cinematic gradient from the blue page into the black credits */
body.credits-final-stop::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:8500;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 42%, rgba(246,243,238,.08), transparent 30%),
    linear-gradient(180deg,
      rgba(7,16,27,0) 0%,
      rgba(7,16,27,.72) 28%,
      rgba(3,6,10,.94) 68%,
      #000 100%);
  animation:masiBlueToBlack .95s cubic-bezier(.19,1,.22,1) both;
}
@keyframes masiBlueToBlack{
  from{ opacity:0; }
  to{ opacity:1; }
}
body.credits-final-stop main::after{
  content:none !important;
}
body.credits-active .page.credits-page{
  background:
    radial-gradient(circle at 50% 38%, rgba(246,243,238,.06), transparent 33%),
    linear-gradient(180deg, #07101b 0%, #03070c 22%, #000 62%, #000 100%) !important;
}

/* Force credits to roll upward */
.page.credits-page .page-content{
  overflow:hidden !important;
  mask-image:linear-gradient(to bottom, transparent 0%, black 13%, black 84%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 13%, black 84%, transparent 100%) !important;
}
.page.credits-page .credits-roll{
  position:relative !important;
  width:min(620px, 76vw) !important;
  margin:0 auto !important;
  padding-top:0 !important;
  padding-bottom:45vh !important;
  animation:masiEndCreditsRoll 78s linear infinite !important;
  animation-play-state:running !important;
  will-change:transform !important;
  transform:translate3d(0,100vh,0);
}
.page.credits-page .credits-roll:hover{
  animation-play-state:running !important;
}
@keyframes masiEndCreditsRoll{
  0%{ transform:translate3d(0,100vh,0); }
  100%{ transform:translate3d(0,-115%,0); }
}

/* Arrow-only credits controls */
.credits-cinematic-controls{
  right:clamp(18px,4vw,54px) !important;
  bottom:clamp(18px,4vh,42px) !important;
  gap:14px !important;
}
.credits-arrow-btn{
  width:clamp(52px,5vw,72px) !important;
  height:clamp(52px,5vw,72px) !important;
  min-height:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  font-size:clamp(1.7rem,3.2vw,2.7rem) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:rgba(246,243,238,.82) !important;
  border:1px solid rgba(246,243,238,.32) !important;
  background:rgba(0,0,0,.26) !important;
}
.credits-arrow-btn span:not(:first-child){
  display:none !important;
}
.credits-arrow-btn:hover,
.credits-arrow-btn:focus-visible{
  color:#fff !important;
  border-color:rgba(246,243,238,.68) !important;
  background:rgba(246,243,238,.08) !important;
  transform:translateY(-3px) !important;
}

@media(max-width:900px){
  .episode-hover-ghost{ display:none !important; }
  .close-drawer{
    width:54px !important;
    height:54px !important;
    font-size:2rem !important;
  }
}


/* ===== FINAL FIX: end credits without right-side circles + reliable roll ===== */

/* Hide every possible credits control/circle on the right */
.credits-controls,
.credits-cinematic-controls,
.credits-arrow-btn,
[data-credits-return],
[data-credits-menu]{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  visibility:hidden !important;
}

/* Keep the credits page as a fixed black cinema screen */
body.credits-active .page.credits-page{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  overflow:hidden !important;
  z-index:8600 !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(246,243,238,.055), transparent 34%),
    linear-gradient(180deg, #07101b 0%, #020408 24%, #000 62%, #000 100%) !important;
}

/* Make sure the content area does not freeze the animation */
body.credits-active .page.credits-page .page-content{
  position:absolute !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  overflow:hidden !important;
  opacity:1 !important;
  transform:none !important;
  mask-image:linear-gradient(to bottom, transparent 0%, black 12%, black 86%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 12%, black 86%, transparent 100%) !important;
}

/* Force all credits text to roll upward */
body.credits-active .page.credits-page .credits-roll{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:min(620px, 76vw) !important;
  margin:0 !important;
  padding-top:100vh !important;
  padding-bottom:60vh !important;
  text-align:center !important;
  transform:translate3d(-50%,0,0) !important;
  animation:masiCreditsReallyRoll 82s linear infinite !important;
  animation-play-state:running !important;
  will-change:transform !important;
}

/* Do not pause on hover */
body.credits-active .page.credits-page .credits-roll:hover{
  animation-play-state:running !important;
}

@keyframes masiCreditsReallyRoll{
  0%{
    transform:translate3d(-50%, 0, 0);
  }
  100%{
    transform:translate3d(-50%, -125%, 0);
  }
}

/* Soft blue-to-black dive when entering credits */
body.credits-final-stop::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:8500 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(246,243,238,.08), transparent 30%),
    linear-gradient(180deg,
      rgba(7,16,27,0) 0%,
      rgba(7,16,27,.76) 28%,
      rgba(3,6,10,.95) 68%,
      #000 100%) !important;
  animation:masiCreditsDive .95s cubic-bezier(.19,1,.22,1) both !important;
}
@keyframes masiCreditsDive{
  from{ opacity:0; }
  to{ opacity:1; }
}
body.credits-final-stop main::after{
  content:none !important;
}


/* ===== Bilingual language switch ===== */
.language-switch{
  position:fixed;
  top:62px;
  right:clamp(22px,4vw,56px);
  z-index:4400;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(246,243,238,.14);
  border-radius:999px;
  background:rgba(5,6,9,.22);
  backdrop-filter:blur(10px);
  color:rgba(246,243,238,.56);
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .95s ease, border-color .35s ease, background .35s ease;
}
body.site-entered .language-switch{ opacity:1; }
.language-switch a{
  color:rgba(246,243,238,.52);
  transition:color .25s ease;
}
.language-switch a.active,
.language-switch a:hover{
  color:rgba(246,243,238,.98);
}
.language-switch span{
  color:rgba(246,243,238,.26);
}
body.credits-active .language-switch,
body.menu-open .language-switch{
  opacity:.18;
}
body.credits-active .language-switch:hover,
body.menu-open .language-switch:hover{
  opacity:1;
}
@media(max-width:900px){
  .language-switch{
    top:92px;
    right:14px;
    font-size:.58rem;
    padding:7px 9px;
  }
}


/* ===== FINAL V3 FIX: menu available during credits + true rolling credits ===== */

/* Menu trigger must remain usable over the end credits */
body.credits-active .side-trigger,
body.end-credits-active .side-trigger,
body.site-entered.credits-active .side-trigger,
body.site-entered.end-credits-active .side-trigger{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:12050 !important;
  color:rgba(246,243,238,.86) !important;
}
body.credits-active .side-trigger:hover,
body.end-credits-active .side-trigger:hover{
  color:#fff !important;
  transform:translateY(-50%) translateX(-8px) !important;
}

/* Keep drawer/backdrop above the credits screen */
body.credits-active .drawer,
body.end-credits-active .drawer,
body.credits-active .drawer-backdrop,
body.end-credits-active .drawer-backdrop{
  z-index:13000 !important;
}
body.credits-active.menu-open .drawer,
body.end-credits-active.menu-open .drawer{
  transform:translateX(0) !important;
  pointer-events:auto !important;
}
body.credits-active.menu-open .drawer-backdrop,
body.end-credits-active.menu-open .drawer-backdrop{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Credits page: neutralize previous animation conflicts */
body.credits-active .page.credits-page .credits-roll,
body.end-credits-active .credits-roll,
#section-credits .credits-roll{
  animation:none !important;
  animation-play-state:running !important;
  will-change:transform !important;
}

/* Make credits content full-screen and unclipped in a predictable way */
body.credits-active .page.credits-page,
body.end-credits-active #section-credits{
  overflow:hidden !important;
}
body.credits-active .page.credits-page .page-content,
#section-credits .page-content,
#section-credits .script-section-inner{
  overflow:hidden !important;
}

/* Hide old two circular buttons if any remain */
.credits-controls,
.credits-cinematic-controls,
.credits-arrow-btn,
[data-credits-return],
[data-credits-menu]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* If the credits are inside vertical sections, make that section a cinema screen */
body.vertical-script-mode #section-credits{
  min-height:100vh !important;
  height:100vh !important;
  background:#000 !important;
  overflow:hidden !important;
}


/* ===== FINAL CREDIT SYSTEM: independent cinematic roll ===== */
#masiCreditsOverlay{
  position:fixed;
  inset:0;
  z-index:9000;
  background:
    radial-gradient(circle at 50% 42%, rgba(246,243,238,.055), transparent 34%),
    linear-gradient(180deg, #07101b 0%, #020408 22%, #000 58%, #000 100%);
  color:var(--white);
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity .75s cubic-bezier(.22,1,.36,1);
}
#masiCreditsOverlay.live{
  opacity:1;
}
#masiCreditsOverlay::before,
#masiCreditsOverlay::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:22vh;
  z-index:2;
  pointer-events:none;
}
#masiCreditsOverlay::before{
  top:0;
  background:linear-gradient(to bottom,#000,rgba(0,0,0,0));
}
#masiCreditsOverlay::after{
  bottom:0;
  background:linear-gradient(to top,#000,rgba(0,0,0,0));
}
.masi-credits-label{
  position:fixed;
  top:clamp(22px,4vw,54px);
  left:clamp(22px,4vw,58px);
  z-index:9003;
  font-family:var(--mono);
  font-size:clamp(.62rem,.82vw,.82rem);
  letter-spacing:.3em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(246,243,238,.75);
  padding-bottom:8px;
  color:rgba(246,243,238,.86);
}
.masi-credits-track{
  position:absolute;
  left:50%;
  top:100vh;
  width:min(620px,76vw);
  text-align:center;
  transform:translate3d(-50%,0,0);
  will-change:transform;
  animation:masiIndependentCreditsRoll 72s linear infinite;
}
#masiCreditsOverlay .credit-block{
  margin-bottom:clamp(22px,4vh,46px);
}
#masiCreditsOverlay .credit-role{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:clamp(.44rem,.56vw,.6rem);
  color:rgba(246,243,238,.48);
  margin-bottom:7px;
}
#masiCreditsOverlay .credit-name{
  font-family:var(--title);
  text-transform:uppercase;
  font-weight:300;
  font-size:clamp(1.05rem,2.1vw,2.55rem);
  line-height:1.12;
  letter-spacing:.035em;
  color:rgba(246,243,238,.96);
}
#masiCreditsOverlay .credit-text{
  font-size:clamp(.58rem,.76vw,.78rem);
  line-height:1.86;
  max-width:480px;
  margin:0 auto;
  color:rgba(246,243,238,.72);
}
@keyframes masiIndependentCreditsRoll{
  from{ transform:translate3d(-50%,0,0); }
  to{ transform:translate3d(-50%,-145%,0); }
}

/* Hide the old in-page credit roll only when overlay is live */
body.masi-independent-credits-live .page.credits-page .credits-roll,
body.masi-independent-credits-live #section-credits .credits-roll{
  opacity:0 !important;
}

/* Menu must remain visible and usable above the credit overlay */
body.masi-independent-credits-live .side-trigger,
body.credits-active .side-trigger,
body.end-credits-active .side-trigger{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:9500 !important;
}
body.masi-independent-credits-live .drawer,
body.masi-independent-credits-live .drawer-backdrop,
body.credits-active .drawer,
body.credits-active .drawer-backdrop,
body.end-credits-active .drawer,
body.end-credits-active .drawer-backdrop{
  z-index:10000 !important;
}


/* ===== Final content polish: no top-right Instagram button ===== */
.site-instagram{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* ===== Mobile carousel refinement ===== */
@media (max-width: 768px){
  .episode-carousel,
  .carousel-track,
  .programme-carousel,
  .latest-conversations-carousel{
    transform: scale(0.95);
    transform-origin: center top;
  }

  .programme-portrait,
  .programme-portrait img{
    width: 110% !important;
    height: 110% !important;
    object-fit: cover;
  }

  .programme-row{
    padding: 0.9rem !important;
  }

  .episode-carousel .programme-row,
  .carousel-track .programme-row{
    margin-bottom: 0.35rem;
  }
}


/* ===== Mobile carousel refinement v2: phone-first cinema programme ===== */
@media (max-width: 768px){

  /* Keep the carousel compact without shrinking the portrait too much */
  .episode-carousel{
    height: 142px !important;
    padding-top: 12px !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .episode-marquee{
    bottom: 12px !important;
  }

  .episode-marquee-track{
    gap: 10px !important;
  }

  .episode-carousel-head{
    font-size: .52rem !important;
    letter-spacing: .18em !important;
    opacity: .62 !important;
    margin-bottom: 8px !important;
  }

  /* The moving cards become slimmer but more legible */
  .episode-ticker-item{
    min-width: min(82vw, 360px) !important;
    grid-template-columns: 58px 86px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    min-height: 104px !important;
    border-radius: 16px !important;
  }

  /* Bigger, more cinematic portrait without making the whole card huge */
  .ticker-photo{
    width: 78px !important;
    height: 96px !important;
    flex-basis: 78px !important;
    border-radius: 12px !important;
    background-size: cover !important;
    background-position: center 36% !important;
    opacity: .96 !important;
  }

  .ticker-number{
    font-size: 1.28rem !important;
    line-height: .9 !important;
    letter-spacing: -.03em !important;
  }

  .ticker-kicker,
  .ticker-meta{
    font-size: .46rem !important;
    letter-spacing: .14em !important;
    line-height: 1.25 !important;
  }

  .ticker-title{
    font-size: 1rem !important;
    line-height: .95 !important;
    letter-spacing: -.02em !important;
    margin-bottom: 4px !important;
  }

  .ticker-copy{
    font-size: .58rem !important;
    line-height: 1.35 !important;
    max-width: 150px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Season programme list inside the page */
  .programme-row{
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px 0 !important;
    align-items: start !important;
  }

  .programme-portrait{
    width: 96px !important;
    height: 124px !important;
    grid-row: span 3 !important;
    overflow: hidden !important;
  }

  .programme-portrait img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1.1) !important;
    transform-origin: center 36% !important;
  }

  .programme-number{
    font-size: .58rem !important;
    letter-spacing: .14em !important;
  }

  .programme-row h3{
    font-size: clamp(1.55rem, 8vw, 2.25rem) !important;
    line-height: .92 !important;
    margin-bottom: 8px !important;
  }

  .programme-row p{
    font-size: .82rem !important;
    line-height: 1.48 !important;
  }

  .episode-meta{
    font-size: .58rem !important;
    letter-spacing: .12em !important;
    margin-top: 8px !important;
  }

  .programme-status{
    font-size: .55rem !important;
    letter-spacing: .14em !important;
  }

  .programme-row > div:last-child{
    grid-column: 2 !important;
    margin-top: 4px !important;
  }

  .programme-row .buttons{
    gap: 8px !important;
  }

  .programme-row .btn{
    min-height: 40px !important;
    padding: 10px 14px !important;
    font-size: .58rem !important;
    letter-spacing: .08em !important;
  }
}

/* Extra small phones */
@media (max-width: 390px){
  .episode-carousel{
    height: 132px !important;
  }

  .episode-ticker-item{
    min-width: 86vw !important;
    grid-template-columns: 48px 76px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 9px 10px !important;
  }

  .ticker-photo{
    width: 70px !important;
    height: 88px !important;
  }

  .ticker-title{
    font-size: .92rem !important;
  }

  .ticker-copy{
    font-size: .54rem !important;
    max-width: 130px !important;
  }

  .programme-row{
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }

  .programme-portrait{
    width: 84px !important;
    height: 112px !important;
  }
}


/* ===== Visitor-local screenplay head ===== */
.place-time-head{
  line-height:1.65 !important;
  white-space:normal !important;
}
.place-time-head strong{
  display:inline-block;
  font-weight:700;
  color:rgba(17,21,28,.88);
  letter-spacing:.14em;
}
.place-time-head span{
  color:rgba(17,21,28,.62);
}


/* FINAL iphone credits fix */
#masiCreditsOverlay{
  position:fixed !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.masi-credits-track{
  animation:masiIndependentCreditsRoll 72s linear infinite !important;
  -webkit-animation:masiIndependentCreditsRoll 72s linear infinite !important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform;
}
@supports (-webkit-touch-callout:none){
  .masi-credits-track{
    animation-duration:60s !important;
  }
}

/* menu layout preserved during credits */
body.masi-independent-credits-live .drawer-links,
body.credits-active .drawer-links,
body.end-credits-active .drawer-links{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  align-items:flex-start !important;
}
body.masi-independent-credits-live .drawer-link,
body.credits-active .drawer-link,
body.end-credits-active .drawer-link{
  display:block !important;
  width:100% !important;
  line-height:1.15 !important;
  white-space:normal !important;
  position:relative !important;
  transform:none !important;
  writing-mode:horizontal-tb !important;
}

/* only one location block visible */
.place-time-head{
  margin-bottom:20px !important;
}

.correspondence-closed{text-align:center;max-width:760px;margin:0 auto}
.closed-status{margin:24px auto;padding:20px;border:1px solid rgba(255,255,255,.15);max-width:320px}
.closed-status span{display:block;letter-spacing:.2em;font-size:.7rem;opacity:.6}
.closed-status strong{display:block;margin-top:8px;font-size:1.2rem}
.correspondence-closed .btn[disabled]{opacity:1;cursor:default}


/* ===== FINAL FIX: screenplay scene head visible immediately at top ===== */
.scene-line,
#sceneLine{
  display:block !important;
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999999 !important;
  width:100% !important;
  min-height:0 !important;
  padding:12px clamp(14px, 4vw, 46px) 11px !important;
  margin:0 !important;
  border-bottom:1px solid rgba(20,24,32,.22) !important;
  background:rgba(242,235,221,.97) !important;
  color:#11151c !important;
  font-family:"Courier Prime","Courier New",monospace !important;
  font-size:clamp(.72rem, 1.45vw, .95rem) !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  box-shadow:0 8px 22px rgba(0,0,0,.18) !important;
}
.writer-cursor::after{content:none !important;display:none !important;}
.stage{padding-top:clamp(92px, 12vh, 132px) !important;}
.brand,.language-switch{top:58px !important;}
@media (max-width:900px){
  .scene-line,#sceneLine{
    padding:10px 12px 9px !important;
    font-size:.68rem !important;
    line-height:1.35 !important;
  }
  .stage{padding-top:96px !important;}
  .brand,.language-switch{top:54px !important;}
}

/* ==========================================================
   THE MASI ROOM — desktop left carousel correction
   Keeps mobile bottom carousel. Removes boxed portraits.
   ========================================================== */
@media (min-width: 901px) {
  body.vertical-script-mode {
    padding-bottom: 0 !important;
  }

  body.vertical-script-mode .stage {
    padding-left: clamp(250px, 22vw, 330px) !important;
    padding-right: clamp(150px, 13vw, 220px) !important;
    padding-top: 110px !important;
    padding-bottom: 90px !important;
    place-items: start center !important;
  }

  body.vertical-script-mode .page-stack {
    width: min(900px, calc(100vw - clamp(250px, 22vw, 330px) - clamp(150px, 13vw, 220px))) !important;
    max-width: 900px !important;
    margin: 0 auto !important;
  }

  body.vertical-script-mode .script-scroll {
    width: 100% !important;
    display: grid !important;
    gap: clamp(74px, 14vh, 142px) !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  body.vertical-script-mode .script-section,
  body.vertical-script-mode .script-section .page {
    width: 100% !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.vertical-script-mode .brand {
    font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
    letter-spacing: .18em !important;
    opacity: 1 !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger {
    opacity: 0 !important;
    transition-delay: 1.15s !important;
  }

  body.site-entered.vertical-script-mode .reading-index {
    opacity: .42 !important;
  }

  body.site-entered.vertical-script-mode .side-trigger {
    opacity: .78 !important;
  }

  body.vertical-script-mode .reading-index:hover,
  body.vertical-script-mode .reading-index:focus-visible {
    opacity: .9 !important;
  }

  body.vertical-script-mode .episode-carousel {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    right: auto !important;
    width: clamp(220px, 19vw, 285px) !important;
    height: 100vh !important;
    padding: clamp(26px, 4vh, 42px) clamp(16px, 1.7vw, 26px) clamp(28px, 5vh, 52px) clamp(24px, 2.7vw, 42px) !important;
    background:
      linear-gradient(90deg, rgba(3,5,8,.98), rgba(3,5,8,.88) 72%, rgba(3,5,8,0)) !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(246,243,238,.08) !important;
    box-shadow: 26px 0 86px rgba(0,0,0,.32) !important;
    backdrop-filter: blur(4px) !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.vertical-script-mode .episode-carousel-head {
    position: absolute !important;
    left: clamp(24px, 2.7vw, 42px) !important;
    right: clamp(16px, 1.7vw, 26px) !important;
    top: clamp(22px, 3.4vh, 34px) !important;
    z-index: 5 !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(246,243,238,.22) !important;
    padding-bottom: 14px !important;
    font-size: clamp(.6rem, .62vw, .72rem) !important;
    line-height: 1.45 !important;
    letter-spacing: .24em !important;
    color: rgba(246,243,238,.58) !important;
    white-space: normal !important;
  }

  body.vertical-script-mode .episode-carousel-room-title {
    position: absolute !important;
    left: clamp(24px, 2.7vw, 42px) !important;
    right: clamp(16px, 1.7vw, 26px) !important;
    top: clamp(72px, 9.5vh, 102px) !important;
    z-index: 5 !important;
    font-family: var(--title) !important;
    text-transform: uppercase !important;
    font-size: clamp(2.35rem, 3.8vw, 4.9rem) !important;
    line-height: .86 !important;
    font-weight: 300 !important;
    letter-spacing: .02em !important;
    color: rgba(246,243,238,.86) !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .episode-marquee {
    position: absolute !important;
    inset: clamp(152px, 20vh, 220px) 0 0 0 !important;
    overflow: hidden !important;
  }

  body.vertical-script-mode .episode-marquee-track {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: clamp(18px, 3.5vh, 38px) !important;
    padding-left: 0 !important;
    padding-top: 100vh !important;
    animation: episodeMarqueeLeftClean 28s linear infinite !important;
  }

  body.vertical-script-mode .episode-carousel:hover .episode-marquee-track {
    animation-play-state: paused !important;
  }

  body.vertical-script-mode .episode-ticker-item {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(170px, 24vh, 260px) !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    text-align: left !important;
  }

  body.vertical-script-mode .episode-ticker-item:hover,
  body.vertical-script-mode .episode-ticker-item:focus-visible {
    transform: translateX(6px) !important;
    background: transparent !important;
  }

  body.vertical-script-mode .ticker-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-size: cover !important;
    background-position: center 28% !important;
    opacity: .42 !important;
    filter: grayscale(1) contrast(1.06) brightness(.56) !important;
    transform: none !important;
    mask-image: linear-gradient(90deg, transparent 0%, black 16%, black 82%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 16%, black 82%, transparent 100%);
  }

  body.vertical-script-mode .ticker-photo.empty {
    background:
      radial-gradient(circle at 46% 34%, rgba(246,243,238,.12), transparent 34%),
      linear-gradient(135deg, rgba(246,243,238,.035), transparent) !important;
  }

  body.vertical-script-mode .ticker-copy {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    min-height: clamp(170px, 24vh, 260px) !important;
    padding: 0 0 clamp(10px, 1.9vh, 18px) 0 !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-title,
  body.vertical-script-mode .ticker-meta {
    writing-mode: horizontal-tb !important;
    transform: none !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta {
    font-family: var(--mono) !important;
    text-transform: uppercase !important;
    font-size: clamp(.54rem, .55vw, .64rem) !important;
    line-height: 1.35 !important;
    letter-spacing: .18em !important;
    color: rgba(246,243,238,.62) !important;
  }

  body.vertical-script-mode .ticker-title {
    max-width: 8.5ch !important;
    margin: 5px 0 7px !important;
    font-family: var(--title) !important;
    text-transform: uppercase !important;
    font-size: clamp(3rem, 5vw, 5.6rem) !important;
    line-height: .78 !important;
    font-weight: 300 !important;
    letter-spacing: -.052em !important;
    color: rgba(246,243,238,.96) !important;
    text-shadow: 0 10px 34px rgba(0,0,0,.72) !important;
  }

  body.vertical-script-mode .episode-carousel::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: auto !important;
    width: auto !important;
    height: clamp(140px, 22vh, 220px) !important;
    z-index: 4 !important;
    background: linear-gradient(180deg, #030508 0%, rgba(3,5,8,.95) 62%, rgba(3,5,8,0) 100%) !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .episode-carousel::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    height: 16vh !important;
    z-index: 4 !important;
    background: linear-gradient(0deg, #030508 0%, rgba(3,5,8,0) 100%) !important;
    pointer-events: none !important;
  }
}

@keyframes episodeMarqueeLeftClean {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}

@media (max-width: 900px) {
  .episode-carousel-room-title { display: none !important; }
}

/* ==========================================================
   THE MASI ROOM — proper desktop left carousel fix
   - left rail stays secondary and does not squeeze the page/menu
   - guest portrait first, information underneath, no card boxes
   - top logo area masks/fades the moving content as it reaches it
   - right reading menu appears after logo + carousel + page content
   - mobile keeps the original bottom carousel behavior
   ========================================================== */
@media (min-width: 901px) {
  body.vertical-script-mode {
    --masi-left-rail: clamp(250px, 17.5vw, 318px);
    --masi-right-menu: clamp(132px, 10.5vw, 190px);
    --masi-rail-pad-left: clamp(28px, 2.7vw, 48px);
    --masi-rail-pad-right: clamp(18px, 1.8vw, 30px);
  }

  body.vertical-script-mode .stage {
    padding-left: calc(var(--masi-left-rail) + clamp(28px, 3.1vw, 58px)) !important;
    padding-right: calc(var(--masi-right-menu) + clamp(28px, 3.1vw, 58px)) !important;
    padding-top: clamp(100px, 12vh, 132px) !important;
    padding-bottom: 96px !important;
    place-items: start center !important;
  }

  body.vertical-script-mode .page-stack {
    width: min(940px, calc(100vw - var(--masi-left-rail) - var(--masi-right-menu) - 112px)) !important;
    max-width: 940px !important;
    margin: 0 auto !important;
  }

  body.vertical-script-mode .script-section,
  body.vertical-script-mode .script-section .page {
    width: 100% !important;
    max-width: 940px !important;
  }

  body.vertical-script-mode .episode-carousel {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: var(--masi-left-rail) !important;
    height: 100vh !important;
    padding: clamp(28px, 3.4vh, 44px) var(--masi-rail-pad-right) clamp(30px, 4vh, 54px) var(--masi-rail-pad-left) !important;
    border: 0 !important;
    border-right: 1px solid rgba(246,243,238,.075) !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(3,5,8,.99) 0%, rgba(3,5,8,.94) 72%, rgba(3,5,8,0) 100%) !important;
    box-shadow: 22px 0 70px rgba(0,0,0,.26) !important;
    overflow: hidden !important;
    backdrop-filter: none !important;
    opacity: 0 !important;
    transform: translateX(-12px) !important;
    transition: opacity 1s cubic-bezier(.22,1,.36,1) .28s, transform 1s cubic-bezier(.22,1,.36,1) .28s !important;
  }

  body.site-entered.vertical-script-mode .episode-carousel {
    opacity: 1 !important;
    transform: translateX(0) !important;
    animation: none !important;
  }

  body.vertical-script-mode .episode-carousel-head {
    position: absolute !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    top: clamp(28px, 3.5vh, 42px) !important;
    z-index: 8 !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid rgba(246,243,238,.22) !important;
    font-family: var(--mono) !important;
    text-transform: uppercase !important;
    letter-spacing: .24em !important;
    font-size: clamp(.56rem, .52vw, .68rem) !important;
    line-height: 1.55 !important;
    color: rgba(246,243,238,.6) !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
    white-space: normal !important;
    text-align: left !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .episode-carousel-room-title {
    position: absolute !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    top: clamp(84px, 9.8vh, 112px) !important;
    z-index: 8 !important;
    display: block !important;
    font-family: var(--title) !important;
    text-transform: uppercase !important;
    font-weight: 300 !important;
    font-size: clamp(3.25rem, 4.15vw, 5.35rem) !important;
    line-height: .86 !important;
    letter-spacing: .02em !important;
    color: rgba(246,243,238,.88) !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .episode-marquee {
    position: absolute !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    top: clamp(245px, 29vh, 330px) !important;
    bottom: 0 !important;
    overflow: hidden !important;
    z-index: 3 !important;
  }

  body.vertical-script-mode .episode-marquee-track {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: clamp(34px, 5.6vh, 62px) !important;
    padding-left: 0 !important;
    padding-top: 78vh !important;
    animation: episodeMarqueeLeftProper 22s linear infinite !important;
    will-change: transform !important;
  }

  body.vertical-script-mode .episode-carousel:hover .episode-marquee-track {
    animation-play-state: paused !important;
  }

  body.vertical-script-mode .episode-ticker-item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    text-align: left !important;
  }

  body.vertical-script-mode .episode-ticker-item:hover,
  body.vertical-script-mode .episode-ticker-item:focus-visible {
    transform: translateX(5px) !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.vertical-script-mode .ticker-photo {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: clamp(86px, 14vh, 138px) !important;
    inset: auto !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-size: cover !important;
    background-position: center 24% !important;
    opacity: .58 !important;
    filter: grayscale(1) contrast(1.06) brightness(.64) !important;
    box-shadow: none !important;
    overflow: visible !important;
    mask-image: linear-gradient(90deg, transparent 0%, black 14%, black 86%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 14%, black 86%, transparent 100%);
  }

  body.vertical-script-mode .ticker-photo.empty {
    height: 28px !important;
    margin-bottom: 8px !important;
    opacity: .28 !important;
    background: linear-gradient(90deg, rgba(246,243,238,.08), rgba(246,243,238,0)) !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  body.vertical-script-mode .ticker-copy {
    position: relative !important;
    z-index: 2 !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 7px !important;
    align-items: start !important;
    justify-content: start !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-title,
  body.vertical-script-mode .ticker-meta {
    display: block !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta {
    font-family: var(--mono) !important;
    text-transform: uppercase !important;
    font-size: clamp(.52rem, .5vw, .62rem) !important;
    line-height: 1.3 !important;
    letter-spacing: .18em !important;
    color: rgba(246,243,238,.58) !important;
  }

  body.vertical-script-mode .ticker-title {
    max-width: 100% !important;
    margin: 0 !important;
    font-family: var(--title) !important;
    text-transform: uppercase !important;
    font-weight: 300 !important;
    font-size: clamp(2.15rem, 2.95vw, 4.05rem) !important;
    line-height: .86 !important;
    letter-spacing: -.035em !important;
    color: rgba(246,243,238,.95) !important;
    text-shadow: 0 8px 28px rgba(0,0,0,.78) !important;
    overflow-wrap: anywhere !important;
  }

  body.vertical-script-mode .episode-carousel::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: auto !important;
    width: auto !important;
    height: clamp(230px, 30vh, 335px) !important;
    z-index: 6 !important;
    background: linear-gradient(180deg, #030508 0%, rgba(3,5,8,.99) 64%, rgba(3,5,8,.82) 82%, rgba(3,5,8,0) 100%) !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .episode-carousel::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    height: 18vh !important;
    z-index: 6 !important;
    background: linear-gradient(0deg, #030508 0%, rgba(3,5,8,0) 100%) !important;
    pointer-events: none !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger {
    opacity: 0 !important;
    transition: opacity .9s cubic-bezier(.22,1,.36,1) 1.85s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index {
    opacity: .52 !important;
  }

  body.site-entered.vertical-script-mode .side-trigger {
    opacity: .76 !important;
  }
}

@keyframes episodeMarqueeLeftProper {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}

@media (max-width: 900px) {
  .episode-carousel-room-title { display: none !important; }
}

/* ==========================================================
   THE MASI ROOM — final left rail correction
   Requested: logo higher, label below logo, guest photo uncropped,
   info written underneath the photo, no square/card treatment.
   ========================================================== */
@media (min-width: 901px) {
  body.vertical-script-mode {
    --masi-left-rail: clamp(245px, 16.5vw, 300px);
    --masi-rail-pad-left: clamp(28px, 2.5vw, 42px);
    --masi-rail-pad-right: clamp(18px, 1.55vw, 28px);
  }

  body.vertical-script-mode .stage {
    padding-left: calc(var(--masi-left-rail) + clamp(34px, 3.5vw, 68px)) !important;
  }

  body.vertical-script-mode .episode-carousel-room-title {
    top: clamp(24px, 3.4vh, 38px) !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    font-size: clamp(3.35rem, 4vw, 5.05rem) !important;
    line-height: .86 !important;
    letter-spacing: .015em !important;
    z-index: 10 !important;
  }

  body.vertical-script-mode .episode-carousel-head {
    top: clamp(178px, 20vh, 218px) !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid rgba(246,243,238,.2) !important;
    font-size: clamp(.55rem, .49vw, .64rem) !important;
    line-height: 1.55 !important;
    letter-spacing: .22em !important;
    z-index: 10 !important;
  }

  body.vertical-script-mode .episode-marquee {
    top: clamp(270px, 31vh, 350px) !important;
  }

  body.vertical-script-mode .episode-marquee-track {
    gap: clamp(38px, 5.2vh, 58px) !important;
    animation-duration: 20s !important;
  }

  body.vertical-script-mode .episode-ticker-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.vertical-script-mode .ticker-photo {
    width: 100% !important;
    height: clamp(104px, 14.5vh, 150px) !important;
    margin: 0 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    opacity: .68 !important;
    filter: grayscale(1) contrast(1.05) brightness(.72) !important;
    mask-image: linear-gradient(90deg, transparent 0%, black 12%, black 88%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 12%, black 88%, transparent 100%) !important;
  }

  body.vertical-script-mode .ticker-photo.empty {
    height: 18px !important;
    opacity: .16 !important;
  }

  body.vertical-script-mode .ticker-copy {
    display: grid !important;
    gap: 6px !important;
    padding: 0 !important;
  }

  body.vertical-script-mode .ticker-title {
    font-size: clamp(1.95rem, 2.45vw, 3.25rem) !important;
    line-height: .88 !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta {
    font-size: clamp(.5rem, .48vw, .6rem) !important;
    letter-spacing: .17em !important;
  }

  body.vertical-script-mode .episode-carousel::before {
    height: clamp(250px, 31vh, 348px) !important;
    background: linear-gradient(180deg, #030508 0%, rgba(3,5,8,1) 72%, rgba(3,5,8,.76) 88%, rgba(3,5,8,0) 100%) !important;
  }
}

/* ==========================================================
   THE MASI ROOM — final requested sequence + larger portrait
   Changes only:
   1) logo appears first
   2) carousel begins, script page follows
   3) right reading menu / FADE IN appears last
   4) guest portrait larger, centered, uncropped; text centered below
   ========================================================== */
@media (min-width: 901px) {
  body.vertical-script-mode .episode-carousel {
    opacity: 1 !important;
    transform: translateX(0) !important;
    transition: none !important;
  }

  body.vertical-script-mode .episode-carousel-room-title {
    opacity: 0;
    transform: translateY(8px);
    animation: masiLogoFirst .9s cubic-bezier(.22,1,.36,1) .12s forwards;
  }

  body.vertical-script-mode .episode-carousel-head,
  body.vertical-script-mode .episode-marquee {
    opacity: 0;
    transform: translateY(10px);
    animation: masiCarouselSecond .95s cubic-bezier(.22,1,.36,1) .82s forwards;
  }

  body.vertical-script-mode .episode-marquee-track {
    animation-delay: .95s !important;
  }

  body.vertical-script-mode .stage,
  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack {
    opacity: 0;
    transform: translateY(12px);
    animation: masiScriptThird 1.05s cubic-bezier(.22,1,.36,1) 1.18s forwards;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger {
    opacity: 0 !important;
    transition: opacity .9s cubic-bezier(.22,1,.36,1) 2.55s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index {
    opacity: .52 !important;
  }

  body.site-entered.vertical-script-mode .side-trigger {
    opacity: .76 !important;
  }

  body.vertical-script-mode .ticker-photo {
    width: min(94%, 228px) !important;
    height: clamp(178px, 23vh, 268px) !important;
    margin: 0 auto 18px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    opacity: .82 !important;
    filter: grayscale(1) contrast(1.05) brightness(.82) !important;
    mask-image: linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%) !important;
  }

  body.vertical-script-mode .ticker-photo.empty {
    width: min(88%, 205px) !important;
    height: 30px !important;
    margin: 0 auto 14px !important;
  }

  body.vertical-script-mode .episode-ticker-item,
  body.vertical-script-mode .ticker-copy,
  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-title,
  body.vertical-script-mode .ticker-meta {
    text-align: center !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
  }

  body.vertical-script-mode .ticker-title {
    font-size: clamp(2.1rem, 2.58vw, 3.45rem) !important;
    line-height: .9 !important;
  }
}

@keyframes masiLogoFirst {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes masiCarouselSecond {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes masiScriptThird {
  to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================
   THE MASI ROOM — soft rail / progressive fade final tweak
   Requested changes:
   - move NOW SHOWING / SEASON ONE lower so it does not touch the logo
   - make the left rail feel softer, less separated from the room
   - make carousel items fade progressively as they approach the logo
   - keep the portrait large, centered, uncropped; text centered underneath
   - keep the entrance order: logo, carousel + script, then FADE IN menu
   ========================================================== */
@media (min-width: 901px) {
  body.vertical-script-mode {
    --masi-left-rail: clamp(238px, 16vw, 292px) !important;
    --masi-rail-pad-left: clamp(24px, 2.25vw, 38px) !important;
    --masi-rail-pad-right: clamp(14px, 1.35vw, 22px) !important;
  }

  body.vertical-script-mode .stage {
    padding-left: calc(var(--masi-left-rail) + clamp(22px, 2.6vw, 48px)) !important;
  }

  body.vertical-script-mode .episode-carousel {
    width: var(--masi-left-rail) !important;
    padding-left: var(--masi-rail-pad-left) !important;
    padding-right: var(--masi-rail-pad-right) !important;
    border-right: 1px solid rgba(246,243,238,.035) !important;
    background:
      radial-gradient(circle at 18% 28%, rgba(246,243,238,.035), transparent 34%),
      linear-gradient(90deg, rgba(3,5,8,.985) 0%, rgba(3,5,8,.9) 66%, rgba(3,5,8,.28) 90%, rgba(3,5,8,0) 100%) !important;
    box-shadow: 14px 0 46px rgba(0,0,0,.18) !important;
  }

  body.vertical-script-mode .episode-carousel-room-title {
    top: clamp(18px, 2.5vh, 30px) !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
  }

  body.vertical-script-mode .episode-carousel-head {
    top: clamp(226px, 28vh, 276px) !important;
    left: var(--masi-rail-pad-left) !important;
    right: var(--masi-rail-pad-right) !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(246,243,238,.14) !important;
    color: rgba(246,243,238,.56) !important;
  }

  body.vertical-script-mode .episode-marquee {
    top: clamp(318px, 39vh, 382px) !important;
    overflow: hidden !important;
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.18) 7%,
      rgba(0,0,0,.68) 17%,
      black 30%,
      black 86%,
      rgba(0,0,0,.42) 95%,
      transparent 100%
    ) !important;
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.18) 7%,
      rgba(0,0,0,.68) 17%,
      black 30%,
      black 86%,
      rgba(0,0,0,.42) 95%,
      transparent 100%
    ) !important;
  }

  body.vertical-script-mode .episode-marquee-track {
    gap: clamp(42px, 5.6vh, 64px) !important;
    animation-duration: 20s !important;
  }

  body.vertical-script-mode .episode-ticker-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
    min-height: clamp(280px, 38vh, 392px) !important;
    gap: 12px !important;
  }

  body.vertical-script-mode .ticker-photo {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: min(100%, 250px) !important;
    height: clamp(215px, 29vh, 310px) !important;
    margin: 0 auto 18px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    opacity: .86 !important;
    filter: grayscale(1) contrast(1.06) brightness(.84) !important;
    mask-image: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%) !important;
  }

  body.vertical-script-mode .ticker-photo.empty {
    width: min(92%, 218px) !important;
    height: 30px !important;
    margin: 0 auto 16px !important;
    opacity: .16 !important;
  }

  body.vertical-script-mode .ticker-copy {
    width: 100% !important;
    display: grid !important;
    justify-items: center !important;
    align-items: start !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 7px !important;
    padding: 0 !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-title,
  body.vertical-script-mode .ticker-meta {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.vertical-script-mode .ticker-title {
    max-width: 9.5ch !important;
    font-size: clamp(2.25rem, 2.9vw, 3.8rem) !important;
    line-height: .88 !important;
  }

  body.vertical-script-mode .episode-carousel::before {
    height: clamp(288px, 36vh, 356px) !important;
    z-index: 7 !important;
    background: linear-gradient(
      180deg,
      #030508 0%,
      rgba(3,5,8,1) 56%,
      rgba(3,5,8,.82) 74%,
      rgba(3,5,8,.32) 91%,
      rgba(3,5,8,0) 100%
    ) !important;
  }

  body.vertical-script-mode .episode-carousel::after {
    background: linear-gradient(0deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,0) 100%) !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger {
    opacity: 0 !important;
    transition: opacity .9s cubic-bezier(.22,1,.36,1) 2.75s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index {
    opacity: .52 !important;
  }

  body.site-entered.vertical-script-mode .side-trigger {
    opacity: .76 !important;
  }
}

/* ==========================================================
   THE MASI ROOM — final timing + softer top fade adjustment
   Requested:
   - guest rises a bit more before disappearing behind the logo
   - carousel appears before the script pages
   ========================================================== */
@media (min-width: 901px) {
  /* Clearer entrance order: logo -> carousel -> script page -> right menu */
  body.vertical-script-mode .episode-carousel-room-title {
    animation: masiLogoFirst .85s cubic-bezier(.22,1,.36,1) .10s forwards !important;
  }

  body.vertical-script-mode .episode-carousel-head,
  body.vertical-script-mode .episode-marquee {
    animation: masiCarouselSecond .95s cubic-bezier(.22,1,.36,1) .68s forwards !important;
  }

  body.vertical-script-mode .episode-marquee-track {
    animation-delay: .78s !important;
  }

  body.vertical-script-mode .stage,
  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack {
    animation: masiScriptThird 1.05s cubic-bezier(.22,1,.36,1) 1.58s forwards !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger {
    transition: opacity .9s cubic-bezier(.22,1,.36,1) 3.05s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  /* Let the guest travel higher before fading, but still disappear progressively. */
  body.vertical-script-mode .episode-marquee {
    top: clamp(300px, 37vh, 362px) !important;
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.10) 3%,
      rgba(0,0,0,.45) 9%,
      rgba(0,0,0,.82) 16%,
      black 24%,
      black 88%,
      rgba(0,0,0,.45) 96%,
      transparent 100%
    ) !important;
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.10) 3%,
      rgba(0,0,0,.45) 9%,
      rgba(0,0,0,.82) 16%,
      black 24%,
      black 88%,
      rgba(0,0,0,.45) 96%,
      transparent 100%
    ) !important;
  }

  body.vertical-script-mode .episode-carousel::before {
    height: clamp(260px, 33vh, 330px) !important;
    background: linear-gradient(
      180deg,
      #030508 0%,
      rgba(3,5,8,1) 45%,
      rgba(3,5,8,.78) 68%,
      rgba(3,5,8,.28) 88%,
      rgba(3,5,8,0) 100%
    ) !important;
  }
}

/* ==========================================================
   THE MASI ROOM — mobile logo + carousel first / final order
   Requested:
   - Mobile keeps THE / MASI / ROOM in the upper-left corner.
   - Mobile guest carousel runs horizontally and disappears behind logo area.
   - Entrance order on all sizes: LOGO + CAROUSEL first, SCRIPT second, MENU last.
   - Desktop guests rise a little higher before the top fade.
   ========================================================== */

/* stacked logo works both desktop and mobile after JS update */
.episode-carousel-room-title span{
  display:block !important;
}

@media (min-width: 901px){
  body.vertical-script-mode .episode-carousel-room-title{
    top: clamp(14px, 2vh, 24px) !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    animation: masiLogoFirst .8s cubic-bezier(.22,1,.36,1) .05s forwards !important;
  }

  body.vertical-script-mode .episode-carousel-head{
    top: clamp(232px, 28.6vh, 286px) !important;
    opacity:0 !important;
    transform:translateY(10px) !important;
    animation: masiCarouselSecond .9s cubic-bezier(.22,1,.36,1) .42s forwards !important;
  }

  body.vertical-script-mode .episode-marquee{
    top: clamp(286px, 35.5vh, 346px) !important;
    opacity:0 !important;
    transform:translateY(10px) !important;
    animation: masiCarouselSecond .9s cubic-bezier(.22,1,.36,1) .42s forwards !important;
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.08) 2%,
      rgba(0,0,0,.38) 7%,
      rgba(0,0,0,.78) 13%,
      black 20%,
      black 89%,
      rgba(0,0,0,.45) 96%,
      transparent 100%
    ) !important;
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.08) 2%,
      rgba(0,0,0,.38) 7%,
      rgba(0,0,0,.78) 13%,
      black 20%,
      black 89%,
      rgba(0,0,0,.45) 96%,
      transparent 100%
    ) !important;
  }

  body.vertical-script-mode .episode-marquee-track{
    animation-delay:.15s !important;
  }

  body.vertical-script-mode .stage,
  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack{
    opacity:0 !important;
    transform:translateY(12px) !important;
    animation: masiScriptThird 1.05s cubic-bezier(.22,1,.36,1) 1.28s forwards !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger{
    opacity:0 !important;
    transition: opacity .9s cubic-bezier(.22,1,.36,1) 2.7s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index{ opacity:.52 !important; }
  body.site-entered.vertical-script-mode .side-trigger{ opacity:.76 !important; }

  body.vertical-script-mode .episode-carousel::before{
    height: clamp(246px, 31.5vh, 312px) !important;
    background: linear-gradient(
      180deg,
      #030508 0%,
      rgba(3,5,8,1) 41%,
      rgba(3,5,8,.75) 65%,
      rgba(3,5,8,.24) 88%,
      rgba(3,5,8,0) 100%
    ) !important;
  }
}

@media (max-width: 900px){
  body.vertical-script-mode{
    padding-top:0 !important;
  }

  body.vertical-script-mode .brand{
    display:none !important;
  }

  body.vertical-script-mode .episode-carousel{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100vw !important;
    height:clamp(142px, 24vh, 178px) !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg, rgba(3,5,8,.99) 0%, rgba(3,5,8,.95) 72%, rgba(3,5,8,0) 100%) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.26) !important;
    overflow:hidden !important;
    z-index:4100 !important;
    opacity:1 !important;
    transform:none !important;
  }

  body.vertical-script-mode .episode-carousel-room-title{
    display:block !important;
    position:absolute !important;
    top:clamp(12px, 3.2vw, 18px) !important;
    left:clamp(14px, 4.2vw, 22px) !important;
    width:4.25ch !important;
    z-index:12 !important;
    font-family:var(--title) !important;
    font-weight:300 !important;
    font-size:clamp(2.35rem, 12vw, 4.1rem) !important;
    line-height:.82 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
    color:rgba(246,243,238,.94) !important;
    opacity:0 !important;
    transform:translateY(6px) !important;
    animation:masiLogoFirst .75s cubic-bezier(.22,1,.36,1) .04s forwards !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-carousel-head{
    display:block !important;
    position:absolute !important;
    top:clamp(100px, 17.5vh, 126px) !important;
    left:clamp(14px, 4.2vw, 22px) !important;
    right:auto !important;
    width:clamp(94px, 28vw, 132px) !important;
    z-index:12 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    font-family:var(--mono) !important;
    font-size:clamp(.45rem, 1.7vw, .58rem) !important;
    line-height:1.35 !important;
    letter-spacing:.17em !important;
    text-transform:uppercase !important;
    color:rgba(246,243,238,.58) !important;
    text-align:left !important;
    opacity:0 !important;
    transform:translateY(6px) !important;
    animation:masiCarouselSecond .85s cubic-bezier(.22,1,.36,1) .28s forwards !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-marquee{
    position:absolute !important;
    top:clamp(28px, 5.5vh, 42px) !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    height:clamp(108px, 17vh, 134px) !important;
    z-index:4 !important;
    overflow:hidden !important;
    opacity:0 !important;
    transform:translateY(6px) !important;
    animation:masiCarouselSecond .85s cubic-bezier(.22,1,.36,1) .24s forwards !important;
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(104px, 30vw, 142px),
      rgba(0,0,0,.25) clamp(124px, 35vw, 164px),
      black clamp(158px, 45vw, 205px),
      black 88%,
      rgba(0,0,0,.55) 96%,
      transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(104px, 30vw, 142px),
      rgba(0,0,0,.25) clamp(124px, 35vw, 164px),
      black clamp(158px, 45vw, 205px),
      black 88%,
      rgba(0,0,0,.55) 96%,
      transparent 100%) !important;
  }

  body.vertical-script-mode .episode-marquee-track{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    width:max-content !important;
    gap:clamp(18px, 6vw, 32px) !important;
    padding-left:100vw !important;
    padding-top:0 !important;
    animation:episodeMarquee 20s linear infinite !important;
    animation-delay:.05s !important;
    will-change:transform !important;
  }

  body.vertical-script-mode .episode-ticker-item{
    min-width:clamp(154px, 44vw, 220px) !important;
    width:clamp(154px, 44vw, 220px) !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:6px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:rgba(246,243,238,.92) !important;
    text-align:center !important;
    overflow:visible !important;
  }

  body.vertical-script-mode .ticker-photo{
    display:block !important;
    position:relative !important;
    inset:auto !important;
    width:clamp(84px, 25vw, 116px) !important;
    height:clamp(62px, 12.5vh, 90px) !important;
    flex-basis:auto !important;
    margin:0 auto 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    opacity:.82 !important;
    filter:grayscale(1) contrast(1.05) brightness(.84) !important;
    mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%) !important;
  }

  body.vertical-script-mode .ticker-photo.empty{
    height:10px !important;
    opacity:.18 !important;
    background:linear-gradient(90deg, transparent, rgba(246,243,238,.24), transparent) !important;
  }

  body.vertical-script-mode .ticker-copy{
    display:grid !important;
    gap:3px !important;
    justify-items:center !important;
    text-align:center !important;
    max-width:100% !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta{
    font-family:var(--mono) !important;
    text-transform:uppercase !important;
    font-size:clamp(.42rem, 1.55vw, .54rem) !important;
    line-height:1.2 !important;
    letter-spacing:.14em !important;
    color:rgba(246,243,238,.58) !important;
    text-align:center !important;
    white-space:normal !important;
  }

  body.vertical-script-mode .ticker-title{
    font-family:var(--title) !important;
    text-transform:uppercase !important;
    font-weight:300 !important;
    font-size:clamp(1.15rem, 5.4vw, 1.85rem) !important;
    line-height:.88 !important;
    letter-spacing:-.025em !important;
    color:rgba(246,243,238,.93) !important;
    text-align:center !important;
    max-width:8.8ch !important;
    white-space:normal !important;
  }

  body.vertical-script-mode .stage,
  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack{
    opacity:0 !important;
    transform:translateY(14px) !important;
    animation:masiScriptThird 1s cubic-bezier(.22,1,.36,1) 1.25s forwards !important;
  }

  body.vertical-script-mode .stage{
    padding-top:clamp(176px, 30vh, 218px) !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger{
    opacity:0 !important;
    transition:opacity .85s cubic-bezier(.22,1,.36,1) 2.55s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index{ opacity:.52 !important; }
  body.site-entered.vertical-script-mode .side-trigger{ opacity:.76 !important; }

  body.vertical-script-mode .episode-carousel::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:clamp(128px, 38vw, 178px) !important;
    height:100% !important;
    z-index:10 !important;
    background:linear-gradient(90deg, #030508 0%, rgba(3,5,8,.98) 64%, rgba(3,5,8,.65) 82%, rgba(3,5,8,0) 100%) !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-carousel::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:34px !important;
    z-index:9 !important;
    background:linear-gradient(0deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,0) 100%) !important;
    pointer-events:none !important;
  }
}


/* ===== THE MASI ROOM emergency homepage visibility fix =====
   Keeps the room visible if an intro/load animation stalls.
   Does not remove the desktop left carousel/mobile top carousel design.
*/
body main,
body.lights-out main,
body.site-entered main{
  opacity:1 !important;
  visibility:visible !important;
}

.brand{
  opacity:1 !important;
  visibility:visible !important;
}

.stage,
.page-stack,
.page,
.script-scroll{
  opacity:1 !important;
  visibility:visible !important;
}

.page{
  display:block !important;
}

.episode-carousel{
  visibility:visible !important;
}

body.site-entered .episode-carousel,
body.vertical-script-mode .episode-carousel{
  opacity:1 !important;
  visibility:visible !important;
}

.room-light{
  pointer-events:none !important;
}

@media (min-width:901px){
  body.vertical-script-mode .stage,
  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack{
    opacity:1 !important;
    visibility:visible !important;
  }
  body.vertical-script-mode .episode-carousel-room-title,
  body.vertical-script-mode .episode-carousel-head,
  body.vertical-script-mode .episode-marquee{
    opacity:1 !important;
    visibility:visible !important;
  }
}

@media (max-width:900px){
  body.vertical-script-mode .episode-carousel-room-title,
  body.vertical-script-mode .episode-carousel-head,
  body.vertical-script-mode .episode-marquee{
    opacity:1 !important;
    visibility:visible !important;
  }
  body.vertical-script-mode .stage{
    opacity:1 !important;
    visibility:visible !important;
  }
}


/* ==========================================================
   MOBILE ONLY — bottom horizontal carousel
   Desktop left rail stays untouched.
   Requested:
   - carousel at the bottom on phones
   - THE / MASI / ROOM logo at bottom-left
   - guests move horizontally
   - guests fade/disappear behind the logo area
   - script page remains readable above the rail
   ========================================================== */
@media (max-width: 900px){
  body.vertical-script-mode{
    padding-bottom: clamp(152px, 25vh, 192px) !important;
  }

  body.vertical-script-mode .brand{
    display:none !important;
  }

  body.vertical-script-mode .episode-carousel{
    position:fixed !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    height:clamp(146px, 23vh, 184px) !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:
      linear-gradient(0deg, rgba(3,5,8,.995) 0%, rgba(3,5,8,.96) 72%, rgba(3,5,8,0) 100%) !important;
    box-shadow:0 -20px 58px rgba(0,0,0,.34) !important;
    overflow:hidden !important;
    z-index:4100 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  body.vertical-script-mode .episode-carousel-room-title{
    display:block !important;
    position:absolute !important;
    top:auto !important;
    left:clamp(14px, 4.2vw, 22px) !important;
    bottom:clamp(18px, 4.5vw, 26px) !important;
    width:4.25ch !important;
    z-index:12 !important;
    font-family:var(--title) !important;
    font-weight:300 !important;
    font-size:clamp(2.35rem, 12vw, 4.05rem) !important;
    line-height:.82 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
    color:rgba(246,243,238,.94) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-carousel-head{
    display:block !important;
    position:absolute !important;
    top:auto !important;
    left:clamp(16px, 4.2vw, 24px) !important;
    bottom:clamp(8px, 2.3vw, 12px) !important;
    right:auto !important;
    width:clamp(94px, 28vw, 132px) !important;
    z-index:12 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    font-family:var(--mono) !important;
    font-size:clamp(.42rem, 1.55vw, .54rem) !important;
    line-height:1.3 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    color:rgba(246,243,238,.56) !important;
    text-align:left !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-marquee{
    position:absolute !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:clamp(22px, 4vh, 34px) !important;
    height:clamp(102px, 15.5vh, 128px) !important;
    z-index:4 !important;
    overflow:hidden !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(112px, 32vw, 156px),
      rgba(0,0,0,.18) clamp(132px, 38vw, 178px),
      rgba(0,0,0,.7) clamp(164px, 47vw, 214px),
      black clamp(196px, 56vw, 250px),
      black 88%,
      rgba(0,0,0,.45) 96%,
      transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(112px, 32vw, 156px),
      rgba(0,0,0,.18) clamp(132px, 38vw, 178px),
      rgba(0,0,0,.7) clamp(164px, 47vw, 214px),
      black clamp(196px, 56vw, 250px),
      black 88%,
      rgba(0,0,0,.45) 96%,
      transparent 100%) !important;
  }

  body.vertical-script-mode .episode-marquee-track{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    width:max-content !important;
    gap:clamp(20px, 6vw, 34px) !important;
    padding-left:100vw !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    animation:episodeMarquee 20s linear infinite !important;
    animation-delay:0s !important;
    will-change:transform !important;
  }

  body.vertical-script-mode .episode-ticker-item{
    min-width:clamp(154px, 44vw, 220px) !important;
    width:clamp(154px, 44vw, 220px) !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:5px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:rgba(246,243,238,.92) !important;
    text-align:center !important;
    overflow:visible !important;
  }

  body.vertical-script-mode .ticker-photo{
    display:block !important;
    position:relative !important;
    inset:auto !important;
    width:clamp(88px, 26vw, 122px) !important;
    height:clamp(62px, 11.8vh, 84px) !important;
    flex-basis:auto !important;
    margin:0 auto 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    opacity:.84 !important;
    filter:grayscale(1) contrast(1.05) brightness(.84) !important;
    mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%) !important;
  }

  body.vertical-script-mode .ticker-photo.empty{
    height:10px !important;
    opacity:.18 !important;
    background:linear-gradient(90deg, transparent, rgba(246,243,238,.24), transparent) !important;
  }

  body.vertical-script-mode .ticker-copy{
    display:grid !important;
    gap:3px !important;
    justify-items:center !important;
    text-align:center !important;
    max-width:100% !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta{
    font-family:var(--mono) !important;
    text-transform:uppercase !important;
    font-size:clamp(.42rem, 1.55vw, .54rem) !important;
    line-height:1.2 !important;
    letter-spacing:.14em !important;
    color:rgba(246,243,238,.58) !important;
    text-align:center !important;
    white-space:normal !important;
  }

  body.vertical-script-mode .ticker-title{
    font-family:var(--title) !important;
    text-transform:uppercase !important;
    font-weight:300 !important;
    font-size:clamp(1.15rem, 5.3vw, 1.82rem) !important;
    line-height:.88 !important;
    letter-spacing:-.025em !important;
    color:rgba(246,243,238,.93) !important;
    text-align:center !important;
    max-width:8.8ch !important;
    white-space:normal !important;
  }

  body.vertical-script-mode .stage{
    padding-top:96px !important;
    padding-bottom:clamp(186px, 31vh, 232px) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
  }

  body.vertical-script-mode .script-scroll,
  body.vertical-script-mode .page-stack{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
  }

  body.vertical-script-mode .reading-index,
  body.vertical-script-mode .side-trigger{
    opacity:0 !important;
    transition:opacity .85s cubic-bezier(.22,1,.36,1) 2.1s, transform .65s cubic-bezier(.22,1,.36,1) !important;
  }

  body.site-entered.vertical-script-mode .reading-index{ opacity:.52 !important; }
  body.site-entered.vertical-script-mode .side-trigger{ opacity:.76 !important; }

  body.vertical-script-mode .episode-carousel::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:clamp(136px, 39vw, 186px) !important;
    height:100% !important;
    z-index:10 !important;
    background:linear-gradient(90deg, #030508 0%, rgba(3,5,8,.98) 64%, rgba(3,5,8,.65) 82%, rgba(3,5,8,0) 100%) !important;
    pointer-events:none !important;
  }

  body.vertical-script-mode .episode-carousel::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:28px !important;
    z-index:9 !important;
    background:linear-gradient(180deg, rgba(3,5,8,0) 0%, rgba(3,5,8,.02) 100%) !important;
    pointer-events:none !important;
  }
}


/* ==========================================================
   MOBILE REFINEMENT — keep bottom carousel fully visible
   Fixes:
   - portrait no longer cut
   - bottom rail sits above mobile browser bar
   - rail is fully visible without needing to scroll
   - desktop remains untouched
   ========================================================== */
@media (max-width: 900px){
  body{
    min-height:100svh !important;
  }

  body.vertical-script-mode{
    padding-bottom:calc(clamp(168px, 26svh, 210px) + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.vertical-script-mode .episode-carousel,
  .episode-carousel{
    position:fixed !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:env(safe-area-inset-bottom, 0px) !important;
    width:100vw !important;
    height:clamp(156px, 24svh, 196px) !important;
    min-height:156px !important;
    max-height:196px !important;
    overflow:hidden !important;
    z-index:9000 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  body.vertical-script-mode .episode-marquee,
  .episode-marquee{
    bottom:clamp(28px, 4.2svh, 38px) !important;
    height:clamp(116px, 17svh, 146px) !important;
    overflow:visible !important;
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(118px, 34vw, 160px),
      rgba(0,0,0,.22) clamp(140px, 40vw, 184px),
      black clamp(188px, 54vw, 244px),
      black 90%,
      rgba(0,0,0,.42) 97%,
      transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent clamp(118px, 34vw, 160px),
      rgba(0,0,0,.22) clamp(140px, 40vw, 184px),
      black clamp(188px, 54vw, 244px),
      black 90%,
      rgba(0,0,0,.42) 97%,
      transparent 100%) !important;
  }

  body.vertical-script-mode .episode-marquee-track,
  .episode-marquee-track{
    align-items:center !important;
    padding-left:100vw !important;
    padding-top:4px !important;
    padding-bottom:8px !important;
  }

  body.vertical-script-mode .episode-ticker-item,
  .episode-ticker-item{
    min-width:clamp(168px, 48vw, 236px) !important;
    width:clamp(168px, 48vw, 236px) !important;
    overflow:visible !important;
  }

  body.vertical-script-mode .ticker-photo,
  .ticker-photo{
    width:clamp(112px, 32vw, 148px) !important;
    height:clamp(78px, 12.8svh, 104px) !important;
    min-height:78px !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    overflow:visible !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
    filter:grayscale(1) contrast(1.05) brightness(.88) !important;
  }

  body.vertical-script-mode .ticker-title,
  .ticker-title{
    max-width:10.5ch !important;
  }

  body.vertical-script-mode .episode-carousel-room-title,
  .episode-carousel-room-title{
    bottom:clamp(26px, 5svh, 34px) !important;
    z-index:14 !important;
  }

  body.vertical-script-mode .episode-carousel-head,
  .episode-carousel-head{
    bottom:clamp(11px, 2.4svh, 15px) !important;
    z-index:14 !important;
  }

  body.vertical-script-mode .episode-carousel::before,
  .episode-carousel::before{
    width:clamp(138px, 40vw, 188px) !important;
    z-index:13 !important;
    background:linear-gradient(90deg,
      #030508 0%,
      rgba(3,5,8,.99) 60%,
      rgba(3,5,8,.80) 78%,
      rgba(3,5,8,0) 100%) !important;
  }

  body.vertical-script-mode .stage{
    padding-bottom:calc(clamp(206px, 34svh, 260px) + env(safe-area-inset-bottom, 0px)) !important;
  }
}


/* ==========================================================
   MOBILE FINAL — smaller fixed ticker, smaller logo, larger guest
   Desktop stays untouched.
   ========================================================== */
@media (max-width: 900px){
  body.vertical-script-mode{
    padding-bottom:calc(132px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.vertical-script-mode .stage{
    padding-bottom:calc(156px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.vertical-script-mode .episode-carousel,
  .episode-carousel{
    position:fixed !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    height:128px !important;
    min-height:128px !important;
    max-height:128px !important;
    padding:0 !important;
    overflow:hidden !important;
    z-index:9000 !important;
    background:
      linear-gradient(0deg, rgba(3,5,8,.995) 0%, rgba(3,5,8,.965) 78%, rgba(3,5,8,0) 100%) !important;
    box-shadow:0 -14px 42px rgba(0,0,0,.28) !important;
  }

  body.vertical-script-mode .episode-carousel::before,
  .episode-carousel::before{
    width:118px !important;
    background:linear-gradient(90deg,
      #030508 0%,
      rgba(3,5,8,.99) 62%,
      rgba(3,5,8,.72) 82%,
      rgba(3,5,8,0) 100%) !important;
  }

  body.vertical-script-mode .episode-carousel-room-title,
  .episode-carousel-room-title{
    left:16px !important;
    bottom:24px !important;
    width:3.6ch !important;
    font-size:2.58rem !important;
    line-height:.80 !important;
    letter-spacing:.012em !important;
  }

  body.vertical-script-mode .episode-carousel-head,
  .episode-carousel-head{
    left:17px !important;
    bottom:8px !important;
    width:98px !important;
    font-size:.42rem !important;
    line-height:1.25 !important;
    letter-spacing:.14em !important;
  }

  body.vertical-script-mode .episode-marquee,
  .episode-marquee{
    left:0 !important;
    right:0 !important;
    bottom:14px !important;
    height:104px !important;
    overflow:visible !important;
    mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 112px,
      rgba(0,0,0,.18) 132px,
      black 172px,
      black 90%,
      rgba(0,0,0,.42) 97%,
      transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      transparent 112px,
      rgba(0,0,0,.18) 132px,
      black 172px,
      black 90%,
      rgba(0,0,0,.42) 97%,
      transparent 100%) !important;
  }

  body.vertical-script-mode .episode-marquee-track,
  .episode-marquee-track{
    height:104px !important;
    align-items:center !important;
    gap:26px !important;
    padding-left:92vw !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    animation:episodeMarquee 18s linear infinite !important;
  }

  body.vertical-script-mode .episode-ticker-item,
  .episode-ticker-item{
    width:252px !important;
    min-width:252px !important;
    height:104px !important;
    display:grid !important;
    grid-template-columns:104px 1fr !important;
    align-items:center !important;
    justify-items:start !important;
    column-gap:14px !important;
    padding:0 !important;
    text-align:left !important;
  }

  body.vertical-script-mode .ticker-photo,
  .ticker-photo{
    width:104px !important;
    height:92px !important;
    min-height:92px !important;
    margin:0 !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    opacity:.9 !important;
    filter:grayscale(1) contrast(1.08) brightness(.9) !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body.vertical-script-mode .ticker-copy,
  .ticker-copy{
    display:grid !important;
    justify-items:start !important;
    align-content:center !important;
    text-align:left !important;
    gap:4px !important;
    max-width:132px !important;
  }

  body.vertical-script-mode .ticker-number,
  body.vertical-script-mode .ticker-meta,
  .ticker-number,
  .ticker-meta{
    font-size:.48rem !important;
    line-height:1.15 !important;
    letter-spacing:.13em !important;
    text-align:left !important;
  }

  body.vertical-script-mode .ticker-title,
  .ticker-title{
    font-size:1.55rem !important;
    line-height:.88 !important;
    max-width:7.4ch !important;
    text-align:left !important;
  }

  body.vertical-script-mode .language-switch{
    top:14px !important;
    right:14px !important;
  }
}


/* ==========================================================
   MOBILE ONLY — remove NOW SHOWING / SEASON ONE from carousel
   Desktop carousel header stays untouched.
   ========================================================== */
@media (max-width: 900px){
  body.vertical-script-mode .episode-carousel-head,
  .episode-carousel-head{
    display:none !important;
  }

  body.vertical-script-mode .episode-carousel-room-title,
  .episode-carousel-room-title{
    bottom:18px !important;
  }
}


/* ===== Homepage rotating article controls ===== */
.language-switch{display:none!important}
.homepage-article-controls{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:28px 0 8px;
  padding-top:18px;
  border-top:1px solid rgba(20,24,32,.12);
}
.page-content.leaving .homepage-article-body{
  opacity:0;
  transform:translateY(10px);
}
.homepage-article-body{
  transition:opacity .55s ease, transform .55s ease;
}
@media(max-width:900px){
  .homepage-article-controls{gap:10px}
  .homepage-article-controls .btn{
    min-height:44px;
    padding:12px 16px;
    font-size:.68rem;
  }
}


/* CMS font-size controls */
:root{--cms-fade-title-size:inherit;--cms-fade-body-size:inherit;--cms-guest-name-size:inherit;--cms-guest-meta-size:inherit;--cms-button-size:inherit}.act-title{font-size:var(--cms-fade-title-size,clamp(3.4rem,9vw,8.6rem))}.homepage-article-body .script-copy{font-size:var(--cms-fade-body-size,clamp(1.02rem,1.4vw,1.16rem))}.programme-row h3,.latest-panel h3{font-size:var(--cms-guest-name-size,clamp(2rem,4vw,3.5rem))}.episode-meta,.programme-status,.latest-number{font-size:var(--cms-guest-meta-size,.82rem)}.btn,.latest-link{font-size:var(--cms-button-size,.78rem)}


/* Supabase cinematic guest image system */
:root{--cms-guest-quote-size:inherit;--cms-card-spacing:inherit;--cms-image-size:inherit;--cms-hover-speed:350ms}.programme-row{gap:var(--cms-card-spacing,22px)}.programme-portrait{position:relative;width:var(--cms-image-size,104px);transition:transform var(--cms-hover-speed,350ms) ease}.programme-portrait img{filter:grayscale(1) contrast(1.08) brightness(.94);transition:opacity var(--cms-hover-speed,350ms) ease,filter var(--cms-hover-speed,350ms) ease,transform var(--cms-hover-speed,350ms) ease}.programme-portrait img.color-reveal{position:absolute;inset:0;opacity:0;filter:grayscale(0);object-fit:cover;object-position:center 34%}.programme-row:hover .programme-portrait{transform:scale(1.035)}.programme-row:hover .programme-portrait img.color-reveal{opacity:1}.programme-row:hover h3,.programme-row:hover p{color:rgba(17,21,28,.92)!important}.programme-row p{font-size:var(--cms-guest-quote-size,inherit)}.ticker-photo,.latest-portrait{transition:filter var(--cms-hover-speed,350ms) ease,transform var(--cms-hover-speed,350ms) ease,opacity var(--cms-hover-speed,350ms) ease}.episode-ticker-item:hover .ticker-photo{filter:grayscale(0) contrast(1.05) brightness(1)!important;transform:scale(1.04)}.episode-ticker-item:hover .ticker-title,.episode-ticker-item:hover .ticker-meta{color:rgba(246,243,238,.98)!important}.latest-panel:hover .latest-portrait{filter:grayscale(0) contrast(1.05) brightness(.88);transform:scale(1.06)}.guest-frame.has-image img,.episode-page .guest-frame img{filter:grayscale(0)!important}

/* Rachel Whittle + guest color hover reveal */
.programme-portrait,
.ticker-photo,
.latest-portrait {
  position: relative !important;
  overflow: hidden !important;
}
.programme-portrait img.color-reveal {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 34% !important;
  opacity: 0 !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1) !important;
  transition: opacity .55s ease, transform .55s ease !important;
}
.programme-row:hover .programme-portrait img.color-reveal {
  opacity: 1 !important;
  transform: scale(1.055) !important;
}
.ticker-photo::after,
.latest-portrait::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--color-image) !important;
  background-size: cover !important;
  background-position: center 34% !important;
  opacity: 0 !important;
  transition: opacity .55s ease, transform .55s ease !important;
  transform: scale(1) !important;
}
.episode-ticker-item:hover .ticker-photo::after,
.latest-panel:hover .latest-portrait::after {
  opacity: 1 !important;
  transform: scale(1.055) !important;
}
.programme-row:hover h3,
.programme-row:hover .episode-meta,
.latest-panel:hover h3,
.latest-panel:hover p {
  filter: brightness(1.18) !important;
}


/* Carousel color reveal + episode-row jump behavior */
.episode-ticker-item.has-photo { cursor: pointer !important; }
.episode-ticker-item .ticker-photo { position: relative !important; overflow: hidden !important; }
.episode-ticker-item .ticker-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--color-image) !important;
  background-size: cover !important;
  background-position: center 34% !important;
  opacity: 0 !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1) !important;
  transition: opacity .55s ease, transform .55s ease !important;
  pointer-events: none !important;
}
.episode-ticker-item:hover .ticker-photo::after,
.episode-ticker-item:focus-visible .ticker-photo::after {
  opacity: 1 !important;
  transform: scale(1.06) !important;
}
.episode-ticker-item:hover .ticker-photo,
.episode-ticker-item:focus-visible .ticker-photo {
  filter: grayscale(0) contrast(1.06) brightness(1) !important;
}
.episode-jump-highlight {
  animation: episodeJumpGlow 1.8s ease both;
}
@keyframes episodeJumpGlow {
  0%, 100% { box-shadow: none; }
  25%, 70% { box-shadow: 0 0 0 2px rgba(17,21,28,.22), 0 18px 50px rgba(17,21,28,.18); }
}


.episode-ticker-item .ticker-photo::after,
.latest-panel .latest-portrait::after {
  display: none !important;
  content: none !important;
}
.episode-ticker-item:hover .ticker-photo,
.episode-ticker-item:focus-visible .ticker-photo,
.latest-panel:hover .latest-portrait {
  background-image: var(--color-image) !important;
  filter: grayscale(0) contrast(1.05) brightness(1) !important;
  transform: scale(1.06) !important;
}


/* VERIFIED FIX: carousel portraits switch cleanly from black-and-white to color on hover. */
.episode-ticker-item .ticker-photo{
  position:relative!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center 34%!important;
  filter:grayscale(1) contrast(1.12) brightness(.88)!important;
  transform:scale(1)!important;
  transition:filter .45s ease, transform .45s ease!important;
}
.episode-ticker-item .ticker-photo::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--color-image)!important;
  background-size:cover!important;
  background-position:center 34%!important;
  opacity:0!important;
  filter:grayscale(0) contrast(1.04) brightness(1)!important;
  transform:scale(1)!important;
  transition:opacity .45s ease, transform .45s ease!important;
  pointer-events:none!important;
}
.episode-ticker-item:hover .ticker-photo,
.episode-ticker-item:focus-visible .ticker-photo{
  filter:grayscale(1) contrast(1.12) brightness(.88)!important;
  transform:scale(1.06)!important;
}
.episode-ticker-item:hover .ticker-photo::after,
.episode-ticker-item:focus-visible .ticker-photo::after{
  opacity:1!important;
  transform:scale(1)!important;
}


/* FINAL USER FIX — no Fade In title animation, no article title rotation, clean color hover */
.act-title,
.act-title.is-writing,
.act-title.is-erasing,
.page-content,
.page-content.leaving,
.page-content.revealed {
  animation: none !important;
  transition: none !important;
}
.act-title.is-writing::after,
.act-title.is-erasing::after,
.writer-cursor::after {
  content: none !important;
  display: none !important;
}
.page-content,
.page-content.leaving,
.page-content.revealed,
.page-content > *,
.page-content.leaving > *,
.page-content.revealed > * {
  opacity: 1 !important;
  transform: none !important;
}
.episode-ticker-item.has-photo .ticker-photo,
.latest-panel .latest-portrait {
  position: relative !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center 34% !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  transition: filter .35s ease, transform .35s ease, background-image 0s linear !important;
}
.episode-ticker-item.has-photo .ticker-photo::before,
.episode-ticker-item.has-photo .ticker-photo::after,
.latest-panel .latest-portrait::before,
.latest-panel .latest-portrait::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
.episode-ticker-item.has-photo:hover .ticker-photo,
.episode-ticker-item.has-photo:focus-visible .ticker-photo,
.latest-panel:hover .latest-portrait,
.latest-panel:focus-within .latest-portrait {
  background-image: var(--color-image) !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1.06) !important;
}
.programme-portrait img.color-reveal {
  display: block !important;
  opacity: 0 !important;
}
.programme-row:hover .programme-portrait img.color-reveal,
.programme-row:focus-within .programme-portrait img.color-reveal {
  opacity: 1 !important;
}


/* HARD FINAL FIX — no Fade In title, no title animation, clean guest color hover */
body .page .act-title:empty { display: none !important; }
body .act-title, body .act-title.is-writing, body .act-title.is-erasing,
body .page-content, body .page-content.revealed, body .page-content.leaving {
  animation: none !important;
  transition: none !important;
}
body .act-title.is-writing::after,
body .act-title.is-erasing::after,
body .writer-cursor::after { content: none !important; display: none !important; }
body .page-content, body .page-content.revealed, body .page-content.leaving,
body .page-content > *, body .page-content.revealed > *, body .page-content.leaving > * {
  opacity: 1 !important;
  transform: none !important;
}
body .episode-ticker-item.has-photo .ticker-photo,
body .latest-panel .latest-portrait {
  background-size: cover !important;
  background-position: center 34% !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  opacity: .96 !important;
}
body .episode-ticker-item.has-photo .ticker-photo::before,
body .episode-ticker-item.has-photo .ticker-photo::after,
body .latest-panel .latest-portrait::before,
body .latest-panel .latest-portrait::after {
  content: none !important;
  display: none !important;
}
body .episode-ticker-item.has-photo:hover .ticker-photo,
body .episode-ticker-item.has-photo:focus-visible .ticker-photo,
body .latest-panel:hover .latest-portrait,
body .latest-panel:focus-within .latest-portrait {
  background-image: var(--color-image) !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
}


/* JOAKIM LATZKO EXACT HOVER FIX: BW normally, color only on hover/focus. */
.episode-ticker-item[data-episode-id="s1e3"] .ticker-photo {
  background-image: url("images/joakim-latzko.png") !important;
  --color-image: url("images/joakim-latzko-color.png"), url("images/joakim-latzko-color") !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
}
.episode-ticker-item[data-episode-id="s1e3"]:hover .ticker-photo,
.episode-ticker-item[data-episode-id="s1e3"]:focus-visible .ticker-photo {
  background-image: url("images/joakim-latzko-color.png"), url("images/joakim-latzko-color") !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1.06) !important;
}


/* CLEAN EPISODE FIX — stable guests + stable hover color reveal */
.episode-ticker-item.has-photo .ticker-photo,
.latest-panel .latest-portrait {
  background-size: cover !important;
  background-position: center 34% !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  transform: scale(1) !important;
  transition: filter .38s ease, transform .38s ease !important;
}
.episode-ticker-item.has-photo:hover .ticker-photo,
.episode-ticker-item.has-photo:focus-visible .ticker-photo,
.latest-panel:hover .latest-portrait,
.latest-panel:focus-within .latest-portrait {
  background-image: var(--color-image) !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1.06) !important;
}
.episode-ticker-item.has-photo .ticker-photo::before,
.episode-ticker-item.has-photo .ticker-photo::after,
.latest-panel .latest-portrait::before,
.latest-panel .latest-portrait::after {
  content: none !important;
  display: none !important;
}
.episode-ticker-item[data-episode-id="s1e3"] .ticker-photo {
  background-image: url("images/joakim-latzko.png") !important;
  --color-image: url("images/joakim-latzko-color.png") !important;
}
.episode-ticker-item[data-episode-id="s1e3"]:hover .ticker-photo,
.episode-ticker-item[data-episode-id="s1e3"]:focus-visible .ticker-photo {
  background-image: url("images/joakim-latzko-color.png") !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transform: scale(1.06) !important;
}


/* === FINAL SEASON ONE / CAROUSEL FIX ===
   Guests use a stable two-layer portrait: BW base stays underneath, color fades in above.
   Carousel clicks open the Season One conversation list, not duplicate episode pages.
*/
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo {
  position: relative !important;
  overflow: hidden !important;
  background-image: var(--bw-image) !important;
  background-size: cover !important;
  background-position: center 34% !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  transform: scale(1) !important;
  transition: transform .42s ease, filter .42s ease !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::before,
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background-size: cover !important;
  background-position: center 34% !important;
  transform: scale(1) !important;
  transition: opacity .42s ease, transform .42s ease !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::before {
  background-image: var(--bw-image) !important;
  opacity: 1 !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  z-index: 1 !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::after {
  background-image: var(--color-image) !important;
  opacity: 0 !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  z-index: 2 !important;
}
.episode-carousel .episode-ticker-item.has-photo:hover > .ticker-photo,
.episode-carousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo {
  background-image: var(--bw-image) !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  transform: scale(1.06) !important;
}
.episode-carousel .episode-ticker-item.has-photo:hover > .ticker-photo::after,
.episode-carousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo::after {
  opacity: 1 !important;
  transform: scale(1.01) !important;
}
.episode-carousel .episode-ticker-item[data-episode-id="s1e3"] > .ticker-photo {
  --bw-image: url("images/joakim-latzko.png") !important;
  --color-image: url("images/joakim-latzko-color.png") !important;
}
.programme-portrait {
  position: relative !important;
  overflow: hidden !important;
}
.programme-portrait img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 34% !important;
  filter: grayscale(1) contrast(1.08) brightness(.94) !important;
}
.programme-portrait img.color-reveal {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  filter: grayscale(0) contrast(1.04) brightness(1) !important;
  transition: opacity .42s ease, transform .42s ease !important;
}
.programme-row:hover .programme-portrait img.color-reveal,
.programme-row:focus-within .programme-portrait img.color-reveal {
  opacity: 1 !important;
  transform: scale(1.04) !important;
}


/* --- Masi Room refinement: carousel color hover + elegant mobile menu --- */
.episode-ticker-item .ticker-thumb img {
  transition: filter .45s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1), opacity .45s ease;
  will-change: transform, filter;
}
.episode-ticker-item:hover .ticker-thumb img,
.episode-ticker-item:focus-visible .ticker-thumb img,
.episode-ticker-item:focus-within .ticker-thumb img {
  filter: grayscale(0) contrast(1.04) brightness(1.02) saturate(1.08) !important;
  transform: scale(1.12);
}
.episode-ticker-item:hover .ticker-thumb,
.episode-ticker-item:focus-visible .ticker-thumb,
.episode-ticker-item:focus-within .ticker-thumb {
  border-color: rgba(246,243,238,.38);
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
}

/* Replace the text arrow with a quiet cinematic icon. */
.side-trigger {
  width: 46px !important;
  height: 46px !important;
  border: 1px solid rgba(246,243,238,.22) !important;
  border-radius: 999px !important;
  background: rgba(5,6,9,.38) !important;
  backdrop-filter: blur(10px) !important;
  font-size: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.side-trigger::before,
.side-trigger::after {
  content: "";
  display: block;
  position: absolute;
  background: rgba(246,243,238,.88);
  transition: transform .35s cubic-bezier(.22,1,.36,1), background .35s ease;
}
.side-trigger::before { width: 18px; height: 1px; }
.side-trigger::after { width: 7px; height: 7px; border-top: 1px solid rgba(246,243,238,.88); border-right: 1px solid rgba(246,243,238,.88); background: transparent; transform: translateX(4px) rotate(45deg); }
.side-trigger:hover::before { transform: translateX(-2px); }
.side-trigger:hover::after { transform: translateX(6px) rotate(45deg); }
.close-drawer { font-size: 0 !important; position: relative; }
.close-drawer span { font-size: 0 !important; }
.close-drawer::before,
.close-drawer::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 1px;
  background: rgba(246,243,238,.9);
  left: 50%;
  top: 50%;
  transform-origin: center;
}
.close-drawer::before { transform: translate(-50%,-50%) rotate(45deg); }
.close-drawer::after { transform: translate(-50%,-50%) rotate(-45deg); }

@media (max-width: 900px) {
  .side-trigger {
    top: 18px !important;
    right: 16px !important;
    transform: none !important;
    z-index: 9200 !important;
  }
  .side-trigger:hover { transform: none !important; }
  .reading-index {
    top: 18px !important;
    right: 16px !important;
    transform: none !important;
    width: auto !important;
    min-width: 48px !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(246,243,238,.20) !important;
    border-radius: 999px !important;
    background: rgba(5,6,9,.72) !important;
    color: rgba(246,243,238,.94) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(12px) !important;
    text-align: center !important;
  }
  .reading-index:hover,
  .reading-index:focus-visible { transform: none !important; }
  .reading-index-number,
  .reading-index-label,
  .reading-index-action,
  .reading-index-rule { display: none !important; }
  .reading-index-title {
    font-family: var(--mono) !important;
    font-size: .64rem !important;
    letter-spacing: .18em !important;
    line-height: 1 !important;
    color: rgba(246,243,238,.94) !important;
  }
  .reading-index-title::after { content: "MENU"; }
  .reading-index-title { font-size: 0 !important; }
  body.menu-open .reading-index { opacity: 0 !important; pointer-events: none !important; }
  .drawer {
    width: calc(100vw - 28px) !important;
    right: 14px !important;
    left: 14px !important;
    padding: 22px 0 !important;
    background: linear-gradient(135deg, rgba(5,6,9,.96), rgba(12,24,39,.96)) !important;
    border: 1px solid rgba(246,243,238,.14) !important;
    border-radius: 24px !important;
    height: calc(100vh - 28px) !important;
    top: 14px !important;
    overflow-y: auto !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.62) !important;
  }
  .drawer-head { padding: 0 18px !important; }
  .drawer-nav { padding: 8px 18px 24px !important; min-height: auto !important; height: auto !important; gap: 18px !important; }
  .drawer-link { opacity: .72 !important; filter: none !important; transform: none !important; }
  body.menu-open .drawer-link { transform: none !important; }
  .drawer-link:hover,
  .drawer-link:focus-visible,
  .drawer-link.active,
  .drawer-link.selected { transform: translateX(-4px) !important; opacity: 1 !important; }
  body.menu-open .drawer-backdrop { background: rgba(0,0,0,.72) !important; backdrop-filter: blur(8px) !important; }
}

/* FINAL OVERRIDE — carousel portraits become full-color on hover/focus.
   The carousel uses .ticker-photo as a background-image element, not an <img>. */
.episode-ticker-item .ticker-photo,
.episode-ticker-item .ticker-thumb,
.episode-ticker-item .ticker-thumb img {
  transition: filter .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1), opacity .55s ease, box-shadow .55s ease !important;
  will-change: transform, filter !important;
}

.episode-ticker-item:hover .ticker-photo,
.episode-ticker-item:focus-visible .ticker-photo,
.episode-ticker-item:focus-within .ticker-photo,
.episode-ticker-item:hover .ticker-thumb,
.episode-ticker-item:focus-visible .ticker-thumb,
.episode-ticker-item:focus-within .ticker-thumb,
.episode-ticker-item:hover .ticker-thumb img,
.episode-ticker-item:focus-visible .ticker-thumb img,
.episode-ticker-item:focus-within .ticker-thumb img {
  filter: grayscale(0) saturate(1.22) contrast(1.04) brightness(1.04) !important;
  transform: scale(1.16) !important;
  opacity: 1 !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.42) !important;
}

@media (hover: none) and (pointer: coarse) {
  .episode-ticker-item:active .ticker-photo,
  .episode-ticker-item:active .ticker-thumb,
  .episode-ticker-item:active .ticker-thumb img {
    filter: grayscale(0) saturate(1.22) contrast(1.04) brightness(1.04) !important;
    transform: scale(1.12) !important;
    opacity: 1 !important;
  }
}


/* --- FINAL v3 correction: no circle menu + guaranteed carousel color reveal --- */
/* Remove the oval/circle decoration around the menu trigger. Keep only a clean two-line mark. */
.side-trigger,
body:not(.credits-active) .side-trigger {
  width: 42px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  font-size: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.side-trigger::before,
.side-trigger::after {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  width: 26px !important;
  height: 1px !important;
  border: 0 !important;
  background: rgba(246,243,238,.92) !important;
  box-shadow: 0 0 14px rgba(246,243,238,.22) !important;
  transform: none !important;
}
.side-trigger::before { top: 9px !important; }
.side-trigger::after { top: 18px !important; }
.side-trigger:hover::before { transform: translateX(-4px) !important; }
.side-trigger:hover::after { transform: translateX(4px) !important; }
.menu-glyph { display: none !important; }

/* Remove the progress/circle artifact visible beside the current page title. */
.reading-index-rule,
#readingIndex .reading-index-rule,
.reading-index-rule::after,
#readingIndex .reading-index-rule::after {
  display: none !important;
  content: none !important;
}

/* On mobile, keep the menu readable but not circular. */
@media (max-width: 900px) {
  .reading-index,
  body:not(.credits-active) #readingIndex.reading-index {
    border-radius: 3px !important;
    background: rgba(5,6,9,.88) !important;
    border: 1px solid rgba(246,243,238,.18) !important;
    box-shadow: 0 14px 42px rgba(0,0,0,.46) !important;
    backdrop-filter: blur(10px) !important;
  }
}

/* Carousel: most items use a background-image element (.ticker-photo), not an img.
   This sets the color layer to the same image when no separate color file exists,
   then removes grayscale/saturates on hover/focus. */
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo,
.episode-ticker-item.has-photo > .ticker-photo,
.episode-ticker-item .ticker-photo {
  position: relative !important;
  overflow: hidden !important;
  background-image: var(--bw-image, var(--color-image)) !important;
  background-size: cover !important;
  background-position: center 34% !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  transition: filter .45s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1), opacity .45s ease !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::before,
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::after,
.episode-ticker-item.has-photo > .ticker-photo::before,
.episode-ticker-item.has-photo > .ticker-photo::after,
.episode-ticker-item .ticker-photo::before,
.episode-ticker-item .ticker-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  background-size: cover !important;
  background-position: center 34% !important;
  transition: opacity .45s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1), filter .45s ease !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::before,
.episode-ticker-item.has-photo > .ticker-photo::before,
.episode-ticker-item .ticker-photo::before {
  background-image: var(--bw-image, var(--color-image)) !important;
  filter: grayscale(1) contrast(1.12) brightness(.86) !important;
  opacity: 1 !important;
  z-index: 1 !important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo::after,
.episode-ticker-item.has-photo > .ticker-photo::after,
.episode-ticker-item .ticker-photo::after {
  background-image: var(--color-image, var(--bw-image)) !important;
  filter: grayscale(0) saturate(1.28) contrast(1.05) brightness(1.05) !important;
  opacity: 0 !important;
  z-index: 2 !important;
}
.episode-carousel .episode-ticker-item.has-photo:hover > .ticker-photo,
.episode-carousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo,
.episode-carousel .episode-ticker-item.has-photo:focus-within > .ticker-photo,
.episode-ticker-item.has-photo:hover > .ticker-photo,
.episode-ticker-item.has-photo:focus-visible > .ticker-photo,
.episode-ticker-item.has-photo:focus-within > .ticker-photo,
.episode-ticker-item:hover .ticker-photo,
.episode-ticker-item:focus-visible .ticker-photo,
.episode-ticker-item:focus-within .ticker-photo {
  filter: grayscale(0) saturate(1.28) contrast(1.05) brightness(1.05) !important;
  transform: scale(1.14) !important;
  opacity: 1 !important;
}
.episode-carousel .episode-ticker-item.has-photo:hover > .ticker-photo::after,
.episode-carousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo::after,
.episode-carousel .episode-ticker-item.has-photo:focus-within > .ticker-photo::after,
.episode-ticker-item.has-photo:hover > .ticker-photo::after,
.episode-ticker-item.has-photo:focus-visible > .ticker-photo::after,
.episode-ticker-item.has-photo:focus-within > .ticker-photo::after,
.episode-ticker-item:hover .ticker-photo::after,
.episode-ticker-item:focus-visible .ticker-photo::after,
.episode-ticker-item:focus-within .ticker-photo::after {
  opacity: 1 !important;
  transform: scale(1.02) !important;
}
.episode-ticker-item:hover .ticker-thumb img,
.episode-ticker-item:focus-visible .ticker-thumb img,
.episode-ticker-item:focus-within .ticker-thumb img {
  filter: grayscale(0) saturate(1.28) contrast(1.05) brightness(1.05) !important;
  transform: scale(1.14) !important;
}


/* V5 remove remaining oval/circle from the menu trigger. */
.side-trigger{
  width:48px!important;height:32px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
}
.side-trigger::before{width:28px!important;height:1px!important;background:rgba(246,243,238,.88)!important;box-shadow:0 0 14px rgba(246,243,238,.18)!important;}
.side-trigger::after{width:18px!important;height:1px!important;border:0!important;background:rgba(246,243,238,.88)!important;transform:translateY(8px)!important;}
.side-trigger:hover::before{transform:translateX(-3px)!important;}
.side-trigger:hover::after{transform:translateX(3px) translateY(8px)!important;}
#readingIndex .reading-index-rule,
#readingIndex .reading-index-rule::before,
#readingIndex .reading-index-rule::after{border-radius:0!important;box-shadow:none!important;}

/* V6: remove remaining menu oval/circle artifact everywhere */
.reading-index-rule,
#readingIndex .reading-index-rule,
.reading-index-rule::before,
.reading-index-rule::after,
#readingIndex .reading-index-rule::before,
#readingIndex .reading-index-rule::after,
.side-trigger,
.side-trigger::before,
.side-trigger::after {
  border-radius: 0 !important;
  box-shadow: none !important;
}
#readingIndex .reading-index-rule,
.reading-index-rule {
  background: rgba(246,243,238,.24) !important;
  height: 1px !important;
  border: 0 !important;
  overflow: hidden !important;
}
#readingIndex .reading-index-rule::before,
#readingIndex .reading-index-rule::after,
.reading-index-rule::before,
.reading-index-rule::after {
  content: none !important;
  display: none !important;
}

/* --- FINAL INDEX CAROUSEL + WATERMARK BALANCE --- */
body.vertical-script-mode .brand,
body.site-entered .brand{
  opacity:.18!important;
  pointer-events:none!important;
}
.room-logo-backdrop,
body::after{
  opacity:.055!important;
}
.room-logo-backdrop{
  position:fixed!important;
  inset:-8vh -8vw!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:url("images/logo.png")!important;
  background-size:clamp(360px,42vw,720px) auto!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  transform:rotate(-8deg)!important;
  filter:grayscale(1) brightness(1.65) contrast(.82)!important;
  mix-blend-mode:screen!important;
}
.episode-carousel,
body.vertical-script-mode .episode-carousel{
  top:0!important;
  bottom:auto!important;
  height:100vh!important;
  width:clamp(180px,18vw,300px)!important;
  left:auto!important;
  right:clamp(16px,4.5vw,72px)!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:hidden!important;
  backdrop-filter:none!important;
  z-index:2!important;
}
.episode-carousel-head,
.episode-carousel-room-title,
.ticker-copy,
.ticker-number,
.ticker-title,
.ticker-meta{
  display:none!important;
}
.episode-carousel::before,
.episode-carousel::after{
  display:none!important;
  content:none!important;
}
.episode-marquee,
body.vertical-script-mode .episode-marquee{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
}
.episode-marquee-track,
body.vertical-script-mode .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(42px,7vh,88px)!important;
  width:100%!important;
  height:max-content!important;
  padding:0!important;
  animation:indexPortraitRoll 38s linear infinite!important;
  transform:none!important;
}
@keyframes indexPortraitRoll{
  from{transform:translateY(-50%)!important;}
  to{transform:translateY(0)!important;}
}
.episode-ticker-item,
body.vertical-script-mode .episode-ticker-item{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:default!important;
  pointer-events:none!important;
}
.ticker-photo,
body .episode-ticker-item.has-photo .ticker-photo,
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  width:clamp(150px,16vw,260px)!important;
  height:clamp(218px,24vw,370px)!important;
  flex:0 0 auto!important;
  border:0!important;
  border-radius:2px!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.9!important;
  filter:grayscale(1) contrast(1.12) brightness(.86)!important;
  transform:none!important;
  box-shadow:0 28px 70px rgba(0,0,0,.34)!important;
}
.ticker-photo.empty{display:none!important;}
.ticker-photo::before,
.ticker-photo::after{display:none!important;content:none!important;}
@media (max-width:900px){
  body.vertical-script-mode .brand,
  body.site-entered .brand{display:none!important;}
  .episode-carousel,
  body.vertical-script-mode .episode-carousel{
    right:10px!important;
    width:clamp(120px,30vw,190px)!important;
    opacity:.82!important;
  }
  .ticker-photo,
  body .episode-ticker-item.has-photo .ticker-photo,
  .episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
    width:clamp(112px,28vw,174px)!important;
    height:clamp(164px,42vw,250px)!important;
  }
  .room-logo-backdrop{
    background-size:clamp(300px,82vw,520px) auto!important;
    opacity:.042!important;
  }
}

/* --- FINAL HOMEPAGE PORTRAIT ATMOSPHERE FIX --- */
body.vertical-script-mode .brand,
body.site-entered .brand{
  opacity:.10!important;
}
.room-logo-backdrop{
  opacity:.038!important;
  background-size:clamp(520px,58vw,880px) auto!important;
  background-repeat:repeat!important;
}
.episode-carousel,
body.vertical-script-mode .episode-carousel{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  width:clamp(210px,24vw,420px)!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  z-index:0!important;
  opacity:.82!important;
  pointer-events:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 9%, #000 88%, transparent 100%)!important;
  mask-image:linear-gradient(to bottom, transparent 0%, #000 9%, #000 88%, transparent 100%)!important;
}
main, .site, .stage, .page-stack, .drawer, .reading-index, .side-trigger{
  position:relative;
}
main, .site, .stage, .page-stack{z-index:2!important;}
.drawer, .drawer-backdrop, .reading-index, .side-trigger{z-index:7000!important;}
.episode-carousel-head,
.episode-carousel-room-title,
.episode-carousel .ticker-copy,
.episode-carousel .ticker-number,
.episode-carousel .ticker-title,
.episode-carousel .ticker-meta{
  display:none!important;
  visibility:hidden!important;
}
.episode-carousel::before,
.episode-carousel::after{
  display:none!important;
  content:none!important;
}
.episode-marquee,
body.vertical-script-mode .episode-marquee{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
}
.episode-marquee-track,
body.vertical-script-mode .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(34px,5.2vh,70px)!important;
  width:100%!important;
  padding:0!important;
  animation:indexPortraitRollTop 42s linear infinite!important;
  will-change:transform!important;
}
@keyframes indexPortraitRollTop{
  from{transform:translateY(0)!important;}
  to{transform:translateY(-50%)!important;}
}
.episode-carousel .episode-ticker-item,
body.vertical-script-mode .episode-carousel .episode-ticker-item{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo,
body.vertical-script-mode .episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  width:clamp(168px,18vw,305px)!important;
  height:clamp(236px,26vw,428px)!important;
  border:0!important;
  border-radius:0!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.82!important;
  filter:grayscale(1) contrast(1.08) brightness(.78)!important;
  box-shadow:none!important;
  transform:none!important;
}
.episode-carousel .ticker-photo.empty{display:none!important;}
.episode-carousel .ticker-photo::before,
.episode-carousel .ticker-photo::after{display:none!important;content:none!important;}
@media(max-width:1100px){
  .episode-carousel, body.vertical-script-mode .episode-carousel{
    width:clamp(150px,22vw,270px)!important;
    opacity:.55!important;
  }
  .episode-carousel .episode-ticker-item.has-photo > .ticker-photo,
  body.vertical-script-mode .episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
    width:clamp(128px,20vw,230px)!important;
    height:clamp(184px,29vw,325px)!important;
  }
}
@media(max-width:760px){
  .episode-carousel, body.vertical-script-mode .episode-carousel{
    width:36vw!important;
    opacity:.28!important;
  }
  .room-logo-backdrop{opacity:.026!important;}
}

/* --- FINAL FIX: INDEX GHOST PORTRAITS LEFT + MOVING --- */
body.vertical-script-mode .brand,
body.site-entered .brand{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.room-logo-backdrop{
  opacity:.018!important;
  background-size:clamp(620px,70vw,980px) auto!important;
  background-repeat:repeat!important;
  background-position:center top!important;
}
.episode-carousel,
body.vertical-script-mode .episode-carousel{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  width:clamp(220px,26vw,450px)!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  z-index:1!important;
  opacity:.72!important;
  pointer-events:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 7%, #000 90%, transparent 100%)!important;
  mask-image:linear-gradient(to bottom, transparent 0%, #000 7%, #000 90%, transparent 100%)!important;
}
main,.site,.stage,.page-stack{position:relative!important;z-index:2!important;}
.drawer,.drawer-backdrop,.reading-index,.side-trigger{z-index:7000!important;}
.episode-carousel-head,
.episode-carousel-room-title,
.episode-carousel .ticker-copy,
.episode-carousel .ticker-number,
.episode-carousel .ticker-title,
.episode-carousel .ticker-meta{
  display:none!important;
  visibility:hidden!important;
}
.episode-carousel::before,
.episode-carousel::after{
  display:none!important;
  content:none!important;
}
.episode-marquee,
body.vertical-script-mode .episode-marquee{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
}
.episode-marquee-track,
body.vertical-script-mode .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(34px,5.4vh,72px)!important;
  width:100%!important;
  height:max-content!important;
  padding:0!important;
  will-change:transform!important;
  animation:indexPortraitRollLeftFinal 38s linear infinite!important;
}
@keyframes indexPortraitRollLeftFinal{
  0%{transform:translateY(0);}
  100%{transform:translateY(-50%);}
}
.episode-carousel:hover .episode-marquee-track{
  animation-play-state:running!important;
}
.episode-carousel .episode-ticker-item,
body.vertical-script-mode .episode-carousel .episode-ticker-item{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  pointer-events:none!important;
}
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo,
body.vertical-script-mode .episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  width:clamp(170px,19vw,310px)!important;
  height:clamp(238px,27vw,436px)!important;
  border:0!important;
  border-radius:0!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.82!important;
  filter:grayscale(1) contrast(1.08) brightness(.78)!important;
  box-shadow:none!important;
  transform:none!important;
}
.episode-carousel .ticker-photo.empty{display:none!important;}
.episode-carousel .ticker-photo::before,
.episode-carousel .ticker-photo::after{display:none!important;content:none!important;}
@media(max-width:1100px){
  .episode-carousel,body.vertical-script-mode .episode-carousel{
    width:clamp(150px,24vw,290px)!important;
    opacity:.55!important;
  }
  .episode-carousel .episode-ticker-item.has-photo > .ticker-photo,
  body.vertical-script-mode .episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
    width:clamp(126px,22vw,235px)!important;
    height:clamp(180px,31vw,330px)!important;
  }
}
@media(max-width:760px){
  .episode-carousel,body.vertical-script-mode .episode-carousel{
    width:38vw!important;
    opacity:.30!important;
  }
  .room-logo-backdrop{opacity:.014!important;}
}

/* --- HOMEPAGE GHOST PORTRAITS: LEFT EDGE + MOVING TRACK (verified) --- */
body.vertical-script-mode .episode-carousel,
body.site-entered .episode-carousel,
.episode-carousel#episodeCarousel{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  width:clamp(190px,22vw,390px)!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
  overflow:hidden!important;
  z-index:0!important;
  opacity:.80!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 90%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 90%,transparent 100%)!important;
}
.episode-carousel#episodeCarousel .episode-carousel-head,
.episode-carousel#episodeCarousel .episode-carousel-room-title,
.episode-carousel#episodeCarousel .ticker-copy,
.episode-carousel#episodeCarousel .ticker-number,
.episode-carousel#episodeCarousel .ticker-title,
.episode-carousel#episodeCarousel .ticker-meta{
  display:none!important;
  visibility:hidden!important;
}
.episode-carousel#episodeCarousel::before,
.episode-carousel#episodeCarousel::after{
  display:none!important;
  content:none!important;
}
.episode-carousel#episodeCarousel .episode-marquee{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
}
.episode-carousel#episodeCarousel .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:clamp(36px,5.8vh,82px)!important;
  width:100%!important;
  height:max-content!important;
  min-height:220vh!important;
  margin:0!important;
  padding:0!important;
  animation:masiGhostPortraitsLeftScroll 36s linear infinite!important;
  will-change:transform!important;
}
@keyframes masiGhostPortraitsLeftScroll{
  0%{transform:translate3d(0,0,0);}
  100%{transform:translate3d(0,-50%,0);}
}
.episode-carousel#episodeCarousel .episode-ticker-item,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  pointer-events:none!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  width:clamp(170px,20vw,350px)!important;
  height:clamp(238px,28vw,490px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.82!important;
  filter:grayscale(1) contrast(1.08) brightness(.78)!important;
  box-shadow:none!important;
  transform:none!important;
}
.episode-carousel#episodeCarousel .ticker-photo.empty,
.episode-carousel#episodeCarousel .ticker-photo::before,
.episode-carousel#episodeCarousel .ticker-photo::after{
  display:none!important;
  content:none!important;
}
@media(max-width:900px){
  body.vertical-script-mode .episode-carousel,
  body.site-entered .episode-carousel,
  .episode-carousel#episodeCarousel{
    left:0!important;
    width:36vw!important;
    opacity:.34!important;
  }
  .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{
    width:36vw!important;
    height:52vw!important;
  }
}

/* === FINAL HOMEPAGE PORTRAIT RAIL: smaller, soft edges, true color hover === */
body.vertical-script-mode .episode-carousel,
body.site-entered .episode-carousel,
.episode-carousel#episodeCarousel{
  left:0!important;
  right:auto!important;
  width:clamp(128px,15vw,285px)!important;
  height:100vh!important;
  opacity:.72!important;
  pointer-events:auto!important;
  z-index:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)!important;
}
.episode-carousel#episodeCarousel .episode-marquee,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-marquee{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
}
.episode-carousel#episodeCarousel .episode-marquee-track,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:clamp(18px,3vh,40px)!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  min-height:220vh!important;
  animation:masiPortraitRailMove 18s linear infinite!important;
  animation-play-state:running!important;
  will-change:transform!important;
}
@keyframes masiPortraitRailMove{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(0,-50%,0)}
}
.episode-carousel#episodeCarousel .episode-carousel-head,
.episode-carousel#episodeCarousel .episode-carousel-room-title,
.episode-carousel#episodeCarousel .ticker-copy,
.episode-carousel#episodeCarousel .ticker-number,
.episode-carousel#episodeCarousel .ticker-title,
.episode-carousel#episodeCarousel .ticker-meta,
.episode-carousel#episodeCarousel::before,
.episode-carousel#episodeCarousel::after{
  display:none!important;
  visibility:hidden!important;
  content:none!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:auto!important;
  transform:none!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  width:clamp(105px,11.8vw,205px)!important;
  height:clamp(148px,16.8vw,288px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background-image:var(--bw-image)!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.78!important;
  filter:grayscale(1) contrast(1.08) brightness(.78)!important;
  box-shadow:none!important;
  transform:none!important;
  pointer-events:auto!important;
  transition:filter .35s ease,opacity .35s ease,transform .35s ease,background-image .01s linear!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.78) 70%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.78) 70%,transparent 100%)!important;
}
.episode-carousel#episodeCarousel .ticker-photo.empty{
  display:none!important;
}
.episode-carousel#episodeCarousel .ticker-photo::before,
.episode-carousel#episodeCarousel .ticker-photo::after{
  display:none!important;
  content:none!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo:hover > .ticker-photo,
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo,
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo:focus-within > .ticker-photo,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item.has-photo:hover > .ticker-photo,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo,
body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item.has-photo:focus-within > .ticker-photo{
  background-image:var(--color-image)!important;
  filter:grayscale(0) contrast(1.04) brightness(1)!important;
  opacity:1!important;
  transform:scale(1.025)!important;
}
@media(max-width:1100px){
  body.vertical-script-mode .episode-carousel,
  body.site-entered .episode-carousel,
  .episode-carousel#episodeCarousel{width:clamp(96px,13vw,170px)!important;opacity:.52!important;}
  .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo,
  body.vertical-script-mode .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{width:clamp(82px,11.5vw,142px)!important;height:clamp(116px,16.4vw,200px)!important;}
}
@media(max-width:760px){
  body.vertical-script-mode .episode-carousel,
  body.site-entered .episode-carousel,
  .episode-carousel#episodeCarousel{width:22vw!important;opacity:.30!important;}
  .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{width:20vw!important;height:28vw!important;}
}


/* === FINAL ACTIVE HOMEPAGE PORTRAIT RAIL: names centered + smaller + soft/color hover === */
body.vertical-script-mode .episode-carousel#episodeCarousel,
body.site-entered .episode-carousel#episodeCarousel,
.episode-carousel#episodeCarousel{
  left:0!important;
  right:auto!important;
  width:clamp(96px,10.5vw,180px)!important;
  height:100vh!important;
  opacity:.72!important;
  pointer-events:auto!important;
  z-index:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)!important;
}
.episode-carousel#episodeCarousel .episode-marquee{position:absolute!important;inset:0!important;overflow:hidden!important;}
.episode-carousel#episodeCarousel .episode-marquee-track{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(18px,3vh,38px)!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  min-height:230vh!important;
  animation:masiPortraitRailFinalMove 14s linear infinite!important;
  animation-play-state:running!important;
  will-change:transform!important;
}
@keyframes masiPortraitRailFinalMove{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-50%,0)}}
.episode-carousel#episodeCarousel:hover .episode-marquee-track{animation-play-state:running!important;}
.episode-carousel#episodeCarousel .episode-carousel-head,
.episode-carousel#episodeCarousel .episode-carousel-room-title,
.episode-carousel#episodeCarousel .ticker-number,
.episode-carousel#episodeCarousel .ticker-meta,
.episode-carousel#episodeCarousel::before,
.episode-carousel#episodeCarousel::after{display:none!important;visibility:hidden!important;content:none!important;}
.episode-carousel#episodeCarousel .episode-ticker-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:clamp(88px,9.8vw,166px)!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  transform:none!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{
  display:block!important;
  flex:none!important;
  width:clamp(82px,9vw,150px)!important;
  height:clamp(116px,12.8vw,212px)!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  background-image:var(--bw-image)!important;
  background-size:cover!important;
  background-position:center 24%!important;
  opacity:.76!important;
  filter:grayscale(1) contrast(1.08) brightness(.78)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:filter .35s ease,opacity .35s ease,transform .35s ease!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.74) 70%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.74) 70%,transparent 100%)!important;
}
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo:hover > .ticker-photo,
.episode-carousel#episodeCarousel .episode-ticker-item.has-photo:focus-visible > .ticker-photo{
  background-image:var(--color-image)!important;
  filter:grayscale(0) contrast(1.04) brightness(1)!important;
  opacity:1!important;
  transform:scale(1.035)!important;
}
.episode-carousel#episodeCarousel .ticker-copy{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px auto 0!important;
  padding:0!important;
  text-align:center!important;
  pointer-events:none!important;
}
.episode-carousel#episodeCarousel .ticker-title{
  display:block!important;
  visibility:visible!important;
  font-family:var(--mono)!important;
  font-size:clamp(.55rem,.72vw,.78rem)!important;
  line-height:1.15!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:rgba(246,243,238,.70)!important;
  text-align:center!important;
  white-space:normal!important;
}
.episode-carousel#episodeCarousel .ticker-photo.empty{display:none!important;}
@media(max-width:900px){
  body.vertical-script-mode .episode-carousel#episodeCarousel,body.site-entered .episode-carousel#episodeCarousel,.episode-carousel#episodeCarousel{width:21vw!important;opacity:.36!important;}
  .episode-carousel#episodeCarousel .episode-ticker-item{width:18vw!important;}
  .episode-carousel#episodeCarousel .episode-ticker-item.has-photo > .ticker-photo{width:17vw!important;height:24vw!important;}
  .episode-carousel#episodeCarousel .ticker-title{font-size:.5rem!important;}
}

/* =========================================================
   PATCH — stable homepage portrait carousel
   Fixes blinking/disappearing portraits by replacing the
   competing legacy rails with one img-based rail.
   ========================================================= */
#episodeCarousel,
.episode-carousel,
#masiPortraitRailFinal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#masiStablePortraitRail {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: clamp(150px, 16.5vw, 285px) !important;
  height: 100vh !important;
  z-index: 3 !important;
  pointer-events: auto !important;
  overflow: hidden !important;
  opacity: .86 !important;
  background: transparent !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 7%, #000 91%, transparent 100%) !important;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 7%, #000 91%, transparent 100%) !important;
}

#masiStablePortraitRail .masi-stable-track {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(24px, 4.4vh, 54px) !important;
  padding: 0 !important;
  margin: 0 !important;
  animation: masiStablePortraitMove 42s linear infinite !important;
  will-change: transform !important;
}

#masiStablePortraitRail:hover .masi-stable-track {
  animation-play-state: paused !important;
}

@keyframes masiStablePortraitMove {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, -50%, 0); }
}

#masiStablePortraitRail .masi-stable-item {
  display: block !important;
  width: clamp(135px, 14.8vw, 255px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#masiStablePortraitRail .masi-stable-photo {
  position: relative !important;
  width: 100% !important;
  height: clamp(190px, 21vw, 360px) !important;
  overflow: hidden !important;
  background: rgba(246,243,238,.035) !important;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,.78) 74%, transparent 100%) !important;
  mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,.78) 74%, transparent 100%) !important;
}

#masiStablePortraitRail .masi-stable-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 24% !important;
  display: block !important;
  opacity: 1 !important;
  transform: scale(1.01) !important;
  transition: opacity .45s ease, filter .45s ease, transform .45s ease !important;
}

#masiStablePortraitRail .masi-stable-bw {
  filter: grayscale(1) contrast(1.08) brightness(.78) !important;
}

#masiStablePortraitRail .masi-stable-color {
  opacity: 0 !important;
  filter: contrast(1.04) brightness(1) !important;
}

#masiStablePortraitRail .masi-stable-item:hover .masi-stable-bw,
#masiStablePortraitRail .masi-stable-item:focus-visible .masi-stable-bw {
  opacity: 0 !important;
}

#masiStablePortraitRail .masi-stable-item:hover .masi-stable-color,
#masiStablePortraitRail .masi-stable-item:focus-visible .masi-stable-color {
  opacity: 1 !important;
  transform: scale(1.045) !important;
}

#masiStablePortraitRail .masi-stable-name {
  display: block !important;
  width: 100% !important;
  margin-top: 9px !important;
  text-align: center !important;
  font-family: var(--title, "Oswald", sans-serif) !important;
  font-size: clamp(1rem, 1.45vw, 1.55rem) !important;
  line-height: .95 !important;
  font-weight: 300 !important;
  letter-spacing: -.015em !important;
  text-transform: uppercase !important;
  color: rgba(246,243,238,.76) !important;
  text-shadow: 0 14px 34px rgba(0,0,0,.64) !important;
}

#masiStablePortraitRail .masi-stable-item:hover .masi-stable-name,
#masiStablePortraitRail .masi-stable-item:focus-visible .masi-stable-name {
  color: rgba(246,243,238,.96) !important;
}

main,
.site,
.stage,
.page-stack {
  position: relative !important;
  z-index: 4 !important;
}

.drawer,
.drawer-backdrop,
.reading-index,
.side-trigger {
  z-index: 7000 !important;
}

@media (max-width: 900px) {
  #masiStablePortraitRail {
    width: 31vw !important;
    opacity: .38 !important;
  }
  #masiStablePortraitRail .masi-stable-item {
    width: 30vw !important;
  }
  #masiStablePortraitRail .masi-stable-photo {
    height: 43vw !important;
  }
  #masiStablePortraitRail .masi-stable-name {
    font-size: clamp(.72rem, 3vw, 1.05rem) !important;
  }
}

/* =========================================================
   ABSOLUTE FINAL FIX — visible guest picture carousel
   Left-side portrait rail using real <img> tags from images/guest-name.png.
   ========================================================= */
#masiStablePortraitRail,
#masiPortraitRailFinal,
#episodeCarousel,
.episode-carousel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

#masiGuestCarouselFixed{
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  right:auto !important;
  width:clamp(142px, 13vw, 196px) !important;
  height:100vh !important;
  z-index:3900 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:hidden !important;
  pointer-events:auto !important;
  background:linear-gradient(90deg, rgba(5,6,9,.98), rgba(5,6,9,.78) 70%, rgba(5,6,9,0)) !important;
  border-right:1px solid rgba(246,243,238,.10) !important;
  border-top:0 !important;
}

#masiGuestCarouselFixed::before,
#masiGuestCarouselFixed::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  height:16vh !important;
  z-index:2 !important;
  pointer-events:none !important;
}
#masiGuestCarouselFixed::before{top:0 !important;background:linear-gradient(180deg,#050609,rgba(5,6,9,0)) !important;}
#masiGuestCarouselFixed::after{bottom:0 !important;background:linear-gradient(0deg,#050609,rgba(5,6,9,0)) !important;}

#masiGuestCarouselFixed .masi-guest-carousel-track{
  width:100% !important;
  height:max-content !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:22px !important;
  padding:110px 18px 110px 18px !important;
  animation:masiGuestCarouselMove 42s linear infinite !important;
  will-change:transform !important;
}
#masiGuestCarouselFixed:hover .masi-guest-carousel-track{animation-play-state:paused !important;}

@keyframes masiGuestCarouselMove{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(0,-50%,0);}
}

#masiGuestCarouselFixed .masi-guest-card{
  width:clamp(104px, 10vw, 148px) !important;
  min-height:clamp(162px, 16vw, 218px) !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:start !important;
  text-decoration:none !important;
  color:rgba(246,243,238,.92) !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#masiGuestCarouselFixed .masi-guest-photo{
  position:relative !important;
  width:clamp(92px, 9vw, 132px) !important;
  height:clamp(124px, 12vw, 178px) !important;
  overflow:hidden !important;
  display:block !important;
  background:rgba(246,243,238,.08) !important;
  border:1px solid rgba(246,243,238,.13) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
}

#masiGuestCarouselFixed .masi-guest-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center 28% !important;
  opacity:1 !important;
  visibility:visible !important;
  max-width:none !important;
  transform:none !important;
}

#masiGuestCarouselFixed .masi-guest-img-bw{
  z-index:1 !important;
  filter:grayscale(1) contrast(1.08) brightness(.88) !important;
}
#masiGuestCarouselFixed .masi-guest-img-color{
  z-index:2 !important;
  opacity:0 !important;
  transition:opacity .35s ease !important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-color,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-color{
  opacity:1 !important;
}

#masiGuestCarouselFixed .masi-guest-name{
  display:block !important;
  width:clamp(92px, 9vw, 132px) !important;
  font-family:var(--title,"Oswald",sans-serif) !important;
  font-weight:300 !important;
  font-size:clamp(.98rem,1.25vw,1.5rem) !important;
  line-height:.9 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
  color:rgba(246,243,238,.94) !important;
}

.footer{padding-bottom:0 !important;}

@media(max-width:900px){
  #masiGuestCarouselFixed{
    width:118px !important;
  }
  #masiGuestCarouselFixed .masi-guest-carousel-track{gap:18px !important;padding:92px 12px !important;animation-duration:34s !important;}
  #masiGuestCarouselFixed .masi-guest-card{width:92px !important;min-height:146px !important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:82px !important;height:110px !important;}
  #masiGuestCarouselFixed .masi-guest-name{width:82px !important;font-size:.9rem !important;}
}

/* =========================================================
   MINIMAL GUEST CAROUSEL — face + name only
   Removes frame/card/background/shadow and keeps the rail on the left.
   ========================================================= */
#masiGuestCarouselFixed{
  position:fixed !important;
  left:clamp(18px, 3vw, 46px) !important;
  top:0 !important;
  bottom:0 !important;
  width:clamp(118px, 11vw, 172px) !important;
  height:100vh !important;
  z-index:3900 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:hidden !important;
  pointer-events:auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#masiGuestCarouselFixed::before,
#masiGuestCarouselFixed::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  height:14vh !important;
  z-index:2 !important;
  pointer-events:none !important;
}
#masiGuestCarouselFixed::before{top:0 !important;background:linear-gradient(180deg,#050609,rgba(5,6,9,0)) !important;}
#masiGuestCarouselFixed::after{bottom:0 !important;background:linear-gradient(0deg,#050609,rgba(5,6,9,0)) !important;}
#masiGuestCarouselFixed .masi-guest-carousel-track{
  width:100% !important;
  height:max-content !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:30px !important;
  padding:104px 0 104px !important;
  animation:masiGuestCarouselMove 42s linear infinite !important;
  will-change:transform !important;
}
#masiGuestCarouselFixed:hover .masi-guest-carousel-track{animation-play-state:paused !important;}
#masiGuestCarouselFixed .masi-guest-card{
  width:clamp(108px, 10vw, 158px) !important;
  min-height:auto !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:start !important;
  justify-items:center !important;
  text-decoration:none !important;
  color:rgba(246,243,238,.94) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}
#masiGuestCarouselFixed .masi-guest-photo{
  position:relative !important;
  width:clamp(108px, 10vw, 158px) !important;
  height:clamp(138px, 13vw, 206px) !important;
  overflow:hidden !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
}
#masiGuestCarouselFixed .masi-guest-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center 18% !important;
  opacity:1 !important;
  visibility:visible !important;
  max-width:none !important;
  transform:scale(1.18) !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
#masiGuestCarouselFixed .masi-guest-img-bw{
  z-index:1 !important;
  filter:grayscale(1) contrast(1.08) brightness(.9) !important;
}
#masiGuestCarouselFixed .masi-guest-img-color{
  z-index:2 !important;
  opacity:0 !important;
  transition:opacity .35s ease !important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-color,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-color{
  opacity:1 !important;
}
#masiGuestCarouselFixed .masi-guest-name{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-family:var(--title,"Oswald",sans-serif) !important;
  font-weight:300 !important;
  font-size:clamp(1rem,1.25vw,1.48rem) !important;
  line-height:.92 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
  color:rgba(246,243,238,.94) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:0 10px 30px rgba(0,0,0,.46) !important;
}
@media(max-width:900px){
  #masiGuestCarouselFixed{left:12px !important;width:98px !important;}
  #masiGuestCarouselFixed .masi-guest-carousel-track{gap:24px !important;padding:92px 0 !important;animation-duration:34s !important;}
  #masiGuestCarouselFixed .masi-guest-card{width:92px !important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:92px !important;height:122px !important;}
  #masiGuestCarouselFixed .masi-guest-name{font-size:.86rem !important;}
}

/* =========================================================
   FINAL PATCH — homepage guest carousel: bigger faces,
   wider spacing, soft blurred portrait edges, no old rail.
   ========================================================= */
#episodeCarousel,
.episode-carousel,
#masiStablePortraitRail,
#masiPortraitRailFinal{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#masiGuestCarouselFixed{
  left:clamp(16px,2vw,34px)!important;
  width:clamp(160px,16vw,265px)!important;
  opacity:.88!important;
  filter:none!important;
  z-index:3!important;
  background:transparent!important;
}
#masiGuestCarouselFixed .masi-guest-carousel-track{
  gap:clamp(56px,8.4vh,112px)!important;
  padding:clamp(112px,15vh,170px) 0!important;
  animation-duration:48s!important;
}
#masiGuestCarouselFixed .masi-guest-card{
  width:clamp(148px,14.5vw,245px)!important;
  gap:clamp(16px,2.2vh,30px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#masiGuestCarouselFixed .masi-guest-photo{
  width:clamp(148px,14.5vw,245px)!important;
  height:clamp(205px,21vw,355px)!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 44%,rgba(0,0,0,.86) 60%,rgba(0,0,0,.42) 76%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 44%,rgba(0,0,0,.86) 60%,rgba(0,0,0,.42) 76%,transparent 100%)!important;
}
#masiGuestCarouselFixed .masi-guest-photo::after{
  content:""!important;
  position:absolute!important;
  inset:-13%!important;
  z-index:5!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,transparent 39%,rgba(5,6,9,.18) 63%,rgba(5,6,9,.88) 100%)!important;
  filter:blur(12px)!important;
}
#masiGuestCarouselFixed .masi-guest-img{
  transform:scale(1.34)!important;
  object-position:center 17%!important;
  transition:opacity .45s ease,transform .65s cubic-bezier(.22,1,.36,1),filter .45s ease!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img{
  transform:scale(1.42)!important;
}
#masiGuestCarouselFixed .masi-guest-name{
  font-size:clamp(1.18rem,1.65vw,2.1rem)!important;
  letter-spacing:.015em!important;
  margin-top:0!important;
  color:rgba(246,243,238,.9)!important;
}
@media(max-width:900px){
  #masiGuestCarouselFixed{left:10px!important;width:34vw!important;opacity:.42!important;}
  #masiGuestCarouselFixed .masi-guest-carousel-track{gap:48px!important;padding:92px 0!important;}
  #masiGuestCarouselFixed .masi-guest-card{width:32vw!important;gap:14px!important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:32vw!important;height:46vw!important;}
  #masiGuestCarouselFixed .masi-guest-name{font-size:clamp(.86rem,3.5vw,1.25rem)!important;}
}

/* =========================================================
   FINAL USER ADJUSTMENT — full portraits, softer edges,
   5% smaller carousel, script page higher.
   ========================================================= */
#masiGuestCarouselFixed{
  width:clamp(152px,15.2vw,252px)!important;
}
#masiGuestCarouselFixed .masi-guest-carousel-track{
  gap:clamp(56px,8.4vh,112px)!important;
  padding:clamp(100px,13.5vh,154px) 0!important;
}
#masiGuestCarouselFixed .masi-guest-card{
  width:clamp(141px,13.8vw,233px)!important;
  gap:clamp(16px,2.2vh,30px)!important;
}
#masiGuestCarouselFixed .masi-guest-photo{
  width:clamp(141px,13.8vw,233px)!important;
  height:clamp(195px,20vw,337px)!important;
  overflow:hidden!important;
  background:transparent!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.96) 70%,rgba(0,0,0,.58) 86%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.96) 70%,rgba(0,0,0,.58) 86%,transparent 100%)!important;
}
#masiGuestCarouselFixed .masi-guest-photo::after{
  content:""!important;
  position:absolute!important;
  inset:-8%!important;
  z-index:5!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,transparent 58%,rgba(5,6,9,.10) 74%,rgba(5,6,9,.76) 100%)!important;
  filter:blur(10px)!important;
}
#masiGuestCarouselFixed .masi-guest-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:scale(.95)!important;
  transition:opacity .45s ease,transform .65s cubic-bezier(.22,1,.36,1),filter .45s ease!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img{
  transform:scale(.98)!important;
}

@media (min-width:901px){
  body.vertical-script-mode .stage{
    padding-top:clamp(88px,15vh,109px)!important;
  }
}

@media(max-width:900px){
  #masiGuestCarouselFixed{width:32vw!important;}
  #masiGuestCarouselFixed .masi-guest-card{width:30.4vw!important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:30.4vw!important;height:43.7vw!important;}
  #masiGuestCarouselFixed .masi-guest-img{object-fit:contain!important;transform:scale(.95)!important;}
}

/* =========================================================
   USER FINAL TUNE — carousel alignment + closer names + Joakim hover
   ========================================================= */
#masiGuestCarouselFixed{
  left:clamp(4px, .8vw, 16px)!important;
  width:clamp(145px,14.45vw,239px)!important;
}
#masiGuestCarouselFixed .masi-guest-carousel-track{
  align-items:center!important;
  gap:clamp(52px,7.8vh,104px)!important;
  padding:clamp(94px,12.8vh,146px) 0!important;
}
#masiGuestCarouselFixed .masi-guest-card{
  width:clamp(134px,13.1vw,221px)!important;
  gap:clamp(5px,.85vh,10px)!important;
  justify-items:center!important;
  align-items:start!important;
}
#masiGuestCarouselFixed .masi-guest-photo{
  width:clamp(134px,13.1vw,221px)!important;
  height:clamp(185px,19vw,320px)!important;
  margin:0 auto!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 64%,rgba(0,0,0,.98) 76%,rgba(0,0,0,.68) 90%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 64%,rgba(0,0,0,.98) 76%,rgba(0,0,0,.68) 90%,transparent 100%)!important;
}
#masiGuestCarouselFixed .masi-guest-photo::after{
  inset:-5%!important;
  background:radial-gradient(ellipse at center,transparent 64%,rgba(5,6,9,.08) 80%,rgba(5,6,9,.66) 100%)!important;
  filter:blur(9px)!important;
}
#masiGuestCarouselFixed .masi-guest-img{
  object-fit:contain!important;
  object-position:center center!important;
  transform:scale(.95)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img{
  transform:scale(.97)!important;
}
#masiGuestCarouselFixed .masi-guest-name{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  justify-self:center!important;
  font-size:clamp(1.12rem,1.55vw,1.98rem)!important;
  line-height:.9!important;
}
/* Make the color reveal more explicit, especially for Joakim. */
#masiGuestCarouselFixed .masi-guest-img-bw{
  opacity:1!important;
  transition:opacity .35s ease,filter .35s ease,transform .65s cubic-bezier(.22,1,.36,1)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-bw,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-bw{
  opacity:0!important;
}
#masiGuestCarouselFixed .masi-guest-img-color{
  opacity:0!important;
  filter:none!important;
  transition:opacity .35s ease,transform .65s cubic-bezier(.22,1,.36,1)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-color,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-color{
  opacity:1!important;
}
@media(max-width:900px){
  #masiGuestCarouselFixed{left:4px!important;width:30.4vw!important;}
  #masiGuestCarouselFixed .masi-guest-card{width:28.8vw!important;gap:6px!important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:28.8vw!important;height:41.5vw!important;}
  #masiGuestCarouselFixed .masi-guest-name{font-size:clamp(.82rem,3.2vw,1.16rem)!important;}
}


/* HOMEPAGE GUEST ANNOUNCEMENT VIDEO PREVIEW */
#scriptPage.has-guest-announcement{position:relative!important;}
#guestAnnouncementPreview{position:absolute!important;inset:0!important;z-index:40!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .55s cubic-bezier(.22,1,.36,1),visibility .55s ease!important;background:var(--paper,#f2ebdd)!important;}
#guestAnnouncementPreview.is-active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
#guestAnnouncementPreview .guest-announcement-video-shell{position:absolute!important;inset:clamp(18px,3vw,38px)!important;overflow:hidden!important;background:#050609!important;border-radius:3px!important;box-shadow:inset 0 0 0 1px rgba(246,243,238,.08)!important;}
#guestAnnouncementPreview .guest-announcement-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:contrast(1.05) brightness(.78) saturate(.92)!important;transform:scale(1.015)!important;}
#guestAnnouncementPreview.video-missing .guest-announcement-video{opacity:0!important;}
#guestAnnouncementPreview .guest-announcement-fallback{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;font-family:var(--mono,"Courier Prime",monospace)!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:.68rem!important;color:rgba(246,243,238,.48)!important;background:radial-gradient(circle at 50% 28%,rgba(215,199,173,.12),transparent 36%),linear-gradient(135deg,#050609,#08111f 68%,#14263c)!important;}
#guestAnnouncementPreview .guest-announcement-shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(5,6,9,.18),rgba(5,6,9,.52)),radial-gradient(circle at 50% 45%,transparent 36%,rgba(5,6,9,.72) 100%)!important;pointer-events:none!important;}
#guestAnnouncementPreview .guest-announcement-copy{position:absolute!important;left:clamp(22px,4vw,58px)!important;right:clamp(22px,4vw,58px)!important;bottom:clamp(22px,4vw,58px)!important;color:var(--white,#f6f3ee)!important;}
#guestAnnouncementPreview .guest-announcement-kicker,#guestAnnouncementPreview .guest-announcement-meta{font-family:var(--mono,"Courier Prime",monospace)!important;text-transform:uppercase!important;letter-spacing:.17em!important;font-size:.68rem!important;color:rgba(215,199,173,.82)!important;}
#guestAnnouncementPreview .guest-announcement-title{margin:8px 0 10px!important;font-family:var(--title,"Oswald",sans-serif)!important;text-transform:uppercase!important;letter-spacing:-.04em!important;font-weight:300!important;line-height:.88!important;font-size:clamp(3.2rem,8vw,7.8rem)!important;color:rgba(246,243,238,.96)!important;text-shadow:0 24px 80px rgba(0,0,0,.72)!important;}
#guestAnnouncementPreview .guest-announcement-sound{margin-top:18px!important;min-height:42px!important;padding:11px 17px!important;border:1px solid rgba(215,199,173,.42)!important;border-radius:999px!important;background:rgba(5,6,9,.36)!important;color:rgba(246,243,238,.92)!important;backdrop-filter:blur(10px)!important;font-family:var(--mono,"Courier Prime",monospace)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.62rem!important;}
#guestAnnouncementPreview.sound-on .guest-announcement-sound{background:rgba(246,243,238,.92)!important;color:#050609!important;}
@media(max-width:900px){#guestAnnouncementPreview .guest-announcement-video-shell{inset:14px!important;}#guestAnnouncementPreview .guest-announcement-title{font-size:clamp(2.4rem,12vw,4.8rem)!important;}}


/* === FINAL VIDEO ANNOUNCEMENT FIT + HIGHER SCRIPT PAGE === */
.stage{
  padding-top:clamp(26px,3.2vw,54px)!important;
}
.page-stack{
  min-height:min(78vh, calc(100vh - 100px))!important;
}
.page{
  min-height:min(78vh, calc(100vh - 100px))!important;
}
#scriptPage.has-guest-announcement{
  position:relative!important;
  overflow:hidden!important;
}
#scriptPage.has-guest-announcement > :not(#guestAnnouncementPreview){
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .35s ease!important;
}
#guestAnnouncementPreview{
  position:absolute!important;
  inset:0!important;
  z-index:50!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .38s cubic-bezier(.22,1,.36,1)!important;
  color:var(--white,#f6f3ee)!important;
}
#guestAnnouncementPreview.is-active{
  opacity:1!important;
  pointer-events:auto!important;
}
#guestAnnouncementPreview .guest-announcement-layout{
  position:absolute!important;
  inset:clamp(18px,3vw,38px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(250px,.72fr)!important;
  gap:clamp(18px,3vw,34px)!important;
  align-items:stretch!important;
  height:auto!important;
  max-height:calc(100% - clamp(36px,6vw,76px))!important;
}
#guestAnnouncementPreview .guest-announcement-video-shell{
  position:relative!important;
  inset:auto!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#050609!important;
  border-radius:3px!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
}
#guestAnnouncementPreview .guest-announcement-video{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:contrast(1.04) brightness(.9) saturate(.95)!important;
  transform:none!important;
  background:#050609!important;
  opacity:0!important;
  transition:opacity .3s ease!important;
  z-index:2!important;
}
#guestAnnouncementPreview.video-ready .guest-announcement-video{
  opacity:1!important;
}
#guestAnnouncementPreview .guest-announcement-fallback{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  padding:24px!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
  font-size:.62rem!important;
  color:rgba(246,243,238,.38)!important;
  background:radial-gradient(circle at 50% 28%,rgba(215,199,173,.10),transparent 34%),linear-gradient(135deg,#050609,#08111f 68%,#14263c)!important;
  z-index:1!important;
}
#guestAnnouncementPreview.video-ready .guest-announcement-fallback{
  opacity:0!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-fallback::after{
  content:"Check the /videos file path";
  display:block;
  margin-top:12px;
  letter-spacing:.12em;
  color:rgba(215,199,173,.62);
}
#guestAnnouncementPreview .guest-announcement-video-edge{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:3!important;
  background:linear-gradient(90deg,#050609 0%,rgba(5,6,9,0) 7%,rgba(5,6,9,0) 93%,#050609 100%),linear-gradient(180deg,#050609 0%,rgba(5,6,9,0) 8%,rgba(5,6,9,0) 92%,#050609 100%)!important;
  opacity:.34!important;
}
#guestAnnouncementPreview .guest-announcement-copy{
  position:relative!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  align-self:center!important;
  color:var(--white,#f6f3ee)!important;
  max-width:420px!important;
  padding:clamp(8px,1vw,14px) 0!important;
}
#guestAnnouncementPreview .guest-announcement-kicker,
#guestAnnouncementPreview .guest-announcement-meta{
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
  font-size:.68rem!important;
  color:rgba(215,199,173,.82)!important;
}
#guestAnnouncementPreview .guest-announcement-title{
  margin:10px 0 16px!important;
  font-family:var(--title,"Oswald",sans-serif)!important;
  text-transform:uppercase!important;
  letter-spacing:-.04em!important;
  font-weight:300!important;
  line-height:.9!important;
  font-size:clamp(2.8rem,5.6vw,6.4rem)!important;
  color:rgba(246,243,238,.96)!important;
  text-shadow:0 24px 80px rgba(0,0,0,.72)!important;
}
#guestAnnouncementPreview .guest-announcement-logline{
  margin:0 0 20px!important;
  max-width:34em!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  font-size:clamp(.92rem,1.12vw,1.08rem)!important;
  line-height:1.65!important;
  color:rgba(246,243,238,.72)!important;
}
#guestAnnouncementPreview .guest-announcement-sound{
  margin-top:8px!important;
  min-height:42px!important;
  padding:11px 17px!important;
  border:1px solid rgba(215,199,173,.42)!important;
  border-radius:999px!important;
  background:rgba(5,6,9,.36)!important;
  color:rgba(246,243,238,.92)!important;
  backdrop-filter:blur(10px)!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:.62rem!important;
}
#guestAnnouncementPreview.sound-on .guest-announcement-sound{
  background:rgba(246,243,238,.92)!important;
  color:#050609!important;
}
@media(max-width:900px){
  .stage{padding-top:26px!important;}
  #guestAnnouncementPreview .guest-announcement-layout{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(220px,52vh) auto!important;
    gap:16px!important;
    overflow:hidden!important;
  }
  #guestAnnouncementPreview .guest-announcement-title{font-size:clamp(2.3rem,10vw,4.2rem)!important;}
  #guestAnnouncementPreview .guest-announcement-copy{align-self:start!important;max-width:none!important;}
}


/* === USER FIX: video preview must fit inside visible script page + higher page === */
@media (min-width:901px){
  body.vertical-script-mode .stage,
  .stage{
    padding-top:clamp(10px,1.4vw,28px)!important;
  }
  body.vertical-script-mode .page-stack,
  .page-stack{
    margin-top:0!important;
  }
}
#scriptPage.has-guest-announcement{
  overflow:hidden!important;
}
#guestAnnouncementPreview{
  background:var(--paper,#f2ebdd)!important;
  overflow:hidden!important;
}
#guestAnnouncementPreview .guest-announcement-layout{
  top:clamp(18px,2.2vw,30px)!important;
  left:clamp(24px,3vw,44px)!important;
  right:clamp(24px,3vw,44px)!important;
  bottom:auto!important;
  inset:auto clamp(24px,3vw,44px) auto clamp(24px,3vw,44px)!important;
  height:min(360px,calc(100vh - 150px),calc(100% - 52px))!important;
  max-height:min(360px,calc(100vh - 150px),calc(100% - 52px))!important;
  display:grid!important;
  grid-template-columns:minmax(0,.98fr) minmax(210px,.72fr)!important;
  gap:clamp(18px,2.4vw,32px)!important;
  align-items:stretch!important;
  overflow:visible!important;
}
#guestAnnouncementPreview .guest-announcement-video-shell{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  position:relative!important;
  overflow:hidden!important;
  background:#050609!important;
}
#guestAnnouncementPreview .guest-announcement-video{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
#guestAnnouncementPreview .guest-announcement-copy{
  align-self:center!important;
  padding:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
#guestAnnouncementPreview .guest-announcement-title{
  font-size:clamp(2.25rem,4.2vw,4.9rem)!important;
  margin:8px 0 12px!important;
}
#guestAnnouncementPreview .guest-announcement-logline{
  font-size:clamp(.82rem,.92vw,.98rem)!important;
  line-height:1.55!important;
  margin:0 0 14px!important;
}
#guestAnnouncementPreview .guest-announcement-sound{
  margin-top:4px!important;
}
@media(max-width:900px){
  .stage{padding-top:14px!important;}
  #guestAnnouncementPreview .guest-announcement-layout{
    inset:14px!important;
    height:calc(100% - 28px)!important;
    max-height:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,58%) minmax(0,42%)!important;
  }
}

/* === FINAL USER FIX: portrait video inside visible script page + mobile bottom carousel === */
@media (min-width:901px){
  body.vertical-script-mode .stage,
  .stage{
    padding-top:clamp(8px,1.1vw,22px)!important;
  }
}

#scriptPage.has-guest-announcement{
  overflow:hidden!important;
}

#guestAnnouncementPreview{
  position:absolute!important;
  inset:0!important;
  background:var(--paper,#f2ebdd)!important;
  overflow:hidden!important;
  z-index:40!important;
}

#guestAnnouncementPreview .guest-announcement-layout{
  position:absolute!important;
  top:clamp(22px,3.1vw,52px)!important;
  right:clamp(24px,3.5vw,58px)!important;
  bottom:clamp(22px,3.1vw,52px)!important;
  left:clamp(24px,3.5vw,58px)!important;
  height:auto!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:minmax(210px,clamp(230px,30vw,360px)) minmax(0,1fr)!important;
  gap:clamp(24px,4vw,60px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

#guestAnnouncementPreview .guest-announcement-video-shell{
  position:relative!important;
  align-self:stretch!important;
  justify-self:center!important;
  height:100%!important;
  max-height:100%!important;
  width:auto!important;
  max-width:100%!important;
  aspect-ratio:9/16!important;
  overflow:hidden!important;
  background:#050609!important;
  border-radius:3px!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18)!important;
}

#guestAnnouncementPreview .guest-announcement-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#050609!important;
  filter:contrast(1.03) brightness(.94) saturate(.96)!important;
  transform:none!important;
}

#guestAnnouncementPreview .guest-announcement-fallback{
  background:
    radial-gradient(circle at 50% 25%,rgba(20,24,32,.08),transparent 38%),
    linear-gradient(180deg,rgba(20,24,32,.10),rgba(20,24,32,.04)),
    var(--paper,#f2ebdd)!important;
  color:rgba(20,24,32,.48)!important;
}

#guestAnnouncementPreview .guest-announcement-video-edge{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,transparent 66%,rgba(5,6,9,.18) 86%,rgba(5,6,9,.54) 100%)!important;
}

#guestAnnouncementPreview .guest-announcement-copy{
  align-self:center!important;
  justify-self:start!important;
  max-width:min(420px,100%)!important;
  max-height:100%!important;
  overflow:hidden!important;
  padding:0!important;
  color:var(--ink,#141820)!important;
}

#guestAnnouncementPreview .guest-announcement-kicker,
#guestAnnouncementPreview .guest-announcement-meta{
  color:rgba(20,24,32,.42)!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
}

#guestAnnouncementPreview .guest-announcement-title{
  color:var(--ink,#141820)!important;
  text-shadow:none!important;
  font-size:clamp(3.2rem,5.5vw,6.4rem)!important;
  line-height:.88!important;
  margin:10px 0 18px!important;
}

#guestAnnouncementPreview .guest-announcement-logline{
  max-width:32em!important;
  color:rgba(20,24,32,.68)!important;
  font-size:clamp(.9rem,1vw,1.06rem)!important;
  line-height:1.62!important;
  margin:0 0 18px!important;
}

#guestAnnouncementPreview .guest-announcement-sound{
  background:rgba(20,24,32,.10)!important;
  color:rgba(20,24,32,.78)!important;
  border:1px solid rgba(20,24,32,.18)!important;
  backdrop-filter:none!important;
}

#guestAnnouncementPreview.sound-on .guest-announcement-sound{
  background:var(--ink,#141820)!important;
  color:var(--paper,#f2ebdd)!important;
}

/* Mobile: carousel becomes a bottom rail; preview stays readable and vertical. */
@media (max-width:900px){
  body{padding-bottom:clamp(168px,32vh,240px)!important;}
  .stage{padding-top:12px!important;padding-bottom:clamp(190px,36vh,260px)!important;}

  #masiGuestCarouselFixed{
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    width:100vw!important;
    height:clamp(156px,30vh,232px)!important;
    opacity:1!important;
    background:linear-gradient(0deg,rgba(5,6,9,.99),rgba(5,6,9,.88) 72%,rgba(5,6,9,0))!important;
    border-right:0!important;
    border-top:1px solid rgba(246,243,238,.10)!important;
    overflow:hidden!important;
  }
  #masiGuestCarouselFixed::before,
  #masiGuestCarouselFixed::after{
    top:0!important;
    bottom:0!important;
    width:16vw!important;
    height:100%!important;
    z-index:3!important;
  }
  #masiGuestCarouselFixed::before{
    left:0!important;right:auto!important;
    background:linear-gradient(90deg,#050609,rgba(5,6,9,0))!important;
  }
  #masiGuestCarouselFixed::after{
    right:0!important;left:auto!important;
    background:linear-gradient(270deg,#050609,rgba(5,6,9,0))!important;
  }
  #masiGuestCarouselFixed .masi-guest-carousel-track{
    width:max-content!important;
    height:100%!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:clamp(20px,7vw,46px)!important;
    padding:18px 42px 22px!important;
    animation:masiGuestCarouselMoveMobile 38s linear infinite!important;
  }
  #masiGuestCarouselFixed .masi-guest-card{
    width:clamp(96px,25vw,138px)!important;
    gap:6px!important;
    justify-items:center!important;
  }
  #masiGuestCarouselFixed .masi-guest-photo{
    width:clamp(92px,24vw,130px)!important;
    height:clamp(112px,25vh,164px)!important;
  }
  #masiGuestCarouselFixed .masi-guest-name{
    width:100%!important;
    text-align:center!important;
    font-size:clamp(.82rem,3.1vw,1.05rem)!important;
    line-height:.95!important;
  }

  #guestAnnouncementPreview .guest-announcement-layout{
    inset:14px!important;
    display:grid!important;
    grid-template-columns:minmax(120px,38%) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  #guestAnnouncementPreview .guest-announcement-video-shell{
    height:100%!important;
    max-height:100%!important;
    aspect-ratio:9/16!important;
  }
  #guestAnnouncementPreview .guest-announcement-copy{
    align-self:center!important;
    max-width:none!important;
  }
  #guestAnnouncementPreview .guest-announcement-title{
    font-size:clamp(2rem,9vw,3.4rem)!important;
    margin:6px 0 10px!important;
  }
  #guestAnnouncementPreview .guest-announcement-logline{
    font-size:clamp(.74rem,2.8vw,.9rem)!important;
    line-height:1.45!important;
    margin-bottom:10px!important;
  }
  #guestAnnouncementPreview .guest-announcement-kicker,
  #guestAnnouncementPreview .guest-announcement-meta{
    font-size:.56rem!important;
  }
  #guestAnnouncementPreview .guest-announcement-sound{
    min-height:36px!important;
    padding:9px 12px!important;
    font-size:.54rem!important;
  }
}

@keyframes masiGuestCarouselMoveMobile{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

/* === FINAL REEL FORMAT FIX: remove video letterbox bars while keeping Instagram portrait shape === */
#guestAnnouncementPreview .guest-announcement-video-shell{
  aspect-ratio:9/16!important;
  background:transparent!important;
  overflow:hidden!important;
  align-self:center!important;
  height:min(100%, clamp(360px, 62vh, 620px))!important;
  max-height:100%!important;
  width:auto!important;
}

#guestAnnouncementPreview .guest-announcement-video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
  transform:scale(1.035)!important;
}

#guestAnnouncementPreview .guest-announcement-video-edge{
  background:
    linear-gradient(to bottom, rgba(242,235,221,.18), transparent 8%, transparent 92%, rgba(242,235,221,.18)),
    radial-gradient(ellipse at center, transparent 68%, rgba(242,235,221,.10) 84%, rgba(242,235,221,.28) 100%)!important;
}

#guestAnnouncementPreview .guest-announcement-layout{
  align-items:center!important;
}

#guestAnnouncementPreview .guest-announcement-copy{
  align-self:center!important;
}

@media (max-width:900px){
  #guestAnnouncementPreview .guest-announcement-video-shell{
    height:min(100%, clamp(230px, 52vh, 430px))!important;
    max-height:100%!important;
  }
  #guestAnnouncementPreview .guest-announcement-video{
    object-fit:cover!important;
    transform:scale(1.03)!important;
  }
}

/* === FINAL POSITION FIX: keep reel announcement at top of visible script page === */
@media (min-width:901px){
  #guestAnnouncementPreview .guest-announcement-layout{
    top:clamp(16px,2.1vw,34px)!important;
    bottom:auto!important;
    height:calc(100% - clamp(32px,4.2vw,68px))!important;
    align-items:start!important;
  }
  #guestAnnouncementPreview .guest-announcement-video-shell{
    align-self:start!important;
    height:min(100%, clamp(360px, 58vh, 600px))!important;
  }
  #guestAnnouncementPreview .guest-announcement-copy{
    align-self:start!important;
    padding-top:clamp(10px,2.2vw,34px)!important;
  }
}

/* === FINAL DELIVERY: announcement preview with scene heading, controls, and reel fit === */
body.site-entered .stage{
  padding-top:clamp(34px,4.8vh,62px)!important;
}
#scriptPage.has-guest-announcement{
  position:relative!important;
  overflow:hidden!important;
}
#scriptPage.has-guest-announcement > :not(#guestAnnouncementPreview){
  opacity:.08!important;
  filter:blur(1px)!important;
  pointer-events:none!important;
}
#guestAnnouncementPreview{
  position:absolute!important;
  inset:clamp(18px,2.8vw,36px) clamp(22px,3.6vw,46px) clamp(18px,2.6vw,34px)!important;
  z-index:70!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  gap:clamp(12px,1.8vh,18px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:transparent!important;
  transition:opacity .38s cubic-bezier(.22,1,.36,1),visibility .38s ease!important;
}
#guestAnnouncementPreview.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
#guestAnnouncementPreview .guest-announcement-scene{
  font-family:var(--mono,"Courier Prime",monospace)!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  color:var(--ink,#141820)!important;
  border-bottom:1px solid rgba(20,24,32,.16)!important;
  padding-bottom:12px!important;
  font-size:clamp(.72rem,.95vw,.9rem)!important;
  line-height:1.35!important;
}
#guestAnnouncementPreview .guest-announcement-layout{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(150px, .58fr) minmax(220px, 1fr)!important;
  gap:clamp(20px,3.2vw,42px)!important;
  align-items:start!important;
}
#guestAnnouncementPreview .guest-announcement-video-column{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:clamp(10px,1.6vh,16px)!important;
}
#guestAnnouncementPreview .guest-announcement-video-shell{
  position:relative!important;
  width:min(100%, 245px)!important;
  aspect-ratio:9/16!important;
  max-height:clamp(280px,50vh,470px)!important;
  overflow:hidden!important;
  border-radius:3px!important;
  background:#050609!important;
  box-shadow:0 28px 70px rgba(0,0,0,.23), inset 0 0 0 1px rgba(20,24,32,.10)!important;
}
#guestAnnouncementPreview .guest-announcement-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:contrast(1.035) brightness(.94) saturate(1.04)!important;
  transform:scale(1.01)!important;
  opacity:1!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-video{opacity:0!important;}
#guestAnnouncementPreview .guest-announcement-video-edge{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(5,6,9,.08),transparent 14%,transparent 86%,rgba(5,6,9,.10)),linear-gradient(90deg,rgba(5,6,9,.10),transparent 12%,transparent 88%,rgba(5,6,9,.10))!important;
  mix-blend-mode:multiply!important;
}
#guestAnnouncementPreview .guest-announcement-fallback{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  padding:22px!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font-size:.58rem!important;
  color:rgba(246,243,238,.48)!important;
  background:radial-gradient(circle at 50% 28%,rgba(215,199,173,.12),transparent 38%),linear-gradient(135deg,#050609,#08111f 68%,#14263c)!important;
  opacity:1!important;
  transition:opacity .28s ease!important;
}
#guestAnnouncementPreview.video-ready .guest-announcement-fallback{opacity:0!important;pointer-events:none!important;}
#guestAnnouncementPreview.video-missing .guest-announcement-fallback::after{content:" /videos path not found";display:block;margin-top:8px;letter-spacing:.12em;}
#guestAnnouncementPreview .guest-announcement-copy{
  align-self:start!important;
  color:var(--ink,#141820)!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding-top:clamp(2px,.8vh,8px)!important;
}
#guestAnnouncementPreview .guest-announcement-kicker{
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font-size:.66rem!important;
  color:rgba(20,24,32,.52)!important;
  margin-bottom:clamp(8px,1.4vh,14px)!important;
}
#guestAnnouncementPreview .guest-announcement-title{
  margin:0 0 clamp(10px,1.8vh,18px)!important;
  font-family:var(--title,"Oswald",sans-serif)!important;
  text-transform:uppercase!important;
  letter-spacing:-.045em!important;
  font-weight:300!important;
  line-height:.88!important;
  font-size:clamp(2.45rem,5.2vw,5.8rem)!important;
  color:var(--ink,#141820)!important;
}
#guestAnnouncementPreview .guest-announcement-logline{
  margin:0 0 clamp(12px,2vh,20px)!important;
  max-width:36rem!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  color:rgba(20,24,32,.72)!important;
  line-height:1.58!important;
  font-size:clamp(.78rem,1.05vw,.98rem)!important;
}
#guestAnnouncementPreview .guest-announcement-controls{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 clamp(14px,2.3vh,24px)!important;
}
#guestAnnouncementPreview .guest-announcement-sound,
#guestAnnouncementPreview .guest-announcement-replay{
  min-height:38px!important;
  padding:10px 15px!important;
  border:1px solid rgba(20,24,32,.22)!important;
  border-radius:999px!important;
  background:rgba(20,24,32,.055)!important;
  color:rgba(20,24,32,.82)!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:.58rem!important;
  box-shadow:none!important;
}
#guestAnnouncementPreview.sound-on .guest-announcement-sound,
#guestAnnouncementPreview .guest-announcement-replay:hover,
#guestAnnouncementPreview .guest-announcement-sound:hover{
  background:var(--ink,#141820)!important;
  color:var(--paper,#f2ebdd)!important;
  border-color:var(--ink,#141820)!important;
}
#guestAnnouncementPreview .guest-announcement-meta{
  margin:0!important;
  padding:clamp(12px,2vh,18px) 0 0!important;
  border-top:1px solid rgba(20,24,32,.14)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(10px,1.5vw,18px)!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  text-transform:uppercase!important;
}
#guestAnnouncementPreview .guest-announcement-meta div{min-width:0!important;}
#guestAnnouncementPreview .guest-announcement-meta dt{
  margin:0 0 5px!important;
  font-size:.55rem!important;
  letter-spacing:.14em!important;
  color:rgba(20,24,32,.42)!important;
}
#guestAnnouncementPreview .guest-announcement-meta dd{
  margin:0!important;
  font-size:.66rem!important;
  line-height:1.35!important;
  letter-spacing:.09em!important;
  color:rgba(20,24,32,.72)!important;
}
#guestAnnouncementPreview .guest-announcement-roomline{
  max-width:245px!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  border-top:1px solid rgba(20,24,32,.14)!important;
  padding-top:10px!important;
  color:rgba(20,24,32,.67)!important;
  font-size:.68rem!important;
  line-height:1.5!important;
}
#guestAnnouncementPreview .guest-announcement-roomline strong{
  display:block!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  color:rgba(20,24,32,.46)!important;
  font-size:.56rem!important;
  margin-bottom:4px!important;
}
@media(max-width:900px){
  body.site-entered .stage{padding-top:18px!important;padding-bottom:170px!important;}
  #guestAnnouncementPreview{inset:18px 18px 22px!important;gap:10px!important;}
  #guestAnnouncementPreview .guest-announcement-layout{grid-template-columns:1fr!important;gap:14px!important;align-content:start!important;}
  #guestAnnouncementPreview .guest-announcement-video-column{justify-items:center!important;}
  #guestAnnouncementPreview .guest-announcement-video-shell{width:min(52vw,210px)!important;max-height:38svh!important;}
  #guestAnnouncementPreview .guest-announcement-roomline{display:none!important;}
  #guestAnnouncementPreview .guest-announcement-title{font-size:clamp(2rem,10vw,3.8rem)!important;margin-bottom:8px!important;}
  #guestAnnouncementPreview .guest-announcement-logline{font-size:.72rem!important;line-height:1.44!important;margin-bottom:10px!important;}
  #guestAnnouncementPreview .guest-announcement-controls{margin-bottom:10px!important;}
  #guestAnnouncementPreview .guest-announcement-meta{grid-template-columns:1fr 1fr 1fr!important;gap:8px!important;padding-top:10px!important;}
  #guestAnnouncementPreview .guest-announcement-meta dt{font-size:.48rem!important;}
  #guestAnnouncementPreview .guest-announcement-meta dd{font-size:.55rem!important;}
  #masiGuestCarouselFixed{top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:145px!important;transform:none!important;z-index:3500!important;}
  #masiGuestCarouselFixed .masi-guest-carousel-track{display:flex!important;align-items:end!important;gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:12px 22px 18px!important;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)!important;}
  #masiGuestCarouselFixed .masi-guest-card{flex:0 0 92px!important;min-width:92px!important;margin:0!important;transform:none!important;}
  #masiGuestCarouselFixed .masi-guest-photo{width:92px!important;height:108px!important;}
  #masiGuestCarouselFixed .masi-guest-name{font-size:.62rem!important;margin-top:4px!important;white-space:normal!important;line-height:1.05!important;}
}
@media(max-height:740px) and (min-width:901px){
  #guestAnnouncementPreview .guest-announcement-video-shell{width:min(100%,205px)!important;max-height:42vh!important;}
  #guestAnnouncementPreview .guest-announcement-title{font-size:clamp(2.2rem,4.6vw,4.7rem)!important;}
  #guestAnnouncementPreview .guest-announcement-logline{font-size:.78rem!important;line-height:1.46!important;}
  #guestAnnouncementPreview .guest-announcement-meta{padding-top:10px!important;}
}


/* === ENZA FINAL: larger announcement file composition === */
@media (min-width:901px){
  #guestAnnouncementPreview{
    inset:clamp(16px,2.4vw,30px) clamp(22px,3.5vw,44px) clamp(14px,2.2vw,28px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-layout{
    grid-template-columns:minmax(225px,.72fr) minmax(330px,1.05fr)!important;
    gap:clamp(28px,4.2vw,58px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-video-shell{
    width:min(100%,300px)!important;
    max-height:clamp(355px,60vh,560px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-roomline{
    max-width:300px!important;
    font-size:clamp(.7rem,.82vw,.84rem)!important;
  }
  #guestAnnouncementPreview .guest-announcement-scene{
    font-size:clamp(.78rem,1.04vw,1rem)!important;
    padding-bottom:clamp(10px,1.45vh,16px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-kicker{
    font-size:clamp(.7rem,.82vw,.84rem)!important;
    margin-bottom:clamp(10px,1.5vh,16px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-title{
    font-size:clamp(3.15rem,6.35vw,7rem)!important;
    margin-bottom:clamp(12px,1.9vh,20px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-logline{
    font-size:clamp(.9rem,1.18vw,1.08rem)!important;
    line-height:1.62!important;
    max-width:40rem!important;
  }
  #guestAnnouncementPreview .guest-announcement-sound,
  #guestAnnouncementPreview .guest-announcement-replay{
    min-height:42px!important;
    padding:12px 18px!important;
    font-size:clamp(.6rem,.7vw,.68rem)!important;
  }
  #guestAnnouncementPreview .guest-announcement-meta dt{
    font-size:clamp(.56rem,.65vw,.64rem)!important;
  }
  #guestAnnouncementPreview .guest-announcement-meta dd{
    font-size:clamp(.7rem,.8vw,.82rem)!important;
  }
}
@media(max-height:740px) and (min-width:901px){
  #guestAnnouncementPreview .guest-announcement-video-shell{width:min(100%,260px)!important;max-height:52vh!important;}
  #guestAnnouncementPreview .guest-announcement-title{font-size:clamp(2.8rem,5.4vw,5.7rem)!important;}
}


/* === ENZA FINAL 2: lockable announcement file, clearer sound, and balanced spacing === */
#guestAnnouncementPreview.is-locked .guest-announcement-nav{display:flex!important;}
#guestAnnouncementPreview .guest-announcement-nav{display:none!important;gap:10px!important;flex-wrap:wrap!important;margin-top:clamp(12px,2vh,20px)!important;padding-top:clamp(12px,2vh,18px)!important;border-top:1px solid rgba(20,24,32,.12)!important;}
#guestAnnouncementPreview .guest-announcement-prev,
#guestAnnouncementPreview .guest-announcement-next,
#guestAnnouncementPreview .guest-announcement-return{min-height:38px!important;padding:10px 15px!important;border:1px solid rgba(20,24,32,.22)!important;border-radius:999px!important;background:rgba(20,24,32,.045)!important;color:rgba(20,24,32,.82)!important;font-family:var(--mono,"Courier Prime",monospace)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.58rem!important;cursor:pointer!important;}
#guestAnnouncementPreview .guest-announcement-prev:hover,
#guestAnnouncementPreview .guest-announcement-next:hover,
#guestAnnouncementPreview .guest-announcement-return:hover{background:var(--ink,#141820)!important;color:var(--paper,#f2ebdd)!important;border-color:var(--ink,#141820)!important;}
#guestAnnouncementPreview .guest-announcement-sound{font-weight:700!important;}
#guestAnnouncementPreview .guest-announcement-layout{padding-top:clamp(8px,1.6vh,20px)!important;}
@media(min-width:901px){
  #guestAnnouncementPreview .guest-announcement-layout{grid-template-columns:minmax(260px,.76fr) minmax(360px,1.08fr)!important;gap:clamp(34px,4.8vw,66px)!important;}
  #guestAnnouncementPreview .guest-announcement-video-shell{width:min(100%,330px)!important;max-height:clamp(390px,64vh,600px)!important;}
  #guestAnnouncementPreview .guest-announcement-title{font-size:clamp(3.45rem,6.8vw,7.7rem)!important;}
  #guestAnnouncementPreview .guest-announcement-logline{font-size:clamp(.96rem,1.25vw,1.16rem)!important;}
  #guestAnnouncementPreview .guest-announcement-roomline{max-width:330px!important;}
  #guestAnnouncementPreview .guest-announcement-sound,
  #guestAnnouncementPreview .guest-announcement-replay,
  #guestAnnouncementPreview .guest-announcement-prev,
  #guestAnnouncementPreview .guest-announcement-next,
  #guestAnnouncementPreview .guest-announcement-return{min-height:44px!important;padding:12px 18px!important;font-size:clamp(.62rem,.72vw,.7rem)!important;}
}
@media(max-width:900px){
  #guestAnnouncementPreview .guest-announcement-nav{justify-content:center!important;margin-top:8px!important;}
  #guestAnnouncementPreview .guest-announcement-prev,
  #guestAnnouncementPreview .guest-announcement-next,
  #guestAnnouncementPreview .guest-announcement-return{font-size:.52rem!important;padding:9px 11px!important;min-height:34px!important;}
}


/* === ENZA FINAL 3: clean locked announcement page, playback controls, season link === */
#scriptPage.has-guest-announcement > :not(#guestAnnouncementPreview){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#guestAnnouncementPreview{
  background:
    radial-gradient(circle at 50% 40%, rgba(20,24,32,.035), transparent 48%),
    repeating-linear-gradient(0deg, rgba(20,24,32,.018) 0, rgba(20,24,32,.018) 1px, transparent 1px, transparent 28px),
    var(--paper,#f2ebdd)!important;
}
#guestAnnouncementPreview::before{
  content:"THE MASI ROOM"!important;
  position:absolute!important;
  left:6%!important;
  top:22%!important;
  z-index:0!important;
  pointer-events:none!important;
  font-family:var(--title,"Oswald",sans-serif)!important;
  font-size:clamp(5rem,11vw,13rem)!important;
  line-height:.75!important;
  letter-spacing:-.065em!important;
  color:rgba(20,24,32,.045)!important;
  white-space:pre-line!important;
}
#guestAnnouncementPreview > *{position:relative!important;z-index:1!important;}
#guestAnnouncementPreview .guest-announcement-controls{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;}
#guestAnnouncementPreview .guest-announcement-sound,
#guestAnnouncementPreview .guest-announcement-pause,
#guestAnnouncementPreview .guest-announcement-replay,
#guestAnnouncementPreview .guest-announcement-season{
  min-height:44px!important;
  padding:12px 18px!important;
  border:1px solid rgba(20,24,32,.20)!important;
  border-radius:999px!important;
  background:rgba(20,24,32,.055)!important;
  color:rgba(20,24,32,.82)!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:clamp(.62rem,.72vw,.7rem)!important;
  cursor:pointer!important;
}
#guestAnnouncementPreview.sound-on .guest-announcement-sound,
#guestAnnouncementPreview .guest-announcement-pause:hover,
#guestAnnouncementPreview .guest-announcement-replay:hover,
#guestAnnouncementPreview .guest-announcement-season:hover{
  background:var(--ink,#141820)!important;
  color:var(--paper,#f2ebdd)!important;
  border-color:var(--ink,#141820)!important;
}
#guestAnnouncementPreview .guest-announcement-prev,
#guestAnnouncementPreview .guest-announcement-next,
#guestAnnouncementPreview .guest-announcement-return,
#guestAnnouncementPreview .guest-announcement-season{
  margin-top:0!important;
}
#guestAnnouncementPreview .guest-announcement-nav{align-items:center!important;}
#guestAnnouncementPreview .guest-announcement-season{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
@media(max-width:900px){
  #guestAnnouncementPreview::before{font-size:20vw!important;left:4%!important;top:30%!important;}
  #guestAnnouncementPreview .guest-announcement-sound,
  #guestAnnouncementPreview .guest-announcement-pause,
  #guestAnnouncementPreview .guest-announcement-replay,
  #guestAnnouncementPreview .guest-announcement-season{min-height:34px!important;padding:9px 11px!important;font-size:.52rem!important;}
}


/* === ENZA FINAL 4: calmer carousel rhythm + larger faces === */
/* Homepage / index carousel: slightly larger portrait focus and ~5% slower drift. */
body.vertical-script-mode .episode-marquee-track{
  animation-duration:21s!important;
}
body.vertical-script-mode .ticker-photo{
  background-size:118%!important;
  background-position:center 32%!important;
  transition:background-size .54s cubic-bezier(.22,1,.36,1), filter .54s cubic-bezier(.22,1,.36,1), opacity .54s cubic-bezier(.22,1,.36,1)!important;
}
body.vertical-script-mode .episode-ticker-item:hover .ticker-photo,
body.vertical-script-mode .episode-ticker-item:focus-within .ticker-photo{
  background-size:126%!important;
  filter:grayscale(0) contrast(1.05) brightness(.98)!important;
  opacity:1!important;
}
@media(max-width:900px){
  body.vertical-script-mode .episode-marquee-track{animation-duration:21s!important;}
  body.vertical-script-mode .ticker-photo{background-size:114%!important;}
}


/* === ENZA FINAL 5: original script frame, no empty scroll, softer portrait edges === */
body.masi-announcement-active{
  overflow:hidden!important;
}
body.masi-announcement-active .stage{
  padding-top:clamp(8px,1.1vw,22px)!important;
}
#scriptPage.has-guest-announcement{
  height:min(78vh,calc(100svh - 54px))!important;
  min-height:min(78vh,calc(100svh - 54px))!important;
  overflow:hidden!important;
}
#guestAnnouncementPreview{
  inset:0!important;
  padding:clamp(44px,6vw,84px) clamp(28px,5vw,72px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:clamp(14px,2.1vh,22px)!important;
  background:transparent!important;
  overflow:hidden!important;
}
#guestAnnouncementPreview::before{
  left:7%!important;
  top:45%!important;
  transform:translateY(-50%)!important;
  color:rgba(20,24,32,.035)!important;
}
#guestAnnouncementPreview .guest-announcement-scene{
  margin:0!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(20,24,32,.16)!important;
}
#guestAnnouncementPreview .guest-announcement-layout{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  align-items:start!important;
}
#guestAnnouncementPreview .guest-announcement-video-shell{
  max-height:min(100%,620px)!important;
}
#guestAnnouncementPreview .guest-announcement-copy{
  min-height:0!important;
  overflow:hidden!important;
}
@media(max-height:760px) and (min-width:901px){
  #scriptPage.has-guest-announcement{
    height:calc(100svh - 34px)!important;
    min-height:calc(100svh - 34px)!important;
  }
  #guestAnnouncementPreview{
    padding:clamp(28px,4.1vw,54px) clamp(28px,5vw,72px)!important;
    gap:12px!important;
  }
  #guestAnnouncementPreview .guest-announcement-video-shell{
    width:min(100%,290px)!important;
    max-height:calc(100svh - 180px)!important;
  }
  #guestAnnouncementPreview .guest-announcement-title{
    font-size:clamp(2.8rem,5.6vw,6.25rem)!important;
  }
  #guestAnnouncementPreview .guest-announcement-logline{
    font-size:clamp(.82rem,1.04vw,1rem)!important;
    line-height:1.52!important;
  }
  #guestAnnouncementPreview .guest-announcement-nav{
    margin-top:10px!important;
    padding-top:10px!important;
  }
}
@media(max-width:900px){
  body.masi-announcement-active{overflow:hidden!important;}
  #scriptPage.has-guest-announcement{
    height:calc(100svh - 190px)!important;
    min-height:calc(100svh - 190px)!important;
  }
  #guestAnnouncementPreview{
    padding:24px 22px!important;
    gap:10px!important;
  }
}

/* Softer, less cut-out guest portraits in the homepage carousel. */
#masiGuestCarouselFixed .masi-guest-photo{
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 86%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 86%,transparent 100%)!important;
}
#masiGuestCarouselFixed .masi-guest-photo::after{
  content:""!important;
  position:absolute!important;
  inset:-10%!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,transparent 54%,rgba(5,6,9,.18) 74%,rgba(5,6,9,.74) 100%)!important;
  opacity:.7!important;
  z-index:4!important;
}
#masiGuestCarouselFixed .masi-guest-img{
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.34))!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-photo,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-photo{
  -webkit-mask-image:radial-gradient(ellipse at center,#000 64%,rgba(0,0,0,.88) 80%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at center,#000 64%,rgba(0,0,0,.88) 80%,transparent 100%)!important;
}


/* === ENZA FINAL 6: adaptive announcement height + poster fallback + softer live-carousel portraits === */
body.masi-announcement-active{
  overflow:auto!important;
}
body.masi-announcement-active .stage{
  align-items:start!important;
}
#scriptPage.has-guest-announcement{
  height:auto!important;
  min-height:min(78vh,calc(100svh - 54px))!important;
  max-height:none!important;
  overflow:visible!important;
}
#scriptPage.has-guest-announcement > :not(#guestAnnouncementPreview){
  display:none!important;
}
#guestAnnouncementPreview.is-active{
  position:relative!important;
  inset:auto!important;
  min-height:min(78vh,calc(100svh - 54px))!important;
  height:auto!important;
  overflow:visible!important;
}
#guestAnnouncementPreview.is-active .guest-announcement-layout{
  position:relative!important;
  inset:auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}
#guestAnnouncementPreview.is-active .guest-announcement-copy{
  overflow:visible!important;
}
#guestAnnouncementPreview.is-active .guest-announcement-video-shell{
  height:auto!important;
  max-height:min(62vh,620px)!important;
  min-height:0!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-video-shell{
  background-image:var(--announcement-poster)!important;
  background-size:cover!important;
  background-position:center!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-fallback{
  background:
    linear-gradient(180deg,rgba(5,6,9,.04),rgba(5,6,9,.18)),
    var(--announcement-poster),
    radial-gradient(circle at 50% 28%,rgba(20,24,32,.10),transparent 38%),
    var(--paper,#f2ebdd)!important;
  background-size:cover!important;
  background-position:center!important;
  color:rgba(246,243,238,.74)!important;
  text-shadow:0 2px 20px rgba(0,0,0,.75)!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-fallback::after{
  content:"VIDEO COMING SOON"!important;
  position:absolute!important;
  left:50%!important;
  bottom:14%!important;
  transform:translateX(-50%)!important;
  white-space:nowrap!important;
  font-family:var(--mono,"Courier Prime",monospace)!important;
  font-size:.62rem!important;
  letter-spacing:.18em!important;
  color:rgba(246,243,238,.72)!important;
}
@media(max-height:760px) and (min-width:901px){
  #guestAnnouncementPreview.is-active{
    min-height:calc(100svh - 34px)!important;
  }
  #guestAnnouncementPreview.is-active .guest-announcement-video-shell{
    max-height:calc(100svh - 205px)!important;
  }
}
@media(max-width:900px){
  body.masi-announcement-active{overflow:auto!important;}
  #scriptPage.has-guest-announcement,
  #guestAnnouncementPreview.is-active{
    height:auto!important;
    min-height:calc(100svh - 190px)!important;
    overflow:visible!important;
  }
}

/* Homepage portrait rail: same cinematic language as Season One, but calmer. */
#masiGuestCarouselFixed .masi-guest-card{
  transition:transform .58s cubic-bezier(.22,1,.36,1), opacity .58s cubic-bezier(.22,1,.36,1), filter .58s ease!important;
}
#masiGuestCarouselFixed .masi-guest-photo{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  filter:drop-shadow(0 20px 42px rgba(0,0,0,.28))!important;
  -webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 48%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.52) 80%,transparent 98%)!important;
  mask-image:radial-gradient(ellipse at 50% 46%,#000 48%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.52) 80%,transparent 98%)!important;
  transition:transform .58s cubic-bezier(.22,1,.36,1), filter .58s ease, -webkit-mask-image .58s ease, mask-image .58s ease!important;
}
#masiGuestCarouselFixed .masi-guest-img{
  transform:scale(1.04)!important;
  transform-origin:center 42%!important;
  transition:transform .58s cubic-bezier(.22,1,.36,1), opacity .58s ease, filter .58s ease!important;
}
#masiGuestCarouselFixed .masi-guest-img-bw{
  filter:grayscale(1) contrast(1.08) brightness(.82)!important;
  opacity:.86!important;
}
#masiGuestCarouselFixed .masi-guest-img-color{
  opacity:0!important;
  filter:contrast(1.03) brightness(.98) saturate(.95)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover,
#masiGuestCarouselFixed .masi-guest-card:focus-visible{
  transform:translateX(3px) scale(1.018)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-photo,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-photo{
  -webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 58%,rgba(0,0,0,.90) 76%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse at 50% 46%,#000 58%,rgba(0,0,0,.90) 76%,transparent 100%)!important;
  filter:drop-shadow(0 24px 54px rgba(0,0,0,.38))!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img{
  transform:scale(1.13)!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-bw,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-bw{
  opacity:0!important;
}
#masiGuestCarouselFixed .masi-guest-card:hover .masi-guest-img-color,
#masiGuestCarouselFixed .masi-guest-card:focus-visible .masi-guest-img-color{
  opacity:1!important;
}

/* === ENZA FINAL 7: raise announcement file scene heading === */
/* The announcement file keeps the same paper frame, but its screenplay heading should sit near the top like the original script page. */
#guestAnnouncementPreview.is-active,
#guestAnnouncementPreview{
  padding-top:clamp(22px,2.8vw,40px)!important;
}
@media(max-height:760px) and (min-width:901px){
  #guestAnnouncementPreview.is-active,
  #guestAnnouncementPreview{
    padding-top:clamp(16px,2.2vw,28px)!important;
  }
}
@media(max-width:900px){
  #guestAnnouncementPreview.is-active,
  #guestAnnouncementPreview{
    padding-top:18px!important;
  }
}


/* === Requested focused adjustments: clearer script top spacing and mobile controls === */
.page{padding-top:clamp(28px,3.8vw,54px)!important;}
.stage{padding-top:clamp(52px,5vw,72px)!important;}
#guestAnnouncementPreview .guest-announcement-roomline{display:none!important;}
#guestAnnouncementPreview .guest-announcement-nav{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:16px!important;}
#guestAnnouncementPreview .guest-announcement-nav button{min-height:42px!important;padding:11px 16px!important;border-radius:999px!important;border:1px solid rgba(20,24,32,.22)!important;background:rgba(20,24,32,.055)!important;color:rgba(20,24,32,.82)!important;font-family:var(--mono,"Courier Prime",monospace)!important;text-transform:uppercase!important;letter-spacing:.11em!important;font-size:.6rem!important;}
#guestAnnouncementPreview .guest-announcement-nav button:hover{background:#141820!important;color:#f2ebdd!important;border-color:#141820!important;}
@media(max-width:760px){
  .page{padding-top:24px!important;padding-left:clamp(18px,5vw,28px)!important;padding-right:clamp(18px,5vw,28px)!important;}
  .stage{padding-top:42px!important;}
  .drawer-link{min-height:48px!important;}
  #guestAnnouncementPreview .guest-announcement-nav{display:grid!important;grid-template-columns:1fr!important;}
  #guestAnnouncementPreview .guest-announcement-nav button{width:100%!important;min-height:46px!important;font-size:.58rem!important;}
}


/* === Requested cleanup: Fade In sections, announcement placeholder, mobile clarity === */
/* Remove any text inside the empty video/image frame and its generated "video coming soon" label. */
#guestAnnouncementPreview.video-missing .guest-announcement-fallback,
#guestAnnouncementPreview .guest-announcement-fallback{
  font-size:0!important;
  color:transparent!important;
  text-shadow:none!important;
}
#guestAnnouncementPreview.video-missing .guest-announcement-fallback::after{
  content:""!important;
  display:none!important;
}

/* Cleaner mobile script/announcement layout. */
@media(max-width:760px){
  .stage{padding:34px 12px 46px!important;}
  .page{min-height:auto!important;border-radius:3px!important;padding:22px 18px 34px!important;}
  .act-title{font-size:clamp(2.55rem,16vw,4.6rem)!important;line-height:.92!important;}
  .script-copy{font-size:1rem!important;line-height:1.62!important;}
  .buttons{gap:10px!important;}
  .btn{min-height:46px!important;padding:12px 16px!important;}
  #guestAnnouncementPreview.is-active{padding:16px 14px 28px!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-layout{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-video-shell{width:100%!important;max-height:none!important;aspect-ratio:4/5!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-title{font-size:clamp(3.1rem,18vw,5.2rem)!important;line-height:.84!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-logline{font-size:1rem!important;line-height:1.55!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-controls{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  #guestAnnouncementPreview.is-active .guest-announcement-controls button{width:100%!important;min-height:46px!important;}
  #masiGuestCarouselFixed{max-width:100%!important;overflow:hidden!important;}
  #masiGuestCarouselFixed .masi-guest-card{transform:none!important;margin:0 auto!important;}
  #masiGuestCarouselFixed .masi-guest-photo{filter:drop-shadow(0 14px 30px rgba(0,0,0,.24))!important;}
}

/* Darker, clearer mobile menu panel and backdrop. */
@media(max-width:760px){
  body.menu-open .drawer-backdrop{background:rgba(0,0,0,.82)!important;backdrop-filter:blur(8px)!important;}
  .drawer{width:100vw!important;background:linear-gradient(135deg,#020407 0%,#07101b 58%,#0b1727 100%)!important;box-shadow:-30px 0 90px rgba(0,0,0,.72)!important;}
  .drawer::after{opacity:.045!important;}
  .drawer-link{opacity:.86!important;padding:8px 0!important;border-bottom:1px solid rgba(246,243,238,.09)!important;}
  .drawer-link strong{font-size:clamp(2rem,10.5vw,3.2rem)!important;}
  .drawer-link span.label{color:rgba(246,243,238,.68)!important;}
}


/* === REQUESTED FIXES: cleaner mobile menu, readable script titles, faster mobile carousel === */
@media (max-width: 900px) {
  body.menu-open .drawer-backdrop {
    background: rgba(0,0,0,.78) !important;
    backdrop-filter: blur(5px) !important;
  }
  body.menu-open .reading-index,
  body.menu-open .side-trigger {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .drawer {
    left: 18px !important;
    right: 18px !important;
    width: auto !important;
    max-width: none !important;
    z-index: 9400 !important;
    background: rgba(5,6,9,.38) !important;
    border-radius: 22px !important;
    padding: 22px 20px !important;
  }
  .drawer-head {
    justify-content: space-between !important;
    margin-bottom: 18px !important;
  }
  .menu-title {
    display: block !important;
    font-size: .62rem !important;
    letter-spacing: .14em !important;
    color: rgba(246,243,238,.58) !important;
  }
  .drawer-nav {
    height: auto !important;
    min-height: 0 !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 10px 0 4px !important;
  }
  .drawer-link {
    width: 100% !important;
    transform: translateY(18px) scale(.98) !important;
    grid-template-columns: 42px 1fr !important;
    grid-template-areas: "number voice" !important;
    text-align: left !important;
    align-items: start !important;
    gap: 14px !important;
    padding: 8px 0 !important;
  }
  body.menu-open .drawer-link {
    opacity: .86 !important;
    transform: translateY(0) scale(1) !important;
  }
  .drawer-link:hover,
  .drawer-link:focus-visible,
  .drawer-link.active,
  .drawer-link.selected {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
  }
  .drawer-link strong {
    font-size: clamp(2rem, 9.4vw, 3.15rem) !important;
    line-height: .95 !important;
    letter-spacing: -.035em !important;
  }
  .drawer-link span.label {
    display: block !important;
    color: rgba(246,243,238,.58) !important;
    font-size: .64rem !important;
    line-height: 1.35 !important;
  }
  .chapter-number {
    transform: translateY(.55em) !important;
    text-align: left !important;
  }
  .stage {
    padding-top: 92px !important;
  }
  .page {
    padding-top: clamp(38px, 12vw, 58px) !important;
    overflow: visible !important;
  }
  .act-title {
    font-size: clamp(2.85rem, 15vw, 5.8rem) !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
  }
  .masi-guest-carousel,
  .masi-portrait-rail,
  #masiGuestCarouselFixed {
    contain: layout paint !important;
  }
}


/* === ENZA FINAL MOBILE / CAROUSEL / WATERMARK PATCH === */
.room-logo-backdrop,
.drawer::after{
  background-image:url("masi-room-watermark-logo.png")!important;
  background-size:min(520px,58vw) auto!important;
  background-repeat:repeat!important;
  opacity:.035!important;
  filter:grayscale(1) brightness(1.1) contrast(.92)!important;
  mix-blend-mode:screen!important;
}
.guest-frame,
.guest-frame.has-image,
.programme-portrait,
.episode-carousel .ticker-photo,
.episode-carousel .episode-ticker-item.has-photo > .ticker-photo{
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-color:transparent!important;
}
.guest-frame.has-image{padding:0!important;overflow:hidden!important;}
.guest-frame.has-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
@media(max-width:900px){
  body.menu-open .drawer-backdrop{background:rgba(0,0,0,.86)!important;backdrop-filter:blur(8px)!important;}
  body.menu-open .reading-index,
  body.menu-open .side-trigger{opacity:0!important;pointer-events:none!important;}
  body.menu-open .drawer{background:linear-gradient(135deg,rgba(3,5,8,.98),rgba(7,16,27,.98))!important;}
  body.menu-open .drawer-link{opacity:.88!important;transform:none!important;}
  body.menu-open .drawer-link.active,
  body.menu-open .drawer-link.selected{background:rgba(246,243,238,.065)!important;opacity:1!important;}
  .stage{padding-top:78px!important;}
  .page{padding-top:clamp(34px,9vw,52px)!important;min-height:auto!important;}
  .act-title{font-size:clamp(2.85rem,16vw,5.2rem)!important;line-height:.96!important;margin-bottom:22px!important;letter-spacing:-.025em!important;}
  .scene-line{min-height:0!important;padding-bottom:10px!important;margin-bottom:14px!important;}
  .episode-carousel{height:108px!important;overflow:hidden!important;}
  .episode-carousel .episode-ticker-item{min-width:300px!important;grid-template-columns:56px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;}
  .episode-carousel .ticker-photo{width:56px!important;height:72px!important;}
  .episode-carousel .ticker-copy{display:block!important;}
  .episode-carousel .ticker-title{font-size:1.18rem!important;line-height:.96!important;white-space:normal!important;}
  .episode-carousel .ticker-meta{font-size:.52rem!important;letter-spacing:.12em!important;}
}
@media(max-width:520px){
  .act-title{font-size:clamp(2.55rem,15vw,4.6rem)!important;line-height:.98!important;}
  .page{padding-left:22px!important;padding-right:22px!important;}
}


/* === ENZA MOBILE FINAL CLEANUP: real mobile menu, no overlap, calmer carousel === */
@media (max-width: 760px) {
  html, body { overflow-x: hidden !important; }
  body.menu-open { overflow: hidden !important; }
  body.menu-open .reading-index,
  body.menu-open .side-trigger,
  body.menu-open #masiGuestCarouselFixed {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .drawer-backdrop {
    z-index: 9300 !important;
    background: rgba(0,0,0,0) !important;
  }
  body.menu-open .drawer-backdrop {
    opacity: 1 !important;
    background: rgba(0,0,0,.90) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    pointer-events: auto !important;
  }
  .drawer {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    border-radius: 0 !important;
    z-index: 9600 !important;
    padding: max(22px, env(safe-area-inset-top)) 22px max(26px, env(safe-area-inset-bottom)) !important;
    background: linear-gradient(180deg, rgba(3,5,8,.99), rgba(7,16,27,.99)) !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    transform: translateX(100%) !important;
  }
  body.menu-open .drawer { transform: translateX(0) !important; }
  .drawer::after {
    background-image: url("masi-room-watermark-logo.png") !important;
    background-size: min(360px, 82vw) auto !important;
    background-position: center 56% !important;
    background-repeat: no-repeat !important;
    opacity: .045 !important;
    filter: grayscale(1) brightness(1.15) contrast(.92) !important;
  }
  .drawer-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 0 18px !important;
    margin: 0 0 10px !important;
    background: linear-gradient(180deg, rgba(3,5,8,.99), rgba(3,5,8,0)) !important;
  }
  .menu-title {
    display: block !important;
    font-size: .64rem !important;
    letter-spacing: .16em !important;
    color: rgba(246,243,238,.62) !important;
  }
  .close-drawer {
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(246,243,238,.18) !important;
    border-radius: 50% !important;
    background: rgba(246,243,238,.045) !important;
  }
  .drawer-nav {
    display: grid !important;
    gap: 8px !important;
    padding: 14px 0 40px !important;
  }
  .drawer-link {
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 10px 8px !important;
    border-bottom: 1px solid rgba(246,243,238,.10) !important;
    background: transparent !important;
    opacity: .92 !important;
    transform: none !important;
  }
  .drawer-link.active,
  .drawer-link.selected {
    background: rgba(246,243,238,.07) !important;
    border-radius: 12px !important;
    border-bottom-color: transparent !important;
    opacity: 1 !important;
  }
  .chapter-number {
    transform: none !important;
    font-size: .66rem !important;
    color: rgba(215,199,173,.84) !important;
  }
  .drawer-link strong {
    font-size: clamp(1.72rem, 8.2vw, 2.65rem) !important;
    line-height: .96 !important;
    letter-spacing: -.025em !important;
  }
  .drawer-link span.label {
    display: block !important;
    margin-top: 3px !important;
    font-size: .58rem !important;
    line-height: 1.3 !important;
    letter-spacing: .11em !important;
    color: rgba(246,243,238,.54) !important;
  }
  .stage { padding: 74px 10px 168px !important; }
  .page {
    width: calc(100vw - 20px) !important;
    min-height: auto !important;
    padding: 36px 20px 34px !important;
    overflow: visible !important;
  }
  #guestAnnouncementPreview.is-active {
    padding: 26px 20px 38px !important;
  }
  #guestAnnouncementPreview.is-active .guest-announcement-title {
    font-size: clamp(3rem, 15.5vw, 4.9rem) !important;
    line-height: .88 !important;
  }
  #guestAnnouncementPreview.is-active .guest-announcement-controls,
  #guestAnnouncementPreview.is-active .guest-announcement-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  #masiGuestCarouselFixed {
    height: 126px !important;
    background: linear-gradient(180deg, rgba(5,6,9,0), rgba(5,6,9,.94) 28%, #050609) !important;
  }
  #masiGuestCarouselFixed .masi-guest-carousel-track {
    gap: 18px !important;
    padding: 10px 18px 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity !important;
    animation: none !important;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent) !important;
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent) !important;
  }
  #masiGuestCarouselFixed .masi-guest-card {
    flex: 0 0 76px !important;
    min-width: 76px !important;
    width: 76px !important;
    gap: 4px !important;
    scroll-snap-align: start !important;
  }
  #masiGuestCarouselFixed .masi-guest-photo {
    width: 76px !important;
    height: 88px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background: transparent !important;
  }
  #masiGuestCarouselFixed .masi-guest-photo::after { display: none !important; }
  #masiGuestCarouselFixed .masi-guest-img { object-fit: cover !important; transform: none !important; }
  #masiGuestCarouselFixed .masi-guest-name {
    font-size: .52rem !important;
    line-height: 1.05 !important;
    max-width: 76px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* === ENZA URGENT MOBILE READABILITY + TRUE SEASON ROUTE === */
@media (max-width: 760px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
  body.menu-open { overflow: hidden !important; }
  body.menu-open .reading-index,
  body.menu-open .side-trigger,
  body.menu-open #masiGuestCarouselFixed,
  body.menu-open .latest-on-black { display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }

  .drawer-backdrop { z-index: 9800 !important; }
  body.menu-open .drawer-backdrop {
    opacity: 1 !important;
    background: rgba(0,0,0,.94) !important;
    backdrop-filter: blur(12px) brightness(.58) !important;
    -webkit-backdrop-filter: blur(12px) brightness(.58) !important;
    pointer-events: auto !important;
  }
  .drawer {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    border-radius: 0 !important;
    padding: max(18px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom)) !important;
    background: linear-gradient(180deg, #020305 0%, #050b13 42%, #081321 100%) !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: translateX(100%) !important;
    z-index: 9900 !important;
  }
  body.menu-open .drawer { transform: translateX(0) !important; }
  .drawer::after {
    background-image: url("masi-room-watermark-logo.png") !important;
    background-size: min(330px, 76vw) auto !important;
    background-position: center 58% !important;
    background-repeat: no-repeat !important;
    opacity: .032 !important;
    filter: grayscale(1) brightness(1.08) contrast(.9) !important;
  }
  .drawer-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    min-height: 54px !important;
    padding: 0 0 12px !important;
    margin: 0 0 6px !important;
    background: linear-gradient(180deg, #020305 0%, rgba(2,3,5,.96) 72%, rgba(2,3,5,0) 100%) !important;
  }
  .menu-title { font-size: .62rem !important; letter-spacing: .16em !important; color: rgba(246,243,238,.68) !important; max-width: calc(100vw - 92px) !important; }
  .close-drawer { flex: 0 0 42px !important; width:42px !important; height:42px !important; border-radius: 999px !important; background: rgba(246,243,238,.08) !important; border: 1px solid rgba(246,243,238,.20) !important; }
  .drawer-nav { display:grid !important; gap: 6px !important; padding: 8px 0 28px !important; min-height: 0 !important; height:auto !important; justify-content:start !important; }
  .drawer-link {
    display:grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 9px 8px !important;
    border-bottom: 1px solid rgba(246,243,238,.12) !important;
    background: rgba(255,255,255,.018) !important;
    border-radius: 10px !important;
    opacity: 1 !important;
    transform:none !important;
    text-align:left !important;
  }
  .drawer-link.active,
  .drawer-link.selected,
  .drawer-link:focus-visible { background: rgba(246,243,238,.095) !important; outline: 1px solid rgba(246,243,238,.13) !important; }
  .chapter-number { transform:none !important; font-size:.62rem !important; letter-spacing:.1em !important; color: rgba(215,199,173,.88) !important; align-self:center !important; }
  .drawer-link strong { font-size: clamp(1.45rem, 7.3vw, 2.2rem) !important; line-height: 1.03 !important; letter-spacing: -.015em !important; white-space: normal !important; overflow: visible !important; }
  .drawer-link span.label { display:block !important; margin-top:2px !important; font-size:.55rem !important; line-height:1.25 !important; letter-spacing:.10em !important; color: rgba(246,243,238,.60) !important; white-space: normal !important; }

  .stage { min-height: auto !important; padding: 78px 10px 154px !important; place-items:start center !important; overflow: visible !important; }
  .page-stack { min-height: 0 !important; width: 100% !important; overflow: visible !important; }
  .page { width: calc(100vw - 20px) !important; min-height: auto !important; padding: 40px 20px 34px !important; overflow: visible !important; transform: none !important; }
  .act-title { font-size: clamp(2.45rem, 13vw, 4.35rem) !important; line-height: 1.08 !important; letter-spacing: -.018em !important; margin: 0 0 18px !important; padding: 0 !important; overflow: visible !important; max-width: 100% !important; }
  .scene-line { min-height: 0 !important; padding-bottom: 8px !important; margin-bottom: 12px !important; overflow: visible !important; }
  .script-copy { font-size: .98rem !important; line-height: 1.68 !important; }

  #masiGuestCarouselFixed { height: 116px !important; }
  #masiGuestCarouselFixed .masi-guest-carousel-track { gap: 16px !important; padding: 8px 16px 14px !important; animation: none !important; overflow-x: auto !important; scroll-snap-type: x proximity !important; }
  #masiGuestCarouselFixed .masi-guest-card { flex: 0 0 72px !important; min-width:72px !important; width:72px !important; }
  #masiGuestCarouselFixed .masi-guest-photo { width:72px !important; height:84px !important; border:0 !important; outline:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; }
}


/* === ENZA FINAL MOBILE PASS: portrait/name rail, taller script page, darker menu === */
@media (max-width: 760px) {
  /* Menu: the fading button/reading index fully disappears once opened; drawer sits on a darker cinematic field. */
  body.menu-open .side-trigger,
  body.menu-open #openDrawer,
  body.menu-open .reading-index,
  body.menu-open .side-label,
  body.menu-open #masiGuestCarouselFixed,
  body.menu-open .latest-on-black,
  body.menu-open .footer {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }
  body.menu-open .drawer-backdrop {
    background: rgba(0,0,0,.975) !important;
    backdrop-filter: blur(14px) brightness(.42) !important;
    -webkit-backdrop-filter: blur(14px) brightness(.42) !important;
  }
  body.menu-open .drawer {
    background:
      radial-gradient(circle at 80% 12%, rgba(18,38,64,.18), transparent 34%),
      linear-gradient(180deg, #000 0%, #020407 46%, #050b13 100%) !important;
  }

  /* Home script page: more breathing room on phones so text/buttons are not cut. */
  .stage {
    min-height: auto !important;
    padding: 92px 10px 190px !important;
    overflow: visible !important;
  }
  .page-stack {
    min-height: auto !important;
    overflow: visible !important;
  }
  .page {
    min-height: calc(100dvh - 126px) !important;
    padding: 44px 20px 62px !important;
    overflow: visible !important;
  }
  .page-content {
    padding-bottom: 30px !important;
  }
  .script-note,
  .dialogue,
  .scene-cards,
  .contact-grid,
  .press-actions {
    max-width: 100% !important;
  }

  /* Bottom guest carousel: portrait remains clear; guest name sits to the right, not underneath. */
  #masiGuestCarouselFixed {
    height: 118px !important;
    bottom: 0 !important;
    background: linear-gradient(180deg, rgba(5,6,9,0), rgba(5,6,9,.95) 24%, #050609 100%) !important;
  }
  #masiGuestCarouselFixed .masi-guest-carousel-track {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 10px 18px 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    animation: none !important;
  }
  #masiGuestCarouselFixed .masi-guest-card {
    flex: 0 0 168px !important;
    width: 168px !important;
    min-width: 168px !important;
    height: 88px !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 12px !important;
    scroll-snap-align: start !important;
    text-align: left !important;
  }
  #masiGuestCarouselFixed .masi-guest-photo {
    width: 76px !important;
    height: 88px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    overflow: hidden !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  #masiGuestCarouselFixed .masi-guest-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 32% !important;
    transform: none !important;
  }
  #masiGuestCarouselFixed .masi-guest-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    max-width: none !important;
    width: auto !important;
    margin: 0 !important;
    font-family: var(--title) !important;
    font-size: clamp(1.18rem, 5.5vw, 1.62rem) !important;
    line-height: .95 !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    color: rgba(246,243,238,.94) !important;
  }
}


/* === ENZA FINAL v5: contact as premium correspondence + mobile script breathing === */
.tmr-contact-open{text-align:left!important;}
.tmr-email-link{
  font-family:var(--mono)!important;
  letter-spacing:.08em!important;
  text-transform:lowercase!important;
  border-bottom:1px solid rgba(20,24,32,.25)!important;
  color:inherit!important;
}
.tmr-signature{
  margin-top:34px!important;
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive!important;
  font-size:clamp(2.6rem,7vw,4.8rem)!important;
  line-height:1!important;
  color:rgba(20,24,32,.72)!important;
  transform:rotate(-4deg)!important;
  width:max-content!important;
}
@media(max-width:900px){
  .page-stack{min-height:128svh!important;}
  .page{
    min-height:122svh!important;
    padding-top:clamp(54px,15vw,84px)!important;
    padding-bottom:clamp(120px,30vw,180px)!important;
    overflow:visible!important;
  }
  .stage{
    min-height:136svh!important;
    padding-bottom:130px!important;
    align-items:start!important;
  }
  .buttons{
    margin-top:34px!important;
    padding-bottom:24px!important;
  }
}
@media(max-width:520px){
  .page-stack{min-height:138svh!important;}
  .page{min-height:132svh!important;padding-bottom:190px!important;}
  .stage{min-height:146svh!important;padding-bottom:150px!important;}
}

/* === ENZA FINAL MOBILE v6: homepage screenplay paper +15% longer === */
@media(max-width:900px){
  .stage{min-height:157svh!important;padding-bottom:190px!important;}
  .page-stack{min-height:148svh!important;}
  .page{min-height:142svh!important;padding-bottom:220px!important;}
}
@media(max-width:520px){
  .stage{min-height:168svh!important;padding-bottom:220px!important;}
  .page-stack{min-height:158svh!important;}
  .page{min-height:152svh!important;padding-bottom:260px!important;}
}


/* === ENZA FINAL v8: remove visible MENU wording === */
.reading-index-action,
.menu-title,
.side-label{display:none!important;}
.reading-index{gap:2px!important;}
.drawer-head{justify-content:flex-end!important;}


/* === ENZA FINAL v8: mobile screenplay page +15 percent longer === */
@media(max-width:900px){
  .stage{min-height:182svh!important;padding-bottom:260px!important;}
  .page-stack{min-height:172svh!important;}
  .page{min-height:166svh!important;padding-bottom:310px!important;overflow:visible!important;}
  main{min-height:182svh!important;padding-bottom:260px!important;}
  .step,.step.active,.center{min-height:168svh!important;}
  .panel,.script,.cover,.script-page{min-height:162svh!important;padding-bottom:310px!important;}
  .buttons,.row,.nav-row{margin-top:42px!important;margin-bottom:76px!important;}
}
@media(max-width:520px){
  .stage{min-height:194svh!important;padding-bottom:300px!important;}
  .page-stack{min-height:184svh!important;}
  .page{min-height:178svh!important;padding-bottom:350px!important;}
  main{min-height:194svh!important;padding-bottom:300px!important;}
  .step,.step.active,.center{min-height:180svh!important;}
  .panel,.script,.cover,.script-page{min-height:174svh!important;padding-bottom:350px!important;}
}


/* FINAL FIX: no visible administrative navigation labels. */
.reading-index-title,.reading-index-label,.reading-index-action,.side-label,.menu-title,.drawer-link span.label{display:none!important;}
.drawer-head{justify-content:flex-end!important;}
@media(max-width:900px){.reading-index-title:after{content:""!important;display:none!important;}}


/* === FINAL EMERGENCY PASS: mobile screenplay is a taller full sheet + no visible navigation labels === */
@media(max-width:900px){
  .stage{min-height:136svh!important;padding-bottom:150px!important;}
  .page-stack{min-height:128svh!important;}
  .page{min-height:122svh!important;padding-bottom:190px!important;overflow:visible!important;}
  .buttons,.row,.nav-row{margin-top:38px!important;margin-bottom:72px!important;}
}
@media(max-width:520px){
  .stage{min-height:148svh!important;padding-bottom:180px!important;}
  .page-stack{min-height:140svh!important;}
  .page{min-height:134svh!important;padding-bottom:230px!important;}
}
.reading-index-title,.reading-index-label,.reading-index-action,.side-label,.menu-title,.drawer-link span.label,.drawer-link strong{display:none!important;}
.drawer-head{justify-content:flex-end!important;}
.drawer-link{grid-template-columns:auto!important;justify-content:end!important;}

/* === ENZA FINAL v9: INDEX mobile single guest card + readable drawer === */
@media (max-width: 900px), (hover:none) and (pointer:coarse) and (max-width:1200px){
  /* The old moving homepage portrait rail is hidden on mobile. */
  #masiGuestCarouselFixed{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.menu-open .masi-index-one-guest-switcher{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .masi-index-one-guest-switcher{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:4300!important;
    height:124px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:8px!important;
    padding:12px 12px calc(14px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(5,6,9,0),rgba(5,6,9,.94) 26%,#050609 100%)!important;
    border-top:1px solid rgba(246,243,238,.10)!important;
  }
  .masi-index-one-guest-arrow{
    width:42px!important;
    height:86px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    background:transparent!important;
    color:rgba(246,243,238,.95)!important;
    font-family:var(--mono,"Courier Prime",monospace)!important;
    font-size:2rem!important;
    line-height:1!important;
  }
  .masi-index-one-guest-stage{
    min-width:0!important;
    height:92px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
  }
  .masi-index-one-guest-stage .masi-guest-card{
    width:min(100%,300px)!important;
    min-width:0!important;
    height:88px!important;
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
    margin:0 auto!important;
    padding:0!important;
    text-align:left!important;
    text-decoration:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    transition:opacity .28s ease!important;
  }
  .masi-index-one-guest-stage .masi-guest-card.is-fading{opacity:0!important;}
  .masi-index-one-guest-stage .masi-guest-photo{
    width:76px!important;
    height:88px!important;
    grid-column:1!important;
    display:block!important;
    overflow:hidden!important;
    border:0!important;
    outline:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .masi-index-one-guest-stage .masi-guest-photo::after{display:none!important;}
  .masi-index-one-guest-stage .masi-guest-img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center 32%!important;
    transform:none!important;
    filter:none!important;
  }
  .masi-index-one-guest-stage .masi-guest-img-bw{opacity:0!important;display:none!important;}
  .masi-index-one-guest-stage .masi-guest-img-color{opacity:1!important;display:block!important;}
  .masi-index-one-guest-stage .masi-guest-name{
    grid-column:2!important;
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    font-family:var(--title,"Oswald",sans-serif)!important;
    font-weight:300!important;
    font-size:clamp(1.35rem,6.2vw,1.9rem)!important;
    line-height:.92!important;
    letter-spacing:.005em!important;
    text-transform:uppercase!important;
    color:rgba(246,243,238,.96)!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-shadow:0 12px 28px rgba(0,0,0,.42)!important;
  }

  /* Drawer: the active Fade In row and all voices stay bright/readable on the dark overlay. */
  body.menu-open .drawer-link,
  body.menu-open .drawer-link strong,
  body.menu-open .drawer-link .chapter-number{
    display:grid!important;
    visibility:visible!important;
    color:rgba(246,243,238,.90)!important;
    opacity:1!important;
    filter:none!important;
  }
  body.menu-open .drawer-link strong{display:block!important;color:rgba(246,243,238,.96)!important;}
  body.menu-open .drawer-link.active,
  body.menu-open .drawer-link.selected{
    background:rgba(246,243,238,.13)!important;
    outline:1px solid rgba(246,243,238,.18)!important;
  }
  body.menu-open .drawer-link.active strong,
  body.menu-open .drawer-link.selected strong{
    color:#fff!important;
    text-shadow:0 0 24px rgba(246,243,238,.24)!important;
  }
  .drawer-link span.label,
  .menu-title,
  .side-label,
  .reading-index-title,
  .reading-index-label,
  .reading-index-action{display:none!important;}
}
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  .masi-index-one-guest-switcher{display:none!important;}
}

/* === THE MASI ROOM: dark blue textured room background trial === */
html{
  background:
    radial-gradient(circle at 68% 18%, rgba(36,103,182,.42), transparent 24%),
    radial-gradient(circle at 18% 44%, rgba(246,243,238,.045), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(7,16,27,.72), transparent 34%),
    linear-gradient(135deg, #020304 0%, #06101d 36%, #071b34 63%, #030508 100%) !important;
  background-attachment: fixed !important;
}
body{
  background:
    radial-gradient(circle at 70% 20%, rgba(53,128,220,.28), transparent 22%),
    radial-gradient(circle at 50% 55%, rgba(0,0,0,.06), transparent 44%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, transparent 1px, transparent 5px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0, rgba(255,255,255,.012) 1px, transparent 1px, transparent 7px),
    linear-gradient(135deg, rgba(2,3,4,.98), rgba(7,19,34,.94) 48%, rgba(5,21,42,.92) 72%, rgba(2,3,4,.98)) !important;
  background-attachment: fixed !important;
}
body::selection{background:rgba(207,216,227,.28)}
.room-logo-backdrop,
.season-logo-watermark,
.giant-m{
  opacity:.055 !important;
  filter:grayscale(1) brightness(1.35) contrast(.85) !important;
  mix-blend-mode:screen !important;
}
.drawer,
body.menu-open .drawer{
  background:
    radial-gradient(circle at top right, rgba(42,107,184,.16), transparent 34%),
    linear-gradient(135deg, #030508, #07101b 52%, #0b2440) !important;
}
.page,
.panel,
.dashboard-panel,
.admin-panel{
  box-shadow:0 48px 140px rgba(0,0,0,.52) !important;
}


/* === THE MASI ROOM: physical blue plaster wall test === */
:root{--masi-wall-image:url("images/masi-blue-plaster-wall.jpg");}
html{background:#020509!important;}
body{
  background:
    radial-gradient(circle at 78% 18%, rgba(44,128,255,.28) 0%, rgba(20,73,151,.18) 24%, rgba(2,5,9,0) 54%),
    radial-gradient(circle at 18% 52%, rgba(0,0,0,.70) 0%, rgba(0,0,0,.45) 44%, rgba(0,0,0,.18) 72%),
    linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.22) 45%, rgba(0,0,0,.76)),
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.78)),
    var(--masi-wall-image) center center/cover fixed no-repeat !important;
  background-color:#020509!important;
}
.room-logo-backdrop,.giant-m,.season-logo-watermark{
  mix-blend-mode:screen!important;
  opacity:.075!important;
  filter:grayscale(1) brightness(1.28) contrast(.92)!important;
}
body::before{
  opacity:.13!important;
  mix-blend-mode:screen!important;
}
.page,.script-sheet,.panel,.drawer{
  box-shadow:0 48px 140px rgba(0,0,0,.62)!important;
}
