/* LUMINA canonical SCSS entrypoint. Edit these source modules, then run npm run styles:build. */

﻿/* Player chrome, title fitting, timeline, and pause-state control rules folded into one player module. */

/* Experience stabilization rules folded from the former versioned CSS chain. Keep before the canonical modules to preserve cascade behavior. */

/*
 * LUMINA v18 final stabilization layer
 * - two-line cinematic title fitting
 * - resilient desktop/mobile player controls
 * - premium pre-payment content system
 * - shared home/ending program-card component
 */

:root {
  --lumina-v18-control-size: 42px;
  --lumina-v18-control-gap: clamp(0.3rem, 0.8vw, 0.85rem);
  --lumina-v18-safe-inline: clamp(12px, 2vw, 28px);
  --lumina-v18-gold: #d8bd82;
  --lumina-v18-gold-soft: rgba(216, 189, 130, 0.18);
  --lumina-v18-panel: rgba(9, 13, 18, 0.92);
  --lumina-v18-line: rgba(239, 227, 198, 0.16);
}

/* Titles: long Korean titles keep their intended two-line lockup. */
.lumina-title-fit {
  box-sizing: border-box;
  width: min(100%, var(--lumina-title-width, 1040px));
  max-width: min(calc(100vw - (var(--lumina-v18-safe-inline) * 2)), var(--lumina-title-width, 1040px));
  margin-inline: auto;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
  hyphens: none;
}

.lumina-title-fit--two {
  display: flex;
  flex-direction: column;
  align-items: inherit;
  justify-content: center;
  gap: 0.04em;
  line-height: 1.18;
}

.lumina-title-fit--two .lumina-title-line {
  display: block;
  width: 100%;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: inherit;
}

#loadingTitle.lumina-title-fit,
#filmLoadingTitle.lumina-title-fit,
.loading-title.lumina-title-fit,
.film-loading__title.lumina-title-fit,
.scene-loading__title.lumina-title-fit {
  --lumina-title-width: 1080px;
  font-size: clamp(1.45rem, 4.25vw, 4.7rem);
  letter-spacing: -0.035em;
}

#endingTitle.lumina-title-fit,
.ending-title.lumina-title-fit,
.after-credits__title.lumina-title-fit {
  --lumina-title-width: 1180px;
  font-size: clamp(1.55rem, 4.1vw, 4.85rem);
  letter-spacing: -0.035em;
}

:is(.loading-content, .film-loading__content, .scene-loading__content, .editing-screen__content, .ending-hero__copy, .after-credits__hero):has(.lumina-title-fit) {
  width: min(94vw, 1180px);
  max-width: min(94vw, 1180px);
  margin-inline: auto;
}

/* Hide the accidental center dot and redundant PAUSE/PAUSED copy only. */
:is(#pauseOverlay, .pause-overlay, .player-pause-overlay, .film-pause-overlay, .cinema-pause-overlay) :is(.pause-label, .pause-copy, .pause-text, [data-pause-label]),
:is(#pauseOverlay, .pause-overlay, .player-pause-overlay, .film-pause-overlay, .cinema-pause-overlay) > :is(span, small, p):not(.pause-icon):not([aria-hidden="true"]) {
  display: none;
}

:is(#pauseOverlay, .pause-overlay, .player-pause-overlay, .film-pause-overlay, .cinema-pause-overlay)::before,
:is(#pauseOverlay, .pause-overlay, .player-pause-overlay, .film-pause-overlay, .cinema-pause-overlay)::after {
  content: none;
  display: none;
}

/* Player controls assembled by v18-final.js. */
.lumina-controls-fixed {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: clamp(0.5rem, 1.1vh, 0.85rem);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-inline: var(--lumina-v18-safe-inline);
  overflow: visible;
}

.lumina-player-progress-row {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.lumina-player-progress-row > * {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.lumina-player-command-row {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas: "left transport right";
  align-items: center;
  gap: var(--lumina-v18-control-gap);
  width: 100%;
  min-width: 0;
}

.lumina-player-left,
.lumina-player-transport,
.lumina-player-right {
  display: flex;
  align-items: center;
  gap: var(--lumina-v18-control-gap);
  min-width: 0;
  margin: 0;
}

.lumina-player-left {
  grid-area: left;
  justify-self: start;
  justify-content: flex-start;
}

.lumina-player-transport {
  grid-area: transport;
  justify-self: center;
  justify-content: center;
}

.lumina-player-right {
  grid-area: right;
  justify-self: end;
  justify-content: flex-end;
  position: relative;
}

.lumina-mobile-aux-trigger {
  display: none;
}

.lumina-mobile-aux-trigger svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.lumina-mobile-aux-menu {
  display: flex;
  align-items: center;
  gap: var(--lumina-v18-control-gap);
}

.lumina-controls-fixed button,
.lumina-controls-fixed [role="button"] {
  flex: 0 0 auto;
  box-sizing: border-box;
  max-width: 100%;
}

.lumina-controls-fixed .lumina-seek-button {
  display: inline-grid;
  place-items: center;
  width: var(--lumina-v18-control-size);
  min-width: var(--lumina-v18-control-size);
  height: var(--lumina-v18-control-size);
  padding: 0;
  line-height: 1;
  overflow: visible;
}

.lumina-seek-icon {
  display: block;
  width: 34px;
  height: 34px;
  overflow: visible;
  pointer-events: none;
}

.lumina-seek-icon .lumina-seek-ring,
.lumina-seek-icon .lumina-seek-chevron {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.lumina-seek-icon .lumina-seek-number {
  fill: currentColor;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-anchor: middle;
  dominant-baseline: central;
}

.lumina-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lumina-controls-fixed [hidden],
.lumina-controls-fixed [aria-hidden="true"] {
  display: none;
}

.lumina-player-progress-row :is(.progress-tooltip, .timeline-tooltip, .seek-tooltip, [data-progress-tooltip]) {
  left: var(--lumina-tooltip-x, 50%);
  max-width: calc(100% - 8px);
  white-space: nowrap;
  transform: translateX(-50%);
}

/* Current Cut stays floating and cannot consume subtitle width. */
:is(.current-cut, #currentCut, .current-cut-panel, [data-current-cut]) {
  max-width: min(420px, calc(100vw - 24px));
  max-height: min(70vh, 620px);
  overflow: auto;
  overscroll-behavior: contain;
}

/* Shared reusable program-card surface. */
[data-lumina-component="program-card"],
.lumina-program-card {
  box-sizing: border-box;
  min-width: 0;
}

.lumina-ending-programs,
[data-lumina-component="program-grid"] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 28px);
  width: 100%;
  min-width: 0;
}

.lumina-ending-programs .lumina-program-card,
.lumina-ending-programs [data-lumina-component="program-card"] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

.lumina-ending-programs .lumina-program-media,
.lumina-ending-programs :is(.program-card__media, .poster-card__media, .card-media, .poster, .program-poster, figure):first-child {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  min-height: 0;
  overflow: hidden;
  border-radius: clamp(8px, 0.8vw, 14px);
  background: #0b0d11;
}

.lumina-ending-programs :is(img, video, picture) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lumina-ending-programs :is(h3, h4, .program-card__title, .card-title, .poster-title) {
  display: -webkit-box;
  margin-top: 0.75rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  word-break: keep-all;
  line-height: 1.35;
}

/* Premium pre-payment experience. */
.lumina-premium-experience {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 1240px);
  margin: clamp(3rem, 7vw, 7rem) auto;
  padding-inline: clamp(16px, 3vw, 40px);
  color: #f3eee3;
}

.lumina-premium-experience *,
.lumina-premium-experience *::before,
.lumina-premium-experience *::after {
  box-sizing: border-box;
}

.lumina-premium-section {
  padding-block: clamp(2.4rem, 5vw, 5rem);
  border-top: 1px solid var(--lumina-v18-line);
}

.lumina-premium-eyebrow {
  margin: 0 0 0.9rem;
  color: var(--lumina-v18-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.lumina-premium-heading {
  margin: 0;
  max-width: 18ch;
  color: #f7f2e8;
  font-family: var(--font-serif, serif);
  font-size: clamp(2rem, 4.3vw, 4.5rem);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.035em;
  word-break: keep-all;
}

.lumina-premium-lead {
  max-width: 68ch;
  margin: 1.3rem 0 0;
  color: rgba(243, 238, 227, 0.74);
  font-size: clamp(0.98rem, 1.25vw, 1.12rem);
  line-height: 1.85;
  word-break: keep-all;
}

.lumina-premium-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(2rem, 4vw, 3.6rem);
  overflow: hidden;
  border: 1px solid var(--lumina-v18-line);
  border-radius: 16px;
  background: var(--lumina-v18-line);
}

.lumina-premium-trust__item {
  min-width: 0;
  padding: clamp(1.25rem, 2.6vw, 2rem);
  background: rgba(5, 8, 12, 0.95);
}

.lumina-premium-trust__label {
  display: block;
  color: rgba(243, 238, 227, 0.58);
  font-size: 0.76rem;
  line-height: 1.5;
}

.lumina-premium-trust__value {
  display: block;
  margin-top: 0.55rem;
  color: #f6e6bd;
  font-family: var(--font-serif, serif);
  font-size: clamp(1.25rem, 2.25vw, 2rem);
  line-height: 1.2;
  word-break: keep-all;
}

.lumina-premium-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.lumina-premium-preview,
.lumina-premium-unlock-card,
.lumina-premium-process__item,
.lumina-premium-point,
.lumina-review-card,
.lumina-premium-faq details,
.lumina-premium-comparison {
  border: 1px solid var(--lumina-v18-line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(18, 24, 31, 0.94), rgba(6, 9, 13, 0.96));
}

.lumina-premium-preview {
  position: relative;
  min-height: clamp(420px, 54vw, 680px);
  padding: clamp(1.4rem, 3vw, 2.6rem);
  overflow: hidden;
}

.lumina-premium-preview__silhouette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 28%, rgba(215, 187, 128, 0.22), transparent 14%),
    radial-gradient(ellipse at 50% 76%, rgba(29, 43, 58, 0.92) 0 22%, transparent 45%),
    linear-gradient(180deg, rgba(4, 8, 13, 0.08), rgba(4, 8, 13, 0.96));
}

.lumina-premium-preview__silhouette::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 18%;
  width: 21%;
  aspect-ratio: 0.82;
  border-radius: 48% 48% 44% 44%;
  background: rgba(8, 12, 17, 0.92);
  filter: blur(1px);
  transform: translateX(-50%);
}

.lumina-premium-preview__silhouette::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 36%;
  width: 58%;
  height: 54%;
  border-radius: 48% 48% 12% 12%;
  background: rgba(7, 11, 16, 0.95);
  transform: translateX(-50%);
}

.lumina-premium-preview__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
}

.lumina-premium-preview__copy h3 {
  max-width: 18ch;
  margin: 0;
  font-family: var(--font-serif, serif);
  font-size: clamp(1.7rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1.24;
  word-break: keep-all;
}

.lumina-premium-preview__blurred {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(239, 227, 198, 0.18);
  color: rgba(255, 255, 255, 0.58);
  filter: blur(5px);
  user-select: none;
}

.lumina-premium-preview__lock {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  margin-top: 1rem;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(216, 189, 130, 0.32);
  border-radius: 999px;
  color: #ecd8aa;
  background: rgba(6, 9, 13, 0.72);
  font-size: 0.78rem;
}

.lumina-premium-unlock-card {
  padding: clamp(1.3rem, 2.7vw, 2.2rem);
}

.lumina-premium-chapters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: lumina-chapter;
}

.lumina-premium-chapters li {
  position: relative;
  min-width: 0;
  padding: 0.9rem 0.8rem 0.9rem 2.55rem;
  border-bottom: 1px solid rgba(239, 227, 198, 0.1);
  color: rgba(243, 238, 227, 0.76);
  line-height: 1.5;
  word-break: keep-all;
  counter-increment: lumina-chapter;
}

.lumina-premium-chapters li::before {
  content: counter(lumina-chapter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.95rem;
  color: var(--lumina-v18-gold);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.lumina-premium-points,
.lumina-premium-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.5vw, 1.3rem);
  margin-top: clamp(1.8rem, 3vw, 3rem);
}

.lumina-premium-point,
.lumina-premium-process__item {
  min-width: 0;
  padding: clamp(1.2rem, 2.2vw, 1.8rem);
}

.lumina-premium-point__number,
.lumina-premium-process__number {
  display: block;
  margin-bottom: 1.3rem;
  color: var(--lumina-v18-gold);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.lumina-premium-point h3,
.lumina-premium-process h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  word-break: keep-all;
}

.lumina-premium-point p,
.lumina-premium-process p {
  margin: 0.8rem 0 0;
  color: rgba(243, 238, 227, 0.62);
  font-size: 0.88rem;
  line-height: 1.75;
  word-break: keep-all;
}

.lumina-premium-comparison {
  margin-top: 2rem;
  overflow: hidden;
}

.lumina-premium-comparison__row {
  display: grid;
  grid-template-columns: minmax(160px, 0.8fr) repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(239, 227, 198, 0.1);
}

.lumina-premium-comparison__row:first-child {
  border-top: 0;
  background: rgba(216, 189, 130, 0.08);
}

.lumina-premium-comparison__row > * {
  min-width: 0;
  padding: 1rem clamp(0.8rem, 1.6vw, 1.4rem);
  border-left: 1px solid rgba(239, 227, 198, 0.1);
  line-height: 1.55;
  word-break: keep-all;
}

.lumina-premium-comparison__row > *:first-child {
  border-left: 0;
  color: rgba(243, 238, 227, 0.6);
}

.lumina-premium-reviews__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.4rem;
  color: rgba(243, 238, 227, 0.58);
  font-size: 0.8rem;
  line-height: 1.6;
}

.lumina-premium-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.6vw, 1.4rem);
  margin-top: 1.6rem;
}

.lumina-review-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 230px;
  padding: clamp(1.2rem, 2.3vw, 1.8rem);
}

.lumina-review-card__stars {
  color: var(--lumina-v18-gold);
  letter-spacing: 0.12em;
}

.lumina-review-card__copy {
  margin: 1rem 0 0;
  color: rgba(243, 238, 227, 0.8);
  line-height: 1.78;
  word-break: keep-all;
}

.lumina-review-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin-top: auto;
  padding-top: 1.4rem;
  color: rgba(243, 238, 227, 0.52);
  font-size: 0.76rem;
}

.lumina-review-card__badge {
  display: inline-flex;
  padding: 0.32rem 0.55rem;
  border: 1px solid rgba(216, 189, 130, 0.28);
  border-radius: 999px;
  color: #dbc58f;
}

.lumina-review-empty {
  grid-column: 1 / -1;
  min-height: 190px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px dashed rgba(216, 189, 130, 0.32);
  border-radius: 16px;
  background: rgba(8, 12, 17, 0.72);
}

.lumina-review-empty strong {
  display: block;
  color: #f3e7ca;
  font-size: 1.05rem;
}

.lumina-review-empty p {
  margin: 0.8rem 0 0;
  color: rgba(243, 238, 227, 0.6);
  line-height: 1.75;
  word-break: keep-all;
}

.lumina-premium-faq {
  display: grid;
  gap: 0.75rem;
  margin-top: 2rem;
}

.lumina-premium-faq details {
  padding: 0 1.2rem;
}

.lumina-premium-faq summary {
  position: relative;
  padding: 1.2rem 2rem 1.2rem 0;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  line-height: 1.55;
  word-break: keep-all;
}

.lumina-premium-faq summary::-webkit-details-marker {
  display: none;
}

.lumina-premium-faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  color: var(--lumina-v18-gold);
  font-size: 1.2rem;
  transform: translateY(-50%);
}

.lumina-premium-faq details[open] summary::after {
  content: "−";
}

.lumina-premium-faq details p {
  margin: 0;
  padding: 0 0 1.25rem;
  color: rgba(243, 238, 227, 0.64);
  line-height: 1.8;
  word-break: keep-all;
}

.lumina-premium-checkout {
  position: sticky;
  z-index: 8;
  bottom: max(12px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: 1rem;
  border: 1px solid rgba(216, 189, 130, 0.32);
  border-radius: 16px;
  background: rgba(6, 9, 13, 0.94);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(18px);
}

.lumina-premium-checkout__copy {
  min-width: 0;
}

.lumina-premium-checkout__copy strong {
  display: block;
  color: #f4e8ca;
  line-height: 1.45;
  word-break: keep-all;
}

.lumina-premium-checkout__copy span {
  display: block;
  margin-top: 0.3rem;
  color: rgba(243, 238, 227, 0.54);
  font-size: 0.76rem;
  line-height: 1.45;
}

.lumina-premium-checkout__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.8rem 1.3rem;
  border: 1px solid #d9c18a;
  border-radius: 999px;
  color: #111419;
  background: #d9c18a;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

@media (max-width: 1023px) {
  .lumina-ending-programs,
  [data-lumina-component="program-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lumina-premium-preview-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lumina-premium-points,
  .lumina-premium-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lumina-premium-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  :root {
    --lumina-v18-control-size: 40px;
    --lumina-v18-control-gap: 0.35rem;
    --lumina-v18-safe-inline: 12px;
  }

  .lumina-player-command-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    grid-template-areas:
      "transport transport"
      "left right";
    row-gap: 0.45rem;
  }

  .lumina-player-transport {
    width: 100%;
    justify-self: stretch;
    justify-content: center;
  }

  .lumina-player-left,
  .lumina-player-right {
    max-width: 100%;
    overflow: visible;
  }

  .lumina-player-right {
    flex-wrap: nowrap;
  }

  .lumina-mobile-aux-trigger {
    display: inline-grid;
    place-items: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
  }

  .lumina-mobile-aux-menu {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    display: none;
    grid-template-columns: repeat(3, minmax(40px, 1fr));
    align-items: center;
    gap: 0.35rem;
    width: min(300px, calc(100vw - 24px));
    padding: 0.65rem;
    border: 1px solid rgba(239, 227, 198, 0.18);
    border-radius: 12px;
    background: rgba(6, 9, 13, 0.97);
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(16px);
  }

  .lumina-mobile-aux-menu.is-open {
    display: grid;
  }

  .lumina-mobile-aux-menu button,
  .lumina-mobile-aux-menu [role="button"] {
    width: 100%;
    min-width: 40px;
  }

  .lumina-player-left :is(.time, .time-display, .player-time, [data-time-display]),
  .lumina-player-right :is(.control-label, .button-label) {
    font-size: 0.68rem;
  }

  .lumina-controls-fixed button,
  .lumina-controls-fixed [role="button"] {
    min-width: 36px;
    min-height: 36px;
    padding-inline: 0.42rem;
  }

  .lumina-controls-fixed .lumina-seek-button {
    width: 40px;
    min-width: 40px;
    height: 40px;
  }

  .lumina-seek-icon {
    width: 32px;
    height: 32px;
  }

  .lumina-premium-experience {
    margin-block: 2rem 4rem;
    padding-inline: 14px;
  }

  .lumina-premium-trust,
  .lumina-premium-points,
  .lumina-premium-process,
  .lumina-premium-review-grid,
  .lumina-premium-chapters {
    grid-template-columns: minmax(0, 1fr);
  }

  .lumina-premium-comparison {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .lumina-premium-comparison__row {
    min-width: 680px;
  }

  .lumina-premium-checkout {
    grid-template-columns: minmax(0, 1fr);
  }

  .lumina-premium-checkout__button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .lumina-ending-programs,
  [data-lumina-component="program-grid"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .lumina-title-fit--two {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
  }

  .lumina-player-right {
    gap: 0.18rem;
  }

  .lumina-player-right button,
  .lumina-player-right [role="button"] {
    width: 36px;
    min-width: 36px;
    padding: 0;
  }
}

@media (max-height: 700px) and (min-width: 768px) {
  .lumina-controls-fixed {
    gap: 0.38rem;
  }

  .lumina-player-command-row {
    min-height: 40px;
  }
}

@media (min-width: 2560px) {
  :root {
    --lumina-v18-control-size: 50px;
  }

  .lumina-controls-fixed {
    width: min(100%, 1800px);
    margin-inline: auto;
  }

  .lumina-seek-icon {
    width: 40px;
    height: 40px;
  }
}

/*
 * LUMINA v20 — typography restoration and complete-card rail stabilization
 * - restores the original Garamond direction for English display copy
 * - uses a restrained traditional Myeongjo for Korean display titles
 * - keeps compact OTT browsing labels in Pretendard
 * - renders every resting slide as a complete card and reserves hover-safe space
 */

:root {
    --serif: "Cormorant Garamond", "EB Garamond", "Nanum Myeongjo", NanumMyeongjo, Georgia, serif;
    --serif-en: "Cormorant Garamond", "EB Garamond", Georgia, serif;
    --serif-ko: "Nanum Myeongjo", NanumMyeongjo, "Noto Serif KR", "Noto Serif CJK KR", Batang, serif;
    --font-serif: "Cormorant Garamond", "EB Garamond", "Nanum Myeongjo", NanumMyeongjo, Georgia, serif;
    --font-serif-en: var(--serif-en);
    --font-serif-ko: var(--serif-ko);
    --lumina-rail-gap: 14px;
    --lumina-rail-edge: 14px;
    --lumina-rail-slot-top: 20px;
    --lumina-rail-slot-side: 6px;
    --lumina-rail-slot-bottom: 34px;
}

/* English editorial copy. SVG brand assets remain unchanged. */
:is(
    .eyebrow,
    .header-collection,
    .hero-metrics strong,
    .streaming-card__format,
    .streaming-card__rank,
    .streaming-card__copy small,
    .streaming-card__copy span,
    .poster-card__badge,
    .poster-card__copy small,
    .poster-card__copy em,
    .service-intake__content h2 > span,
    .service-trailer__caption p,
    .lumina-premium-eyebrow,
    .home-footer__meta span
) {
    font-family: var(--serif-en);
}

/* Korean display typography. Body, captions, controls and compact cards stay Gothic. */
:is(
    .hero-copy h1,
    .hero-copy h1 em,
    .streaming-hero__content h1,
    .loading-screen__content h2,
    .reading-form__head h2,
    .hero-scene__copy strong,
    .poster-card__copy strong,
    .empathy-stage__intro h2,
    .empathy-stage__grid q,
    .empathy-stage__grid strong,
    .service-intake__content h2 small,
    .service-result-preview h3,
    .service-midpoint h3,
    .service-paywall h3,
    .service-empathy strong,
    .section-heading h3,
    .film-library__hero h2,
    .director-cut__copy h3,
    .premium-feature__copy h3,
    .checkpoint__panel h2,
    .focus-choice__panel h2,
    .current-cut__head h2,
    .current-cut__list strong,
    .ending-hero h2,
    .ending-focus strong,
    #loadingTitle,
    #filmLoadingTitle,
    #endingTitle,
    .lumina-title-fit,
    .lumina-premium-heading,
    .lumina-premium-trust__value,
    .lumina-premium-preview__copy h3,
    .lumina-premium-unlock-card h3,
    .lumina-premium-point h3,
    .lumina-premium-process__item h3,
    .lumina-premium-faq summary,
    .lumina-premium-checkout__copy strong
) {
    font-family: var(--serif-ko);
    font-synthesis: none;
}

/* Dynamic two-language program lockups use separate type systems. */
.streaming-hero__content h1.is-program-title > span {
    font-family: var(--serif-en);
    font-weight: 400;
    letter-spacing: -.015em;
}

.streaming-hero__content h1.is-program-title > em {
    font-family: var(--serif-ko);
    font-weight: 400;
}

/* Dense browsing labels return to the original OTT treatment. */
.streaming-row__head h2,
.home-rail__head h2,
.streaming-card__copy strong,
.home-film-card__copy strong {
    font-family: var(--sans);
    font-weight: 650;
    letter-spacing: -.025em;
}

/*
 * Complete-card rail geometry
 * Each card sits in a padded grid slot. The scrollport may clip, but normal
 * shadows and hover transforms end inside that slot. Exact column formulas
 * keep the following slide fully outside the resting viewport.
 */
.streaming-row__viewport,
.home-rail__viewport {
    position: relative;
    min-width: 0;
    overflow: visible;
}

.streaming-row__track {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    align-items: start;
    gap: var(--lumina-rail-gap);
    padding: 0 var(--lumina-rail-edge);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: var(--lumina-rail-edge);
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
}

.streaming-row__track::-webkit-scrollbar,
.home-rail__track::-webkit-scrollbar {
    display: none;
}

.streaming-row--poster .streaming-row__track {
    grid-auto-columns: calc((100% - 70px) / 6);
}

.streaming-row--landscape .streaming-row__track {
    grid-auto-columns: calc((100% - 42px) / 4);
}

.streaming-card-slot {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: var(--lumina-rail-slot-top) var(--lumina-rail-slot-side) var(--lumina-rail-slot-bottom);
    overflow: visible;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.streaming-card-slot > .streaming-card {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    scroll-snap-align: none;
    transform-origin: center center;
    box-shadow: 0 12px 20px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255, 255, 255, .025) inset;
}

.streaming-card-slot > .streaming-card:hover,
.streaming-card-slot > .streaming-card:focus-visible,
.streaming-card-slot > .streaming-card[aria-selected="true"] {
    z-index: 12;
    transform: translateY(-7px) scale(1.025);
    box-shadow: 0 17px 24px rgba(0, 0, 0, .5), 0 0 0 1px rgba(var(--program-accent-rgb), .16) inset;
}

.streaming-row__nav {
    top: var(--lumina-rail-slot-top);
    bottom: var(--lumina-rail-slot-bottom);
}

.streaming-row:focus-within,
.streaming-row:has(.streaming-card:hover) {
    z-index: 40;
}

/* Legacy home rails follow the same full-card resting geometry. */
.home-rail__track {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    gap: var(--lumina-rail-gap);
    grid-auto-columns: calc((100% - 42px) / 4);
    padding: var(--lumina-rail-slot-top) var(--lumina-rail-edge) var(--lumina-rail-slot-bottom);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: var(--lumina-rail-edge);
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
}

.home-film-card {
    min-width: 0;
    max-width: none;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transform-origin: center center;
}

.home-film-card:hover,
.home-film-card:focus-visible {
    z-index: 12;
    transform: translateY(-5px) scale(1.02);
}

@media (max-width: 1199px) {
    :root {
        --lumina-rail-gap: 12px;
        --lumina-rail-edge: 12px;
        --lumina-rail-slot-top: 18px;
        --lumina-rail-slot-side: 5px;
        --lumina-rail-slot-bottom: 30px;
    }

    .streaming-row--poster .streaming-row__track {
        grid-auto-columns: calc((100% - 36px) / 4);
    }

    .streaming-row--landscape .streaming-row__track,
    .home-rail__track {
        grid-auto-columns: calc((100% - 24px) / 3);
    }
}

@media (max-width: 820px) {
    .streaming-row--poster .streaming-row__track {
        grid-auto-columns: calc((100% - 24px) / 3);
    }

    .streaming-row--landscape .streaming-row__track,
    .home-rail__track {
        grid-auto-columns: calc((100% - 12px) / 2);
    }
}

@media (max-width: 720px) {
    :root {
        --lumina-rail-gap: 10px;
        --lumina-rail-edge: 10px;
        --lumina-rail-slot-top: 14px;
        --lumina-rail-slot-side: 4px;
        --lumina-rail-slot-bottom: 22px;
    }

    .streaming-row--poster .streaming-row__track {
        grid-auto-columns: calc((100% - 10px) / 2);
    }

    .streaming-row--landscape .streaming-row__track,
    .home-rail__track {
        grid-auto-columns: 100%;
    }

    .streaming-card-slot > .streaming-card:hover,
    .streaming-card-slot > .streaming-card:focus-visible,
    .streaming-card-slot > .streaming-card[aria-selected="true"] {
        transform: translateY(-2px) scale(1.006);
    }

    /* Mobile empathy cards are a full-width carousel with no narrow lead card. */
    .empathy-stage__grid {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        gap: 10px;
        padding: 14px 0 20px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-padding-inline: 0;
        scroll-snap-type: x mandatory;
        overscroll-behavior-inline: contain;
    }

    .empathy-stage__grid button {
        min-width: 0;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}

@media (hover: none), (pointer: coarse) {
    .streaming-card-slot > .streaming-card:hover,
    .home-film-card:hover {
        transform: none;
    }
}

/*
 * LUMINA v21 — canonical cinema-player restoration
 *
 * The authored player already contains one progress row and one three-zone
 * command row. This layer keeps that component as an absolute cinematic
 * overlay, protects its menu wrappers, and restores the mobile utility row.
 */

#playerControls.player-controls {
    position: absolute;
    z-index: 60;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}

#playerControls > .progress-control {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
}

#playerControls > .control-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
    grid-template-areas: "left transport right";
    grid-template-rows: auto;
    align-items: center;
    gap: clamp(.6rem, 1.5vw, 1.5rem);
    width: 100%;
    min-width: 0;
}

#playerControls .control-group--left {
    grid-area: left;
    display: flex;
    align-items: center;
    justify-self: start;
    min-width: 0;
}

#playerControls .transport-controls {
    grid-area: transport;
    display: inline-flex;
    align-items: center;
    justify-self: center;
    min-width: max-content;
}

#playerControls .control-group--right {
    grid-area: right;
    display: flex;
    align-items: center;
    justify-self: end;
    min-width: 0;
}

#playerControls .time-readout {
    white-space: nowrap;
}

/* Menu options must remain inside their popover containers. */
#playerControls .caption-settings-menu[hidden],
#playerControls .speed-menu[hidden] {
    display: none;
}

#playerControls .caption-settings-menu,
#playerControls .speed-menu {
    z-index: 80;
}

@media (max-width: 720px) {
    #playerControls.player-controls {
        padding: 3.5rem .7rem max(.65rem, env(safe-area-inset-bottom));
    }

    #playerControls > .control-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "transport transport"
            "left right";
        grid-template-rows: auto auto;
        row-gap: .18rem;
        column-gap: .5rem;
    }

    #playerControls .transport-controls {
        grid-area: transport;
        justify-self: center;
    }

    #playerControls .control-group--left {
        grid-area: left;
        display: flex;
        justify-self: start;
    }

    #playerControls .control-group--right {
        grid-area: right;
        display: flex;
        justify-self: end;
    }

    #playerControls .volume-control {
        display: flex;
        align-items: center;
    }

    #playerControls .volume-control input,
    #playerControls .time-readout {
        display: none;
    }
}

@media (max-width: 560px) {
    #playerControls .control-group--left {
        display: flex;
    }

    #playerControls .control-group--right .caption-settings,
    #playerControls .control-group--right .speed-control {
        display: none;
    }

    #playerControls #fullscreenToggle {
        display: grid;
    }
}

/*
 * LUMINA v22 — canonical player and premiere-gate stabilization
 * - symmetric 10-second transport glyphs
 * - full-height pre-payment dialog with a wide reading canvas
 * - authored one/two-line title fitting
 * - shared blurred-video chapter cards before and after payment
 * - explicit fixed demo metrics and reviews
 */

:root {
    --v22-gold: #d6ad70;
    --v22-gold-pale: #f1dfb6;
    --v22-line: rgba(239, 221, 187, .14);
    --v22-panel: rgba(8, 12, 18, .95);
}

/* -------------------------------------------------------------------------- */
/* Player transport                                                           */
/* -------------------------------------------------------------------------- */
#playerControls .transport-controls {
    gap: clamp(.35rem, .9vw, .8rem);
    line-height: 0;
}

#playerControls .transport-button--seek,
#playerControls .transport-button--main {
    position: relative;
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    color: rgba(255, 255, 255, .96);
    line-height: 0;
    vertical-align: middle;
    transform: none;
    overflow: visible;
}

#playerControls .transport-button--seek {
    width: 58px;
    min-width: 58px;
    height: 58px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

#playerControls .transport-button--main {
    width: 64px;
    min-width: 64px;
    height: 64px;
}

#playerControls .transport-button--seek:hover,
#playerControls .transport-button--seek:focus-visible {
    border-color: rgba(214, 173, 112, .28);
    background: rgba(255, 255, 255, .075);
}

#playerControls .seek10-icon {
    position: static;
    display: block;
    width: 54px;
    height: 54px;
    max-width: none;
    margin: 0;
    overflow: visible;
    pointer-events: none;
    transform: none;
    transform-origin: 50% 50%;
    fill: none;
    stroke: none;
}

#playerControls .seek10-icon__arc,
#playerControls .seek10-icon__arrow,
#playerControls .seek10-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

#playerControls .seek10-icon__arc,
#playerControls .seek10-icon__arrow {
    stroke-width: 2.15;
}

#playerControls .seek10-icon__chevrons {
    stroke-width: 2.45;
}

#playerControls .seek10-icon__number {
    fill: currentColor;
    stroke: none;
    font-family: var(--sans);
    font-size: 9.2px;
    font-weight: 760;
    letter-spacing: -.04em;
    text-anchor: middle;
}

#playerControls .transport-button--main > svg {
    position: static;
    display: block;
    width: 40px;
    height: 40px;
    margin: 0;
    transform: none;
}

/* -------------------------------------------------------------------------- */
/* Title lockups                                                              */
/* -------------------------------------------------------------------------- */
#premiereGate [data-v22-title-lines],
.fortune-report__chapters [data-v22-title-lines] {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}

#premiereGate [data-v22-title-lines="1"] {
    white-space: nowrap;
}

#premiereGate [data-v22-title-lines="2"] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .02em;
}

#premiereGate .v22-title-line {
    display: block;
    width: 100%;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

/* -------------------------------------------------------------------------- */
/* Full-height premiere gate                                                  */
/* -------------------------------------------------------------------------- */
#premiereGate.premiere-gate {
    align-items: stretch;
    justify-items: center;
    padding:
        max(10px, env(safe-area-inset-top))
        max(10px, env(safe-area-inset-right))
        max(10px, env(safe-area-inset-bottom))
        max(10px, env(safe-area-inset-left));
}

#premiereGate .premiere-gate__dialog {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-self: stretch;
    width: min(1580px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));
    height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-width: 100%;
    max-height: none;
    min-height: 0;
    overflow: hidden;
}

#premiereGate .premiere-gate__header {
    position: relative;
    top: auto;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: clamp(.9rem, 1.55vw, 1.45rem) clamp(1rem, 2.5vw, 2.5rem);
}

#premiereGate .premiere-gate__header > div {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 58px);
}

#premiereGate .premiere-gate__header .eyebrow {
    margin: 0;
}

#premiereGate #premiereGateTitle {
    width: 100%;
    max-width: 1180px;
    margin: .35rem 0 0;
    font-size: clamp(1.18rem, 2.15vw, 2.55rem);
    line-height: 1.28;
    letter-spacing: -.045em;
}

#premiereGate .premiere-gate__header > button {
    flex: 0 0 auto;
    width: 42px;
    min-width: 42px;
    height: 42px;
    margin-left: clamp(.7rem, 2vw, 1.7rem);
}

#premiereGate .premiere-gate__body {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: clamp(1rem, 2.4vw, 2.5rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

#premiereGate .premiere-gate__body > section {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

/* -------------------------------------------------------------------------- */
/* Wide premiere content                                                      */
/* -------------------------------------------------------------------------- */
#premiereGate .premiere-preview {
    grid-template-columns: minmax(430px, .92fr) minmax(0, 1.08fr);
    gap: clamp(1.5rem, 3.25vw, 4rem);
    align-items: center;
    width: 100%;
}

#premiereGate .premiere-preview__visual {
    min-height: clamp(400px, 41vw, 610px);
}

#premiereGate .premiere-preview__copy {
    width: 100%;
    max-width: 760px;
    min-width: 0;
    justify-self: start;
}

#premiereGate .premiere-preview__title {
    width: 100%;
    max-width: none;
    margin: .55rem 0 1rem;
    font-size: clamp(1.35rem, 2.65vw, 3.15rem);
    line-height: 1.32;
    letter-spacing: -.04em;
}

#premiereGate .report-contents,
#premiereGate .premiere-proof,
#premiereGate .premiere-strengths,
#premiereGate .premiere-process,
#premiereGate .premiere-comparison,
#premiereGate .premiere-faq,
#premiereGate .premiere-offer {
    width: 100%;
    min-width: 0;
}

#premiereGate .report-contents > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "eyebrow meta"
        "title meta";
    align-items: end;
    gap: .35rem 1.5rem;
    width: 100%;
    min-width: 0;
}

#premiereGate .report-contents > header > .eyebrow {
    grid-area: eyebrow;
    margin: 0;
}

#premiereGate #reportContentsTitle {
    grid-area: title;
    width: 100%;
    max-width: none;
    margin: .15rem 0 0;
    font-size: clamp(1.45rem, 2.35vw, 2.65rem);
    line-height: 1.3;
}

#premiereGate .report-contents > header > span {
    grid-area: meta;
    align-self: end;
    white-space: nowrap;
}

/* -------------------------------------------------------------------------- */
/* Shared 11-chapter cards and hover video                                    */
/* -------------------------------------------------------------------------- */
.report-chapter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.65rem, 1.15vw, 1rem);
    width: 100%;
    min-width: 0;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.report-chapter-card {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    min-width: 0;
    min-height: 158px;
    padding: clamp(1rem, 1.45vw, 1.3rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    outline: none;
    background: linear-gradient(145deg, rgba(20, 27, 36, .96), rgba(7, 10, 15, .97));
    transition: border-color .32s ease, transform .32s ease, box-shadow .32s ease;
}

.report-chapter-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(4, 7, 11, .2), rgba(4, 7, 11, .88)),
        radial-gradient(circle at 80% 10%, rgba(214, 173, 112, .15), transparent 42%);
    transition: background .32s ease;
}

.report-chapter-video {
    position: absolute;
    z-index: 0;
    inset: -8%;
    width: 116%;
    height: 116%;
    object-fit: cover;
    opacity: 0;
    filter: blur(11px) brightness(.58) saturate(.72);
    transform: scale(1.08);
    transition: opacity .42s ease, transform 1.1s ease;
    pointer-events: none;
}

.report-chapter-card > :not(.report-chapter-video) {
    position: relative;
    z-index: 2;
}

.report-chapter-card:hover,
.report-chapter-card:focus-visible,
.report-chapter-card.is-previewing {
    border-color: rgba(226, 191, 137, .42);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .28);
    transform: translateY(-3px);
}

.report-chapter-card:hover .report-chapter-video,
.report-chapter-card:focus-visible .report-chapter-video,
.report-chapter-card.is-previewing .report-chapter-video {
    opacity: .72;
    transform: scale(1.015);
}

.report-chapter-card:hover::after,
.report-chapter-card:focus-visible::after,
.report-chapter-card.is-previewing::after {
    background:
        linear-gradient(180deg, rgba(4, 7, 11, .34), rgba(4, 7, 11, .86)),
        radial-gradient(circle at 80% 10%, rgba(214, 173, 112, .22), transparent 46%);
}

.report-chapter-card i,
.report-chapter-card .report-chapter-card__number {
    display: block;
    margin-bottom: .62rem;
    color: var(--gold, var(--v22-gold));
    font-family: var(--serif);
    font-size: .66rem;
    font-style: normal;
    letter-spacing: .12em;
}

.report-chapter-card strong {
    display: block;
    font-family: var(--serif-ko);
    font-size: clamp(.9rem, 1vw, 1rem);
    font-weight: 500;
    line-height: 1.48;
    word-break: keep-all;
}

.report-chapter-card span:not(.report-chapter-card__number) {
    display: block;
    margin-top: .42rem;
    color: rgba(255, 255, 255, .5);
    font-size: clamp(.7rem, .82vw, .79rem);
    line-height: 1.65;
    word-break: keep-all;
}

/* -------------------------------------------------------------------------- */
/* Demo metrics and reviews                                                   */
/* -------------------------------------------------------------------------- */
#premiereGate .premiere-proof {
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
}

#premiereGate .premiere-proof__metrics strong {
    white-space: nowrap;
}

#premiereGate .premiere-proof__reviews {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    gap: .65rem;
}

#premiereGate .premiere-proof__reviews > .eyebrow,
#premiereGate .premiere-proof__reviews > small {
    grid-column: 1 / -1;
}

#premiereGate .premiere-proof__reviews blockquote {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 154px;
    margin: 0;
    padding: .95rem 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-left: 2px solid rgba(214, 173, 112, .5);
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
}

#premiereGate .premiere-proof__reviews blockquote cite {
    display: block;
    margin-top: auto;
    padding-top: .8rem;
    color: rgba(255, 255, 255, .42);
    font-family: var(--sans);
    font-size: .62rem;
    font-style: normal;
    letter-spacing: .04em;
}

/* -------------------------------------------------------------------------- */
/* Rich pre-payment sections                                                  */
/* -------------------------------------------------------------------------- */
.premiere-process,
.premiere-comparison,
.premiere-faq {
    margin-top: clamp(2rem, 4vw, 4rem);
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    border-top: 1px solid rgba(255, 255, 255, .09);
}

.premiere-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    min-width: 0;
}

.premiere-section-heading h3,
#premiereGate .premiere-strengths h3 {
    width: 100%;
    max-width: 900px;
    margin: .55rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1.45rem, 2.5vw, 2.8rem);
    font-weight: 300;
    line-height: 1.34;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.premiere-process__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.5rem;
}

.premiere-process__grid article {
    min-width: 0;
    padding: 1.15rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}

.premiere-process__grid i {
    display: block;
    color: var(--gold, var(--v22-gold));
    font-family: var(--serif);
    font-size: .63rem;
    font-style: normal;
    letter-spacing: .13em;
}

.premiere-process__grid strong {
    display: block;
    margin-top: .75rem;
    color: var(--gold-pale, var(--v22-gold-pale));
    font-family: var(--serif-ko);
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.5;
    word-break: keep-all;
}

.premiere-process__grid p {
    margin: .55rem 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: .72rem;
    line-height: 1.7;
    word-break: keep-all;
}

.premiere-comparison__table {
    margin-top: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
}

.premiere-comparison__row {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(0, .85fr) minmax(0, 1.2fr);
}

.premiere-comparison__row + .premiere-comparison__row {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.premiere-comparison__row:first-child {
    background: rgba(214, 173, 112, .07);
}

.premiere-comparison__row > * {
    min-width: 0;
    padding: .95rem 1rem;
    color: rgba(255, 255, 255, .62);
    font-size: .76rem;
    line-height: 1.55;
    word-break: keep-all;
}

.premiere-comparison__row > * + * {
    border-left: 1px solid rgba(255, 255, 255, .08);
}

.premiere-comparison__row strong {
    color: var(--gold-pale, var(--v22-gold-pale));
}

.premiere-faq__list {
    display: grid;
    gap: .65rem;
    margin-top: 1.5rem;
}

.premiere-faq details {
    padding: 0 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 12px;
    background: rgba(255, 255, 255, .02);
}

.premiere-faq summary {
    position: relative;
    padding: 1rem 2rem 1rem 0;
    color: rgba(255, 255, 255, .82);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
    word-break: keep-all;
}

.premiere-faq summary::-webkit-details-marker {
    display: none;
}

.premiere-faq summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    color: var(--gold, var(--v22-gold));
    font-size: 1.15rem;
    transform: translateY(-50%);
}

.premiere-faq details[open] summary::after {
    content: "−";
}

.premiere-faq details p {
    margin: 0;
    padding: 0 0 1rem;
    color: rgba(255, 255, 255, .52);
    font-size: .74rem;
    line-height: 1.75;
    word-break: keep-all;
}

/* -------------------------------------------------------------------------- */
/* AFTER CREDITS shared total report                                          */
/* -------------------------------------------------------------------------- */
.fortune-report__chapters {
    width: 100%;
    min-width: 0;
    margin-top: clamp(2rem, 4vw, 4rem);
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    border-top: 1px solid rgba(255, 255, 255, .09);
}

.fortune-report__chapters > header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    min-width: 0;
}

.fortune-report__chapters > header h4 {
    margin: .4rem 0 0;
    color: rgba(255, 255, 255, .94);
    font-family: var(--serif-ko);
    font-size: clamp(1.45rem, 2.6vw, 2.8rem);
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: -.04em;
    word-break: keep-all;
}

.fortune-report__chapters > header > span {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, .38);
    font-family: var(--serif);
    font-size: .68rem;
    letter-spacing: .14em;
    white-space: nowrap;
}

.fortune-report__chapters .report-chapter-card {
    background: linear-gradient(145deg, rgba(17, 23, 31, .97), rgba(7, 10, 15, .98));
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media (max-width: 1180px) {
    #premiereGate .premiere-preview {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-preview__copy {
        max-width: none;
    }

    #premiereGate .report-chapter-grid,
    .fortune-report__chapters .report-chapter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #premiereGate .premiere-proof,
    #premiereGate .premiere-strengths,
    #premiereGate .premiere-offer {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-proof__reviews,
    .premiere-process__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    #playerControls .transport-controls {
        gap: .22rem;
    }

    #playerControls .transport-button--seek {
        width: 48px;
        min-width: 48px;
        height: 48px;
    }

    #playerControls .transport-button--main {
        width: 56px;
        min-width: 56px;
        height: 56px;
    }

    #playerControls .seek10-icon {
        width: 45px;
        height: 45px;
    }

    #playerControls .transport-button--main > svg {
        width: 34px;
        height: 34px;
    }

    #premiereGate.premiere-gate {
        padding:
            max(6px, env(safe-area-inset-top))
            max(6px, env(safe-area-inset-right))
            max(6px, env(safe-area-inset-bottom))
            max(6px, env(safe-area-inset-left));
    }

    #premiereGate .premiere-gate__dialog {
        width: calc(100vw - 12px - env(safe-area-inset-left) - env(safe-area-inset-right));
        height: calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        border-radius: 16px;
    }

    #premiereGate .premiere-gate__header {
        padding: .85rem;
    }

    #premiereGate .premiere-gate__header > div {
        max-width: calc(100% - 46px);
    }

    #premiereGate #premiereGateTitle {
        font-size: clamp(.95rem, 4.55vw, 1.5rem);
        line-height: 1.32;
    }

    #premiereGate .premiere-gate__header > button {
        width: 36px;
        min-width: 36px;
        height: 36px;
        margin-left: .55rem;
    }

    #premiereGate .premiere-gate__body {
        padding: .85rem;
        scrollbar-gutter: auto;
    }

    #premiereGate .premiere-preview__visual {
        min-height: min(112vw, 450px);
    }

    #premiereGate .premiere-preview__title {
        font-size: clamp(1.18rem, 5.2vw, 1.72rem);
    }

    #premiereGate .report-contents > header {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "eyebrow"
            "title"
            "meta";
        align-items: start;
        gap: .35rem;
    }

    #premiereGate #reportContentsTitle {
        font-size: clamp(1.24rem, 5.6vw, 1.72rem);
    }

    #premiereGate .report-contents > header > span {
        margin-top: .2rem;
    }

    #premiereGate .report-chapter-grid,
    .fortune-report__chapters .report-chapter-grid,
    #premiereGate .premiere-proof__reviews,
    .premiere-process__grid {
        grid-template-columns: 1fr;
    }

    .report-chapter-card {
        min-height: 142px;
    }

    #premiereGate .premiere-proof__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #premiereGate .premiere-proof__metrics div {
        min-height: 88px;
        padding: .55rem .3rem;
    }

    #premiereGate .premiere-proof__metrics strong {
        font-size: clamp(1.1rem, 5.5vw, 1.65rem);
    }

    #premiereGate .premiere-proof__metrics span {
        font-size: .47rem;
    }

    .premiere-section-heading,
    .fortune-report__chapters > header {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }

    .premiere-section-heading h3,
    #premiereGate .premiere-strengths h3,
    .fortune-report__chapters > header h4 {
        font-size: clamp(1.25rem, 5.7vw, 1.8rem);
    }

    .premiere-comparison__table {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .premiere-comparison__row {
        min-width: 660px;
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    #premiereGate .premiere-gate__header {
        padding: .68rem 1.35rem;
    }

    #premiereGate .premiere-gate__header .eyebrow {
        margin: 0;
        font-size: .55rem;
    }

    #premiereGate #premiereGateTitle {
        margin-top: .2rem;
        font-size: clamp(1.08rem, 1.8vw, 1.8rem);
        line-height: 1.22;
    }

    #premiereGate .premiere-gate__header > button {
        width: 36px;
        min-width: 36px;
        height: 36px;
    }

    #premiereGate .premiere-gate__body {
        padding: .9rem 1.35rem 1.5rem;
    }

    #premiereGate .premiere-preview__visual {
        min-height: 430px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .report-chapter-card,
    .report-chapter-video {
        transition: none;
    }

    .report-chapter-video {
        display: none;
    }
}

/*
 * LUMINA v23 — cinematic player command deck, responsive hero and media cards
 * Loaded last. It deliberately neutralizes accumulated player overrides.
 */

:root {
    --v23-player-gutter: clamp(1rem, 3vw, 3.25rem);
    --v23-player-bottom: max(1rem, env(safe-area-inset-bottom));
    --v23-control-bg: rgba(4, 6, 10, .72);
    --v23-control-line: rgba(255, 255, 255, .18);
}

/* -------------------------------------------------------------------------- */
/* Hero copy: use the available desktop width instead of a narrow text column. */
/* -------------------------------------------------------------------------- */
.streaming-hero__grid {
    width: min(calc(100vw - (var(--page-gutter) * 2)), 1900px);
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .72fr);
    gap: clamp(2.5rem, 5vw, 7rem);
}

.streaming-hero__content {
    width: 100%;
    max-width: 1040px;
}

.streaming-hero__content h1 {
    width: 100%;
    max-width: 100%;
}

.streaming-hero__content .hero-copy__body {
    width: 100%;
    max-width: 880px;
    font-size: clamp(.92rem, .92vw, 1.08rem);
}

.streaming-hero .hero-metrics {
    width: min(100%, 900px);
}

.hero-scene {
    width: min(100%, 690px);
}

@media (min-width: 1800px) {
    .streaming-hero__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(480px, .78fr);
    }

    .streaming-hero__content {
        max-width: 1180px;
    }

    .streaming-hero__content .hero-copy__body {
        max-width: 960px;
        font-size: clamp(1rem, .72vw, 1.2rem);
    }

    .hero-scene {
        width: min(100%, 780px);
    }
}

@media (max-width: 1180px) {
    .streaming-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .68fr);
        gap: clamp(1.8rem, 4vw, 3.5rem);
    }

    .streaming-hero__content {
        max-width: 820px;
    }
}

@media (max-width: 940px) {
    .streaming-hero__grid {
        grid-template-columns: 1fr;
    }

    .streaming-hero__content {
        max-width: 760px;
    }

    .streaming-hero__content .hero-copy__body {
        max-width: 680px;
    }
}

/* -------------------------------------------------------------------------- */
/* Poster assets and card image foundations                                   */
/* -------------------------------------------------------------------------- */
.streaming-card,
.poster-card,
.poster-card__image {
    position: relative;
    isolation: isolate;
}

.streaming-card > img,
.poster-card__image > img {
    position: relative;
    z-index: 0;
    display: block;
    background:
        radial-gradient(circle at 50% 35%, rgba(212, 174, 115, .14), transparent 35%),
        #080b10;
}

/* Resting cards stay complete inside every rail; no half-cut final card. */
.streaming-row__viewport {
    min-width: 0;
    padding-inline: 0;
    overflow: visible;
}

.streaming-row__track {
    box-sizing: border-box;
    max-width: 100%;
    scroll-padding-inline: var(--lumina-rail-edge, 14px);
}

.streaming-card-slot {
    min-width: 0;
    overflow: visible;
}

/* -------------------------------------------------------------------------- */
/* Player top bar                                                             */
/* -------------------------------------------------------------------------- */
#cinema .player-top {
    position: absolute;
    z-index: 72;
    top: 0;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    align-items: start;
    gap: 1rem;
    width: 100%;
    max-width: none;
    min-width: 0;
    padding:
        max(1rem, env(safe-area-inset-top))
        var(--v23-player-gutter)
        5rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, .88), rgba(0, 0, 0, .38) 48%, transparent);
    transform: translateY(-12px);
}

#cinema.is-chrome-visible .player-top,
#cinema.is-paused .player-top {
    transform: translateY(0);
}

#playerTop .player-top__exit,
#playerTop .player-top__fullscreen {
    display: grid;
    place-items: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: rgba(0, 0, 0, .14);
    color: #fff;
    backdrop-filter: blur(8px);
}

#playerTop .player-top__exit {
    grid-column: 1;
    justify-self: start;
}

#playerTop .player-top__fullscreen {
    grid-column: 3;
    justify-self: end;
}

#playerTop .player-top__exit:hover,
#playerTop .player-top__exit:focus-visible,
#playerTop .player-top__fullscreen:hover,
#playerTop .player-top__fullscreen:focus-visible {
    border-color: rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
}

#playerTop .player-title {
    grid-column: 2;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: .2rem;
    min-width: 0;
    padding-top: .15rem;
    text-align: center;
}

#playerTop .player-title span,
#playerTop .player-title strong,
#playerTop .player-title em {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#playerTop .player-title span {
    order: 2;
    color: rgba(234, 199, 143, .78);
    font-family: var(--serif-en, var(--serif));
    font-size: clamp(.54rem, .58vw, .68rem);
    font-style: normal;
    letter-spacing: .18em;
}

#playerTop .player-title strong {
    order: 1;
    color: #fff;
    font-family: var(--sans);
    font-size: clamp(.96rem, 1.22vw, 1.28rem);
    font-weight: 620;
    letter-spacing: -.02em;
    line-height: 1.25;
}

#playerTop .player-title em {
    order: 3;
    color: rgba(255, 255, 255, .46);
    font-family: var(--serif-en, var(--serif));
    font-size: .55rem;
    font-style: normal;
    letter-spacing: .14em;
}

#playerTop .player-focus-badge {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Center transport: one state icon only, balanced 10-second controls.       */
/* -------------------------------------------------------------------------- */
#cinema .player-center-transport {
    position: absolute;
    z-index: 68;
    top: 51%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(2.3rem, 6vw, 7rem);
    width: max-content;
    min-width: 0;
    padding: 0;
    background: none;
    transform: translate(-50%, -50%) scale(.98);
}

#cinema.is-chrome-visible .player-center-transport,
#cinema.is-paused .player-center-transport {
    transform: translate(-50%, -50%) scale(1);
}

#playerCenterTransport .transport-button,
#playerCenterTransport .transport-button--main,
#playerCenterTransport .transport-button--seek {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 92px;
    min-width: 92px;
    max-width: 92px;
    height: 92px;
    min-height: 92px;
    max-height: 92px;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 1px solid transparent;
    border-radius: 50%;
    outline-offset: 5px;
    background: rgba(0, 0, 0, .08);
    color: #fff;
    box-shadow: none;
    backdrop-filter: blur(3px);
    transform: none;
    transition: background .2s ease, border-color .2s ease, transform .16s ease;
}

#playerCenterTransport .transport-button--main {
    width: 98px;
    min-width: 98px;
    max-width: 98px;
    height: 98px;
    min-height: 98px;
    max-height: 98px;
}

#playerCenterTransport .transport-button::before,
#playerCenterTransport .transport-button::after,
#playToggle::before,
#playToggle::after {
    display: none;
    content: none;
}

#playerCenterTransport .transport-button:hover,
#playerCenterTransport .transport-button:focus-visible {
    border-color: rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .095);
}

#playerCenterTransport .transport-button:active {
    transform: scale(.94);
}

#playerCenterTransport .seek10-icon {
    position: static;
    display: block;
    width: 82px;
    height: 82px;
    margin: 0;
    overflow: visible;
    fill: none;
    stroke: none;
    transform: none;
}

#playerCenterTransport .seek10-icon__ring,
#playerCenterTransport .seek10-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

#playerCenterTransport .seek10-icon__ring {
    stroke-width: 2.15;
}

#playerCenterTransport .seek10-icon__chevrons {
    stroke-width: 2.75;
}

#playerCenterTransport .seek10-icon__number {
    fill: currentColor;
    stroke: none;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 520;
    letter-spacing: -.035em;
    text-anchor: middle;
}

#playerCenterTransport #playToggle > svg {
    position: static;
    width: 66px;
    height: 66px;
    margin: 0;
    overflow: visible;
    transform: none;
}

#playerCenterTransport #playToggle .icon-pause {
    display: block;
    fill: currentColor;
    stroke: none;
}

#playerCenterTransport #playToggle .icon-play {
    display: none;
    fill: currentColor;
    stroke: none;
}

#cinema.is-paused #playerCenterTransport #playToggle .icon-pause {
    display: none;
}

#cinema.is-paused #playerCenterTransport #playToggle .icon-play {
    display: block;
}

/* The old pause feedback must never create a second centre symbol. */
#pauseCenter {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Progress and bottom command deck                                           */
/* -------------------------------------------------------------------------- */
#playerControls.player-controls {
    position: absolute;
    z-index: 70;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 5.4rem var(--v23-player-gutter) var(--v23-player-bottom);
    overflow: visible;
    background: linear-gradient(0deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .68) 54%, transparent);
    transform: translateY(12px);
}

#cinema.is-chrome-visible #playerControls,
#cinema.is-paused #playerControls {
    transform: translateY(0);
}

#playerControls > .progress-control {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 42px;
    min-width: 0;
    margin: 0 0 .45rem;
    overflow: visible;
}

#playerControls .progress-time-labels {
    position: absolute;
    z-index: 6;
    top: -1.15rem;
    right: 0;
    left: 0;
    height: 1rem;
    pointer-events: none;
    color: #fff;
    font-family: var(--sans);
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    white-space: nowrap;
}

#playerControls #progressCurrentTime {
    position: absolute;
    left: clamp(28px, var(--progress, 0%), calc(100% - 82px));
    transform: translateX(-50%);
    text-shadow: 0 2px 8px #000;
}

#playerControls #progressTotalTime {
    position: absolute;
    right: 0;
    color: rgba(255, 255, 255, .9);
    text-shadow: 0 2px 8px #000;
}

#playerControls #progressRange {
    position: relative;
    z-index: 4;
    display: block;
    width: 100%;
    height: 5px;
    min-height: 5px;
    margin: 0;
    padding: 0;
    appearance: none;
    border: 0;
    border-radius: 999px;
    outline: 0;
    background:
        linear-gradient(90deg,
            #fff 0 var(--progress, 0%),
            rgba(255, 255, 255, .28) var(--progress, 0%) 100%);
    cursor: pointer;
    transition: height .16s ease;
}

#playerControls .progress-control:hover #progressRange,
#playerControls .progress-control.is-scrubbing #progressRange,
#playerControls #progressRange:focus-visible {
    height: 7px;
}

#playerControls #progressRange::-webkit-slider-runnable-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
}

#playerControls #progressRange::-moz-range-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
}

#playerControls #progressRange::-webkit-slider-thumb {
    width: 15px;
    height: 15px;
    margin-top: -4px;
    appearance: none;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--gold, #d6ad70);
    box-shadow: 0 0 0 5px rgba(214, 173, 112, .16);
}

#playerControls #progressRange::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--gold, #d6ad70);
    box-shadow: 0 0 0 5px rgba(214, 173, 112, .16);
}

#playerControls .chapter-ticks {
    z-index: 5;
    top: 19px;
    height: 7px;
}

#playerControls .chapter-ticks i {
    top: 2px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .58);
    transform: translateX(-50%);
}

#playerControls .progress-tooltip {
    z-index: 8;
    bottom: 36px;
    min-width: 50px;
    padding: .38rem .5rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 5px;
    background: rgba(4, 6, 9, .92);
    font-variant-numeric: tabular-nums;
    text-align: center;
    white-space: nowrap;
}

#playerControls > .control-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    grid-template-areas: "left right";
    align-items: center;
    gap: clamp(1rem, 3vw, 3.6rem);
    width: 100%;
    min-width: 0;
}

#playerControls .control-group--left {
    grid-area: left;
    display: flex;
    align-items: center;
    justify-self: start;
    min-width: 0;
}

#playerControls .control-group--right {
    grid-area: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: clamp(.35rem, 1.35vw, 1rem);
    min-width: 0;
}

#playerControls .legacy-player-settings,
#playerControls .time-readout {
    display: none;
}

#playerControls .volume-control {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}

#playerControls .volume-control > input {
    display: block;
    width: clamp(72px, 8vw, 124px);
    height: 3px;
    margin: 0;
    opacity: .8;
    accent-color: #fff;
}

#playerControls .player-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: .65rem .75rem;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: rgba(255, 255, 255, .92);
    font-family: var(--sans);
    font-size: clamp(.66rem, .72vw, .78rem);
    font-weight: 600;
    letter-spacing: .025em;
    line-height: 1;
    white-space: nowrap;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

#playerControls .player-menu-button svg {
    flex: 0 0 auto;
    width: 25px;
    height: 25px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#playerControls .player-menu-button:hover,
#playerControls .player-menu-button:focus-visible,
#playerControls .player-menu-button[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

#playerControls .player-menu-button--volume.is-muted .volume-wave,
#playerControls #volumeToggle.is-muted .volume-wave {
    opacity: .18;
}

/* Captions clear the bottom command deck. */
#cinema.is-chrome-visible .film-caption,
#cinema.is-paused .film-caption {
    bottom: clamp(11.5rem, 22vh, 15rem);
}

/* -------------------------------------------------------------------------- */
/* Audio & subtitles panel                                                    */
/* -------------------------------------------------------------------------- */
.audio-subtitle-panel[hidden] {
    display: none;
}

#audioSubtitleMenu.audio-subtitle-panel {
    position: absolute;
    z-index: 92;
    right: var(--v23-player-gutter);
    bottom: clamp(7.8rem, 16vh, 10rem);
    display: block;
    box-sizing: border-box;
    width: min(780px, calc(100vw - (var(--v23-player-gutter) * 2)));
    max-width: calc(100vw - (var(--v23-player-gutter) * 2));
    max-height: min(68dvh, 620px);
    padding: clamp(1rem, 2vw, 1.6rem);
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 16px;
    background: rgba(7, 10, 15, .95);
    box-shadow: 0 24px 80px rgba(0, 0, 0, .62);
    color: #fff;
    backdrop-filter: blur(24px);
}

.audio-subtitle-panel__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.audio-subtitle-panel__head h2 {
    margin: .25rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 400;
}

.audio-subtitle-panel__head > button {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    background: rgba(255, 255, 255, .045);
    color: #fff;
    font-size: 1.35rem;
}

.audio-subtitle-panel__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.75rem, 1.5vw, 1.25rem);
}

.audio-subtitle-panel fieldset {
    display: grid;
    align-content: start;
    gap: .45rem;
    min-width: 0;
    margin: 0;
    padding: .85rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 12px;
}

.audio-subtitle-panel legend {
    padding: 0 .35rem;
    color: var(--gold-soft, #e1bb82);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.audio-subtitle-panel fieldset button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    width: 100%;
    min-height: 42px;
    padding: .65rem .7rem;
    border: 1px solid transparent;
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
    color: rgba(255, 255, 255, .68);
    text-align: left;
}

.audio-subtitle-panel fieldset button small {
    color: rgba(255, 255, 255, .38);
    font-size: .58rem;
}

.audio-subtitle-panel fieldset button:hover,
.audio-subtitle-panel fieldset button:focus-visible,
.audio-subtitle-panel fieldset button[aria-checked="true"] {
    border-color: rgba(214, 173, 112, .3);
    background: rgba(214, 173, 112, .08);
    color: #fff;
}

.audio-subtitle-panel fieldset button[aria-checked="true"]::after {
    content: "✓";
    color: var(--gold-soft, #e1bb82);
}

.audio-subtitle-panel__note {
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .46);
    font-size: .68rem;
    line-height: 1.7;
}

/* -------------------------------------------------------------------------- */
/* Current Cut remains inside the viewport above the new control deck.        */
/* -------------------------------------------------------------------------- */
#currentCut.current-cut {
    right: var(--v23-player-gutter);
    bottom: clamp(7.8rem, 16vh, 10rem);
    width: min(430px, calc(100vw - (var(--v23-player-gutter) * 2)));
    max-height: calc(100dvh - 10rem - env(safe-area-inset-top));
    overflow: hidden;
}

#currentCut .current-cut__list {
    max-height: min(48dvh, 440px);
    overflow-y: auto;
}

/* -------------------------------------------------------------------------- */
/* Responsive player                                                          */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
    :root {
        --v23-player-gutter: clamp(.75rem, 2.8vw, 1.5rem);
    }

    #cinema .player-center-transport {
        gap: clamp(1.3rem, 5vw, 3rem);
    }

    #playerCenterTransport .transport-button,
    #playerCenterTransport .transport-button--seek {
        width: 78px;
        min-width: 78px;
        max-width: 78px;
        height: 78px;
        min-height: 78px;
        max-height: 78px;
    }

    #playerCenterTransport .transport-button--main {
        width: 84px;
        min-width: 84px;
        max-width: 84px;
        height: 84px;
        min-height: 84px;
        max-height: 84px;
    }

    #playerCenterTransport .seek10-icon {
        width: 70px;
        height: 70px;
    }

    #playerCenterTransport #playToggle > svg {
        width: 56px;
        height: 56px;
    }

    #playerControls > .control-row {
        grid-template-columns: minmax(96px, .7fr) minmax(0, 1.3fr);
        gap: .75rem;
    }

    #playerControls .player-menu-button {
        padding-inline: .55rem;
        font-size: .64rem;
    }

    #playerControls .player-menu-button svg {
        width: 22px;
        height: 22px;
    }

    #playerControls .volume-control > input {
        width: 72px;
    }

    .audio-subtitle-panel__grid {
        grid-template-columns: 1fr 1fr;
    }

    .audio-subtitle-panel__grid fieldset:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    #cinema .player-top {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: .45rem;
        padding-top: max(.7rem, env(safe-area-inset-top));
        padding-bottom: 4.2rem;
    }

    #playerTop .player-top__exit,
    #playerTop .player-top__fullscreen {
        width: 40px;
        min-width: 40px;
        height: 40px;
    }

    #playerTop .player-title strong {
        font-size: .9rem;
    }

    #playerTop .player-title span {
        font-size: .48rem;
    }

    #playerTop .player-title em {
        display: none;
    }

    #cinema .player-center-transport {
        top: 48%;
        gap: clamp(.65rem, 4vw, 1.25rem);
    }

    #playerCenterTransport .transport-button,
    #playerCenterTransport .transport-button--seek {
        width: 64px;
        min-width: 64px;
        max-width: 64px;
        height: 64px;
        min-height: 64px;
        max-height: 64px;
    }

    #playerCenterTransport .transport-button--main {
        width: 70px;
        min-width: 70px;
        max-width: 70px;
        height: 70px;
        min-height: 70px;
        max-height: 70px;
    }

    #playerCenterTransport .seek10-icon {
        width: 58px;
        height: 58px;
    }

    #playerCenterTransport .seek10-icon__number {
        font-size: 14px;
    }

    #playerCenterTransport #playToggle > svg {
        width: 47px;
        height: 47px;
    }

    #playerControls.player-controls {
        padding: 4.7rem .65rem max(.55rem, env(safe-area-inset-bottom));
    }

    #playerControls > .progress-control {
        height: 36px;
        margin-bottom: .15rem;
    }

    #playerControls .progress-time-labels {
        top: -.85rem;
        font-size: .62rem;
    }

    #playerControls #progressCurrentTime {
        left: clamp(24px, var(--progress, 0%), calc(100% - 72px));
    }

    #playerControls > .control-row {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: .35rem;
    }

    #playerControls .control-group--right {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: .12rem;
    }

    #playerControls .volume-control > input {
        display: none;
    }

    #playerControls .player-menu-button {
        display: grid;
        justify-items: center;
        align-content: center;
        gap: .22rem;
        width: 100%;
        min-width: 0;
        min-height: 48px;
        padding: .35rem .18rem;
        font-size: 0;
    }

    #playerControls .player-menu-button span {
        display: block;
        max-width: 100%;
        overflow: hidden;
        font-size: 0;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #playerControls .player-menu-button span::after {
        content: attr(data-short);
        font-family: var(--sans);
        font-size: .56rem;
        font-weight: 620;
        letter-spacing: -.01em;
    }

    #playerControls .player-menu-button svg {
        width: 22px;
        height: 22px;
    }

    #cinema.is-chrome-visible .film-caption,
    #cinema.is-paused .film-caption {
        bottom: clamp(9.5rem, 24vh, 12.2rem);
    }

    #currentCut.current-cut,
    #audioSubtitleMenu.audio-subtitle-panel {
        right: .55rem;
        bottom: 6.8rem;
        width: calc(100vw - 1.1rem);
        max-width: calc(100vw - 1.1rem);
        max-height: min(67dvh, 560px);
    }

    .audio-subtitle-panel__grid {
        grid-template-columns: 1fr;
    }

    .audio-subtitle-panel__grid fieldset:last-child {
        grid-column: auto;
    }
}

@media (max-height: 700px) and (min-width: 641px) {
    #cinema .player-center-transport {
        top: 50%;
    }

    #playerControls.player-controls {
        padding-top: 4.5rem;
    }

    #cinema.is-chrome-visible .film-caption,
    #cinema.is-paused .film-caption {
        bottom: 9.8rem;
    }

    #currentCut.current-cut,
    #audioSubtitleMenu.audio-subtitle-panel {
        bottom: 6.9rem;
        max-height: calc(100dvh - 8.2rem);
    }
}

/*
 * LUMINA v24 — pause-only player chrome, cinematic pause veil,
 * line-style progress control and a richer 02:24 free-cut premiere gate.
 * Loaded last so it can stabilize the accumulated player overrides.
 */

:root {
    --v24-progress-height: 2px;
    --v24-menu-fade: 180ms;
    --v24-pause-shade: rgba(0, 0, 0, .56);
}

/* -------------------------------------------------------------------------- */
/* Player chrome appears only while paused. Pointer movement never reveals it. */
/* -------------------------------------------------------------------------- */
#cinema .player-chrome {
    transition:
        opacity var(--v24-menu-fade) ease,
        transform var(--v24-menu-fade) cubic-bezier(.2, .72, .2, 1);
    will-change: opacity, transform;
}

#cinema:not(.is-paused) .player-chrome,
#cinema:not(.is-paused).is-chrome-visible .player-chrome {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#cinema:not(.is-paused) .player-top,
#cinema:not(.is-paused).is-chrome-visible .player-top {
    transform: translateY(-18px);
}

#cinema:not(.is-paused) #playerControls,
#cinema:not(.is-paused).is-chrome-visible #playerControls {
    transform: translateY(22px);
}

#cinema:not(.is-paused) #playerCenterTransport,
#cinema:not(.is-paused).is-chrome-visible #playerCenterTransport {
    transform: translate(-50%, -50%) scale(.94);
}

#cinema.is-paused .player-chrome {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#cinema.is-paused .player-top,
#cinema.is-paused #playerControls {
    transform: translateY(0);
}

#cinema.is-paused #playerCenterTransport {
    transform: translate(-50%, -50%) scale(1);
}

#cinema.is-paused.is-pause-settled .player-chrome {
    opacity: 1;
    visibility: visible;
    transition: none;
}

#cinema.is-resuming .player-chrome {
    opacity: 0;
    visibility: visible;
    pointer-events: none;
    transition-duration: 150ms;
}

#cinema.is-resuming .player-top {
    transform: translateY(-14px);
}

#cinema.is-resuming #playerControls {
    transform: translateY(18px);
}

#cinema.is-resuming #playerCenterTransport {
    transform: translate(-50%, -50%) scale(.96);
}

#cinema:not(.is-paused):not(.is-resuming) .player-chrome {
    transition-duration: 0ms;
}

/* -------------------------------------------------------------------------- */
/* Pause state separates the command deck from the film with blur and darkness. */
/* -------------------------------------------------------------------------- */
.player-menu-veil {
    position: absolute;
    z-index: 18;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 48%, rgba(0, 0, 0, .18), rgba(0, 0, 0, .56) 68%, rgba(0, 0, 0, .72)),
        linear-gradient(180deg, rgba(0, 0, 0, .28), var(--v24-pause-shade));
    -webkit-backdrop-filter: blur(0) saturate(1);
    backdrop-filter: blur(0) saturate(1);
    transition:
        opacity 220ms ease,
        -webkit-backdrop-filter 240ms ease,
        backdrop-filter 240ms ease;
}

#cinema .story-video,
#cinema .element-overlay {
    transition: filter 240ms ease, transform 320ms cubic-bezier(.2, .72, .2, 1);
}

#cinema.is-paused .player-menu-veil {
    opacity: 1;
    -webkit-backdrop-filter: blur(7px) saturate(.72);
    backdrop-filter: blur(7px) saturate(.72);
}

#cinema.is-paused.is-pause-settled .player-menu-veil {
    opacity: 1;
    transition: none;
}

#cinema.is-paused .story-video,
#cinema.is-paused .element-overlay {
    filter: blur(5px) saturate(.62) brightness(.52) contrast(1.05);
    transform: scale(1.045);
}

#cinema.is-paused .film-caption {
    opacity: .24;
    filter: blur(1.5px);
}

#cinema.is-resuming .player-menu-veil {
    opacity: 0;
    -webkit-backdrop-filter: blur(0) saturate(1);
    backdrop-filter: blur(0) saturate(1);
    transition-duration: 150ms;
}

#cinema.is-resuming .story-video,
#cinema.is-resuming .element-overlay {
    filter: saturate(.82) contrast(1.08) brightness(.84);
    transform: scale(1.012);
    transition-duration: 180ms;
}

#cinema.is-resuming .film-caption {
    opacity: 1;
    filter: none;
    transition-duration: 160ms;
}

#cinema:not(.is-paused):not(.is-resuming) .player-menu-veil,
#cinema:not(.is-paused):not(.is-resuming) .story-video,
#cinema:not(.is-paused):not(.is-resuming) .element-overlay,
#cinema:not(.is-paused):not(.is-resuming) .film-caption {
    transition-duration: 0ms;
}

/* -------------------------------------------------------------------------- */
/* Fullscreen visual state.                                                    */
/* -------------------------------------------------------------------------- */
#fullscreenToggle .fullscreen-icon {
    width: 25px;
    height: 25px;
}

#fullscreenToggle .fullscreen-icon--exit {
    display: none;
}

#fullscreenToggle[aria-pressed="true"] .fullscreen-icon--enter {
    display: none;
}

#fullscreenToggle[aria-pressed="true"] .fullscreen-icon--exit {
    display: block;
}

/* -------------------------------------------------------------------------- */
/* Thin progress line: no circular scrubber or circular chapter indicators.    */
/* -------------------------------------------------------------------------- */
#playerControls > .progress-control {
    height: 34px;
    margin-bottom: .4rem;
}

#playerControls .progress-time-labels {
    top: -.72rem;
    font-size: .7rem;
}

#playerControls #progressRange {
    width: 100%;
    height: 24px;
    min-height: 24px;
    border-radius: 0;
    background:
        linear-gradient(90deg,
            rgba(255, 255, 255, .96) 0 var(--progress, 0%),
            rgba(255, 255, 255, .32) var(--progress, 0%) 100%)
        center / 100% var(--v24-progress-height) no-repeat;
    cursor: ew-resize;
    transition: none;
}

#playerControls .progress-control:hover #progressRange,
#playerControls .progress-control.is-scrubbing #progressRange,
#playerControls #progressRange:focus-visible {
    height: 24px;
    --v24-progress-height: 2px;
}

#playerControls #progressRange::-webkit-slider-runnable-track {
    height: var(--v24-progress-height);
    border: 0;
    border-radius: 0;
    background: transparent;
}

#playerControls #progressRange::-moz-range-track {
    height: var(--v24-progress-height);
    border: 0;
    border-radius: 0;
    background: transparent;
}

#playerControls #progressRange::-webkit-slider-thumb {
    width: 1px;
    height: 1px;
    margin-top: 0;
    appearance: none;
    border: 0;
    border-radius: 0;
    opacity: 0;
    background: transparent;
    box-shadow: none;
}

#playerControls #progressRange::-moz-range-thumb {
    width: 1px;
    height: 1px;
    border: 0;
    border-radius: 0;
    opacity: 0;
    background: transparent;
    box-shadow: none;
}

#playerControls .chapter-ticks {
    top: 50%;
    height: 7px;
    transform: translateY(-50%);
}

#playerControls .chapter-ticks i {
    top: 1px;
    width: 1px;
    height: 5px;
    border-radius: 0;
    background: rgba(255, 255, 255, .46);
}

#playerControls .progress-tooltip {
    bottom: 30px;
}

/* -------------------------------------------------------------------------- */
/* Rich 02:24 free-cut recap and premium value map.                            */
/* -------------------------------------------------------------------------- */
#premiereGate .premiere-gate__body {
    padding-bottom: clamp(6.5rem, 11vh, 9rem);
}

#premiereGate .premiere-runtime-map {
    display: grid;
    gap: .85rem;
    width: 100%;
    margin: 0 0 clamp(1.5rem, 3vw, 2.6rem);
}

#premiereGate .premiere-runtime-map__bar {
    position: relative;
    height: 3px;
    overflow: hidden;
    background: rgba(255, 255, 255, .15);
}

#premiereGate .premiere-runtime-map__bar i,
#premiereGate .premiere-runtime-map__bar b {
    position: absolute;
    top: 0;
    bottom: 0;
}

#premiereGate .premiere-runtime-map__bar i {
    left: 0;
    width: 29.24%;
    background: var(--gold-pale, #f0d6ad);
}

#premiereGate .premiere-runtime-map__bar b {
    left: 29.24%;
    width: 1px;
    background: #fff;
}

#premiereGate .premiere-runtime-map__labels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1rem;
    align-items: start;
}

#premiereGate .premiere-runtime-map__labels span {
    display: flex;
    align-items: baseline;
    gap: .42rem;
    min-width: 0;
    color: rgba(255, 255, 255, .5);
    font-size: clamp(.68rem, .78vw, .8rem);
    line-height: 1.45;
    white-space: nowrap;
}

#premiereGate .premiere-runtime-map__labels span:nth-child(2) {
    justify-content: center;
}

#premiereGate .premiere-runtime-map__labels span:last-child {
    justify-content: flex-end;
}

#premiereGate .premiere-runtime-map__labels strong {
    color: rgba(255, 255, 255, .94);
    font-family: var(--serif-en, var(--serif));
    font-size: .95rem;
    font-weight: 600;
}

#premiereGate .premiere-runtime-map > p {
    max-width: 1000px;
    margin: 0;
    color: rgba(255, 255, 255, .58);
    font-size: clamp(.74rem, .86vw, .9rem);
    line-height: 1.75;
    word-break: keep-all;
}
#premiereGate .premiere-diagnosis,
#premiereGate .premiere-access-map {
    width: 100%;
    min-width: 0;
    margin-top: clamp(2rem, 4vw, 4.25rem);
    padding-top: clamp(1.5rem, 3vw, 2.6rem);
    border-top: 1px solid rgba(255, 255, 255, .09);
}

#premiereGate .premiere-section-heading > span {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, .36);
    font-family: var(--serif-en, var(--serif));
    font-size: .62rem;
    letter-spacing: .12em;
    white-space: nowrap;
}

#premiereGate .premiere-diagnosis__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1.4rem;
}

#premiereGate .premiere-diagnosis__grid article {
    min-width: 0;
    min-height: 190px;
    padding: clamp(1rem, 1.5vw, 1.35rem);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 15px;
    background:
        radial-gradient(circle at 90% 0, rgba(214, 173, 112, .11), transparent 42%),
        rgba(255, 255, 255, .025);
}

#premiereGate .premiere-diagnosis__grid i {
    display: block;
    color: var(--gold-soft, #e1bb82);
    font-family: var(--serif-en, var(--serif));
    font-size: .64rem;
    font-style: normal;
    letter-spacing: .13em;
}

#premiereGate .premiere-diagnosis__grid strong {
    display: block;
    margin-top: .8rem;
    color: rgba(255, 255, 255, .94);
    font-family: var(--serif-ko);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    font-weight: 500;
    line-height: 1.5;
    word-break: keep-all;
}

#premiereGate .premiere-diagnosis__grid p {
    margin: .65rem 0 0;
    color: rgba(255, 255, 255, .53);
    font-size: clamp(.72rem, .78vw, .82rem);
    line-height: 1.78;
    word-break: keep-all;
}

#premiereGate .premiere-locked-insight {
    position: relative;
    isolation: isolate;
    min-height: clamp(280px, 27vw, 420px);
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid rgba(214, 173, 112, .2);
    border-radius: 18px;
    background: #070a0e;
}

#premiereGate .premiere-locked-insight > video {
    position: absolute;
    z-index: -2;
    inset: -6%;
    width: 112%;
    height: 112%;
    object-fit: cover;
    opacity: .62;
    filter: blur(14px) saturate(.65) brightness(.48);
    transform: scale(1.04);
}

#premiereGate .premiere-locked-insight__shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 7, 10, .96), rgba(5, 7, 10, .68) 58%, rgba(5, 7, 10, .86)),
        radial-gradient(circle at 82% 25%, rgba(214, 173, 112, .16), transparent 42%);
}

#premiereGate .premiere-locked-insight__copy {
    display: grid;
    align-content: center;
    width: min(760px, 100%);
    min-height: inherit;
    padding: clamp(1.25rem, 3vw, 3rem);
}

#premiereGate .premiere-locked-insight__copy h4 {
    margin: .45rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2.4vw, 2.65rem);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -.035em;
}

#premiereGate .premiere-locked-insight__copy ul {
    display: grid;
    gap: .55rem;
    margin: 1.15rem 0 0;
    padding: 0;
    list-style: none;
}

#premiereGate .premiere-locked-insight__copy li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    padding: .78rem .9rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    background: rgba(0, 0, 0, .27);
}

#premiereGate .premiere-locked-insight__copy li span {
    min-width: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .78rem;
    line-height: 1.55;
    word-break: keep-all;
}

#premiereGate .premiere-locked-insight__copy li b {
    flex: 0 0 auto;
    color: var(--gold-soft, #e1bb82);
    font-family: var(--serif-en, var(--serif));
    font-size: .58rem;
    letter-spacing: .13em;
}

#premiereGate .premiere-locked-insight__copy > small {
    display: block;
    margin-top: .9rem;
    color: rgba(255, 255, 255, .4);
    font-size: .68rem;
    line-height: 1.75;
    word-break: keep-all;
}

#premiereGate .premiere-access-map__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1.4rem;
}

#premiereGate .premiere-access-map__grid article {
    position: relative;
    min-width: 0;
    padding: clamp(1.15rem, 2vw, 1.75rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    background: rgba(255, 255, 255, .024);
}

#premiereGate .premiere-access-map__grid article.is-premium {
    border-color: rgba(214, 173, 112, .3);
    background:
        radial-gradient(circle at 86% 8%, rgba(214, 173, 112, .16), transparent 40%),
        rgba(214, 173, 112, .04);
}

#premiereGate .premiere-access-map__grid article > span {
    color: rgba(255, 255, 255, .44);
    font-family: var(--serif-en, var(--serif));
    font-size: .62rem;
    letter-spacing: .14em;
}

#premiereGate .premiere-access-map__grid article > strong {
    display: block;
    margin-top: .45rem;
    color: var(--gold-pale, #f0d6ad);
    font-family: var(--serif-en, var(--serif));
    font-size: clamp(2rem, 4vw, 4.2rem);
    font-weight: 500;
    line-height: 1;
}

#premiereGate .premiere-access-map__grid h4 {
    margin: .9rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1rem, 1.35vw, 1.3rem);
    font-weight: 500;
}

#premiereGate .premiere-access-map__grid ul {
    display: grid;
    gap: .5rem;
    margin: .9rem 0 0;
    padding: 0;
    list-style: none;
}

#premiereGate .premiere-access-map__grid li {
    position: relative;
    padding-left: 1rem;
    color: rgba(255, 255, 255, .56);
    font-size: .76rem;
    line-height: 1.65;
    word-break: keep-all;
}

#premiereGate .premiere-access-map__grid li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .68em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold, #d6ad70);
}

#premiereGate .premiere-quick-offer {
    position: sticky;
    z-index: 25;
    bottom: -.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    width: 100%;
    margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
    padding: .85rem 1rem;
    border: 1px solid rgba(214, 173, 112, .32);
    border-radius: 14px;
    background: rgba(7, 9, 13, .92);
    box-shadow: 0 -12px 40px rgba(0, 0, 0, .34), 0 18px 45px rgba(0, 0, 0, .42);
    -webkit-backdrop-filter: blur(24px) saturate(1.15);
    backdrop-filter: blur(24px) saturate(1.15);
}

#premiereGate .premiere-quick-offer > div {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

#premiereGate .premiere-quick-offer span {
    color: var(--gold-soft, #e1bb82);
    font-family: var(--serif-en, var(--serif));
    font-size: .58rem;
    letter-spacing: .12em;
}

#premiereGate .premiere-quick-offer strong {
    color: #fff;
    font-size: 1rem;
}

#premiereGate .premiere-quick-offer del {
    margin-right: .35rem;
    color: rgba(255, 255, 255, .38);
    font-weight: 400;
}

#premiereGate .premiere-quick-offer small {
    color: rgba(255, 255, 255, .48);
    font-size: .66rem;
    line-height: 1.5;
}

#premiereGate #premiereQuickUnlockButton {
    flex: 0 0 auto;
    min-height: 46px;
    padding: .8rem 1.25rem;
    border: 0;
    border-radius: 9px;
    background: #f2ede4;
    color: #080b10;
    font-weight: 750;
    white-space: nowrap;
}

#premiereGate #premiereQuickUnlockButton:hover,
#premiereGate #premiereQuickUnlockButton:focus-visible {
    background: var(--gold-pale, #f0d6ad);
}

@media (max-width: 980px) {
    #premiereGate .premiere-diagnosis__grid {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-diagnosis__grid article {
        min-height: 0;
    }
}

@media (max-width: 720px) {
    #premiereGate .premiere-runtime-map__labels {
        grid-template-columns: 1fr 1fr;
    }

    #premiereGate .premiere-runtime-map__labels span:nth-child(2),
    #premiereGate .premiere-runtime-map__labels span:last-child {
        justify-content: flex-start;
    }

    #premiereGate .premiere-runtime-map__labels span:last-child {
        grid-column: 1 / -1;
    }

    #playerControls > .progress-control {
        height: 30px;
    }

    #playerControls .progress-time-labels {
        top: -.55rem;
        font-size: .61rem;
    }

    #playerControls #progressRange {
        height: 22px;
        min-height: 22px;
    }

    #premiereGate .premiere-section-heading > span {
        white-space: normal;
    }

    #premiereGate .premiere-access-map__grid {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-locked-insight {
        min-height: 360px;
    }

    #premiereGate .premiere-locked-insight__copy li {
        align-items: flex-start;
    }

    #premiereGate .premiere-quick-offer {
        align-items: stretch;
        flex-direction: column;
        gap: .75rem;
        padding: .8rem;
    }

    #premiereGate #premiereQuickUnlockButton {
        width: 100%;
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    #cinema .player-center-transport {
        top: 48%;
    }

    #playerControls.player-controls {
        padding-top: 3.6rem;
    }

    #premiereGate .premiere-quick-offer {
        padding-block: .65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cinema .player-chrome,
    #cinema .player-menu-veil,
    #cinema .story-video,
    #cinema .element-overlay {
        transition: none;
    }
}

﻿/* Product browsing, premium gate, paper theme, and service/report surface rules. */
/*
 * LUMINA v25 — centred intake, viewport-centred home feature and
 * deterministic loading-to-cinema transition support.
 * Loaded last to neutralise accumulated positional overrides.
 */

:root {
    --v25-hero-stage: max(640px, calc(100svh - var(--header-row-height, 76px)));
    --v25-dialog-gutter: clamp(.8rem, 3vw, 2.5rem);
}

/* Hidden application states must never be revived by earlier display rules. */
[hidden] {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Home feature: vertically centred in the usable viewport at every height.   */
/* -------------------------------------------------------------------------- */
.streaming-home {
    min-height: calc(var(--header-row-height, 76px) + var(--v25-hero-stage));
}

.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    height: calc(var(--header-row-height, 76px) + var(--v25-hero-stage));
}

.streaming-hero {
    display: grid;
    align-items: center;
    align-content: center;
    min-height: var(--v25-hero-stage);
    padding-top: clamp(2.4rem, 5vh, 5.8rem);
    padding-bottom: clamp(3rem, 6vh, 6.5rem);
}

.streaming-hero__grid {
    align-self: center;
    align-items: center;
    align-content: center;
    min-height: 0;
    margin-block: auto;
}

.streaming-hero__content,
.hero-scene {
    align-self: center;
}

/* -------------------------------------------------------------------------- */
/* "첫 장면을 만들 시간" is a centred modal, not a right-side drawer.        */
/* -------------------------------------------------------------------------- */
.reading-drawer {
    display: grid;
    place-items: center;
    padding:
        max(var(--v25-dialog-gutter), env(safe-area-inset-top))
        max(var(--v25-dialog-gutter), env(safe-area-inset-right))
        max(var(--v25-dialog-gutter), env(safe-area-inset-bottom))
        max(var(--v25-dialog-gutter), env(safe-area-inset-left));
}

.reading-drawer__panel {
    display: block;
    width: min(720px, calc(100vw - (var(--v25-dialog-gutter) * 2)));
    height: auto;
    max-height: calc(100dvh - (var(--v25-dialog-gutter) * 2));
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(22px) scale(.985);
    opacity: 0;
    border-radius: clamp(20px, 2vw, 30px);
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.reading-drawer.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.reading-drawer__panel .glass-shell {
    width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: visible;
    border-radius: inherit;
}

.reading-drawer__close {
    position: sticky;
    top: .75rem;
    right: .75rem;
    float: right;
    margin: .75rem .75rem -3.1rem 0;
}

.reading-form {
    padding: clamp(1.35rem, 3vw, 2.75rem);
}

.reading-form__head {
    align-items: center;
    padding-right: 2.5rem;
}

.reading-form__head h2 {
    line-height: 1.25;
    text-wrap: balance;
    word-break: keep-all;
}

/* -------------------------------------------------------------------------- */
/* Loading content remains geometrically centred and cannot survive refresh.  */
/* -------------------------------------------------------------------------- */
.loading-screen {
    width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    padding:
        max(1rem, env(safe-area-inset-top))
        max(1rem, env(safe-area-inset-right))
        max(1rem, env(safe-area-inset-bottom))
        max(1rem, env(safe-area-inset-left));
    place-items: center;
}

.loading-screen__content {
    align-self: center;
    justify-self: center;
    margin: auto;
    transform: none;
}

.loading-screen__content h2 {
    word-break: keep-all;
    text-wrap: balance;
}

@media (max-width: 720px) {
    :root {
        --v25-dialog-gutter: .65rem;
        --v25-hero-stage: max(640px, calc(100svh - var(--header-row-height, 64px)));
    }

    .streaming-hero {
        align-content: center;
        padding-top: clamp(1.5rem, 4vh, 3rem);
        padding-bottom: clamp(4.5rem, 8vh, 7rem);
    }

    .reading-drawer {
        place-items: center;
    }

    .reading-drawer__panel {
        width: calc(100vw - 1.3rem);
        max-height: calc(100dvh - 1.3rem);
        border-radius: 22px;
    }

    .reading-drawer__panel .glass-shell {
        border-radius: 22px;
    }

    .reading-form__head {
        align-items: flex-start;
    }
}

/* Short landscape screens scroll rather than clipping the form or CTA. */
@media (max-height: 700px) and (min-width: 721px) {
    :root {
        --v25-hero-stage: 700px;
    }

    .streaming-hero {
        align-content: start;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .reading-drawer__panel {
        max-height: calc(100dvh - 1rem);
    }
}

/* Earlier drawer rules keep an end-aligned grid track. Stretch the grid area
   and centre the panel itself so the modal is centred on wide screens too. */
.reading-drawer {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    justify-content: stretch;
    align-content: stretch;
}

.reading-drawer__panel {
    justify-self: center;
    align-self: center;
}

/*
 * LUMINA v26 — responsive spatial rhythm, six-question future gate,
 * contextual cut navigation, readable premiere flow and warm light theme.
 * Loaded last as the final stabilisation layer.
 */

:root {
    --v26-page-max: 1900px;
    --v26-ink-strong: rgba(255, 255, 255, .96);
    --v26-ink-body: rgba(255, 255, 255, .76);
    --v26-ink-muted: rgba(255, 255, 255, .58);
    --v26-panel-line: rgba(239, 211, 165, .18);
    --v26-panel-bg: rgba(8, 11, 16, .94);
}

html[data-theme="light"],
body[data-theme="light"] {
    color-scheme: light;
}

/* -------------------------------------------------------------------------- */
/* Theme controls                                                              */
/* -------------------------------------------------------------------------- */
.theme-toggle {
    position: relative;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .8);
    transition: border-color .22s ease, background .22s ease, color .22s ease, transform .22s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
    border-color: rgba(214, 173, 112, .52);
    background: rgba(214, 173, 112, .1);
    color: var(--gold-pale);
    transform: translateY(-1px);
}

.theme-toggle svg {
    position: absolute;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: opacity .28s ease, transform .34s var(--ease-film);
}

.theme-toggle__sun {
    opacity: 1;
    transform: scale(1) rotate(0);
}

.theme-toggle__moon {
    opacity: 0;
    transform: scale(.7) rotate(-18deg);
}

body[data-theme="light"] .theme-toggle__sun {
    opacity: 0;
    transform: scale(.7) rotate(18deg);
}

body[data-theme="light"] .theme-toggle__moon {
    opacity: 1;
    transform: scale(1) rotate(0);
}

/* -------------------------------------------------------------------------- */
/* Home feature: more breathing room as both width and height grow.            */
/* -------------------------------------------------------------------------- */
.streaming-hero {
    padding-inline: var(--page-gutter);
}

.streaming-hero__grid {
    width: min(calc(100vw - (var(--page-gutter) * 2)), var(--v26-page-max));
    max-width: var(--v26-page-max);
    grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
    gap: clamp(3rem, 6vw, 9rem);
}

.streaming-hero__content {
    max-width: 1050px;
}

.streaming-hero__content .eyebrow {
    margin-bottom: clamp(.6rem, 1.1vh, 1.2rem);
}

.streaming-home.is-main-feature .streaming-hero__content h1,
.streaming-hero__content h1 {
    margin-top: 0;
    margin-bottom: clamp(1.3rem, 2.4vh, 2.7rem);
}

.streaming-hero__content .hero-copy__body {
    max-width: 850px;
    color: var(--v26-ink-body);
    font-size: clamp(.94rem, .9vw, 1.12rem);
    line-height: 1.9;
}

.streaming-hero .hero-metrics {
    width: min(100%, 900px);
    margin-top: clamp(1.8rem, 3.6vh, 3.7rem);
    padding-top: clamp(1rem, 1.9vh, 1.7rem);
}

.streaming-hero .hero-actions {
    margin-top: clamp(1.25rem, 2.7vh, 2.6rem);
}

.hero-scene {
    justify-self: end;
    width: min(100%, 760px);
}

@media (min-width: 1700px) and (min-height: 900px) {
    :root {
        --v25-hero-stage: max(780px, calc(100svh - var(--header-row-height, 76px)));
    }

    .streaming-hero {
        padding-top: clamp(5rem, 9vh, 10rem);
        padding-bottom: clamp(5.5rem, 10vh, 11rem);
    }

    .streaming-hero__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(520px, .8fr);
        gap: clamp(5rem, 8vw, 12rem);
    }

    .streaming-hero__content {
        max-width: 1180px;
    }

    .streaming-hero__content .hero-copy__body {
        max-width: 940px;
    }

    .hero-scene {
        width: min(100%, 860px);
    }
}

@media (min-width: 2500px) and (min-height: 1300px) {
    :root {
        --v26-page-max: 2180px;
    }

    .streaming-hero__grid {
        grid-template-columns: minmax(0, 1.22fr) minmax(650px, .78fr);
        gap: clamp(8rem, 9vw, 15rem);
    }

    .streaming-hero__content {
        max-width: 1320px;
    }

    .streaming-hero__content .hero-copy__body {
        max-width: 1020px;
        font-size: clamp(1.08rem, .72vw, 1.35rem);
    }

    .streaming-hero .hero-metrics {
        margin-top: clamp(3rem, 4.2vh, 5rem);
    }

    .streaming-hero .hero-actions {
        margin-top: clamp(2rem, 3.2vh, 3.6rem);
    }
}

@media (max-width: 1180px) {
    .streaming-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
        gap: clamp(2rem, 4vw, 4rem);
    }
}

@media (max-width: 940px) {
    .streaming-hero {
        padding-top: clamp(4.3rem, 8vh, 6.2rem);
    }

    .streaming-hero__grid {
        grid-template-columns: 1fr;
        gap: clamp(2rem, 5vh, 3.8rem);
    }

    .hero-scene {
        justify-self: start;
    }
}

@media (max-height: 760px) and (min-width: 941px) {
    .streaming-hero {
        padding-top: 2.7rem;
        padding-bottom: 3rem;
    }

    .streaming-hero__grid {
        gap: clamp(2rem, 4vw, 4.5rem);
    }

    .streaming-hero .hero-metrics {
        margin-top: 1rem;
    }

    .streaming-hero .hero-actions {
        margin-top: .95rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Intake dialog: no artificial scrollbar when content already fits.           */
/* -------------------------------------------------------------------------- */
.reading-drawer__panel {
    width: min(760px, calc(100vw - (var(--v25-dialog-gutter, 1rem) * 2)));
    height: auto;
    max-height: calc(100dvh - (var(--v25-dialog-gutter, 1rem) * 2));
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: auto;
    overscroll-behavior: contain;
}

.reading-drawer__panel .glass-shell {
    min-height: 0;
    max-height: none;
    overflow: visible;
}

.reading-drawer__close {
    position: absolute;
    z-index: 12;
    top: .8rem;
    right: .8rem;
    float: none;
    margin: 0;
}

.reading-form {
    padding: clamp(1.35rem, 2.4vw, 2.35rem);
}

.reading-form__lead {
    margin: .8rem 0 1.2rem;
}

.reading-form .field-grid {
    gap: .78rem 1rem;
}

.reading-form .start-button {
    margin-top: 1.1rem;
}

.reading-form .privacy-note {
    margin-top: .8rem;
}

@media (min-width: 721px) and (min-height: 760px) {
    .reading-drawer__panel {
        max-height: min(820px, calc(100dvh - 2rem));
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    .reading-drawer__panel {
        width: min(720px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }

    .reading-form {
        padding: 1.15rem 1.35rem;
    }

    .reading-form__lead {
        margin: .55rem 0 .85rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Slow cross-dissolve from timeline editing to the first scene.               */
/* -------------------------------------------------------------------------- */
.loading-screen {
    transition: opacity 1.45s cubic-bezier(.22, .72, .18, 1);
}

.loading-screen__content,
.loading-screen__halo {
    transition: opacity 1.15s ease, transform 1.55s var(--ease-film), filter 1.25s ease;
}

.loading-screen.is-leaving .loading-screen__content {
    opacity: 0;
    transform: translateY(-10px) scale(.985);
    filter: blur(5px);
}

.loading-screen.is-leaving .loading-screen__halo {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.12);
}

#cinema .story-video,
#cinema .cinema__grade,
#cinema .cinema__vignette,
#cinema .film-caption {
    transition: opacity 1.65s ease, transform 2.2s var(--ease-film), filter 1.55s ease;
}

#cinema.is-entering .story-video {
    opacity: 0;
    transform: scale(1.045);
    filter: blur(7px) brightness(.52);
}

#cinema.is-entering .cinema__grade,
#cinema.is-entering .cinema__vignette,
#cinema.is-entering .film-caption {
    opacity: 0;
}

/* -------------------------------------------------------------------------- */
/* Pause navigation: previous / current / next cut in one centred top rail.    */
/* -------------------------------------------------------------------------- */
#playerTop .player-cut-context {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(110px, 1fr) minmax(210px, 1.5fr) minmax(110px, 1fr);
    align-items: start;
    gap: clamp(.75rem, 2.4vw, 2.6rem);
    justify-self: center;
    width: min(100%, 1080px);
    min-width: 0;
}

#playerTop .player-cut-context .player-title {
    grid-column: auto;
    min-width: 0;
    padding-top: 0;
}

#playerTop .player-title strong {
    font-size: clamp(1.08rem, 1.38vw, 1.5rem);
    line-height: 1.22;
}

#playerTop .player-title span {
    font-size: clamp(.58rem, .65vw, .75rem);
}

#playerTop .player-title em {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25rem;
    font-size: clamp(.58rem, .62vw, .68rem);
}

#playerTop .player-title em b {
    color: rgba(239, 205, 151, .78);
    font-weight: 500;
}

.player-cut-context__side {
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .2rem 0;
    background: transparent;
    color: rgba(255, 255, 255, .52);
    transition: color .2s ease, transform .24s var(--ease-film), opacity .2s ease;
}

.player-cut-context__side--previous {
    justify-items: end;
    text-align: right;
}

.player-cut-context__side--next {
    justify-items: start;
    text-align: left;
}

.player-cut-context__side small {
    color: rgba(223, 186, 128, .62);
    font-family: var(--serif-en, var(--serif));
    font-size: clamp(.48rem, .5vw, .58rem);
    letter-spacing: .15em;
    white-space: nowrap;
}

.player-cut-context__side strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: inherit;
    font-size: clamp(.66rem, .74vw, .83rem);
    font-weight: 560;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.player-cut-context__side:not(:disabled):hover,
.player-cut-context__side:not(:disabled):focus-visible {
    color: #fff;
    transform: translateY(-1px);
}

.player-cut-context__side:disabled {
    opacity: .24;
    cursor: default;
}

.film-caption__meta {
    font-size: clamp(.72rem, .94vw, .9rem);
}

@media (max-width: 820px) {
    #playerTop .player-cut-context {
        grid-template-columns: minmax(70px, .75fr) minmax(140px, 1.5fr) minmax(70px, .75fr);
        gap: .55rem;
    }

    .player-cut-context__side small {
        font-size: .46rem;
        letter-spacing: .1em;
    }

    .player-cut-context__side strong {
        font-size: .6rem;
    }

    #playerTop .player-title strong {
        font-size: clamp(.94rem, 3.4vw, 1.22rem);
    }
}

@media (max-width: 520px) {
    #cinema .player-top {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        gap: .35rem;
        padding-inline: .55rem;
    }

    #playerTop .player-top__exit,
    #playerTop .player-top__fullscreen {
        width: 40px;
        min-width: 40px;
        height: 40px;
    }

    #playerTop .player-cut-context {
        grid-template-columns: minmax(46px, .62fr) minmax(112px, 1.7fr) minmax(46px, .62fr);
        gap: .35rem;
    }

    .player-cut-context__side small {
        display: none;
    }

    .player-cut-context__side strong {
        font-size: .55rem;
    }

    #playerTop .player-title span,
    #playerTop .player-title em {
        font-size: .5rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Premium gate scrolls as one document; no fixed/sticky top or bottom blocks. */
/* -------------------------------------------------------------------------- */
#premiereGate .premiere-gate__dialog {
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

#premiereGate .premiere-gate__header {
    position: relative;
    top: auto;
    z-index: 2;
    background: rgba(8, 11, 16, .76);
}

#premiereGate .premiere-gate__body {
    max-height: none;
    padding-bottom: clamp(2rem, 4vw, 4rem);
    overflow: visible;
}

#premiereGate .premiere-quick-offer,
#premiereGate .premiere-offer {
    position: relative;
    inset: auto;
}

#premiereGate .premiere-gate__body p,
#premiereGate .premiere-gate__body li,
#premiereGate .premiere-gate__body blockquote,
#premiereGate .premiere-gate__body details,
#premiereGate .premiere-gate__body summary,
#premiereGate .premiere-gate__body span:not(.eyebrow),
#premiereGate .premiere-gate__body small {
    line-height: 1.75;
}

#premiereGate .premiere-gate__body p,
#premiereGate .premiere-gate__body li,
#premiereGate .premiere-gate__body blockquote,
#premiereGate .premiere-gate__body details p {
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.84rem, .86vw, .98rem);
}

#premiereGate .premiere-gate__body small,
#premiereGate .premiere-gate__body .premiere-section-heading > span,
#premiereGate .premiere-gate__body .premiere-proof__metrics span {
    color: rgba(255, 255, 255, .52);
    font-size: clamp(.72rem, .72vw, .82rem);
}

#premiereGate .premiere-preview__copy,
#premiereGate .premiere-locked-insight__copy {
    max-width: 900px;
}

#premiereGate .premiere-preview__copy li,
#premiereGate .report-contents__grid span,
#premiereGate .premiere-diagnosis__grid p,
#premiereGate .premiere-access-map__grid li,
#premiereGate .premiere-locked-insight__copy li span {
    font-size: clamp(.82rem, .82vw, .94rem);
}

@media (max-height: 720px) {
    #premiereGate {
        padding: .45rem;
    }

    #premiereGate .premiere-gate__dialog {
        width: calc(100vw - .9rem);
        max-height: calc(100dvh - .9rem);
        border-radius: 18px;
    }

    #premiereGate .premiere-gate__header {
        padding: 1rem 1.15rem;
    }

    #premiereGate .premiere-gate__body {
        padding: 1.15rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Six future questions: three columns on desktop, two on tablet, one mobile.  */
/* -------------------------------------------------------------------------- */
.focus-choice__panel {
    width: min(94vw, 1060px);
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
}

.focus-choice__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.focus-choice__grid button {
    min-height: 104px;
}

.focus-choice__grid strong {
    font-size: clamp(.9rem, 1vw, 1.08rem);
}

.focus-choice__grid span {
    font-size: clamp(.92rem, 1vw, 1.05rem);
}

.focus-choice__grid small {
    color: rgba(255, 255, 255, .56);
    font-size: clamp(.7rem, .72vw, .8rem);
}

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

@media (max-width: 560px) {
    .focus-choice__panel {
        width: calc(100vw - 1rem);
        padding: 1.15rem;
    }

    .focus-choice__grid {
        grid-template-columns: 1fr;
    }

    .focus-choice__grid button {
        min-height: 82px;
    }
}

/* -------------------------------------------------------------------------- */
/* Ending title and general dark-mode readability.                             */
/* -------------------------------------------------------------------------- */
#endingTitle {
    max-width: 1120px;
    font-size: clamp(2.1rem, 4.4vw, 5.2rem);
    line-height: 1.2;
}

body[data-theme="dark"],
body:not([data-theme]) {
    --muted: rgba(246, 242, 234, .72);
    --muted-2: rgba(246, 242, 234, .52);
}

body[data-theme="dark"] .hero-copy__body,
body[data-theme="dark"] .empathy-stage__intro > p,
body[data-theme="dark"] .home-footer p,
body[data-theme="dark"] .ending-summary,
body[data-theme="dark"] .fortune-report p,
body[data-theme="dark"] .director-cut__copy > p,
body[data-theme="dark"] .premium-feature__copy > p,
body[data-theme="dark"] .film-library__hero > p,
body[data-theme="dark"] .service-dialog p {
    color: rgba(255, 255, 255, .74);
}

body[data-theme="dark"] .streaming-card__copy p,
body[data-theme="dark"] .streaming-card__copy small,
body[data-theme="dark"] .poster-card p,
body[data-theme="dark"] .poster-card small {
    color: rgba(255, 255, 255, .58);
}

/* -------------------------------------------------------------------------- */
/* Warm white theme                                                           */
/* -------------------------------------------------------------------------- */
body[data-theme="light"] {
    --bg: #f3efe6;
    --bg-soft: #e9e2d6;
    --ink: #17191d;
    --muted: rgba(23, 25, 29, .72);
    --muted-2: rgba(23, 25, 29, .52);
    --gold: #a7763d;
    --gold-soft: #8f612f;
    --gold-pale: #6f481f;
    --gold-deep: #5f3c1a;
    --line: rgba(103, 72, 37, .22);
    --glass: rgba(255, 252, 246, .68);
    --glass-strong: rgba(248, 243, 234, .9);
    --v26-ink-strong: rgba(22, 24, 28, .96);
    --v26-ink-body: rgba(22, 24, 28, .76);
    --v26-ink-muted: rgba(22, 24, 28, .56);
    --v26-panel-line: rgba(103, 72, 37, .2);
    --v26-panel-bg: rgba(250, 247, 240, .96);
    background: #f3efe6;
    color: #17191d;
}

body[data-theme="light"] .app,
body[data-theme="light"] .intro,
body[data-theme="light"] .home-programs,
body[data-theme="light"] .empathy-stage,
body[data-theme="light"] .home-footer {
    background-color: #f3efe6;
    color: #17191d;
}

body[data-theme="light"] .pointer-light {
    display: none;
}

body[data-theme="light"] .intro__video {
    opacity: .24;
    filter: blur(22px) brightness(1.02) saturate(.58) contrast(.9);
}

body[data-theme="light"] .intro__depth {
    background:
        radial-gradient(circle at 73% 35%, rgba(166, 118, 61, .1), transparent 34%),
        linear-gradient(90deg, rgba(246, 242, 234, .97) 0%, rgba(243, 239, 230, .83) 50%, rgba(239, 233, 223, .94) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(221, 211, 195, .42));
}

body[data-theme="light"] .award-spotlights__beam {
    opacity: .12;
    background: linear-gradient(180deg, rgba(168, 119, 61, .26), rgba(190, 145, 87, .07) 56%, transparent 91%);
}

body[data-theme="light"] .film-grain {
    opacity: .025;
    mix-blend-mode: multiply;
}

body[data-theme="light"] .site-header--streaming,
body[data-theme="light"] .ending-nav,
body[data-theme="light"] .film-library__header {
    border-color: rgba(75, 53, 30, .13);
    background: rgba(247, 243, 235, .86);
    box-shadow: 0 14px 44px rgba(63, 46, 26, .06);
    -webkit-backdrop-filter: blur(24px) saturate(1.05);
    backdrop-filter: blur(24px) saturate(1.05);
}

body[data-theme="light"] .home-nav button,
body[data-theme="light"] .header-collection,
body[data-theme="light"] .header-search,
body[data-theme="light"] .ending-nav__menu button,
body[data-theme="light"] .film-library__close {
    color: rgba(23, 25, 29, .72);
}

body[data-theme="light"] .home-nav button[aria-current="page"],
body[data-theme="light"] .home-nav button:hover,
body[data-theme="light"] .header-collection:hover {
    color: #17191d;
}

body[data-theme="light"] .theme-toggle {
    border-color: rgba(73, 51, 28, .18);
    background: rgba(255, 255, 255, .46);
    color: #624421;
}

body[data-theme="light"] .streaming-hero__content h1 > span,
body[data-theme="light"] .streaming-home.is-main-feature .streaming-hero__content h1 > span,
body[data-theme="light"] .streaming-hero__content h1.is-program-title > span,
body[data-theme="light"] .hero-scene__copy strong,
body[data-theme="light"] .section-heading h2,
body[data-theme="light"] .empathy-stage h2,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .home-footer strong {
    color: #17191d;
}

body[data-theme="light"] .streaming-hero__content h1 > em,
body[data-theme="light"] .streaming-home.is-main-feature .streaming-hero__content h1 > em,
body[data-theme="light"] .streaming-hero__content h1.is-program-title > em {
    color: #7b5125;
    text-shadow: none;
}

body[data-theme="light"] .hero-copy__body,
body[data-theme="light"] .streaming-hero__content .hero-copy__body,
body[data-theme="light"] .empathy-stage__intro > p,
body[data-theme="light"] .home-footer p,
body[data-theme="light"] .home-footer__meta,
body[data-theme="light"] .section-heading > p {
    color: rgba(23, 25, 29, .72);
}

body[data-theme="light"] .hero-metrics {
    border-color: rgba(72, 50, 27, .18);
    color: rgba(23, 25, 29, .56);
}

body[data-theme="light"] .hero-metrics strong,
body[data-theme="light"] .eyebrow,
body[data-theme="light"] .hero-scene__copy small {
    color: #8b5d2b;
}

body[data-theme="light"] .streaming-action--secondary {
    border-color: rgba(57, 42, 26, .16);
    background: rgba(255, 255, 255, .58);
    color: #212329;
}

body[data-theme="light"] .hero-scene__frame,
body[data-theme="light"] .streaming-card,
body[data-theme="light"] .poster-card,
body[data-theme="light"] .empathy-stage__grid button {
    border-color: rgba(75, 53, 30, .18);
    background: #eee7dc;
    box-shadow: 0 18px 55px rgba(66, 47, 27, .11);
}

body[data-theme="light"] .streaming-card__copy,
body[data-theme="light"] .poster-card__copy {
    background: linear-gradient(180deg, rgba(248, 244, 237, .05), rgba(244, 238, 228, .96) 54%, #eee7dc 100%);
}

body[data-theme="light"] .streaming-card__copy strong,
body[data-theme="light"] .poster-card strong,
body[data-theme="light"] .empathy-stage__grid q,
body[data-theme="light"] .empathy-stage__grid strong {
    color: #17191d;
}

body[data-theme="light"] .streaming-card__copy p,
body[data-theme="light"] .streaming-card__copy small,
body[data-theme="light"] .poster-card p,
body[data-theme="light"] .poster-card small,
body[data-theme="light"] .empathy-stage__grid small {
    color: rgba(23, 25, 29, .6);
}

body[data-theme="light"] .home-footer {
    border-color: rgba(75, 53, 30, .14);
}

/* Intake */
body[data-theme="light"] .reading-drawer__backdrop {
    background: rgba(231, 224, 212, .68);
}

body[data-theme="light"] .glass-shell {
    border-color: rgba(100, 70, 35, .22);
    background: linear-gradient(145deg, rgba(255, 253, 248, .94), rgba(235, 227, 215, .92));
    box-shadow: 0 38px 90px rgba(67, 48, 27, .18), 0 1px 0 rgba(255, 255, 255, .88) inset;
}

body[data-theme="light"] .glass-shell__backdrop {
    background: rgba(245, 239, 230, .7);
}

body[data-theme="light"] .reading-form__head h2,
body[data-theme="light"] .reading-form,
body[data-theme="light"] .field label,
body[data-theme="light"] .field legend,
body[data-theme="light"] .field-heading {
    color: #1b1d22;
}

body[data-theme="light"] .reading-form__lead,
body[data-theme="light"] .privacy-note,
body[data-theme="light"] .field-heading small {
    color: rgba(23, 25, 29, .62);
}

body[data-theme="light"] .glass-control,
body[data-theme="light"] .segmented-field label span {
    border-color: rgba(75, 53, 30, .17);
    background: rgba(255, 255, 255, .62);
    color: #1c1e23;
}

body[data-theme="light"] input,
body[data-theme="light"] select,
body[data-theme="light"] textarea {
    color: #1c1e23;
}

body[data-theme="light"] .reading-drawer__close {
    border-color: rgba(75, 53, 30, .18);
    background: rgba(255, 255, 255, .7);
    color: #2b2d32;
}

/* Library and service details */
body[data-theme="light"] .film-library-dialog,
body[data-theme="light"] .film-library,
body[data-theme="light"] .film-library__scroll,
body[data-theme="light"] .service-dialog,
body[data-theme="light"] .service-detail {
    background: #f3efe6;
    color: #17191d;
}

body[data-theme="light"] .film-library__hero h2,
body[data-theme="light"] .film-library__hero p,
body[data-theme="light"] .library-result-count,
body[data-theme="light"] .service-dialog h2,
body[data-theme="light"] .service-dialog h3,
body[data-theme="light"] .service-dialog p,
body[data-theme="light"] .service-dialog li {
    color: #202228;
}

body[data-theme="light"] .library-search input,
body[data-theme="light"] .library-filters button {
    border-color: rgba(75, 53, 30, .17);
    background: rgba(255, 255, 255, .58);
    color: #202228;
}

/* Ending */
body[data-theme="light"] .ending {
    background: #f3efe6;
    color: #17191d;
}

body[data-theme="light"] .ending__video {
    opacity: .19;
    filter: sepia(.16) saturate(.6) brightness(1.15);
}

body[data-theme="light"] .ending__veil {
    background: linear-gradient(180deg, rgba(243, 239, 230, .5), #f3efe6 82%);
}

body[data-theme="light"] #endingTitle,
body[data-theme="light"] .fortune-report h3,
body[data-theme="light"] .fortune-report h4,
body[data-theme="light"] .director-cut h3,
body[data-theme="light"] .premium-feature h3,
body[data-theme="light"] .film-collection h3 {
    color: #17191d;
}

body[data-theme="light"] .ending-hero > div > p,
body[data-theme="light"] .fortune-report p,
body[data-theme="light"] .director-cut__copy > p,
body[data-theme="light"] .premium-feature__copy > p,
body[data-theme="light"] .film-collection .section-heading > p {
    color: rgba(23, 25, 29, .72);
}

body[data-theme="light"] .fortune-report,
body[data-theme="light"] .fortune-report__grid article,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .ending-focus,
body[data-theme="light"] .fortune-report__selected,
body[data-theme="light"] .fortune-report__guidance,
body[data-theme="light"] .fortune-report__timeline li {
    border-color: rgba(75, 53, 30, .17);
    background: rgba(255, 255, 255, .46);
    color: #17191d;
}

/* Paywall and in-film selection become warm paper in light mode. */
body[data-theme="light"] #premiereGate .premiere-gate__backdrop,
body[data-theme="light"] .focus-choice__veil,
body[data-theme="light"] .checkpoint__veil {
    background: rgba(229, 222, 210, .84);
}

body[data-theme="light"] #premiereGate .premiere-gate__dialog,
body[data-theme="light"] .focus-choice__panel,
body[data-theme="light"] .checkpoint__panel {
    border-color: rgba(83, 58, 31, .2);
    background: linear-gradient(145deg, rgba(252, 249, 243, .98), rgba(233, 225, 213, .98));
    color: #17191d;
    box-shadow: 0 34px 100px rgba(66, 47, 27, .22);
}

body[data-theme="light"] #premiereGate .premiere-gate__header {
    border-color: rgba(75, 53, 30, .14);
    background: rgba(247, 243, 235, .82);
}

body[data-theme="light"] #premiereGate h2,
body[data-theme="light"] #premiereGate h3,
body[data-theme="light"] #premiereGate h4,
body[data-theme="light"] #premiereGate strong,
body[data-theme="light"] .focus-choice__panel h2,
body[data-theme="light"] .checkpoint__panel h2,
body[data-theme="light"] .focus-choice__grid span,
body[data-theme="light"] .focus-choice__grid strong {
    color: #17191d;
}

body[data-theme="light"] #premiereGate .premiere-gate__body p,
body[data-theme="light"] #premiereGate .premiere-gate__body li,
body[data-theme="light"] #premiereGate .premiere-gate__body blockquote,
body[data-theme="light"] #premiereGate .premiere-gate__body details p,
body[data-theme="light"] #premiereGate .premiere-gate__body small,
body[data-theme="light"] .focus-choice__panel > p,
body[data-theme="light"] .checkpoint__panel > p,
body[data-theme="light"] .focus-choice__grid small {
    color: rgba(23, 25, 29, .68);
}

body[data-theme="light"] #premiereGate .premiere-runtime-map__bar {
    background: rgba(47, 35, 23, .16);
}

body[data-theme="light"] #premiereGate .premiere-diagnosis__grid article,
body[data-theme="light"] #premiereGate .premiere-access-map__grid article,
body[data-theme="light"] #premiereGate .report-contents__grid li,
body[data-theme="light"] #premiereGate .premiere-proof__metrics div,
body[data-theme="light"] #premiereGate .premiere-comparison__row,
body[data-theme="light"] #premiereGate details,
body[data-theme="light"] .focus-choice__grid button,
body[data-theme="light"] .checkpoint__options button {
    border-color: rgba(75, 53, 30, .16);
    background: rgba(255, 255, 255, .5);
    color: #1b1d22;
}

body[data-theme="light"] #premiereGate .premiere-quick-offer,
body[data-theme="light"] #premiereGate .premiere-offer {
    border-color: rgba(129, 87, 41, .3);
    background: rgba(246, 241, 232, .96);
    box-shadow: 0 18px 44px rgba(67, 48, 27, .13);
}

body[data-theme="light"] #premiereGate .premiere-gate__header > button {
    border-color: rgba(75, 53, 30, .18);
    background: rgba(255, 255, 255, .58);
    color: #24262b;
}

body[data-theme="light"] .focus-choice__grid button[aria-checked="true"],
body[data-theme="light"] .checkpoint__options button[aria-checked="true"] {
    border-color: rgba(143, 96, 45, .55);
    background: rgba(167, 118, 61, .12);
}

@media (max-width: 720px) {
    .theme-toggle {
        width: 38px;
        height: 38px;
    }

    .theme-toggle svg {
        width: 17px;
        height: 17px;
    }
}

/* v26 packaging fix: decorative glass overflow must not create a desktop scrollbar. */
@media (min-width: 721px) and (min-height: 760px) {
    .reading-drawer__panel {
        overflow-y: hidden;
    }
}

@media (max-width: 720px), (max-height: 759px) {
    .reading-drawer__panel {
        overflow-y: auto;
    }
}

/*
 * LUMINA v27 — playback quick seek, transient in-play progress,
 * audio-panel resume policy and a dark premium-unlock presentation.
 */

/* -------------------------------------------------------------------------- */
/* Playing-state quick seek feedback                                          */
/* -------------------------------------------------------------------------- */
.quick-seek-feedback {
    position: absolute;
    z-index: 58;
    box-sizing: border-box;
    top: 50%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .55rem;
    width: min(44vw, 620px);
    aspect-ratio: 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    border-radius: 50%;
    background: rgba(226, 226, 226, .34);
    color: rgba(255, 255, 255, .96);
    -webkit-backdrop-filter: blur(7px) saturate(.72);
    backdrop-filter: blur(7px) saturate(.72);
    transform: translateY(-50%) scale(.82);
    transform-origin: center;
    will-change: opacity, transform;
}

.quick-seek-feedback--back {
    left: 0;
    justify-items: end;
    padding-right: 13%;
    transform: translate(-52%, -50%) scale(.82);
}

.quick-seek-feedback--forward {
    right: 0;
    justify-items: start;
    padding-left: 13%;
    transform: translate(52%, -50%) scale(.82);
}

.quick-seek-feedback svg {
    width: clamp(52px, 6vw, 84px);
    height: auto;
    fill: currentColor;
    opacity: .94;
}

.quick-seek-feedback strong {
    color: #fff;
    font-family: var(--sans);
    font-size: clamp(.82rem, 1.25vw, 1.15rem);
    font-weight: 500;
    letter-spacing: -.01em;
}

.quick-seek-feedback.is-active {
    visibility: visible;
    animation: v27-quick-seek 540ms cubic-bezier(.18, .75, .2, 1) both;
}

.quick-seek-feedback--back.is-active {
    animation-name: v27-quick-seek-back;
}

.quick-seek-feedback--forward.is-active {
    animation-name: v27-quick-seek-forward;
}

@keyframes v27-quick-seek-back {
    0% { opacity: 0; transform: translate(-58%, -50%) scale(.78); }
    18% { opacity: .92; transform: translate(-48%, -50%) scale(1); }
    72% { opacity: .72; transform: translate(-46%, -50%) scale(1.03); }
    100% { opacity: 0; transform: translate(-42%, -50%) scale(1.08); }
}

@keyframes v27-quick-seek-forward {
    0% { opacity: 0; transform: translate(58%, -50%) scale(.78); }
    18% { opacity: .92; transform: translate(48%, -50%) scale(1); }
    72% { opacity: .72; transform: translate(46%, -50%) scale(1.03); }
    100% { opacity: 0; transform: translate(42%, -50%) scale(1.08); }
}

#cinema.is-paused .quick-seek-feedback,
#cinema.is-resuming .quick-seek-feedback {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Two-pixel progress line shown only during active playback                  */
/* -------------------------------------------------------------------------- */
.playback-hover-progress {
    position: absolute;
    z-index: 61;
    right: 0;
    bottom: 0;
    left: 0;
    height: max(20px, calc(20px + env(safe-area-inset-bottom)));
    padding-bottom: env(safe-area-inset-bottom);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(7px);
    transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 150ms;
}

.playback-hover-progress.is-visible,
.playback-hover-progress.is-dragging {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

#cinema.is-paused .playback-hover-progress,
#cinema.is-resuming .playback-hover-progress,
#cinema[hidden] .playback-hover-progress {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(7px);
}

#playbackHoverRange {
    position: absolute;
    right: 0;
    bottom: env(safe-area-inset-bottom);
    left: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 20px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    appearance: none;
    border: 0;
    border-radius: 0;
    outline: 0;
    background:
        linear-gradient(90deg,
            rgba(255, 255, 255, .98) 0 var(--hover-progress, 0%),
            rgba(255, 255, 255, .34) var(--hover-progress, 0%) 100%)
        center bottom / 100% 2px no-repeat;
    cursor: ew-resize;
}

#playbackHoverRange::-webkit-slider-runnable-track {
    height: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#playbackHoverRange::-moz-range-track {
    height: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#playbackHoverRange::-webkit-slider-thumb {
    width: 1px;
    height: 1px;
    margin-top: 0;
    appearance: none;
    border: 0;
    border-radius: 0;
    opacity: 0;
    background: transparent;
    box-shadow: none;
}

#playbackHoverRange::-moz-range-thumb {
    width: 1px;
    height: 1px;
    border: 0;
    border-radius: 0;
    opacity: 0;
    background: transparent;
    box-shadow: none;
}

#playbackHoverTime {
    position: absolute;
    left: clamp(30px, var(--hover-time-x, 0%), calc(100% - 30px));
    bottom: calc(12px + env(safe-area-inset-bottom));
    min-width: 48px;
    padding: .28rem .42rem;
    opacity: 0;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 4px;
    background: rgba(3, 5, 8, .9);
    color: #fff;
    font-family: var(--sans);
    font-size: .68rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    transform: translateX(-50%) translateY(4px);
    transition: opacity 120ms ease, transform 120ms ease;
}

.playback-hover-progress.is-dragging #playbackHoverTime,
#playbackHoverRange:focus-visible + #playbackHoverTime {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* -------------------------------------------------------------------------- */
/* Audio and subtitle panel must never remain over a resumed film             */
/* -------------------------------------------------------------------------- */
#audioSubtitleMenu.audio-subtitle-panel {
    width: min(560px, calc(100vw - (var(--v23-player-gutter) * 2)));
}

.audio-subtitle-panel__resume {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: 1rem;
    padding: .75rem 1rem;
    border: 1px solid rgba(220, 180, 118, .46);
    border-radius: 10px;
    background: linear-gradient(135deg, #d9b071, #b98745);
    color: #111318;
    font-family: var(--sans);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.audio-subtitle-panel__resume:hover,
.audio-subtitle-panel__resume:focus-visible {
    filter: brightness(1.08);
    box-shadow: 0 10px 28px rgba(194, 139, 72, .22);
}

#cinema:not(.is-paused) #audioSubtitleMenu.audio-subtitle-panel {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Dark premium unlock: no paper-white card inside the default dark theme     */
/* -------------------------------------------------------------------------- */
body:not([data-theme="light"]) #premiereGate .locked-reading-card,
body[data-theme="dark"] #premiereGate .locked-reading-card {
    border-color: rgba(226, 186, 125, .24);
    background:
        linear-gradient(155deg, rgba(23, 28, 35, .95), rgba(8, 11, 16, .96));
    color: rgba(255, 255, 255, .9);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .58), inset 0 1px rgba(255, 255, 255, .035);
    -webkit-backdrop-filter: blur(18px) saturate(.9);
    backdrop-filter: blur(18px) saturate(.9);
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card::before,
body[data-theme="dark"] #premiereGate .locked-reading-card::before {
    content: "PREMIERE PREVIEW";
    display: block;
    margin-bottom: .55rem;
    color: rgba(225, 187, 130, .76);
    font-family: var(--serif-en, var(--serif));
    font-size: .56rem;
    font-weight: 600;
    letter-spacing: .16em;
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card p,
body[data-theme="dark"] #premiereGate .locked-reading-card p {
    color: #fff;
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card li,
body[data-theme="dark"] #premiereGate .locked-reading-card li {
    color: rgba(255, 255, 255, .7);
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card li strong,
body[data-theme="dark"] #premiereGate .locked-reading-card li strong {
    color: rgba(227, 193, 142, .88);
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card li.is-locked,
body[data-theme="dark"] #premiereGate .locked-reading-card li.is-locked {
    color: transparent;
    text-shadow: 0 0 8px rgba(255, 255, 255, .34);
}

body:not([data-theme="light"]) #premiereGate .locked-reading-card li.is-locked::after,
body[data-theme="dark"] #premiereGate .locked-reading-card li.is-locked::after {
    color: #e0b778;
}

/* Duplicate free/premium summaries and the repeated quick offer are removed. */
#premiereGate .premiere-access-map,
#premiereGate .premiere-quick-offer {
    display: none;
}

/* The single unlock roadmap becomes the visual explanation of paid content. */
#premiereGate .premiere-locked-timeline {
    margin-top: clamp(2.2rem, 4vw, 4rem);
    padding-top: clamp(1.5rem, 2.8vw, 2.5rem);
    border-top: 1px solid rgba(255, 255, 255, .09);
}

#premiereGate .premiere-locked-timeline > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.15rem;
}

#premiereGate .premiere-locked-timeline > header h3 {
    margin: .45rem 0 0;
    color: #fff;
    font-family: var(--serif-ko);
    font-size: clamp(1.55rem, 2.6vw, 2.7rem);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -.035em;
    word-break: keep-all;
}

#premiereGate .premiere-locked-timeline > header > span {
    flex: 0 0 auto;
    padding: .45rem .68rem;
    border: 1px solid rgba(218, 177, 112, .28);
    border-radius: 999px;
    color: rgba(227, 191, 135, .82);
    font-family: var(--serif-en, var(--serif));
    font-size: .62rem;
    letter-spacing: .14em;
    white-space: nowrap;
}

#premiereGate .premiere-locked-timeline > ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(.7rem, 1.3vw, 1.1rem);
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: v27-premiere-cut;
}

#premiereGate .premiere-locked-timeline > ol > li {
    position: relative;
    display: grid;
    align-content: start;
    gap: .75rem;
    min-width: 0;
    min-height: 220px;
    padding: clamp(1rem, 1.5vw, 1.35rem);
    overflow: hidden;
    counter-increment: v27-premiere-cut;
    border: 1px solid rgba(255, 255, 255, .095);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0, rgba(211, 169, 105, .12), transparent 34%),
        linear-gradient(150deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

#premiereGate .premiere-locked-timeline > ol > li::before {
    content: "0" counter(v27-premiere-cut);
    position: absolute;
    right: .85rem;
    top: .55rem;
    color: rgba(255, 255, 255, .055);
    font-family: var(--serif-en, var(--serif));
    font-size: clamp(2.8rem, 4vw, 4.4rem);
    font-weight: 600;
    line-height: 1;
}

#premiereGate .premiere-locked-timeline > ol > li.is-free {
    border-color: rgba(214, 173, 112, .33);
    background:
        radial-gradient(circle at 100% 0, rgba(214, 173, 112, .22), transparent 38%),
        linear-gradient(150deg, rgba(194, 143, 75, .14), rgba(255, 255, 255, .018));
}

#premiereGate .premiere-locked-timeline time {
    position: relative;
    z-index: 1;
    color: rgba(230, 197, 146, .82);
    font-family: var(--serif-en, var(--serif));
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .08em;
}

#premiereGate .premiere-locked-timeline li > div {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .45rem;
}

#premiereGate .premiere-locked-timeline li > div strong {
    color: rgba(255, 255, 255, .94);
    font-family: var(--serif-ko);
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    font-weight: 500;
    line-height: 1.5;
    word-break: keep-all;
}

#premiereGate .premiere-locked-timeline li > div span {
    color: rgba(255, 255, 255, .58);
    font-size: clamp(.78rem, .78vw, .9rem);
    line-height: 1.75;
    word-break: keep-all;
}

#premiereGate .premiere-locked-timeline em {
    position: relative;
    z-index: 1;
    justify-self: start;
    margin-top: auto;
    padding: .38rem .58rem;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 999px;
    background: rgba(0, 0, 0, .18);
    color: rgba(255, 255, 255, .52);
    font-family: var(--serif-en, var(--serif));
    font-size: .57rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .12em;
}

#premiereGate .premiere-locked-timeline .is-free em {
    border-color: rgba(214, 173, 112, .36);
    color: #e4bd83;
}

/* The final offer is now the only full purchase promotion in the document. */
#premiereGate .premiere-offer {
    border: 1px solid rgba(214, 173, 112, .28);
    border-radius: 18px;
    padding: clamp(1.2rem, 2vw, 1.8rem);
    background:
        radial-gradient(circle at 0 50%, rgba(214, 173, 112, .13), transparent 32%),
        linear-gradient(145deg, rgba(17, 21, 28, .98), rgba(7, 9, 13, .98));
    box-shadow: 0 22px 64px rgba(0, 0, 0, .28);
}

/* Light theme keeps the same structure without leaking the dark palette. */
body[data-theme="light"] #premiereGate .premiere-locked-timeline {
    border-color: rgba(75, 53, 30, .14);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline > header h3,
body[data-theme="light"] #premiereGate .premiere-locked-timeline li > div strong {
    color: #17191d;
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li {
    border-color: rgba(75, 53, 30, .14);
    background:
        radial-gradient(circle at 100% 0, rgba(163, 112, 54, .1), transparent 34%),
        rgba(255, 255, 255, .44);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li.is-free {
    border-color: rgba(143, 96, 45, .34);
    background:
        radial-gradient(circle at 100% 0, rgba(163, 112, 54, .16), transparent 38%),
        rgba(255, 252, 246, .72);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline li > div span {
    color: rgba(23, 25, 29, .64);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline em {
    border-color: rgba(75, 53, 30, .16);
    background: rgba(255, 255, 255, .48);
    color: rgba(23, 25, 29, .58);
}

body[data-theme="light"] #premiereGate .premiere-offer {
    border-color: rgba(129, 87, 41, .26);
    background:
        radial-gradient(circle at 0 50%, rgba(166, 116, 58, .11), transparent 32%),
        linear-gradient(145deg, rgba(252, 249, 243, .98), rgba(235, 227, 214, .98));
}

@media (max-width: 1100px) {
    #premiereGate .premiere-locked-timeline > ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #audioSubtitleMenu.audio-subtitle-panel {
        width: min(520px, calc(100vw - (var(--v23-player-gutter) * 2)));
    }
}

@media (max-width: 720px) {
    .quick-seek-feedback {
        width: min(74vw, 440px);
    }

    #audioSubtitleMenu.audio-subtitle-panel {
        right: .55rem;
        width: calc(100vw - 1.1rem);
        max-width: calc(100vw - 1.1rem);
        max-height: min(58dvh, 520px);
    }

    #premiereGate .premiere-locked-timeline > header {
        align-items: start;
        flex-direction: column;
        gap: .7rem;
    }

    #premiereGate .premiere-locked-timeline > ol {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-locked-timeline > ol > li {
        min-height: 0;
    }
}

@media (hover: none), (pointer: coarse) {
    .playback-hover-progress {
        height: max(24px, calc(24px + env(safe-area-inset-bottom)));
    }

    #playbackHoverRange {
        height: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .quick-seek-feedback.is-active {
        animation-duration: 180ms;
    }

    .playback-hover-progress {
        transition-duration: 0ms;
    }
}

/* LUMINA v28 — PERSONAL TRAILER → 16:01 FULL FEATURE */

#premiereGate .premiere-runtime-map__bar {
    height: 2px;
    overflow: visible;
    background: rgba(255, 255, 255, .12);
}

#premiereGate .premiere-runtime-map__bar i {
    width: 100%;
    background: linear-gradient(90deg,
        rgba(218, 177, 112, .96) 0%,
        rgba(218, 177, 112, .58) 29%,
        rgba(255, 255, 255, .28) 50%,
        rgba(218, 177, 112, .68) 72%,
        rgba(239, 211, 165, .96) 100%);
    box-shadow: 0 0 20px rgba(218, 177, 112, .18);
}

#premiereGate .premiere-runtime-map__bar b {
    display: none;
}

#premiereGate .premiere-runtime-map__labels span:nth-child(2) {
    position: relative;
    color: rgba(236, 210, 167, .72);
}

#premiereGate .premiere-runtime-map__labels span:nth-child(2)::before,
#premiereGate .premiere-runtime-map__labels span:nth-child(2)::after {
    content: "";
    width: clamp(18px, 2.8vw, 44px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(218, 177, 112, .44));
}

#premiereGate .premiere-runtime-map__labels span:nth-child(2)::after {
    transform: rotate(180deg);
}

#premiereGate .premiere-feature-restart-note {
    display: grid;
    grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr);
    gap: clamp(.75rem, 2vw, 1.6rem);
    align-items: center;
    margin-top: .25rem;
    padding: clamp(.9rem, 1.8vw, 1.35rem) clamp(1rem, 2.4vw, 1.7rem);
    border: 1px solid rgba(218, 177, 112, .28);
    border-radius: 14px;
    background:
        linear-gradient(110deg, rgba(218, 177, 112, .11), transparent 46%),
        rgba(255, 255, 255, .025);
}

#premiereGate .premiere-feature-restart-note strong {
    color: var(--gold-pale, #efd3a5);
    font-family: var(--serif-en, var(--serif));
    font-size: clamp(.72rem, .85vw, .88rem);
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1.45;
}

#premiereGate .premiere-feature-restart-note span {
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.82rem, .95vw, .98rem);
    line-height: 1.75;
    word-break: keep-all;
}

#premiereGate .premiere-access-map__grid article.is-free > span {
    color: rgba(255, 255, 255, .58);
}

#premiereGate .premiere-access-map__grid article.is-premium {
    border-color: rgba(218, 177, 112, .42);
    background:
        radial-gradient(circle at 82% 12%, rgba(218, 177, 112, .13), transparent 35%),
        rgba(218, 177, 112, .055);
}

#premiereGate .premiere-access-map__grid article.is-premium > strong {
    text-shadow: 0 0 26px rgba(218, 177, 112, .22);
}

#premiereGate .premiere-locked-timeline li.is-free em {
    color: var(--gold-pale, #efd3a5);
}

#focusChoice .focus-choice__panel::before {
    content: "TRAILER COMPLETE · FULL FEATURE READY";
    display: block;
    margin-bottom: .75rem;
    color: rgba(218, 177, 112, .68);
    font-family: var(--serif-en, var(--serif));
    font-size: .66rem;
    letter-spacing: .18em;
    text-align: center;
}

#cinema[data-experience="trailer"] #topFocus,
#cinema[data-experience="feature"] #topFocus {
    min-width: 0;
    letter-spacing: .13em;
}

#cinema[data-experience="trailer"] #topFocus {
    color: rgba(236, 210, 167, .9);
}

#cinema[data-experience="feature"] #topFocus {
    color: rgba(255, 255, 255, .78);
}

body[data-theme="light"] #premiereGate .premiere-runtime-map__bar {
    background: rgba(31, 27, 23, .13);
}

body[data-theme="light"] #premiereGate .premiere-feature-restart-note {
    border-color: rgba(126, 88, 38, .28);
    background:
        linear-gradient(110deg, rgba(177, 126, 58, .1), transparent 46%),
        rgba(255, 255, 255, .6);
}

body[data-theme="light"] #premiereGate .premiere-feature-restart-note strong {
    color: #74502a;
}

body[data-theme="light"] #premiereGate .premiere-feature-restart-note span {
    color: rgba(30, 25, 21, .78);
}

@media (max-width: 720px) {
    #premiereGate .premiere-runtime-map__labels {
        grid-template-columns: 1fr;
        gap: .45rem;
    }

    #premiereGate .premiere-runtime-map__labels span,
    #premiereGate .premiere-runtime-map__labels span:nth-child(2),
    #premiereGate .premiere-runtime-map__labels span:last-child {
        justify-content: flex-start;
        white-space: normal;
    }

    #premiereGate .premiere-runtime-map__labels span:nth-child(2)::before,
    #premiereGate .premiere-runtime-map__labels span:nth-child(2)::after {
        display: none;
    }

    #premiereGate .premiere-feature-restart-note {
        grid-template-columns: 1fr;
    }
}

#premiereGate .premiere-question-preview {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    width: 100%;
    padding: clamp(1.15rem, 2.4vw, 1.8rem);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(218, 177, 112, .08), transparent 48%),
        rgba(255, 255, 255, .018);
}

#premiereGate .premiere-question-preview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

#premiereGate .premiere-question-preview__grid article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .2rem .7rem;
    align-items: start;
    min-width: 0;
    padding: .95rem 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 12px;
    background: rgba(4, 7, 11, .52);
}

#premiereGate .premiere-question-preview__grid i {
    grid-row: 1 / span 2;
    color: var(--gold, #d8ae70);
    font-family: var(--serif-en, var(--serif));
    font-size: .72rem;
    font-style: normal;
    line-height: 1.5;
}

#premiereGate .premiere-question-preview__grid strong {
    min-width: 0;
    color: rgba(255, 255, 255, .94);
    font-family: var(--serif-ko, var(--serif));
    font-size: clamp(.92rem, 1.1vw, 1.12rem);
    font-weight: 500;
    line-height: 1.45;
    word-break: keep-all;
}

#premiereGate .premiere-question-preview__grid span {
    min-width: 0;
    color: rgba(255, 255, 255, .55);
    font-size: clamp(.75rem, .85vw, .86rem);
    line-height: 1.55;
    word-break: keep-all;
}

#premiereGate .premiere-question-preview > p {
    max-width: 920px;
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: clamp(.82rem, .94vw, .96rem);
    line-height: 1.75;
    word-break: keep-all;
}

body[data-theme="light"] #premiereGate .premiere-question-preview {
    border-color: rgba(50, 42, 34, .12);
    background:
        radial-gradient(circle at 50% 0%, rgba(177, 126, 58, .1), transparent 48%),
        rgba(255, 255, 255, .54);
}

body[data-theme="light"] #premiereGate .premiere-question-preview__grid article {
    border-color: rgba(50, 42, 34, .12);
    background: rgba(255, 255, 255, .65);
}

body[data-theme="light"] #premiereGate .premiere-question-preview__grid strong {
    color: #211c17;
}

body[data-theme="light"] #premiereGate .premiere-question-preview__grid span,
body[data-theme="light"] #premiereGate .premiere-question-preview > p {
    color: rgba(35, 29, 24, .66);
}

@media (max-width: 980px) {
    #premiereGate .premiere-question-preview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    #premiereGate .premiere-question-preview__grid {
        grid-template-columns: 1fr;
    }
}

/*
 * LUMINA v29 — trailer narrative, stable feature opening, two-line title fit,
 * seekable thin progress and a complete warm-paper light theme.
 * This file is intentionally loaded after the accumulated version overrides.
 */

:root {
    --v29-paper: #f5f0e7;
    --v29-paper-strong: #fffdf8;
    --v29-paper-soft: #ece3d6;
    --v29-ink: #211d18;
    --v29-body: #504940;
    --v29-muted: #70675d;
    --v29-line: #cdbfae;
    --v29-accent: #8a5928;
    --v29-accent-strong: #6d421c;
    --v29-progress-rest: 2px;
    --v29-progress-active: 3px;
}

/* -------------------------------------------------------------------------- */
/* Loading lockup: exactly two fitted lines at every supported viewport.       */
/* -------------------------------------------------------------------------- */
.loading-screen__content {
    width: min(94vw, 880px);
}

.loading-screen__title {
    display: grid;
    gap: .18em;
    width: 100%;
    max-width: 880px;
    margin: .9rem auto 1.8rem;
    font-size: clamp(1.1rem, 3.15vw, 3.2rem);
    line-height: 1.36;
    text-wrap: nowrap;
}

.loading-screen__title .v22-title-line {
    display: block;
    width: 100%;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

@media (max-width: 480px) {
    .loading-screen__content {
        width: min(96vw, 440px);
        padding-inline: 12px;
    }

    .loading-screen__title {
        font-size: clamp(.92rem, 4.45vw, 1.36rem);
        letter-spacing: -.045em;
    }
}

/* -------------------------------------------------------------------------- */
/* Story media: keep the primary clip above the stage background at all times. */
/* -------------------------------------------------------------------------- */
#cinema .cinema__stage {
    isolation: isolate;
    background: #020306;
}

#cinema .story-video {
    z-index: 0;
    opacity: 1;
    visibility: visible;
    background: #020306;
}

#cinema .element-overlay {
    z-index: 1;
}

#cinema .cinema__grade {
    z-index: 2;
}

#cinema .cinema__vignette {
    z-index: 3;
}

#cinema .film-grain--cinema {
    z-index: 4;
}

#cinema:not(.is-paused)[data-scene-mood="origin"] .story-video {
    filter: saturate(.74) contrast(1.1) brightness(.72) sepia(.08);
}

#cinema:not(.is-paused)[data-scene-mood="memory"] .story-video {
    filter: saturate(.8) contrast(1.05) brightness(.86) sepia(.06);
}

#cinema:not(.is-paused)[data-scene-mood="pattern"] .story-video {
    filter: saturate(.72) contrast(1.14) brightness(.75);
}

#cinema:not(.is-paused)[data-scene-mood="pressure"] .story-video {
    filter: saturate(.55) contrast(1.24) brightness(.61);
}

#cinema:not(.is-paused)[data-scene-mood="fracture"] .story-video {
    filter: saturate(.42) contrast(1.3) brightness(.55);
}

#cinema:not(.is-paused)[data-scene-mood="cliffhanger"] .story-video,
#cinema:not(.is-paused)[data-scene-mood="present"] .story-video {
    filter: saturate(.68) contrast(1.17) brightness(.66);
}

#cinema.is-feature-opening .story-video {
    animation: v29FeatureOpening 1.65s cubic-bezier(.2, .72, .2, 1) both;
}

#cinema[data-transition-style="fade-up"]:not(.is-paused) .story-video {
    animation: v29FadeUp .9s cubic-bezier(.2, .72, .2, 1) both;
}

#cinema[data-transition-style="soft-dissolve"]:not(.is-paused) .story-video,
#cinema[data-transition-style="slow-dissolve"]:not(.is-paused) .story-video {
    animation: v29SoftDissolve .72s ease both;
}

#cinema[data-transition-style="match-cut"]:not(.is-paused) .story-video,
#cinema[data-transition-style="hard-dissolve"]:not(.is-paused) .story-video,
#cinema[data-transition-style="flash-dissolve"]:not(.is-paused) .story-video {
    animation: v29TensionCut .48s ease both;
}

@keyframes v29FeatureOpening {
    0% { opacity: 0; transform: scale(1.075); filter: blur(18px) brightness(.28); }
    40% { opacity: .38; }
    100% { opacity: 1; transform: scale(1.012); }
}

@keyframes v29FadeUp {
    0% { opacity: .08; transform: scale(1.055); }
    100% { opacity: 1; transform: scale(1.012); }
}

@keyframes v29SoftDissolve {
    0% { opacity: .18; filter: blur(9px) brightness(.48); }
    100% { opacity: 1; }
}

@keyframes v29TensionCut {
    0% { opacity: .16; transform: scale(1.035); filter: blur(5px) contrast(1.32) brightness(.42); }
    45% { opacity: .72; }
    100% { opacity: 1; transform: scale(1.012); }
}

/* -------------------------------------------------------------------------- */
/* Seek controls: 2px at rest, 3px on hover/focus/drag, still fully seekable.  */
/* -------------------------------------------------------------------------- */
#playerControls #progressRange {
    --v24-progress-height: var(--v29-progress-rest);
    background-size: 100% var(--v29-progress-rest);
}

#playerControls .progress-control:hover #progressRange,
#playerControls .progress-control.is-scrubbing #progressRange,
#playerControls .progress-control.is-v29-dragging #progressRange,
#playerControls #progressRange:focus-visible {
    --v24-progress-height: var(--v29-progress-active);
    background-size: 100% var(--v29-progress-active);
}

#playerControls #progressRange::-webkit-slider-runnable-track,
#playerControls #progressRange::-moz-range-track {
    transition: height 110ms ease;
}

.playback-hover-progress #playbackHoverRange {
    background-size: 100% var(--v29-progress-rest);
}

.playback-hover-progress:hover #playbackHoverRange,
.playback-hover-progress.is-dragging #playbackHoverRange,
.playback-hover-progress.is-v29-dragging #playbackHoverRange,
#playbackHoverRange:focus-visible {
    background-size: 100% var(--v29-progress-active);
}

.playback-hover-progress:hover::before,
.playback-hover-progress.is-dragging::before,
.playback-hover-progress.is-v29-dragging::before {
    height: var(--v29-progress-active);
}

/* -------------------------------------------------------------------------- */
/* White theme: one coherent warm-paper system outside the cinematic player.   */
/* -------------------------------------------------------------------------- */
html[data-theme="light"],
body[data-theme="light"] {
    color-scheme: light;
    background: var(--v29-paper);
    color: var(--v29-ink);
}

body[data-theme="light"] {
    --bg: var(--v29-paper);
    --panel: var(--v29-paper-strong);
    --panel-2: var(--v29-paper-soft);
    --text: var(--v29-ink);
    --muted: var(--v29-body);
    --muted-2: var(--v29-muted);
    --line: rgba(91, 67, 42, .23);
    --gold: var(--v29-accent);
    --gold-soft: #9b6d3b;
    --gold-pale: #6f481f;
}

body[data-theme="light"] .app,
body[data-theme="light"] .intro,
body[data-theme="light"] .home-programs,
body[data-theme="light"] .empathy-stage,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .film-library,
body[data-theme="light"] .film-library__scroll,
body[data-theme="light"] .service-experience,
body[data-theme="light"] .service-intake,
body[data-theme="light"] .ending,
body[data-theme="light"] .ending__scroll {
    background-color: var(--v29-paper);
    color: var(--v29-ink);
}

body[data-theme="light"] .intro__depth {
    background:
        linear-gradient(90deg, rgba(245, 240, 231, .98) 0%, rgba(245, 240, 231, .9) 43%, rgba(245, 240, 231, .36) 72%, rgba(245, 240, 231, .72) 100%),
        linear-gradient(180deg, rgba(245, 240, 231, .18), var(--v29-paper) 96%);
}

body[data-theme="light"] .intro__video {
    opacity: .34;
    filter: sepia(.16) saturate(.68) contrast(.98) brightness(1.12);
}

body[data-theme="light"] .site-header--streaming,
body[data-theme="light"] .film-library__header,
body[data-theme="light"] .ending-nav {
    border-color: rgba(91, 67, 42, .18);
    background: rgba(250, 247, 241, .94);
    color: var(--v29-ink);
    box-shadow: 0 12px 34px rgba(77, 55, 31, .07);
    backdrop-filter: blur(24px) saturate(1.1);
}

body[data-theme="light"] .home-nav button,
body[data-theme="light"] .header-search,
body[data-theme="light"] .header-collection,
body[data-theme="light"] .film-library__close,
body[data-theme="light"] .ending-nav__menu button {
    color: #3f3932;
}

body[data-theme="light"] .home-nav button[aria-current="page"],
body[data-theme="light"] .home-nav button:hover,
body[data-theme="light"] .home-nav button:focus-visible,
body[data-theme="light"] .header-collection:hover,
body[data-theme="light"] .header-search:hover {
    color: #181512;
}

body[data-theme="light"] .theme-toggle,
body[data-theme="light"] .library-search input,
body[data-theme="light"] .library-filters button,
body[data-theme="light"] .open-full-library,
body[data-theme="light"] .ending-actions button {
    border-color: rgba(91, 67, 42, .25);
    background: rgba(255, 253, 248, .9);
    color: #2b261f;
    box-shadow: none;
}

body[data-theme="light"] .streaming-hero__content h1,
body[data-theme="light"] .streaming-hero__content h1 > span,
body[data-theme="light"] .section-heading h2,
body[data-theme="light"] .section-heading h3,
body[data-theme="light"] .empathy-stage h2,
body[data-theme="light"] .film-library__hero h2,
body[data-theme="light"] .service-intake h2,
body[data-theme="light"] .service-intake h3,
body[data-theme="light"] .ending h2,
body[data-theme="light"] .ending h3,
body[data-theme="light"] .ending h4 {
    color: #1d1915;
    text-shadow: none;
}

body[data-theme="light"] .streaming-hero__content h1 > em,
body[data-theme="light"] .eyebrow,
body[data-theme="light"] .hero-metrics strong,
body[data-theme="light"] .service-intake__section-label,
body[data-theme="light"] .ending-focus small {
    color: var(--v29-accent-strong);
    text-shadow: none;
}

body[data-theme="light"] .hero-copy__body,
body[data-theme="light"] .section-heading > p,
body[data-theme="light"] .empathy-stage__intro > p,
body[data-theme="light"] .home-footer p,
body[data-theme="light"] .film-library__hero p,
body[data-theme="light"] .service-intake p,
body[data-theme="light"] .service-intake li,
body[data-theme="light"] .ending p,
body[data-theme="light"] .ending li {
    color: var(--v29-body);
}

body[data-theme="light"] .hero-metrics,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .film-collection,
body[data-theme="light"] .fortune-report,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .ending-actions {
    border-color: rgba(91, 67, 42, .18);
}

/* Program and poster cards: image remains cinematic, copy becomes readable paper. */
body[data-theme="light"] .streaming-card,
body[data-theme="light"] .poster-card,
body[data-theme="light"] .empathy-stage__grid button,
body[data-theme="light"] .service-assurance > div,
body[data-theme="light"] .service-result-preview,
body[data-theme="light"] .service-empathy,
body[data-theme="light"] .service-narrator {
    border-color: rgba(91, 67, 42, .22);
    background: var(--v29-paper-strong);
    color: var(--v29-ink);
    box-shadow: 0 20px 54px rgba(75, 51, 26, .1);
}

body[data-theme="light"] .streaming-card__copy,
body[data-theme="light"] .poster-card__copy {
    border-color: rgba(91, 67, 42, .16);
    background: linear-gradient(180deg, rgba(255, 253, 248, .96), #f4ede2 100%);
}

body[data-theme="light"] .streaming-card__copy strong,
body[data-theme="light"] .poster-card__copy strong,
body[data-theme="light"] .empathy-stage__grid q,
body[data-theme="light"] .empathy-stage__grid strong,
body[data-theme="light"] .service-result-preview strong,
body[data-theme="light"] .service-story-outline strong {
    color: #1d1915;
}

body[data-theme="light"] .streaming-card__copy p,
body[data-theme="light"] .streaming-card__copy span,
body[data-theme="light"] .streaming-card__copy small,
body[data-theme="light"] .poster-card__copy p,
body[data-theme="light"] .poster-card__copy span,
body[data-theme="light"] .poster-card__copy small,
body[data-theme="light"] .empathy-stage__grid small,
body[data-theme="light"] .service-result-preview li,
body[data-theme="light"] .service-story-outline li {
    color: #5c544b;
}

body[data-theme="light"] .streaming-card__format,
body[data-theme="light"] .poster-card__badge,
body[data-theme="light"] .service-intake__rating {
    border-color: rgba(224, 188, 134, .46);
    background: rgba(25, 20, 15, .76);
    color: #f3d5a6;
}

/* Forms and service/library surfaces. */
body[data-theme="light"] .reading-drawer__backdrop,
body[data-theme="light"] dialog::backdrop {
    background: rgba(40, 31, 22, .3);
}

body[data-theme="light"] .glass-shell,
body[data-theme="light"] .service-intake__content,
body[data-theme="light"] .film-library-dialog,
body[data-theme="light"] .service-dialog {
    border-color: rgba(91, 67, 42, .22);
    background: var(--v29-paper-strong);
    color: var(--v29-ink);
}

body[data-theme="light"] .glass-control,
body[data-theme="light"] .segmented-field label span,
body[data-theme="light"] .service-form input,
body[data-theme="light"] .service-form select,
body[data-theme="light"] .service-form textarea {
    border-color: rgba(91, 67, 42, .25);
    background: #fffdf8;
    color: #211d18;
}

body[data-theme="light"] .glass-control::placeholder,
body[data-theme="light"] .service-form input::placeholder,
body[data-theme="light"] .service-form textarea::placeholder {
    color: #786f65;
}

/* Ending: remove the dark islands that previously broke the light mode. */
body[data-theme="light"] .ending__video {
    opacity: .12;
    filter: sepia(.2) saturate(.42) brightness(1.3) contrast(.82);
}

body[data-theme="light"] .ending__veil {
    background:
        linear-gradient(180deg, rgba(245, 240, 231, .62), rgba(245, 240, 231, .95) 43%, var(--v29-paper) 86%);
}

body[data-theme="light"] .ending-focus,
body[data-theme="light"] .fortune-report__identity,
body[data-theme="light"] .fortune-report__selected,
body[data-theme="light"] .fortune-report__guidance,
body[data-theme="light"] .fortune-report__timeline li,
body[data-theme="light"] .fortune-report__grid article,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature {
    border-color: rgba(91, 67, 42, .2);
    background: rgba(255, 253, 248, .88);
    color: var(--v29-ink);
    box-shadow: 0 18px 48px rgba(77, 55, 31, .08);
}

body[data-theme="light"] .fortune-report__grid article strong,
body[data-theme="light"] .fortune-report__selected strong,
body[data-theme="light"] .fortune-report__guidance strong,
body[data-theme="light"] .fortune-report__timeline strong,
body[data-theme="light"] .ending-focus strong {
    color: #1d1915;
}

body[data-theme="light"] .fortune-report__grid article p,
body[data-theme="light"] .fortune-report__selected p,
body[data-theme="light"] .fortune-report__guidance p,
body[data-theme="light"] .fortune-report__timeline span,
body[data-theme="light"] .ending-focus span {
    color: #5d554c;
}

body[data-theme="light"] .report-chapter-card,
body[data-theme="light"] .fortune-report__chapters .report-chapter-card {
    border-color: rgba(91, 67, 42, .22);
    background:
        radial-gradient(circle at 100% 0, rgba(155, 109, 59, .1), transparent 34%),
        linear-gradient(145deg, #fffdf8, #eee5d8);
    color: #1d1915;
    box-shadow: 0 16px 38px rgba(77, 55, 31, .08);
}

body[data-theme="light"] .report-chapter-card strong {
    color: #1d1915;
}

body[data-theme="light"] .report-chapter-card span:not(.report-chapter-card__number) {
    color: #5d554c;
}

body[data-theme="light"] .report-chapter-card::after {
    background: linear-gradient(180deg, rgba(24, 20, 16, .08), rgba(24, 20, 16, .76));
}

body[data-theme="light"] .report-chapter-card:hover strong,
body[data-theme="light"] .report-chapter-card:focus-visible strong,
body[data-theme="light"] .report-chapter-card.is-previewing strong,
body[data-theme="light"] .report-chapter-card:hover span,
body[data-theme="light"] .report-chapter-card:focus-visible span,
body[data-theme="light"] .report-chapter-card.is-previewing span {
    color: #fffaf1;
}

/* Premiere gate: coherent light paper instead of mixed dark/white fragments. */
body[data-theme="light"] #premiereGate .premiere-gate__backdrop {
    background: rgba(36, 27, 19, .38);
    backdrop-filter: blur(14px) saturate(.78);
}

body[data-theme="light"] #premiereGate .premiere-gate__dialog {
    border-color: rgba(91, 67, 42, .24);
    background: var(--v29-paper);
    color: var(--v29-ink);
    box-shadow: 0 46px 130px rgba(45, 31, 18, .28);
}

body[data-theme="light"] #premiereGate .premiere-gate__header {
    border-color: rgba(91, 67, 42, .18);
    background: rgba(250, 247, 241, .97);
    box-shadow: 0 8px 24px rgba(77, 55, 31, .06);
}

body[data-theme="light"] #premiereGate .premiere-gate__body {
    background: var(--v29-paper);
}

body[data-theme="light"] #premiereGate .premiere-gate__body > section,
body[data-theme="light"] #premiereGate .premiere-quick-offer,
body[data-theme="light"] #premiereGate .premiere-offer {
    border-color: rgba(91, 67, 42, .18);
}

body[data-theme="light"] #premiereGate h2,
body[data-theme="light"] #premiereGate h3,
body[data-theme="light"] #premiereGate h4,
body[data-theme="light"] #premiereGate strong,
body[data-theme="light"] #premiereGate summary {
    color: #1d1915;
}

body[data-theme="light"] #premiereGate p,
body[data-theme="light"] #premiereGate li,
body[data-theme="light"] #premiereGate blockquote,
body[data-theme="light"] #premiereGate small,
body[data-theme="light"] #premiereGate span:not(.eyebrow) {
    color: #554d44;
}

body[data-theme="light"] #premiereGate .premiere-preview,
body[data-theme="light"] #premiereGate .premiere-diagnosis,
body[data-theme="light"] #premiereGate .premiere-question-preview,
body[data-theme="light"] #premiereGate .report-contents,
body[data-theme="light"] #premiereGate .premiere-proof,
body[data-theme="light"] #premiereGate .premiere-strengths,
body[data-theme="light"] #premiereGate .premiere-process,
body[data-theme="light"] #premiereGate .premiere-comparison,
body[data-theme="light"] #premiereGate .premiere-faq,
body[data-theme="light"] #premiereGate .premiere-locked-timeline {
    background: transparent;
}

body[data-theme="light"] #premiereGate .premiere-runtime-map,
body[data-theme="light"] #premiereGate .premiere-preview__copy,
body[data-theme="light"] #premiereGate .premiere-recognition,
body[data-theme="light"] #premiereGate .premiere-diagnosis__grid article,
body[data-theme="light"] #premiereGate .premiere-question-preview__grid article,
body[data-theme="light"] #premiereGate .premiere-proof__metrics div,
body[data-theme="light"] #premiereGate .premiere-proof__reviews,
body[data-theme="light"] #premiereGate .premiere-strengths li,
body[data-theme="light"] #premiereGate .premiere-process__grid article,
body[data-theme="light"] #premiereGate .premiere-comparison__row,
body[data-theme="light"] #premiereGate .premiere-faq details,
body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li,
body[data-theme="light"] #premiereGate .report-chapter-card {
    border-color: rgba(91, 67, 42, .2);
    background:
        radial-gradient(circle at 100% 0, rgba(155, 109, 59, .08), transparent 34%),
        #fffdf8;
    color: #1d1915;
    box-shadow: 0 14px 38px rgba(77, 55, 31, .07);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li.is-free {
    border-color: rgba(138, 89, 40, .43);
    background:
        radial-gradient(circle at 100% 0, rgba(178, 126, 65, .18), transparent 38%),
        #f8efe1;
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li::before {
    color: rgba(80, 58, 36, .09);
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline time,
body[data-theme="light"] #premiereGate .premiere-locked-timeline > header > span {
    color: #784919;
}

body[data-theme="light"] #premiereGate .premiere-locked-timeline em {
    border-color: rgba(91, 67, 42, .25);
    background: #eee4d6;
    color: #584c40;
}

body[data-theme="light"] #premiereGate .locked-reading-card {
    border-color: rgba(91, 67, 42, .22);
    background: linear-gradient(145deg, #fffdf8, #eadfce);
    color: #1d1915;
}

body[data-theme="light"] #premiereGate .locked-reading-card li,
body[data-theme="light"] #premiereGate .locked-reading-card p {
    color: #39322b;
}

/* Visual previews remain deliberately dark, but copy keeps high contrast. */
body[data-theme="light"] #premiereGate .premiere-preview__visual,
body[data-theme="light"] #premiereGate .future-silhouette,
body[data-theme="light"] #premiereGate .premiere-locked-insight {
    border-color: rgba(91, 67, 42, .25);
    background: #12100e;
    color: #fffaf2;
}

body[data-theme="light"] #premiereGate .future-silhouette span,
body[data-theme="light"] #premiereGate .premiere-locked-insight h4,
body[data-theme="light"] #premiereGate .premiere-locked-insight li span,
body[data-theme="light"] #premiereGate .premiere-locked-insight small {
    color: rgba(255, 250, 242, .88);
}

body[data-theme="light"] #premiereGate .premiere-offer {
    background:
        radial-gradient(circle at 0 50%, rgba(179, 126, 64, .16), transparent 32%),
        linear-gradient(145deg, #fffdf8, #eadfce);
    box-shadow: 0 22px 58px rgba(77, 55, 31, .12);
}

body[data-theme="light"] #premiereGate button:not(#premiereGateClose):not(#premiereReplayFreeButton) {
    border-color: #6d421c;
    background: #6d421c;
    color: #fffaf2;
}

body[data-theme="light"] #premiereGate #premiereReplayFreeButton,
body[data-theme="light"] #premiereGate #premiereGateClose {
    border-color: rgba(91, 67, 42, .26);
    background: #fffdf8;
    color: #2b261f;
}

/* In-film overlays stay dark in both modes by design. */
body[data-theme="light"] #cinema,
body[data-theme="light"] #loadingScreen,
body[data-theme="light"] #cinema .current-cut,
body[data-theme="light"] #cinema .audio-subtitle-panel,
body[data-theme="light"] #cinema .focus-choice__panel,
body[data-theme="light"] #cinema .checkpoint__panel {
    color-scheme: dark;
}

@media (max-width: 720px) {
    .loading-screen__logo {
        margin-bottom: 1.45rem;
    }

    body[data-theme="light"] #premiereGate .premiere-gate__dialog {
        border-inline: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cinema .story-video {
        animation: none;
    }
}

/*
 * LUMINA v30 — compact intake, responsive hero rhythm, direct shelf navigation,
 * smoothly expanding seek lines and a coherent high-contrast warm light theme.
 * This file is intentionally loaded after every accumulated version override.
 */

:root {
    --v30-paper: #f6f1e8;
    --v30-paper-raised: #fffdf8;
    --v30-paper-soft: #ebe2d5;
    --v30-paper-deep: #ddd0bf;
    --v30-ink: #201b16;
    --v30-ink-soft: #4c433a;
    --v30-ink-muted: #63584d;
    --v30-line: rgba(69, 50, 31, .22);
    --v30-line-strong: rgba(69, 50, 31, .34);
    --v30-accent: #7b481e;
    --v30-accent-soft: #9a622b;
    --v30-shadow: 0 22px 62px rgba(67, 45, 23, .12);
    --v30-progress-rest: 2px;
    --v30-progress-active: 3px;
}

/* -------------------------------------------------------------------------- */
/* Home stage: keep large screens centred, lower short desktop screens gently. */
/* -------------------------------------------------------------------------- */
.streaming-hero .hero-metrics {
    margin-top: clamp(1.7rem, 3.1vh, 3.35rem);
}

.streaming-hero .hero-actions {
    margin-top: clamp(1.2rem, 2.2vh, 2rem);
}

@media (min-width: 941px) and (max-height: 840px) {
    .streaming-hero__grid {
        transform: translateY(clamp(12px, 2.15vh, 20px));
    }

    .streaming-hero .hero-metrics {
        margin-top: 1.45rem;
    }

    .streaming-hero .hero-actions {
        margin-top: 1.05rem;
    }
}

@media (min-width: 941px) and (max-height: 700px) {
    .streaming-hero__grid {
        transform: translateY(34px);
    }
}

/* -------------------------------------------------------------------------- */
/* Intake modal: decorative refraction must never create phantom scroll space. */
/* -------------------------------------------------------------------------- */
.reading-drawer__panel .glass-shell {
    overflow: hidden;
    contain: paint;
}

.reading-drawer__panel {
    scrollbar-gutter: auto;
}

.reading-form {
    isolation: isolate;
}

@media (min-width: 721px) and (max-height: 720px) {
    .reading-drawer {
        padding-block: .45rem;
    }

    .reading-drawer__panel {
        max-height: calc(100dvh - .9rem);
    }

    .reading-form {
        padding: .95rem 1.25rem 1rem;
    }

    .reading-form__head h2 {
        margin-top: .22rem;
        font-size: clamp(1.42rem, 2.1vw, 1.85rem);
    }

    .reading-form__lead {
        margin: .35rem 0 .65rem;
        font-size: .75rem;
        line-height: 1.52;
    }

    .reading-form .field-grid {
        gap: .5rem .75rem;
    }

    .reading-form .field > label,
    .reading-form .field legend,
    .reading-form .field-heading {
        margin-bottom: .28rem;
        font-size: .72rem;
    }

    .reading-form .field-heading small {
        font-size: .65rem;
    }

    .reading-form .glass-control input,
    .reading-form .glass-control select {
        height: 42px;
    }

    .reading-form .segmented-field span {
        min-height: 40px;
    }

    .reading-form .start-button {
        min-height: 48px;
        margin-top: .72rem;
    }

    .reading-form .privacy-note {
        margin-top: .5rem;
        font-size: .66rem;
        line-height: 1.48;
    }
}

/* -------------------------------------------------------------------------- */
/* Seek line: 2px at rest and a smoothly animated 3px interaction state.       */
/* -------------------------------------------------------------------------- */
#playerControls #progressRange,
#playbackHoverRange {
    transition: background-size 190ms cubic-bezier(.2, .72, .2, 1), opacity 150ms ease;
    will-change: background-size;
}

#playerControls #progressRange {
    --v24-progress-height: var(--v30-progress-rest);
    background-size: 100% var(--v30-progress-rest);
}

#playerControls .progress-control:hover #progressRange,
#playerControls .progress-control.is-scrubbing #progressRange,
#playerControls .progress-control.is-v29-dragging #progressRange,
#playerControls .progress-control.is-v30-dragging #progressRange,
#playerControls #progressRange:focus-visible {
    --v24-progress-height: var(--v30-progress-active);
    background-size: 100% var(--v30-progress-active);
}

.playback-hover-progress #playbackHoverRange {
    background-size: 100% var(--v30-progress-rest);
}

.playback-hover-progress:hover #playbackHoverRange,
.playback-hover-progress.is-dragging #playbackHoverRange,
.playback-hover-progress.is-v29-dragging #playbackHoverRange,
.playback-hover-progress.is-v30-dragging #playbackHoverRange,
#playbackHoverRange:focus-visible {
    background-size: 100% var(--v30-progress-active);
}

/* -------------------------------------------------------------------------- */
/* High-contrast light theme. Cinematic media/player surfaces intentionally    */
/* stay dark; navigation, copy, forms and report surfaces use one paper system.*/
/* -------------------------------------------------------------------------- */
html[data-theme="light"],
body[data-theme="light"] {
    color-scheme: light;
    background: var(--v30-paper);
    color: var(--v30-ink);
}

body[data-theme="light"] {
    --bg: var(--v30-paper);
    --panel: var(--v30-paper-raised);
    --panel-2: var(--v30-paper-soft);
    --text: var(--v30-ink);
    --muted: var(--v30-ink-soft);
    --muted-2: var(--v30-ink-muted);
    --line: var(--v30-line);
    --gold: var(--v30-accent-soft);
    --gold-soft: var(--v30-accent-soft);
    --gold-pale: var(--v30-accent);
}

body[data-theme="light"] .app,
body[data-theme="light"] .intro,
body[data-theme="light"] .streaming-home,
body[data-theme="light"] .home-programs,
body[data-theme="light"] .empathy-stage,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .film-library-dialog,
body[data-theme="light"] .film-library,
body[data-theme="light"] .film-library__scroll,
body[data-theme="light"] .service-dialog,
body[data-theme="light"] .service-experience,
body[data-theme="light"] .service-intake,
body[data-theme="light"] .ending,
body[data-theme="light"] .ending__scroll,
body[data-theme="light"] .film-collection,
body[data-theme="light"] .fortune-report,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .ending-actions {
    background: var(--v30-paper);
    color: var(--v30-ink);
}

body[data-theme="light"] .pointer-light {
    display: none;
}

body[data-theme="light"] .intro__video {
    opacity: .22;
    filter: grayscale(.12) sepia(.18) saturate(.56) contrast(.88) brightness(1.3);
}

body[data-theme="light"] .intro__depth {
    background:
        radial-gradient(circle at 76% 34%, rgba(145, 94, 40, .1), transparent 34%),
        linear-gradient(90deg, rgba(248, 244, 236, .985) 0%, rgba(246, 241, 232, .93) 44%, rgba(246, 241, 232, .42) 72%, rgba(246, 241, 232, .76) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, .2), var(--v30-paper) 100%);
}

body[data-theme="light"] .streaming-hero__fade {
    background:
        linear-gradient(90deg, rgba(248, 244, 236, .96) 0%, rgba(248, 244, 236, .68) 45%, rgba(248, 244, 236, .06) 74%),
        linear-gradient(180deg, transparent 55%, var(--v30-paper) 100%);
}

body[data-theme="light"] .award-reflection {
    opacity: .08;
    mix-blend-mode: multiply;
}

body[data-theme="light"] .award-spotlights__beam {
    opacity: .08;
}

body[data-theme="light"] .film-grain {
    opacity: .02;
    mix-blend-mode: multiply;
}

body[data-theme="light"] .site-header--streaming,
body[data-theme="light"] .film-library__header,
body[data-theme="light"] .ending-nav {
    border-color: var(--v30-line);
    background: rgba(255, 253, 248, .94);
    color: var(--v30-ink);
    box-shadow: 0 12px 38px rgba(67, 45, 23, .08);
    backdrop-filter: blur(22px) saturate(1.05);
}

body[data-theme="light"] .brand__logo,
body[data-theme="light"] .film-library__logo,
body[data-theme="light"] .ending-nav__logo,
body[data-theme="light"] .ending-brandline__logo,
body[data-theme="light"] .home-footer__brand img {
    filter: drop-shadow(0 5px 14px rgba(96, 59, 25, .08));
    opacity: 1;
}

body[data-theme="light"] .home-nav button,
body[data-theme="light"] .header-search,
body[data-theme="light"] .header-collection,
body[data-theme="light"] .ending-nav__menu button,
body[data-theme="light"] .film-library__close,
body[data-theme="light"] .home-footer nav button {
    color: #3b332c;
}

body[data-theme="light"] .home-nav button[aria-current="page"],
body[data-theme="light"] .home-nav button:hover,
body[data-theme="light"] .home-nav button:focus-visible,
body[data-theme="light"] .header-search:hover,
body[data-theme="light"] .header-collection:hover,
body[data-theme="light"] .ending-nav__menu button:hover {
    color: #17130f;
}

body[data-theme="light"] .theme-toggle,
body[data-theme="light"] .header-search,
body[data-theme="light"] .film-library__close,
body[data-theme="light"] .reading-drawer__close,
body[data-theme="light"] .service-dialog__close {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: #2c251e;
    box-shadow: none;
}

body[data-theme="light"] .streaming-hero__content h1,
body[data-theme="light"] .streaming-hero__content h1 > span,
body[data-theme="light"] .streaming-hero__content h1.is-program-title > span,
body[data-theme="light"] .section-heading h2,
body[data-theme="light"] .section-heading h3,
body[data-theme="light"] .streaming-row__head h2,
body[data-theme="light"] .empathy-stage h2,
body[data-theme="light"] .film-library__hero h2,
body[data-theme="light"] .service-intake h2,
body[data-theme="light"] .service-intake h3,
body[data-theme="light"] .ending h2,
body[data-theme="light"] .ending h3,
body[data-theme="light"] .ending h4 {
    color: var(--v30-ink);
    text-shadow: none;
}

body[data-theme="light"] .streaming-hero__content h1 > em,
body[data-theme="light"] .streaming-hero__content h1.is-program-title > em,
body[data-theme="light"] .eyebrow,
body[data-theme="light"] .hero-metrics strong,
body[data-theme="light"] .service-intake__section-label,
body[data-theme="light"] .ending-focus small {
    color: var(--v30-accent);
    text-shadow: none;
}

body[data-theme="light"] .hero-copy__body,
body[data-theme="light"] .hero-metrics,
body[data-theme="light"] .section-heading > p,
body[data-theme="light"] .empathy-stage__intro > p,
body[data-theme="light"] .home-footer p,
body[data-theme="light"] .film-library__hero p,
body[data-theme="light"] .service-intake p,
body[data-theme="light"] .service-intake li,
body[data-theme="light"] .ending p,
body[data-theme="light"] .ending li {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .hero-metrics,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .streaming-row + .streaming-row,
body[data-theme="light"] .film-collection,
body[data-theme="light"] .fortune-report,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .ending-actions {
    border-color: var(--v30-line);
}

body[data-theme="light"] .streaming-action--primary,
body[data-theme="light"] .start-button,
body[data-theme="light"] .service-start-button {
    border-color: #2b2118;
    background: #2b2118;
    color: #fffaf2;
}

body[data-theme="light"] .streaming-action--primary:hover,
body[data-theme="light"] .start-button:hover,
body[data-theme="light"] .service-start-button:hover {
    background: var(--v30-accent);
}

body[data-theme="light"] .streaming-action--secondary {
    border: 1px solid var(--v30-line);
    background: #e5dccf;
    color: #231d17;
}



/* A video frame remains dark in either theme; its overlaid copy must stay white. */
body[data-theme="light"] .hero-scene__frame {
    border-color: rgba(75, 53, 30, .34);
    background: #08090c;
    box-shadow: 0 24px 64px rgba(53, 36, 20, .18);
}

body[data-theme="light"] .hero-scene__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .02) 30%, rgba(0, 0, 0, .82) 100%);
}

body[data-theme="light"] .hero-scene__copy strong,
body[data-theme="light"] .hero-scene__copy em {
    color: #fffaf2;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .72);
}

body[data-theme="light"] .hero-scene__copy small {
    color: #efc98d;
}

/* Home shelves: remove the retained dark gradient and preserve clear borders. */
body[data-theme="light"] .home-programs {
    background: linear-gradient(180deg, var(--v30-paper) 0%, #fbf8f2 48%, var(--v30-paper) 100%);
}

body[data-theme="light"] .streaming-row {
    color: var(--v30-ink);
}

body[data-theme="light"] .streaming-row + .streaming-row {
    border-top-color: var(--v30-line);
}

body[data-theme="light"] .streaming-row__head > button,
body[data-theme="light"] .home-shelf-filters button,
body[data-theme="light"] .home-footer nav button,
body[data-theme="light"] .open-full-library,
body[data-theme="light"] .ending-actions button {
    border-color: var(--v30-line);
    background: rgba(255, 253, 248, .82);
    color: #3d342c;
}

body[data-theme="light"] .streaming-row__head > button:hover,
body[data-theme="light"] .home-shelf-filters button:hover,
body[data-theme="light"] .home-shelf-filters button:focus-visible,
body[data-theme="light"] .home-shelf-filters button[aria-current="true"],
body[data-theme="light"] .home-footer nav button:hover,
body[data-theme="light"] .open-full-library:hover,
body[data-theme="light"] .ending-actions button:hover {
    border-color: rgba(123, 72, 30, .54);
    background: #eee2d2;
    color: #201811;
}

body[data-theme="light"] .streaming-row__nav {
    border-color: var(--v30-line);
    background: rgba(255, 253, 248, .92);
    color: #2d241c;
    box-shadow: 0 12px 32px rgba(67, 45, 23, .14);
}

body[data-theme="light"] .streaming-row__nav:hover {
    background: #fffdf8;
}

body[data-theme="light"] .streaming-card,
body[data-theme="light"] .poster-card,
body[data-theme="light"] .empathy-stage__grid button {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: var(--v30-ink);
    box-shadow: var(--v30-shadow);
}

body[data-theme="light"] .streaming-card__copy,
body[data-theme="light"] .poster-card__copy {
    border-color: rgba(69, 50, 31, .16);
    background: linear-gradient(180deg, rgba(255, 253, 248, .96), #eee5d9 100%);
}

body[data-theme="light"] .streaming-card__copy strong,
body[data-theme="light"] .poster-card__copy strong,
body[data-theme="light"] .empathy-stage__grid q,
body[data-theme="light"] .empathy-stage__grid strong {
    color: var(--v30-ink);
}

body[data-theme="light"] .streaming-card__copy span,
body[data-theme="light"] .streaming-card__copy small,
body[data-theme="light"] .poster-card__copy span,
body[data-theme="light"] .poster-card__copy small,
body[data-theme="light"] .empathy-stage__grid small {
    color: var(--v30-ink-muted);
}

body[data-theme="light"] .streaming-card__format,
body[data-theme="light"] .poster-card__badge {
    border-color: rgba(238, 205, 151, .42);
    background: rgba(23, 18, 13, .78);
    color: #f7d8a7;
}

body[data-theme="light"] .empathy-stage {
    background: linear-gradient(180deg, #fbf8f2, var(--v30-paper));
}

body[data-theme="light"] .home-footer {
    background: var(--v30-paper);
}

body[data-theme="light"] .home-footer__meta,
body[data-theme="light"] .home-footer__meta span,
body[data-theme="light"] .home-footer__meta p {
    color: #574c42;
}

/* Input modal in light mode. */
body[data-theme="light"] .reading-drawer__backdrop,
body[data-theme="light"] dialog::backdrop {
    background: rgba(47, 36, 25, .34);
    backdrop-filter: blur(10px);
}

body[data-theme="light"] .glass-shell,
body[data-theme="light"] .reading-drawer__panel {
    border-color: var(--v30-line-strong);
    background: var(--v30-paper-raised);
    color: var(--v30-ink);
    box-shadow: 0 34px 100px rgba(55, 37, 20, .24);
}

body[data-theme="light"] .glass-shell__backdrop,
body[data-theme="light"] .glass-shell__refraction {
    background: linear-gradient(145deg, rgba(255, 253, 248, .96), rgba(235, 225, 211, .9));
    opacity: .9;
}

body[data-theme="light"] .glass-shell__specular {
    opacity: .16;
}

body[data-theme="light"] .reading-form,
body[data-theme="light"] .reading-form__head h2,
body[data-theme="light"] .field > label,
body[data-theme="light"] .field legend,
body[data-theme="light"] .field-heading {
    color: var(--v30-ink);
}

body[data-theme="light"] .reading-form__lead,
body[data-theme="light"] .privacy-note,
body[data-theme="light"] .field-heading small {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .glass-control,
body[data-theme="light"] .segmented-field label span,
body[data-theme="light"] .service-form input,
body[data-theme="light"] .service-form select,
body[data-theme="light"] .service-form textarea {
    border-color: var(--v30-line);
    background: #fffdf8;
    color: var(--v30-ink);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
}

body[data-theme="light"] .glass-control input,
body[data-theme="light"] .glass-control select,
body[data-theme="light"] .service-form input,
body[data-theme="light"] .service-form select,
body[data-theme="light"] .service-form textarea {
    color: var(--v30-ink);
    color-scheme: light;
}

body[data-theme="light"] .glass-control option {
    background: #fffdf8;
    color: var(--v30-ink);
}

body[data-theme="light"] .segmented-field input:checked + span {
    border-color: rgba(123, 72, 30, .48);
    background: #ead9c3;
    color: #3a2514;
}

/* Program guide. */
body[data-theme="light"] .film-library-dialog,
body[data-theme="light"] .film-library,
body[data-theme="light"] .film-library__scroll {
    background: var(--v30-paper);
}

body[data-theme="light"] .film-library__hero {
    color: var(--v30-ink);
}

body[data-theme="light"] .library-filters {
    background: linear-gradient(180deg, var(--v30-paper) 76%, rgba(246, 241, 232, 0));
}

body[data-theme="light"] .library-search input,
body[data-theme="light"] .library-filters button {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: #332b24;
}

body[data-theme="light"] .library-search input::placeholder {
    color: #6d6257;
}

body[data-theme="light"] .library-filters button[aria-pressed="true"] {
    border-color: rgba(123, 72, 30, .52);
    background: #ead9c3;
    color: #3a2514;
}

body[data-theme="light"] .library-result-count {
    color: #62574c;
}

/* Service detail: media can remain cinematic, but content never becomes a dark island. */
body[data-theme="light"] .service-dialog,
body[data-theme="light"] .service-experience,
body[data-theme="light"] .service-intake {
    background: var(--v30-paper);
}

body[data-theme="light"] .service-intake__poster-wrap::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .04) 28%, rgba(246, 241, 232, .18) 68%, var(--v30-paper) 100%);
}

body[data-theme="light"] .service-intake__content {
    margin-top: 0;
    padding-top: clamp(1.8rem, 3.4vw, 3rem);
    background: var(--v30-paper);
    color: var(--v30-ink);
}

body[data-theme="light"] .service-intake__content > .eyebrow {
    padding-top: 0;
    text-shadow: none;
}

body[data-theme="light"] .service-intake__tagline,
body[data-theme="light"] .service-intake__meta,
body[data-theme="light"] .service-form > p {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .service-empathy,
body[data-theme="light"] .service-narrator,
body[data-theme="light"] .service-result-preview,
body[data-theme="light"] .service-assurance > div,
body[data-theme="light"] .service-story-outline li,
body[data-theme="light"] .service-form {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: var(--v30-ink);
    box-shadow: 0 14px 38px rgba(67, 45, 23, .07);
}

body[data-theme="light"] .service-empathy strong,
body[data-theme="light"] .service-narrator strong,
body[data-theme="light"] .service-result-preview strong,
body[data-theme="light"] .service-story-outline strong,
body[data-theme="light"] .service-assurance strong {
    color: var(--v30-ink);
}

body[data-theme="light"] .service-empathy span,
body[data-theme="light"] .service-narrator p,
body[data-theme="light"] .service-narrator small,
body[data-theme="light"] .service-result-preview li,
body[data-theme="light"] .service-story-outline li,
body[data-theme="light"] .service-assurance span {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .service-detail-actions button:first-child {
    background: #2b2118;
    color: #fffaf2;
}

body[data-theme="light"] .service-detail-actions button:last-child {
    border-color: var(--v30-line-strong);
    background: var(--v30-paper-raised);
    color: #33271d;
}

/* Premiere gate and ending report: force background shorthands, not only colors. */
body[data-theme="light"] #premiereGate .premiere-gate__dialog,
body[data-theme="light"] #premiereGate .premiere-gate__body,
body[data-theme="light"] #premiereGate .premiere-gate__header {
    background: var(--v30-paper);
    color: var(--v30-ink);
}

body[data-theme="light"] #premiereGate .premiere-gate__header {
    background: rgba(255, 253, 248, .97);
}

body[data-theme="light"] #premiereGate .premiere-runtime-map,
body[data-theme="light"] #premiereGate .premiere-preview__copy,
body[data-theme="light"] #premiereGate .premiere-recognition,
body[data-theme="light"] #premiereGate .premiere-diagnosis__grid article,
body[data-theme="light"] #premiereGate .premiere-question-preview__grid article,
body[data-theme="light"] #premiereGate .premiere-proof__metrics div,
body[data-theme="light"] #premiereGate .premiere-proof__reviews,
body[data-theme="light"] #premiereGate .premiere-strengths li,
body[data-theme="light"] #premiereGate .premiere-process__grid article,
body[data-theme="light"] #premiereGate .premiere-comparison__row,
body[data-theme="light"] #premiereGate .premiere-faq details,
body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li,
body[data-theme="light"] #premiereGate .report-chapter-card {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: var(--v30-ink);
    box-shadow: 0 14px 38px rgba(67, 45, 23, .07);
}

body[data-theme="light"] #premiereGate h2,
body[data-theme="light"] #premiereGate h3,
body[data-theme="light"] #premiereGate h4,
body[data-theme="light"] #premiereGate strong,
body[data-theme="light"] #premiereGate summary {
    color: var(--v30-ink);
}

body[data-theme="light"] #premiereGate p,
body[data-theme="light"] #premiereGate li,
body[data-theme="light"] #premiereGate blockquote,
body[data-theme="light"] #premiereGate small,
body[data-theme="light"] #premiereGate span:not(.eyebrow) {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .ending__veil {
    background: linear-gradient(180deg, rgba(246, 241, 232, .58), rgba(246, 241, 232, .96) 42%, var(--v30-paper) 88%);
}

body[data-theme="light"] .ending-focus,
body[data-theme="light"] .fortune-report__identity,
body[data-theme="light"] .fortune-report__selected,
body[data-theme="light"] .fortune-report__guidance,
body[data-theme="light"] .fortune-report__timeline li,
body[data-theme="light"] .fortune-report__grid article,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .report-chapter-card,
body[data-theme="light"] .fortune-report__chapters .report-chapter-card {
    border-color: var(--v30-line);
    background: var(--v30-paper-raised);
    color: var(--v30-ink);
    box-shadow: 0 16px 42px rgba(67, 45, 23, .08);
}

body[data-theme="light"] .report-chapter-card strong,
body[data-theme="light"] .report-chapter-card span:not(.report-chapter-card__number),
body[data-theme="light"] .fortune-report strong,
body[data-theme="light"] .fortune-report span,
body[data-theme="light"] .fortune-report p {
    color: var(--v30-ink-soft);
}

body[data-theme="light"] .report-chapter-card strong,
body[data-theme="light"] .fortune-report h3,
body[data-theme="light"] .fortune-report h4 {
    color: var(--v30-ink);
}

body[data-theme="light"] .report-chapter-card:hover strong,
body[data-theme="light"] .report-chapter-card:focus-visible strong,
body[data-theme="light"] .report-chapter-card.is-previewing strong,
body[data-theme="light"] .report-chapter-card:hover span,
body[data-theme="light"] .report-chapter-card:focus-visible span,
body[data-theme="light"] .report-chapter-card.is-previewing span {
    color: #fffaf2;
}

body[data-theme="light"] .ending-actions button,
body[data-theme="light"] .open-full-library {
    opacity: 1;
}

/* The film player and its overlays remain deliberately dark in both themes. */
body[data-theme="light"] #cinema,
body[data-theme="light"] #loadingScreen,
body[data-theme="light"] #cinema .current-cut,
body[data-theme="light"] #cinema .audio-subtitle-panel,
body[data-theme="light"] #cinema .focus-choice__panel,
body[data-theme="light"] #cinema .checkpoint__panel,
body[data-theme="light"] .service-trailer,
body[data-theme="light"] .service-paywall {
    color-scheme: dark;
}

@media (max-width: 940px) {
    .streaming-hero .hero-metrics {
        margin-top: 1.5rem;
    }

    .streaming-hero .hero-actions {
        margin-top: 1rem;
    }
}

@media (max-width: 720px) {
    body[data-theme="light"] .service-intake__content {
        margin-top: 0;
        background: var(--v30-paper);
    }
}

@media (prefers-reduced-motion: reduce) {
    #playerControls #progressRange,
    #playbackHoverRange,
    .streaming-hero__grid {
        transition: none;
    }
}

/*
 * LUMINA v31 — cinematic route dissolves, private intake hardening,
 * and a complete warm-light accessibility pass.
 * Loaded last so it can safely consolidate the accumulated override stack.
 */

:root {
    --v31-paper: #f7f2e9;
    --v31-paper-raised: #fffdf8;
    --v31-paper-soft: #eee5d8;
    --v31-paper-muted: #e3d7c8;
    --v31-ink: #191510;
    --v31-ink-soft: #443b32;
    --v31-ink-muted: #65594d;
    --v31-line: rgba(66, 48, 31, .2);
    --v31-line-strong: rgba(66, 48, 31, .34);
    --v31-gold: #8a5425;
    --v31-gold-strong: #6f3f17;
    --v31-shadow: 0 24px 70px rgba(58, 39, 21, .12);
    --v31-film-ease: cubic-bezier(.18, .7, .18, 1);
}

/* -------------------------------------------------------------------------- */
/* Cinematic route transitions                                                */
/* -------------------------------------------------------------------------- */
.intro {
    transition: opacity 2.15s var(--v31-film-ease), filter 2.35s var(--v31-film-ease);
}

.intro.is-leaving {
    filter: blur(16px) brightness(.3) saturate(.72);
}

.loading-screen {
    background: #020306;
    transition: opacity 2.05s var(--v31-film-ease), filter 2.2s var(--v31-film-ease), visibility 0s linear 2.2s;
}

.loading-screen.is-visible {
    visibility: visible;
    transition: opacity 2.05s var(--v31-film-ease), filter 2.2s var(--v31-film-ease), visibility 0s linear 0s;
}

.loading-screen.is-visible.is-leaving {
    visibility: visible;
}

.loading-screen__content,
.loading-screen__halo {
    transition: opacity 1.65s ease, transform 2.2s var(--v31-film-ease), filter 1.8s ease;
}

.loading-screen.is-visible.is-leaving {
    filter: blur(15px) brightness(.25);
}

#cinema .story-video,
#cinema .cinema__grade,
#cinema .cinema__vignette,
#cinema .film-caption {
    transition: opacity 2.15s var(--v31-film-ease), transform 2.8s var(--v31-film-ease), filter 2.25s ease;
}

#cinema.is-entering .story-video {
    opacity: 0;
    transform: scale(1.075);
    filter: blur(15px) brightness(.28) saturate(.66);
}

#cinema.is-feature-transition::after,
#cinema.is-ending-transition::after {
    content: "";
    position: absolute;
    z-index: 250;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 44%, rgba(214, 173, 112, .08), transparent 34%),
        rgba(0, 0, 0, .92);
    opacity: 0;
    backdrop-filter: blur(0);
    transition: opacity 1.35s var(--v31-film-ease), backdrop-filter 1.55s ease;
}

#cinema.is-feature-transition::after,
#cinema.is-ending-transition::after {
    opacity: 1;
    backdrop-filter: blur(10px);
}

#cinema.is-feature-transition .film-caption,
#cinema.is-feature-transition .player-chrome,
#cinema.is-feature-transition .player-center-transport,
#cinema.is-ending-transition .film-caption,
#cinema.is-ending-transition .player-chrome,
#cinema.is-ending-transition .player-center-transport {
    opacity: 0;
    pointer-events: none;
}

#cinema.is-feature-transition .story-video,
#cinema.is-ending-transition .story-video {
    transform: scale(1.055);
    filter: blur(13px) brightness(.32) saturate(.62);
}

.ending {
    transition: opacity 2.25s var(--v31-film-ease), filter 2.45s var(--v31-film-ease), transform 2.45s var(--v31-film-ease);
}

.ending.is-report-entering {
    opacity: 0;
    filter: blur(18px) brightness(.46);
    transform: scale(1.018);
}

.ending.is-report-entering.is-report-visible {
    opacity: 1;
    filter: blur(0) brightness(1);
    transform: scale(1);
}

/* -------------------------------------------------------------------------- */
/* Intake privacy and browser autofill                                         */
/* -------------------------------------------------------------------------- */
.reading-form input,
.reading-form select,
.service-form input,
.service-form select,
.service-form textarea {
    caret-color: currentColor;
}

.reading-form input:-webkit-autofill,
.reading-form input:-webkit-autofill:hover,
.reading-form input:-webkit-autofill:focus,
.service-form input:-webkit-autofill,
.service-form input:-webkit-autofill:hover,
.service-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: #f6f0e6;
    -webkit-box-shadow: 0 0 0 1000px #11151c inset;
    box-shadow: 0 0 0 1000px #11151c inset;
    transition: background-color 9999s ease-out 0s;
}

body[data-theme="light"] .reading-form input:-webkit-autofill,
body[data-theme="light"] .reading-form input:-webkit-autofill:hover,
body[data-theme="light"] .reading-form input:-webkit-autofill:focus,
body[data-theme="light"] .service-form input:-webkit-autofill,
body[data-theme="light"] .service-form input:-webkit-autofill:hover,
body[data-theme="light"] .service-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--v31-ink);
    -webkit-box-shadow: 0 0 0 1000px var(--v31-paper-raised) inset;
    box-shadow: 0 0 0 1000px var(--v31-paper-raised) inset;
}

body[data-theme="light"] .glass-control:focus-within,
body[data-theme="light"] .service-form input:focus,
body[data-theme="light"] .service-form select:focus,
body[data-theme="light"] .service-form textarea:focus {
    border-color: rgba(111, 63, 23, .62);
    background: var(--v31-paper-raised);
    box-shadow: 0 0 0 3px rgba(138, 84, 37, .16);
    outline: none;
}

/* -------------------------------------------------------------------------- */
/* The player and all cinematic overlays always use a controlled dark palette.*/
/* -------------------------------------------------------------------------- */
#cinema,
#loadingScreen,
body[data-theme="light"] #cinema,
body[data-theme="light"] #loadingScreen {
    color-scheme: dark;
    background: #000;
    color: #fff;
}

body[data-theme="light"] #loadingScreen .loading-screen__title,
body[data-theme="light"] #loadingScreen .loading-screen__title .v22-title-line,
body[data-theme="light"] #loadingScreen .loading-screen__content > p:last-child,
body[data-theme="light"] #loadingScreen .eyebrow {
    color: #f8f2e8;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .72);
}

body[data-theme="light"] #loadingScreen .eyebrow {
    color: #d9b273;
}

body[data-theme="light"] #loadingScreen .loading-screen__logo {
    opacity: 1;
    filter: drop-shadow(0 0 28px rgba(214, 173, 112, .28));
}

body[data-theme="light"] #cinema .film-caption,
body[data-theme="light"] #cinema .film-caption__text,
body[data-theme="light"] #cinema .film-caption__text * {
    color: #fffaf2;
    text-shadow: 0 3px 22px rgba(0, 0, 0, .96), 0 1px 3px rgba(0, 0, 0, 1);
}

body[data-theme="light"] #cinema .film-caption__meta,
body[data-theme="light"] #cinema .caption-keyword,
body[data-theme="light"] #cinema .player-title span,
body[data-theme="light"] #cinema .player-title em,
body[data-theme="light"] #cinema .eyebrow {
    color: #e5bc79;
}

body[data-theme="light"] #cinema .player-title strong,
body[data-theme="light"] #cinema .player-cut-context__side strong,
body[data-theme="light"] #cinema .player-cut-context__side small,
body[data-theme="light"] #cinema .player-menu-button,
body[data-theme="light"] #cinema .transport-button,
body[data-theme="light"] #cinema .time-readout,
body[data-theme="light"] #cinema .progress-time-labels,
body[data-theme="light"] #cinema .current-cut,
body[data-theme="light"] #cinema .audio-subtitle-panel,
body[data-theme="light"] #cinema .focus-choice__panel,
body[data-theme="light"] #cinema .checkpoint__panel {
    color: #fffaf2;
}

body[data-theme="light"] #cinema .current-cut,
body[data-theme="light"] #cinema .audio-subtitle-panel,
body[data-theme="light"] #cinema .focus-choice__panel,
body[data-theme="light"] #cinema .checkpoint__panel {
    border-color: rgba(236, 204, 151, .24);
    background: rgba(8, 11, 16, .96);
    box-shadow: 0 36px 110px rgba(0, 0, 0, .72);
}

body[data-theme="light"] #cinema .audio-subtitle-panel button,
body[data-theme="light"] #cinema .focus-choice__grid button,
body[data-theme="light"] #cinema .checkpoint__options button {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .055);
    color: #fffaf2;
}

body[data-theme="light"] #cinema .audio-subtitle-panel button[aria-checked="true"],
body[data-theme="light"] #cinema .focus-choice__grid button[aria-checked="true"],
body[data-theme="light"] #cinema .checkpoint__options button[aria-checked="true"] {
    border-color: rgba(226, 185, 119, .64);
    background: rgba(151, 99, 45, .24);
}

/* -------------------------------------------------------------------------- */
/* Warm light theme: coherent surfaces, spacing, borders and contrast.         */
/* -------------------------------------------------------------------------- */
html[data-theme="light"],
body[data-theme="light"] {
    background: var(--v31-paper);
    color: var(--v31-ink);
}

body[data-theme="light"] {
    --bg: var(--v31-paper);
    --panel: var(--v31-paper-raised);
    --panel-2: var(--v31-paper-soft);
    --text: var(--v31-ink);
    --muted: var(--v31-ink-soft);
    --muted-2: var(--v31-ink-muted);
    --line: var(--v31-line);
    --gold: var(--v31-gold);
    --gold-soft: #a56a31;
    --gold-pale: #7a461d;
}

body[data-theme="light"] .site-header--streaming,
body[data-theme="light"] .film-library__header,
body[data-theme="light"] .ending-nav {
    border-color: var(--v31-line);
    background: rgba(255, 253, 248, .965);
    box-shadow: 0 10px 36px rgba(66, 45, 24, .09);
}

body[data-theme="light"] [data-logo-light] {
    opacity: 1;
    filter: none;
}

body[data-theme="light"] .brand__logo,
body[data-theme="light"] .film-library__logo,
body[data-theme="light"] .ending-nav__logo,
body[data-theme="light"] .ending-brandline__logo,
body[data-theme="light"] .home-footer__brand img {
    min-height: 28px;
    filter: drop-shadow(0 4px 12px rgba(79, 47, 19, .1));
}

body[data-theme="light"] .home-nav button,
body[data-theme="light"] .header-collection,
body[data-theme="light"] .header-search,
body[data-theme="light"] .ending-nav__menu button {
    color: #332b23;
}

body[data-theme="light"] .home-nav button[aria-current="page"],
body[data-theme="light"] .home-nav button:hover,
body[data-theme="light"] .home-nav button:focus-visible {
    color: #130f0c;
}

body[data-theme="light"] .streaming-row__viewport {
    background: transparent;
    box-shadow: none;
}

body[data-theme="light"] .streaming-row__nav {
    top: 50%;
    bottom: auto;
    width: 42px;
    height: 64px;
    border: 1px solid rgba(66, 48, 31, .22);
    border-radius: 999px;
    background: rgba(255, 253, 248, .92);
    color: #2d251e;
    box-shadow: 0 10px 28px rgba(66, 45, 24, .16);
    opacity: .82;
    transform: translateY(-50%);
    backdrop-filter: blur(16px);
}

body[data-theme="light"] .streaming-row__nav--prev { left: 8px; }
body[data-theme="light"] .streaming-row__nav--next { right: 8px; }
body[data-theme="light"] .streaming-row__nav:hover,
body[data-theme="light"] .streaming-row__nav:focus-visible {
    background: #fffdf8;
    opacity: 1;
}

body[data-theme="light"] .streaming-card,
body[data-theme="light"] .poster-card,
body[data-theme="light"] .empathy-stage__grid button {
    border-color: var(--v31-line);
    background: var(--v31-paper-raised);
    box-shadow: 0 18px 48px rgba(60, 39, 19, .1);
}

body[data-theme="light"] .streaming-card__copy,
body[data-theme="light"] .poster-card__copy {
    border-color: var(--v31-line);
    background: rgba(255, 253, 248, .96);
}

body[data-theme="light"] .home-programs,
body[data-theme="light"] .empathy-stage,
body[data-theme="light"] .home-footer,
body[data-theme="light"] .film-library,
body[data-theme="light"] .film-library__scroll,
body[data-theme="light"] .service-experience,
body[data-theme="light"] .service-intake,
body[data-theme="light"] .ending,
body[data-theme="light"] .ending__scroll {
    background: var(--v31-paper);
}

/* Service detail spacing and clean paper/media separation. */
body[data-theme="light"] .service-dialog {
    border-color: var(--v31-line-strong);
    background: var(--v31-paper);
    box-shadow: 0 45px 130px rgba(51, 34, 18, .28);
}

body[data-theme="light"] .service-intake__content {
    box-sizing: border-box;
    margin-top: 0;
    padding: clamp(2rem, 4vw, 4.2rem) clamp(1.5rem, 4vw, 4.25rem) clamp(2.4rem, 4.6vw, 4.8rem);
    background: var(--v31-paper);
}

body[data-theme="light"] .service-intake__poster-wrap {
    background: #0b0d10;
}

body[data-theme="light"] .service-intake__poster-wrap::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .02) 30%, rgba(247, 242, 233, .22) 72%, var(--v31-paper) 100%);
}

body[data-theme="light"] .service-empathy,
body[data-theme="light"] .service-narrator,
body[data-theme="light"] .service-result-preview,
body[data-theme="light"] .service-story-outline li,
body[data-theme="light"] .service-assurance > div,
body[data-theme="light"] .service-form {
    border-color: var(--v31-line);
    background: var(--v31-paper-raised);
    color: var(--v31-ink);
    box-shadow: 0 12px 34px rgba(63, 42, 22, .07);
}

body[data-theme="light"] .service-intake__content h2,
body[data-theme="light"] .service-intake__content h3,
body[data-theme="light"] .service-intake__content strong,
body[data-theme="light"] .service-form label {
    color: var(--v31-ink);
}

body[data-theme="light"] .service-intake__content p,
body[data-theme="light"] .service-intake__content li,
body[data-theme="light"] .service-intake__content span,
body[data-theme="light"] .service-intake__content small {
    color: var(--v31-ink-soft);
}

/* Premiere gate: reset real scroll container and protect every edge. */
#premiereGate .premiere-gate__dialog {
    box-sizing: border-box;
}

#premiereGate .premiere-gate__body {
    box-sizing: border-box;
    padding: clamp(1.35rem, 2.8vw, 3rem);
    scroll-padding-block: clamp(1.35rem, 2.8vw, 3rem);
}

#premiereGate .premiere-gate__body > * {
    box-sizing: border-box;
    min-width: 0;
}

#premiereGate .premiere-gate__body > * + * {
    margin-top: clamp(1.5rem, 2.8vw, 3rem);
}

body[data-theme="light"] #premiereGate .premiere-gate__dialog,
body[data-theme="light"] #premiereGate .premiere-gate__header,
body[data-theme="light"] #premiereGate .premiere-gate__body {
    background: var(--v31-paper);
    color: var(--v31-ink);
}

body[data-theme="light"] #premiereGate .premiere-gate__header {
    border-color: var(--v31-line);
    background: rgba(255, 253, 248, .98);
}

body[data-theme="light"] #premiereGate .premiere-runtime-map,
body[data-theme="light"] #premiereGate .premiere-preview__copy,
body[data-theme="light"] #premiereGate .premiere-recognition,
body[data-theme="light"] #premiereGate .premiere-diagnosis__grid article,
body[data-theme="light"] #premiereGate .premiere-question-preview__grid article,
body[data-theme="light"] #premiereGate .premiere-proof__metrics div,
body[data-theme="light"] #premiereGate .premiere-proof__reviews,
body[data-theme="light"] #premiereGate .premiere-strengths li,
body[data-theme="light"] #premiereGate .premiere-process__grid article,
body[data-theme="light"] #premiereGate .premiere-comparison__row,
body[data-theme="light"] #premiereGate .premiere-faq details,
body[data-theme="light"] #premiereGate .premiere-locked-timeline > ol > li,
body[data-theme="light"] #premiereGate .premiere-access-map__grid article {
    border-color: var(--v31-line);
    background: var(--v31-paper-raised);
    color: var(--v31-ink);
    box-shadow: 0 12px 36px rgba(61, 40, 20, .07);
}

body[data-theme="light"] #premiereGate h2,
body[data-theme="light"] #premiereGate h3,
body[data-theme="light"] #premiereGate h4,
body[data-theme="light"] #premiereGate strong,
body[data-theme="light"] #premiereGate summary {
    color: var(--v31-ink);
}

body[data-theme="light"] #premiereGate p,
body[data-theme="light"] #premiereGate li,
body[data-theme="light"] #premiereGate blockquote,
body[data-theme="light"] #premiereGate small,
body[data-theme="light"] #premiereGate span:not(.eyebrow) {
    color: var(--v31-ink-soft);
}

/* Dark preview islands retain a cinematic palette and readable copy. */
body[data-theme="light"] #premiereGate .premiere-preview__visual,
body[data-theme="light"] #premiereGate .future-silhouette,
body[data-theme="light"] #premiereGate .premiere-locked-insight {
    border-color: rgba(99, 70, 40, .34);
    background: #090b0f;
    color: #fffaf2;
    box-shadow: 0 24px 60px rgba(43, 28, 15, .2);
}

body[data-theme="light"] #premiereGate .premiere-locked-insight .eyebrow,
body[data-theme="light"] #premiereGate .premiere-locked-insight b {
    color: #e0b673;
}

body[data-theme="light"] #premiereGate .premiere-locked-insight h4,
body[data-theme="light"] #premiereGate .premiere-locked-insight li,
body[data-theme="light"] #premiereGate .premiere-locked-insight li span,
body[data-theme="light"] #premiereGate .premiere-locked-insight small,
body[data-theme="light"] #premiereGate .future-silhouette span {
    color: rgba(255, 250, 242, .92);
}

body[data-theme="light"] #premiereGate .premiere-locked-insight__shade {
    background: linear-gradient(90deg, rgba(4, 5, 7, .92), rgba(4, 5, 7, .62) 62%, rgba(4, 5, 7, .82));
}

body[data-theme="light"] #premiereGate .locked-reading-card {
    border-color: rgba(89, 62, 35, .3);
    background: rgba(255, 253, 248, .96);
    color: var(--v31-ink);
    box-shadow: 0 18px 46px rgba(0, 0, 0, .18);
}

body[data-theme="light"] #premiereGate .locked-reading-card p,
body[data-theme="light"] #premiereGate .locked-reading-card li {
    color: #322a22;
}

/* Report chapter cards are paper at rest and cinematic only on preview. */
body[data-theme="light"] .report-chapter-card,
body[data-theme="light"] .fortune-report__chapters .report-chapter-card,
body[data-theme="light"] #premiereGate .report-chapter-card {
    border-color: var(--v31-line);
    background: linear-gradient(145deg, #fffdf8, #eee5d8);
    color: var(--v31-ink);
    box-shadow: 0 14px 34px rgba(61, 40, 20, .08);
}

body[data-theme="light"] .report-chapter-card::after,
body[data-theme="light"] #premiereGate .report-chapter-card::after {
    background:
        linear-gradient(180deg, rgba(255, 253, 248, .1), rgba(230, 217, 200, .42)),
        radial-gradient(circle at 82% 10%, rgba(138, 84, 37, .11), transparent 44%);
}

body[data-theme="light"] .report-chapter-card strong,
body[data-theme="light"] .report-chapter-card span:not(.report-chapter-card__number),
body[data-theme="light"] #premiereGate .report-chapter-card strong,
body[data-theme="light"] #premiereGate .report-chapter-card span:not(.report-chapter-card__number) {
    color: var(--v31-ink);
    text-shadow: none;
}

body[data-theme="light"] .report-chapter-card span:not(.report-chapter-card__number),
body[data-theme="light"] #premiereGate .report-chapter-card span:not(.report-chapter-card__number) {
    color: var(--v31-ink-soft);
}

body[data-theme="light"] .report-chapter-card:hover::after,
body[data-theme="light"] .report-chapter-card:focus-visible::after,
body[data-theme="light"] .report-chapter-card.is-previewing::after,
body[data-theme="light"] #premiereGate .report-chapter-card:hover::after,
body[data-theme="light"] #premiereGate .report-chapter-card:focus-visible::after,
body[data-theme="light"] #premiereGate .report-chapter-card.is-previewing::after {
    background: linear-gradient(180deg, rgba(4, 7, 11, .36), rgba(4, 7, 11, .9));
}

body[data-theme="light"] .report-chapter-card:hover strong,
body[data-theme="light"] .report-chapter-card:focus-visible strong,
body[data-theme="light"] .report-chapter-card.is-previewing strong,
body[data-theme="light"] .report-chapter-card:hover span,
body[data-theme="light"] .report-chapter-card:focus-visible span,
body[data-theme="light"] .report-chapter-card.is-previewing span,
body[data-theme="light"] #premiereGate .report-chapter-card:hover strong,
body[data-theme="light"] #premiereGate .report-chapter-card:focus-visible strong,
body[data-theme="light"] #premiereGate .report-chapter-card.is-previewing strong,
body[data-theme="light"] #premiereGate .report-chapter-card:hover span,
body[data-theme="light"] #premiereGate .report-chapter-card:focus-visible span,
body[data-theme="light"] #premiereGate .report-chapter-card.is-previewing span {
    color: #fffaf2;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .85);
}

/* Ending report uses paper sections with clear boundaries and breathing room. */
body[data-theme="light"] .ending__veil {
    background: linear-gradient(180deg, rgba(247, 242, 233, .4), rgba(247, 242, 233, .94) 34%, var(--v31-paper) 78%);
}

body[data-theme="light"] .ending-hero,
body[data-theme="light"] .fortune-report,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature,
body[data-theme="light"] .film-collection,
body[data-theme="light"] .ending-actions {
    box-sizing: border-box;
    border-color: var(--v31-line);
}

body[data-theme="light"] .fortune-report,
body[data-theme="light"] .director-cut,
body[data-theme="light"] .premium-feature {
    background: rgba(255, 253, 248, .9);
    box-shadow: var(--v31-shadow);
}

body[data-theme="light"] .fortune-report__grid article,
body[data-theme="light"] .fortune-report__selected,
body[data-theme="light"] .fortune-report__identity,
body[data-theme="light"] .fortune-report__guidance,
body[data-theme="light"] .fortune-report__timeline li {
    border-color: var(--v31-line);
    background: var(--v31-paper-raised);
    color: var(--v31-ink);
}

body[data-theme="light"] .ending h2,
body[data-theme="light"] .ending h3,
body[data-theme="light"] .ending h4,
body[data-theme="light"] .ending strong {
    color: var(--v31-ink);
}

body[data-theme="light"] .ending p,
body[data-theme="light"] .ending li,
body[data-theme="light"] .ending span {
    color: var(--v31-ink-soft);
}

/* Responsive light-mode breathing room. */
@media (max-width: 940px) {
    #premiereGate .premiere-gate__body {
        padding: 1rem;
    }

    #premiereGate .premiere-gate__body > * + * {
        margin-top: 1.35rem;
    }

    body[data-theme="light"] .service-intake__content {
        padding: 1.65rem 1.15rem 2rem;
    }
}

@media (max-width: 720px) {
    body[data-theme="light"] .streaming-row__nav {
        display: none;
    }

    #premiereGate .premiere-gate__body {
        padding: .85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .intro,
    .loading-screen,
    #cinema .story-video,
    #cinema .cinema__grade,
    #cinema .cinema__vignette,
    #cinema .film-caption,
    .ending,
    #cinema.is-feature-transition::after,
    #cinema.is-ending-transition::after {
        transition-duration: .01ms;
    }
}

/* Opening sequence, report chapters, saju detail, and final compact report guards. */
/* ========================================================================== *
 * LUMINA v33 final overrides
 * - Dark-only cinematic theme policy
 * - Playback hover-time preview
 * - 02:24 trailer / 16:01 feature metadata hooks
 * ========================================================================== */

:root {
    --v33-player-ink: #f7f3ea;
    --v33-player-muted: rgba(247, 243, 234, .68);
    --v33-player-gold: #d6ad70;
}

/* Global white mode is retired. Bright paper is a local content treatment, not
   an application theme. Keeping this selector also protects cached markup. */
[data-theme-toggle] {
    display: none;
}

html[data-theme="dark"],
body[data-theme="dark"] {
    color-scheme: dark;
}

/* During active playback the thin timeline reveals the hovered time without
   changing the current playback position until the user clicks or drags. */
.playback-hover-progress.is-previewing #playbackHoverTime,
.playback-hover-progress.is-dragging #playbackHoverTime,
#playbackHoverRange:focus-visible + #playbackHoverTime {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

#playbackHoverTime {
    z-index: 3;
    color: var(--v33-player-ink);
    background: rgba(3, 5, 8, .94);
    border-color: rgba(214, 173, 112, .34);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .42);
    transition: opacity 120ms ease, transform 120ms ease, left 60ms linear;
}

#playbackHoverRange {
    touch-action: none;
}

.playback-hover-progress.is-previewing #playbackHoverRange,
.playback-hover-progress.is-dragging #playbackHoverRange {
    background-size: 100% 3px;
}

/* The cinematic canvas remains dark in every context, including browser
   history restores that may briefly retain an old light-theme attribute. */
#cinema,
#loadingScreen,
#focusChoice,
#premiereGate {
    color-scheme: dark;
}

@media (prefers-reduced-motion: reduce) {
    #playbackHoverTime,
    #playbackHoverRange {
        transition-duration: 1ms;
    }
}

/*
 * LUMINA v34 — 16:01 first light feature
 * - Two-step private intake with optional question
 * - 13 report chapters + 3-act / 3-minute climax
 * - Data-driven report cards with blurred video previews
 * - Cinematic cold-to-warm climax direction
 */

:root {
    --v34-gold: #d8ae70;
    --v34-gold-bright: #f1ce91;
    --v34-panel: rgba(10, 13, 18, .96);
    --v34-line: rgba(225, 188, 130, .22);
    --v34-copy: rgba(248, 244, 235, .92);
    --v34-muted: rgba(248, 244, 235, .64);
}

/* -------------------------------------------------------------------------- */
/* Two-step intake                                                            */
/* -------------------------------------------------------------------------- */
.reading-form__screen[hidden] {
    display: none;
}

.reading-form__screen {
    width: 100%;
    min-width: 0;
}

.reading-form__step {
    flex: 0 0 auto;
    color: rgba(229, 191, 132, .72);
    font-family: var(--serif);
    font-size: .65rem;
    letter-spacing: .14em;
    white-space: nowrap;
}

.reading-question-step {
    min-height: min(520px, calc(100dvh - 4rem));
}

.reading-question-field {
    display: grid;
    gap: .65rem;
    margin-top: 1.35rem;
}

.reading-question-field > span,
.reading-question-examples > span {
    color: rgba(255, 255, 255, .8);
    font-size: .76rem;
    font-weight: 650;
}

.reading-question-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 138px;
    resize: vertical;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    outline: none;
    background: rgba(255, 255, 255, .045);
    color: #f7f2e8;
    font: 500 .88rem/1.72 var(--sans);
    transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.reading-question-field textarea:focus {
    border-color: rgba(224, 183, 118, .62);
    background: rgba(255, 255, 255, .065);
    box-shadow: 0 0 0 3px rgba(209, 160, 91, .12);
}

.reading-question-field small,
.reading-question-examples li {
    color: rgba(255, 255, 255, .48);
    font-size: .7rem;
    line-height: 1.65;
}

.reading-question-examples {
    margin-top: 1rem;
    padding: .95rem 1rem;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 13px;
    background: rgba(255, 255, 255, .027);
}

.reading-question-examples ul {
    display: grid;
    gap: .35rem;
    margin: .55rem 0 0;
    padding-left: 1.1rem;
}

.reading-question-actions {
    display: grid;
    grid-template-columns: auto auto minmax(220px, 1fr);
    gap: .65rem;
    align-items: stretch;
    margin-top: 1.1rem;
}

.reading-question-actions > button {
    min-height: 52px;
    margin: 0;
}

.reading-question-back,
.reading-question-skip {
    padding: 0 1rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .78);
    font-size: .76rem;
    font-weight: 650;
}

.reading-question-back:hover,
.reading-question-skip:hover,
.reading-question-back:focus-visible,
.reading-question-skip:focus-visible {
    border-color: rgba(224, 183, 118, .46);
    background: rgba(224, 183, 118, .1);
    color: #fff;
}

/* -------------------------------------------------------------------------- */
/* 13 report chapters: one component in paywall and AFTER CREDITS             */
/* -------------------------------------------------------------------------- */
#premiereGate .report-chapter-grid,
.fortune-report__chapters .report-chapter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.8rem, 1.3vw, 1.15rem);
}

.report-chapter-card {
    display: flex;
    flex-direction: column;
    min-height: clamp(250px, 22vw, 340px);
    padding: clamp(1.1rem, 1.65vw, 1.55rem);
}

.report-chapter-card strong {
    color: rgba(255, 255, 255, .96);
    font-size: clamp(1.04rem, 1.26vw, 1.34rem);
    line-height: 1.4;
}

.report-chapter-card .report-chapter-card__summary {
    margin-top: .55rem;
    color: rgba(255, 255, 255, .67);
    font-size: clamp(.74rem, .82vw, .86rem);
    line-height: 1.72;
}

.report-chapter-card__sections {
    display: grid;
    gap: .38rem;
    margin: .9rem 0 0;
    padding: .82rem 0 0 1.05rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .76);
    font-size: clamp(.71rem, .78vw, .82rem);
    line-height: 1.55;
}

.report-chapter-card__sections li::marker {
    color: var(--v34-gold);
}

.report-chapter-card__answer-state {
    display: block;
    margin-top: auto;
    padding-top: .8rem;
    color: var(--v34-gold-bright);
    font-size: .68rem;
    line-height: 1.55;
}

.report-chapter-card:hover .report-chapter-card__sections,
.report-chapter-card:focus-visible .report-chapter-card__sections,
.report-chapter-card.is-previewing .report-chapter-card__sections,
.report-chapter-card:hover .report-chapter-card__summary,
.report-chapter-card:focus-visible .report-chapter-card__summary,
.report-chapter-card.is-previewing .report-chapter-card__summary {
    color: rgba(255, 255, 255, .9);
}

.report-chapter-card .report-chapter-video {
    filter: blur(12px) brightness(.42) saturate(.72);
}

.report-chapter-card:hover .report-chapter-video,
.report-chapter-card:focus-visible .report-chapter-video,
.report-chapter-card.is-previewing .report-chapter-video {
    opacity: .86;
}

/* -------------------------------------------------------------------------- */
/* 3-act climax: cold false self → fracture → warm declaration                */
/* -------------------------------------------------------------------------- */
#cinema[data-scene-mood="climax-cold"] .story-video {
    filter: grayscale(.72) saturate(.46) contrast(1.08) brightness(.55) hue-rotate(176deg);
}

#cinema[data-scene-mood="climax-cold"] .cinema__grade {
    background: linear-gradient(180deg, rgba(17, 26, 37, .28), rgba(0, 0, 0, .62));
}

#cinema[data-scene-mood="climax-fracture"] .story-video {
    filter: grayscale(.44) saturate(.7) contrast(1.22) brightness(.48) hue-rotate(185deg);
}

#cinema[data-scene-mood="climax-fracture"] .cinema__grade {
    background:
        linear-gradient(100deg, rgba(24, 42, 63, .36), transparent 46%, rgba(92, 30, 24, .22)),
        linear-gradient(180deg, transparent 32%, rgba(0, 0, 0, .72));
}

#cinema[data-scene-mood="climax-warm"] .story-video {
    filter: saturate(1.16) contrast(1.06) brightness(.83) sepia(.12);
}

#cinema[data-scene-mood="climax-warm"] .cinema__grade {
    background:
        radial-gradient(circle at 50% 38%, rgba(244, 195, 119, .2), transparent 35%),
        linear-gradient(180deg, rgba(59, 31, 10, .06), rgba(0, 0, 0, .4));
}

#cinema[data-scene-kind="climax"] .film-caption__meta {
    color: #f0c987;
    font-size: clamp(.72rem, 1vw, .92rem);
}

#cinema[data-scene-kind="climax"] .film-caption__text {
    width: min(100%, 1180px);
    margin-inline: auto;
    font-size: clamp(1.5rem, 3vw, 3.15rem);
    line-height: 1.48;
}

/* -------------------------------------------------------------------------- */
/* Small and low-height screens                                               */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
    .reading-question-actions {
        grid-template-columns: 1fr 1fr;
    }

    .reading-question-actions .start-button {
        grid-column: 1 / -1;
    }

    #premiereGate .report-chapter-grid,
    .fortune-report__chapters .report-chapter-grid {
        grid-template-columns: 1fr;
    }

    .report-chapter-card {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .reading-form__head {
        align-items: flex-start;
        gap: .6rem;
    }

    .reading-form__step {
        font-size: .57rem;
    }

    .reading-question-field textarea {
        min-height: 118px;
    }

    .reading-question-actions {
        grid-template-columns: 1fr;
    }

    .reading-question-actions .start-button {
        grid-column: auto;
    }

    .report-chapter-card__sections {
        font-size: .72rem;
    }
}

@media (min-width: 721px) and (max-height: 720px) {
    .reading-question-step {
        min-height: 0;
    }

    .reading-question-field {
        margin-top: .55rem;
    }

    .reading-question-field textarea {
        min-height: 88px;
    }

    .reading-question-examples {
        margin-top: .55rem;
        padding: .55rem .75rem;
    }

    .reading-question-examples ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .7rem;
        padding-left: 0;
        list-style: none;
    }

    .reading-question-actions {
        margin-top: .65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .report-chapter-card,
    .report-chapter-video,
    #cinema .story-video,
    #cinema .cinema__grade {
        transition-duration: 1ms;
    }
}

/* Mobile paywall tables must reflow instead of creating an internal 660px canvas. */
@media (max-width: 720px) {
    #premiereGate .premiere-section-heading,
    #premiereGate .premiere-section-heading > div,
    #premiereGate .v22-title-lockup,
    #premiereGate .v22-title-line,
    #premiereGate .premiere-process,
    #premiereGate .premiere-comparison,
    #premiereGate .premiere-comparison__table {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    #premiereGate .premiere-comparison__table {
        overflow: hidden;
    }

    #premiereGate .premiere-comparison__row {
        grid-template-columns: 1fr;
        min-width: 0;
        width: 100%;
    }

    #premiereGate .premiere-comparison__row > * {
        width: 100%;
        padding: .75rem .8rem;
    }

    #premiereGate .premiere-comparison__row > * + * {
        border-top: 1px solid rgba(255, 255, 255, .08);
        border-left: 0;
    }
}
@media (max-width: 420px) {
    #premiereGate .report-contents,
    #premiereGate .report-contents > header,
    #premiereGate #reportContentsTitle {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }
}

/* LUMINA v36 · 13-report detail cuts and second-level subtitle titles */

.report-contents__lead {
    max-width: 76ch;
    margin: .8rem 0 1.25rem;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.84rem, .92vw, .98rem);
    line-height: 1.75;
}

.report-chapter-card__runtime {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 1.7rem;
    margin: .15rem 0 .7rem;
    padding: .28rem .58rem;
    border: 1px solid rgba(224, 183, 118, .28);
    border-radius: 999px;
    background: rgba(224, 183, 118, .08);
    color: rgba(244, 216, 166, .92);
    font-family: var(--sans);
    font-size: .64rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    white-space: nowrap;
}

#premiereGate .report-chapter-card {
    min-height: 0;
    height: auto;
}

#premiereGate .report-chapter-card__summary,
#premiereGate .report-chapter-card__sections {
    opacity: 1;
    visibility: visible;
}

#premiereGate .report-chapter-card__sections {
    flex: 1 1 auto;
}

#premiereGate .report-chapter-card strong,
.fortune-report__chapters .report-chapter-card strong {
    text-wrap: balance;
    overflow-wrap: anywhere;
}

#cinema[data-segment-id] .player-title > strong,
#cinema[data-segment-id] .film-caption__meta,
#cinema[data-segment-id] .current-cut__head h2 {
    text-wrap: balance;
}

#cinema .player-title > strong {
    width: min(58vw, 920px);
    max-width: 100%;
    font-size: clamp(1.08rem, 1.75vw, 1.72rem);
    line-height: 1.28;
}

#cinema .film-caption__meta {
    font-size: clamp(.68rem, .76vw, .82rem);
    letter-spacing: .12em;
}

@media (max-width: 760px) {
    #premiereGate .report-chapter-grid,
    .fortune-report__chapters .report-chapter-grid {
        grid-template-columns: 1fr;
    }

    .report-chapter-card {
        min-height: 0;
    }

    #cinema .player-title > strong {
        width: min(70vw, 520px);
        font-size: clamp(.96rem, 4vw, 1.2rem);
    }
}

/*
 * LUMINA v37 — paused player top navigation stabilization
 *
 * The v36 cut subtitle width used viewport units inside a constrained grid
 * column. Long cut names therefore escaped the current column and overlapped
 * the NEXT CUT area. This final override keeps every rail cell shrinkable and
 * clamps all labels to their authored column at every supported viewport.
 */

#cinema #playerTop {
    box-sizing: border-box;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: start;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

#cinema #playerTop > * {
    min-width: 0;
}

#cinema #playerTop .player-cut-context {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(.7rem, 2vw, 2rem);
    justify-self: center;
    width: min(100%, 1080px);
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

#cinema #playerTop .player-cut-context > * {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

#cinema #playerTop .player-title {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    justify-items: stretch;
    text-align: center;
}

#cinema #playerTop .player-title > span,
#cinema #playerTop .player-title > strong,
#cinema #playerTop .player-title > em {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cinema #playerTop .player-title > strong {
    font-size: clamp(1rem, 1.38vw, 1.42rem);
    line-height: 1.22;
    text-wrap: nowrap;
}

#cinema #playerTop .player-title > em {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25rem;
}

#cinema #playerTop .player-title > em > * {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cinema #playerTop .player-cut-context__side {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

#cinema #playerTop .player-cut-context__side small,
#cinema #playerTop .player-cut-context__side strong {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cinema #playerTop .player-cut-context__side--previous small,
#cinema #playerTop .player-cut-context__side--previous strong {
    text-align: right;
}

#cinema #playerTop .player-cut-context__side--next small,
#cinema #playerTop .player-cut-context__side--next strong {
    text-align: left;
}

@media (max-width: 820px) {
    #cinema #playerTop .player-cut-context {
        grid-template-columns: minmax(0, .86fr) minmax(0, 1.48fr) minmax(0, .86fr);
        gap: clamp(.35rem, 1.5vw, .7rem);
    }

    #cinema #playerTop .player-cut-context__side strong {
        font-size: clamp(.56rem, 1.7vw, .68rem);
    }

    #cinema #playerTop .player-title > strong {
        font-size: clamp(.9rem, 2.8vw, 1.16rem);
    }
}

@media (max-width: 520px) {
    #cinema #playerTop {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        gap: .35rem;
        padding-inline: max(.55rem, env(safe-area-inset-left)) max(.55rem, env(safe-area-inset-right));
    }

    #cinema #playerTop .player-cut-context {
        grid-template-columns: minmax(0, .72fr) minmax(0, 1.62fr) minmax(0, .72fr);
        gap: .3rem;
    }

    #cinema #playerTop .player-cut-context__side small {
        display: none;
    }

    #cinema #playerTop .player-cut-context__side strong {
        font-size: .56rem;
        line-height: 1.3;
    }

    #cinema #playerTop .player-title > strong {
        font-size: clamp(.86rem, 3.8vw, 1rem);
    }
}

@media (max-height: 700px) and (min-width: 521px) {
    #cinema #playerTop {
        padding-top: max(.72rem, env(safe-area-inset-top));
        padding-bottom: 3.5rem;
    }

    #cinema #playerTop .player-title > em {
        display: none;
    }
}

/*
 * LUMINA v38 — AFTER CREDITS 13-category detailed saju report
 * - report-grade tables, bars and section cards
 * - optional-question action cleanup
 */

.reading-question-actions.reading-question-actions--two-buttons,
.reading-question-actions:not(:has(#readingQuestionSkip)) {
    grid-template-columns: minmax(150px, .52fr) minmax(240px, 1fr);
    align-items: stretch;
}

.reading-question-actions--two-buttons > button,
.reading-question-actions:not(:has(#readingQuestionSkip)) > button {
    min-height: 56px;
    height: 100%;
}

.reading-question-actions--two-buttons .reading-question-back,
.reading-question-actions:not(:has(#readingQuestionSkip)) .reading-question-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.saju-detail-report {
    position: relative;
    z-index: 1;
    margin-top: clamp(1.4rem, 4vw, 3rem);
    padding-top: clamp(1.2rem, 3vw, 2.2rem);
    border-top: 1px solid rgba(224, 183, 118, .18);
}

.saju-detail-report__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-bottom: clamp(1rem, 2.4vw, 1.8rem);
}

.saju-detail-report__header h4 {
    margin: .35rem 0 .65rem;
    font-family: var(--serif-ko);
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 400;
    line-height: 1.18;
    letter-spacing: -.045em;
    color: rgba(255,255,255,.96);
    word-break: keep-all;
}

.saju-detail-report__header p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: clamp(.94rem, 1vw, 1.06rem);
    line-height: 1.8;
    word-break: keep-all;
}

.saju-detail-report__header > span {
    padding: .55rem .8rem;
    border: 1px solid rgba(224,183,118,.24);
    border-radius: 999px;
    color: var(--gold);
    background: rgba(224,183,118,.07);
    font-family: var(--serif);
    font-size: .66rem;
    letter-spacing: .14em;
    white-space: nowrap;
}

.saju-detail-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.saju-detail-nav a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    min-height: 52px;
    padding: .72rem .75rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    color: rgba(255,255,255,.82);
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.32;
    text-decoration: none;
    word-break: keep-all;
}

.saju-detail-nav a:hover,
.saju-detail-nav a:focus-visible {
    border-color: rgba(224,183,118,.36);
    background: rgba(224,183,118,.08);
    color: #fff;
}

.saju-detail-nav a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--gold);
    background: rgba(224,183,118,.09);
    font-family: var(--serif);
    font-size: .7rem;
}

.saju-detail-report__chapters {
    display: grid;
    gap: clamp(1rem, 2vw, 1.45rem);
}

.saju-detail-chapter {
    position: relative;
    overflow: hidden;
    padding: clamp(1.1rem, 2.2vw, 2rem);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 24px;
    background:
        radial-gradient(circle at 94% 0%, rgba(224,183,118,.11), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
    box-shadow: 0 26px 70px rgba(0,0,0,.24);
}

.saju-detail-chapter::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(224,183,118,.14), transparent 22%, transparent 78%, rgba(224,183,118,.04));
    opacity: .45;
}

.saju-detail-chapter > * {
    position: relative;
    z-index: 1;
}

.saju-detail-chapter__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.saju-detail-chapter__head span,
.saju-detail-chapter__head small {
    display: block;
    color: var(--gold);
    font-family: var(--serif);
    font-size: .62rem;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.saju-detail-chapter__head h5 {
    margin: .35rem 0 .35rem;
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2.2vw, 2.12rem);
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: 1.22;
    color: rgba(255,255,255,.96);
    word-break: keep-all;
}

.saju-detail-chapter__head p {
    margin: 0;
    color: rgba(255,255,255,.52);
    font-size: .86rem;
    line-height: 1.55;
}

.saju-detail-chapter__summary {
    margin: 1rem 0 .85rem;
    padding: .9rem 1rem;
    border-left: 3px solid rgba(224,183,118,.58);
    border-radius: 0 14px 14px 0;
    background: rgba(224,183,118,.06);
    color: rgba(255,255,255,.85);
    font-size: clamp(.96rem, 1vw, 1.08rem);
    line-height: 1.82;
    word-break: keep-all;
}

.saju-detail-chapter__body {
    max-width: 1040px;
    margin: .72rem 0 0;
    color: rgba(255,255,255,.73);
    font-size: clamp(.96rem, 1vw, 1.05rem);
    line-height: 1.92;
    word-break: keep-all;
}

.saju-table-wrap {
    overflow-x: auto;
    margin-top: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(5,7,11,.34);
}

.saju-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: .9rem;
    line-height: 1.58;
}

.saju-table th,
.saju-table td {
    padding: .8rem .85rem;
    border-bottom: 1px solid rgba(255,255,255,.075);
    text-align: left;
    vertical-align: top;
    word-break: keep-all;
}

.saju-table thead th {
    color: var(--gold);
    background: rgba(224,183,118,.07);
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.saju-table tbody th {
    width: 18%;
    color: rgba(255,255,255,.9);
    font-weight: 700;
}

.saju-table tbody td {
    color: rgba(255,255,255,.73);
}

.saju-table tr:last-child th,
.saju-table tr:last-child td {
    border-bottom: 0;
}

.saju-bars {
    display: grid;
    gap: .7rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(224,183,118,.14);
    border-radius: 18px;
    background: rgba(224,183,118,.035);
}

.saju-bars__row {
    display: grid;
    grid-template-columns: minmax(112px, .34fr) minmax(120px, 1fr) minmax(70px, .3fr);
    gap: .8rem;
    align-items: center;
}

.saju-bars__row span,
.saju-bars__row strong {
    color: rgba(255,255,255,.76);
    font-size: .82rem;
    line-height: 1.45;
    word-break: keep-all;
}

.saju-bars__row i {
    position: relative;
    display: block;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

.saju-bars__row i b {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--bar-value);
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(224,183,118,.44), rgba(255,236,188,.88));
}

.saju-subsections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.saju-subsections article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.028);
}

.saju-subsections h6 {
    margin: 0 0 .55rem;
    color: rgba(255,255,255,.92);
    font-family: var(--serif-ko);
    font-size: 1.02rem;
    font-weight: 400;
    line-height: 1.4;
    word-break: keep-all;
}

.saju-subsections p {
    margin: .5rem 0 0;
    color: rgba(255,255,255,.68);
    font-size: .9rem;
    line-height: 1.78;
    word-break: keep-all;
}

.saju-detail-list {
    display: grid;
    gap: .48rem;
    margin: .72rem 0 0;
    padding: 0;
    list-style: none;
}

.saju-detail-list li {
    position: relative;
    padding-left: 1rem;
    color: rgba(255,255,255,.7);
    font-size: .88rem;
    line-height: 1.68;
    word-break: keep-all;
}

.saju-detail-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .68em;
    width: .35rem;
    height: .35rem;
    border-radius: 50%;
    background: var(--gold);
    opacity: .8;
}

.saju-detail-list li strong {
    display: block;
    margin-bottom: .15rem;
    color: rgba(255,255,255,.88);
}

.saju-detail-list li span {
    display: block;
}

@media (max-width: 1180px) {
    .saju-detail-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .reading-question-actions.reading-question-actions--two-buttons,
    .reading-question-actions:not(:has(#readingQuestionSkip)) {
        grid-template-columns: 1fr;
    }

    .saju-detail-report__header,
    .saju-detail-chapter__head {
        grid-template-columns: 1fr;
    }

    .saju-detail-report__header > span,
    .saju-detail-chapter__head small {
        justify-self: start;
    }

    .saju-detail-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .saju-subsections {
        grid-template-columns: 1fr;
    }

    .saju-bars__row {
        grid-template-columns: minmax(96px, .45fr) minmax(110px, 1fr);
    }

    .saju-bars__row strong {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .saju-detail-report__header h4 {
        font-size: clamp(1.45rem, 8vw, 2rem);
    }

    .saju-detail-nav {
        grid-template-columns: 1fr;
    }

    .saju-detail-chapter {
        border-radius: 18px;
    }

    .saju-table {
        min-width: 520px;
        font-size: .84rem;
    }
}

/*
 * LUMINA v39 — opening cinematic interaction and paywall/report polish
 * - first-screen sequence ending in profile input
 * - aligned optional-question action buttons
 * - early-bird offer countdown layout
 * - compact paywall report cards and visual report radar
 */

body.is-opening-active {
    overflow: hidden;
}

.opening-cinematic {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
    overflow: hidden;
    color: rgba(255, 250, 239, .95);
    background: #020305;
    isolation: isolate;
}

.opening-cinematic[hidden] {
    display: none;
}

.opening-cinematic.is-leaving {
    pointer-events: none;
    animation: openingLeave .76s cubic-bezier(.22, .61, .36, 1) forwards;
}

.opening-cinematic__video,
.opening-cinematic__veil,
.opening-cinematic__path {
    position: absolute;
    inset: 0;
    z-index: -3;
}

.opening-cinematic__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) brightness(.34) saturate(.8);
    transform: scale(1.08);
    opacity: .72;
}

.opening-cinematic__veil {
    z-index: -2;
    background:
        radial-gradient(circle at 50% 43%, rgba(214, 162, 89, .18), transparent 18%),
        radial-gradient(circle at 22% 80%, rgba(214, 162, 89, .1), transparent 24%),
        linear-gradient(90deg, rgba(0,0,0,.9), rgba(4,6,9,.5) 48%, rgba(0,0,0,.92)),
        linear-gradient(180deg, rgba(0,0,0,.65), transparent 42%, rgba(0,0,0,.76));
}

.opening-cinematic__path {
    z-index: -1;
    opacity: .86;
    pointer-events: none;
}

.opening-cinematic__path::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(62vmin, 560px);
    height: min(62vmin, 560px);
    border: 1px solid rgba(220, 177, 109, .16);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: inset 0 0 70px rgba(220, 177, 109, .08), 0 0 90px rgba(220, 177, 109, .05);
}

.opening-cinematic__path i,
.opening-cinematic__path b,
.opening-cinematic__path span {
    position: absolute;
    display: block;
    left: 50%;
    top: 50%;
    pointer-events: none;
}

.opening-cinematic__path i {
    width: min(21vmin, 190px);
    height: min(42vmin, 370px);
    border: solid rgba(226, 184, 112, .72);
    border-width: 0 0 0 3px;
    border-radius: 54% 38% 48% 42%;
    transform: translate(-50%, -47%) rotate(26deg) skewY(-12deg);
    filter: drop-shadow(0 0 22px rgba(224,183,118,.24));
    animation: openingPath 4.8s ease-in-out infinite alternate;
}

.opening-cinematic__path b {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e5b873;
    transform: translate(calc(-50% - 68px), calc(-50% + 138px));
    box-shadow: 0 0 22px rgba(229,184,115,.74);
}

.opening-cinematic__path span {
    width: 14px;
    height: 14px;
    transform: translate(calc(-50% + 58px), calc(-50% - 132px));
    background: radial-gradient(circle, #fff7d4 0 16%, transparent 18%),
        conic-gradient(from 0deg, transparent 0 10%, rgba(255,226,152,.96) 10% 14%, transparent 14% 35%, rgba(255,226,152,.96) 35% 39%, transparent 39% 60%, rgba(255,226,152,.96) 60% 64%, transparent 64% 85%, rgba(255,226,152,.96) 85% 89%, transparent 89% 100%);
    filter: drop-shadow(0 0 26px rgba(255,226,152,.7));
}

.opening-cinematic__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 5vw, 4.5rem);
}

.opening-cinematic__top img {
    width: clamp(128px, 12vw, 190px);
    height: auto;
}

.opening-cinematic__top button,
.opening-cinematic__controls button {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.72);
    cursor: pointer;
    transition: border-color .22s ease, color .22s ease, background .22s ease, transform .22s ease;
}

.opening-cinematic__top button {
    min-height: 38px;
    padding: 0 .95rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
}

.opening-cinematic__top button:hover,
.opening-cinematic__controls button:hover,
.opening-cinematic__top button:focus-visible,
.opening-cinematic__controls button:focus-visible {
    border-color: rgba(224,183,118,.56);
    color: #fff;
    background: rgba(224,183,118,.1);
}

.opening-cinematic__stage {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center;
    min-height: 0;
    padding: clamp(.8rem, 3vw, 2rem) clamp(1rem, 6vw, 5rem);
}

.opening-cinematic__panel {
    grid-area: 1 / 1;
    width: min(860px, 100%);
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(22px) scale(.985);
    transition: opacity .6s ease, transform .6s ease, visibility .6s ease;
}

.opening-cinematic__panel.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.opening-cinematic__panel h2 {
    display: grid;
    gap: .12em;
    margin: .35rem 0 1rem;
    font-family: var(--serif-ko);
    font-size: clamp(2.2rem, 6vw, 6.6rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.07em;
    word-break: keep-all;
}

.opening-cinematic__panel h2 span {
    display: block;
    white-space: normal;
}

.opening-cinematic__panel p:not(.eyebrow) {
    max-width: 66ch;
    margin: 0 auto;
    color: rgba(255,255,255,.68);
    font-size: clamp(.96rem, 1.2vw, 1.18rem);
    line-height: 1.85;
    word-break: keep-all;
}

.opening-cinematic__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    padding: 0 clamp(1rem, 5vw, 4rem) clamp(1.1rem, 4vw, 2.4rem);
}

.opening-cinematic__controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 1.9rem;
    line-height: 1;
}

.opening-cinematic__dots {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .6rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    background: rgba(0,0,0,.24);
}

.opening-cinematic__dots button {
    width: 34px;
    height: 4px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.18);
    font-size: 0;
}

.opening-cinematic__dots button.is-active {
    background: linear-gradient(90deg, #a8793f, #e3b56d);
}

.opening-form-card {
    width: min(780px, 100%);
    margin: 0 auto;
    padding: clamp(1rem, 2.8vw, 2rem);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0, rgba(224,183,118,.14), transparent 36%),
        linear-gradient(145deg, rgba(15,18,24,.92), rgba(4,6,9,.86));
    box-shadow: 0 32px 110px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
    text-align: left;
    backdrop-filter: blur(20px);
}

.opening-form-card__head {
    display: grid;
    gap: .35rem;
    margin-bottom: 1.1rem;
}

.opening-form-card h2 {
    display: grid;
    gap: .02em;
    margin: 0;
    font-size: clamp(1.85rem, 4vw, 3.7rem);
    line-height: 1.02;
    text-align: left;
}

.opening-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.opening-form-grid label,
.opening-form-grid fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.opening-form-grid label span,
.opening-form-grid legend {
    display: block;
    margin: 0 0 .35rem;
    color: rgba(255,255,255,.7);
    font-size: .76rem;
    font-weight: 700;
}

.opening-form-grid input,
.opening-form-grid select {
    width: 100%;
    min-height: 48px;
    padding: 0 .95rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    color: #fff;
    font: 700 .95rem/1.2 var(--sans);
    color-scheme: dark;
}

.opening-form-grid fieldset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}

.opening-form-grid fieldset legend {
    grid-column: 1 / -1;
}

.opening-form-grid fieldset label {
    position: relative;
}

.opening-form-grid fieldset input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.opening-form-grid fieldset span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 0;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.72);
}

.opening-form-grid fieldset input:checked + span {
    border-color: rgba(224,183,118,.58);
    background: rgba(224,183,118,.14);
    color: #fff1cf;
}

.opening-form-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 54px;
    margin-top: 1rem;
    padding: 0 1.05rem 0 1.15rem;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(120deg, #c79854, #e7bb75);
    color: #17100a;
    font-weight: 850;
    cursor: pointer;
}

.opening-form-submit i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 50%;
}

.opening-form-card form > p {
    margin: .75rem 0 0;
    color: rgba(255,255,255,.46);
    font-size: .75rem;
    line-height: 1.5;
}

@keyframes openingPath {
    from { transform: translate(-50%, -47%) rotate(23deg) skewY(-12deg); opacity: .58; }
    to { transform: translate(-50%, -49%) rotate(30deg) skewY(-10deg); opacity: .96; }
}

@keyframes openingLeave {
    to { opacity: 0; filter: blur(12px); transform: scale(1.015); }
}

/* Optional question buttons: same baseline, lower height */
.reading-question-actions,
.reading-question-actions.reading-question-actions--two-buttons,
.reading-question-actions:not(:has(#readingQuestionSkip)) {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.32fr);
    gap: .72rem;
    align-items: stretch;
    margin-top: 1rem;
}

.reading-question-actions > button,
.reading-question-actions .start-button,
.reading-question-actions .reading-question-back {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    min-height: 50px;
    margin: 0;
    padding: 0 1rem;
    border-radius: 15px;
    font-size: .92rem;
    line-height: 1;
}

.reading-question-actions .start-button {
    justify-content: space-between;
}

/* Payment page: clearer benefit information and less repetitive chapter cards */
.premiere-benefit-strip {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.55rem);
    border: 1px solid rgba(224,183,118,.18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 0 0, rgba(224,183,118,.12), transparent 34%),
        rgba(255,255,255,.028);
}

.premiere-benefit-strip header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.premiere-benefit-strip h3 {
    margin: .2rem 0 0;
    color: rgba(255,255,255,.96);
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2vw, 2.1rem);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.045em;
}

.premiere-benefit-strip > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.premiere-benefit-strip article {
    min-width: 0;
    padding: .95rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
}

.premiere-benefit-strip strong {
    display: block;
    color: #fff;
    font-size: .98rem;
    line-height: 1.35;
}

.premiere-benefit-strip span {
    display: block;
    margin-top: .42rem;
    color: rgba(255,255,255,.62);
    font-size: .83rem;
    line-height: 1.62;
    word-break: keep-all;
}

#premiereGate .report-contents__lead {
    max-width: 86ch;
    font-size: .92rem;
}

#premiereGate .report-chapter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .82rem;
}

#premiereGate .report-chapter-card {
    min-height: 176px;
    padding: 1rem;
    border-radius: 18px;
}

#premiereGate .report-chapter-card strong {
    font-size: clamp(.98rem, 1vw, 1.16rem);
    line-height: 1.32;
}

#premiereGate .report-chapter-card__summary {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .78rem;
    line-height: 1.55;
}

#premiereGate .report-chapter-card__sections {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: .62rem;
    padding-top: .6rem;
    padding-left: .95rem;
    font-size: .72rem;
    line-height: 1.45;
}

#premiereGate .report-chapter-card:hover .report-chapter-card__sections,
#premiereGate .report-chapter-card:focus-visible .report-chapter-card__sections,
#premiereGate .report-chapter-card.is-previewing .report-chapter-card__sections {
    -webkit-line-clamp: 5;
}

.premiere-quick-offer b,
.premiere-offer__copy time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    min-height: 28px;
    padding: 0 .55rem;
    border: 1px solid rgba(224,183,118,.42);
    border-radius: 999px;
    background: rgba(224,183,118,.12);
    color: #ffd996;
    font-family: var(--serif);
    font-weight: 700;
    letter-spacing: .08em;
}

.premiere-offer__copy time {
    margin-top: .72rem;
    width: max-content;
    font-size: 1rem;
}

/* AFTER CREDITS visual explanation */
.saju-radar-panel {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1fr);
    gap: clamp(1rem, 2.2vw, 2rem);
    align-items: center;
    margin: 0 0 clamp(1.2rem, 3vw, 2rem);
    padding: clamp(1rem, 2.4vw, 1.8rem);
    border: 1px solid rgba(224,183,118,.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 18% 18%, rgba(224,183,118,.12), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.046), rgba(255,255,255,.018));
}

.saju-radar-panel svg {
    width: min(100%, 360px);
    height: auto;
    justify-self: center;
    overflow: visible;
}

.saju-radar-panel__grid {
    fill: none;
    stroke: rgba(255,255,255,.14);
    stroke-width: 1;
}

.saju-radar-panel__shape {
    fill: rgba(224,183,118,.28);
    stroke: rgba(255,217,150,.9);
    stroke-width: 2;
    filter: drop-shadow(0 12px 28px rgba(224,183,118,.16));
}

.saju-radar-panel__label {
    fill: rgba(255,255,255,.78);
    font: 700 12px var(--sans);
}

.saju-radar-panel h5 {
    margin: 0 0 .5rem;
    color: rgba(255,255,255,.96);
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2.2vw, 2.25rem);
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: 1.25;
}

.saju-radar-panel p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(.94rem, 1vw, 1.05rem);
    line-height: 1.85;
    word-break: keep-all;
}

.saju-radar-panel ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .52rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.saju-radar-panel li {
    padding: .65rem .72rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    color: rgba(255,255,255,.68);
    background: rgba(255,255,255,.03);
    font-size: .82rem;
    line-height: 1.5;
}

.saju-radar-panel li strong {
    color: var(--gold);
}

@media (max-width: 1180px) {
    .premiere-benefit-strip > div,
    #premiereGate .report-chapter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .opening-cinematic__top {
        padding: 1rem;
    }

    .opening-cinematic__stage {
        align-items: start;
        padding-top: clamp(1rem, 8vh, 3rem);
    }

    .opening-cinematic__panel h2 {
        font-size: clamp(2rem, 10vw, 4.2rem);
        line-height: 1.06;
    }

    .opening-form-card {
        border-radius: 22px;
    }

    .opening-form-grid {
        grid-template-columns: 1fr;
        gap: .66rem;
    }

    .opening-form-grid input,
    .opening-form-grid select,
    .opening-form-grid fieldset span {
        min-height: 44px;
    }

    .reading-question-actions,
    .reading-question-actions.reading-question-actions--two-buttons,
    .reading-question-actions:not(:has(#readingQuestionSkip)) {
        grid-template-columns: 1fr;
    }

    .premiere-benefit-strip > div,
    #premiereGate .report-chapter-grid {
        grid-template-columns: 1fr;
    }

    .saju-radar-panel {
        grid-template-columns: 1fr;
    }

    .saju-radar-panel ul {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 680px) and (min-width: 821px) {
    .opening-cinematic__top {
        padding-block: .8rem;
    }

    .opening-cinematic__panel h2 {
        font-size: clamp(2rem, 4.8vw, 4.5rem);
    }

    .opening-form-card {
        padding: 1rem;
    }

    .opening-form-grid input,
    .opening-form-grid select,
    .opening-form-grid fieldset span {
        min-height: 42px;
    }

    .opening-form-submit {
        min-height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .opening-cinematic__panel,
    .opening-cinematic__path i,
    .opening-cinematic.is-leaving {
        animation: none;
        transition-duration: .01ms;
    }
}

/* LUMINA v40 — first-time opening sequence and 16 report structure */
html.skip-opening .opening-cinematic {
    display: none;
}

.opening-cinematic {
    cursor: pointer;
}

.opening-cinematic .opening-form-card,
.opening-cinematic button,
.opening-cinematic input,
.opening-cinematic select,
.opening-cinematic label,
.opening-cinematic fieldset {
    cursor: auto;
}

.opening-cinematic__video {
    transition: opacity .52s ease, filter .52s ease, transform 1.2s ease;
}

.opening-cinematic.has-user-stepped .opening-cinematic__video {
    transform: scale(1.045);
}

.opening-cinematic__panel .eyebrow {
    color: rgba(224, 183, 118, .95);
}

.opening-cinematic__panel p:not(.eyebrow) {
    text-shadow: 0 2px 16px rgba(0,0,0,.72);
}

.opening-cinematic__panel h2 {
    max-width: 11.8em;
    margin-inline: auto;
}

.opening-cinematic__panel h2 span {
    white-space: nowrap;
}

.opening-cinematic__panel--form h2 span {
    white-space: normal;
}

.opening-cinematic__controls {
    pointer-events: none;
}

.opening-cinematic__controls button,
.opening-cinematic__dots {
    pointer-events: auto;
}

.opening-cinematic__dots {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.opening-cinematic__dots button {
    width: .55rem;
    height: .55rem;
    min-width: .55rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(224,183,118,.42);
    background: rgba(255,255,255,.06);
}

.opening-cinematic__dots button.is-active {
    width: 1.75rem;
    background: linear-gradient(90deg, rgba(224,183,118,.9), rgba(255,236,186,.82));
    border-color: rgba(255,236,186,.82);
}

.opening-cinematic__path::after {
    content: '16 REPORT PIECES · HUMAN → JOURNEY → GUIDANCE → ANSWER';
    position: absolute;
    left: 50%;
    bottom: clamp(4.5rem, 9vh, 7.2rem);
    transform: translateX(-50%);
    width: max-content;
    max-width: calc(100vw - 2rem);
    color: rgba(224,183,118,.58);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .22em;
    text-align: center;
}

.report-chapter-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.report-chapter-card {
    min-height: clamp(132px, 17vw, 190px);
}

.report-chapter-card__sections {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .45rem;
    margin-top: .7rem;
}

.report-chapter-card__sections li {
    width: auto;
    padding: .24rem .5rem;
    border: 1px solid rgba(220, 177, 109, .18);
    border-radius: 999px;
    color: rgba(255,255,255,.66);
    font-size: clamp(.68rem, .72vw, .76rem);
    line-height: 1.35;
}

.report-contents__grid .report-chapter-card strong,
.fortune-report__chapters .report-chapter-card strong {
    font-size: clamp(.98rem, 1.15vw, 1.22rem);
    line-height: 1.38;
    word-break: keep-all;
}

.report-chapter-card__summary {
    font-size: clamp(.78rem, .82vw, .88rem);
    line-height: 1.55;
    color: rgba(255,255,255,.7);
}

.premiere-benefit-strip article strong::after {
    content: '';
    display: block;
    width: 2.4rem;
    height: 1px;
    margin-top: .75rem;
    background: rgba(220,177,109,.5);
}

.saju-detail-nav {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
}

.saju-detail-chapter__head h5 {
    word-break: keep-all;
}

@media (max-width: 720px) {
    .opening-cinematic__panel h2 span {
        white-space: normal;
    }
    .opening-cinematic__path::after {
        bottom: 5.8rem;
        font-size: .58rem;
        letter-spacing: .12em;
    }
    .opening-cinematic__panel h2 {
        font-size: clamp(2rem, 11vw, 3.9rem);
    }
    .report-chapter-card {
        min-height: 132px;
    }
}

/* LUMINA v43 — opening stability hotfix */
body.is-opening-active #loadingScreen {
    display: none;
    opacity: 0;
    pointer-events: none;
}
#openingCinematic:not([hidden]) {
    display: grid;
}
#openingCinematic {
    z-index: 12000;
}

/* LUMINA v44 — first-opening visibility and loading guard */
#loadingScreen[hidden],
.loading-screen[hidden] {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

#openingCinematic[hidden] {
    display: none;
}
#loadingScreen.v44-force-hidden,
body.is-opening-active #loadingScreen {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
body.is-opening-active {
    overflow: hidden;
}

#loadingScreen.v44-force-hidden,
.loading-screen.v44-force-hidden {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

/* LUMINA v45 · cosmic storyboard and opening sequence refinements */
.opening-cinematic .opening-cinematic__video {
    transition: filter .7s ease, opacity .7s ease, transform 1.4s ease;
}
.opening-cinematic__panel .eyebrow {
    color: rgba(229, 186, 111, .92);
}
.opening-cinematic__panel h2 span {
    text-wrap: balance;
}
.opening-cinematic__panel p:not(.eyebrow) {
    max-width: 60ch;
}
.opening-cinematic__panel.is-active {
    animation-duration: 920ms;
}
.opening-form-card__head small {
    display: block;
    color: rgba(245, 239, 226, .72);
    line-height: 1.75;
}
[data-scene-id="report-origin"],
[data-mood="cosmic-origin"] {
    --scene-accent: #d7a75c;
}
.cosmic-storyboard-note {
    border: 1px solid rgba(215, 167, 92, .25);
    border-radius: 24px;
    padding: clamp(18px, 3vw, 32px);
    background: linear-gradient(135deg, rgba(6, 10, 16, .86), rgba(16, 21, 32, .72));
    color: #f8f2e8;
}
.cosmic-storyboard-note img {
    width: 100%;
    height: auto;
    border-radius: 18px;
    border: 1px solid rgba(215, 167, 92, .28);
}
@media (max-width: 720px) {
    .opening-cinematic__panel p:not(.eyebrow) {
        max-width: 42ch;
    }
}

/* LUMINA v46 · opening playback, compact paywall reports, 13+3 structure */
.opening-cinematic[data-opening-controller="v46-ready"] .opening-cinematic__video,
.opening-cinematic[data-opening-controller="v46"] .opening-cinematic__video {
    opacity: .9;
    filter: brightness(.52) contrast(1.08) saturate(1.1);
    transform: scale(1.018);
    transition: opacity .55s ease, filter .55s ease, transform 1.4s ease;
}
.opening-cinematic[data-opening-controller="v46-ready"].is-playing-step .opening-cinematic__video {
    opacity: 1;
    filter: brightness(.96) contrast(1.06) saturate(1.16);
    transform: scale(1.01);
}
.opening-cinematic[data-opening-controller="v46-ready"].is-playing-step .opening-cinematic__panel.is-active {
    opacity: 0;
    visibility: hidden;
    transform: translateY(0) scale(1);
    pointer-events: none;
}
.opening-cinematic[data-opening-controller="v46-ready"].is-caption-ready .opening-cinematic__panel.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.opening-cinematic[data-opening-controller="v46-ready"] .opening-cinematic__panel {
    transition: opacity .72s ease, visibility .72s ease;
}
.opening-cinematic[data-opening-controller="v46-ready"] .opening-cinematic__veil {
    background:
        radial-gradient(circle at 50% 43%, rgba(214, 162, 89, .14), transparent 18%),
        radial-gradient(circle at 22% 80%, rgba(214, 162, 89, .08), transparent 24%),
        linear-gradient(90deg, rgba(0,0,0,.72), rgba(4,6,9,.32) 48%, rgba(0,0,0,.74)),
        linear-gradient(180deg, rgba(0,0,0,.52), transparent 42%, rgba(0,0,0,.66));
}
.opening-cinematic[data-opening-controller="v46-ready"].is-playing-step .opening-cinematic__veil {
    background:
        radial-gradient(circle at 50% 43%, rgba(214, 162, 89, .08), transparent 18%),
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(4,6,9,.06) 48%, rgba(0,0,0,.2)),
        linear-gradient(180deg, rgba(0,0,0,.14), transparent 48%, rgba(0,0,0,.2));
}
.opening-cinematic[data-opening-controller="v46-ready"]::after {
    content: none;
    display: none;
    pointer-events: none;
}

#premiereGate .report-contents {
    padding-block: clamp(1.6rem, 3vw, 2.8rem);
}
#premiereGate .report-contents > header {
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}
#premiereGate .report-contents__lead {
    max-width: 74rem;
    margin-bottom: clamp(1rem, 2vw, 1.4rem);
}
#premiereGate .report-contents__grid.report-chapter-grid,
#reportChapterGrid.is-v46-compact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    align-items: stretch;
}
#premiereGate .report-chapter-card,
#reportChapterGrid.is-v46-compact .report-chapter-card {
    min-height: 112px;
    padding: .95rem 1rem;
    border-radius: 18px;
    overflow: hidden;
}
#premiereGate .report-chapter-card__runtime,
#reportChapterGrid.is-v46-compact .report-chapter-card__runtime {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin: .2rem 0 .45rem;
    padding: .2rem .45rem;
    border-radius: 999px;
    font-size: .68rem;
    line-height: 1.2;
    white-space: nowrap;
}
#premiereGate .report-chapter-card strong,
#reportChapterGrid.is-v46-compact .report-chapter-card strong {
    display: block;
    margin-bottom: .35rem;
    font-size: clamp(.9rem, .95vw, 1.05rem);
    line-height: 1.32;
}
#premiereGate .report-chapter-card__summary,
#reportChapterGrid.is-v46-compact .report-chapter-card__summary {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .74rem;
    line-height: 1.45;
}
#premiereGate .report-chapter-card__sections,
#reportChapterGrid.is-v46-compact .report-chapter-card__sections {
    display: flex;
    flex-wrap: nowrap;
    gap: .32rem;
    margin-top: .55rem;
    overflow: hidden;
}
#premiereGate .report-chapter-card__sections li,
#reportChapterGrid.is-v46-compact .report-chapter-card__sections li {
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: .2rem .48rem;
    font-size: .66rem;
}
.premiere-benefit-strip article strong,
.premiere-benefit-strip article span {
    word-break: keep-all;
}
.saju-detail-report__header h4#endingDetailedReportTitle {
    word-break: keep-all;
}

@media (max-width: 1180px) {
    #premiereGate .report-contents__grid.report-chapter-grid,
    #reportChapterGrid.is-v46-compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 780px) {
    #premiereGate .report-contents__grid.report-chapter-grid,
    #reportChapterGrid.is-v46-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .opening-cinematic[data-opening-controller="v46-ready"]::after {
        display: none;
    }
}
@media (max-width: 520px) {
    #premiereGate .report-contents__grid.report-chapter-grid,
    #reportChapterGrid.is-v46-compact {
        grid-template-columns: 1fr;
    }
}

/* Base tokens, document defaults, accessibility helpers, and ambient light primitives. */
:root {
    --bg: #05070b;
    --bg-soft: #0a0e15;
    --ink: #f7f2e8;
    --muted: rgba(239, 235, 226, .62);
    --muted-2: rgba(239, 235, 226, .42);
    --gold: #d6ad70;
    --gold-soft: #efd7aa;
    --gold-pale: #fff0d2;
    --gold-deep: #8d6435;
    --line: rgba(227, 190, 132, .24);
    --glass: rgba(11, 15, 22, .52);
    --glass-strong: rgba(9, 12, 18, .76);
    --serif: "Cormorant Garamond", "Noto Serif KR", Georgia, serif;
    --serif-ko: "Noto Serif KR", "Batang", serif;
    --sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ease-film: cubic-bezier(.19, 1, .22, 1);
    --caption-size: clamp(1.45rem, 2vw, 2.2rem);
    --pointer-x: -500px;
    --pointer-y: -500px;
    color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: var(--sans); font-synthesis: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
img, video { display: block; max-width: 100%; }
[hidden] { display: none !important; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 99999; left: 1rem; top: 1rem; padding: .75rem 1rem; background: #fff; color: #000; transform: translateY(-180%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0; color: var(--gold-soft); font-family: var(--serif); font-size: .72rem; font-weight: 400; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; }

/* Global soft light — round, diffuse and screen blended */
.pointer-light {
    position: fixed;
    z-index: 9998;
    left: 0;
    top: 0;
    width: 360px;
    height: 360px;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-400px, -400px, 0);
    transition: opacity .45s ease;
    mix-blend-mode: screen;
    filter: blur(22px) saturate(108%);
    will-change: transform;
}
.pointer-light.is-visible { opacity: .28; }
.pointer-light i,
.pointer-light b,
.pointer-light span { position: absolute; inset: 0; border-radius: 50%; }
.pointer-light i { background: radial-gradient(circle at 50% 50%, rgba(255,249,235,.28) 0 3%, rgba(236,209,167,.16) 14%, rgba(184,203,222,.085) 34%, rgba(255,255,255,0) 72%); }
.pointer-light b { inset: 13%; background: radial-gradient(circle at 50% 50%, rgba(255,232,193,.17), rgba(255,255,255,.04) 38%, transparent 73%); filter: blur(30px); }
.pointer-light span { inset: 32%; background: rgba(255,250,238,.08); filter: blur(42px); }
body.is-cursor-idle, body.is-cursor-idle * { cursor: none !important; }
body.is-cursor-idle .pointer-light { opacity: 0; }

.app { min-height: 100vh; background: var(--bg); }
.film-grain { position: absolute; inset: -50%; z-index: 5; pointer-events: none; opacity: .08; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); animation: grain .23s steps(2) infinite; }
@keyframes grain { 0% { transform: translate3d(-2%,1%,0); } 25% { transform: translate3d(2%,-1%,0); } 50% { transform: translate3d(1%,2%,0); } 75% { transform: translate3d(-1%,-2%,0); } 100% { transform: translate3d(0,0,0); } }

/* Entry hero, glass intake, fields, segmented controls, and primary start flow. */

/* Intro hero and primary entry layout. */
/* Intro */
.intro { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; background: #06080c; }
.intro__video { position: absolute; z-index: -8; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .58; filter: blur(24px) brightness(.25) saturate(.42) contrast(.9); transform: scale(1.095); }
.intro__depth { position: absolute; z-index: -6; inset: 0; background: radial-gradient(circle at 73% 35%, rgba(214,173,112,.052), transparent 30%), linear-gradient(90deg, rgba(2,4,7,.97) 0%, rgba(5,7,10,.84) 48%, rgba(3,5,9,.92) 100%), linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.76)); }
.award-spotlights { position: absolute; z-index: -4; inset: 0; overflow: hidden; pointer-events: none; }
.award-spotlights__beam { position: absolute; top: -22%; width: 23vw; height: 118%; transform-origin: 50% 0; opacity: .18; filter: blur(20px); background: linear-gradient(180deg, rgba(255,244,217,.4), rgba(226,179,104,.09) 56%, transparent 91%); clip-path: polygon(43% 0, 57% 0, 100% 100%, 0 100%); }
.award-spotlights__beam--left { left: 8%; transform: rotate(17deg); }
.award-spotlights__beam--right { right: 11%; transform: rotate(-17deg); }
.award-spotlights__beam--center { left: 51%; width: 14vw; opacity: .09; transform: translateX(-50%); }
.award-spotlights__flare { position: absolute; left: 50%; bottom: -18%; width: 72vw; height: 42vh; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(ellipse, rgba(217,171,104,.16), transparent 66%); filter: blur(28px); }
.award-reflection { position: absolute; z-index: -3; inset: auto 0 0; height: 34%; background: linear-gradient(180deg, transparent, rgba(181,127,61,.045)); }
.intro > .film-grain { opacity: .025; }
.site-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; width: min(100% - 7vw, 1500px); margin: 0 auto; padding: 2.3rem 0; }
.brand, .film-library__brand, .ending-nav__brand { display: inline-flex; align-items: center; gap: .85rem; padding: 0; background: transparent; text-align: left; }
.brand__mark { width: 38px; filter: drop-shadow(0 0 16px rgba(214,173,112,.18)); }
.brand__lockup, .film-library__brand span, .ending-nav__brand span { display: grid; gap: .04rem; }
.brand__lockup strong, .film-library__brand strong, .ending-nav__brand strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 300; letter-spacing: .34em; }
.brand__lockup small, .film-library__brand small, .ending-nav__brand small { color: var(--gold); font-family: var(--serif); font-size: .55rem; letter-spacing: .17em; }
.header-collection { padding: .7rem 0 .7rem 1.2rem; background: transparent; color: rgba(255,255,255,.72); font-family: var(--serif); font-size: .76rem; letter-spacing: .16em; border-left: 1px solid var(--line); transition: color .25s; }
.header-collection span { display: inline-grid; place-items: center; min-width: 1.85rem; height: 1.85rem; margin-left: .7rem; border: 1px solid rgba(214,173,112,.3); border-radius: 50%; color: var(--gold-soft); }
.header-collection:hover { color: #fff; }
.intro__layout { position: relative; z-index: 10; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(450px, .75fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; width: min(100% - 7vw, 1500px); min-height: calc(100svh - 145px); margin: 0 auto; padding: 2rem 0 5.5rem; }
.hero-copy { max-width: 760px; padding-bottom: 3vh; }
.hero-copy h1 { margin: 1.1rem 0 1.5rem; font-family: var(--serif-ko); font-size: clamp(2.9rem, 5vw, 6rem); font-weight: 200; letter-spacing: -.055em; line-height: 1.22; text-wrap: balance; }
.hero-copy h1 em { color: var(--gold-pale); font-family: var(--serif-ko); font-weight: 200; font-style: normal; text-shadow: 0 0 34px rgba(214,173,112,.14); }
.hero-copy__body { max-width: 640px; margin: 0; color: rgba(255,255,255,.67); font-family: var(--serif-ko); font-size: clamp(.98rem, 1.2vw, 1.15rem); font-weight: 200; line-height: 1.95; word-break: keep-all; }
.hero-metrics { display: flex; flex-wrap: wrap; gap: 1.7rem; margin-top: 2.6rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1); color: var(--muted-2); font-size: .72rem; letter-spacing: .08em; }
.hero-metrics span { display: inline-flex; align-items: baseline; gap: .42rem; }
.hero-metrics strong { color: var(--gold-soft); font-family: var(--serif); font-size: 1.35rem; font-weight: 300; letter-spacing: .05em; }

/* Reusable glass form, field controls, segmented controls, and start button. */
/* Dense glass form, intentionally clean — no stains or droplets */
.glass-shell { position: relative; isolation: isolate; border: 1px solid rgba(255,239,210,.22); border-radius: 32px; box-shadow: 0 38px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(130,89,44,.16) inset, 0 1px 0 rgba(255,255,255,.18) inset; background: linear-gradient(145deg, rgba(30,34,42,.58), rgba(7,10,16,.72)); backdrop-filter: blur(34px) saturate(145%); -webkit-backdrop-filter: blur(34px) saturate(145%); overflow: hidden; }
.glass-shell::before { content: ""; position: absolute; z-index: -1; inset: 1px; border-radius: 31px; background: linear-gradient(125deg, rgba(255,255,255,.08), transparent 24%, transparent 70%, rgba(214,173,112,.07)); }
.glass-shell::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(108deg, transparent 0 46px, rgba(255,255,255,.012) 47px, transparent 48px), linear-gradient(180deg, rgba(255,255,255,.035), transparent 18%); mix-blend-mode: screen; }
.glass-shell__backdrop { position: absolute; inset: 0; z-index: -3; background: rgba(7,10,15,.42); }
.glass-shell__refraction { position: absolute; z-index: 1; inset: -1px; border-radius: inherit; pointer-events: none; box-shadow: 0 0 0 1px rgba(255,255,255,.07) inset, 0 14px 28px rgba(255,255,255,.02) inset, 0 -18px 36px rgba(0,0,0,.22) inset; }
.glass-shell__rim { position: absolute; z-index: 2; inset: 8px; border: 1px solid rgba(255,255,255,.05); border-radius: 25px; pointer-events: none; }
.glass-shell__specular { position: absolute; z-index: 2; top: -40%; left: -55%; width: 55%; height: 180%; pointer-events: none; transform: rotate(14deg); background: linear-gradient(90deg, transparent, rgba(255,248,230,.055), transparent); animation: glassSweep 9s var(--ease-film) infinite; }
@keyframes glassSweep { 0%, 52% { transform: translateX(0) rotate(14deg); opacity: 0; } 60% { opacity: .9; } 82%,100% { transform: translateX(320%) rotate(14deg); opacity: 0; } }
.reading-form { position: relative; z-index: 4; padding: clamp(1.65rem, 3.2vw, 3rem); }
.reading-form__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.reading-form__head h2 { margin: .48rem 0 0; font-family: var(--serif-ko); font-size: clamp(1.65rem, 2.4vw, 2.25rem); font-weight: 200; letter-spacing: -.035em; }
.reading-form__step { color: var(--gold); font-family: var(--serif); font-size: .62rem; letter-spacing: .2em; }
.reading-form__lead { margin: 1rem 0 1.65rem; color: var(--muted); font-size: .85rem; line-height: 1.8; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field--full { grid-column: 1 / -1; }
.field label, .field legend, .field-heading { color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 500; letter-spacing: .045em; }
.field > label { display: block; margin: 0 0 .48rem; }
.field-heading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.field-heading small { color: var(--muted-2); font-size: .64rem; font-weight: 400; }
.glass-control { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 -1px 0 rgba(0,0,0,.3) inset; transition: border-color .25s, box-shadow .25s, background .25s; }
.glass-control::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 12%, rgba(255,255,255,.035) 40%, transparent 65%); }
.glass-control:focus-within { border-color: rgba(232,199,145,.48); background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.035)); box-shadow: 0 0 0 3px rgba(214,173,112,.07), 0 1px 0 rgba(255,255,255,.12) inset; }
.glass-control input, .glass-control select { width: 100%; height: 48px; padding: 0 .95rem; border: 0; outline: 0; background: transparent; color: #fff; font-size: .86rem; }
.glass-control input[type="date"] { color-scheme: dark; }
.glass-control select { appearance: none; padding-right: 2.2rem; }
.glass-control--select::before { content: "⌄"; position: absolute; z-index: 2; right: .9rem; top: 50%; color: var(--gold); transform: translateY(-58%); pointer-events: none; }
.glass-control option { background: #11151d; color: #fff; }
.birth-moment-row { display: grid; grid-template-columns: 1fr 118px; gap: .75rem; }
.birth-moment-control label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.segmented-field { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.segmented-field legend { grid-column: 1 / -1; margin-bottom: .48rem; }
.segmented-field label { position: relative; display: block; cursor: pointer; }
.segmented-field input { position: absolute; opacity: 0; }
.segmented-field span { display: grid; place-items: center; min-height: 44px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.025); color: rgba(255,255,255,.56); font-size: .8rem; transition: .25s; }
.segmented-field input:checked + span { border-color: rgba(214,173,112,.45); background: linear-gradient(180deg, rgba(214,173,112,.16), rgba(214,173,112,.055)); color: var(--gold-pale); box-shadow: 0 0 0 1px rgba(255,255,255,.035) inset; }
.start-button { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 58px; margin-top: 1.25rem; padding: 0 1.35rem; overflow: hidden; border: 1px solid rgba(236,206,157,.5); border-radius: 15px; background: linear-gradient(105deg, #a6773f, #d4aa6c 46%, #9b6d38); color: #120e09; font-weight: 700; letter-spacing: -.01em; box-shadow: 0 10px 32px rgba(177,124,61,.16), 0 1px 0 rgba(255,255,255,.4) inset; }
.start-button::before { content: ""; position: absolute; inset: -40% auto -40% -35%; width: 26%; transform: skewX(-18deg); background: rgba(255,255,255,.35); filter: blur(12px); transition: left .8s var(--ease-film); }
.start-button:hover::before { left: 118%; }
.start-button i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(25,18,9,.25); border-radius: 50%; font-size: .65rem; font-style: normal; }
.privacy-note { margin: .8rem 0 0; color: var(--muted-2); font-size: .65rem; line-height: 1.7; }
.intro__hint { position: absolute; z-index: 12; left: 3.5vw; bottom: 1.4rem; display: flex; align-items: center; gap: .8rem; margin: 0; color: rgba(255,255,255,.26); font-family: var(--serif); font-size: .58rem; letter-spacing: .16em; }
.intro__hint span { width: 32px; height: 1px; background: var(--gold); opacity: .55; }

/* Loading, cinema playback, current-cut panel, and story checkpoint overlays. */

/* Loading screen, cinema stage, player chrome, subtitles, and playback controls. */
/* Loading and opening */
.loading-screen { position: fixed; z-index: 5000; inset: 0; display: grid; place-items: center; overflow: hidden; background: #020306; opacity: 1; transition: opacity 1.2s var(--ease-film); }
.loading-screen.is-leaving { opacity: 0; }
.loading-screen__halo { position: absolute; left: 50%; top: 48%; width: min(70vw, 780px); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%); background: radial-gradient(circle, rgba(255,230,184,.18), rgba(197,148,83,.035) 26%, transparent 66%); filter: blur(18px); animation: loadingPulse 2.6s ease-in-out infinite; }
@keyframes loadingPulse { 50% { transform: translate(-50%,-50%) scale(1.08); opacity: .68; } }
.loading-screen__content { position: relative; z-index: 2; width: min(90vw, 620px); text-align: center; }
.loading-screen__content img { width: 108px; margin: 0 auto 2rem; filter: drop-shadow(0 0 24px rgba(214,173,112,.23)); }
.loading-screen__content h2 { margin: .9rem 0 1.8rem; font-family: var(--serif-ko); font-size: clamp(1.8rem, 3.2vw, 3.2rem); font-weight: 200; line-height: 1.45; }
.loading-line { width: min(78%, 420px); height: 1px; margin: 0 auto 1.1rem; overflow: hidden; background: rgba(255,255,255,.08); }
.loading-line i { display: block; width: 45%; height: 100%; background: linear-gradient(90deg, transparent, var(--gold), transparent); animation: loadingLine 1.6s linear infinite; }
@keyframes loadingLine { from { transform: translateX(-120%); } to { transform: translateX(340%); } }
.loading-screen__content > p:last-child { color: var(--muted); font-size: .76rem; letter-spacing: .03em; }

/* Cinema */
.cinema { position: fixed; z-index: 1000; inset: 0; background: #000; }
.cinema__stage { position: absolute; inset: 0; overflow: hidden; outline: none; background: #000; isolation: isolate; }
.story-video { position: absolute; z-index: -8; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; transform: scale(1.012); filter: saturate(.82) contrast(1.08) brightness(.84); }
.cinema__grade { position: absolute; z-index: -5; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.18), transparent 38%, rgba(0,0,0,.56)), radial-gradient(circle at 50% 40%, transparent 28%, rgba(1,3,6,.3) 78%); transition: background 1s; }
.cinema__vignette { position: absolute; z-index: 1; inset: 0; pointer-events: none; box-shadow: 0 0 16vw rgba(0,0,0,.72) inset; }
.film-grain--cinema { opacity: .07; }
.birth-reveal { position: absolute; z-index: 35; inset: 0; pointer-events: none; opacity: 0; background: #000; }
.birth-reveal.is-active { animation: birthReveal 3.8s var(--ease-film) both; }
.birth-reveal i { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-radius: 50%; transform: translate(-50%,-50%); background: #fff5d8; box-shadow: 0 0 40px 18px rgba(255,235,195,.65), 0 0 180px 90px rgba(214,173,112,.32); }
.birth-reveal b { position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(255,246,224,.65), rgba(225,181,114,.16) 16%, transparent 50%); }
@keyframes birthReveal { 0% { opacity: 1; background: #000; } 20% { opacity: 1; } 52% { opacity: .9; background: rgba(0,0,0,.5); } 100% { opacity: 0; background: transparent; } }
.dark-transition { position: absolute; z-index: 32; inset: 0; pointer-events: none; opacity: 0; background: #010204; transition: opacity .75s var(--ease-film); }
.dark-transition.is-dark { opacity: 1; }
.dark-transition i { position: absolute; inset: 0; opacity: .12; background: radial-gradient(circle at 50% 45%, rgba(189,169,139,.18), transparent 52%); }
.stage-toggle { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; background: transparent; cursor: default; }
.choice-toast { position: absolute; z-index: 80; left: 50%; top: 12%; padding: .7rem 1.1rem; border: 1px solid rgba(214,173,112,.28); border-radius: 100px; background: rgba(7,9,13,.72); color: var(--gold-pale); font-size: .72rem; letter-spacing: .08em; opacity: 0; transform: translate(-50%,-12px); backdrop-filter: blur(18px); transition: .35s; }
.choice-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

.player-chrome { opacity: 0; pointer-events: none; transition: opacity .28s ease, transform .35s var(--ease-film); }
.cinema.is-chrome-visible .player-chrome, .cinema.is-paused .player-chrome { opacity: 1; pointer-events: auto; }
.player-top { position: absolute; z-index: 55; left: 0; right: 0; top: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.1rem; padding: max(1.4rem, env(safe-area-inset-top)) clamp(1.25rem, 3vw, 3.2rem) 4.5rem; transform: translateY(-14px); background: linear-gradient(180deg, rgba(0,0,0,.84), transparent); }
.cinema.is-chrome-visible .player-top, .cinema.is-paused .player-top { transform: translateY(0); }
.player-title { display: grid; gap: .14rem; }
.player-title span { color: var(--gold); font-family: var(--serif); font-size: .63rem; letter-spacing: .18em; }
.player-title strong { font-family: var(--serif-ko); font-size: 1.05rem; font-weight: 200; }
.player-badges { display: flex; gap: .5rem; }
.player-badges span { padding: .38rem .55rem; border: 1px solid rgba(255,255,255,.11); border-radius: 100px; background: rgba(0,0,0,.24); color: rgba(255,255,255,.58); font-family: var(--serif); font-size: .58rem; letter-spacing: .1em; }
.icon-button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 50%; background: transparent; color: #fff; transition: background .2s, color .2s, transform .2s; }
.icon-button:hover { background: rgba(255,255,255,.11); }
.icon-button:active { transform: scale(.94); }
.icon-button svg { width: 23px; height: 23px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.icon-button svg text { fill: currentColor; stroke: none; font-family: var(--sans); font-size: 7px; font-weight: 700; }
.icon-button--primary { width: 46px; height: 46px; background: #fff; color: #05070b; }
.icon-button--primary:hover { background: var(--gold-pale); }
.icon-play { display: none; }
.cinema.is-paused .icon-pause { display: none; }
.cinema.is-paused .icon-play { display: block; }
.text-icon span { font-size: .78rem; font-weight: 650; }

.film-caption { position: absolute; z-index: 22; left: 50%; bottom: clamp(3rem, 5vh, 4.4rem); width: min(88vw, 1120px); transform: translateX(-50%); text-align: center; text-shadow: 0 2px 7px rgba(0,0,0,.95), 0 0 22px rgba(0,0,0,.72); transition: bottom .34s var(--ease-film), opacity .25s; pointer-events: none; }
.cinema.is-chrome-visible .film-caption, .cinema.is-paused .film-caption { bottom: clamp(8.9rem, 16vh, 11.3rem); }
.cinema.is-captions-off .film-caption { opacity: 0; }
.film-caption__meta { margin: 0 0 .68rem; color: var(--gold-soft); font-family: var(--serif); font-size: clamp(.63rem, .85vw, .78rem); font-weight: 400; letter-spacing: .17em; text-transform: uppercase; }
.film-caption__text { margin: 0; font-family: var(--serif-ko); font-size: var(--caption-size); font-weight: 300; letter-spacing: -.025em; line-height: 1.58; word-break: keep-all; text-wrap: balance; }
.film-caption__line { display: block; }
.caption-keyword { color: #f4c982; text-shadow: 0 0 20px rgba(214,173,112,.2), 0 2px 7px rgba(0,0,0,.95); }
body[data-caption-size="small"] { --caption-size: clamp(1.05rem, 1.45vw, 1.5rem); }
body[data-caption-size="medium"] { --caption-size: clamp(1.45rem, 2vw, 2.2rem); }
body[data-caption-size="large"] { --caption-size: clamp(1.8rem, 2.55vw, 2.85rem); }
body[data-caption-size="xlarge"] { --caption-size: clamp(2.15rem, 3.1vw, 3.45rem); }

.player-controls { position: absolute; z-index: 60; left: 0; right: 0; bottom: 0; padding: 4.8rem clamp(1.25rem, 3vw, 3.2rem) max(1rem, env(safe-area-inset-bottom)); transform: translateY(15px); background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.62) 48%, transparent); }
.cinema.is-chrome-visible .player-controls, .cinema.is-paused .player-controls { transform: translateY(0); }
.progress-control { position: relative; display: flex; align-items: center; height: 22px; }
.progress-control input { position: relative; z-index: 2; width: 100%; height: 4px; margin: 0; appearance: none; border-radius: 10px; outline: 0; background: linear-gradient(90deg, var(--gold) 0 var(--progress,0%), rgba(255,255,255,.24) var(--progress,0%) 100%); cursor: pointer; }
.progress-control input::-webkit-slider-thumb { width: 14px; height: 14px; appearance: none; border: 2px solid #fff; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(214,173,112,.14); }
.progress-control input::-moz-range-thumb { width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: var(--gold); }
.chapter-ticks { position: absolute; left: 0; right: 0; top: 9px; height: 4px; pointer-events: none; }
.chapter-ticks i { position: absolute; top: 0; width: 1px; height: 4px; background: rgba(255,255,255,.32); }
.progress-tooltip { position: absolute; z-index: 3; bottom: 22px; left: var(--tooltip-x, 0); padding: .32rem .48rem; border-radius: 4px; background: rgba(0,0,0,.86); color: #fff; font-size: .64rem; opacity: 0; transform: translateX(-50%); transition: opacity .2s; }
.progress-control:hover .progress-tooltip, .progress-control.is-scrubbing .progress-tooltip { opacity: 1; }
.control-row { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; }
.control-group { display: flex; align-items: center; gap: .25rem; }
.volume-control { display: flex; align-items: center; }
.volume-control input { width: 0; height: 3px; margin: 0; opacity: 0; transition: width .25s, opacity .25s, margin .25s; accent-color: var(--gold); }
.volume-control:hover input, .volume-control:focus-within input { width: 86px; margin-right: .6rem; opacity: 1; }
.time-readout { margin: 0 0 0 .55rem; color: rgba(255,255,255,.66); font-family: var(--serif); font-size: .72rem; letter-spacing: .06em; }
.time-readout i { margin: 0 .35rem; color: rgba(255,255,255,.28); font-style: normal; }
.caption-settings, .speed-control { position: relative; }
.caption-settings-menu, .speed-menu { position: absolute; right: 0; bottom: calc(100% + .8rem); width: 190px; padding: .65rem; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(8,11,16,.94); box-shadow: 0 20px 50px rgba(0,0,0,.55); backdrop-filter: blur(22px); }
.caption-settings-menu p { margin: .35rem .45rem .55rem; color: var(--muted); font-size: .68rem; }
.caption-settings-menu button, .speed-menu button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 38px; padding: 0 .6rem; border-radius: 8px; background: transparent; color: rgba(255,255,255,.65); font-size: .76rem; text-align: left; }
.caption-settings-menu button:hover, .speed-menu button:hover, .caption-settings-menu button[aria-checked="true"], .speed-menu button[aria-checked="true"] { background: rgba(214,173,112,.12); color: var(--gold-pale); }

.pause-center { position: absolute; z-index: 25; left: 50%; top: 50%; display: grid; place-items: center; gap: .7rem; opacity: 0; transform: translate(-50%,-50%) scale(.92); pointer-events: none; transition: .25s; }
.cinema.is-paused .pause-center { opacity: .82; transform: translate(-50%,-50%) scale(1); }
.pause-center__icon { display: flex; gap: 8px; padding: 17px 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(0,0,0,.34); backdrop-filter: blur(12px); }
.pause-center__icon i { width: 4px; height: 20px; border-radius: 3px; background: #fff; }
.pause-center p { margin: 0; color: rgba(255,255,255,.58); font-family: var(--serif); font-size: .6rem; letter-spacing: .2em; }
.cinema.is-paused .story-video,
.cinema.is-paused .film-grain,
.cinema.is-paused .birth-reveal,
.cinema.is-paused .dark-transition,
.cinema.is-paused .choice-toast { animation-play-state: paused; }

/* Reusable floating current-cut panel. */
/* Floating current cut: overlay only, never moves subtitles */
.current-cut { position: absolute; z-index: 110; right: clamp(1rem, 3vw, 3rem); bottom: clamp(5.8rem, 11vh, 8rem); width: min(390px, calc(100vw - 2rem)); max-height: min(68vh, 650px); overflow: hidden; border: 1px solid rgba(235,207,162,.2); border-radius: 24px; background: linear-gradient(160deg, rgba(25,29,37,.88), rgba(6,8,12,.94)); box-shadow: 0 35px 90px rgba(0,0,0,.58), 0 1px 0 rgba(255,255,255,.09) inset; opacity: 0; transform: translateX(24px) scale(.985); pointer-events: none; backdrop-filter: blur(28px) saturate(130%); transition: opacity .32s, transform .42s var(--ease-film); }
.current-cut.is-open { opacity: 1; transform: translateX(0) scale(1); pointer-events: auto; }
.current-cut__head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.2rem .75rem; }
.current-cut__head h2 { margin: .35rem 0 0; font-family: var(--serif-ko); font-size: 1.45rem; font-weight: 200; }
.current-cut__head button { align-self: flex-start; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.06); color: rgba(255,255,255,.65); font-size: 1.3rem; }
.current-cut__time { margin: 0; padding: 0 1.2rem; color: rgba(255,255,255,.5); font-family: var(--serif); font-size: .7rem; letter-spacing: .08em; }
.current-cut__progress { height: 1px; margin: .75rem 1.2rem 0; background: rgba(255,255,255,.12); }
.current-cut__progress i { display: block; width: 0; height: 100%; background: var(--gold); }
.current-cut__list { max-height: 390px; margin: .6rem 0 0; padding: .3rem .6rem .8rem; overflow: auto; list-style: none; scrollbar-width: thin; scrollbar-color: rgba(214,173,112,.35) transparent; }
.current-cut__list button { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: .6rem; width: 100%; padding: .72rem .65rem; border-radius: 12px; background: transparent; color: rgba(255,255,255,.48); text-align: left; }
.current-cut__list button:hover, .current-cut__list button.is-current { background: rgba(214,173,112,.09); color: #fff; }
.current-cut__list .cut-number { color: var(--gold); font-family: var(--serif); font-size: .62rem; letter-spacing: .08em; }
.current-cut__list strong { display: block; font-family: var(--serif-ko); font-size: .84rem; font-weight: 300; }
.current-cut__list small { color: var(--muted-2); font-family: var(--serif); font-size: .58rem; letter-spacing: .08em; }
.current-cut__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; padding: .8rem 1.2rem 1.2rem; border-top: 1px solid rgba(255,255,255,.07); }
.current-cut__actions button { min-height: 40px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.66); font-size: .72rem; }

/* Checkpoint and focus-choice story overlays. */
/* Story checkpoints */
.checkpoint, .focus-choice { position: absolute; z-index: 150; inset: 0; display: grid; place-items: center; opacity: 0; pointer-events: none; transition: opacity .45s; }
.checkpoint.is-open, .focus-choice.is-open { opacity: 1; pointer-events: auto; }
.checkpoint__veil, .focus-choice__veil { position: absolute; inset: 0; background: radial-gradient(circle at 50% 48%, rgba(10,13,19,.66), rgba(0,0,0,.94)); backdrop-filter: blur(13px); }
.checkpoint__panel, .focus-choice__panel { position: relative; width: min(92vw, 780px); padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid rgba(233,203,155,.2); border-radius: 28px; background: linear-gradient(155deg, rgba(27,30,38,.82), rgba(6,8,12,.9)); box-shadow: 0 40px 120px rgba(0,0,0,.68), 0 1px 0 rgba(255,255,255,.1) inset; text-align: center; }
.checkpoint__panel h2, .focus-choice__panel h2 { margin: .8rem 0 .8rem; font-family: var(--serif-ko); font-size: clamp(1.75rem, 3.2vw, 3rem); font-weight: 200; line-height: 1.5; }
.checkpoint__panel > p:not(.eyebrow), .focus-choice__panel > p:not(.eyebrow) { max-width: 600px; margin: 0 auto 1.4rem; color: var(--muted); font-size: .86rem; line-height: 1.8; }
.checkpoint__options { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.checkpoint__options button, .focus-choice__grid button { min-height: 66px; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.7); text-align: left; transition: .25s; }
.checkpoint__options button:hover, .checkpoint__options button[aria-checked="true"], .focus-choice__grid button:hover, .focus-choice__grid button[aria-checked="true"] { border-color: rgba(214,173,112,.5); background: rgba(214,173,112,.12); color: var(--gold-pale); }
.checkpoint__panel > button, .focus-choice__panel > button { min-width: 260px; min-height: 50px; margin-top: 1.2rem; border-radius: 100px; background: linear-gradient(100deg, #9b6b35, #d5aa6b); color: #110d08; font-weight: 700; }
.checkpoint__panel > button:disabled, .focus-choice__panel > button:disabled { opacity: .32; cursor: not-allowed; }
.checkpoint__panel small { display: block; margin-top: .9rem; color: var(--muted-2); font-size: .64rem; }
.focus-choice__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.focus-choice__grid button { display: grid; gap: .35rem; }
.focus-choice__grid strong { font-family: var(--serif); font-size: 1rem; font-weight: 400; letter-spacing: .08em; }
.focus-choice__grid span { font-family: var(--serif-ko); font-size: .95rem; font-weight: 300; }
.focus-choice__grid small { color: var(--muted-2); font-size: .68rem; line-height: 1.55; }

.preview-route-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .35rem .9rem;
  margin: 0 auto;
  padding: .35rem .6rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
}
.preview-route-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 .35rem;
  color: rgba(255,255,255,.58);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
}
.preview-route-nav a::after {
  content: "";
  position: absolute;
  left: .35rem;
  right: .35rem;
  bottom: .22rem;
  height: 1px;
  background: var(--gold-soft);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s, opacity .22s;
  opacity: .75;
}
.preview-route-nav a:hover,
.preview-route-nav a[aria-current="page"] { color: #fff; }
.preview-route-nav a[aria-current="page"]::after { transform: scaleX(1); }

.app[data-lumina-preview="next"] #previewTitle {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.app[data-lumina-preview="next"] .premiere-comparison,
.app[data-lumina-preview="next"] .premiere-comparison__table {
  width: 100%;
  max-width: 100%;
}
.app[data-lumina-preview="next"] .premiere-comparison__row > * {
  overflow-wrap: anywhere;
}

.cinema.is-preview-player {
  position: relative;
  z-index: 1;
  inset: auto;
  width: min(100%, 960px);
  aspect-ratio: 16 / 9;
  margin: clamp(1.35rem, 3vh, 2.4rem) 0 0;
  overflow: hidden;
  border: 1px solid rgba(235,207,162,.14);
  border-radius: 18px;
  background: #030406;
  box-shadow: 0 30px 90px rgba(0,0,0,.48), 0 1px 0 rgba(255,255,255,.08) inset;
}
.is-preview-player .story-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #000;
}
.is-preview-player .story-video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
}
.is-preview-player .film-caption {
  bottom: clamp(4.5rem, 13%, 6rem);
  width: min(88%, 820px);
  text-shadow: 0 2px 8px rgba(0,0,0,.95), 0 0 24px rgba(0,0,0,.75);
}
.is-preview-player .film-caption__meta {
  margin-bottom: .45rem;
  font-size: clamp(.58rem, .9vw, .72rem);
}
.is-preview-player .film-caption__text {
  font-size: clamp(1.05rem, 2vw, 1.7rem);
  line-height: 1.5;
}
.is-preview-player .story-controls {
  position: absolute;
  z-index: 40;
  left: clamp(.9rem, 2.2vw, 1.4rem);
  right: clamp(.9rem, 2.2vw, 1.4rem);
  bottom: clamp(.8rem, 2vh, 1.2rem);
  display: grid;
  grid-template-columns: auto auto minmax(90px, 1fr) auto;
  align-items: center;
  gap: .7rem;
  padding: .72rem .85rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(6,8,12,.82), rgba(20,17,11,.66));
  box-shadow: 0 18px 42px rgba(0,0,0,.42);
  backdrop-filter: blur(18px);
}
.is-preview-player .caption-toggle {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  height: 28px;
  border: 1px solid rgba(235,207,162,.34);
  border-radius: 999px;
  background: rgba(214,173,112,.12);
  color: var(--gold-pale);
  font-family: var(--serif);
  font-size: .7rem;
  letter-spacing: .08em;
}
.is-preview-player .caption-toggle[aria-pressed="false"] {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.55);
}
.is-preview-player .story-time {
  min-width: 40px;
  color: rgba(255,255,255,.78);
  font-family: var(--serif);
  font-size: .74rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
  white-space: nowrap;
}
.is-preview-player .story-progress {
  width: 100%;
  min-width: 0;
  accent-color: var(--gold);
}
.is-preview-player .timeline-list {
  position: absolute;
  z-index: 35;
  right: clamp(1rem, 2.5vw, 1.6rem);
  top: clamp(1rem, 2.5vw, 1.6rem);
  display: grid;
  gap: .45rem;
  width: min(260px, 32%);
  margin: 0;
  padding: 0;
  list-style: none;
}
.is-preview-player .timeline-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 34px;
  padding: .35rem .55rem .35rem .7rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  background: rgba(3,4,6,.48);
  color: rgba(255,255,255,.64);
  font-size: .68rem;
  text-align: left;
  backdrop-filter: blur(12px);
}
.is-preview-player .timeline-list button:hover,
.is-preview-player .timeline-list button[aria-current="step"] {
  border-color: rgba(214,173,112,.42);
  background: rgba(214,173,112,.14);
  color: #fff;
}
.is-preview-player .timeline-list time {
  color: rgba(235,207,162,.78);
  font-family: var(--serif);
  font-size: .64rem;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .preview-route-nav { display: none; }
  .app[data-lumina-preview="next"] #previewTitle {
    font-size: clamp(2.2rem, 10vw, 3rem);
    line-height: 1.14;
  }
  .app[data-lumina-preview="next"] .premiere-comparison__table {
    overflow-x: hidden;
  }
  .app[data-lumina-preview="next"] .premiere-comparison__row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .app[data-lumina-preview="next"] .premiere-comparison__row > * {
    padding: .78rem .9rem;
  }
  .app[data-lumina-preview="next"] .premiere-comparison__row > * + * {
    border-top: 1px solid rgba(255,255,255,.08);
    border-left: 0;
  }
  .cinema.is-preview-player {
    width: 100%;
    border-radius: 14px;
  }
  .is-preview-player .timeline-list {
    left: .85rem;
    right: .85rem;
    top: .85rem;
    width: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .is-preview-player .timeline-list button {
    justify-content: center;
    min-height: 30px;
    padding-inline: .35rem;
  }
  .is-preview-player .timeline-list button span { display: none; }
  .is-preview-player .story-controls {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .55rem;
    border-radius: 16px;
  }
  .is-preview-player .caption-toggle { display: none; }
}

/* Ending screen, report hero, director cut, and premium feature sections. */
/* Ending */
.ending { position: fixed; z-index: 1000; inset: 0; overflow: hidden; background: #05070b; }
.ending__video { position: absolute; z-index: -5; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(4px) brightness(.28) saturate(.72); transform: scale(1.03); }
.ending__veil { position: absolute; z-index: -3; inset: 0; background: linear-gradient(180deg, rgba(3,5,8,.3), rgba(4,6,10,.84) 42%, #06080d 84%); }
.ending__scroll { height: 100%; overflow-y: auto; overscroll-behavior: contain; }
.ending-nav { position: fixed; z-index: 100; left: 0; right: 0; top: 0; display: flex; align-items: center; justify-content: space-between; padding: .85rem 3.5vw; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(4,6,10,.76); opacity: 0; transform: translateY(-100%); backdrop-filter: blur(24px); transition: .45s var(--ease-film); }
.ending-nav.is-visible { opacity: 1; transform: translateY(0); }
.ending-nav__brand img { width: 31px; }
.ending-nav__brand strong { font-size: 1rem; }
.ending-nav__menu { display: flex; gap: .3rem; }
.ending-nav__menu button { padding: .65rem .8rem; background: transparent; color: rgba(255,255,255,.58); font-family: var(--serif); font-size: .65rem; letter-spacing: .13em; }
.ending-hero { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; width: min(100% - 8vw, 1440px); min-height: 100svh; margin: 0 auto; padding: 20vh 0 12vh; }
.ending-brandline { display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 2rem; padding: 0; background: transparent; color: var(--gold-soft); font-family: var(--serif); font-size: .68rem; letter-spacing: .2em; }
.ending-brandline img { width: 42px; }
.ending-hero h2 { max-width: 980px; margin: 1rem 0 1.4rem; font-family: var(--serif-ko); font-size: clamp(2.6rem, 5.4vw, 6.1rem); font-weight: 200; letter-spacing: -.055em; line-height: 1.26; }
.ending-hero > div > p:last-child { max-width: 760px; margin: 0; color: var(--muted); font-family: var(--serif-ko); font-size: 1rem; font-weight: 200; line-height: 1.9; }
.ending-focus { display: grid; gap: .45rem; min-width: 220px; padding: 1.3rem 0 1.3rem 1.5rem; border-left: 1px solid var(--line); }
.ending-focus small { color: var(--gold); font-family: var(--serif); font-size: .62rem; letter-spacing: .18em; }
.ending-focus strong { font-family: var(--serif-ko); font-size: 1.45rem; font-weight: 200; }
.ending-focus span { color: var(--muted-2); font-size: .7rem; letter-spacing: .08em; }
.director-cut, .premium-feature { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .8fr); gap: clamp(2.4rem, 6vw, 7rem); align-items: center; width: min(100% - 8vw, 1380px); min-height: 78vh; margin: 0 auto; padding: 10vh 0; border-top: 1px solid rgba(255,255,255,.08); }
.director-cut__visual, .premium-feature__visual { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid rgba(214,173,112,.24); border-radius: 28px; box-shadow: 0 40px 90px rgba(0,0,0,.45); }
.director-cut__visual video, .premium-feature__visual > video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(1.1) brightness(.74); }
.director-cut__visual::after, .premium-feature__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 35%, rgba(214,173,112,.12), transparent 62%), linear-gradient(180deg, transparent, rgba(0,0,0,.66)); }
.director-cut__visual > span { position: absolute; z-index: 2; left: 1.4rem; bottom: 1.4rem; padding: .45rem .65rem; border: 1px solid rgba(214,173,112,.42); border-radius: 100px; color: var(--gold-pale); font-family: var(--serif); font-size: .65rem; letter-spacing: .15em; }
.director-cut__copy h3, .premium-feature__copy h3 { margin: .8rem 0 1.2rem; font-family: var(--serif-ko); font-size: clamp(2rem, 3.5vw, 3.8rem); font-weight: 200; line-height: 1.42; }
.director-cut__copy > p:not(.eyebrow), .premium-feature__copy > p:not(.eyebrow) { color: var(--muted); font-size: .93rem; line-height: 1.9; word-break: keep-all; }
.director-cut__copy ul, .premium-feature__copy ul { display: grid; gap: .7rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.director-cut__copy li { color: rgba(255,255,255,.67); font-size: .83rem; line-height: 1.6; }
.director-cut__copy li::before { content: "✦"; margin-right: .7rem; color: var(--gold); }
#directorCutButton, .premium-button, .upload-button, .open-full-library { display: inline-grid; place-items: center; min-height: 50px; padding: 0 1.2rem; border: 1px solid rgba(214,173,112,.42); border-radius: 100px; background: linear-gradient(110deg, rgba(214,173,112,.18), rgba(214,173,112,.06)); color: var(--gold-pale); font-size: .75rem; letter-spacing: .04em; }
.premium-feature { grid-template-columns: minmax(360px, .8fr) minmax(0, 1fr); }
.premium-feature__portrait { position: absolute; z-index: 3; left: 50%; top: 50%; width: 38%; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 46% 46% 42% 42%; transform: translate(-50%,-50%); background: rgba(0,0,0,.28); box-shadow: 0 0 50px rgba(214,173,112,.2); }
.premium-feature__portrait span { position: absolute; z-index: 1; left: 50%; top: 50%; color: rgba(255,255,255,.45); font-family: var(--serif); font-size: .6rem; letter-spacing: .15em; transform: translate(-50%,-50%); }
.premium-feature__portrait img { width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.premium-feature__portrait.has-image img { opacity: .78; }
.premium-feature__scan { position: absolute; z-index: 4; left: 25%; right: 25%; top: 18%; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-pale), transparent); box-shadow: 0 0 16px var(--gold); animation: scan 3.2s ease-in-out infinite; }
@keyframes scan { 50% { top: 78%; } }
.premium-feature__copy h3 span { color: var(--gold-soft); font-size: .46em; }
.premium-feature__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
.premium-feature__note { font-size: .65rem; color: var(--muted-2); }
.film-collection { width: min(100% - 8vw, 1480px); margin: 0 auto; padding: 12vh 0; border-top: 1px solid rgba(255,255,255,.08); }
.section-heading { display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 3rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading h3 { margin: .65rem 0 0; font-family: var(--serif-ko); font-size: clamp(2rem, 3.7vw, 4.1rem); font-weight: 200; line-height: 1.4; }
.section-heading > p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.9; }
.ending-poster-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.open-full-library { margin: 2.4rem auto 0; min-width: 260px; }
.ending-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .8rem; padding: 6vh 4vw 9vh; border-top: 1px solid rgba(255,255,255,.08); }
.ending-actions button { min-height: 48px; padding: 0 1.2rem; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.72); }
.ending-actions p { flex-basis: 100%; margin: .8rem 0 0; color: var(--muted-2); font-size: .65rem; text-align: center; }

/* Poster cards, library grids, service detail, and trailer dialog components. */

/* Poster cards, library grid, and top-layer dialog primitives. */
/* Poster cards */
.poster-card { position: relative; min-width: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: #0b0e14; text-align: left; box-shadow: 0 20px 45px rgba(0,0,0,.24); transition: transform .45s var(--ease-film), border-color .3s, box-shadow .45s; }
.poster-card:hover { z-index: 2; transform: translateY(-8px) scale(1.018); border-color: rgba(214,173,112,.38); box-shadow: 0 35px 80px rgba(0,0,0,.55); }
.poster-card__image { position: relative; aspect-ratio: 2 / 3; overflow: hidden; }
.poster-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-film), filter .5s; }
.poster-card:hover img { transform: scale(1.045); filter: brightness(1.06); }
.poster-card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 52%, rgba(3,5,8,.14)); }
.poster-card__badge { position: absolute; z-index: 2; left: .75rem; top: .75rem; padding: .28rem .42rem; border: 1px solid rgba(214,173,112,.32); border-radius: 100px; background: rgba(0,0,0,.48); color: var(--gold-pale); font-family: var(--serif); font-size: .48rem; letter-spacing: .12em; backdrop-filter: blur(8px); }
.poster-card__copy { position: relative; z-index: 3; display: block; min-height: 126px; padding: .9rem .9rem 1rem; border-top: 1px solid rgba(255,255,255,.065); background: linear-gradient(180deg, rgba(12,15,21,.96), rgba(7,9,13,.99)); }
.poster-card__copy small { display: block; margin-bottom: .42rem; overflow: hidden; color: var(--gold); font-family: var(--serif); font-size: .56rem; letter-spacing: .12em; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.poster-card__copy strong { display: block; font-family: var(--serif-ko); font-size: .96rem; font-weight: 300; line-height: 1.55; word-break: keep-all; }
.poster-card__copy span { display: -webkit-box; margin-top: .35rem; overflow: hidden; color: rgba(255,255,255,.52); font-size: .64rem; line-height: 1.62; word-break: keep-all; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* Library */
dialog { padding: 0; border: 0; color: inherit; }
dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(10px); }
.film-library-dialog { width: 100vw; max-width: none; height: 100svh; max-height: none; margin: 0; background: #06080d; }
/* Top-layer dialogs keep the same round diffuse light language. */
.film-library-dialog::after,
.service-dialog::after {
    content: "";
    position: fixed;
    z-index: 999;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle 190px at var(--pointer-x) var(--pointer-y), rgba(255,248,232,.2) 0, rgba(222,190,145,.09) 27%, rgba(174,198,219,.045) 46%, transparent 74%);
    filter: blur(20px);
    mix-blend-mode: screen;
    transition: opacity .35s ease;
}
body.has-pointer-light .film-library-dialog[open]::after,
body.has-pointer-light .service-dialog[open]::after { opacity: .24; }
body.is-cursor-idle .film-library-dialog::after,
body.is-cursor-idle .service-dialog::after { opacity: 0; }

.film-library { height: 100%; overflow: hidden; background: radial-gradient(circle at 70% 0, rgba(137,91,43,.1), transparent 32%), #06080d; }
.film-library__header { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 3.5vw; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(6,8,13,.82); backdrop-filter: blur(20px); }
.film-library__brand img { width: 34px; }
.film-library__header-actions { display: flex; align-items: center; gap: .8rem; }
.library-search input { width: min(30vw, 330px); height: 42px; padding: 0 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: 100px; outline: 0; background: rgba(255,255,255,.035); color: #fff; font-size: .78rem; }
.library-search input:focus { border-color: rgba(214,173,112,.4); }
.film-library__close, .service-dialog__close { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.055); color: rgba(255,255,255,.7); font-size: 1.5rem; }
.film-library__scroll { height: calc(100% - 76px); overflow-y: auto; }
.film-library__hero { width: min(100% - 8vw, 1460px); margin: 0 auto; padding: 8vh 0 4vh; }
.film-library__hero h2 { margin: .8rem 0 1.2rem; font-family: var(--serif-ko); font-size: clamp(2.4rem, 5.2vw, 6rem); font-weight: 200; line-height: 1.3; }
.film-library__hero > p:last-child { max-width: 800px; color: var(--muted); font-size: .88rem; line-height: 1.9; }
.library-filters { position: sticky; z-index: 6; top: 0; display: flex; gap: .4rem; width: min(100% - 8vw, 1460px); margin: 0 auto; padding: 1rem 0; overflow-x: auto; background: linear-gradient(180deg, #06080d 72%, transparent); scrollbar-width: none; }
.library-filters::-webkit-scrollbar { display: none; }
.library-filters button { flex: 0 0 auto; min-height: 38px; padding: 0 .9rem; border: 1px solid rgba(255,255,255,.09); border-radius: 100px; background: rgba(255,255,255,.025); color: rgba(255,255,255,.54); font-size: .7rem; }
.library-filters button[aria-pressed="true"] { border-color: rgba(214,173,112,.42); background: rgba(214,173,112,.12); color: var(--gold-pale); }
.library-result-count { width: min(100% - 8vw, 1460px); margin: .6rem auto 1rem; color: var(--muted-2); font-family: var(--serif); font-size: .66rem; letter-spacing: .12em; }
.library-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.15rem; width: min(100% - 8vw, 1460px); margin: 0 auto; padding-bottom: 10vh; }

/* Service detail and trailer dialog components. */
/* Service detail and trailer */
.service-dialog { width: min(1120px, 94vw); max-width: none; max-height: 92svh; overflow: hidden; border: 1px solid rgba(237,207,157,.18); border-radius: 28px; background: #070a10; box-shadow: 0 60px 160px rgba(0,0,0,.78); }
.service-experience { position: relative; min-height: min(780px, 90svh); }
.service-dialog__close { position: absolute; z-index: 30; right: 1rem; top: 1rem; }
.service-intake { display: grid; grid-template-columns: 38% 62%; min-height: min(780px, 90svh); }
.service-intake__poster-wrap { position: relative; min-height: 650px; overflow: hidden; background: #0b0e14; }
.service-intake__poster-wrap img { width: 100%; height: 100%; object-fit: cover; }
.service-intake__poster-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 52%, #070a10), linear-gradient(180deg, transparent 55%, rgba(0,0,0,.62)); }
.service-intake__rating { position: absolute; z-index: 2; left: 1.2rem; top: 1.2rem; padding: .4rem .55rem; border: 1px solid rgba(214,173,112,.38); border-radius: 100px; background: rgba(0,0,0,.4); color: var(--gold-pale); font-family: var(--serif); font-size: .58rem; letter-spacing: .13em; }
.service-intake__content { padding: clamp(2rem, 4.5vw, 4rem); overflow-y: auto; }
.service-intake__content h2 { display: grid; gap: .35rem; margin: .8rem 0 1rem; font-family: var(--serif); font-size: clamp(2.5rem, 4.2vw, 4.5rem); font-weight: 300; letter-spacing: .025em; line-height: .95; }
.service-intake__content h2 small { color: var(--gold-soft); font-family: var(--serif-ko); font-size: .33em; font-weight: 200; letter-spacing: -.02em; line-height: 1.5; }
.service-intake__tagline { margin: 0; color: var(--muted); font-family: var(--serif-ko); font-size: .98rem; font-weight: 200; line-height: 1.8; }
.service-intake__meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.4rem; }
.service-intake__meta span { padding: .32rem .52rem; border: 1px solid rgba(255,255,255,.09); border-radius: 100px; color: rgba(255,255,255,.54); font-size: .64rem; }
.service-story-outline { display: grid; gap: .55rem; margin: 0 0 1.5rem; padding: 0; list-style: none; counter-reset: acts; }
.service-story-outline li { position: relative; padding: .8rem .9rem .8rem 3.1rem; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.025); color: rgba(255,255,255,.64); font-size: .76rem; line-height: 1.65; counter-increment: acts; }
.service-story-outline li::before { content: "ACT " counter(acts); position: absolute; left: .8rem; top: .87rem; color: var(--gold); font-family: var(--serif); font-size: .56rem; letter-spacing: .1em; }
.service-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.service-field { display: grid; gap: .4rem; }
.service-field--full { grid-column: 1 / -1; }
.service-field label, .service-field > span { color: rgba(255,255,255,.6); font-size: .68rem; }
.service-field input, .service-field select, .service-field textarea { width: 100%; min-height: 44px; padding: .72rem .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; outline: 0; background: rgba(255,255,255,.035); color: #fff; font-size: .78rem; }
.service-field textarea { min-height: 85px; resize: vertical; }
.service-field input:focus, .service-field select:focus, .service-field textarea:focus { border-color: rgba(214,173,112,.42); }
.service-field option { background: #11151d; }
.service-field__choice { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; }
.service-field__choice label { position: relative; }
.service-field__choice input { position: absolute; opacity: 0; }
.service-field__choice span { display: grid; place-items: center; min-height: 40px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.025); }
.service-field__choice input:checked + span { border-color: rgba(214,173,112,.42); background: rgba(214,173,112,.12); color: var(--gold-pale); }
.service-consent { display: flex; gap: .6rem; margin: .9rem 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.service-start-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 50px; margin-top: 1rem; padding: 0 1rem; border-radius: 12px; background: linear-gradient(105deg, #9a6a35, #d5aa6b); color: #100d08; font-weight: 700; }
.service-start-button i { font-style: normal; }
.service-form > p { margin: .65rem 0 0; color: var(--muted-2); font-size: .62rem; }
.service-trailer { position: relative; min-height: min(780px, 90svh); overflow: hidden; background: #000; }
.service-trailer video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.72) saturate(.8) contrast(1.1); }
.service-trailer__grade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), transparent 45%, rgba(0,0,0,.68)), radial-gradient(circle, transparent, rgba(0,0,0,.3)); }
.service-trailer__top { position: absolute; z-index: 4; left: 1.5rem; right: 4.5rem; top: 1.5rem; display: flex; justify-content: space-between; color: var(--gold-soft); font-family: var(--serif); font-size: .66rem; letter-spacing: .14em; }
.service-trailer__top button { width: 38px; height: 38px; border-radius: 50%; background: rgba(0,0,0,.4); color: #fff; }
.service-trailer__caption { position: absolute; z-index: 4; left: 50%; bottom: 10%; width: min(84%, 800px); transform: translateX(-50%); text-align: center; text-shadow: 0 2px 9px #000; }
.service-trailer__caption p { margin: 0 0 .6rem; color: var(--gold); font-family: var(--serif); font-size: .68rem; letter-spacing: .18em; }
.service-trailer__caption h3 { margin: 0; font-family: var(--serif-ko); font-size: clamp(1.5rem, 3vw, 2.8rem); font-weight: 200; line-height: 1.55; }
.service-trailer__progress { position: absolute; z-index: 5; left: 1.5rem; right: 1.5rem; bottom: 1.3rem; height: 2px; background: rgba(255,255,255,.2); }
.service-trailer__progress i { display: block; width: 0; height: 100%; background: var(--gold); }
.service-midpoint, .service-paywall { position: absolute; z-index: 12; inset: 0; display: grid; place-items: center; background: rgba(3,5,8,.76); backdrop-filter: blur(18px); }
.service-midpoint > div, .service-paywall > div { width: min(90%, 630px); padding: 2.3rem; border: 1px solid rgba(214,173,112,.22); border-radius: 24px; background: rgba(8,11,16,.88); box-shadow: 0 35px 100px rgba(0,0,0,.62); text-align: center; }
.service-midpoint h3, .service-paywall h3 { margin: .8rem 0 1.2rem; font-family: var(--serif-ko); font-size: clamp(1.8rem, 3.6vw, 3.2rem); font-weight: 200; line-height: 1.45; }
.service-midpoint > div > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
.service-midpoint button { min-height: 50px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.7); }
.service-midpoint button:hover { border-color: rgba(214,173,112,.42); background: rgba(214,173,112,.12); color: var(--gold-pale); }
.service-paywall p, .service-paywall li { color: var(--muted); font-size: .8rem; line-height: 1.75; }
.service-paywall ul { display: grid; gap: .45rem; padding: 0; list-style: none; }
.service-paywall li::before { content: "✦"; margin-right: .55rem; color: var(--gold); }
.service-paywall__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.2rem; }
.service-paywall__actions button { min-height: 48px; border: 1px solid rgba(214,173,112,.32); border-radius: 100px; background: rgba(214,173,112,.12); color: var(--gold-pale); }
.service-paywall__actions button:first-child { background: linear-gradient(105deg, #9a6a35, #d5aa6b); color: #100d08; font-weight: 700; }
.demo-toast { position: fixed; z-index: 20000; left: 50%; bottom: 2rem; padding: .8rem 1rem; border: 1px solid rgba(214,173,112,.28); border-radius: 100px; background: rgba(7,9,13,.9); color: var(--gold-pale); font-size: .72rem; opacity: 0; transform: translate(-50%,15px); pointer-events: none; backdrop-filter: blur(18px); transition: .3s; }
.demo-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

/* Core responsive and reduced-motion rules for the initial stylesheet layer. */
/* Responsive */
@media (max-width: 1180px) {
    .intro__layout { grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr); gap: 3rem; }
    .ending-poster-grid, .library-grid { grid-template-columns: repeat(4, 1fr); }
    .director-cut, .premium-feature { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
@media (max-width: 860px) {
    .site-header { width: min(100% - 2rem, 1500px); padding: 1.2rem 0; }
    .header-collection { font-size: .62rem; }
    .intro { min-height: auto; }
    .intro__layout { grid-template-columns: 1fr; width: min(100% - 2rem, 680px); min-height: 0; padding: 5rem 0 5rem; }
    .hero-copy { padding-bottom: 0; }
    .hero-copy h1 { font-size: clamp(2.6rem, 10vw, 4.3rem); }
    .glass-shell { border-radius: 25px; }
    .reading-form { padding: 1.35rem; }
    .intro__hint { display: none; }
    .film-caption { width: min(92vw, 850px); bottom: 3.5rem; }
    .cinema.is-chrome-visible .film-caption, .cinema.is-paused .film-caption { bottom: 10.5rem; }
    .player-top { padding-left: 1rem; padding-right: 1rem; }
    .player-badges span:first-child { display: none; }
    .player-controls { padding-left: 1rem; padding-right: 1rem; }
    .control-row { align-items: flex-end; }
    .control-group { flex-wrap: wrap; }
    .volume-control input { display: none; }
    .time-readout { font-size: .62rem; }
    .checkpoint__options, .focus-choice__grid { grid-template-columns: 1fr; }
    .ending-hero { grid-template-columns: 1fr; width: min(100% - 2rem, 760px); padding-top: 18vh; }
    .ending-focus { min-width: 0; padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 1.2rem; }
    .director-cut, .premium-feature { grid-template-columns: 1fr; width: min(100% - 2rem, 760px); min-height: 0; padding: 8vh 0; }
    .premium-feature__visual { order: 0; }
    .section-heading { grid-template-columns: 1fr; gap: 1rem; }
    .film-collection { width: min(100% - 2rem, 760px); }
    .ending-poster-grid, .library-grid { grid-template-columns: repeat(3, 1fr); }
    .film-library__header { padding: 0 1rem; }
    .library-search input { width: 200px; }
    .film-library__hero, .library-filters, .library-result-count, .library-grid { width: min(100% - 2rem, 760px); }
    .service-intake { grid-template-columns: 1fr; }
    .service-intake__poster-wrap { min-height: 370px; max-height: 42vh; }
    .service-intake__poster-wrap::after { background: linear-gradient(180deg, transparent 52%, #070a10); }
    .service-intake__content { max-height: 50vh; }
}
@media (max-width: 560px) {
    .brand__motto, .film-library__brand small, .ending-nav__brand small { display: none; }
    .header-collection { padding-left: .7rem; }
    .header-collection span { min-width: 1.55rem; height: 1.55rem; margin-left: .35rem; }
    .hero-metrics { gap: 1rem; }
    .field-grid { grid-template-columns: 1fr; }
    .field--half { grid-column: 1 / -1; }
    .birth-moment-row { grid-template-columns: 1fr 92px; }
    .player-title strong { max-width: 50vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .player-badges { display: none; }
    .control-group--left .icon-button:nth-of-type(2), .control-group--left .icon-button:nth-of-type(3), .time-readout { display: none; }
    .control-group--right { gap: 0; }
    .icon-button { width: 36px; height: 36px; }
    .icon-button--primary { width: 43px; height: 43px; }
    .film-caption__meta { margin-bottom: .45rem; }
    .current-cut { right: .6rem; bottom: 5.2rem; width: calc(100vw - 1.2rem); max-height: 72vh; }
    .checkpoint__panel, .focus-choice__panel { width: calc(100vw - 1.2rem); padding: 1.25rem; border-radius: 20px; }
    .checkpoint__panel > button, .focus-choice__panel > button { width: 100%; min-width: 0; }
    .ending-nav { padding: .65rem .8rem; }
    .ending-nav__menu button:not(:last-child) { display: none; }
    .ending-hero { width: calc(100% - 2rem); }
    .ending-hero h2 { font-size: 2.65rem; }
    .ending-poster-grid, .library-grid { grid-template-columns: repeat(2, 1fr); gap: .7rem; }
    .section-heading h3 { font-size: 2.35rem; }
    .library-search { display: none; }
    .film-library__hero { padding-top: 5vh; }
    .film-library__hero h2 { font-size: 2.8rem; }
    .service-dialog { width: 100vw; height: 100svh; max-height: none; border-radius: 0; }
    .service-experience, .service-trailer { min-height: 100svh; }
    .service-intake__content { max-height: 58vh; padding: 1.35rem; }
    .service-form__fields { grid-template-columns: 1fr; }
    .service-field--full { grid-column: auto; }
    .service-midpoint > div, .service-paywall > div { width: calc(100% - 1.2rem); padding: 1.3rem; }
    .service-midpoint > div > div, .service-paywall__actions { grid-template-columns: 1fr; }
}
@media (hover: none), (pointer: coarse) { .pointer-light { display: none; } body.is-cursor-idle, body.is-cursor-idle * { cursor: auto !important; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.service-trailer__top button svg { width: 18px; height: 18px; fill: currentColor; }
.service-trailer__top button .service-icon-play { display: none; }
.service-trailer__top button.is-paused .service-icon-pause { display: none; }
.service-trailer__top button.is-paused .service-icon-play { display: block; }

/* Home surface, streaming rails, hero rhythm, and early player/report interaction guards. */

/* Current accumulated release cascade from v12 through the latest guarded rules. */
/* ========================================================================== */
/* LUMINA v12 — refined transitions, editorial typography and poster rails    */
/* ========================================================================== */
:root {
    --serif: "Bodoni Moda", "Cormorant Garamond", Georgia, serif;
    --serif-ko: "Gowun Batang", "Noto Serif KR", "Batang", serif;
}

/* Slow dissolve: intake → loading → birth */
.intro {
    opacity: 1;
    filter: blur(0) brightness(1);
    transition: opacity 1.75s var(--ease-film), filter 1.9s var(--ease-film);
}
.intro.is-leaving {
    opacity: 0;
    filter: blur(11px) brightness(.42);
    pointer-events: none;
}
.loading-screen {
    visibility: hidden;
    opacity: 0;
    filter: blur(7px) brightness(.55);
    transition: opacity 1.65s var(--ease-film), filter 1.8s var(--ease-film), visibility 0s linear 1.8s;
}
.loading-screen.is-visible {
    visibility: visible;
    opacity: 1;
    filter: blur(0) brightness(1);
    transition-delay: 0s;
}
.loading-screen.is-visible.is-leaving {
    opacity: 0;
    filter: blur(10px) brightness(.48);
    visibility: visible;
}
body.is-logo-video-transition .loading-screen.is-visible {
    background: transparent;
    transition: opacity 2.2s var(--ease-film), filter 2.2s var(--ease-film), visibility 0s linear 2.2s;
}
body.is-logo-video-transition .loading-screen.is-visible.is-leaving {
    filter: blur(14px) brightness(.38);
}
body.is-logo-video-transition .loading-screen__halo {
    display: none;
}
body.is-logo-video-transition .loading-screen__content {
    display: none;
}
body.is-logo-video-transition #cinema .story-video,
body.is-logo-video-transition #cinema .cinema__grade,
body.is-logo-video-transition #cinema .cinema__vignette,
body.is-logo-video-transition #cinema .film-caption {
    transition-duration: 2.35s;
    transition-timing-function: var(--ease-film);
}

/* Display typography: more editorial, Korean captions remain clean sans. */
.hero-copy h1,
.reading-form__head h2,
.loading-screen__content h2,
.checkpoint__panel h2,
.focus-choice__panel h2,
.current-cut__head h2,
.ending-hero h2,
.director-cut__copy h3,
.premium-feature__copy h3,
.section-heading h3,
.film-library__hero h2,
.service-intake__content h2 small,
.service-midpoint h3,
.service-paywall h3 {
    font-family: var(--serif-ko);
    font-weight: 400;
}
.hero-copy h1 { letter-spacing: -.048em; }
.film-caption__text,
.service-trailer__caption h3 {
    font-family: var(--sans);
    font-weight: 500;
    letter-spacing: -.018em;
    line-height: 1.55;
}

.film-caption__text {
    display: block;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-shadow: 0 2px 7px rgba(0, 0, 0, .95), 0 0 22px rgba(0, 0, 0, .72), 0 1px 1px rgba(0, 0, 0, .9);
    line-height: 1.55;
}

/* Fire only appears when the current subtitle explicitly speaks of fire energy. */
.element-overlay {
    position: absolute;
    z-index: -7;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.04);
    filter: blur(1px) saturate(1.18) contrast(1.08) brightness(.82);
    mix-blend-mode: screen;
    pointer-events: none;
    transition: opacity 1.15s var(--ease-film);
}
.element-overlay.is-visible { opacity: .62; }
.cinema.is-paused .element-overlay { animation-play-state: paused; }

body[data-lumina-page="trailer"] #cinema .story-video {
    filter: none;
    transform: none;
}
body[data-lumina-page="trailer"] #cinema .cinema__grade {
    opacity: 0;
    visibility: hidden;
    background: none;
}
body[data-lumina-page="trailer"] #cinema .cinema__vignette {
    opacity: 0;
    visibility: hidden;
    box-shadow: none;
}
body[data-lumina-page="trailer"] #cinema .film-grain--cinema {
    opacity: 0;
    visibility: hidden;
}
body[data-lumina-page="trailer"] #cinema .element-overlay {
    opacity: 0;
    visibility: hidden;
    mix-blend-mode: normal;
}
body[data-lumina-page="trailer"] #cinema .birth-reveal {
    opacity: 0;
    visibility: hidden;
}

/* Player icon system */
.icon-button {
    border: 1px solid transparent;
    background: rgba(4, 6, 10, .08);
}
.icon-button:hover,
.icon-button:focus-visible {
    border-color: rgba(239, 209, 158, .22);
    background: rgba(255, 255, 255, .095);
    color: var(--gold-pale);
}
.icon-button--primary {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(239, 209, 158, .24);
    background: rgba(7, 9, 13, .46);
    color: #fff;
    box-shadow: 0 9px 28px rgba(0, 0, 0, .22), 0 1px 0 rgba(255, 255, 255, .05) inset;
    backdrop-filter: blur(12px);
}
.icon-button--primary:hover {
    border-color: rgba(239, 209, 158, .48);
    background: rgba(214, 173, 112, .14);
    color: var(--gold-pale);
}
.seek-button svg { width: 26px; height: 26px; stroke-width: 1.45; }
.seek-button svg text {
    font-size: 7.4px;
    font-weight: 650;
    letter-spacing: -.03em;
    dominant-baseline: middle;
}

/* Netflix-like home rail */
.home-rail {
    position: relative;
    z-index: 16;
    width: min(100% - 7vw, 1500px);
    margin: -2.1rem auto 3.2rem;
    padding: 1.15rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.home-rail__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: .85rem;
}
.home-rail__head h2 {
    margin: .25rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 400;
    letter-spacing: -.035em;
}
.home-rail__head > button {
    flex: 0 0 auto;
    padding: .6rem 0 .5rem 1rem;
    border-left: 1px solid var(--line);
    background: transparent;
    color: rgba(255, 255, 255, .58);
    font-family: var(--serif);
    font-size: .68rem;
    letter-spacing: .11em;
}
.home-rail__viewport { position: relative; }
.home-rail__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(230px, 19vw);
    gap: .8rem;
    overflow-x: auto;
    padding: .25rem 2.9rem .65rem;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.home-rail__track::-webkit-scrollbar { display: none; }
.home-film-card {
    position: relative;
    min-height: 132px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 13px;
    background: #0a0d13;
    box-shadow: 0 16px 35px rgba(0, 0, 0, .25);
    scroll-snap-align: start;
    text-align: left;
    transition: transform .35s var(--ease-film), border-color .3s, box-shadow .35s;
}
.home-film-card:hover,
.home-film-card:focus-visible {
    z-index: 2;
    transform: translateY(-4px) scale(1.015);
    border-color: rgba(214, 173, 112, .42);
    box-shadow: 0 25px 60px rgba(0, 0, 0, .5);
}
.home-film-card img {
    width: 100%;
    height: 132px;
    object-fit: cover;
    object-position: center 42%;
    filter: brightness(.62) saturate(.9);
    transition: transform .65s var(--ease-film), filter .4s;
}
.home-film-card:hover img { transform: scale(1.055); filter: brightness(.72) saturate(1); }
.home-film-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 6, 10, .94) 0%, rgba(4, 6, 10, .55) 58%, rgba(4, 6, 10, .1)), linear-gradient(180deg, transparent 46%, rgba(0, 0, 0, .78));
}
.home-film-card__copy {
    position: absolute;
    z-index: 2;
    left: 1rem;
    right: .8rem;
    bottom: .82rem;
    display: grid;
    gap: .22rem;
}
.home-film-card__copy small {
    color: var(--gold-soft);
    font-family: var(--serif);
    font-size: .54rem;
    letter-spacing: .12em;
}
.home-film-card__copy strong {
    overflow: hidden;
    color: #fff;
    font-family: var(--serif-ko);
    font-size: .92rem;
    font-weight: 400;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-film-card__copy span {
    overflow: hidden;
    color: rgba(255, 255, 255, .52);
    font-size: .62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-rail__nav {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: .4rem;
    display: grid;
    place-items: center;
    width: 2.55rem;
    padding: 0;
    background: linear-gradient(90deg, rgba(5, 7, 11, .98), rgba(5, 7, 11, .6), transparent);
    color: rgba(255, 255, 255, .82);
    opacity: .78;
}
.home-rail__nav:hover { opacity: 1; }
.home-rail__nav svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.home-rail__nav--prev { left: 0; }
.home-rail__nav--next { right: 0; }

/* Poster artwork now contains no embedded text. HTML typography gets enough room. */
.ending-poster-grid,
.library-grid {
    grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
}
.poster-card { border-radius: 16px; }
.poster-card__image img { object-position: center; }
.poster-card__copy {
    min-height: 154px;
    padding: 1rem 1rem 1.1rem;
}
.poster-card__copy small {
    display: -webkit-box;
    min-height: 2.65em;
    margin-bottom: .45rem;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.poster-card__copy strong {
    display: -webkit-box;
    min-height: 3.05em;
    overflow: hidden;
    font-family: var(--serif-ko);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.poster-card__copy span { -webkit-line-clamp: 3; }
.service-intake__poster-wrap img { object-position: center; }
.service-intake__content h2 { font-family: var(--serif); font-weight: 400; }
.service-intake__content h2 small { font-weight: 400; }

@media (max-width: 1100px) {
    .home-rail { margin-top: -1rem; }
    .home-rail__track { grid-auto-columns: minmax(220px, 35vw); }
}
@media (max-width: 760px) {
    .home-rail { width: calc(100% - 2rem); margin: 0 auto 2.6rem; }
    .home-rail__head { align-items: center; }
    .home-rail__head h2 { font-size: 1.25rem; }
    .home-rail__track { grid-auto-columns: minmax(210px, 74vw); padding-left: 0; padding-right: 0; }
    .home-rail__nav { display: none; }
    .intro__hint { display: none; }
    .poster-card__copy { min-height: 144px; padding: .85rem; }
}

/* ========================================================================== */
/* LUMINA v13 — streaming home, unified transport and detailed film report    */
/* ========================================================================== */

/* Streaming home */
.streaming-home {
    min-height: 100svh;
    overflow: hidden;
    background:
        linear-gradient(180deg, #05070b 0, #05070b 70svh, #07090e 100%);
}
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights {
    height: min(94svh, 980px);
    bottom: auto;
}
.streaming-home .intro__video {
    opacity: .76;
    filter: blur(5px) brightness(.46) saturate(.82) contrast(1.04);
    transform: scale(1.035);
    transition: opacity .9s var(--ease-film), filter .9s var(--ease-film), transform 1.2s var(--ease-film);
}
.streaming-home .intro__depth {
    background:
        linear-gradient(90deg, rgba(3,5,8,.96) 0%, rgba(4,6,10,.82) 36%, rgba(4,6,10,.2) 67%, rgba(3,5,8,.56) 100%),
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.04) 52%, #05070b 93%);
}
.site-header--streaming {
    position: absolute;
    z-index: 80;
    inset: 0 0 auto;
    width: 100%;
    min-height: 74px;
    margin: 0;
    padding: 1.15rem clamp(1.3rem, 3.7vw, 4rem);
    background: linear-gradient(180deg, rgba(2,3,6,.82), rgba(2,3,6,.34) 68%, transparent);
}
.site-header--streaming .brand { flex: 0 0 auto; }
.site-header--streaming .brand__mark { width: 34px; }
.site-header--streaming .brand__lockup strong { font-size: 1.06rem; }
.site-header--streaming .brand__lockup small { font-size: .48rem; }
.home-nav {
    display: flex;
    align-items: center;
    gap: clamp(.25rem, 1.15vw, 1.2rem);
    margin-right: auto;
    margin-left: clamp(1.4rem, 3.2vw, 3.4rem);
}
.home-nav button {
    position: relative;
    padding: .55rem .2rem;
    background: transparent;
    color: rgba(255,255,255,.62);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: -.01em;
    transition: color .25s;
}
.home-nav button::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: .15rem;
    height: 1px;
    background: var(--gold);
    transition: left .28s var(--ease-film), right .28s var(--ease-film);
}
.home-nav button:hover,
.home-nav button[aria-pressed="true"] { color: #fff; }
.home-nav button[aria-pressed="true"]::after { left: .15rem; right: .15rem; }
.home-header-actions { display: flex; align-items: center; gap: .8rem; }
.home-search-button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(255,255,255,.86);
}
.home-search-button:hover { background: rgba(255,255,255,.08); }
.home-search-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.site-header--streaming .header-collection {
    border-left-color: rgba(214,173,112,.2);
    font-size: .68rem;
}
.site-header--streaming .header-collection span { min-width: 1.55rem; height: 1.55rem; margin-left: .45rem; }

.streaming-hero {
    position: relative;
    z-index: 12;
    display: flex;
    align-items: flex-end;
    min-height: min(87svh, 930px);
    padding: clamp(8.5rem, 19vh, 13rem) clamp(1.4rem, 4vw, 4.5rem) clamp(10.5rem, 20vh, 14rem);
}
.streaming-hero__content {
    position: relative;
    z-index: 2;
    width: min(760px, 58vw);
    text-shadow: 0 3px 26px rgba(0,0,0,.64);
}
.streaming-hero__content h1 {
    max-width: 720px;
    margin: .72rem 0 1rem;
    font-family: var(--serif-ko);
    font-size: clamp(3.05rem, 6vw, 7rem);
    font-weight: 400;
    letter-spacing: -.064em;
    line-height: 1.08;
    text-wrap: balance;
}
.streaming-hero__description {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: clamp(.95rem, 1.15vw, 1.12rem);
    font-weight: 400;
    line-height: 1.82;
    word-break: keep-all;
}
.streaming-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .75rem;
    margin-top: 1.2rem;
    color: rgba(255,255,255,.72);
    font-size: .72rem;
    letter-spacing: .06em;
}
.streaming-hero__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 .58rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 4px;
    background: rgba(7,9,13,.24);
    backdrop-filter: blur(8px);
}
.streaming-hero__meta span:first-child { border-color: rgba(214,173,112,.36); color: var(--gold-pale); }
.streaming-hero__actions { display: flex; flex-wrap: wrap; gap: .72rem; margin-top: 1.45rem; }
.streaming-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 50px;
    padding: 0 1.25rem;
    border-radius: 5px;
    font-size: .94rem;
    font-weight: 650;
    transition: transform .22s, background .22s, color .22s;
}
.streaming-action:hover { transform: translateY(-1px); }
.streaming-action svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.streaming-action--primary { background: #f5f3ee; color: #06080c; }
.streaming-action--primary svg path { fill: currentColor; stroke: none; }
.streaming-action--primary:hover { background: var(--gold-pale); }
.streaming-action--secondary { background: rgba(82,86,92,.72); color: #fff; backdrop-filter: blur(12px); }
.streaming-action--secondary:hover { background: rgba(102,106,113,.78); }
.streaming-hero__fade {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(2,3,6,.82) 0%, transparent 58%),
        linear-gradient(180deg, transparent 52%, #05070b 100%);
}


.streaming-row {
    position: relative;
    z-index: 20;
    width: 100%;
    margin: 0 auto 2rem;
    padding: 0 clamp(1.3rem, 4vw, 4.5rem);
}
.streaming-row--featured { margin-top: -8.7rem; }
.streaming-row--last { padding-bottom: 4.2rem; }
.streaming-row__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
}
.streaming-row__head h2 {
    margin: .18rem 0 0;
    font-family: var(--sans);
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
    font-weight: 650;
    letter-spacing: -.025em;
}
.streaming-row__head > button {
    padding: .55rem .1rem;
    background: transparent;
    color: rgba(255,255,255,.55);
    font-size: .7rem;
    letter-spacing: .07em;
}
.streaming-row__head > button:hover { color: var(--gold-pale); }
.streaming-row__viewport { position: relative; }
.streaming-row__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(245px, 20vw);
    gap: .58rem;
    overflow-x: auto;
    padding: .35rem .05rem 1rem;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.streaming-row__track::-webkit-scrollbar { display: none; }
.streaming-card {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 138px;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 7px;
    background: #0b0e14;
    box-shadow: 0 15px 34px rgba(0,0,0,.26);
    scroll-snap-align: start;
    text-align: left;
    transform-origin: center bottom;
    transition: transform .32s var(--ease-film), border-color .28s, box-shadow .34s;
}
.streaming-card:hover,
.streaming-card:focus-visible,
.streaming-card[aria-selected="true"] {
    z-index: 4;
    transform: scale(1.055) translateY(-5px);
    border-color: rgba(214,173,112,.5);
    box-shadow: 0 25px 56px rgba(0,0,0,.55);
}
.streaming-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 39%;
    filter: brightness(.65) saturate(.88) contrast(1.06);
    transition: transform .7s var(--ease-film), filter .36s;
}
.streaming-card:hover img,
.streaming-card:focus-visible img,
.streaming-card[aria-selected="true"] img { transform: scale(1.045); filter: brightness(.78) saturate(1); }
.streaming-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 25%, rgba(2,3,5,.22) 50%, rgba(2,3,5,.94) 100%);
}
.streaming-card__copy {
    position: absolute;
    z-index: 2;
    left: .85rem;
    right: .75rem;
    bottom: .72rem;
    display: grid;
    gap: .15rem;
}
.streaming-card__copy small { color: var(--gold-soft); font-family: var(--serif); font-size: .52rem; letter-spacing: .12em; }
.streaming-card__copy strong {
    overflow: hidden;
    color: #fff;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.streaming-card__copy span { color: rgba(255,255,255,.56); font-size: .6rem; }
.streaming-card__rank {
    position: absolute;
    z-index: 3;
    top: .55rem;
    left: .55rem;
    display: grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    padding: 0 .35rem;
    border: 1px solid rgba(214,173,112,.38);
    border-radius: 50%;
    background: rgba(3,5,8,.62);
    color: var(--gold-pale);
    font-family: var(--serif);
    font-size: .64rem;
    backdrop-filter: blur(10px);
}
.streaming-row__nav {
    position: absolute;
    z-index: 8;
    top: .35rem;
    bottom: 1rem;
    display: grid;
    place-items: center;
    width: 2.7rem;
    padding: 0;
    background: rgba(3,5,8,.76);
    color: #fff;
    opacity: 0;
    transition: opacity .25s, background .25s;
    backdrop-filter: blur(10px);
}
.streaming-row__viewport:hover .streaming-row__nav,
.streaming-row__nav:focus-visible { opacity: .9; }
.streaming-row__nav:hover { background: rgba(3,5,8,.94); }
.streaming-row__nav svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.streaming-row__nav--prev { left: 0; border-radius: 7px 0 0 7px; }
.streaming-row__nav--next { right: 0; border-radius: 0 7px 7px 0; }

/* Dense intake glass opens as a cinematic overlay rather than occupying the hero. */
.intake-layer {
    position: fixed;
    z-index: 4600;
    inset: 0;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 4vw, 3rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .48s var(--ease-film), visibility 0s linear .48s;
}
.intake-layer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.intake-layer__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 68% 38%, rgba(214,173,112,.09), transparent 26%), rgba(1,2,4,.72);
    backdrop-filter: blur(13px) brightness(.64);
}
.intake-layer .glass-shell {
    width: min(94vw, 600px);
    max-height: min(92svh, 900px);
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    transform: translateY(26px) scale(.975);
    transition: opacity .48s var(--ease-film), transform .58s var(--ease-film);
    scrollbar-width: thin;
    scrollbar-color: rgba(214,173,112,.3) transparent;
}
.intake-layer.is-open .glass-shell { opacity: 1; transform: translateY(0) scale(1); }
.intake-close {
    position: absolute;
    z-index: 20;
    top: .9rem;
    right: .9rem;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background: rgba(5,7,11,.38);
    color: rgba(255,255,255,.65);
    font-size: 1.25rem;
    backdrop-filter: blur(12px);
}
.intake-close:hover { border-color: rgba(214,173,112,.38); color: #fff; }
body.is-intake-open { overflow: hidden; }

/* Unified transport language inspired by premium mobile streaming controls. */
.transport-controls { align-items: center; gap: .08rem; }
.transport-button,
.icon-button--primary.transport-button {
    width: 50px;
    height: 50px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(255,255,255,.96);
    box-shadow: none;
    backdrop-filter: none;
}
.transport-button:hover,
.transport-button:focus-visible,
.icon-button--primary.transport-button:hover,
.icon-button--primary.transport-button:focus-visible {
    border: 0;
    background: rgba(255,255,255,.08);
    color: var(--gold-pale);
}
.transport-button--play,
.icon-button--primary.transport-button--play { width: 58px; height: 58px; }
.transport-button svg { width: 39px; height: 39px; overflow: visible; }
.transport-button--play svg { width: 37px; height: 37px; }
.transport-button svg .transport-ring,
.transport-button svg .transport-chevron { fill: none; stroke: currentColor; stroke-width: 2.45; stroke-linecap: round; stroke-linejoin: round; }
.transport-button svg .transport-chevron { stroke-width: 2.7; }
.transport-button svg text {
    fill: currentColor;
    stroke: none;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 620;
    dominant-baseline: middle;
}
.transport-button--play .icon-pause rect { fill: currentColor; stroke: none; }

/* Detailed AFTER CREDITS report */
.fortune-report {
    width: min(100% - 8vw, 1440px);
    margin: 0 auto;
    padding: 10vh 0 11vh;
    border-top: 1px solid rgba(255,255,255,.09);
}
.fortune-report__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem;
}
.fortune-report__head h3 {
    margin: .6rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(2.2rem, 4vw, 4.6rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: 1.2;
}
.fortune-report__identity {
    display: grid;
    min-width: 250px;
    gap: .32rem;
    padding: .9rem 0 .9rem 1.4rem;
    border-left: 1px solid var(--line);
    text-align: left;
}
.fortune-report__identity span { color: var(--gold); font-family: var(--serif); font-size: .67rem; letter-spacing: .12em; }
.fortune-report__identity strong { font-family: var(--serif-ko); font-size: 1.3rem; font-weight: 400; }
.fortune-report__identity small { color: var(--muted-2); font-size: .7rem; line-height: 1.5; }
.fortune-report__highlights {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    background: rgba(255,255,255,.08);
}
.fortune-highlight {
    min-height: 230px;
    padding: clamp(1.4rem, 2.6vw, 2.4rem);
    background: linear-gradient(150deg, rgba(15,18,25,.94), rgba(7,9,14,.97));
}
.fortune-highlight--primary {
    background: radial-gradient(circle at 100% 0, rgba(214,173,112,.16), transparent 42%), linear-gradient(145deg, rgba(26,22,17,.94), rgba(8,9,13,.98));
}
.fortune-highlight small,
.fortune-report__reading small { color: var(--gold); font-family: var(--serif); font-size: .62rem; letter-spacing: .15em; }
.fortune-highlight h4,
.fortune-report__reading h4,
.fortune-report__actions h4 {
    margin: .75rem 0 .8rem;
    font-family: var(--serif-ko);
    font-size: clamp(1.35rem, 2vw, 2.1rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.42;
}
.fortune-highlight p,
.fortune-report__reading p,
.fortune-report__actions p {
    margin: 0;
    color: rgba(255,255,255,.63);
    font-size: .88rem;
    line-height: 1.86;
    word-break: keep-all;
}
.fortune-report__timeline {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin: 2rem 0;
    border-top: 1px solid rgba(255,255,255,.09);
    border-bottom: 1px solid rgba(255,255,255,.09);
}
.report-timeline-card {
    position: relative;
    min-height: 142px;
    padding: 1.2rem 1rem 1.25rem;
    border-right: 1px solid rgba(255,255,255,.08);
}
.report-timeline-card:last-child { border-right: 0; }
.report-timeline-card::before {
    content: "";
    position: absolute;
    top: -4px;
    left: 1rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 18px rgba(214,173,112,.55);
}
.report-timeline-card small { color: var(--gold); font-family: var(--serif); font-size: .56rem; letter-spacing: .12em; }
.report-timeline-card strong { display: block; margin: .55rem 0 .45rem; font-family: var(--serif-ko); font-size: .96rem; font-weight: 400; line-height: 1.45; }
.report-timeline-card span { display: block; color: var(--muted-2); font-size: .67rem; line-height: 1.65; word-break: keep-all; }
.fortune-report__reading {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.fortune-report__reading article {
    min-height: 240px;
    padding: clamp(1.4rem, 2.8vw, 2.5rem);
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 18px;
    background: rgba(8,10,15,.76);
    backdrop-filter: blur(18px);
}
.fortune-report__actions {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: clamp(2rem, 5vw, 6rem);
    margin-top: 2rem;
    padding: clamp(1.6rem, 3.5vw, 3.3rem);
    border: 1px solid rgba(214,173,112,.2);
    border-radius: 20px;
    background: linear-gradient(120deg, rgba(214,173,112,.08), rgba(9,11,16,.88) 36%, rgba(5,7,11,.94));
}
.fortune-report__actions ol { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; counter-reset: report-action; }
.fortune-report__actions li {
    position: relative;
    min-height: 58px;
    padding: .9rem 1rem .9rem 3.6rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.74);
    font-size: .83rem;
    line-height: 1.72;
    word-break: keep-all;
    counter-increment: report-action;
}
.fortune-report__actions li:last-child { border-bottom: 0; }
.fortune-report__actions li::before {
    content: "0" counter(report-action);
    position: absolute;
    left: .2rem;
    top: .8rem;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 1.1rem;
    letter-spacing: .06em;
}

@media (max-width: 1180px) {
    .home-nav { gap: .55rem; margin-left: 1.5rem; }
    .home-nav button { font-size: .72rem; }
    .streaming-hero__content { width: min(720px, 70vw); }
    .streaming-row__track { grid-auto-columns: minmax(230px, 28vw); }
    .fortune-report__timeline { grid-template-columns: repeat(3, 1fr); }
    .report-timeline-card:nth-child(3n) { border-right: 0; }
    .report-timeline-card:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.08); }
}

@media (max-width: 900px) {
    .site-header--streaming { min-height: 68px; }
    .home-nav { display: none; }
    .home-header-actions { margin-left: auto; }
    .site-header--streaming .header-collection { font-size: 0; border-left: 0; padding-left: 0; }
    .site-header--streaming .header-collection span { font-size: .62rem; }
    .streaming-hero { min-height: 80svh; padding-bottom: 10rem; }
    .streaming-hero__content { width: min(720px, 86vw); }
    .streaming-row--featured { margin-top: -6.2rem; }
    .streaming-row__track { grid-auto-columns: minmax(220px, 42vw); }
    .fortune-report__head { align-items: start; flex-direction: column; }
    .fortune-report__identity { width: 100%; padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 1rem; }
    .fortune-report__highlights { grid-template-columns: 1fr; }
    .fortune-highlight { min-height: 0; }
    .fortune-report__actions { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .site-header--streaming { padding: .85rem 1rem; }
    .site-header--streaming .brand__lockup small { display: none; }
    .site-header--streaming .brand__mark { width: 30px; }
    .site-header--streaming .brand__lockup strong { font-size: .95rem; letter-spacing: .26em; }
    .home-search-button { width: 34px; height: 34px; }
    .streaming-hero {
        align-items: flex-end;
        min-height: 76svh;
        padding: 8rem 1rem 8.2rem;
    }
    .streaming-hero__content { width: 100%; }
    .streaming-hero__content h1 { font-size: clamp(2.65rem, 13vw, 4.5rem); }
    .streaming-hero__description { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: .88rem; }
    .streaming-hero__meta span:nth-child(4) { display: none; }
    .streaming-action { min-height: 46px; padding: 0 1rem; font-size: .82rem; }
    .streaming-row { padding: 0 1rem; margin-bottom: 1.25rem; }
    .streaming-row--featured { margin-top: -4.8rem; }
    .streaming-row__head h2 { font-size: 1.08rem; }
    .streaming-row__head .eyebrow { font-size: .58rem; }
    .streaming-row__track { grid-auto-columns: minmax(210px, 72vw); gap: .5rem; }
    .streaming-row__nav { display: none; }
    .streaming-card { min-height: 118px; }
    .intake-layer { padding: .65rem; align-items: end; }
    .intake-layer .glass-shell { width: 100%; max-height: 92svh; border-radius: 24px 24px 0 0; }
    .transport-button,
    .icon-button--primary.transport-button { width: 44px; height: 44px; }
    .transport-button--play,
    .icon-button--primary.transport-button--play { width: 50px; height: 50px; }
    .transport-button svg { width: 34px; height: 34px; }
    .transport-button--play svg { width: 32px; height: 32px; }
    .fortune-report { width: calc(100% - 2rem); padding: 7vh 0; }
    .fortune-report__head h3 { font-size: 2.55rem; }
    .fortune-report__timeline { grid-template-columns: repeat(2, 1fr); }
    .report-timeline-card:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.08); }
    .report-timeline-card:nth-child(2n) { border-right: 0; }
    .report-timeline-card:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.08); }
    .fortune-report__reading { grid-template-columns: 1fr; }
    .fortune-report__reading article { min-height: 0; }
}

/* ========================================================================== */
/* LUMINA v13 — streaming home, unified transport, detailed final report      */
/* ========================================================================== */

.intro__feature-backdrop {
    position: absolute;
    z-index: -7;
    inset: 0;
    width: 100%;
    height: min(100svh, 980px);
    object-fit: cover;
    object-position: center;
    opacity: .58;
    filter: saturate(.78) contrast(1.04) brightness(.72);
    transform: scale(1.018);
    pointer-events: none;
}
.intro__depth {
    background:
        linear-gradient(90deg, rgba(2,4,7,.98) 0%, rgba(4,6,10,.82) 43%, rgba(4,6,10,.38) 70%, rgba(3,5,8,.8) 100%),
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 54%, #05070b 94%);
}
.intro__video { opacity: .22; filter: blur(16px) brightness(.34) saturate(.5); }

.site-header {
    position: sticky;
    top: 0;
    z-index: 90;
    width: 100%;
    padding: 1.15rem 3.5vw;
    background: linear-gradient(180deg, rgba(3,5,8,.92), rgba(3,5,8,.58) 72%, transparent);
    backdrop-filter: blur(13px) saturate(120%);
    -webkit-backdrop-filter: blur(13px) saturate(120%);
}
.home-nav {
    display: flex;
    align-items: center;
    gap: clamp(.85rem, 1.7vw, 1.75rem);
    margin-left: clamp(1.4rem, 3vw, 3.6rem);
    margin-right: auto;
}
.home-nav button {
    position: relative;
    padding: .7rem 0;
    background: transparent;
    color: rgba(255,255,255,.62);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: -.01em;
    transition: color .2s ease;
}
.home-nav button::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: .24rem;
    height: 1px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s var(--ease-film);
}
.home-nav button:hover,
.home-nav button.is-current { color: #fff; }
.home-nav button.is-current::after { transform: scaleX(1); }
.site-header__actions { display: flex; align-items: center; gap: .9rem; }
.header-search {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(255,255,255,.78);
}
.header-search:hover { background: rgba(255,255,255,.08); color: #fff; }
.header-search svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.header-collection { border-left-color: rgba(214,173,112,.22); }

.intro__layout {
    min-height: calc(100svh - 92px);
    padding-top: clamp(4rem, 9vh, 8.5rem);
    padding-bottom: clamp(5rem, 10vh, 9rem);
}
.hero-copy { max-width: 720px; }
.hero-copy .eyebrow { text-shadow: 0 2px 20px rgba(0,0,0,.7); }
.hero-copy h1 { max-width: 700px; font-size: clamp(3.15rem, 5.25vw, 6.6rem); }
.hero-copy__body { max-width: 600px; color: rgba(255,255,255,.76); font-family: var(--sans); font-weight: 350; line-height: 1.82; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .72rem; margin-top: 2rem; }
.hero-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .66rem;
    min-height: 50px;
    padding: .75rem 1.35rem;
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 650;
    transition: transform .22s, background .22s, color .22s;
}
.hero-actions button:hover { transform: translateY(-2px); }
.hero-actions svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hero-play-button { background: #f5f2eb; color: #090b0f; }
.hero-play-button svg path { fill: currentColor; stroke: none; }
.hero-play-button:hover { background: var(--gold-pale); }
.hero-info-button { background: rgba(108,112,120,.5); color: #fff; backdrop-filter: blur(12px); }
.hero-info-button:hover { background: rgba(128,132,140,.66); }
.hero-metrics { margin-top: 2rem; padding-top: 1.15rem; }

.home-shelves {
    position: relative;
    z-index: 18;
    width: 100%;
    padding: 0 0 5rem;
    background: linear-gradient(180deg, transparent 0, rgba(5,7,11,.92) 5rem, #05070b 18rem);
}
.home-rail {
    width: 100%;
    margin: 0 auto;
    padding: 1.1rem 3.5vw 1.7rem;
    border-top: 0;
}
.home-rail--featured { margin-top: -4.6rem; }
.home-rail__head { margin-bottom: .72rem; }
.home-rail__head h2 { font-family: var(--sans); font-size: clamp(1.05rem, 1.4vw, 1.38rem); font-weight: 650; letter-spacing: -.025em; }
.home-rail__viewport { margin: 0 -3.5vw; }
.home-rail__track {
    grid-auto-columns: clamp(260px, 20vw, 360px);
    gap: .45rem;
    padding: .4rem 3.5vw 1.25rem;
}
.home-film-card {
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    border-radius: 7px;
    border-color: rgba(255,255,255,.07);
    transform-origin: center;
}
.home-film-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(.8) saturate(.88); }
.home-film-card::after {
    background: linear-gradient(90deg, rgba(4,6,10,.85) 0%, rgba(4,6,10,.28) 56%, transparent 82%), linear-gradient(180deg, transparent 40%, rgba(0,0,0,.76));
}
.home-film-card__copy { left: 1rem; right: .85rem; bottom: .75rem; }
.home-film-card__copy small { font-size: .5rem; }
.home-film-card__copy strong { max-width: 84%; font-family: var(--sans); font-size: .98rem; font-weight: 650; }
.home-film-card__copy span { font-size: .61rem; }
.home-film-card:hover,
.home-film-card:focus-visible { transform: translateY(-5px) scale(1.035); border-color: rgba(214,173,112,.38); }
.home-rail__nav { top: .4rem; bottom: 1.25rem; width: 3.25vw; min-width: 36px; }
.intro__hint { display: none; }

/* Transport controls follow one visual language: rewind, pause/play, forward. */
.control-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1.1rem;
}
.control-group--left { justify-self: start; }
.control-group--right { justify-self: end; }
.transport-controls { display: inline-flex; align-items: center; justify-content: center; gap: clamp(.65rem, 1.6vw, 1.35rem); }
.transport-button {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: rgba(3,5,8,.22);
    color: rgba(255,255,255,.96);
    text-shadow: 0 2px 8px rgba(0,0,0,.9);
    transition: transform .18s, background .2s, border-color .2s, color .2s;
}
.transport-button:hover,
.transport-button:focus-visible { border-color: rgba(214,173,112,.3); background: rgba(255,255,255,.1); color: var(--gold-pale); }
.transport-button:active { transform: scale(.93); }
.transport-button svg { width: 48px; height: 48px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.transport-button svg text { fill: currentColor; stroke: none; font-family: var(--sans); font-size: 10px; font-weight: 650; }
.transport-button--main { width: 68px; height: 68px; background: rgba(3,5,8,.34); border-color: rgba(255,255,255,.14); box-shadow: 0 16px 42px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.025) inset; backdrop-filter: blur(14px); }
.transport-button--main svg { width: 48px; height: 48px; fill: currentColor; stroke: none; }
.transport-button--main:hover { background: rgba(214,173,112,.12); border-color: rgba(214,173,112,.45); }
.transport-chevron { stroke-width: 2.2; }
.transport-arc { opacity: .94; }

/* The final report is the user's selected question plus a complete film summary. */
.fortune-report {
    position: relative;
    width: min(100% - 8vw, 1440px);
    margin: -6vh auto 11vh;
    padding: clamp(1.5rem, 3.4vw, 3.6rem);
    overflow: hidden;
    border: 1px solid rgba(214,173,112,.2);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(17,21,28,.88), rgba(6,8,12,.94));
    box-shadow: 0 42px 110px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.08) inset;
    backdrop-filter: blur(28px) saturate(126%);
}
.fortune-report::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 84% 0%, rgba(214,173,112,.12), transparent 35%), linear-gradient(120deg, rgba(255,255,255,.025), transparent 32%);
}
.fortune-report__header,
.fortune-report__selected,
.fortune-report__grid,
.fortune-report__guidance,
.fortune-report__timeline { position: relative; z-index: 1; }
.fortune-report__header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 1.7rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.fortune-report__header h3 { margin: .45rem 0 0; font-family: var(--serif-ko); font-size: clamp(1.8rem, 3vw, 3.4rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.3; }
.fortune-report__identity { display: grid; gap: .45rem; min-width: 230px; padding-left: 1.5rem; border-left: 1px solid var(--line); text-align: right; }
.fortune-report__identity span { color: rgba(255,255,255,.48); font-size: .72rem; letter-spacing: .05em; }
.fortune-report__identity strong { color: var(--gold-soft); font-family: var(--serif-ko); font-size: 1.16rem; font-weight: 400; }
.fortune-report__selected { display: grid; grid-template-columns: 170px minmax(180px, .7fr) minmax(260px, 1.5fr); align-items: center; gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.fortune-report__selected > span { color: var(--gold); font-size: .68rem; font-weight: 650; letter-spacing: .12em; }
.fortune-report__selected strong { font-family: var(--serif-ko); font-size: 1.48rem; font-weight: 400; }
.fortune-report__selected p { margin: 0; color: rgba(255,255,255,.63); font-size: .9rem; line-height: 1.72; }
.fortune-report__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 1px; background: rgba(255,255,255,.08); }
.fortune-report__grid article { min-height: 215px; padding: clamp(1.3rem, 2.3vw, 2.25rem); background: rgba(7,9,14,.86); }
.fortune-report__grid small { color: var(--gold); font-family: var(--serif); font-size: .62rem; letter-spacing: .15em; }
.fortune-report__grid h4,
.fortune-report__guidance h4 { margin: .62rem 0 .85rem; font-family: var(--serif-ko); font-size: clamp(1.18rem, 1.7vw, 1.55rem); font-weight: 400; letter-spacing: -.03em; }
.fortune-report__grid p { margin: 0; color: rgba(255,255,255,.68); font-size: .92rem; line-height: 1.92; word-break: keep-all; }
.fortune-report__guidance { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr); gap: 2rem; align-items: start; padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.fortune-report__guidance ol { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; counter-reset: report-guide; }
.fortune-report__guidance li { display: grid; grid-template-columns: 34px 1fr; gap: .85rem; align-items: start; color: rgba(255,255,255,.75); font-size: .9rem; line-height: 1.72; counter-increment: report-guide; }
.fortune-report__guidance li::before { content: counter(report-guide, decimal-leading-zero); color: var(--gold); font-family: var(--serif); font-size: .72rem; padding-top: .16rem; }
.fortune-report__timeline { padding-top: 1.8rem; }
.fortune-report__timeline ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.fortune-report__timeline li { padding: 1rem; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.025); }
.fortune-report__timeline li span { display: block; margin-bottom: .35rem; color: var(--gold); font-family: var(--serif); font-size: .58rem; letter-spacing: .14em; }
.fortune-report__timeline li strong { display: block; font-family: var(--serif-ko); font-size: .94rem; font-weight: 400; line-height: 1.48; }
.fortune-report__timeline li small { display: block; margin-top: .35rem; color: rgba(255,255,255,.42); font-size: .68rem; line-height: 1.5; }

@media (max-width: 1180px) {
    .home-nav { display: none; }
    .site-header__actions { margin-left: auto; }
    .intro__layout { grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr); gap: 3rem; }
    .control-group--left .time-readout { display: none; }
    .fortune-report__selected { grid-template-columns: 150px 1fr; }
    .fortune-report__selected p { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
    .site-header { padding-inline: 1rem; }
    .header-collection { font-size: 0; padding-left: .75rem; }
    .header-collection span { margin-left: 0; font-size: .66rem; }
    .intro__layout { grid-template-columns: 1fr; width: min(100% - 2rem, 680px); padding-top: 5rem; }
    .hero-copy { padding-bottom: 0; }
    .home-rail { padding-inline: 1rem; }
    .home-rail__viewport { margin-inline: -1rem; }
    .home-rail__track { grid-auto-columns: minmax(250px, 70vw); padding-inline: 1rem; }
    .home-rail__nav { display: none; }
    .control-row { grid-template-columns: 1fr auto 1fr; }
    .control-group--left .volume-control input,
    .control-group--left .time-readout { display: none; }
    .transport-button { width: 50px; height: 50px; }
    .transport-button--main { width: 60px; height: 60px; }
    .transport-button svg { width: 43px; height: 43px; }
    .control-group--right { gap: .15rem; }
    .control-group--right .speed-control { display: none; }
    .fortune-report { width: calc(100% - 2rem); margin-top: -2rem; padding: 1.25rem; }
    .fortune-report__header { display: grid; }
    .fortune-report__identity { min-width: 0; padding: 1rem 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); text-align: left; }
    .fortune-report__selected { grid-template-columns: 1fr; gap: .55rem; }
    .fortune-report__selected p { grid-column: auto; }
    .fortune-report__grid { grid-template-columns: 1fr; }
    .fortune-report__grid article { min-height: 0; }
    .fortune-report__guidance { grid-template-columns: 1fr; }
    .fortune-report__timeline ol { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .brand__lockup small { display: none; }
    .site-header__actions { gap: .2rem; }
    .hero-copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
    .hero-actions button { flex: 1 1 auto; }
    .hero-metrics { gap: .9rem 1.2rem; }
    .player-controls { padding-left: .65rem; padding-right: .65rem; }
    .control-group--left { display: none; }
    .control-row { grid-template-columns: 1fr auto; }
    .transport-controls { justify-self: start; gap: .25rem; }
    .transport-button { width: 44px; height: 44px; }
    .transport-button--main { width: 52px; height: 52px; }
    .transport-button svg { width: 39px; height: 39px; }
    .control-group--right .caption-settings,
    .control-group--right #fullscreenToggle { display: none; }
    .fortune-report__timeline ol { grid-template-columns: 1fr; }
}
.intro__feature-backdrop { transition: opacity .32s ease, filter .45s ease, transform .7s var(--ease-film); }
.intro__feature-backdrop.is-changing { opacity: .24; filter: blur(5px) saturate(.65) brightness(.58); transform: scale(1.035); }

/* ========================================================================== */
/* LUMINA v13 FINAL — streaming home, intake drawer, unified player controls  */
/* ========================================================================== */

.streaming-home {
    min-height: 100svh;
    overflow: clip;
    background: #05070b;
}
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection {
    position: absolute;
    top: 0;
    bottom: auto;
    height: min(100svh, 980px);
}
.streaming-home .intro__video {
    width: 100%;
    opacity: .72;
    filter: blur(7px) brightness(.42) saturate(.78) contrast(1.06);
    transform: scale(1.045);
}
.streaming-home .intro__depth {
    background:
        linear-gradient(90deg, rgba(2,4,7,.98) 0%, rgba(3,5,9,.86) 39%, rgba(4,6,10,.3) 69%, rgba(2,4,7,.7) 100%),
        linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.02) 48%, #05070b 96%);
}
.streaming-home > .film-grain { height: min(100svh, 980px); }
.site-header--streaming {
    position: sticky;
    top: 0;
    z-index: 150;
    display: flex;
    width: 100%;
    min-height: 74px;
    margin: 0;
    padding: 1rem clamp(1rem, 3.5vw, 4rem);
    background: linear-gradient(180deg, rgba(2,3,6,.94), rgba(2,3,6,.64) 68%, rgba(2,3,6,.06));
    backdrop-filter: blur(16px) saturate(118%);
    -webkit-backdrop-filter: blur(16px) saturate(118%);
}
.site-header__left { display: flex; align-items: center; min-width: 0; flex: 1 1 auto; }
.site-header--streaming .home-nav { margin-right: auto; }
.site-header--streaming .home-nav button[aria-current="page"] { color: #fff; }
.site-header--streaming .home-nav button[aria-current="page"]::after { transform: scaleX(1); left: 0; right: 0; }
.site-header__actions { flex: 0 0 auto; }
.header-search svg { stroke-linecap: round; stroke-linejoin: round; }

.streaming-hero {
    position: relative;
    z-index: 12;
    display: flex;
    align-items: flex-end;
    min-height: min(89svh, 980px);
    padding: clamp(8rem, 17vh, 12rem) clamp(1.2rem, 4vw, 4.5rem) clamp(10rem, 20vh, 14rem);
}
.streaming-hero__content {
    position: relative;
    z-index: 3;
    width: min(760px, 62vw);
    max-width: 760px;
    padding: 0;
    text-shadow: 0 3px 26px rgba(0,0,0,.68);
}
.streaming-hero__content h1 {
    max-width: 760px;
    margin: .72rem 0 1.15rem;
    font-size: clamp(3.1rem, 5.7vw, 7rem);
    line-height: 1.08;
}
.streaming-hero__content .hero-copy__body {
    max-width: 660px;
    color: rgba(255,255,255,.8);
    font-family: var(--sans);
    font-size: clamp(.95rem, 1.12vw, 1.12rem);
    font-weight: 380;
    line-height: 1.82;
}
.streaming-hero .hero-metrics {
    max-width: 650px;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top-color: rgba(255,255,255,.12);
}
.streaming-hero .hero-actions { margin-top: 1.45rem; }
.streaming-hero .hero-play-button,
.streaming-hero .hero-info-button { border-radius: 5px; }
.streaming-hero__fade {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(2,3,6,.8) 0%, transparent 59%),
        linear-gradient(180deg, transparent 53%, #05070b 100%);
}

.home-programs {
    position: relative;
    z-index: 25;
    margin-top: -8.5rem;
    padding: 0 0 4.5rem;
    background: linear-gradient(180deg, transparent 0, rgba(5,7,11,.96) 8.5rem, #05070b 19rem);
}
.home-programs .streaming-row { margin-bottom: 1.35rem; }
.home-programs .streaming-row--featured { margin-top: 0; }
.home-programs .streaming-row__head h2 { font-family: var(--sans); font-weight: 650; }
.home-programs .streaming-card__copy strong { font-family: var(--sans); font-weight: 650; }

.reading-drawer {
    position: fixed;
    z-index: 4700;
    inset: 0;
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .42s var(--ease-film), visibility 0s linear .5s;
}
.reading-drawer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.reading-drawer__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 72% 40%, rgba(214,173,112,.08), transparent 30%), rgba(1,2,4,.72);
    backdrop-filter: blur(15px) brightness(.62);
    -webkit-backdrop-filter: blur(15px) brightness(.62);
}
.reading-drawer__panel {
    position: relative;
    z-index: 2;
    width: min(720px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: 0;
    overscroll-behavior: contain;
    transform: translateY(22px) scale(.985);
    opacity: 0;
    transition: transform .58s var(--ease-film), opacity .45s var(--ease-film);
    scrollbar-width: thin;
    scrollbar-color: rgba(214,173,112,.3) transparent;
}
.reading-drawer.is-open .reading-drawer__panel { transform: translateY(0) scale(1); opacity: 1; }
.reading-drawer__panel .glass-shell { width: 100%; min-height: min-content; margin: 0; }
.reading-drawer__close {
    position: sticky;
    z-index: 30;
    top: .25rem;
    float: right;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin: .55rem .55rem -3.1rem 0;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    background: rgba(4,6,10,.5);
    color: rgba(255,255,255,.72);
    font-size: 1.25rem;
    backdrop-filter: blur(12px);
}
.reading-drawer__close:hover,
.reading-drawer__close:focus-visible { border-color: rgba(214,173,112,.42); color: #fff; }
body.is-reading-drawer-open { overflow: hidden; }

/* One transport language: circular 10-second arrows and a centered play/pause mark. */
.transport-controls { display: inline-flex; align-items: center; justify-content: center; gap: clamp(.55rem, 1.5vw, 1.2rem); }
.transport-button,
.transport-button--main {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: rgba(2,4,7,.2);
    color: rgba(255,255,255,.98);
    box-shadow: none;
    transition: transform .18s, background .2s, border-color .2s, color .2s;
}
.transport-button--main { width: 68px; height: 68px; border-color: rgba(255,255,255,.13); background: rgba(2,4,7,.38); backdrop-filter: blur(14px); }
.transport-button:hover,
.transport-button:focus-visible { border-color: rgba(214,173,112,.34); background: rgba(255,255,255,.1); color: var(--gold-pale); }
.transport-button:active { transform: scale(.93); }
.transport-button svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.transport-button--main svg { width: 48px; height: 48px; }
.transport-button svg text { fill: currentColor; stroke: none; font-family: var(--sans); font-size: 10px; font-weight: 700; }
.transport-button .transport-chevron { stroke-width: 2.25; }
.transport-button .transport-arc { opacity: .96; }
.transport-button--main .icon-pause rect,
.pause-center__icon svg rect { fill: currentColor; stroke: none; }
.pause-center__icon { display: grid; place-items: center; width: 72px; height: 72px; padding: 0; }
.pause-center__icon svg { width: 45px; height: 45px; }
.pause-center__icon i { display: none; }

@media (max-width: 1050px) {
    .site-header--streaming .home-nav { display: none; }
    .streaming-hero__content { width: min(760px, 82vw); }
    .home-programs .streaming-row__track { grid-auto-columns: minmax(230px, 32vw); }
}
@media (max-width: 720px) {
    .site-header--streaming { min-height: 66px; padding: .8rem 1rem; }
    .site-header__left { flex: 0 1 auto; }
    .site-header--streaming .brand__mark { width: 30px; }
    .site-header--streaming .brand__lockup strong { font-size: .98rem; }
    .site-header--streaming .brand__lockup small { display: none; }
    .site-header--streaming .header-collection { border-left: 0; padding-left: .3rem; font-size: 0; }
    .site-header--streaming .header-collection span { margin-left: 0; font-size: .63rem; }
    .streaming-hero { min-height: 78svh; padding: 7.4rem 1rem 9rem; }
    .streaming-hero__content { width: 100%; }
    .streaming-hero__content h1 { font-size: clamp(2.65rem, 12vw, 4.4rem); }
    .streaming-hero__content .hero-copy__body { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; font-size: .88rem; }
    .home-programs { margin-top: -5.5rem; }
    .home-programs .streaming-row { padding-inline: 1rem; }
    .home-programs .streaming-row__track { grid-auto-columns: minmax(215px, 74vw); }
    .home-programs .streaming-row__nav { display: none; }
    .reading-drawer { place-items: end stretch; }
    .reading-drawer__panel { width: 100%; height: min(94svh, 900px); padding: .55rem; transform: translateY(32px); }
    .reading-drawer.is-open .reading-drawer__panel { transform: translateY(0); }
    .reading-drawer__panel .glass-shell { border-radius: 26px 26px 0 0; }
    .transport-button { width: 46px; height: 46px; }
    .transport-button--main { width: 56px; height: 56px; }
    .transport-button svg { width: 39px; height: 39px; }
}

/* ========================================================================== */
/* LUMINA v13 RELEASE OVERRIDES                                                */
/* ========================================================================== */


.intro__video { transition: opacity .52s var(--ease-film), filter .62s var(--ease-film), transform .75s var(--ease-film); }
.intro__video.is-changing { opacity: .18; filter: blur(13px) brightness(.28) saturate(.5); transform: scale(1.075); }
.streaming-hero__content h1 > span {
    display: inline-block;
    max-width: 100%;
    color: rgba(255,255,255,.96);
    font-family: var(--serif);
    font-size: .52em;
    font-weight: 400;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}
.streaming-hero__content h1 > em { display: inline-block; max-width: 100%; }
.streaming-hero__content,
.streaming-hero__content .hero-copy__body,
.streaming-hero__content .hero-metrics { transition: opacity .3s ease, transform .45s var(--ease-film); }

.home-programs .streaming-card img { object-position: center; }
.home-programs .streaming-card[aria-selected="true"]::before {
    content: "NOW PLAYING";
    position: absolute;
    z-index: 4;
    top: .58rem;
    right: .62rem;
    padding: .25rem .42rem;
    border: 1px solid rgba(255,240,210,.25);
    border-radius: 999px;
    background: rgba(5,7,11,.58);
    color: var(--gold-pale);
    font-family: var(--serif);
    font-size: .48rem;
    letter-spacing: .12em;
    backdrop-filter: blur(10px);
}
.home-programs .streaming-card__copy { padding-right: 3.5rem; }
.home-programs .streaming-card__copy strong { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }

/* A single visual grammar for all three central transport actions. */
.transport-controls { gap: clamp(.35rem, 1vw, .9rem); }
.transport-button,
.transport-button--main {
    width: 64px;
    height: 64px;
    border: 1px solid transparent;
    background: transparent;
    color: #fff;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.transport-button:hover,
.transport-button:focus-visible,
.transport-button--main:hover,
.transport-button--main:focus-visible {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.095);
    color: #fff;
}
.transport-button svg,
.transport-button--main svg { width: 52px; height: 52px; }
.transport-button--main .icon-play path { fill: currentColor; stroke: none; }
.transport-button--main .icon-pause rect { fill: currentColor; }
.transport-button .transport-arc { stroke-width: 2.05; }
.transport-button .transport-chevron { stroke-width: 2.35; }
.transport-button svg text { font-size: 10.5px; font-weight: 650; }

.fortune-report__identity small {
    color: rgba(255,255,255,.46);
    font-family: var(--serif);
    font-size: .58rem;
    letter-spacing: .11em;
    line-height: 1.5;
    text-transform: uppercase;
}

@media (max-width: 820px) {
    .home-programs .streaming-card__copy { padding-right: 2.4rem; }
}
@media (max-width: 720px) {
    .transport-button,
    .transport-button--main { width: 52px; height: 52px; }
    .transport-button svg,
    .transport-button--main svg { width: 43px; height: 43px; }
}

/* ========================================================================== */
/* LUMINA v14 — responsive master layout, vector identity and program worlds  */
/* ========================================================================== */

:root {
    --page-gutter: clamp(1rem, 3.6vw, 5.5rem);
    --content-max: 2300px;
    --header-row-height: 76px;
    --program-accent: #d6ad70;
    --program-accent-rgb: 214, 173, 112;
}

html,
body,
.app { width: 100%; max-width: 100%; }
body { overflow-x: clip; }
:where(main, section, article, aside, header, footer, nav, div, form, fieldset) { min-width: 0; }
:where(img, video, svg, canvas) { max-inline-size: 100%; }

/* Complete vector identity */
.brand,
.film-library__brand,
.ending-nav__brand,
.ending-brandline {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    padding: 0;
    background: transparent;
}
.brand__logo {
    display: block;
    width: clamp(184px, 14.5vw, 266px);
    height: auto;
    filter: drop-shadow(0 8px 22px rgba(0,0,0,.28));
}
.film-library__logo { display: block; width: clamp(190px, 14vw, 258px); height: auto; }
.ending-nav__logo { display: block; width: clamp(175px, 12vw, 232px); height: auto; }
.ending-brandline__logo { display: block; width: clamp(220px, 20vw, 350px); height: auto; }
.loading-screen__content .loading-screen__logo {
    width: clamp(210px, 28vw, 330px);
    max-height: min(42vh, 340px);
    margin: 0 auto clamp(1.1rem, 3vh, 2.2rem);
    object-fit: contain;
    filter: drop-shadow(0 0 34px rgba(214,173,112,.24));
}

/* Header keeps every item in its own track and becomes a scrollable two-row
   program bar before anything can overlap. */
.site-header--streaming {
    position: sticky;
    top: 0;
    z-index: 600;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand navigation actions";
    align-items: center;
    gap: clamp(1.25rem, 2.8vw, 3.5rem);
    width: 100%;
    min-height: var(--header-row-height);
    margin: 0;
    padding: .8rem var(--page-gutter);
    border-bottom: 1px solid rgba(255,255,255,.055);
    background: linear-gradient(180deg, rgba(2,3,6,.96), rgba(2,3,6,.77) 72%, rgba(2,3,6,.28));
    box-shadow: 0 12px 38px rgba(0,0,0,.16);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
}
.site-header--streaming .brand { grid-area: brand; }
.site-header--streaming .home-nav { grid-area: navigation; }
.site-header--streaming .home-header-actions { grid-area: actions; }
.home-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(.65rem, 1.35vw, 1.7rem);
    min-width: 0;
    margin: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}
.home-nav::-webkit-scrollbar { display: none; }
.home-nav button {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: .75rem .05rem .65rem;
    color: rgba(255,255,255,.6);
    font-size: clamp(.68rem, .72vw, .8rem);
    font-weight: 520;
    white-space: nowrap;
}
.home-nav button[aria-current="page"] { color: #fff; }
.home-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; min-width: max-content; }
.site-header--streaming .header-collection {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 0 0 1rem;
    border-left: 1px solid rgba(214,173,112,.2);
    font-size: .63rem;
    letter-spacing: .12em;
    white-space: nowrap;
}

/* The home background and hero scale upward instead of capping at 980px. */
.streaming-home {
    position: relative;
    min-height: 100svh;
    overflow-x: clip;
    overflow-y: visible;
    background: #05070b;
}
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    top: 0;
    bottom: auto;
    height: clamp(760px, 92svh, 1280px);
}
.streaming-hero {
    min-height: clamp(760px, 92svh, 1280px);
    padding: clamp(8.5rem, 16vh, 13rem) var(--page-gutter) clamp(10.5rem, 19vh, 15rem);
}
.streaming-hero__content {
    width: min(900px, 64vw);
    max-width: 900px;
}
.streaming-hero__content h1 {
    max-width: 900px;
    font-size: clamp(3.15rem, 5.5vw, 7.7rem);
}
.streaming-hero__content .hero-copy__body {
    max-width: 720px;
    font-size: clamp(.98rem, 1vw, 1.16rem);
    line-height: 1.9;
}
.home-programs {
    width: 100%;
    margin-top: clamp(-10rem, -12vh, -7rem);
    padding-bottom: clamp(3.5rem, 7vh, 7rem);
}
.streaming-row {
    width: min(100%, var(--content-max));
    margin-inline: auto;
    padding-inline: var(--page-gutter);
    padding-inline: var(--page-gutter);
}
.streaming-row__track {
    grid-auto-columns: clamp(250px, 18.5vw, 430px);
    gap: clamp(.55rem, .75vw, 1rem);
    padding-block: .45rem 1.2rem;
    scroll-padding-inline: .15rem;
}
.streaming-card {
    min-width: 0;
    min-height: 142px;
    border-color: rgba(var(--program-accent-rgb), .18);
    background: #0a0d13;
}
.streaming-card__format {
    position: absolute;
    z-index: 5;
    top: .58rem;
    left: .65rem;
    max-width: calc(100% - 1.3rem);
    overflow: hidden;
    padding: .27rem .46rem;
    border: 1px solid rgba(var(--program-accent-rgb), .32);
    border-radius: 999px;
    background: rgba(4,6,10,.52);
    color: rgba(255,255,255,.78);
    font-family: var(--serif);
    font-size: .47rem;
    letter-spacing: .11em;
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(9px);
}
.streaming-card.has-rank .streaming-card__format { left: 2.85rem; max-width: calc(100% - 3.5rem); }
.streaming-card__rank { border-color: rgba(var(--program-accent-rgb), .4); color: var(--program-accent); }
.streaming-card__copy small { color: var(--program-accent); }
.streaming-card:hover,
.streaming-card:focus-visible,
.streaming-card[aria-selected="true"] {
    border-color: rgba(var(--program-accent-rgb), .58);
    box-shadow: 0 30px 70px rgba(0,0,0,.54), 0 0 0 1px rgba(var(--program-accent-rgb), .12);
}
.streaming-card[aria-selected="true"]::before { color: var(--program-accent); border-color: rgba(var(--program-accent-rgb), .38); }

/* Every program family receives a restrained but distinct cinematic palette. */
.streaming-card,
.poster-card,
.service-dialog { --program-accent: #d6ad70; --program-accent-rgb: 214, 173, 112; }
[data-program-theme="life-story"], .streaming-row--life-story { --program-accent: #d9b57d; --program-accent-rgb: 217,181,125; }
[data-program-theme="ambition"] { --program-accent: #aac7dc; --program-accent-rgb: 170,199,220; }
[data-program-theme="capital"] { --program-accent: #b4c99a; --program-accent-rgb: 180,201,154; }
[data-program-theme="romance"], .streaming-row--romance { --program-accent: #d9a5ab; --program-accent-rgb: 217,165,171; }
[data-program-theme="romance-noir"] { --program-accent: #c98286; --program-accent-rgb: 201,130,134; }
[data-program-theme="relationship"] { --program-accent: #d7b0a0; --program-accent-rgb: 215,176,160; }
[data-program-theme="noir"] { --program-accent: #bd8a9f; --program-accent-rgb: 189,138,159; }
[data-program-theme="cosmic"], .streaming-row--cosmic { --program-accent: #aeb6e8; --program-accent-rgb: 174,182,232; }
[data-program-theme="oracle"] { --program-accent: #c0a3d8; --program-accent-rgb: 192,163,216; }
[data-program-theme="night-archive"] { --program-accent: #9fc9dc; --program-accent-rgb: 159,201,220; }
[data-program-theme="mystic"] { --program-accent: #e0bc72; --program-accent-rgb: 224,188,114; }
[data-program-theme="fantasy"] { --program-accent: #99cbbf; --program-accent-rgb: 153,203,191; }
[data-program-theme="short-film"], .streaming-row--short-film { --program-accent: #d8d8cf; --program-accent-rgb: 216,216,207; }
[data-program-theme="archive"] { --program-accent: #b9a58b; --program-accent-rgb: 185,165,139; }
[data-program-theme="quiet-cinema"] { --program-accent: #9fbba9; --program-accent-rgb: 159,187,169; }
[data-program-theme="warm-drama"] { --program-accent: #d7b18d; --program-accent-rgb: 215,177,141; }
[data-program-theme="coming-of-age"] { --program-accent: #9bb9d4; --program-accent-rgb: 155,185,212; }
[data-program-theme="documentary"] { --program-accent: #b9c0c6; --program-accent-rgb: 185,192,198; }
[data-program-theme="fashion"] { --program-accent: #d5c0d2; --program-accent-rgb: 213,192,210; }
[data-program-theme="portrait"] { --program-accent: #e0bd88; --program-accent-rgb: 224,189,136; }
[data-program-theme="title-card"] { --program-accent: #ddd3bb; --program-accent-rgb: 221,211,187; }
[data-program-theme="ranking"] { --program-accent: #d49a77; --program-accent-rgb: 212,154,119; }
[data-program-theme="architecture"] { --program-accent: #a9bda2; --program-accent-rgb: 169,189,162; }

.streaming-card[data-program-theme="cosmic"]::after,
.streaming-card[data-program-theme="oracle"]::after,
.streaming-card[data-program-theme="night-archive"]::after {
    background: radial-gradient(circle at 72% 12%, rgba(var(--program-accent-rgb), .18), transparent 33%), linear-gradient(180deg, transparent 23%, rgba(2,3,6,.28) 53%, rgba(2,3,6,.95) 100%);
}
.streaming-card[data-program-theme="romance"]::after,
.streaming-card[data-program-theme="romance-noir"]::after,
.streaming-card[data-program-theme="relationship"]::after {
    background: radial-gradient(circle at 20% 0, rgba(var(--program-accent-rgb), .14), transparent 38%), linear-gradient(180deg, transparent 25%, rgba(4,2,4,.25) 52%, rgba(4,2,4,.95) 100%);
}

/* The selected hero changes visual temperature with the program rather than
   making every menu feel like the same page with another poster. */
.streaming-home[data-program-theme="cosmic"] .intro__depth,
.streaming-home[data-program-theme="oracle"] .intro__depth,
.streaming-home[data-program-theme="night-archive"] .intro__depth {
    background: linear-gradient(90deg, rgba(2,3,9,.98), rgba(8,8,24,.83) 42%, rgba(24,20,48,.32) 72%, rgba(3,4,10,.79)), linear-gradient(180deg, rgba(0,0,0,.16), transparent 48%, #05070b 96%);
}
.streaming-home[data-program-theme="romance"] .intro__depth,
.streaming-home[data-program-theme="romance-noir"] .intro__depth,
.streaming-home[data-program-theme="relationship"] .intro__depth {
    background: linear-gradient(90deg, rgba(8,3,5,.98), rgba(21,8,13,.82) 42%, rgba(60,24,31,.28) 72%, rgba(8,3,6,.82)), linear-gradient(180deg, rgba(0,0,0,.16), transparent 48%, #05070b 96%);
}
.streaming-home[data-program-theme="architecture"] .intro__depth,
.streaming-home[data-program-theme="capital"] .intro__depth,
.streaming-home[data-program-theme="quiet-cinema"] .intro__depth {
    background: linear-gradient(90deg, rgba(3,7,6,.98), rgba(7,17,14,.83) 42%, rgba(22,47,37,.28) 72%, rgba(3,7,6,.82)), linear-gradient(180deg, rgba(0,0,0,.16), transparent 48%, #05070b 96%);
}

/* Large-screen-safe intake. It lives outside the clipped home section, owns a
   viewport-height scroll container and can never be pushed beyond the screen. */
.reading-drawer {
    position: fixed;
    z-index: 4700;
    inset: 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.reading-drawer.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.reading-drawer__panel {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: clamp(540px, 38vw, 790px);
    height: 100dvh;
    max-height: none;
    padding: clamp(1.1rem, 2.5vw, 3rem);
    overflow: hidden;
    transform: translateX(38px);
}
.reading-drawer.is-open .reading-drawer__panel { transform: translateX(0); }
.reading-drawer__panel .glass-shell {
    width: 100%;
    max-height: calc(100dvh - clamp(2.2rem, 5vw, 6rem));
    margin: auto 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(214,173,112,.34) transparent;
}
.reading-drawer__close {
    position: absolute;
    z-index: 50;
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
    float: none;
    margin: 0;
}
.reading-form { padding: clamp(1.5rem, 2.4vw, 2.8rem); }
.reading-form__head h2 { font-size: clamp(1.75rem, 2vw, 2.45rem); line-height: 1.3; }
.field-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.birth-moment-row { grid-template-columns: minmax(0,1fr) clamp(108px, 21%, 144px); }
.glass-control input,
.glass-control select { min-width: 0; }

/* Player and floating panels remain usable at any ratio. */
.cinema,
.cinema__stage { width: 100%; height: 100dvh; min-height: 420px; }
.current-cut {
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(6.8rem, calc(env(safe-area-inset-bottom) + 5.7rem));
    width: min(410px, calc(100vw - 2rem));
    max-height: min(72dvh, 700px);
}
.current-cut__list { max-height: min(46dvh, 430px); }
.player-top,
.player-controls { max-width: 100%; }
.control-row { min-width: 0; }
.control-group { min-width: 0; }
.film-caption { max-width: calc(100vw - 2rem); }

/* Ending and report sections use fluid grids and vertical scrolling rather
   than fixed heights. */
.ending { min-height: 100dvh; overflow: hidden; }
.ending__scroll { height: 100dvh; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.ending-nav { padding-inline: var(--page-gutter); min-height: 68px; }
.ending-hero,
.fortune-report,
.director-cut,
.premium-feature,
.film-collection {
    width: min(calc(100% - (var(--page-gutter) * 2)), 1680px);
}
.ending-hero { grid-template-columns: minmax(0,1fr) minmax(220px,auto); }
.fortune-report__header,
.section-heading { min-width: 0; }
.fortune-report__grid article,
.fortune-report__selected,
.fortune-report__guidance,
.fortune-report__timeline li { min-width: 0; }
.ending-poster-grid { grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); }

/* Poster copy is normal HTML, so it can grow without being clipped. */
.poster-card {
    --program-accent: #d6ad70;
    --program-accent-rgb: 214,173,112;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    min-width: 0;
    overflow: hidden;
    border-color: rgba(var(--program-accent-rgb), .16);
}
.poster-card:hover,
.poster-card:focus-visible { border-color: rgba(var(--program-accent-rgb), .48); }
.poster-card__badge { border-color: rgba(var(--program-accent-rgb), .34); color: var(--program-accent); }
.poster-card__copy { min-height: 182px; }
.poster-card__copy small { color: var(--program-accent); }
.poster-card__copy em {
    display: block;
    margin-top: .18rem;
    overflow: hidden;
    color: rgba(255,255,255,.42);
    font-family: var(--serif);
    font-size: .56rem;
    font-style: normal;
    letter-spacing: .08em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.poster-card__copy span { -webkit-line-clamp: 3; }

/* Program Guide: header, filters and card grid are all independently
   scroll-safe. */
.film-library-dialog {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
}
.film-library {
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    width: 100%;
    height: 100dvh;
    min-height: 0;
}
.film-library__header {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 76px;
    padding: .8rem var(--page-gutter);
}
.film-library__brand { flex: 0 1 auto; min-width: 0; }
.film-library__header-actions { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }
.library-search { flex: 0 1 360px; min-width: 120px; }
.library-search input { width: 100%; }
.film-library__scroll { height: auto; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.film-library__hero,
.library-filters,
.library-result-count,
.library-grid { width: min(calc(100% - (var(--page-gutter) * 2)), 1900px); }
.library-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr));
    align-items: stretch;
}
.library-filters { top: 0; padding-block: .85rem; }

/* Service programs behave like individual streaming titles, with a theme
   accent and a layout that can scroll instead of being cropped. */
.service-dialog {
    width: min(1180px, calc(100vw - 2rem));
    max-width: 1180px;
    max-height: calc(100dvh - 2rem);
    overflow: hidden;
    border-color: rgba(var(--program-accent-rgb), .22);
}
.service-experience {
    width: 100%;
    min-height: min(780px, calc(100dvh - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow: hidden;
}
.service-intake {
    grid-template-columns: minmax(300px, 38%) minmax(0, 62%);
    min-height: min(780px, calc(100dvh - 2rem));
    max-height: calc(100dvh - 2rem);
}
.service-intake__poster-wrap { min-height: 0; height: 100%; }
.service-intake__rating { border-color: rgba(var(--program-accent-rgb), .4); color: var(--program-accent); }
.service-intake__content {
    min-height: 0;
    max-height: calc(100dvh - 2rem);
    padding: clamp(2rem, 4vw, 4rem);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.service-intake__content > .eyebrow,
.service-story-outline li::before { color: var(--program-accent); }
.service-form__fields { grid-template-columns: repeat(2, minmax(0,1fr)); }
.service-trailer { min-height: min(780px, calc(100dvh - 2rem)); max-height: calc(100dvh - 2rem); }
.service-trailer__caption { max-width: calc(100% - 2rem); }

/* Wide monitors */
@media (min-width: 1800px) {
    :root { --page-gutter: clamp(4.5rem, 4.6vw, 7.5rem); }
    .brand__logo { width: clamp(245px, 13vw, 310px); }
    .site-header--streaming { min-height: 88px; }
    .streaming-hero__content { width: min(960px, 58vw); max-width: 960px; }
    .streaming-hero__content h1 { font-size: clamp(5rem, 5vw, 8.2rem); }
    .streaming-row__track { grid-auto-columns: clamp(320px, 16.8vw, 470px); }
    .reading-drawer__panel { width: clamp(650px, 31vw, 850px); }
    .reading-form { font-size: 1.02rem; }
}

/* Header becomes a two-row streaming navigator before it can collide. */
@media (max-width: 1280px) {
    .site-header--streaming {
        grid-template-columns: minmax(0,1fr) auto;
        grid-template-areas: "brand actions" "navigation navigation";
        gap: .35rem 1rem;
        padding-bottom: .45rem;
    }
    .home-nav {
        width: calc(100vw - (var(--page-gutter) * 2));
        padding-bottom: .15rem;
    }
    .home-nav button { padding-block: .5rem .65rem; }
    .streaming-hero { padding-top: clamp(10rem, 20vh, 13rem); }
    .streaming-row__track { grid-auto-columns: clamp(245px, 29vw, 370px); }
    .ending-hero { grid-template-columns: 1fr; align-content: end; }
    .ending-focus { justify-self: start; }
}

@media (max-width: 980px) {
    :root { --page-gutter: clamp(1rem, 3vw, 2rem); }
    .brand__logo { width: clamp(170px, 24vw, 220px); }
    .streaming-hero__content { width: min(780px, 88vw); }
    .streaming-row__track { grid-auto-columns: clamp(225px, 42vw, 350px); }
    .reading-drawer__panel { width: min(680px, 92vw); }
    .director-cut,
    .premium-feature { grid-template-columns: 1fr; min-height: 0; }
    .director-cut__visual,
    .premium-feature__visual { max-width: 900px; }
    .fortune-report__header,
    .fortune-report__selected,
    .fortune-report__guidance,
    .section-heading { grid-template-columns: 1fr; display: grid; }
    .fortune-report__header { align-items: start; }
    .fortune-report__identity { width: 100%; padding: 1rem 0 0; border-left: 0; border-top: 1px solid var(--line); text-align: left; }
    .fortune-report__selected { gap: .55rem; }
    .service-dialog { width: min(760px, calc(100vw - 1.5rem)); }
    .service-intake {
        display: grid;
        grid-template-columns: 1fr;
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
    }
    .service-intake__poster-wrap { min-height: 360px; max-height: 48dvh; }
    .service-intake__poster-wrap::after { background: linear-gradient(180deg, transparent 42%, #070a10 100%); }
    .service-intake__content { max-height: none; overflow: visible; }
}

@media (max-width: 720px) {
    :root { --header-row-height: 64px; --page-gutter: 1rem; }
    .site-header--streaming { padding: .7rem 1rem .35rem; }
    .brand__logo { width: clamp(150px, 48vw, 190px); }
    .home-header-actions { gap: .2rem; }
    .site-header--streaming .header-collection { padding-left: .35rem; border-left: 0; font-size: 0; }
    .site-header--streaming .header-collection span { margin-left: 0; font-size: .62rem; }
    .home-nav { width: calc(100vw - 2rem); gap: 1.05rem; }
    .home-nav button { font-size: .7rem; }
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain,
    .streaming-hero { height: auto; min-height: max(760px, 92svh); }
    .streaming-hero {
        align-items: flex-end;
        padding: 9.5rem 1rem 9.5rem;
    }
    .streaming-hero__content { width: 100%; }
    .streaming-hero__content h1 { font-size: clamp(2.55rem, 12vw, 4.35rem); line-height: 1.12; }
    .streaming-hero__content .hero-copy__body { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; font-size: .88rem; }
    .hero-metrics { gap: .65rem 1rem; }
    .hero-metrics span { font-size: .62rem; }
    .hero-metrics strong { font-size: 1rem; }
    .hero-actions { width: 100%; }
    .streaming-action { flex: 1 1 auto; min-width: 0; }
    .home-programs { margin-top: -5.6rem; }
    .streaming-row { padding-inline: 1rem; }
    .streaming-row__head { align-items: center; }
    .streaming-row__head h2 { font-size: 1.08rem; line-height: 1.4; }
    .streaming-row__head > button { display: none; }
    .streaming-row__track { grid-auto-columns: minmax(225px, 78vw); }
    .streaming-row__nav { display: none; }
    .streaming-card__format { max-width: calc(100% - 1.2rem); }

    .reading-drawer { align-items: flex-end; }
    .reading-drawer__panel {
        align-items: flex-end;
        width: 100%;
        height: 100dvh;
        padding: max(.35rem, env(safe-area-inset-top)) 0 0;
        overflow: hidden;
        transform: translateY(30px);
    }
    .reading-drawer.is-open .reading-drawer__panel { transform: translateY(0); }
    .reading-drawer__panel .glass-shell {
        max-height: calc(100dvh - max(.35rem, env(safe-area-inset-top)));
        border-radius: 26px 26px 0 0;
        margin: auto 0 0;
    }
    .reading-drawer__close { top: max(.85rem, env(safe-area-inset-top)); right: .85rem; }
    .reading-form { padding: 1.35rem 1rem max(1.5rem, env(safe-area-inset-bottom)); }
    .reading-form__head { padding-right: 2.4rem; }
    .reading-form__lead { margin-bottom: 1.2rem; }
    .field-grid { grid-template-columns: 1fr; }
    .field--half,
    .field--full { grid-column: 1 / -1; }
    .birth-moment-row { grid-template-columns: minmax(0,1fr) 104px; gap: .55rem; }

    .player-top { grid-template-columns: auto minmax(0,1fr); padding-inline: 1rem; }
    .player-badges { display: none; }
    .player-controls { padding-inline: .7rem; }
    .control-row { display: grid; grid-template-columns: 1fr auto; gap: .45rem; }
    .transport-controls { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
    .control-group--left { grid-column: 1; grid-row: 2; }
    .control-group--right { grid-column: 2; grid-row: 2; }
    .volume-control input,
    .time-readout i,
    .time-readout span:last-child { display: none; }
    .control-group--right #captionSettingsToggle,
    .control-group--right #fullscreenToggle { display: grid; }
    .current-cut {
        left: .6rem;
        right: .6rem;
        bottom: calc(max(6.6rem, env(safe-area-inset-bottom) + 5.8rem));
        width: auto;
        max-height: min(62dvh, 620px);
    }
    .film-caption { width: calc(100vw - 1.5rem); }
    .cinema.is-chrome-visible .film-caption,
    .cinema.is-paused .film-caption { bottom: clamp(10rem, 23vh, 13.5rem); }

    .ending-nav { gap: .5rem; padding: .65rem 1rem; }
    .ending-nav__logo { width: 155px; }
    .ending-nav__menu { overflow-x: auto; scrollbar-width: none; }
    .ending-nav__menu button { flex: 0 0 auto; padding: .5rem; font-size: .55rem; }
    .ending-hero,
    .fortune-report,
    .director-cut,
    .premium-feature,
    .film-collection { width: calc(100% - 2rem); }
    .ending-hero { min-height: 100dvh; padding: 16vh 0 10vh; }
    .ending-brandline__logo { width: 220px; }
    .ending-hero h2 { font-size: clamp(2.45rem, 12vw, 4.4rem); }
    .fortune-report__grid,
    .fortune-report__timeline ol { grid-template-columns: 1fr; }
    .fortune-report__selected { padding-block: 1rem; }
    .ending-poster-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; }
    .poster-card__copy { min-height: 168px; padding: .8rem; }
    .poster-card__copy strong { font-size: .9rem; }

    .film-library__header { flex-wrap: wrap; min-height: 0; padding: .7rem 1rem; }
    .film-library__brand { flex: 1 1 auto; }
    .film-library__logo { width: 170px; }
    .film-library__header-actions { flex: 1 1 100%; width: 100%; }
    .library-search { flex: 1 1 auto; }
    .film-library__hero,
    .library-filters,
    .library-result-count,
    .library-grid { width: calc(100% - 2rem); }
    .film-library__hero { padding-top: 5vh; }
    .film-library__hero h2 { font-size: clamp(2.25rem, 11vw, 3.5rem); }
    .library-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; }

    .service-dialog {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border: 0;
        border-radius: 0;
    }
    .service-experience { min-height: 100dvh; max-height: 100dvh; }
    .service-intake { max-height: 100dvh; }
    .service-intake__poster-wrap { min-height: 300px; max-height: 44dvh; }
    .service-intake__content { padding: 1.5rem 1rem max(2rem, env(safe-area-inset-bottom)); }
    .service-form__fields { grid-template-columns: 1fr; }
    .service-field--full { grid-column: auto; }
    .service-trailer { min-height: 100dvh; max-height: 100dvh; }
    .service-midpoint > div,
    .service-paywall > div { width: calc(100% - 1.4rem); max-height: calc(100dvh - 2rem); padding: 1.4rem 1rem; overflow-y: auto; }
    .service-paywall__actions { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
    .home-search-button { display: none; }
    .site-header--streaming .header-collection span { min-width: 1.45rem; height: 1.45rem; }
    .birth-moment-row { grid-template-columns: 1fr; }
    .birth-moment-control--hour { width: 100%; }
    .ending-poster-grid,
    .library-grid { grid-template-columns: 1fr; }
    .poster-card { max-width: 360px; width: 100%; margin-inline: auto; }
    .poster-card__copy { min-height: 150px; }
}

/* Short landscape devices still scroll instead of hiding content. */
@media (max-height: 690px) and (min-width: 721px) {
    .streaming-hero { min-height: 760px; padding-top: 8.5rem; }
    .reading-drawer__panel { align-items: flex-start; overflow-y: auto; }
    .reading-drawer__panel .glass-shell { max-height: none; margin-top: 1rem; margin-bottom: 1rem; overflow: visible; }
    .service-dialog { max-height: calc(100dvh - 1rem); }
    .service-experience,
    .service-intake,
    .service-trailer { min-height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem); }
}

@media (prefers-reduced-motion: reduce) {
    .streaming-card,
    .poster-card,
    .reading-drawer__panel { transform: none; }
}

/* ========================================================================== */
/* LUMINA v15 — streaming home, title modal, transport and future gate        */
/* ========================================================================== */

/* 70% feature stage with a dedicated representative scene on the right. */
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    height: max(660px, 72svh);
}
.streaming-hero {
    display: block;
    min-height: max(660px, 72svh);
    padding: clamp(7.7rem, 12vh, 10.5rem) var(--page-gutter) clamp(5rem, 8vh, 7rem);
}
.streaming-hero__grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
    align-items: center;
    gap: clamp(2.2rem, 5.5vw, 7.5rem);
    width: min(100%, 1780px);
    min-height: calc(max(660px, 72svh) - clamp(12rem, 20vh, 17.5rem));
    margin: 0 auto;
}
.streaming-hero__content {
    width: 100%;
    max-width: 820px;
    align-self: center;
    padding: clamp(1rem, 2.5vh, 2.5rem) 0;
}
.streaming-hero__content h1 {
    max-width: 780px;
    font-size: clamp(3.2rem, 5.35vw, 7rem);
    line-height: 1.08;
}
.streaming-hero__content .hero-copy__body {
    max-width: 680px;
    font-family: var(--sans);
    font-weight: 380;
    line-height: 1.82;
}
.hero-scene {
    position: relative;
    z-index: 4;
    width: min(100%, 730px);
    justify-self: end;
}
.hero-scene::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 10% -6% -8% 8%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214,173,112,.18), rgba(214,173,112,.045) 42%, transparent 72%);
    filter: blur(42px);
}
.hero-scene__frame {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(236,211,170,.25);
    border-radius: clamp(14px, 1.4vw, 24px);
    background: #07090d;
    box-shadow: 0 38px 105px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.035) inset, 0 0 70px rgba(161,111,49,.11);
    text-align: left;
    transform: perspective(1300px) rotateY(-2.4deg) rotateX(.8deg);
    transform-origin: 50% 60%;
    transition: transform .65s var(--ease-film), border-color .35s, box-shadow .45s;
}
.hero-scene__frame:hover,
.hero-scene__frame:focus-visible {
    border-color: rgba(239,209,159,.52);
    box-shadow: 0 45px 125px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06) inset, 0 0 95px rgba(214,173,112,.16);
    transform: perspective(1300px) rotateY(0) translateY(-5px);
}
.hero-scene__frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(.72) saturate(.88) contrast(1.08);
    transform: scale(1.015);
    transition: transform 1.4s var(--ease-film), filter .45s;
}
.hero-scene__frame:hover video,
.hero-scene__frame:focus-visible video { transform: scale(1.055); filter: brightness(.82) saturate(.98) contrast(1.05); }
.hero-scene__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.03) 28%, rgba(2,3,6,.13) 48%, rgba(2,3,6,.94) 100%), linear-gradient(90deg, rgba(1,2,4,.14), transparent 62%);
}
.hero-scene__play {
    position: absolute;
    left: clamp(1rem, 2vw, 1.7rem);
    bottom: clamp(5.8rem, 9vw, 7.4rem);
    display: grid;
    place-items: center;
    width: clamp(44px, 4vw, 60px);
    height: clamp(44px, 4vw, 60px);
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 50%;
    background: rgba(3,5,8,.46);
    color: #fff;
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 42px rgba(0,0,0,.42);
}
.hero-scene__play svg { width: 48%; fill: currentColor; }
.hero-scene__copy {
    position: absolute;
    left: clamp(1rem, 2vw, 1.7rem);
    right: clamp(1rem, 2vw, 1.7rem);
    bottom: clamp(1rem, 1.8vw, 1.5rem);
    display: grid;
    gap: .28rem;
}
.hero-scene__copy small {
    color: var(--gold-soft);
    font-family: var(--serif);
    font-size: clamp(.55rem, .62vw, .7rem);
    letter-spacing: .16em;
}
.hero-scene__copy strong {
    overflow: hidden;
    color: #fff;
    font-family: var(--serif-ko);
    font-size: clamp(1.18rem, 1.65vw, 1.8rem);
    font-weight: 400;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hero-scene__copy em { color: rgba(255,255,255,.53); font-size: .68rem; font-style: normal; }

/* Program rows are clearly separated: a vertical premiere shelf first,
   then landscape collections like independent programs. */
.home-programs {
    position: relative;
    z-index: 25;
    margin-top: 0;
    padding: clamp(2.5rem, 5vh, 4.5rem) 0 clamp(5rem, 9vh, 8rem);
    background: linear-gradient(180deg, #05070b 0%, #05070b 70%, #07090e 100%);
}
.streaming-row {
    margin-bottom: clamp(3.6rem, 6.6vh, 6.2rem);
    padding-top: clamp(1rem, 2vh, 1.8rem);
}
.streaming-row + .streaming-row {
    border-top: 1px solid rgba(255,255,255,.065);
    padding-top: clamp(3rem, 5.4vh, 5rem);
}
.streaming-row--featured { margin-top: 0; }
.streaming-row__head { margin-bottom: clamp(.9rem, 1.6vh, 1.3rem); }
.streaming-row__head h2 { font-size: clamp(1.25rem, 1.65vw, 1.8rem); }
.streaming-row__head > button {
    min-height: 34px;
    padding: 0 .7rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 100px;
    background: rgba(255,255,255,.025);
}
.streaming-row__head > button:hover { border-color: rgba(214,173,112,.34); background: rgba(214,173,112,.08); }
.streaming-row__track { align-items: stretch; padding-block: .55rem 1.55rem; }
.streaming-row--poster .streaming-row__track {
    grid-auto-columns: clamp(180px, 14.2vw, 270px);
    gap: clamp(.75rem, 1vw, 1.2rem);
}
.streaming-row--landscape .streaming-row__track {
    grid-auto-columns: clamp(285px, 24vw, 455px);
    gap: clamp(.7rem, .9vw, 1.1rem);
}
.streaming-card--poster { aspect-ratio: 2 / 3; min-height: 0; border-radius: 12px; }
.streaming-card--landscape { aspect-ratio: 16 / 9; min-height: 0; border-radius: 10px; }
.streaming-card--poster img { object-position: center 22%; filter: brightness(.72) saturate(.94) contrast(1.04); }
.streaming-card--landscape img { object-position: center 42%; }
.streaming-card--poster::after {
    background: linear-gradient(180deg, transparent 36%, rgba(3,4,7,.18) 52%, rgba(3,4,7,.98) 100%);
}
.streaming-card--poster .streaming-card__copy { padding: 1rem .9rem 1rem; }
.streaming-card--poster .streaming-card__copy strong { font-size: clamp(1rem, 1vw, 1.2rem); }
.streaming-card--poster .streaming-card__rank {
    top: .65rem;
    right: .65rem;
    left: auto;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 50%;
    background: rgba(3,5,8,.72);
    color: var(--gold-pale);
    font-size: .62rem;
    backdrop-filter: blur(10px);
}
.streaming-card--poster.has-rank .streaming-card__format { left: .65rem; max-width: calc(100% - 3.6rem); }
.streaming-card--landscape .streaming-card__copy { padding: .9rem 1rem; }
.streaming-card:hover,
.streaming-card:focus-visible { transform: translateY(-8px) scale(1.025); }
.streaming-row.has-focus { z-index: 30; }

/* Netflix-style title modal: representative artwork first, details and
   title-specific input below in one scrollable cinematic sheet. */
.service-dialog {
    width: min(1120px, calc(100vw - 2.5rem));
    max-width: 1120px;
    max-height: min(92dvh, 940px);
    border-radius: 18px;
    background: #111318;
    box-shadow: 0 70px 190px rgba(0,0,0,.86);
}
.service-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.service-experience { min-height: 0; max-height: min(92dvh, 940px); }
.service-dialog__close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    width: 44px;
    height: 44px;
    background: rgba(5,7,10,.82);
    color: #fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.4);
    backdrop-filter: blur(14px);
}
.service-intake {
    display: block;
    min-height: 0;
    max-height: min(92dvh, 940px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--program-accent-rgb), .36) transparent;
    background: #111318;
}
.service-intake__poster-wrap {
    position: relative;
    width: 100%;
    height: clamp(360px, 53dvh, 560px);
    min-height: 0;
    max-height: none;
}
.service-intake__poster-wrap img { object-fit: cover; object-position: center 34%; filter: brightness(.8) saturate(.9) contrast(1.05); }
.service-intake__poster-wrap::after {
    background: linear-gradient(180deg, rgba(0,0,0,.04) 22%, rgba(17,19,24,.1) 48%, #111318 100%), linear-gradient(90deg, rgba(0,0,0,.28), transparent 52%);
}
.service-intake__rating { left: clamp(1.2rem, 3vw, 2.6rem); top: clamp(1.1rem, 2vw, 2rem); }
.service-intake__content {
    position: relative;
    z-index: 4;
    max-width: 1040px;
    max-height: none;
    margin: clamp(-9.5rem, -12vw, -6.5rem) auto 0;
    padding: 0 clamp(1.25rem, 4.5vw, 4.5rem) clamp(3rem, 6vh, 5rem);
    overflow: visible;
    background: linear-gradient(180deg, transparent 0, rgba(17,19,24,.9) 5.5rem, #111318 10rem);
}
.service-intake__content > .eyebrow { padding-top: 1rem; text-shadow: 0 2px 12px #000; }
.service-intake__content h2 {
    max-width: 820px;
    margin: .55rem 0 .85rem;
    font-size: clamp(3rem, 6vw, 6.1rem);
    line-height: .92;
    text-shadow: 0 4px 28px rgba(0,0,0,.62);
}
.service-intake__content h2 small { margin-top: .5rem; font-family: var(--sans); font-size: clamp(.9rem, 1.4vw, 1.2rem); font-weight: 520; }
.service-intake__tagline { max-width: 760px; color: rgba(255,255,255,.78); font-family: var(--sans); font-size: clamp(.92rem, 1vw, 1.05rem); font-weight: 380; line-height: 1.85; }
.service-intake__meta { margin: 1.15rem 0 1rem; }
.service-detail-actions { display: flex; align-items: center; gap: .65rem; margin: 1.15rem 0 2.2rem; }
.service-detail-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 6px;
}
.service-detail-actions button:first-child { gap: .55rem; padding: 0 1.25rem; background: #f5f4f0; color: #07090d; font-weight: 700; }
.service-detail-actions button:first-child:hover { background: var(--gold-pale); }
.service-detail-actions button:first-child svg { width: 21px; fill: currentColor; }
.service-detail-actions button:last-child { width: 48px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(20,22,28,.72); color: #fff; }
.service-detail-actions button:last-child svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.service-detail-actions button:last-child.is-saved { border-color: rgba(var(--program-accent-rgb), .58); background: rgba(var(--program-accent-rgb), .14); color: var(--program-accent); }
.service-intake__section-label {
    margin: 0 0 .75rem;
    color: rgba(255,255,255,.42);
    font-family: var(--serif);
    font-size: .62rem;
    letter-spacing: .18em;
}
.service-intake__section-label--form { margin-top: 2.4rem; padding-top: 2.2rem; border-top: 1px solid rgba(255,255,255,.085); }
.service-story-outline { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.service-story-outline li { min-height: 128px; padding: 2.35rem 1rem 1rem; font-size: .76rem; line-height: 1.72; }
.service-story-outline li::before { left: 1rem; top: .9rem; }
.service-form { scroll-margin-top: 1rem; }
.service-form__fields { gap: .85rem; }
.service-field input,
.service-field select,
.service-field textarea { min-height: 48px; border-radius: 8px; background: rgba(255,255,255,.045); }
.service-start-button { min-height: 52px; border-radius: 7px; }

/* Stable streaming transport language. Number and arcs are independent, so
   the 10-second buttons never clip or deform at browser zoom levels. */
.transport-controls { gap: clamp(.15rem, .75vw, .65rem); }
.transport-button,
.transport-button--main {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 68px;
    height: 68px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #fff;
    box-shadow: none;
    overflow: visible;
}
.transport-button--main { width: 74px; height: 74px; }
.transport-button:hover,
.transport-button:focus-visible,
.transport-button--main:hover,
.transport-button--main:focus-visible { background: rgba(255,255,255,.095); color: var(--gold-pale); }
.transport-glyph {
    position: relative;
    display: block;
    width: 62px;
    height: 62px;
}
.transport-button .transport-glyph svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.transport-glyph__arc { stroke-width: 2.35; }
.transport-glyph__arrow { stroke-width: 2.8; }
.transport-glyph b {
    position: absolute;
    left: 50%;
    top: 33px;
    transform: translate(-50%, -50%);
    color: currentColor;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 680;
    line-height: 1;
}
.transport-button--main > svg { width: 48px; height: 48px; }
.transport-button--main .icon-pause rect,
.transport-button--main .icon-play path { fill: currentColor; stroke: none; }

/* The present choice is a hard narrative gate. */
.focus-choice { z-index: 260; }
.focus-choice__veil { background: radial-gradient(circle at 50% 43%, rgba(20,17,13,.7), rgba(0,0,0,.96)); }
.focus-choice__panel { width: min(92vw, 860px); box-shadow: 0 52px 150px rgba(0,0,0,.82), 0 0 0 1px rgba(255,255,255,.06) inset; }
.focus-choice__grid button { min-height: 82px; }

/* Responsive home, modal and player */
@media (max-width: 1180px) {
    .streaming-hero__grid { grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); gap: 2.2rem; }
    .streaming-hero__content h1 { font-size: clamp(3rem, 5.9vw, 5.7rem); }
    .hero-scene__copy strong { font-size: 1.15rem; }
    .streaming-row--poster .streaming-row__track { grid-auto-columns: clamp(175px, 20vw, 235px); }
    .streaming-row--landscape .streaming-row__track { grid-auto-columns: clamp(270px, 33vw, 400px); }
}

@media (max-width: 940px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain { height: max(790px, 90svh); }
    .streaming-hero { min-height: max(790px, 90svh); padding-top: 9.5rem; padding-bottom: 4.5rem; }
    .streaming-hero__grid { grid-template-columns: 1fr; align-content: center; gap: 2rem; min-height: 0; }
    .streaming-hero__content { max-width: 760px; }
    .hero-scene { width: min(100%, 610px); justify-self: start; }
    .hero-scene__frame { aspect-ratio: 16 / 8.7; transform: none; }
    .streaming-row--poster .streaming-row__track { grid-auto-columns: clamp(170px, 27vw, 225px); }
    .streaming-row--landscape .streaming-row__track { grid-auto-columns: clamp(265px, 48vw, 390px); }
    .service-story-outline { grid-template-columns: 1fr; }
    .service-story-outline li { min-height: 0; }
}

@media (max-width: 720px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain { height: max(820px, 100svh); }
    .streaming-hero {
        min-height: max(820px, 100svh);
        padding: 8.8rem 1rem 3.2rem;
    }
    .streaming-hero__grid { align-content: start; gap: 1.55rem; }
    .streaming-hero__content { padding: 0; }
    .streaming-hero__content h1 { font-size: clamp(2.65rem, 11.5vw, 4.25rem); }
    .streaming-hero__content .hero-copy__body { -webkit-line-clamp: 5; line-height: 1.72; }
    .hero-metrics { margin-top: 1.5rem; padding-top: 1rem; }
    .hero-actions { gap: .55rem; }
    .streaming-action { min-height: 46px; padding-inline: .85rem; font-size: .82rem; }
    .hero-scene { width: 100%; }
    .hero-scene__frame { aspect-ratio: 16 / 9; border-radius: 14px; }
    .hero-scene__play { bottom: 4.9rem; width: 42px; height: 42px; }
    .hero-scene__copy { bottom: .8rem; }
    .hero-scene__copy strong { font-size: 1rem; }
    .hero-scene__copy em { display: none; }
    .home-programs { padding-top: 2rem; }
    .streaming-row { margin-bottom: 3.2rem; }
    .streaming-row + .streaming-row { padding-top: 2.6rem; }
    .streaming-row--poster .streaming-row__track { grid-auto-columns: minmax(154px, 45vw); gap: .65rem; }
    .streaming-row--landscape .streaming-row__track { grid-auto-columns: minmax(252px, 78vw); gap: .65rem; }
    .streaming-card:hover,
    .streaming-card:focus-visible { transform: translateY(-3px) scale(1.01); }

    .service-dialog { width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; }
    .service-experience,
    .service-intake { max-height: 100dvh; }
    .service-intake__poster-wrap { height: min(43dvh, 390px); }
    .service-intake__content { margin-top: -5.2rem; padding: 0 1rem max(2.4rem, env(safe-area-inset-bottom)); background: linear-gradient(180deg, transparent 0, rgba(17,19,24,.94) 3.4rem, #111318 6.5rem); }
    .service-intake__content h2 { font-size: clamp(2.7rem, 14vw, 4.6rem); }
    .service-intake__content h2 small { font-size: .9rem; }
    .service-intake__tagline { font-size: .88rem; }
    .service-detail-actions { margin-bottom: 1.7rem; }
    .service-detail-actions button:first-child { flex: 1 1 auto; }
    .service-intake__section-label--form { margin-top: 1.8rem; padding-top: 1.8rem; }

    .transport-controls { gap: .05rem; }
    .transport-button { width: 54px; height: 54px; }
    .transport-button--main { width: 62px; height: 62px; }
    .transport-glyph { width: 50px; height: 50px; }
    .transport-glyph b { top: 27px; font-size: 10.5px; }
    .transport-button--main > svg { width: 39px; height: 39px; }
    .focus-choice__panel { max-height: calc(100dvh - 1rem); overflow-y: auto; }
}

@media (max-width: 420px) {
    .streaming-hero { padding-top: 8.2rem; }
    .streaming-hero__content h1 { font-size: clamp(2.45rem, 12vw, 3.65rem); }
    .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .hero-actions .streaming-action { width: 100%; }
    .streaming-row--poster .streaming-row__track { grid-auto-columns: minmax(148px, 53vw); }
    .streaming-row--landscape .streaming-row__track { grid-auto-columns: minmax(240px, 86vw); }
    .service-intake__poster-wrap { height: 36dvh; min-height: 270px; }
    .service-intake__content h2 { font-size: 2.65rem; }
    .service-form__fields { grid-template-columns: 1fr; }
    .transport-button { width: 50px; height: 50px; }
    .transport-button--main { width: 58px; height: 58px; }
    .transport-glyph { width: 47px; height: 47px; }
    .transport-glyph b { top: 25px; font-size: 10px; }
}

/* v15 transport correction — one SVG coordinate system prevents clipping. */
.transport-button .seek-icon {
    display: block;
    width: 62px;
    height: 62px;
    overflow: visible;
    fill: none;
    stroke: none;
}
.transport-button .seek-icon__arc,
.transport-button .seek-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.transport-button .seek-icon__arc { stroke-width: 2.35; }
.transport-button .seek-icon__chevrons { stroke-width: 2.8; }
.transport-button .seek-icon__number {
    fill: currentColor;
    stroke: none;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 720px) {
    .transport-button .seek-icon { width: 50px; height: 50px; }
    .transport-button .seek-icon__number { font-size: 11px; }
}

@media (max-width: 420px) {
    .transport-button .seek-icon { width: 47px; height: 47px; }
    .transport-button .seek-icon__number { font-size: 10.5px; }
}

/* Desktop feature stage occupies roughly seventy percent of the viewport,
   including its internal padding. */
@media (min-width: 941px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain,
    .streaming-hero {
        height: clamp(660px, 72svh, 1500px);
        min-height: 660px;
        box-sizing: border-box;
    }
    .streaming-hero__grid {
        min-height: 0;
        height: 100%;
    }
}

/* v59 requested home hero vertical tuning */
.streaming-home .brand__logo {
    width: clamp(58px, 5vw, 82px);
    max-height: 66px;
    object-fit: contain;
}

.streaming-home .home-header-actions {
    justify-content: flex-end;
}

.streaming-home #profileSummaryButton {
    order: 10;
    flex: 0 0 auto;
    border-color: rgba(245,224,190,.42);
    background: rgba(255,255,255,.13);
    color: #f7ead2;
    box-shadow: 0 0 0 1px rgba(255,255,255,.05) inset, 0 8px 24px rgba(0,0,0,.42);
}

.streaming-home #profileSummaryButton svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.streaming-home #profileSummaryButton:hover,
.streaming-home #profileSummaryButton:focus-visible,
.streaming-home #profileSummaryButton[aria-expanded="true"] {
    border-color: rgba(245,224,190,.72);
    background: rgba(214,173,112,.18);
    color: #fff8ea;
}

.streaming-home .profile-summary-panel {
    right: var(--page-gutter);
}

/* Service detail overlay: Netflix-style shared title sheet. */
.service-dialog {
    width: min(890px, calc(100vw - 2rem));
    max-height: min(92dvh, 820px);
    border: 0;
    border-radius: 0;
    background: #111;
    color: #fff;
}

.service-dialog::backdrop {
    background: rgba(0, 0, 0, .78);
    backdrop-filter: blur(4px);
}

.service-experience,
.service-intake {
    max-height: min(92dvh, 820px);
    background: #111;
}

.service-intake {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
}

.service-dialog__close {
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: rgba(20, 20, 20, .9);
    color: #fff;
    font-size: 1.1rem;
}

.service-modal-hero {
    position: relative;
    min-height: clamp(260px, 39dvh, 370px);
    background: #161616;
    overflow: hidden;
}

.service-modal-hero .service-intake__poster-wrap {
    width: 100%;
    height: clamp(260px, 39dvh, 370px);
    min-height: 0;
    max-height: none;
}

.service-modal-hero .service-intake__poster-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;
    filter: brightness(.72) contrast(1.06) saturate(.88);
}

.service-modal-hero .service-intake__poster-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(17, 17, 17, 0) 38%, #111 96%),
        linear-gradient(90deg, rgba(17, 17, 17, .55), rgba(17, 17, 17, .08) 58%, rgba(17, 17, 17, .22));
}

.service-modal-hero .service-intake__rating {
    top: clamp(1.1rem, 2vw, 1.6rem);
    bottom: auto;
    left: clamp(1rem, 3.5vw, 2.1rem);
    z-index: 4;
    border: 0;
    background: transparent;
    color: #e50914;
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 700;
}

.service-modal-hero__content {
    position: absolute;
    z-index: 5;
    left: clamp(1rem, 3.5vw, 2.1rem);
    right: clamp(1rem, 3.5vw, 2.1rem);
    bottom: clamp(1.1rem, 4dvh, 2.2rem);
}

.service-modal-hero__content .eyebrow {
    margin: 0 0 .3rem;
    color: rgba(255, 255, 255, .78);
    font-size: .68rem;
    font-weight: 700;
}

.service-modal-hero__content h2 {
    max-width: min(620px, 82%);
    margin: 0 0 .9rem;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(2.1rem, 4.35vw, 3.95rem);
    font-weight: 500;
    line-height: .96;
    text-shadow: 0 8px 30px rgba(0, 0, 0, .72);
}

.service-modal-hero__content h2 small {
    display: block;
    margin-top: .45rem;
    color: rgba(255, 255, 255, .82);
    font-family: var(--sans);
    font-size: clamp(.82rem, 1.4vw, 1.02rem);
    font-weight: 600;
    line-height: 1.45;
}

.service-modal-hero__content .service-detail-actions {
    margin: 0;
}

.service-intake__content {
    max-width: none;
    margin: 0;
    padding: 0 clamp(1rem, 3.5vw, 2.1rem) clamp(1.6rem, 4dvh, 2.6rem);
    background: #111;
    overflow: visible;
}

.service-detail-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
    gap: clamp(1rem, 3.8vw, 2.4rem);
    align-items: start;
    padding-top: .2rem;
}

.service-detail-main,
.service-detail-credits {
    min-width: 0;
}

.service-intake__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0 0 .7rem;
}

.service-intake__meta span {
    padding: .16rem .35rem;
    border-radius: 3px;
    color: rgba(255, 255, 255, .82);
    font-size: .68rem;
    font-weight: 650;
}

.service-intake__meta span:first-child {
    color: #46d369;
}

.service-intake__tagline {
    max-width: 590px;
    margin: 0 0 1rem;
    color: rgba(255, 255, 255, .86);
    font-family: var(--sans);
    font-size: .84rem;
    line-height: 1.55;
}

.service-empathy,
.service-result-preview,
.service-narrator {
    margin: .85rem 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.service-result-preview {
    display: none;
}

.content-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .38rem;
}

.content-badges > span {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: .2rem .48rem;
    border: 1px solid rgba(214, 173, 112, .34);
    border-radius: 999px;
    background: rgba(214, 173, 112, .1);
    color: rgba(255, 236, 204, .92);
    font-size: .62rem;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.content-badges--hero {
    margin: .9rem 0 0;
}

.content-badges--hero > span {
    min-height: 1.65rem;
    padding-inline: .62rem;
    background: rgba(5, 7, 11, .38);
}

.service-modal-hero__content .content-badges--service {
    margin: .5rem 0 .85rem;
}

.poster-card__copy .content-badges,
.streaming-card__copy .content-badges {
    display: flex;
    margin-top: .58rem;
    overflow: visible;
    color: inherit;
    line-height: 1;
    -webkit-line-clamp: unset;
}

.poster-card__copy .content-badges > span,
.streaming-card__copy .content-badges > span {
    display: inline-flex;
    min-height: 1.2rem;
    margin-top: 0;
    padding: .16rem .38rem;
    overflow: visible;
    color: rgba(255, 231, 192, .82);
    font-size: .54rem;
    line-height: 1;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
}

.streaming-card__copy .content-badges {
    gap: .3rem;
    margin-top: .45rem;
}

.service-empathy p,
.service-intake__section-label,
.service-narrator > span,
.service-episodes__header span {
    color: rgba(255, 255, 255, .48);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 600;
}

.service-empathy strong,
.service-result-preview h3,
.service-narrator strong {
    color: rgba(255, 255, 255, .9);
    font-family: var(--sans);
    font-size: .78rem;
    font-weight: 700;
}

.service-empathy span,
.service-result-preview li span,
.service-narrator p,
.service-narrator small,
.service-assurance span {
    color: rgba(255, 255, 255, .62);
    font-size: .7rem;
    line-height: 1.5;
}

.service-result-preview ul,
.service-assurance {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
}

.service-result-preview li,
.service-assurance div {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.service-result-preview li {
    grid-template-columns: 1.65rem minmax(0, 1fr);
}

.service-result-preview li i,
.service-assurance strong {
    color: rgba(var(--program-accent-rgb), .9);
}

.service-episodes {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.service-episodes__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.service-episodes__header h3 {
    margin: 0;
    color: #fff;
    font-family: var(--sans);
    font-size: 1.02rem;
    font-weight: 750;
}

.service-story-outline {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
    margin: 0;
    padding: 0;
}

.service-story-outline li {
    display: grid;
    grid-template-columns: 2rem minmax(92px, 118px) minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    min-height: 96px;
    padding: .75rem;
    border: 0;
    border-radius: 0;
    background: #2a2a2a;
    color: rgba(255, 255, 255, .78);
}

.service-story-outline li::before {
    content: none;
}

.service-episode-index {
    color: rgba(255, 255, 255, .54);
    font-size: 1.05rem;
    font-weight: 700;
    text-align: center;
}

.service-story-outline li img {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0;
    object-fit: cover;
    background: #191919;
}

.service-story-outline h4 {
    margin: 0 0 .25rem;
    color: #fff;
    font-family: var(--sans);
    font-size: .78rem;
    font-weight: 750;
}

.service-story-outline p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: .68rem;
    line-height: 1.45;
}

.service-story-outline time {
    align-self: start;
    color: rgba(255, 255, 255, .68);
    font-size: .64rem;
    font-weight: 650;
}

@media (max-width: 760px) {
    .service-dialog {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .service-experience,
    .service-intake {
        max-height: 100dvh;
    }

    .service-modal-hero,
    .service-modal-hero .service-intake__poster-wrap {
        min-height: 360px;
        height: 46dvh;
    }

    .service-modal-hero__content h2 {
        max-width: 100%;
        font-size: clamp(2rem, 11vw, 3.4rem);
    }

    .service-detail-summary {
        grid-template-columns: 1fr;
        gap: .9rem;
    }

    .service-story-outline li {
        grid-template-columns: 1.4rem minmax(74px, 96px) minmax(0, 1fr);
        gap: .55rem;
    }

    .service-story-outline time {
        display: none;
    }
}

/* Cinema video clarity guard: keep only a lower subtitle gradient over media. */
.story-video {
    filter: none;
    transform: none;
}

.cinema__grade {
    opacity: 1;
    visibility: visible;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 80%, rgba(0,0,0,.42) 92%, rgba(0,0,0,.68) 100%);
}

.cinema__vignette {
    box-shadow: none;
}

.birth-reveal,
.birth-reveal.is-active {
    display: none;
    visibility: hidden;
    opacity: 0;
    animation: none;
}

.birth-reveal i,
.birth-reveal b {
    display: none;
}

/* ========================================================================== */
/* LUMINA v15 final pass — catalog navigation and reliable transport glyphs   */
/* ========================================================================== */

.streaming-hero__grid > *,
.hero-scene,
.hero-scene__frame,
.streaming-row,
.streaming-row__viewport,
.streaming-row__track,
.service-intake__content {
    min-width: 0;
}

.home-shelf-filters {
    position: relative;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: .55rem;
    width: min(100%, var(--content-max));
    margin: 0 auto clamp(2.8rem, 5.2vh, 4.6rem);
    padding: 0 var(--page-gutter) .35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}
.home-shelf-filters::-webkit-scrollbar { display: none; }
.home-shelf-filters button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 .9rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.025);
    color: rgba(255,255,255,.62);
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 520;
    letter-spacing: .01em;
    scroll-snap-align: start;
    transition: border-color .25s, background .25s, color .25s;
}
.home-shelf-filters button:hover,
.home-shelf-filters button:focus-visible,
.home-shelf-filters button[aria-current="true"] {
    border-color: rgba(221,183,124,.66);
    background: rgba(214,173,112,.12);
    color: #fff;
}
.streaming-row { scroll-margin-top: calc(var(--header-row-height) + 2.2rem); }

/* All three transport buttons share one visual system. The skip number is an
   HTML layer, not SVG text, so browser zoom and font rendering cannot clip it. */
.transport-button .skip-icon {
    position: relative;
    display: block;
    width: 62px;
    height: 62px;
    color: currentColor;
    pointer-events: none;
}
.transport-button .skip-icon svg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
    stroke: none;
}
.transport-button .skip-icon--forward svg { transform: scaleX(-1); }
.transport-button .skip-icon__ring,
.transport-button .skip-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.transport-button .skip-icon__ring { stroke-width: 2.25; }
.transport-button .skip-icon__chevrons { stroke-width: 2.65; }
.transport-button .skip-icon b {
    position: absolute;
    left: 50%;
    top: 39px;
    transform: translate(-50%, -50%);
    color: currentColor;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
}
.transport-button--main > svg {
    display: block;
    overflow: visible;
}
.transport-button--main .icon-pause rect,
.transport-button--main .icon-play path {
    fill: currentColor;
    stroke: none;
}

/* The future-question screen is a blocking story beat, not a dismissible menu. */
.focus-choice.is-open { isolation: isolate; }
.focus-choice.is-open .focus-choice__panel { animation: focusPanelIn .72s var(--ease-film) both; }
@keyframes focusPanelIn {
    from { opacity: 0; transform: translateY(18px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 940px) {
    .home-shelf-filters { margin-bottom: 2.8rem; }
}

@media (max-width: 720px) {
    .home-shelf-filters {
        width: 100%;
        margin-bottom: 2.35rem;
        padding-inline: 1rem;
    }
    .home-shelf-filters button { min-height: 32px; padding-inline: .78rem; font-size: .66rem; }
    .transport-button .skip-icon { width: 50px; height: 50px; }
    .transport-button .skip-icon b { top: 31.5px; font-size: 10.5px; }
}

@media (max-width: 420px) {
    .transport-button .skip-icon { width: 47px; height: 47px; }
    .transport-button .skip-icon b { top: 29.5px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .focus-choice.is-open .focus-choice__panel { animation: none; }
}

/* ========================================================================== */
/* LUMINA v16 — balanced hero, empathetic catalog, stable player controls     */
/* ========================================================================== */

/* The feature copy sits in the optical center instead of sinking to the base. */
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain,
.streaming-hero {
    height: auto;
    min-height: max(680px, 72svh);
}
.streaming-hero {
    padding: clamp(6.8rem, 9.5vh, 8.4rem) var(--page-gutter) clamp(3.8rem, 6.5vh, 5.8rem);
}
.streaming-hero__grid {
    min-height: calc(max(680px, 72svh) - clamp(10.6rem, 16vh, 14rem));
    align-items: center;
}
.streaming-hero__content {
    align-self: center;
    padding: 0 0 clamp(.5rem, 1.3vh, 1.2rem);
}
.streaming-hero__content h1 {
    max-width: none;
    margin: clamp(.7rem, 1.6vh, 1.15rem) 0 clamp(1rem, 2vh, 1.45rem);
    font-size: clamp(2.75rem, 4.55vw, 6.35rem);
    line-height: 1.08;
    letter-spacing: -.052em;
    text-wrap: initial;
}
.streaming-hero__content h1 > span,
.streaming-hero__content h1 > em {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
}
.streaming-hero__content .hero-copy__body { line-height: 1.78; }
.streaming-hero .hero-metrics { margin-top: clamp(1.35rem, 2.5vh, 2rem); }
.streaming-hero .hero-actions { margin-top: clamp(1rem, 2vh, 1.45rem); }
.home-programs { margin-top: 0; }

/* Empathy is the first interaction layer: start with a recognisable sentence. */
.empathy-stage {
    position: relative;
    z-index: 24;
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.55fr);
    gap: clamp(2rem, 5vw, 6rem);
    width: min(calc(100% - (var(--page-gutter) * 2)), 1680px);
    margin: 0 auto;
    padding: clamp(4.5rem, 8vh, 8rem) 0;
    border-top: 1px solid rgba(255,255,255,.07);
}
.empathy-stage__intro { align-self: start; max-width: 480px; }
.empathy-stage__intro h2 {
    margin: .8rem 0 1.1rem;
    font-family: var(--serif-ko);
    font-size: clamp(2.15rem, 3.2vw, 4rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1.2;
}
.empathy-stage__intro > p:last-child {
    margin: 0;
    color: rgba(255,255,255,.56);
    font-size: .9rem;
    line-height: 1.9;
    word-break: keep-all;
}
.empathy-stage__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; }
.empathy-stage__grid button {
    position: relative;
    display: grid;
    align-content: space-between;
    min-height: 210px;
    padding: clamp(1.25rem, 2vw, 1.8rem);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
    text-align: left;
    transition: transform .4s var(--ease-film), border-color .3s, background .3s;
}
.empathy-stage__grid button::before {
    content: "";
    position: absolute;
    inset: auto -15% -45% 25%;
    height: 80%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214,173,112,.13), transparent 68%);
    filter: blur(25px);
}
.empathy-stage__grid button:hover,
.empathy-stage__grid button:focus-visible {
    transform: translateY(-5px);
    border-color: rgba(214,173,112,.38);
    background: linear-gradient(145deg, rgba(214,173,112,.09), rgba(255,255,255,.018));
}
.empathy-stage__grid q {
    position: relative;
    margin: 0;
    color: rgba(255,255,255,.9);
    font-family: var(--serif-ko);
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
    line-height: 1.55;
    quotes: none;
    word-break: keep-all;
}
.empathy-stage__grid span { position: relative; display: grid; gap: .25rem; margin-top: 2rem; }
.empathy-stage__grid strong { color: var(--gold-pale); font-family: var(--serif-ko); font-size: .98rem; font-weight: 400; }
.empathy-stage__grid small { color: rgba(255,255,255,.42); font-size: .7rem; }

.home-footer {
    position: relative;
    z-index: 24;
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(260px, .9fr) minmax(300px, 1fr);
    gap: clamp(2rem, 4vw, 5rem);
    align-items: start;
    width: 100%;
    padding: clamp(3rem, 6vh, 5rem) var(--page-gutter) max(2.5rem, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(255,255,255,.08);
    background: #030509;
}
.home-footer__brand img { width: min(230px, 72vw); }
.home-footer__brand p,
.home-footer__meta p { max-width: 520px; margin: 1rem 0 0; color: rgba(255,255,255,.43); font-size: .72rem; line-height: 1.85; }
.home-footer nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .55rem; }
.home-footer nav button { min-height: 40px; padding: 0 .8rem; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.02); color: rgba(255,255,255,.58); font-size: .7rem; text-align: left; }
.home-footer nav button:hover,
.home-footer nav button:focus-visible { border-color: rgba(214,173,112,.35); color: #fff; }
.home-footer__meta { justify-self: end; }
.home-footer__meta span { display: block; margin-top: 1rem; color: rgba(214,173,112,.55); font-family: var(--serif); font-size: .57rem; letter-spacing: .13em; }

/* Player controls remain on one optical baseline and never expose both icons. */
.player-controls { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.control-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: clamp(.8rem, 2vw, 2.2rem);
    min-height: 74px;
}
.control-group--left { justify-self: start; min-width: 0; }
.control-group--right { justify-self: end; min-width: 0; }
.transport-controls { justify-self: center; display: flex; align-items: center; gap: .25rem; }
.transport-button,
.transport-button--main {
    width: 64px;
    height: 64px;
    overflow: visible;
}
.transport-button--main { position: relative; }
.transport-button--main > svg {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 43px;
    height: 43px;
    transform: translate(-50%,-50%);
}
.transport-button--main .icon-play { display: none; }
.transport-button--main .icon-pause { display: block; }
.cinema.is-paused .transport-button--main .icon-pause { display: none; }
.cinema.is-paused .transport-button--main .icon-play { display: block; }
.transport-button .skip-icon { width: 60px; height: 60px; }
.transport-button .skip-icon b { top: 38px; font-size: 11px; }
.transport-button .skip-icon--forward svg { transform: scaleX(-1); transform-origin: center; }

.progress-control { min-width: 0; }
.progress-tooltip {
    min-width: 48px;
    white-space: nowrap;
    text-align: center;
    line-height: 1;
    pointer-events: none;
}

/* Four acts have an explicit horizontal footprint; they never collapse into
   a narrow vertical text column. */
.fortune-report__timeline { width: 100%; min-width: 0; overflow: hidden; }
.fortune-report__timeline > .eyebrow { display: block; white-space: nowrap; }
.fortune-report__timeline ol {
    width: 100%;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    align-items: stretch;
}
.fortune-report__timeline li { min-width: 0; }
.fortune-report__timeline li span,
.fortune-report__timeline li strong,
.fortune-report__timeline li small { writing-mode: horizontal-tb; overflow-wrap: anywhere; }

@media (max-height: 760px) and (min-width: 941px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain,
    .streaming-hero { min-height: 690px; height: auto; }
    .streaming-hero { padding-top: 6.55rem; padding-bottom: 2.7rem; }
    .streaming-hero__grid { min-height: 520px; }
    .streaming-hero__content h1 { font-size: clamp(2.85rem, 4.25vw, 4.65rem); }
    .streaming-hero__content .hero-copy__body { font-size: .84rem; line-height: 1.65; }
    .streaming-hero .hero-metrics { margin-top: 1rem; padding-top: .85rem; }
    .streaming-hero .hero-actions { margin-top: .85rem; }
    .streaming-action { min-height: 44px; }
}

@media (max-width: 1180px) {
    .streaming-hero__content h1 { font-size: clamp(2.7rem, 5.2vw, 5.15rem); }
    .empathy-stage { grid-template-columns: 1fr; }
    .empathy-stage__intro { max-width: 680px; }
    .home-footer { grid-template-columns: 1fr 1fr; }
    .home-footer__meta { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 940px) {
    .streaming-hero__content h1 { font-size: clamp(2.55rem, 7.25vw, 4.65rem); }
    .streaming-hero__content h1 > span,
    .streaming-hero__content h1 > em { width: auto; }
    .fortune-report__timeline { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
    .fortune-report__timeline ol {
        width: max-content;
        min-width: 100%;
        grid-template-columns: repeat(4, minmax(220px, 1fr));
    }
}

@media (max-width: 720px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain,
    .streaming-hero { min-height: max(780px, 100svh); }
    .streaming-hero { padding: 7.35rem 1rem 2.5rem; }
    .streaming-hero__grid { gap: 1.25rem; }
    .streaming-hero__content h1 { font-size: clamp(2rem, 8.1vw, 3.2rem); line-height: 1.14; }
    .streaming-hero__content .hero-copy__body { font-size: .82rem; line-height: 1.68; }
    .streaming-hero .hero-metrics { margin-top: 1rem; }
    .hero-actions { margin-top: .8rem; }
    .empathy-stage { width: calc(100% - 2rem); padding: 4rem 0; }
    .empathy-stage__grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(255px, 82vw); grid-template-columns: none; overflow-x: auto; padding-bottom: .7rem; scroll-snap-type: x mandatory; }
    .empathy-stage__grid button { min-height: 190px; scroll-snap-align: start; }
    .home-footer { grid-template-columns: 1fr; padding-inline: 1rem; }
    .home-footer__meta { grid-column: auto; }

    .player-controls { padding: 4.2rem .7rem max(.7rem, env(safe-area-inset-bottom)); }
    .control-row {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        grid-template-rows: auto auto;
        gap: .45rem .65rem;
    }
    .transport-controls { grid-column: 1 / -1; grid-row: 1; }
    .control-group--left { grid-column: 1; grid-row: 2; }
    .control-group--right { grid-column: 2; grid-row: 2; }
    .transport-button,
    .transport-button--main { width: 54px; height: 54px; }
    .transport-button .skip-icon { width: 50px; height: 50px; }
    .transport-button .skip-icon b { top: 31.5px; font-size: 10px; }
    .transport-button--main > svg { width: 36px; height: 36px; }
    .volume-control input { display: none; }
    .time-readout { margin-left: .2rem; font-size: .62rem; white-space: nowrap; }
    .control-group--right { gap: 0; }
    .control-group--right .icon-button { width: 36px; height: 36px; }
    .film-caption { max-width: calc(100vw - 1.2rem); }
    .cinema.is-chrome-visible .film-caption,
    .cinema.is-paused .film-caption { bottom: clamp(11.8rem, 25vh, 14rem); }
}

@media (max-width: 420px) {
    .streaming-hero__content h1 { font-size: clamp(1.88rem, 8.2vw, 2.55rem); letter-spacing: -.057em; }
    .hero-actions { grid-template-columns: 1fr; }
    .hero-actions .streaming-action { min-height: 44px; }
    .home-footer nav { grid-template-columns: 1fr; }
    .control-group--right .caption-settings,
    .control-group--right .speed-control { display: none; }
    .control-group--right .icon-button { width: 34px; height: 34px; }
    .fortune-report__timeline ol { grid-template-columns: repeat(4, minmax(205px, 82vw)); }
}

.service-empathy {
    margin: 1.15rem 0 1.3rem;
    padding: 1rem 1.05rem;
    border-left: 2px solid rgba(var(--program-accent-rgb, 214,173,112), .72);
    background: linear-gradient(90deg, rgba(var(--program-accent-rgb, 214,173,112), .1), transparent);
}
.service-empathy small { color: var(--program-accent, var(--gold-soft)); font-family: var(--serif); font-size: .57rem; letter-spacing: .15em; }
.service-empathy p { margin: .45rem 0 0; color: rgba(255,255,255,.72); font-size: .8rem; line-height: 1.82; word-break: keep-all; }
.service-empathy > p { margin: 0; color: var(--program-accent, var(--gold-soft)); font-family: var(--serif); font-size: .57rem; letter-spacing: .15em; }
.service-empathy > strong { display: block; margin-top: .38rem; color: #fff; font-family: var(--serif-ko); font-size: 1rem; font-weight: 400; }
.service-empathy > span { display: block; margin-top: .4rem; color: rgba(255,255,255,.68); font-size: .78rem; line-height: 1.82; word-break: keep-all; }

/* ========================================================================== */
/* LUMINA v16 DEFINITIVE — responsive feature, player and empathy system       */
/* ========================================================================== */

/* The feature is tall enough to feel cinematic, but its content stays centred
   and scrollable instead of being clipped on short or very large displays. */
.streaming-home {
    min-height: 100svh;
    overflow-x: clip;
    overflow-y: visible;
}
.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    height: calc(var(--header-row-height) + clamp(640px, 72svh, 1500px));
}
.streaming-hero {
    display: block;
    height: auto;
    min-height: clamp(640px, 72svh, 1500px);
    padding: clamp(2.9rem, 6vh, 7rem) var(--page-gutter) clamp(3.4rem, 7vh, 7rem);
    overflow: visible;
}
.streaming-hero__grid {
    width: min(100%, 1780px);
    min-height: clamp(440px, 56svh, 1180px);
    margin-inline: auto;
    align-items: center;
    align-content: center;
}
.streaming-hero__content {
    align-self: center;
    width: 100%;
    max-width: 850px;
    padding: 0;
}
.streaming-hero__content h1 {
    width: max-content;
    max-width: 100%;
    margin: .82rem 0 1.15rem;
    font-size: clamp(2.7rem, 3.7vw, 4.9rem);
    line-height: 1.13;
    letter-spacing: -.058em;
    text-wrap: nowrap;
}
.streaming-hero__content h1 > span,
.streaming-hero__content h1 > em {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
}
.streaming-hero__content .hero-copy__body {
    max-width: 690px;
    margin-top: 0;
    line-height: 1.82;
}
.streaming-hero .hero-metrics { margin-top: 1.75rem; padding-top: 1.1rem; }
.streaming-hero .hero-actions { margin-top: 1.35rem; }
.home-programs { margin-top: 0; }

/* Empathy is expressed through recognisable everyday sentences, then connected
   to a clearly named film program. */
.empathy-stage {
    width: min(calc(100% - (var(--page-gutter) * 2)), 1780px);
    margin: 0 auto;
    padding: clamp(4.2rem, 8vh, 8rem) 0;
}
.empathy-stage__intro { max-width: 760px; }
.empathy-stage__intro h2 { line-height: 1.2; }
.empathy-stage__intro > p:last-child { line-height: 1.9; }
.empathy-stage__grid button { min-height: 210px; }
.empathy-stage__grid q { line-height: 1.68; }

/* Home footer */
.home-footer {
    position: relative;
    z-index: 26;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: clamp(2rem, 5vw, 6rem);
    align-items: start;
    width: min(calc(100% - (var(--page-gutter) * 2)), 1780px);
    margin: 0 auto;
    padding: clamp(3rem, 6vh, 5.5rem) 0 max(2.5rem, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(255,255,255,.08);
}
.home-footer__brand { display: grid; gap: 1.1rem; max-width: 560px; }
.home-footer__brand button { width: max-content; padding: 0; background: transparent; }
.home-footer__brand img { width: clamp(154px, 13vw, 218px); height: auto; }
.home-footer__brand p,
.home-footer__meta p {
    margin: 0;
    color: rgba(255,255,255,.5);
    font-size: .78rem;
    line-height: 1.85;
    word-break: keep-all;
}
.home-footer__brand strong { color: rgba(255,255,255,.78); font-weight: 450; }
.home-footer nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}
.home-footer nav button,
.home-footer nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 .9rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    background: rgba(255,255,255,.025);
    color: rgba(255,255,255,.62);
    font-size: .7rem;
    text-decoration: none;
    white-space: nowrap;
}
.home-footer nav button:hover,
.home-footer nav button:focus-visible,
.home-footer nav a:hover,
.home-footer nav a:focus-visible {
    border-color: rgba(214,173,112,.5);
    background: rgba(214,173,112,.09);
    color: #fff;
}
.home-footer__meta {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.055);
}
.home-footer__meta p { max-width: 720px; }
.home-footer__meta span {
    flex: 0 0 auto;
    color: rgba(255,255,255,.28);
    font-family: var(--serif);
    font-size: .58rem;
    letter-spacing: .14em;
    white-space: nowrap;
}

/* Program titles can occupy two lines without being clipped. */
.streaming-card__copy strong {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    line-height: 1.35;
    text-overflow: clip;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.poster-card__copy strong { line-height: 1.42; word-break: keep-all; }
.service-intake__content h2 small { line-height: 1.55; word-break: keep-all; }

/* In-dialog empathy bridge */
.service-empathy {
    display: grid;
    gap: .48rem;
    margin: 1.35rem 0 1.15rem;
    padding: 1.1rem 1.15rem 1.15rem;
    border: 1px solid rgba(var(--program-accent-rgb), .2);
    border-left: 3px solid rgba(var(--program-accent-rgb), .72);
    border-radius: 12px;
    background: linear-gradient(120deg, rgba(var(--program-accent-rgb), .08), rgba(255,255,255,.018));
}
.service-empathy p {
    margin: 0;
    color: var(--program-accent);
    font-family: var(--serif);
    font-size: .56rem;
    letter-spacing: .17em;
}
.service-empathy strong {
    color: rgba(255,255,255,.9);
    font-family: var(--serif-ko);
    font-size: clamp(1rem, 1.35vw, 1.28rem);
    font-weight: 400;
    line-height: 1.58;
    word-break: keep-all;
}
.service-empathy span {
    color: rgba(255,255,255,.58);
    font-size: .78rem;
    line-height: 1.8;
    word-break: keep-all;
}

/* Stable player composition */
.player-controls {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 3.9rem clamp(1.1rem, 3vw, 3.2rem) max(.9rem, env(safe-area-inset-bottom));
}
.progress-control { width: 100%; margin-bottom: .4rem; }
.progress-tooltip {
    min-width: 52px;
    max-width: calc(100% - 8px);
    padding: .38rem .52rem;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    text-align: center;
    line-height: 1;
}
.control-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
    grid-template-areas: "left transport right";
    align-items: center;
    gap: clamp(.6rem, 1.5vw, 1.5rem);
    width: 100%;
    min-width: 0;
}
.control-group--left { grid-area: left; justify-self: start; min-width: 0; }
.transport-controls { grid-area: transport; justify-self: center; min-width: max-content; }
.control-group--right { grid-area: right; justify-self: end; min-width: 0; }

/* Only one playback state icon is visible. */
#playToggle .icon-play { display: none; }
#playToggle .icon-pause { display: block; }
.cinema.is-paused #playToggle .icon-pause { display: none; }
.cinema.is-paused #playToggle .icon-play { display: block; }

/* One icon system for both ten-second actions. */
.transport-button .skip-icon {
    position: relative;
    display: block;
    width: 62px;
    height: 62px;
    pointer-events: none;
}
.transport-button .skip-icon svg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
}
.transport-button .skip-icon--forward svg { transform: scaleX(-1); }
.transport-button .skip-icon__ring,
.transport-button .skip-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.transport-button .skip-icon__ring { stroke-width: 2.2; }
.transport-button .skip-icon__chevrons { stroke-width: 2.65; }
.transport-button .skip-icon b {
    position: absolute;
    left: 50%;
    top: 39px;
    transform: translate(-50%, -50%);
    color: currentColor;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 680;
    line-height: 1;
}

/* Legacy timeline grid is reset so its heading never collapses into a narrow
   vertical column. */
.fortune-report__timeline {
    display: block;
    grid-template-columns: none;
    gap: 0;
    width: 100%;
    margin: 0;
    padding-top: 1.8rem;
    border-top: 0;
    border-bottom: 0;
}
.fortune-report__timeline > .eyebrow {
    display: block;
    width: 100%;
    white-space: normal;
    writing-mode: horizontal-tb;
}
.fortune-report__timeline ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    width: 100%;
    margin: 1rem 0 0;
    padding: 0;
}
.fortune-report__timeline li { min-width: 0; }

/* Tablet */
@media (max-width: 940px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain { height: max(960px, 112svh); }
    .streaming-hero {
        min-height: 0;
        padding: clamp(3.2rem, 6vh, 5rem) var(--page-gutter) clamp(3rem, 6vh, 5rem);
    }
    .streaming-hero__grid {
        grid-template-columns: 1fr;
        min-height: 0;
        align-content: start;
        gap: clamp(1.8rem, 5vh, 3.2rem);
    }
    .streaming-hero__content h1 { font-size: clamp(2.4rem, 7vw, 4.15rem); }
    .hero-scene { justify-self: start; }
    .home-footer { grid-template-columns: 1fr; }
    .home-footer nav { justify-content: flex-start; }
    .fortune-report__timeline ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobile player uses two rows: cinematic transport first, utilities second. */
@media (max-width: 720px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain { height: max(900px, 112svh); }
    .streaming-hero {
        min-height: 0;
        padding: 2.6rem 1rem 3rem;
    }
    .streaming-hero__grid { gap: 1.55rem; }
    .streaming-hero__content h1 {
        width: 100%;
        font-size: clamp(1.9rem, 8.2vw, 3.05rem);
        line-height: 1.16;
        letter-spacing: -.055em;
    }
    .streaming-hero__content h1 > span,
    .streaming-hero__content h1 > em { width: max-content; max-width: 100%; }
    .streaming-hero__content .hero-copy__body { font-size: .86rem; line-height: 1.72; }
    .hero-metrics { margin-top: 1.2rem; }
    .hero-actions { margin-top: 1.05rem; }
    .home-programs { padding-top: 2.2rem; }
    .empathy-stage { width: 100%; padding: 3.5rem 1rem; }
    .empathy-stage__grid { grid-template-columns: 1fr; }
    .empathy-stage__grid button { min-height: 170px; }
    .home-footer { width: calc(100% - 2rem); gap: 1.6rem; }
    .home-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
    .home-footer nav button,
    .home-footer nav a { justify-content: center; width: 100%; }
    .home-footer__meta { display: grid; gap: 1rem; }
    .home-footer__meta span { white-space: normal; line-height: 1.5; }

    .player-controls { padding: 3.5rem .7rem max(.65rem, env(safe-area-inset-bottom)); }
    .control-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas: "transport transport" "left right";
        row-gap: .18rem;
        column-gap: .5rem;
    }
    .transport-controls { justify-self: center; }
    .control-group--left { justify-self: start; }
    .control-group--right { justify-self: end; }
    .transport-button { width: 52px; height: 52px; }
    .transport-button--main { width: 60px; height: 60px; }
    .transport-button .skip-icon { width: 49px; height: 49px; }
    .transport-button .skip-icon b { top: 31px; font-size: 10.5px; }
    #playToggle > svg { width: 38px; height: 38px; }
    .control-group--right { gap: 0; }
    .control-group--right .icon-button { width: 36px; height: 36px; }
    .time-readout { display: none; }
    .volume-control input { display: none; }
    .cinema.is-chrome-visible .film-caption,
    .cinema.is-paused .film-caption { bottom: clamp(11.8rem, 25vh, 14rem); }
    .fortune-report__timeline ol { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .streaming-hero__content h1 { font-size: clamp(1.78rem, 8vw, 2.35rem); }
    .home-footer nav { grid-template-columns: 1fr; }
    .control-group--right .caption-settings { display: none; }
    .control-group--right .icon-button { width: 34px; height: 34px; }
    .transport-button { width: 48px; height: 48px; }
    .transport-button--main { width: 56px; height: 56px; }
    .transport-button .skip-icon { width: 45px; height: 45px; }
    .transport-button .skip-icon b { top: 28.5px; font-size: 10px; }
}

/* Short desktop windows scroll naturally and compact the feature rather than
   cutting the primary action below the fold. */
@media (max-height: 760px) and (min-width: 941px) {
    .streaming-home .intro__video,
    .streaming-home .intro__depth,
    .streaming-home .award-spotlights,
    .streaming-home .award-reflection,
    .streaming-home > .film-grain { height: calc(var(--header-row-height) + 650px); }
    .streaming-hero {
        min-height: 650px;
        padding-top: 2.15rem;
        padding-bottom: 2.5rem;
    }
    .streaming-hero__grid { min-height: 540px; }
    .streaming-hero__content h1 { margin-block: .55rem .85rem; font-size: clamp(2.6rem, 3.45vw, 4.15rem); }
    .streaming-hero__content .hero-copy__body { font-size: .88rem; line-height: 1.65; }
    .streaming-hero .hero-metrics { margin-top: 1rem; padding-top: .85rem; }
    .streaming-hero .hero-actions { margin-top: .95rem; }
    .hero-scene { max-width: 620px; }
    .player-controls { padding-top: 3.2rem; padding-bottom: .55rem; }
    .transport-button { width: 58px; height: 58px; }
    .transport-button--main { width: 64px; height: 64px; }
    .transport-button .skip-icon { width: 54px; height: 54px; }
    .transport-button .skip-icon b { top: 34px; font-size: 11px; }
}

/* v16 main-feature title correction: the first Korean line must not inherit
   the small English-program-title treatment used by secondary features. */
.streaming-home.is-main-feature .streaming-hero__content h1 {
    max-width: min(100%, 980px);
    font-size: clamp(2.7rem, 3.7vw, 5.35rem);
}
.streaming-home.is-main-feature .streaming-hero__content {
    max-width: 980px;
}
.streaming-home.is-main-feature .streaming-hero__content h1 > span {
    color: rgba(255,255,255,.96);
    font-family: var(--serif-ko);
    font-size: 1em;
    font-weight: 400;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: none;
}
@media (max-width: 720px) {
    .streaming-home.is-main-feature .streaming-hero__content h1 {
        font-size: clamp(1.78rem, 7.75vw, 2.9rem);
    }
}
@media (max-width: 420px) {
    .streaming-home.is-main-feature .streaming-hero__content h1 {
        font-size: clamp(1.62rem, 7.25vw, 2.2rem);
    }
}

/* Player chrome fades in place. Translating the whole control surface below
   the viewport caused the transport row to clip on short windows. */
.player-controls,
.cinema.is-chrome-visible .player-controls,
.cinema.is-paused .player-controls {
    transform: none;
}

/* Alternate program names keep the same two-line lock-up with a slightly
   smaller optical size so long English titles never collide with the scene. */
.streaming-hero__content h1.is-program-title {
    font-size: clamp(2.25rem, 3.15vw, 4.2rem);
    letter-spacing: -.045em;
}
@media (max-width: 720px) {
    .streaming-hero__content h1.is-program-title {
        font-size: clamp(1.45rem, 6vw, 2.45rem);
        letter-spacing: -.038em;
    }
}

/* Keep the report section label horizontal even when the report is narrow. */
.fortune-report__timeline > .eyebrow {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

/* ========================================================================== */
/* v17 confirmed overrides                                                   */
/* ========================================================================== */

/* The birth reveal is a broad cinematic bloom. The former 8px light source
   looked like a layout artifact whenever playback was paused mid-animation. */
.birth-reveal i {
    display: none;
}
.birth-reveal b {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 248, 229, .78) 0, rgba(233, 194, 133, .26) 14%, rgba(158, 111, 57, .08) 34%, transparent 62%);
    filter: blur(1px);
}
.cinema.is-paused .birth-reveal {
    animation-play-state: paused;
}

/* Pause feedback uses one symbol only. */
.pause-center {
    gap: 0;
}
.pause-center p {
    display: none;
}
.pause-center__icon {
    width: 72px;
    height: 72px;
    padding: 0;
    display: grid;
    place-items: center;
}
.pause-center__icon svg {
    width: 44px;
    height: 44px;
    fill: currentColor;
    stroke: none;
}

#cinema[data-experience="seoyun-guide"] .pause-center,
#cinema[data-experience="seoyun-guide"].is-paused .pause-center,
#storyVideo[data-experience="seoyun-guide"] ~ .pause-center {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Symmetric, self-contained 10-second transport glyphs. No nested SVG and no
   CSS mirroring: both directions use the same optical size and stroke weight. */
.transport-button--seek {
    display: grid;
    place-items: center;
    overflow: visible;
}
.transport-button .skip-icon,
.transport-button .skip-icon--back,
.transport-button .skip-icon--forward {
    display: block;
    width: 60px;
    height: 60px;
    max-width: none;
    overflow: visible;
    transform: none;
    transform-origin: center;
    fill: none;
    stroke: none;
}
.transport-button .skip-icon--forward svg,
.transport-button .skip-icon--back svg {
    transform: none;
}
.transport-button .skip-icon__arc,
.transport-button .skip-icon__arrow,
.transport-button .skip-icon__chevrons {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.transport-button .skip-icon__arc,
.transport-button .skip-icon__arrow {
    stroke-width: 2.2;
}
.transport-button .skip-icon__chevrons {
    stroke-width: 2.6;
}
.transport-button .skip-icon__number {
    fill: currentColor;
    stroke: none;
    font-family: var(--sans);
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: -.02em;
    text-anchor: middle;
}

/* Floating panels are clamped to the visible viewport. */
.current-cut {
    right: max(12px, env(safe-area-inset-right));
    left: auto;
    width: min(390px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));
    max-width: calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
    max-height: min(68dvh, 650px);
}
.caption-settings-menu,
.speed-menu {
    right: max(0px, env(safe-area-inset-right));
    max-width: calc(100vw - 24px);
}
.progress-tooltip {
    white-space: nowrap;
}

/* AFTER CREDITS title is always two authored rows. */
#endingTitle {
    max-width: 100%;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: nowrap;
}
#endingTitle > span {
    display: block;
    white-space: nowrap;
    word-break: keep-all;
}

/* Four acts: 4 / 2 / 1 without forcing a narrow heading into a grid column. */
.fortune-report__timeline {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: visible;
}
.fortune-report__timeline > .eyebrow {
    display: block;
    width: 100%;
    white-space: nowrap;
    writing-mode: horizontal-tb;
}
.fortune-report__timeline ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    overflow: visible;
}
.fortune-report__timeline li,
.fortune-report__timeline li * {
    min-width: 0;
    writing-mode: horizontal-tb;
}

/* Premiere, purchase, first-entry, preplay, and profile-summary surfaces. */

/* Premiere gate, product-offer, report preview, and purchase-surface rules. */

/* -------------------------------------------------------------------------- */
/* Main feature premiere gate                                                 */
/* -------------------------------------------------------------------------- */
.premiere-gate {
    position: fixed;
    z-index: 500;
    inset: 0;
    display: grid;
    place-items: center;
    padding:
        max(16px, env(safe-area-inset-top))
        max(16px, env(safe-area-inset-right))
        max(16px, env(safe-area-inset-bottom))
        max(16px, env(safe-area-inset-left));
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s ease;
    isolation: isolate;
}
.premiere-gate.is-open {
    opacity: 1;
    pointer-events: auto;
}
.premiere-gate__backdrop {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 72% 22%, rgba(197, 150, 83, .16), transparent 36%),
        linear-gradient(180deg, rgba(3, 5, 9, .82), rgba(1, 2, 4, .97));
    backdrop-filter: blur(18px) saturate(112%);
    -webkit-backdrop-filter: blur(18px) saturate(112%);
}
.premiere-gate__dialog {
    position: relative;
    width: min(1500px, calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));
    max-width: 100%;
    max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow: hidden;
    border: 1px solid rgba(239, 211, 165, .2);
    border-radius: 26px;
    background:
        linear-gradient(145deg, rgba(22, 27, 35, .97), rgba(6, 8, 13, .99)),
        #080b10;
    box-shadow: 0 45px 140px rgba(0, 0, 0, .72), 0 1px 0 rgba(255, 255, 255, .08) inset;
    transform: translateY(18px) scale(.99);
    transition: transform .42s var(--ease-film);
}
.premiere-gate.is-open .premiere-gate__dialog {
    transform: translateY(0) scale(1);
}
.premiere-gate__header {
    position: sticky;
    z-index: 8;
    top: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.2rem, 2.2vw, 2rem) clamp(1.2rem, 3vw, 3rem);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(8, 11, 16, .9);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
.premiere-gate__header h2 {
    margin: .45rem 0 0;
    font-family: var(--serif-ko);
    font-size: clamp(1.55rem, 2.45vw, 3rem);
    font-weight: 300;
    line-height: 1.42;
    letter-spacing: -.035em;
    word-break: keep-all;
}
.premiere-gate__header > button {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .75);
    font-size: 1.5rem;
}
.premiere-gate__body {
    max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 112px);
    padding: clamp(1.2rem, 3vw, 3rem);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(214, 173, 112, .36) transparent;
}
.premiere-gate__hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    gap: clamp(1rem, 2.4vw, 2rem);
    align-items: stretch;
    margin-bottom: clamp(1.4rem, 3vw, 2.6rem);
    padding: clamp(1rem, 2.4vw, 2rem);
    overflow: hidden;
    border: 1px solid rgba(214, 173, 112, .34);
    border-radius: 18px;
    background:
        linear-gradient(100deg, rgba(214, 173, 112, .12), transparent 38%),
        radial-gradient(circle at 82% 18%, rgba(214, 173, 112, .18), transparent 34%),
        rgba(7, 10, 16, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 28px 70px rgba(0, 0, 0, .26);
}
.premiere-gate__hero::before {
    content: "";
    position: absolute;
    inset: auto clamp(1rem, 2.4vw, 2rem) clamp(1rem, 2vw, 1.4rem);
    height: 1px;
    background: linear-gradient(90deg, rgba(214, 173, 112, .75), transparent);
    pointer-events: none;
}
.premiere-gate__hero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: clamp(.75rem, 1.6vw, 1.2rem);
    min-width: 0;
}
.premiere-gate__hero-copy h3 {
    margin: 0;
    color: #fffaf0;
    font-family: var(--serif-ko);
    font-size: clamp(2rem, 4.5vw, 4.5rem);
    font-weight: 300;
    line-height: 1.13;
    letter-spacing: -.03em;
    word-break: keep-all;
}
.premiere-gate__hero-copy > p:not(.eyebrow) {
    max-width: 68ch;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.86rem, 1vw, 1rem);
    font-weight: 650;
    line-height: 1.75;
    word-break: keep-all;
}
.premiere-gate__hero .premiere-runtime-map {
    margin: .25rem 0 0;
    padding: 0;
}
.premiere-gate__hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .7rem 1rem;
    padding-top: .2rem;
}
.premiere-gate__hero-actions button {
    min-height: 48px;
    padding: .85rem 1.15rem;
    border: 0;
    border-radius: 8px;
    color: #221406;
    font-size: .86rem;
    font-weight: 900;
    background: linear-gradient(180deg, #f0d18c, #b97835);
    box-shadow: 0 16px 34px rgba(214, 173, 112, .24);
}
.premiere-gate__hero-actions span {
    min-width: min(100%, 270px);
    color: rgba(232, 210, 169, .72);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.45;
    word-break: keep-all;
}
.premiere-gate__ticket {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: .75rem;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.45rem);
    overflow: hidden;
    border: 1px solid rgba(214, 173, 112, .44);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(214, 173, 112, .16), rgba(11, 15, 22, .94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 18px 46px rgba(0, 0, 0, .28);
}
.premiere-gate__ticket::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 18px;
    width: 1px;
    background-image: linear-gradient(rgba(255, 232, 183, .46) 45%, transparent 0);
    background-size: 1px 12px;
    opacity: .52;
}
.premiere-gate__ticket > span {
    color: var(--gold-soft);
    font-family: var(--serif-ko);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .02em;
    line-height: 1.25;
    word-break: keep-all;
}
.premiere-gate__ticket > strong {
    color: #fff8e9;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: .95;
    white-space: nowrap;
}
.premiere-gate__ticket > p,
.premiere-gate__ticket > small {
    margin: 0;
    color: rgba(255, 242, 211, .74);
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.5;
    word-break: keep-all;
}
.premiere-gate__ticket ul {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: .1rem 0;
    padding: 0;
    list-style: none;
}
.premiere-gate__ticket li {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: .3rem .58rem;
    border: 1px solid rgba(214, 173, 112, .24);
    border-radius: 999px;
    color: rgba(255, 242, 211, .84);
    font-size: .6rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    background: rgba(2, 4, 8, .28);
}
.premiere-preview {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: clamp(1.4rem, 3vw, 3.5rem);
    align-items: center;
}
.premiere-preview__visual {
    position: relative;
    min-width: 0;
    min-height: clamp(360px, 42vw, 620px);
    overflow: hidden;
    border: 1px solid rgba(239, 211, 165, .14);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 30%, rgba(222, 183, 126, .18), transparent 28%),
        linear-gradient(145deg, #17202a, #070a0f 65%);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
}
.premiere-preview__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 35%, rgba(2, 3, 5, .18) 58%, rgba(2, 3, 5, .92) 100%);
}
.future-silhouette {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.future-silhouette::before {
    content: "";
    position: absolute;
    width: min(70%, 430px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(230, 197, 146, .12);
    filter: blur(70px);
}
.future-silhouette__figure {
    position: absolute;
    bottom: -4%;
    width: min(47%, 285px);
    height: auto;
    fill: rgba(7, 11, 16, .9);
    stroke: rgba(239, 216, 177, .24);
    stroke-width: 2;
    filter: drop-shadow(0 0 34px rgba(226, 183, 117, .16)) blur(.25px);
}
.future-silhouette[data-counterpart="feminine"] .future-silhouette__figure--masculine,
.future-silhouette[data-counterpart="masculine"] .future-silhouette__figure--feminine {
    display: none;
}
.future-silhouette > span {
    position: absolute;
    z-index: 3;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    color: rgba(255, 255, 255, .48);
    font-size: .68rem;
    line-height: 1.55;
    letter-spacing: .05em;
    text-align: center;
}
.locked-reading-card {
    position: absolute;
    z-index: 4;
    right: clamp(.8rem, 3vw, 2rem);
    top: clamp(.8rem, 3vw, 2rem);
    width: min(47%, 350px);
    padding: clamp(.9rem, 2vw, 1.4rem);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: rgba(247, 244, 237, .92);
    color: #16191d;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .42);
    transform: rotate(.7deg);
}
.locked-reading-card p {
    margin: 0 0 .85rem;
    font-family: var(--serif-ko);
    font-size: clamp(.92rem, 1.2vw, 1.12rem);
    font-weight: 700;
}
.locked-reading-card ol {
    display: grid;
    gap: .58rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.locked-reading-card li {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .25rem;
    align-items: baseline;
    font-size: clamp(.68rem, .82vw, .78rem);
    line-height: 1.45;
}
.locked-reading-card li strong {
    color: #486a82;
    font-family: var(--serif);
}
.locked-reading-card li.is-locked {
    position: relative;
    color: transparent;
    text-shadow: 0 0 8px rgba(22, 25, 29, .42);
    user-select: none;
}
.locked-reading-card li.is-locked::after {
    content: "LOCKED";
    position: absolute;
    right: 0;
    color: #76552d;
    text-shadow: none;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}
.premiere-preview__copy {
    min-width: 0;
}
.premiere-preview__copy h3,
.report-contents h3,
.premiere-strengths h3 {
    margin: .65rem 0 1rem;
    font-family: var(--serif-ko);
    font-size: clamp(1.7rem, 3vw, 3.25rem);
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: -.04em;
    word-break: keep-all;
}
.premiere-preview__copy > p:not(.eyebrow) {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: clamp(.86rem, 1vw, 1rem);
    line-height: 1.9;
    word-break: keep-all;
}
.premiere-preview__copy > p strong {
    color: var(--gold-pale);
    font-weight: 650;
}
.premiere-preview__copy ul {
    display: grid;
    gap: .75rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}
.premiere-preview__copy li {
    position: relative;
    padding-left: 1.2rem;
    color: rgba(255, 255, 255, .78);
    font-size: .82rem;
    line-height: 1.65;
}
.premiere-preview__copy li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 12px rgba(214, 173, 112, .5);
}
.report-contents,
.premiere-proof,
.premiere-strengths,
.premiere-offer {
    margin-top: clamp(2rem, 4vw, 4rem);
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    border-top: 1px solid rgba(255, 255, 255, .09);
}
.report-contents > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
}
.report-contents > header h3 {
    margin-bottom: 0;
    font-size: clamp(1.55rem, 2.5vw, 2.55rem);
}
.report-contents > header > span {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, .38);
    font-family: var(--serif);
    font-size: .68rem;
    letter-spacing: .14em;
}
.report-contents__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}
.report-contents__grid li {
    min-width: 0;
    min-height: 134px;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));
}
.report-contents__grid i {
    display: block;
    margin-bottom: .6rem;
    color: var(--gold);
    font-family: var(--serif);
    font-size: .66rem;
    font-style: normal;
    letter-spacing: .12em;
}
.report-contents__grid strong {
    display: block;
    font-family: var(--serif-ko);
    font-size: .94rem;
    font-weight: 500;
    line-height: 1.5;
    word-break: keep-all;
}
.report-contents__grid span {
    display: block;
    margin-top: .42rem;
    color: rgba(255, 255, 255, .48);
    font-size: .72rem;
    line-height: 1.65;
    word-break: keep-all;
}
.premiere-proof {
    display: grid;
    grid-template-columns: minmax(320px, .76fr) minmax(0, 1.24fr);
    gap: clamp(1.2rem, 3vw, 3rem);
}
.premiere-proof__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}
.premiere-proof__metrics div {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 125px;
    padding: 1rem;
    border: 1px solid rgba(214, 173, 112, .18);
    border-radius: 14px;
    background: rgba(214, 173, 112, .05);
    text-align: center;
}
.premiere-proof__metrics strong {
    color: var(--gold-pale);
    font-family: var(--serif);
    font-size: clamp(1.6rem, 2.4vw, 2.65rem);
    font-weight: 400;
}
.premiere-proof__metrics span {
    margin-top: .35rem;
    color: rgba(255, 255, 255, .42);
    font-size: .56rem;
    line-height: 1.4;
    letter-spacing: .1em;
}
.premiere-proof__reviews {
    display: grid;
    gap: .55rem;
}
.premiere-proof__reviews blockquote {
    margin: 0;
    padding: .85rem 1rem;
    border-left: 2px solid rgba(214, 173, 112, .45);
    background: rgba(255, 255, 255, .025);
    color: rgba(255, 255, 255, .72);
    font-family: var(--serif-ko);
    font-size: .82rem;
    line-height: 1.7;
}
.premiere-proof__reviews small {
    color: rgba(255, 255, 255, .34);
    font-size: .62rem;
    line-height: 1.6;
}
.premiere-strengths {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
    gap: clamp(1.5rem, 4vw, 4rem);
}
.premiere-strengths h3 {
    margin-bottom: 0;
    font-size: clamp(1.55rem, 2.5vw, 2.75rem);
}
.premiere-strengths ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.premiere-strengths li {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}
.premiere-strengths strong {
    display: block;
    margin-bottom: .35rem;
    color: var(--gold-pale);
    font-family: var(--serif-ko);
    font-size: .9rem;
}
.premiere-strengths span {
    display: block;
    color: rgba(255, 255, 255, .5);
    font-size: .72rem;
    line-height: 1.65;
    word-break: keep-all;
}
.premiere-offer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
    gap: 1.5rem;
    align-items: center;
    margin-bottom: .25rem;
    padding: clamp(1.3rem, 2.5vw, 2rem);
    border: 1px solid rgba(214, 173, 112, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 12% 0%, rgba(214, 173, 112, .15), transparent 45%),
        rgba(214, 173, 112, .05);
}
.premiere-offer__copy > span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: .66rem;
    letter-spacing: .15em;
}
.premiere-offer__copy > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .65rem;
    margin-top: .5rem;
}
.premiere-offer__copy del {
    color: rgba(255, 255, 255, .36);
    font-size: .9rem;
}
.premiere-offer__copy strong {
    color: #fff3d9;
    font-family: var(--serif-ko);
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 500;
}
.premiere-offer__copy b {
    padding: .35rem .55rem;
    border-radius: 999px;
    background: #d6ad70;
    color: #171006;
    font-size: .7rem;
}
.premiere-offer__copy p {
    margin: .55rem 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: .72rem;
}
.premiere-offer__actions {
    display: grid;
    gap: .55rem;
}
.premiere-offer__actions button {
    min-height: 52px;
    padding: .75rem 1rem;
    border-radius: 999px;
    font-weight: 750;
}
#premiereUnlockButton {
    background: linear-gradient(92deg, #ad793f, #dfbd79);
    color: #130d07;
    box-shadow: 0 9px 22px rgba(181, 128, 62, .18);
}
#premiereReplayFreeButton {
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .72);
}
.premiere-offer__actions small {
    color: rgba(255, 255, 255, .35);
    font-size: .59rem;
    line-height: 1.5;
    text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Program detail additions                                                   */
/* -------------------------------------------------------------------------- */
.service-narrator {
    display: grid;
    grid-template-columns: auto minmax(0, .65fr) minmax(220px, 1fr);
    gap: .85rem 1rem;
    align-items: center;
    margin: 1.1rem 0;
    padding: 1rem;
    border: 1px solid rgba(214, 173, 112, .16);
    border-radius: 14px;
    background: rgba(214, 173, 112, .045);
}
.service-narrator > span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: .58rem;
    letter-spacing: .15em;
}
.service-narrator strong {
    display: block;
    font-family: var(--serif-ko);
    font-size: .95rem;
    font-weight: 500;
}
.service-narrator p,
.service-narrator small {
    margin: .15rem 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: .68rem;
    line-height: 1.65;
}
.service-result-preview {
    margin: 1.25rem 0;
    padding: 1.1rem;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}
.service-result-preview h3 {
    margin: .35rem 0 .85rem;
    font-family: var(--serif-ko);
    font-size: 1.08rem;
    font-weight: 500;
}
.service-result-preview ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.service-result-preview li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .45rem;
    min-width: 0;
    padding: .7rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
}
.service-result-preview li i {
    color: var(--gold);
    font-family: var(--serif);
    font-size: .62rem;
    font-style: normal;
}
.service-result-preview li span {
    min-width: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .72rem;
    line-height: 1.55;
    word-break: keep-all;
}
.service-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin: 1.1rem 0 1.4rem;
}
.service-assurance div {
    min-width: 0;
    padding: .8rem;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 10px;
    background: rgba(255, 255, 255, .02);
}
.service-assurance strong {
    display: block;
    color: var(--gold-pale);
    font-size: .72rem;
}
.service-assurance span {
    display: block;
    margin-top: .25rem;
    color: rgba(255, 255, 255, .42);
    font-size: .62rem;
    line-height: 1.55;
}
.service-intake__content,
.service-intake__tagline,
.service-story-outline li,
.service-empathy span,
.service-paywall p,
.service-paywall li {
    line-height: 1.7;
}

/* Long guide headings remain horizontal and balanced. */
.film-library__hero h2 {
    max-width: 1100px;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: balance;
}
.home-nav,
.home-shelf-filters,
.library-filters {
    overscroll-behavior-inline: contain;
}

@media (min-width: 2000px) {
    .premiere-gate__dialog {
        width: min(1500px, calc(100vw - 96px));
    }
    .premiere-gate__body {
        padding: 3rem;
    }
    .premiere-preview__visual {
        min-height: 610px;
    }
}

@media (max-width: 1100px) {
    .premiere-gate__hero {
        grid-template-columns: 1fr;
    }
    .premiere-gate__ticket {
        min-height: 0;
    }
    .premiere-preview {
        grid-template-columns: 1fr;
    }
    .premiere-preview__visual {
        min-height: min(58vw, 560px);
    }
    .report-contents__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .premiere-proof,
    .premiere-strengths,
    .premiere-offer {
        grid-template-columns: 1fr;
    }
    .service-narrator {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .service-narrator > small {
        grid-column: 1 / -1;
    }
    .fortune-report__timeline ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .transport-button .skip-icon,
    .transport-button .skip-icon--back,
    .transport-button .skip-icon--forward {
        width: 48px;
        height: 48px;
    }
    .transport-button .skip-icon__number {
        font-size: 10px;
    }
    .current-cut {
        right: max(8px, env(safe-area-inset-right));
        width: calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));
        max-width: calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));
        max-height: min(74dvh, 620px);
    }
    #endingTitle {
        font-size: clamp(1.56rem, 7.2vw, 2.35rem);
        letter-spacing: -.05em;
    }
    .premiere-gate {
        padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    }
    .premiere-gate__dialog {
        width: calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));
        max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        border-radius: 18px;
    }
    .premiere-gate__header {
        gap: .75rem;
        padding: 1rem;
    }
    .premiere-gate__header h2 {
        font-size: clamp(1.25rem, 5.5vw, 1.72rem);
        line-height: 1.45;
    }
    .premiere-gate__header > button {
        width: 38px;
        height: 38px;
    }
    .premiere-gate__body {
        max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 98px);
        padding: 1rem;
    }
    .premiere-gate__hero {
        gap: .95rem;
        margin-bottom: 1.1rem;
        padding: .92rem;
        border-radius: 14px;
    }
    .premiere-gate__hero::before {
        display: none;
    }
    .premiere-gate__hero-copy h3 {
        font-size: clamp(1.75rem, 9vw, 2.8rem);
    }
    .premiere-gate__hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .premiere-gate__hero-actions button {
        width: 100%;
    }
    .premiere-gate__ticket {
        padding: 1rem;
    }
    .premiere-gate__ticket > strong {
        font-size: clamp(1.85rem, 10vw, 2.65rem);
    }
    .premiere-preview {
        gap: 1.25rem;
    }
    .premiere-preview__visual {
        min-height: 430px;
        border-radius: 16px;
    }
    .future-silhouette__figure {
        width: min(58%, 250px);
    }
    .locked-reading-card {
        right: .65rem;
        top: .65rem;
        width: min(68%, 300px);
        padding: .8rem;
    }
    .locked-reading-card li {
        font-size: .65rem;
    }
    .premiere-preview__copy h3,
    .report-contents h3,
    .premiere-strengths h3 {
        font-size: clamp(1.45rem, 7vw, 2rem);
    }
    .report-contents > header {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem;
    }
    .report-contents__grid {
        grid-template-columns: 1fr;
    }
    .report-contents__grid li {
        min-height: 0;
    }
    .premiere-proof__metrics,
    .premiere-strengths ul,
    .service-result-preview ul,
    .service-assurance {
        grid-template-columns: 1fr;
    }
    .premiere-proof__metrics div {
        min-height: 96px;
    }
    .premiere-offer {
        padding: 1rem;
    }
    .premiere-offer__copy > div {
        gap: .45rem;
    }
    .service-narrator {
        grid-template-columns: 1fr;
    }
    .service-narrator > small {
        grid-column: auto;
    }
    .fortune-report__timeline {
        overflow: visible;
    }
    .fortune-report__timeline ol {
        grid-template-columns: 1fr;
        min-width: 0;
    }
    .film-library__hero h2 {
        font-size: clamp(2rem, 10.4vw, 3.25rem);
        line-height: 1.34;
    }
}

@media (max-width: 390px) {
    #endingTitle {
        font-size: clamp(1.38rem, 6.9vw, 1.8rem);
    }
    .premiere-preview__visual {
        min-height: 390px;
    }
    .locked-reading-card {
        width: min(74%, 285px);
    }
    .locked-reading-card li:nth-child(3) {
        display: none;
    }
    .premiere-proof__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .premiere-proof__metrics div {
        min-height: 84px;
        padding: .55rem .25rem;
    }
    .premiere-proof__metrics strong {
        font-size: 1.4rem;
    }
    .premiere-proof__metrics span {
        font-size: .46rem;
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    .premiere-gate {
        align-items: stretch;
    }
    .premiere-gate__dialog {
        max-height: calc(100dvh - 20px);
    }
    .premiere-gate__body {
        max-height: calc(100dvh - 20px - 100px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .premiere-gate,
    .premiere-gate__dialog {
        transition: none;
    }
}

/* Final viewport clamps: opening motion never travels outside the screen. */
html,
body,
.app {
    max-width: 100%;
}
body {
    margin: 0;
    overflow-x: clip;
}
.current-cut {
    transform: scale(.985);
    transform-origin: right bottom;
}
.current-cut.is-open {
    transform: scale(1);
}

/* v53 home streaming exact overrides */
.poster-title {
    position: absolute;
    z-index: 4;
    display: grid;
    gap: .08em;
    pointer-events: none;
    color: #fff8ea;
    line-height: .95;
    letter-spacing: 0;
    text-shadow: 0 8px 24px rgba(0,0,0,.72), 0 1px 1px rgba(0,0,0,.6);
}

.poster-title span,
.poster-title strong {
    display: block;
    font-weight: inherit;
}

.poster-card__image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.streaming-card--poster {
    aspect-ratio: 16 / 9;
}

.streaming-card.has-poster-title .streaming-card__copy strong {
    display: none;
}

.streaming-card.has-poster-title .poster-title {
    left: clamp(.9rem, 4vw, 1.5rem);
    top: 50%;
    width: min(46%, 15rem);
    transform: translateY(-50%);
    text-align: left;
}

.poster-title--first-light {
    font-family: "Black Han Sans", "Gungsuh", var(--serif-ko);
    font-size: clamp(1.04rem, 1.45vw, 1.72rem);
    -webkit-text-stroke: .35px rgba(255,248,226,.38);
    text-shadow: 0 10px 22px rgba(0,0,0,.82), 0 0 18px rgba(255,244,210,.16);
}

.poster-title--heart-coordinates {
    font-family: "Song Myung", "Batang", var(--serif-ko);
    font-size: clamp(.82rem, 1.1vw, 1.36rem);
    -webkit-text-stroke: .25px rgba(255,214,207,.32);
    text-shadow: 0 8px 20px rgba(0,0,0,.84), 0 0 18px rgba(255,115,140,.16);
}

.poster-title--this-year-in-light {
    font-family: "Gugi", "HY? ???? ? ????", "Malgun Gothic", var(--sans);
    font-size: clamp(.9rem, 1.24vw, 1.46rem);
    -webkit-text-stroke: .28px rgba(255,236,177,.34);
    text-shadow: 0 9px 22px rgba(0,0,0,.84), 0 0 20px rgba(255,205,95,.18);
}

.poster-title--two-timelines {
    font-family: "Yeon Sung", "Nanum Brush Script", "Malgun Gothic", var(--sans);
    font-size: clamp(.82rem, 1.04vw, 1.28rem);
    -webkit-text-stroke: .3px rgba(217,237,255,.34);
    text-shadow: 0 9px 22px rgba(0,0,0,.86), 0 0 18px rgba(100,170,255,.15);
}



.header-profile {
    position: relative;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.78);
    transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.header-profile:hover,
.header-profile:focus-visible,
.header-profile[aria-expanded="true"] {
    border-color: rgba(214,173,112,.38);
    background: rgba(214,173,112,.12);
    color: #fff;
}

.header-profile:active {
    transform: scale(.95);
}

.profile-summary-panel {
    position: fixed;
    z-index: 650;
    top: calc(var(--header-row-height, 76px) + max(.8rem, env(safe-area-inset-top)));
    right: clamp(1rem, 3.5vw, 3.2rem);
    width: min(360px, calc(100vw - 2rem));
    padding: 1.2rem;
    border: 1px solid rgba(237,207,157,.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(12,15,22,.96), rgba(6,8,13,.94));
    box-shadow: 0 28px 80px rgba(0,0,0,.55);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.98);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.profile-summary-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.premiere-gate {
    position: fixed;
    overflow-y: auto;
    align-items: flex-start;
}

.premiere-gate__dialog {
    max-height: none;
    overflow: visible;
}

.premiere-gate__body {
    max-height: none;
    overflow: visible;
}

/* v54 uniform popular-content poster title sizing */
.poster-title--first-light,
.poster-title--heart-coordinates,
.poster-title--this-year-in-light,
.poster-title--two-timelines {
    font-size: clamp(1.04rem, 1.45vw, 1.72rem);
}

.poster-title--first-light strong,
.poster-title--heart-coordinates strong,
.poster-title--this-year-in-light strong,
.poster-title--two-timelines strong {
    font-size: 1.86em;
}

/* v55 uniform home hero copy treatment */
.streaming-home .streaming-hero__content h1,
.streaming-home .streaming-hero__content h1.is-program-title {
    max-width: min(100%, 980px);
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0;
}

.streaming-home .streaming-hero__content h1 > span,
.streaming-home .streaming-hero__content h1 > em,
.streaming-home .streaming-hero__content h1.is-program-title > span,
.streaming-home .streaming-hero__content h1.is-program-title > em {
    display: inline;
    width: auto;
    max-width: 100%;
    color: rgba(255,255,255,.96);
    font-family: var(--serif-ko);
    font-size: 1em;
    font-weight: 400;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: none;
    white-space: normal;
}

.streaming-home .streaming-hero__content h1 .home-feature-kicker,
.streaming-home .streaming-hero__content h1.is-program-title .home-feature-kicker {
    display: block;
    margin: 0 0 .36rem;
    color: rgba(255, 232, 184, .82);
    font-family: var(--sans);
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 1.35;
}

.streaming-home .streaming-hero__content h1 .home-feature-title,
.streaming-home .streaming-hero__content h1.is-program-title .home-feature-title {
    display: block;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.12;
}

.streaming-home .streaming-hero__content h1 .home-feature-title .home-feature-title-en,
.streaming-home .streaming-hero__content h1.is-program-title .home-feature-title .home-feature-title-en {
    font-weight: normal;
}

.streaming-home.is-main-feature .streaming-hero__content h1 > .home-feature-kicker {
    color: rgba(255, 232, 184, .82);
    font-family: var(--sans);
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 1.18;
    text-transform: none;
}

.streaming-home.is-main-feature .streaming-hero__content h1 > .home-feature-title {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.12;
}

.streaming-home .streaming-hero__content .content-badges--hero {
    margin-bottom: .78rem;
}

.streaming-home .streaming-hero__content .hero-copy__body {
    margin-top: .72rem;
    letter-spacing: 0;
}

/* v56 restored intake, gothic typography, and payment full-layer shell */
:root {
    --serif: "Pretendard Variable", Pretendard, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
    --serif-ko: "Pretendard Variable", Pretendard, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
    --serif-en: "Pretendard Variable", Pretendard, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
}

body,
button,
input,
select,
textarea {
    font-family: var(--sans);
}

.poster-title--first-light,
.poster-title--heart-coordinates,
.poster-title--this-year-in-light,
.poster-title--two-timelines {
    font-family: var(--sans);
}

#readingDrawer.reading-drawer .reading-drawer__panel {
    width: min(720px, calc(100vw - 1.25rem));
    max-height: min(88svh, 700px);
}

#readingDrawer.reading-drawer .glass-shell {
    width: 100%;
    max-width: 100%;
}

#readingDrawer.reading-drawer .reading-form {
    gap: .82rem;
    padding: clamp(1.45rem, 2.8vw, 2.35rem);
}

#readingDrawer.reading-drawer .reading-form__head h2 {
    font-family: var(--sans);
    font-size: clamp(1.55rem, 2.25vw, 2.05rem);
    font-weight: 760;
    letter-spacing: 0;
}

#readingDrawer.reading-drawer .reading-form__lead {
    margin: .75rem 0 1.1rem;
    font-size: .86rem;
}

#readingDrawer.reading-drawer .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) minmax(118px, .28fr);
    gap: .75rem;
}

#readingDrawer.reading-drawer .glass-control input,
#readingDrawer.reading-drawer .glass-control select {
    height: 46px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    width: min(720px, calc(100vw - 1.25rem));
    max-height: min(88svh, 700px);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: .82rem;
    padding: clamp(1.45rem, 2.8vw, 2.35rem);
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-onboarding-logo {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    margin: .75rem 0 1.1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    gap: .85rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 46px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 46px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    padding: .65rem .75rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    gap: .65rem;
    margin-top: .75rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .reading-question-back {
    width: 100%;
    min-width: 0;
    height: 46px;
    min-height: 46px;
    box-sizing: border-box;
}

.reading-question-step {
    position: relative;
}

.reading-question-back-corner {
    position: absolute;
    top: .05rem;
    left: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(226, 193, 125, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 247, 228, .88);
    font-family: var(--sans);
    font-size: 1.45rem;
    line-height: 1;
}

.reading-question-back-corner:hover,
.reading-question-back-corner:focus-visible {
    border-color: rgba(226, 193, 125, .58);
    background: rgba(226, 193, 125, .12);
}

.reading-question-step .reading-form__head {
    padding-left: 2.65rem;
}

.reading-question-actions--final {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    align-items: stretch;
}

.reading-question-actions--final .reading-question-back,
.reading-question-actions--final .start-button {
    width: 100%;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    margin: 0;
}

.cinema.is-premiere-page .player-controls,
.cinema.is-premiere-page .film-caption,
.cinema.is-premiere-page .pause-center,
.cinema.is-premiere-page .stage-toggle,
.cinema.is-premiere-page .quick-seek-feedback,
.cinema.is-premiere-page .playback-hover-progress,
.cinema.is-premiere-page .current-cut,
.cinema.is-premiere-page .player-menu-veil {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body[data-lumina-page="payment"] .player-chrome,
body[data-lumina-page="payment"] .film-caption,
body[data-lumina-page="payment"] .pause-center,
body[data-lumina-page="payment"] .stage-toggle,
body[data-lumina-page="payment"] .quick-seek-feedback,
body[data-lumina-page="payment"] .playback-hover-progress,
body[data-lumina-page="payment"] .current-cut,
body[data-lumina-page="payment"] .player-menu-veil {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#cinema.is-premiere-page #playerTop,
#cinema.is-premiere-page #playerControls,
#cinema.is-premiere-page #playerCenterTransport,
#cinema.is-premiere-page .player-chrome,
body[data-lumina-page="payment"] #cinema #playerTop,
body[data-lumina-page="payment"] #cinema #playerControls,
body[data-lumina-page="payment"] #cinema #playerCenterTransport,
body[data-lumina-page="payment"] #cinema .player-chrome {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.premiere-gate {
    z-index: 9000;
}

.premiere-gate__backdrop {
    background:
        radial-gradient(circle at 72% 22%, rgba(197, 150, 83, .12), transparent 36%),
        linear-gradient(180deg, rgba(3, 5, 9, .94), rgba(1, 2, 4, .985));
}

.premiere-offer {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(210px, .95fr) minmax(230px, 1.05fr) minmax(260px, 1.25fr);
    gap: clamp(.6rem, 1.2vw, .95rem);
    min-height: 82px;
    padding: .55rem .72rem;
    overflow: hidden;
    border: 1px solid rgba(214, 173, 112, .58);
    border-radius: 4px;
    background:
        radial-gradient(circle at 12% 0%, rgba(214, 173, 112, .12), transparent 34%),
        linear-gradient(180deg, rgba(5, 8, 14, .98), rgba(3, 5, 9, .99));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 10px 28px rgba(0, 0, 0, .24);
}

.premiere-offer__copy,
.premiere-offer__value-row,
.premiere-offer__actions {
    min-width: 0;
}

.premiere-offer__copy > span {
    display: block;
    color: var(--gold-soft);
    font-family: var(--serif-ko);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.1;
    text-align: center;
}

.premiere-offer__copy p {
    margin: .42rem 0 0;
    color: rgba(255, 255, 255, .42);
    font-size: .62rem;
    line-height: 1.45;
}

.premiere-offer__actions {
    align-self: center;
    justify-self: stretch;
    gap: .25rem;
}

.premiere-offer__actions button {
    width: 100%;
    min-height: 38px;
    padding: .54rem .85rem;
    border-radius: 6px;
    font-size: .78rem;
    box-shadow: 0 0 22px rgba(226, 193, 125, .42);
}

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

    .premiere-offer__actions {
        justify-self: stretch;
    }

    .premiere-offer__value-row {
        justify-items: start;
        width: 100%;
    }
}

.countdown-label {
    display: block;
    margin: .7rem 0 .35rem;
    color: rgba(232, 210, 169, .72);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .08em;
}

#premiereQuickCountdown,
#premiereOfferCountdown {
    font-family: var(--sans), ui-monospace, "SFMono-Regular", Consolas, monospace;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(390px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }

    .reading-question-step .reading-form__head {
        padding-left: 2.45rem;
    }

    .premiere-offer {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 721px) and (min-height: 701px) {
    .home-programs,
    .streaming-home .home-programs {
        margin-top: clamp(-10rem, -11vh, -5.45rem);
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    .streaming-hero__content h1,
    .streaming-home.is-main-feature .streaming-hero__content h1,
    .streaming-home .streaming-hero__content h1,
    .streaming-hero__content h1.is-program-title,
    .streaming-home .streaming-hero__content h1.is-program-title {
        font-size: clamp(1.95rem, 2.55vw, 2.24rem);
        line-height: 1.2;
    }
}

/* Single-source home streaming final layer. */
.streaming-home {
    position: relative;
}

.streaming-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.streaming-home .site-header--streaming {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1200;
    transform: none;
    background: transparent;
    background-image: none;
    border: 0;
    border-bottom: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.streaming-home .site-header--streaming::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(var(--header-row-height, 76px) + 3.8rem);
    background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 42%, rgba(12,10,7,.2) 70%, rgba(0,0,0,0) 100%);
    backdrop-filter: blur(18px) saturate(132%);
    -webkit-backdrop-filter: blur(18px) saturate(132%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0,0,0,.72) 64%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0,0,0,.72) 64%, rgba(0,0,0,0) 100%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    box-shadow: none;
    border: 0;
    pointer-events: none;
}

.streaming-home .site-header--streaming::after {
    content: none;
    display: none;
    background: transparent;
    box-shadow: none;
    border: 0;
}

.streaming-home .home-nav::before {
    content: "";
    display: none;
    background: transparent;
    filter: none;
}

.streaming-home .home-nav button {
    font-size: clamp(.88rem, .96vw, 1.04rem);
    font-weight: 620;
    text-shadow: 0 2px 10px rgba(0,0,0,.9), 0 0 22px rgba(0,0,0,.62);
}

.hero-scene {
    display: none;
}

.streaming-home .intro__video,
.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    height: 100svh;
    min-height: 100svh;
}

.streaming-home .intro__video {
    opacity: 1;
    filter: none;
    transform: none;
}

.streaming-home .intro__video.is-changing {
    opacity: 1;
    filter: none;
    transform: none;
}

.streaming-home::after {
    content: "";
    position: absolute;
    z-index: -7;
    inset: 0 0 auto;
    width: 100%;
    height: 100svh;
    min-height: 100svh;
    background-image: var(--home-hero-transition-poster);
    background-position: center;
    background-size: cover;
    opacity: 0;
    pointer-events: none;
    transition: opacity .62s var(--ease-film);
}

.streaming-home.is-home-video-loading::after {
    opacity: 1;
}

.streaming-home .intro__depth {
    display: none;
    opacity: 1;
    background: transparent;
}

.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    display: none;
    opacity: 1;
    background: transparent;
}

.streaming-home .intro__depth,
.streaming-home .award-spotlights,
.streaming-home .award-reflection,
.streaming-home > .film-grain {
    display: none;
    opacity: 1;
    background: transparent;
}

.streaming-hero__content::before {
    content: "";
    background: transparent;
    box-shadow: none;
    pointer-events: none;
}

.streaming-hero__content h1,
.streaming-home.is-main-feature .streaming-hero__content h1,
.streaming-hero__content h1.is-program-title {
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0;
    text-shadow: 0 3px 18px rgba(0,0,0,.92), 0 0 34px rgba(0,0,0,.64);
}

.streaming-hero {
    min-height: clamp(640px, 76svh, 820px);
    padding: calc(var(--header-row-height) + clamp(5.8rem, 13vh, 7.4rem)) var(--page-gutter) clamp(5.2rem, 8vh, 6.6rem);
    overflow: visible;
}

.streaming-home .streaming-hero {
    align-content: start;
    height: clamp(640px, 76svh, 820px);
    min-height: clamp(640px, 76svh, 820px);
    padding: calc(var(--header-row-height, 76px) + clamp(5.8rem, 13vh, 7.4rem)) var(--page-gutter) clamp(5.2rem, 8vh, 6.6rem);
}

.streaming-home .streaming-hero__grid {
    align-content: start;
    margin-block: 0;
    transform: none;
    translate: none;
}

.streaming-home .streaming-hero__content {
    align-self: start;
    width: min(600px, 100%);
}

.streaming-home.is-main-feature .streaming-hero__content {
    max-width: 600px;
}

.streaming-home .streaming-hero .hero-metrics {
    margin-top: .95rem;
    padding-top: .78rem;
    gap: .9rem 1.2rem;
}

.streaming-home .streaming-hero .hero-metrics strong {
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.streaming-home .streaming-hero .hero-actions {
    margin-top: .9rem;
}

.streaming-home .streaming-hero__fade {
    display: block;
    inset: 0 0 auto 0;
    height: 100svh;
    opacity: 1;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(180deg, rgba(5,7,11,0) 68%, rgba(5,7,11,.56) 86%, #05070b 100%), linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.72) 24%, rgba(0,0,0,.42) 45%, rgba(0,0,0,.08) 63%, rgba(0,0,0,0) 74%);
}

.home-programs {
    --home-content-card-width: clamp(285px, 24vw, 455px);
    margin-top: calc(clamp(-9rem, -11.5vh, -5.5rem) + 1px);
    z-index: 30;
    background: transparent;
    background-image: none;
    pointer-events: none;
}

.streaming-home .home-programs {
    --home-content-card-width: clamp(285px, 24vw, 455px);
    margin-top: calc(clamp(-9rem, -11.5vh, -5.5rem) + 1px);
    z-index: 30;
    background: transparent;
    background-image: none;
    pointer-events: none;
}

.home-programs .streaming-row__viewport,
.home-programs .streaming-row__nav,
.home-programs .streaming-row__actions,
.home-programs .streaming-card,
.home-programs button,
.home-programs a,
.home-programs [data-home-feature-id] {
    pointer-events: auto;
}

.home-programs::before {
    display: block;
    top: clamp(7rem, 16vh, 12rem);
    height: clamp(9rem, 20vh, 15rem);
    min-height: 0;
    opacity: 1;
    background: linear-gradient(180deg, rgba(5,7,11,0) 0%, rgba(5,7,11,.54) 60%, #05070b 100%);
    pointer-events: none;
}

.streaming-home .home-programs::before {
    display: block;
    top: clamp(7rem, 16vh, 12rem);
    height: clamp(9rem, 20vh, 15rem);
    min-height: 0;
    opacity: 1;
    background: linear-gradient(180deg, rgba(5,7,11,0) 0%, rgba(5,7,11,.54) 60%, #05070b 100%);
    pointer-events: none;
}

.home-programs .streaming-row {
    z-index: 2;
    width: 100%;
    max-width: none;
}

.streaming-home .home-programs .streaming-row {
    z-index: 2;
    width: 100%;
    max-width: none;
}

.home-programs .streaming-row--child {
    position: relative;
    padding-left: clamp(.75rem, 1.15vw, 1.2rem);
}

.home-programs .streaming-row--child::before {
    content: "";
    position: absolute;
    left: calc(var(--page-gutter) - .6rem);
    top: .35rem;
    bottom: .95rem;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(214,173,112,.62), rgba(214,173,112,.08));
    pointer-events: none;
}

.streaming-row__titleline {
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: wrap;
}

.streaming-row__titleline h2 {
    margin: 0;
}

.streaming-row__parent-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: .18rem .55rem .16rem;
    border: 1px solid rgba(214,173,112,.28);
    border-radius: 999px;
    color: rgba(245,224,190,.78);
    background: rgba(214,173,112,.08);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.streaming-row__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    flex: 1 1 auto;
    min-width: min(640px, 58vw);
}

.streaming-row__actions > button {
    min-height: 34px;
    padding: 0 .7rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 100px;
    background: rgba(255,255,255,.025);
    color: rgba(255,255,255,.62);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    white-space: nowrap;
}

.streaming-row__actions > button:hover,
.streaming-row__actions > button:focus-visible {
    border-color: rgba(214,173,112,.34);
    background: rgba(214,173,112,.08);
    color: var(--gold-pale);
}

.home-category-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .25rem;
    min-width: 0;
    max-width: min(560px, 52vw);
    padding: .22rem;
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    background: rgba(5,7,11,.42);
    box-shadow: 0 0 0 1px rgba(214,173,112,.06) inset;
    scrollbar-width: none;
}

.home-category-tabs::-webkit-scrollbar {
    display: none;
}

.home-category-tabs button {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 0 .76rem;
    border-radius: 999px;
    background: transparent;
    color: rgba(255,244,224,.66);
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: 0;
    white-space: nowrap;
}

.home-category-tabs button:hover,
.home-category-tabs button:focus-visible {
    color: #fff8ea;
    background: rgba(214,173,112,.1);
}

.home-category-tabs button[aria-selected="true"] {
    background: linear-gradient(105deg, #d6ad70, #f1d49a);
    color: #15100a;
    box-shadow: 0 8px 24px rgba(214,173,112,.2);
}

.streaming-row--tabbed .streaming-row__head {
    align-items: flex-start;
}

@media (max-width: 900px) {
    .streaming-row--tabbed .streaming-row__head {
        align-items: stretch;
        flex-direction: column;
    }

    .streaming-row__actions {
        justify-content: flex-start;
        width: 100%;
        min-width: 0;
    }

    .home-category-tabs {
        justify-content: flex-start;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 720px) {
    .streaming-row__actions > [data-row-category] {
        display: none;
    }

    .home-category-tabs button {
        min-height: 32px;
        padding-inline: .68rem;
        font-size: .72rem;
    }
}

.home-programs .streaming-row__viewport,
.streaming-home .home-programs .streaming-row__viewport {
    --home-row-left-align-nudge: .1rem;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-inline: 0;
    padding-left: 0;
    padding-right: 0;
    scroll-padding-inline: var(--page-gutter);
    scroll-padding-left: calc(var(--page-gutter) + var(--home-row-left-align-nudge));
    scroll-padding-right: var(--page-gutter);
    box-sizing: border-box;
    touch-action: pan-x;
}

.home-programs .streaming-row__track {
    grid-auto-columns: var(--home-content-card-width);
    gap: clamp(.7rem, .9vw, 1.1rem);
    padding-left: 0;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: var(--page-gutter);
}

.streaming-home .home-programs .streaming-row__track {
    grid-auto-columns: var(--home-content-card-width);
    gap: clamp(.7rem, .9vw, 1.1rem);
    padding-left: 0;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: var(--page-gutter);
}

.home-programs .streaming-row__track.lumina-swiper,
.streaming-home .home-programs .streaming-row__track.lumina-swiper {
    padding-left: calc(var(--page-gutter) + var(--home-row-left-align-nudge, 0px));
    padding-right: var(--page-gutter);
    box-sizing: border-box;
    cursor: grab;
    user-select: none;
}

.home-programs .streaming-row__track.lumina-swiper .streaming-card,
.home-programs .streaming-row__track.lumina-swiper img,
.home-programs .streaming-row__track.lumina-swiper video {
    -webkit-user-drag: none;
}

.home-programs .streaming-card:hover,
.home-programs .streaming-card:focus-visible,
.home-programs .streaming-card[aria-selected="true"] {
    transform: none;
}

.streaming-home .home-programs .streaming-card:hover,
.streaming-home .home-programs .streaming-card:focus-visible,
.streaming-home .home-programs .streaming-card[aria-selected="true"] {
    transform: none;
}

.streaming-row__viewport {
    overflow: visible;
}

.streaming-home .streaming-row__viewport {
    overflow: visible;
}

.streaming-row__nav {
    top: 50%;
    bottom: auto;
    height: 2.9rem;
    border-radius: 999px;
    transform: translateY(-50%);
}

.streaming-home .streaming-row__nav {
    top: 50%;
    bottom: auto;
    height: 2.9rem;
    border-radius: 999px;
    transform: translateY(-50%);
}

.streaming-row__nav--prev {
    left: clamp(.55rem, 1.4vw, 1.1rem);
}

.streaming-home .streaming-row__nav--prev {
    left: clamp(.55rem, 1.4vw, 1.1rem);
}

.streaming-row__nav--next {
    right: clamp(.55rem, 1.4vw, 1.1rem);
}

.streaming-home .streaming-row__nav--next {
    right: clamp(.55rem, 1.4vw, 1.1rem);
}

.home-shelf-filters {
    display: none;
}

.home-programs .streaming-row--featured {
    padding-top: clamp(1.5rem, 3.1vh, 2.6rem);
}

.streaming-home .home-programs .streaming-row--featured {
    padding-top: clamp(1.5rem, 3.1vh, 2.6rem);
}

.streaming-action {
    min-height: 46px;
}

.streaming-home .streaming-action {
    min-height: 46px;
}

@media (max-width: 720px) {
    .streaming-hero {
        padding: calc(var(--header-row-height, 64px) + 3.65rem) 1rem 5rem;
    }
    .home-programs {
        margin-top: clamp(-8rem, -15vh, -5.6rem);
    }
    .home-nav button {
        font-size: .82rem;
    }
}

@media (max-height: 700px) and (min-width: 721px) {
    .home-programs {
        margin-top: clamp(-16.2rem, -34vh, -14.4rem);
    }
    .streaming-home .home-programs {
        margin-top: clamp(-16.2rem, -34vh, -14.4rem);
    }
    .streaming-hero__content h1,
    .streaming-home.is-main-feature .streaming-hero__content h1,
    .streaming-hero__content h1.is-program-title {
        font-size: clamp(2rem, 2.55vw, 2.25rem);
        line-height: 1.2;
    }
    .streaming-hero__content .hero-copy__body {
        font-size: .82rem;
        line-height: 1.78;
    }
    .streaming-action {
        min-height: 38px;
        height: 38px;
    }
}

.home-programs {
    --home-content-card-width: clamp(285px, 24vw, 455px);
}

.home-programs .streaming-row__track {
    grid-auto-columns: var(--home-content-card-width);
    gap: clamp(.7rem, .9vw, 1.1rem);
}

/* v58 single-source final interaction layer. */
.entry-onboarding-logo {
    display: none;
}

body.is-entry-flow-locked #intro {
    display: none;
    visibility: hidden;
    pointer-events: none;
}

.reading-drawer:not(.is-entry-onboarding) #readingProfileSkip {
    display: none;
}

#readingDrawer.reading-drawer:not(.is-entry-onboarding) .reading-profile-actions {
    grid-template-columns: minmax(0, 1fr);
}

.reading-drawer.is-entry-onboarding .calendar-field {
    display: grid;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background: #020305;
    backdrop-filter: none;
}

#readingDrawer.reading-drawer {
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2rem);
}

#readingDrawer.reading-drawer .reading-drawer__panel {
    width: min(720px, calc(100vw - 2rem));
    height: auto;
    max-height: min(88svh, 700px);
    padding: 0;
    overflow: visible;
    transform: translateY(14px);
}

#readingDrawer.reading-drawer.is-open .reading-drawer__panel {
    transform: translateY(0);
}

#readingDrawer.reading-drawer .reading-drawer__panel .glass-shell {
    max-height: min(88svh, 700px);
    margin: 0;
}

#readingDrawer.reading-drawer:not(.is-entry-onboarding) .reading-profile-actions .start-button {
    width: min(340px, 100%);
    min-height: 46px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    width: min(720px, calc(100vw - 2rem));
    max-height: min(88svh, 700px);
}

.opening-cinematic[data-opening-mode="logo"] {
    cursor: default;
}

.opening-cinematic[data-opening-mode="logo"] * {
    cursor: default;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__video {
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 100svh;
    max-height: none;
    opacity: 1;
    filter: none;
    transform: none;
    transform-origin: center center;
    object-fit: cover;
    object-position: center center;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__logo-gate {
    display: none;
    opacity: 0;
    pointer-events: none;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__veil {
    display: none;
    opacity: 0;
    background: transparent;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__stage,
.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__controls {
    display: none;
    opacity: 0;
    pointer-events: none;
}

.opening-cinematic[data-opening-mode="logo"].is-opening-entering::before {
    content: none;
    display: none;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__top {
    position: absolute;
    inset: auto clamp(1rem, 3vw, 2.2rem) clamp(1rem, 3vw, 2.2rem) auto;
    display: flex;
    justify-content: flex-end;
    pointer-events: auto;
}

.opening-cinematic[data-opening-mode="logo"] .opening-cinematic__top img {
    display: none;
}

.opening-cinematic[data-opening-mode="logo"] #openingSkipButton {
    position: relative;
    inset: auto 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .1rem 1.05rem 0;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 999px;
    background: #000;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition:
        opacity .46s var(--ease-film),
        transform .46s var(--ease-film),
        visibility 0s linear .46s;
    pointer-events: auto;
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .55);
}

.opening-cinematic[data-opening-mode="logo"] #openingSkipButton:not(.is-visible) {
    visibility: hidden;
    pointer-events: none;
    cursor: default;
}

.opening-cinematic[data-opening-mode="logo"] #openingSkipButton[hidden] {
    display: none;
    visibility: hidden;
    pointer-events: none;
    cursor: default;
}

.opening-cinematic[data-opening-mode="logo"] #openingSkipButton.is-visible {
    display: inline-flex;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        opacity .46s var(--ease-film),
        transform .46s var(--ease-film),
        visibility 0s linear 0s;
    pointer-events: auto;
}

.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: min(720px, calc(100vw - 2rem));
    max-height: min(88svh, 700px);
    border: 1px solid rgba(226, 193, 125, .46);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% -12%, rgba(246, 210, 143, .18), transparent 23%),
        linear-gradient(145deg, rgba(30, 34, 42, .62), rgba(7, 10, 16, .76) 54%, rgba(26, 20, 14, .7));
}

.reading-drawer.is-entry-onboarding .field-grid {
    gap: .85rem;
}

.reading-drawer.is-entry-onboarding .glass-control::before {
    opacity: .52;
}

.reading-drawer.is-entry-onboarding .glass-control {
    border: 1px solid rgba(226, 193, 125, .18);
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(226,193,125,.045));
}

.reading-drawer.is-entry-onboarding .field label,
.reading-drawer.is-entry-onboarding .birth-moment-control label {
    display: block;
    font-size: .78rem;
}

.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 100%;
    text-align: left;
}

.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: .65rem;
}

.reading-drawer.is-entry-onboarding .gender-field legend {
    grid-column: 1 / -1;
    grid-row: auto;
}

.reading-drawer.is-entry-onboarding .gender-field label {
    grid-row: auto;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
}

.reading-drawer.is-entry-onboarding .gender-field label:nth-of-type(1) {
    grid-column: auto;
}

.reading-drawer.is-entry-onboarding .gender-field label:nth-of-type(2) {
    grid-column: auto;
}

.reading-drawer.is-entry-onboarding .gender-field span {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 44px;
    height: auto;
    line-height: 1;
}

.reading-drawer.is-entry-onboarding .glass-shell__refraction {
    inset: 1px;
    border-radius: 27px;
}

.reading-drawer.is-entry-onboarding .glass-shell__rim {
    inset: 6px;
    border-radius: 22px;
}

body.is-entry-onboarding-revealing::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 5600;
    background: #020305;
    pointer-events: none;
    animation: entryOnboardingBridge 1.05s ease forwards;
}

body.is-entry-onboarding-pending #intro {
    visibility: hidden;
    pointer-events: none;
}

.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    transition: transform 1.05s cubic-bezier(.22, .61, .36, 1), opacity .95s ease;
}

body.is-entry-logo-bridging::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 5600;
    background: #020305;
    pointer-events: none;
    animation: entryLogoBridge .76s ease forwards;
}

.reading-drawer.is-entry-onboarding.is-open .reading-form__head,
.reading-drawer.is-entry-onboarding.is-open .reading-form__lead,
.reading-drawer.is-entry-onboarding.is-open .field,
.reading-drawer.is-entry-onboarding.is-open .reading-profile-actions {
    animation: entryOnboardingFieldIn .72s cubic-bezier(.22, .61, .36, 1) both;
}

#premiereQuickCountdown,
#premiereOfferCountdown {
    display: inline-flex;
    font-size: clamp(1.15rem, 2.1vw, 1.75rem);
    font-variant-numeric: tabular-nums;
}

.streaming-home .brand__logo {
    width: clamp(78px, 7vw, 108px);
    max-height: 84px;
    object-fit: contain;
}

.ending .ending-nav {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1200;
    overflow: visible;
    background: transparent;
    background-image: none;
    border: 0;
    border-bottom: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    isolation: isolate;
}

.ending .ending-nav::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(var(--header-row-height, 76px) + 3.8rem);
    background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 42%, rgba(12,10,7,.2) 70%, rgba(0,0,0,0) 100%);
    backdrop-filter: blur(18px) saturate(132%);
    -webkit-backdrop-filter: blur(18px) saturate(132%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0,0,0,.72) 64%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0,0,0,.72) 64%, rgba(0,0,0,0) 100%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    box-shadow: none;
    border: 0;
    pointer-events: none;
}

.ending .ending-nav::after {
    content: none;
    display: none;
    background: transparent;
    box-shadow: none;
    border: 0;
}

.ending .ending-nav__brand,
.ending .ending-nav__menu {
    position: relative;
    z-index: 1;
}

.ending-nav__logo {
    width: clamp(58px, 5vw, 82px);
    max-height: 66px;
    object-fit: contain;
}

.film-library__logo {
    width: clamp(118px, 10vw, 160px);
    max-height: 120px;
    object-fit: contain;
}

.ending-brandline__logo {
    width: clamp(104px, 9vw, 156px);
    max-height: 112px;
    object-fit: contain;
}

.ending-scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity .72s var(--ease-film), transform .72s var(--ease-film);
    transition-delay: var(--ending-reveal-delay, 0ms);
    will-change: opacity, transform;
}

.ending-scroll-reveal.is-scroll-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.ending-chart-reveal .saju-bars__row i b {
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .82s var(--ease-film);
    transition-delay: var(--ending-reveal-delay, 0ms);
}

.ending-chart-reveal.is-scroll-visible .saju-bars__row i b {
    transform: scaleX(1);
}

.ending-chart-reveal .saju-radar-panel__shape {
    opacity: .22;
    transform: scale(.86);
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity .78s var(--ease-film), transform .78s var(--ease-film);
    transition-delay: var(--ending-reveal-delay, 0ms);
}

.ending-chart-reveal.is-scroll-visible .saju-radar-panel__shape {
    opacity: 1;
    transform: scale(1);
}

.ending-chart-reveal .saju-table tbody tr {
    opacity: .001;
    transform: translate3d(0, 12px, 0);
    transition: opacity .58s var(--ease-film), transform .58s var(--ease-film);
}

.ending-chart-reveal.is-scroll-visible .saju-table tbody tr {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .ending-scroll-reveal,
    .ending-scroll-reveal.is-scroll-visible,
    .ending-chart-reveal .saju-bars__row i b,
    .ending-chart-reveal .saju-radar-panel__shape,
    .ending-chart-reveal .saju-table tbody tr {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.premiere-quick-offer__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: clamp(.75rem, 2vw, 1.35rem);
}

.premiere-offer__copy,
.premiere-offer__value-row {
    display: grid;
    align-content: center;
    min-height: 58px;
    padding: .48rem .9rem;
    border: 1px solid rgba(214, 173, 112, .13);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(11, 15, 22, .92), rgba(6, 8, 13, .96));
}

.premiere-offer__copy > .premiere-offer__countdown {
    display: grid;
    justify-items: center;
    gap: .16rem;
    width: 100%;
    margin-top: .42rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.premiere-offer__value-row {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: start;
    gap: 0;
    margin: 0;
    row-gap: .12rem;
}

.premiere-quick-offer__countdown,
.premiere-offer__countdown {
    order: 0;
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.premiere-offer__countdown {
    position: relative;
    align-content: center;
    padding: 0;
    border: 0;
}

#premiereOfferCountdown {
    align-items: baseline;
    min-width: 11ch;
    color: #fff3dd;
    font-size: clamp(1.1rem, 1.8vw, 1.48rem);
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
}

.premiere-offer__countdown small,
.premiere-offer__price-label,
.premiere-offer__value-row p,
.premiere-offer__actions p {
    margin: 0;
    color: rgba(232, 210, 169, .68);
    font-size: .56rem;
    font-weight: 700;
    line-height: 1.25;
}

.premiere-offer__price {
    position: relative;
    isolation: isolate;
    order: 1;
    display: grid;
    justify-items: start;
    align-content: center;
    gap: .24rem;
    min-width: 0;
    padding: 0;
}

.premiere-offer__price::before {
    content: "";
    position: absolute;
    display: none;
    inset: -.5rem -1rem -.35rem -.8rem;
    z-index: -1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(226, 193, 125, .2), transparent 64%);
    opacity: .85;
    filter: blur(3px);
    pointer-events: none;
}

.premiere-offer__price-current {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .55rem;
    width: max-content;
    max-width: 100%;
    padding: 0;
    min-width: 0;
}

.premiere-offer__price del {
    color: rgba(255, 255, 255, .38);
    font-weight: 700;
    text-decoration-color: rgba(226, 193, 125, .38);
    text-decoration-thickness: 2px;
}

.premiere-offer__price strong {
    color: #fff7e8;
    font-size: clamp(1.65rem, 2.4vw, 2.12rem);
    white-space: nowrap;
    line-height: 1;
    text-shadow: 0 0 14px rgba(226, 193, 125, .13);
}

.premiere-offer__price b {
    display: inline-grid;
    place-items: center;
    min-width: 54px;
    height: 18px;
    padding: 0 .42rem;
    border: 0;
    border-radius: 999px;
    color: #201205;
    font-size: .48rem;
    font-weight: 850;
    white-space: nowrap;
    line-height: 1;
    text-align: center;
    background: linear-gradient(180deg, #e6bf75, #9b6730);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
}

#premiereReplayFreeButton {
    display: none;
}

.premiere-offer__actions small {
    color: rgba(255, 242, 211, .82);
    font-size: .58rem;
    font-weight: 800;
    line-height: 1.25;
}

.premiere-offer__actions p {
    text-align: center;
}

#premiereGate .premiere-offer {
    grid-template-columns: minmax(210px, .95fr) minmax(230px, 1.05fr) minmax(260px, 1.25fr);
    gap: clamp(.48rem, 1vw, .78rem);
    min-height: 82px;
    margin-top: clamp(1rem, 2vw, 1.35rem);
    padding: .42rem .56rem;
    border: 1px solid rgba(214, 173, 112, .58);
    border-radius: 4px;
    background:
        radial-gradient(circle at 12% 0%, rgba(214, 173, 112, .12), transparent 34%),
        linear-gradient(180deg, rgba(5, 8, 14, .98), rgba(3, 5, 9, .99));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 10px 28px rgba(0, 0, 0, .24);
}

#premiereGate .premiere-offer__copy,
#premiereGate .premiere-offer__value-row {
    min-height: 54px;
    padding: .38rem .72rem;
}

#premiereGate .premiere-offer__copy > span {
    font-size: .58rem;
    line-height: 1.05;
}

#premiereGate .premiere-offer__copy > .premiere-offer__countdown {
    gap: .1rem;
    margin-top: .2rem;
}

#premiereGate #premiereOfferCountdown {
    font-size: clamp(1.02rem, 1.45vw, 1.28rem);
    line-height: 1;
}

#premiereGate .premiere-offer__countdown small,
#premiereGate .premiere-offer__price-label,
#premiereGate .premiere-offer__value-row p,
#premiereGate .premiere-offer__actions small,
#premiereGate .premiere-offer__actions p {
    font-size: .5rem;
    line-height: 1.08;
}

#premiereGate .premiere-offer__price strong {
    font-size: clamp(1.52rem, 2.05vw, 1.92rem);
    line-height: .98;
}

#premiereGate .premiere-offer__actions {
    display: grid;
    align-content: center;
    gap: .12rem;
    min-height: 54px;
}

#premiereGate .premiere-offer__actions button {
    min-height: 30px;
    padding: .36rem .8rem;
    border-radius: 5px;
}

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

    .premiere-offer__actions {
        justify-self: stretch;
    }

    .premiere-offer__value-row {
        justify-items: start;
        width: 100%;
    }

    #premiereGate .premiere-offer {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: .6rem;
        overflow: visible;
    }

    #premiereGate .premiere-offer__copy,
    #premiereGate .premiere-offer__value-row,
    #premiereGate .premiere-offer__actions {
        min-width: 0;
    }

    #premiereGate .premiere-offer__copy {
        width: 100%;
        justify-self: stretch;
    }

    #premiereGate .premiere-offer__value-row {
        width: 100%;
        justify-self: stretch;
    }

    #premiereGate .premiere-offer__actions {
        width: 100%;
        justify-self: stretch;
        justify-items: stretch;
    }

    #premiereGate .premiere-offer__actions button {
        width: 100%;
    }
}

.premiere-quick-offer__countdown .countdown-label,
.premiere-offer__countdown .countdown-label {
    margin: 0;
}

/* Final ticket-style purchase module for the Premiere Pass offer. */
.premiere-offer {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(220px, .74fr) minmax(0, 1.34fr) minmax(280px, .92fr);
    gap: 0;
    min-height: clamp(152px, 12vw, 176px);
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(214, 173, 112, .42);
    border-radius: 14px;
    background:
        linear-gradient(90deg, rgba(214, 173, 112, .08), transparent 22%, transparent 78%, rgba(214, 173, 112, .07)),
        radial-gradient(circle at 16% 0%, rgba(214, 173, 112, .2), transparent 32%),
        linear-gradient(135deg, rgba(7, 10, 16, .98), rgba(2, 4, 8, .99));
    box-shadow: 0 20px 46px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .07);
}

.premiere-offer__copy {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: .5rem;
    min-width: 0;
    min-height: 0;
    padding: clamp(.9rem, 1.7vw, 1.2rem);
    border: 0;
    border-right: 1px solid rgba(214, 173, 112, .18);
    border-radius: 0;
    background: linear-gradient(180deg, rgba(214, 173, 112, .11), rgba(214, 173, 112, .035));
    text-align: center;
}

.premiere-offer__copy > span {
    display: block;
    color: var(--gold-soft);
    font-family: var(--serif-ko);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .02em;
    line-height: 1.12;
    text-align: center;
    word-break: keep-all;
}

.premiere-offer__copy > .premiere-offer__countdown {
    display: grid;
    justify-items: center;
    gap: .18rem;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.premiere-offer__value-row {
    position: relative;
    display: grid;
    align-content: center;
    align-items: center;
    justify-items: start;
    gap: .58rem;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: clamp(.9rem, 1.7vw, 1.2rem);
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .015));
}

.premiere-offer__price-label {
    margin: 0;
    color: rgba(232, 210, 169, .74);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.2;
    word-break: keep-all;
}

.premiere-offer__price {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .36rem .7rem;
    min-width: 0;
    padding: 0;
}

.premiere-offer__price-original {
    color: rgba(255, 255, 255, .42);
    font-size: .58rem;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: line-through;
    text-decoration-color: rgba(226, 193, 125, .5);
    text-decoration-thickness: 2px;
}

.premiere-offer__price-current {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    width: auto;
    max-width: 100%;
    min-width: 0;
    padding: 0;
}

.premiere-offer__price strong {
    color: #fff8e9;
    font-size: clamp(1.9rem, 2.75vw, 2.72rem);
    line-height: .92;
    white-space: nowrap;
    text-shadow: 0 0 24px rgba(226, 193, 125, .18);
}

.premiere-offer__price b {
    display: inline-grid;
    place-items: center;
    min-width: 58px;
    height: 22px;
    padding: 0 .5rem;
    border-radius: 999px;
    color: #201205;
    font-size: .5rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    background: linear-gradient(180deg, #f0d18c, #b97936);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .24);
}

.premiere-offer__includes {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.premiere-offer__includes li {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: .28rem .54rem;
    border: 1px solid rgba(214, 173, 112, .22);
    border-radius: 999px;
    color: rgba(255, 242, 211, .78);
    font-size: .58rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    background: rgba(214, 173, 112, .07);
}

.premiere-offer__actions {
    display: grid;
    align-content: center;
    gap: .38rem;
    min-width: 0;
    min-height: 0;
    padding: clamp(.9rem, 1.7vw, 1.2rem);
    border-left: 1px solid rgba(214, 173, 112, .18);
    background: linear-gradient(180deg, rgba(214, 173, 112, .09), rgba(214, 173, 112, .025));
}

.premiere-offer__actions button {
    width: 100%;
    min-height: 44px;
    padding: .72rem 1rem;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 900;
    box-shadow: 0 12px 34px rgba(226, 193, 125, .28);
}

.premiere-offer__actions small {
    color: rgba(255, 242, 211, .86);
    font-size: .6rem;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
}

.premiere-offer__actions p {
    margin: 0;
    color: rgba(232, 210, 169, .7);
    font-size: .56rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
}

.premiere-proof__metrics strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    line-height: .95;
}

#premiereGate .premiere-offer {
    grid-template-columns: minmax(220px, .74fr) minmax(0, 1.34fr) minmax(280px, .92fr);
    gap: 0;
    min-height: clamp(152px, 12vw, 176px);
    padding: 0;
    overflow: hidden;
    border-radius: 14px;
}

#premiereGate .premiere-offer__copy,
#premiereGate .premiere-offer__value-row,
#premiereGate .premiere-offer__actions {
    min-height: 0;
    padding: clamp(.9rem, 1.7vw, 1.2rem);
}

#premiereGate .premiere-offer__actions button {
    min-height: 44px;
    padding: .72rem 1rem;
}

#premiereGate .premiere-proof__metrics strong {
    font-size: clamp(1.28rem, 1.75vw, 2.05rem);
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .premiere-offer,
    #premiereGate .premiere-offer {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .premiere-offer__copy,
    #premiereGate .premiere-offer__copy {
        width: 100%;
        justify-self: stretch;
        border-right: 0;
        border-bottom: 1px solid rgba(214, 173, 112, .16);
    }

    .premiere-offer__value-row,
    #premiereGate .premiere-offer__value-row {
        width: 100%;
        justify-self: stretch;
    }

    .premiere-offer__actions,
    #premiereGate .premiere-offer__actions {
        width: 100%;
        justify-self: stretch;
        justify-items: stretch;
        border-left: 0;
        border-top: 1px solid rgba(214, 173, 112, .16);
    }

    .premiere-offer__actions button,
    #premiereGate .premiere-offer__actions button {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .premiere-offer__price strong {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .premiere-offer__includes li {
        font-size: .54rem;
    }
}

#premiereGate.premiere-gate {
    place-items: center;
    align-items: center;
    overflow: hidden;
}

#premiereGate .premiere-gate__dialog {
    max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow: hidden;
}

#premiereGate .premiere-gate__body {
    max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 112px);
    overflow: auto;
    overscroll-behavior: contain;
}

/* Compact payment guide polish inspired by the insight landing surface. */
#premiereGate .report-contents {
    padding-block: clamp(1.25rem, 2.4vw, 2.2rem);
}

#premiereGate .report-contents > header {
    align-items: flex-end;
    margin-bottom: .85rem;
}

#premiereGate .report-contents__lead {
    max-width: 66rem;
    margin: .2rem 0 .9rem;
    color: rgba(255,255,255,.56);
    font-size: .78rem;
    line-height: 1.7;
}

#premiereGate .report-contents__grid.report-chapter-grid,
#premiereGate #reportChapterGrid.is-v46-compact {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
    gap: .65rem;
    margin-top: .95rem;
    align-items: start;
}

#premiereGate .report-chapter-card,
#premiereGate #reportChapterGrid.is-v46-compact .report-chapter-card {
    min-height: 0;
    max-height: 230px;
    padding: .82rem .9rem;
    border-color: rgba(214,173,112,.18);
    border-radius: 8px;
    background:
        radial-gradient(circle at 92% 12%, rgba(214,173,112,.14), transparent 38%),
        linear-gradient(145deg, rgba(18,23,30,.92), rgba(6,8,12,.96));
    box-shadow: none;
}

#premiereGate .report-chapter-card:hover,
#premiereGate .report-chapter-card:focus-visible,
#premiereGate .report-chapter-card.is-previewing {
    transform: none;
    border-color: rgba(226,193,125,.36);
}

#premiereGate .report-chapter-card__number {
    margin-bottom: .42rem;
    color: rgba(226,193,125,.96);
    font-family: var(--sans);
    font-size: .62rem;
    font-weight: 800;
}

#premiereGate .report-chapter-card__runtime {
    margin: .1rem 0 .42rem;
    border: 1px solid rgba(226,193,125,.18);
    color: rgba(255,236,196,.82);
    background: rgba(226,193,125,.08);
}

#premiereGate .report-chapter-card strong {
    display: -webkit-box;
    margin-bottom: .32rem;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: rgba(255,255,255,.94);
    font-size: clamp(.88rem, .9vw, 1rem);
    font-weight: 760;
    line-height: 1.34;
}

#premiereGate .report-chapter-card__summary {
    display: -webkit-box;
    margin-top: .35rem;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    color: rgba(255,255,255,.57);
    font-size: .72rem;
    line-height: 1.48;
}

#premiereGate .report-chapter-card__sections,
#premiereGate #reportChapterGrid.is-v46-compact .report-chapter-card__sections {
    display: flex;
    flex-wrap: wrap;
    gap: .32rem .38rem;
    max-height: 3.8rem;
    margin-top: .58rem;
    padding: .62rem 0 0;
    overflow: hidden;
    border-top: 1px solid rgba(226,193,125,.14);
    list-style: none;
}

#premiereGate .report-chapter-card__sections li,
#premiereGate #reportChapterGrid.is-v46-compact .report-chapter-card__sections li {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: min(11rem, 100%);
    min-height: 0;
    height: auto;
    padding: .24rem .48rem;
    overflow: hidden;
    border: 1px solid rgba(226,193,125,.18);
    border-radius: 999px;
    color: rgba(255,255,255,.66);
    background: rgba(226,193,125,.055);
    font-size: .66rem;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
    list-style: none;
}

#premiereGate .premiere-benefit-strip article,
#premiereGate .premiere-proof__metrics div,
#premiereGate .premiere-proof__reviews blockquote,
#premiereGate .premiere-strengths li {
    border-color: rgba(214,173,112,.18);
    border-radius: 8px;
    background:
        radial-gradient(circle at 100% 0%, rgba(214,173,112,.11), transparent 42%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

#premiereGate .premiere-benefit-strip article {
    min-height: 0;
    padding: .95rem 1rem;
}

#premiereGate .premiere-benefit-strip strong,
#premiereGate .premiere-strengths strong {
    color: rgba(255,238,204,.94);
}

#premiereGate .premiere-proof__metrics div {
    min-height: 96px;
}

#premiereGate .premiere-proof__reviews blockquote {
    min-height: 118px;
}

@media (max-width: 720px) {
    #premiereGate .report-contents {
        padding-block: 1.1rem;
    }

    #premiereGate .report-contents__grid.report-chapter-grid,
    #premiereGate #reportChapterGrid.is-v46-compact {
        grid-template-columns: 1fr;
        gap: .62rem;
    }

    #premiereGate .report-chapter-card,
    #premiereGate #reportChapterGrid.is-v46-compact .report-chapter-card {
        max-height: 220px;
        padding: .88rem;
    }

    #premiereGate .report-chapter-card__sections {
        max-height: none;
    }

    #premiereGate .report-chapter-card__sections li:nth-child(n+4),
    #premiereGate #reportChapterGrid.is-v46-compact .report-chapter-card__sections li:nth-child(n+4) {
        display: none;
    }

    #premiereGate .premiere-benefit-strip article,
    #premiereGate .premiere-proof__reviews blockquote,
    #premiereGate .premiere-strengths li {
        padding: .85rem;
    }
}

@keyframes entryOnboardingBridge {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes entryLogoBridge {
    from { opacity: 0; }
    35% { opacity: 1; }
    to { opacity: 0; }
}

@keyframes entryOnboardingFieldIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* First-entry, preplay, profile-summary, and saju intake surface rules. */

/* Restored first-visit intake from the 2026-07-01 16:51 local capture. */
#readingDrawer.reading-drawer,
#readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 1rem;
}

#readingDrawer.reading-drawer .reading-drawer__backdrop,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background: radial-gradient(circle at 50% 50%, rgba(214,173,112,.08), transparent 32%), rgba(1,2,4,.72);
    backdrop-filter: blur(15px) brightness(.62);
    -webkit-backdrop-filter: blur(15px) brightness(.62);
}

#readingDrawer.reading-drawer .reading-drawer__panel,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    width: min(720px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    padding: 0;
    overflow-y: auto;
    transform: translateY(22px) scale(.985);
    opacity: 0;
    transition: transform .58s var(--ease-film), opacity .45s var(--ease-film);
}

#readingDrawer.reading-drawer.is-open .reading-drawer__panel,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer .reading-drawer__panel .glass-shell,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    border: 1px solid rgba(255,239,210,.22);
    border-radius: 32px;
    background: linear-gradient(145deg, rgba(30,34,42,.58), rgba(7,10,16,.72));
    box-shadow: 0 38px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(130,89,44,.16) inset, 0 1px 0 rgba(255,255,255,.18) inset;
}

#readingDrawer.reading-drawer .reading-form,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.25rem;
}

#readingDrawer.reading-drawer .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    padding-left: 0;
    padding-right: 0;
}

#readingDrawer.reading-drawer .reading-form__head h2,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: .48rem 0 0;
    font-family: "Noto Serif KR", "Batang", serif;
    font-size: clamp(1.65rem, 2.4vw, 2.25rem);
    font-weight: 200;
    letter-spacing: -.035em;
    line-height: 1.3;
}

#readingDrawer.reading-drawer .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 100%;
    margin: .5rem 0 .85rem;
    color: var(--muted);
    font-size: .85rem;
    line-height: 1.8;
    text-align: left;
}

#readingDrawer.reading-drawer .field-grid,
#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem .75rem;
}

#readingDrawer.reading-drawer .birth-moment-row,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: .75rem;
}

#readingDrawer.reading-drawer .glass-control,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 44px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}

#readingDrawer.reading-drawer .glass-control input,
#readingDrawer.reading-drawer .glass-control select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 44px;
}

#readingDrawer.reading-drawer .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .start-button {
    width: min(333px, 100%);
    min-height: 58px;
    margin-top: .7rem;
}

#readingDrawer.reading-drawer .entry-onboarding-logo {
    display: none;
}

#readingDrawer.reading-drawer .reading-question-actions,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .75rem;
    align-items: stretch;
}

#readingDrawer.reading-drawer .reading-question-actions .reading-question-back,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-actions .reading-question-back {
    width: 100%;
    min-width: 0;
}

#readingDrawer.reading-drawer .reading-question-actions .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-actions .start-button {
    width: 100%;
    min-width: 0;
    margin-top: 0;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer,
    #readingDrawer.reading-drawer.is-entry-onboarding {
        place-items: end stretch;
        align-items: end;
        justify-content: stretch;
    }

    #readingDrawer.reading-drawer .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: 100%;
        height: min(94svh, 900px);
        max-height: min(94svh, 900px);
        padding: .55rem;
        transform: translateY(32px);
    }

    #readingDrawer.reading-drawer.is-open .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
        transform: translateY(0);
    }

    #readingDrawer.reading-drawer .reading-drawer__panel .glass-shell,
    #readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
        border-radius: 26px 26px 0 0;
    }

    #readingDrawer.reading-drawer .field-grid,
    #readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
        grid-template-columns: 1fr;
    }

    #readingDrawer.reading-drawer .birth-moment-row,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
        grid-template-columns: minmax(0, 1fr) 104px;
        gap: .55rem;
    }
}

/* v60 final home hero cascade lock */

/* Compact intake evidence layer; final entry rules below restate this scope. */
#readingDrawer.reading-drawer,
#readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 1rem;
}

#readingDrawer.reading-drawer .reading-drawer__backdrop,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 55%, rgba(213, 170, 96, .12), transparent 28%),
        rgba(0, 0, 0, .82);
    backdrop-filter: blur(8px) brightness(.66);
    -webkit-backdrop-filter: blur(8px) brightness(.66);
}

#readingDrawer.reading-drawer .reading-drawer__panel,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    width: min(340px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(18px) scale(.985);
    opacity: 0;
    transition: transform .52s var(--ease-film), opacity .42s var(--ease-film);
}

#readingDrawer.reading-drawer.is-open .reading-drawer__panel,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer .reading-drawer__panel .glass-shell,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(231, 190, 113, .72);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% -9%, rgba(247, 211, 140, .26), transparent 21%),
        radial-gradient(circle at 50% 112%, rgba(152, 73, 134, .34), transparent 33%),
        linear-gradient(145deg, rgba(35, 38, 47, .82), rgba(8, 11, 17, .92) 56%, rgba(31, 23, 14, .9));
    box-shadow: 0 24px 80px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255, 238, 194, .15) inset;
}

#readingDrawer.reading-drawer .reading-form,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.05rem .95rem .95rem;
}

#readingDrawer.reading-drawer .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: block;
    padding: 0;
    text-align: center;
}

#readingDrawer.reading-drawer .reading-form__head .eyebrow,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    text-align: center;
}

#readingDrawer.reading-drawer .reading-form__head h2,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: .52rem 0 0;
    font-family: var(--sans);
    font-size: clamp(1.28rem, 5.2vw, 1.55rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.32;
}

#readingDrawer.reading-drawer .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 24em;
    margin: .85rem auto 1rem;
    color: rgba(248, 244, 235, .74);
    font-size: .72rem;
    line-height: 1.62;
    text-align: center;
}

#readingDrawer.reading-drawer .field-grid,
#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .58rem;
}

#readingDrawer.reading-drawer .field > label,
#readingDrawer.reading-drawer .field legend,
#readingDrawer.reading-drawer .field-heading,
#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    margin-bottom: .32rem;
    color: rgba(248, 244, 235, .72);
    font-size: .66rem;
}

#readingDrawer.reading-drawer .field-heading small,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading small {
    font-size: .6rem;
}

#readingDrawer.reading-drawer .birth-moment-row,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: .5rem;
}

#readingDrawer.reading-drawer .glass-control,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .045));
}

#readingDrawer.reading-drawer .glass-control input,
#readingDrawer.reading-drawer .glass-control select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 40px;
    font-size: .78rem;
}

#readingDrawer.reading-drawer .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step,
#readingDrawer.reading-drawer .reading-question-step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-step {
    display: none;
}

#readingDrawer.reading-drawer .gender-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

#readingDrawer.reading-drawer .gender-field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field legend {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer .gender-field span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 40px;
    border-radius: 10px;
}

#readingDrawer.reading-drawer .reading-profile-actions,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: stretch;
    margin-top: .9rem;
}

#readingDrawer.reading-drawer .reading-profile-skip,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    min-width: 0;
    min-height: 40px;
    padding: 0 .85rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    background: rgba(255, 255, 255, .045);
    color: rgba(248, 244, 235, .82);
    font-size: .78rem;
    font-weight: 700;
}

#readingDrawer.reading-drawer .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin-top: 0;
    padding: 0 .85rem;
    border-radius: 12px;
}

#readingDrawer.reading-drawer .start-button i,
#readingDrawer.reading-drawer.is-entry-onboarding .start-button i {
    width: 26px;
    height: 26px;
}

#readingDrawer.reading-drawer .privacy-note,
#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    margin-top: .7rem;
    font-size: .58rem;
    line-height: 1.5;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer,
    #readingDrawer.reading-drawer.is-entry-onboarding {
        place-items: center;
        align-items: center;
        justify-content: center;
    }

    #readingDrawer.reading-drawer .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(340px, calc(100vw - 1rem));
        height: auto;
        max-height: calc(100dvh - 1rem);
        padding: 0;
        transform: translateY(18px) scale(.985);
    }

    #readingDrawer.reading-drawer.is-open .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
        transform: translateY(0) scale(1);
    }
}
.streaming-home .brand__logo {
    width: clamp(58px, 5vw, 82px);
    max-height: 66px;
    object-fit: contain;
}

.streaming-home .home-header-actions {
    justify-content: flex-end;
}

.streaming-home #profileSummaryButton {
    order: 10;
    flex: 0 0 auto;
    border-color: rgba(245,224,190,.42);
    background: rgba(255,255,255,.13);
    color: #f7ead2;
    box-shadow: 0 0 0 1px rgba(255,255,255,.05) inset, 0 8px 24px rgba(0,0,0,.42);
}

.streaming-home #profileSummaryButton svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.streaming-home #profileSummaryButton:hover,
.streaming-home #profileSummaryButton:focus-visible,
.streaming-home #profileSummaryButton[aria-expanded="true"] {
    border-color: rgba(245,224,190,.72);
    background: rgba(214,173,112,.18);
    color: #fff8ea;
}

.streaming-home .profile-summary-panel {
    right: var(--page-gutter);
}

.home-footer__brand p {
    margin-top: 0;
}

/* Centered modal cascade guard shared by the intake overlays. */
#readingDrawer.reading-drawer, #readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 1rem;
}

#readingDrawer.reading-drawer .reading-drawer__panel, #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    width: min(720px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(22px) scale(.985);
    opacity: 0;
    transition: transform .58s var(--ease-film), opacity .45s var(--ease-film);
}

#readingDrawer.reading-drawer.is-open .reading-drawer__panel, #readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer .reading-drawer__panel .glass-shell, #readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: visible;
    border: 1px solid rgba(255,239,210,.22);
    border-radius: 32px;
    background: linear-gradient(145deg, rgba(30,34,42,.58), rgba(7,10,16,.72));
    box-shadow: 0 38px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(130,89,44,.16) inset, 0 1px 0 rgba(255,255,255,.18) inset;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer, #readingDrawer.reading-drawer.is-entry-onboarding {
        place-items: center;
        align-items: center;
        justify-content: center;
    }

    #readingDrawer.reading-drawer .reading-drawer__panel, #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: calc(100vw - 1.3rem);
        height: auto;
        max-height: calc(100dvh - 1.3rem);
        padding: 0;
        transform: translateY(22px) scale(.985);
    }

    #readingDrawer.reading-drawer.is-open .reading-drawer__panel, #readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
        transform: translateY(0) scale(1);
    }

    #readingDrawer.reading-drawer .reading-drawer__panel .glass-shell, #readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
        border-radius: 26px;
    }
}

/* Compact entry evidence layer; final entry rules below restate this scope. */
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    width: min(340px, calc(100vw - 2rem));
    transform: translateY(18px) scale(.985);
    transition: transform .52s var(--ease-film), opacity .42s var(--ease-film);
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    overflow: hidden;
    border: 1px solid rgba(231, 190, 113, .72);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% -9%, rgba(247, 211, 140, .26), transparent 21%),
        radial-gradient(circle at 50% 112%, rgba(152, 73, 134, .34), transparent 33%),
        linear-gradient(145deg, rgba(35, 38, 47, .82), rgba(8, 11, 17, .92) 56%, rgba(31, 23, 14, .9));
    box-shadow: 0 24px 80px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255, 238, 194, .15) inset;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(340px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
        transform: translateY(18px) scale(.985);
    }

    #readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
        transform: translateY(0) scale(1);
    }
}

/* Playback-time profile capture: narrowed centered two-step visual shell. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    width: min(520px, calc(100vw - 1rem));
    max-height: min(76svh, 560px);
    transform: translateY(22px) scale(.985);
    overflow-y: auto;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    overflow: visible;
    border: 1px solid rgba(255, 239, 210, .22);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(30, 34, 42, .58), rgba(7, 10, 16, .72));
    box-shadow: 0 38px 90px rgba(0, 0, 0, .48), 0 0 0 1px rgba(130, 89, 44, .16) inset, 0 1px 0 rgba(255, 255, 255, .18) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    padding: clamp(1.18rem, 2.8vw, 1.72rem) clamp(1.1rem, 2.8vw, 1.65rem);
    gap: .62rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .7rem;
    margin-bottom: .1rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head > div {
    order: 1;
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    font-size: clamp(1.42rem, 2.35vw, 1.86rem);
    line-height: 1.15;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
    max-width: 100%;
    margin: .1rem 0 .48rem;
    color: rgba(248, 244, 235, .72);
    font-size: .78rem;
    line-height: 1.55;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step {
    display: inline-flex;
    order: 2;
    flex: 0 0 auto;
    margin-top: .2rem;
    color: rgba(226, 185, 112, .95);
    font-family: var(--sans);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__close {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .56rem .68rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .field--full,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-field {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-preplay-profile .field label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading {
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: .55rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    min-height: 42px;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .42rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field legend,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field legend {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
    min-height: 34px;
    border-radius: 10px;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin-top: .62rem;
}

#readingDrawer.reading-drawer.is-preplay-profile #readingProfileSkip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-height: 46px;
    padding: 0 .95rem;
    border-radius: 12px;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note {
    margin-top: .34rem;
    font-size: .62rem;
    line-height: 1.42;
    text-align: left;
}

@media (max-width: 760px) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
        width: min(520px, calc(100vw - .75rem));
        max-height: calc(100dvh - .75rem);
    }

    #readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
        border-radius: 20px;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form {
        padding: 1rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
        display: grid;
        gap: .65rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-grid,
    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-step.is-active {
    display: block;
    min-height: 0;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-step {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field {
    display: grid;
    gap: .45rem;
    margin-top: .72rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field > span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples > span {
    color: rgba(255, 255, 255, .8);
    font-size: .76rem;
    font-weight: 650;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 86px;
    resize: vertical;
    padding: .72rem .85rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    outline: none;
    background: rgba(255, 255, 255, .045);
    color: #f7f2e8;
    font: 500 .8rem/1.55 var(--sans);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea:focus {
    border-color: rgba(224, 183, 118, .62);
    background: rgba(255, 255, 255, .065);
    box-shadow: 0 0 0 3px rgba(209, 160, 91, .12);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field small,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples li {
    color: rgba(255, 255, 255, .48);
    font-size: .7rem;
    line-height: 1.65;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples {
    margin-top: .6rem;
    padding: .62rem .68rem;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 11px;
    background: rgba(255, 255, 255, .027);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples ul {
    display: grid;
    gap: .24rem;
    margin: .42rem 0 0;
    padding-left: 1.1rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: stretch;
    margin-top: .7rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions > button {
    min-height: 44px;
    margin: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back {
    padding: 0 .78rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .78);
    font-size: .7rem;
    font-weight: 650;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back:focus-visible {
    border-color: rgba(224, 183, 118, .46);
    background: rgba(224, 183, 118, .1);
    color: #fff;
}

@media (max-width: 760px) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
        grid-template-columns: 1fr;
    }
}

/* Superseded large entry correction; compact final entry rules below override it. */
#readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding:
        max(var(--v25-dialog-gutter, 1rem), env(safe-area-inset-top))
        max(var(--v25-dialog-gutter, 1rem), env(safe-area-inset-right))
        max(var(--v25-dialog-gutter, 1rem), env(safe-area-inset-bottom))
        max(var(--v25-dialog-gutter, 1rem), env(safe-area-inset-left));
}

/* Initial-entry intake: compact centered version from local screenshot/CSS evidence. */
#readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 55%, rgba(218, 171, 88, .18), transparent 28%),
        rgba(0, 0, 0, .84);
    backdrop-filter: blur(8px) brightness(.66);
    -webkit-backdrop-filter: blur(8px) brightness(.66);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    width: min(340px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(18px) scale(.985);
    opacity: 0;
    border-radius: 24px;
    transition: transform .52s var(--ease-film), opacity .42s var(--ease-film);
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(231, 190, 113, .86);
    border-radius: inherit;
    background:
        radial-gradient(circle at 50% -9%, rgba(247, 211, 140, .34), transparent 22%),
        radial-gradient(circle at 50% 112%, rgba(152, 73, 134, .28), transparent 34%),
        linear-gradient(145deg, rgba(37, 38, 43, .82), rgba(9, 11, 17, .94) 54%, rgba(43, 31, 17, .94));
    box-shadow: 0 24px 80px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255, 238, 194, .2) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    top: .7rem;
    right: .7rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.05rem .95rem .95rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .field,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-profile-actions {
    animation: none;
    opacity: 1;
    transform: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: block;
    padding: 0;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: .52rem 0 0;
    font-family: var(--sans);
    font-size: clamp(1.28rem, 5.2vw, 1.55rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.32;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 24em;
    margin: .85rem auto 1rem;
    color: rgba(248, 244, 235, .78);
    font-size: .72rem;
    line-height: 1.62;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .58rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    margin-bottom: .32rem;
    color: rgba(248, 244, 235, .72);
    font-size: .66rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-heading small {
    font-size: .6rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .045));
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 40px;
    font-size: .78rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-step {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field legend {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 40px;
    border-radius: 10px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: stretch;
    margin-top: .9rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    min-width: 0;
    min-height: 40px;
    padding: 0 .85rem;
    border: 1px solid rgba(231, 190, 113, .28);
    border-radius: 12px;
    background: rgba(255, 255, 255, .045);
    color: rgba(248, 224, 178, .9);
    font-size: .78rem;
    font-weight: 700;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin-top: 0;
    padding: 0 .85rem;
    border: 1px solid rgba(255, 224, 158, .42);
    border-radius: 12px;
    background: linear-gradient(100deg, #bb8842, #e0b977 48%, #a06b30);
}

#readingDrawer.reading-drawer.is-entry-onboarding .start-button i {
    width: 26px;
    height: 26px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    margin-top: .7rem;
    color: rgba(248, 244, 235, .46);
    font-size: .58rem;
    line-height: 1.5;
    text-align: left;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(340px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }
}

/* Final shared preplay intake guard: the profile step uses the question panel shell. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    width: min(520px, calc(100vw - 1rem));
    max-height: min(76svh, 560px);
    overflow-x: hidden;
    overflow-y: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    justify-items: center;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", Batang, serif;
    color: #ffe8b6;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-note,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-skip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    justify-self: center;
    width: min(300px, 100%);
    min-height: 46px;
    background:
        linear-gradient(180deg, #d9af67 0%, #bf8640 100%);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
    justify-content: center;
}

/* Optional content note: compact enough to keep the play CTA in view on short screens. */
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-drawer__panel {
    width: min(520px, calc(100vw - 1rem));
    max-height: min(76svh, 560px);
    overflow-y: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form {
    padding: clamp(1.05rem, 2.2vw, 1.45rem) clamp(1rem, 2.4vw, 1.35rem);
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-step.is-active {
    min-height: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form__head {
    gap: .65rem;
    margin-bottom: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form__head h2 {
    margin-top: .18rem;
    font-size: clamp(1.28rem, 1.9vw, 1.62rem);
    line-height: 1.18;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form__lead,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .privacy-note {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-field {
    gap: .45rem;
    margin-top: .68rem;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-field textarea {
    min-height: 76px;
    max-height: 96px;
    padding: .7rem .82rem;
    resize: none;
    font-size: .78rem;
    line-height: 1.45;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-field small {
    font-size: .64rem;
    line-height: 1.35;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples {
    margin-top: .48rem;
    padding: .52rem;
    border-radius: 11px;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
    margin: .45rem 0 0;
    padding-left: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples li {
    display: block;
    min-height: 32px;
    padding: .38rem .45rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    background: rgba(255,255,255,.028);
    list-style: none;
    font-size: .62rem;
    line-height: 1.35;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
    grid-template-columns: minmax(0, 300px);
    justify-content: center;
    gap: 0;
    margin-top: .55rem;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions > button {
    min-height: 44px;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only #readingQuestionBack {
    display: none;
}

@media (max-width: 760px), (max-height: 680px) {
    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-drawer__panel {
        width: min(520px, calc(100vw - .75rem));
        max-height: calc(100dvh - .75rem);
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form {
        padding: .95rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form__head h2 {
        font-size: 1.22rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples,
    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-field small {
        display: none;
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Subdued video-preplay intake: keep the looped scene visible behind a calmer form. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__backdrop {
    background: linear-gradient(180deg, rgba(3, 7, 12, .28), rgba(3, 7, 12, .46));
    backdrop-filter: blur(3px) brightness(.82) saturate(.92);
    -webkit-backdrop-filter: blur(3px) brightness(.82) saturate(.92);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    opacity: 0;
    transform: translateY(18px) scale(.985);
    filter: blur(8px);
    transition: transform .36s var(--ease-film), opacity .32s ease, filter .32s ease;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-drawer__panel {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    transition: transform 1.12s cubic-bezier(.18, .72, .18, 1), opacity 1.02s ease, filter 1.02s ease;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    border: 1px solid rgba(214, 173, 112, .26);
    background:
        linear-gradient(160deg, rgba(16, 24, 34, .72), rgba(5, 8, 14, .84) 62%, rgba(20, 14, 8, .76));
    box-shadow:
        0 26px 70px rgba(0, 0, 0, .48),
        0 0 0 1px rgba(255, 255, 255, .055) inset,
        0 18px 58px rgba(202, 151, 80, .055) inset;
    backdrop-filter: blur(14px) saturate(.94);
    -webkit-backdrop-filter: blur(14px) saturate(.94);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::before,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__specular,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__refraction {
    opacity: .18;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__rim {
    border-color: rgba(236, 201, 143, .12);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", Batang, serif;
    color: rgba(255, 236, 198, .9);
    text-shadow: 0 8px 28px rgba(0, 0, 0, .36);
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step {
    color: rgba(224, 184, 117, .82);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead,
#readingDrawer.reading-drawer.is-preplay-profile .privacy-note {
    color: rgba(238, 233, 222, .62);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea,
#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples {
    border-color: rgba(255, 255, 255, .1);
    background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
    box-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset;
    transition: transform .22s var(--ease-film), border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control:focus-within,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea:focus,
#readingDrawer.reading-drawer.is-preplay-profile .calendar-field label:hover span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field label:hover span {
    transform: translateY(-1px);
    border-color: rgba(226, 185, 112, .42);
    background: linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .045));
    box-shadow: 0 0 0 3px rgba(202, 151, 80, .11), 0 1px 0 rgba(255, 255, 255, .1) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input:checked + span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span {
    border-color: rgba(226, 185, 112, .58);
    background: linear-gradient(180deg, rgba(190, 142, 70, .24), rgba(255, 255, 255, .045));
    color: rgba(255, 243, 220, .94);
    box-shadow: 0 0 0 1px rgba(226, 185, 112, .18) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button {
    border: 1px solid rgba(226, 185, 112, .4);
    background:
        linear-gradient(180deg, rgba(190, 142, 70, .72), rgba(90, 66, 38, .82));
    box-shadow:
        0 12px 28px rgba(0, 0, 0, .28),
        0 1px 0 rgba(255, 243, 213, .22) inset;
    transition: transform .24s var(--ease-film), border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-height: 46px;
    border: 1px solid rgba(226, 185, 112, .4);
    background:
        linear-gradient(180deg, rgba(190, 142, 70, .72), rgba(90, 66, 38, .82));
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:focus-visible,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(238, 203, 144, .6);
    background:
        linear-gradient(180deg, rgba(206, 160, 86, .8), rgba(104, 76, 42, .86));
    box-shadow:
        0 16px 34px rgba(0, 0, 0, .32),
        0 0 0 3px rgba(202, 151, 80, .12),
        0 1px 0 rgba(255, 243, 213, .26) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__head,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__lead,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .entry-intake-copy,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .field,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-field,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-examples,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-profile-actions,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-actions,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .privacy-note {
    animation: preplayIntakeFieldIn .72s cubic-bezier(.18, .72, .18, 1) both;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__head {
    animation: preplayIntakeFieldIn .72s cubic-bezier(.18, .72, .18, 1) both;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__lead { animation-delay: .12s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .field:nth-of-type(1) { animation-delay: .22s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .field:nth-of-type(2) { animation-delay: .3s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .field:nth-of-type(3) { animation-delay: .38s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .field:nth-of-type(4) { animation-delay: .46s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-field { animation-delay: .22s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-examples { animation-delay: .3s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-profile-actions,
#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-actions { animation-delay: .54s; }
#readingDrawer.reading-drawer.is-preplay-profile.is-open .privacy-note { animation-delay: .62s; }

@keyframes preplayIntakeFieldIn {
    from {
        opacity: 0;
        transform: translateY(10px);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-drawer__panel {
        transition-duration: .01ms;
        filter: none;
    }

    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__head,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-form__lead,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .entry-intake-copy,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .field,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-field,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-examples,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-profile-actions,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-question-actions,
    #readingDrawer.reading-drawer.is-preplay-profile.is-open .privacy-note {
        animation: none;
    }
}

/* First-entry gold intake: visual-only copy and finish pass. */
.entry-intake-note {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 24%, rgba(255, 222, 152, .28), transparent 22%),
        radial-gradient(circle at 50% 58%, rgba(166, 111, 43, .2), transparent 34%),
        linear-gradient(180deg, rgba(10, 6, 2, .88), rgba(3, 2, 1, .94));
    backdrop-filter: blur(11px) brightness(.74) saturate(1.08);
    -webkit-backdrop-filter: blur(11px) brightness(.74) saturate(1.08);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    position: relative;
    isolation: isolate;
    width: min(340px, calc(100vw - 2rem));
    overflow: visible;
    border-radius: 24px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: -78px;
    width: min(430px, 96vw);
    height: 190px;
    transform: translateX(-50%);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 54%, rgba(255, 248, 211, .96), rgba(255, 214, 122, .54) 24%, rgba(178, 112, 35, .18) 52%, transparent 73%);
    filter: blur(3px);
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: -28px;
    width: min(280px, 72vw);
    height: 58px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(255, 255, 235, .78), rgba(245, 190, 86, .24) 50%, transparent 72%);
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    overflow: hidden;
    border: 1px solid rgba(246, 210, 132, .88);
    background:
        radial-gradient(circle at 50% -14%, rgba(255, 234, 176, .34), transparent 26%),
        linear-gradient(155deg, rgba(63, 43, 20, .96), rgba(20, 13, 7, .98) 48%, rgba(6, 5, 4, .97));
    box-shadow:
        0 34px 92px rgba(0, 0, 0, .62),
        0 0 42px rgba(221, 159, 65, .22),
        0 0 0 1px rgba(255, 244, 201, .23) inset,
        0 28px 70px rgba(255, 220, 147, .08) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__rim {
    border-color: rgba(255, 226, 154, .2);
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__specular {
    background: linear-gradient(90deg, transparent, rgba(255, 247, 213, .16), transparent);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    padding: 1.18rem 1rem 1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-note {
    display: block;
    margin: .08rem 0 1rem;
    padding: .92rem .9rem;
    border: 1px solid rgba(255, 218, 139, .28);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 222, 153, .14), rgba(118, 74, 24, .12));
    color: rgba(255, 244, 216, .9);
    font-size: .78rem;
    font-weight: 560;
    line-height: 1.68;
    text-align: center;
    word-break: keep-all;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    color: rgba(255, 233, 184, .82);
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    border-color: rgba(255, 218, 139, .26);
    background:
        linear-gradient(180deg, rgba(255, 230, 174, .12), rgba(255, 255, 255, .04));
    box-shadow: 0 0 0 1px rgba(255, 248, 219, .05) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    color: rgba(255, 248, 231, .96);
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    border-color: rgba(255, 218, 139, .24);
    background: rgba(255, 221, 143, .08);
    color: rgba(255, 242, 210, .88);
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field input:checked + span {
    border-color: rgba(255, 229, 166, .72);
    background: linear-gradient(135deg, rgba(189, 127, 43, .78), rgba(245, 205, 132, .2));
    color: #fff7df;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    border-color: rgba(255, 218, 139, .32);
    background: rgba(255, 230, 174, .07);
    color: rgba(255, 231, 184, .9);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    border-color: rgba(255, 236, 183, .68);
    background: linear-gradient(102deg, #8f5d1d, #d6a74e 44%, #f0d28a 61%, #9d6720);
    color: #1c1104;
    box-shadow: 0 12px 28px rgba(163, 103, 28, .34), 0 0 0 1px rgba(255, 255, 231, .2) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    display: block;
    width: min(760px, calc(100vw - (var(--v25-dialog-gutter, 1rem) * 2)));
    height: auto;
    max-height: min(820px, calc(100dvh - 2rem));
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(22px) scale(.985);
    opacity: 0;
    border-radius: clamp(20px, 2vw, 30px);
    transition: transform .58s var(--ease-film), opacity .45s var(--ease-film);
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: visible;
    border: 1px solid rgba(231, 190, 113, .56);
    border-radius: inherit;
    background:
        radial-gradient(circle at 18% -18%, rgba(247, 211, 140, .2), transparent 30%),
        linear-gradient(145deg, rgba(30, 34, 42, .62), rgba(7, 10, 16, .82) 60%, rgba(31, 23, 14, .72));
    box-shadow: 0 34px 86px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 238, 194, .12) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    position: absolute;
    top: .8rem;
    right: .8rem;
    z-index: 12;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 1rem;
    padding: clamp(1.35rem, 2.4vw, 2.35rem);
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .field,
#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-profile-actions {
    animation: none;
    opacity: 1;
    transform: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 2.4rem 0 0;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: .45rem 0 0;
    font-family: var(--serif);
    font-size: clamp(1.85rem, 3vw, 2.45rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.16;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 100%;
    margin: .2rem 0 1rem;
    color: rgba(248, 244, 235, .72);
    font-size: .88rem;
    line-height: 1.8;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .78rem 1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field--full,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-field {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    margin-bottom: .38rem;
    color: rgba(248, 244, 235, .76);
    font-size: .74rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-heading small {
    font-size: .68rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: .75rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    min-height: 50px;
    font-size: .88rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field legend {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 40px;
    border-radius: 12px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-step {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: grid;
    grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
    gap: .65rem;
    align-items: stretch;
    margin-top: 1.1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    min-height: 54px;
    padding: 0 1rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .045);
    color: rgba(248, 244, 235, .82);
    font-size: .82rem;
    font-weight: 700;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 0 1.15rem;
    border-radius: 14px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    margin-top: .75rem;
    color: rgba(248, 244, 235, .46);
    font-size: .7rem;
    line-height: 1.55;
    text-align: left;
}

@media (max-width: 760px) {
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: calc(100vw - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    #readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
        border-radius: 26px;
    }

    #readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
        padding: 1.55rem;
    }

    #readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head,
    #readingDrawer.reading-drawer.is-entry-onboarding .field-grid,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
        grid-template-columns: 1fr;
    }
}

/* Final initial-entry compact override. Keep this after the superseded large block. */
#readingDrawer.reading-drawer.is-entry-onboarding {
    display: grid;
    place-items: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 1rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 55%, rgba(218, 171, 88, .18), transparent 28%),
        rgba(0, 0, 0, .84);
    backdrop-filter: blur(8px) brightness(.66);
    -webkit-backdrop-filter: blur(8px) brightness(.66);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    justify-self: center;
    align-self: center;
    display: block;
    width: min(340px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 2rem);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateY(18px) scale(.985);
    opacity: 0;
    border-radius: 24px;
    transition: transform .52s var(--ease-film), opacity .42s var(--ease-film);
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

#readingDrawer.reading-drawer.is-entry-onboarding.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(231, 190, 113, .86);
    border-radius: inherit;
    background:
        radial-gradient(circle at 50% -9%, rgba(247, 211, 140, .34), transparent 22%),
        radial-gradient(circle at 50% 112%, rgba(152, 73, 134, .28), transparent 34%),
        linear-gradient(145deg, rgba(37, 38, 43, .82), rgba(9, 11, 17, .94) 54%, rgba(43, 31, 17, .94));
    box-shadow: 0 24px 80px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255, 238, 194, .2) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    top: .7rem;
    right: .7rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.05rem .95rem .95rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: block;
    padding: 0;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: .52rem 0 0;
    font-family: var(--sans);
    font-size: clamp(1.28rem, 5.2vw, 1.55rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.32;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    width: 100%;
    max-width: 24em;
    margin: .85rem auto 1rem;
    color: rgba(248, 244, 235, .78);
    font-size: .72rem;
    line-height: 1.62;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .58rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .045));
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 40px;
    font-size: .78rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-question-step {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 40px;
    border-radius: 10px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: stretch;
    margin-top: .9rem;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    min-width: 0;
    min-height: 40px;
    padding: 0 .85rem;
    border: 1px solid rgba(231, 190, 113, .28);
    border-radius: 12px;
    background: rgba(255, 255, 255, .045);
    color: rgba(248, 224, 178, .9);
    font-size: .78rem;
    font-weight: 700;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin-top: 0;
    padding: 0 .85rem;
    border: 1px solid rgba(255, 224, 158, .42);
    border-radius: 12px;
    background: linear-gradient(100deg, #bb8842, #e0b977 48%, #a06b30);
}

#readingDrawer.reading-drawer.is-entry-onboarding .start-button i {
    width: 26px;
    height: 26px;
}

#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    margin-top: .7rem;
    color: rgba(248, 244, 235, .46);
    font-size: .58rem;
    line-height: 1.5;
    text-align: left;
}

@media (max-width: 720px) {
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(340px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }
}

/* Final cascade guard for the first-entry intake redesign. */
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-note {
    display: block;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::before {
    z-index: 0;
    top: -92px;
    opacity: .98;
    filter: blur(2px);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::after {
    z-index: 0;
    opacity: .86;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    position: relative;
    z-index: 1;
    box-shadow:
        0 -52px 120px rgba(255, 229, 154, .46),
        0 -18px 42px rgba(255, 252, 223, .28),
        0 34px 92px rgba(0, 0, 0, .62),
        0 0 42px rgba(221, 159, 65, .22),
        0 0 0 1px rgba(255, 244, 201, .23) inset,
        0 28px 70px rgba(255, 220, 147, .08) inset;
}

#readingDrawer.reading-drawer.is-entry-onboarding::before {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: calc(50% - 338px);
    width: min(540px, 96vw);
    height: 255px;
    transform: translateX(-50%);
    border-radius: 999px;
    background:
        radial-gradient(ellipse at 50% 72%, rgba(255, 255, 229, .88), rgba(255, 226, 143, .52) 22%, rgba(205, 132, 40, .22) 46%, transparent 72%);
    filter: blur(18px);
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    z-index: 0;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    z-index: 2;
}

/* Final gold pass for the first-entry intake. */
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    display: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 26%, rgba(255, 230, 152, .34), transparent 24%),
        radial-gradient(circle at 50% 58%, rgba(196, 129, 34, .3), transparent 36%),
        linear-gradient(180deg, rgba(16, 9, 1, .9), rgba(4, 3, 1, .96));
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    border-color: rgba(255, 222, 143, .96);
    background:
        radial-gradient(circle at 50% -18%, rgba(255, 230, 148, .52), transparent 34%),
        radial-gradient(circle at 100% 104%, rgba(239, 184, 78, .24), transparent 38%),
        linear-gradient(155deg, rgba(88, 50, 12, .98), rgba(37, 23, 6, .99) 48%, rgba(10, 7, 2, .98));
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-copy {
    display: grid;
    gap: .45rem;
    margin: .08rem 0 1rem;
    padding: .95rem .86rem .9rem;
    border: 1px solid rgba(255, 228, 162, .42);
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 232, 167, .24), transparent 58%),
        linear-gradient(180deg, rgba(166, 105, 25, .25), rgba(73, 41, 8, .2));
    box-shadow: 0 0 0 1px rgba(255, 250, 221, .08) inset;
    text-align: center;
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-title {
    display: block;
    margin: 0;
    color: #ffe7aa;
    font-size: 1rem;
    font-weight: 820;
    line-height: 1.28;
    letter-spacing: 0;
    text-shadow: 0 0 18px rgba(255, 213, 117, .36);
}

#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-note {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 244, 216, .86);
    font-size: .72rem;
    font-weight: 560;
    line-height: 1.6;
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    border-color: rgba(255, 218, 139, .34);
    background:
        linear-gradient(180deg, rgba(255, 219, 135, .14), rgba(55, 34, 9, .36));
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    border-color: rgba(255, 218, 139, .38);
    background: rgba(128, 76, 14, .28);
}

#readingDrawer.reading-drawer.is-entry-onboarding .gender-field input:checked + span {
    background: linear-gradient(135deg, rgba(174, 105, 22, .94), rgba(235, 184, 86, .42));
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    border-color: rgba(255, 218, 139, .42);
    background: rgba(86, 48, 10, .46);
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    background: linear-gradient(102deg, #9e6216, #d99b35 36%, #f3c86b 58%, #ad701b);
}


/* Final premium pass for the top-right saju profile summary panel. */
.profile-summary-panel {
    isolation: isolate;
    overflow: hidden;
    width: min(392px, calc(100vw - 2rem));
    padding: 1.3rem;
    border: 1px solid rgba(224, 179, 99, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 217, 142, .2), transparent 34%),
        linear-gradient(146deg, rgba(42, 25, 7, .97), rgba(10, 12, 18, .97) 48%, rgba(6, 7, 11, .96));
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(255, 230, 177, .06) inset,
        0 24px 70px rgba(210, 137, 32, .18);
}

.profile-summary-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.profile-summary-panel::before {
    content: "";
    position: absolute;
    inset: -28% -18% auto;
    height: 62%;
    background: radial-gradient(circle at 58% 8%, rgba(255, 229, 162, .54), rgba(219, 149, 48, .2) 34%, transparent 68%);
    filter: blur(22px);
    opacity: .82;
    pointer-events: none;
    z-index: 0;
}

.profile-summary-panel::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: 19px;
    background: linear-gradient(135deg, rgba(255, 239, 188, .28), transparent 24%, transparent 68%, rgba(203, 132, 35, .16));
    pointer-events: none;
    z-index: 0;
}

.profile-summary-panel > * {
    position: relative;
    z-index: 1;
}

.profile-summary-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(234, 199, 132, .24);
    border-radius: 50%;
    background: rgba(255, 226, 168, .08);
    color: rgba(255, 241, 213, .76);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.profile-summary-close:hover,
.profile-summary-close:focus-visible {
    border-color: rgba(248, 218, 156, .54);
    background: rgba(215, 149, 45, .2);
    color: #fff7e6;
    transform: translateY(-1px);
}

.profile-summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding-right: 2.2rem;
}

.profile-summary-panel .eyebrow {
    margin: 0;
    color: rgba(255, 224, 157, .94);
    letter-spacing: .18em;
}

.profile-summary-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: .18rem .54rem;
    border: 1px solid rgba(224, 179, 99, .28);
    border-radius: 999px;
    background: rgba(106, 65, 14, .38);
    color: rgba(255, 236, 191, .86);
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .04em;
    white-space: nowrap;
}

.profile-summary-panel h2 {
    margin: 1.1rem 0 .36rem;
    color: #fff8ea;
    font-size: clamp(1.62rem, 2vw, 2.08rem);
    letter-spacing: 0;
    text-shadow: 0 0 24px rgba(239, 185, 85, .28);
}

.profile-summary-subtitle {
    margin: 0 0 1rem;
    color: rgba(255, 240, 208, .72);
    font-size: .86rem;
    line-height: 1.55;
}

.profile-summary-empty {
    margin: 0 0 .9rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(224, 179, 99, .16);
    border-radius: 12px;
    background: rgba(31, 20, 8, .54);
    color: rgba(255, 235, 197, .76);
    font-size: .82rem;
    line-height: 1.5;
}

.profile-summary-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .62rem;
    margin: 0;
}

.profile-summary-list__item {
    min-width: 0;
    padding: .78rem .84rem;
    border: 1px solid rgba(224, 179, 99, .18);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 220, 148, .105), rgba(36, 24, 9, .5));
    box-shadow: 0 1px 0 rgba(255, 245, 215, .08) inset;
}

.profile-summary-list__item--primary,
.profile-summary-list__wide {
    grid-column: 1 / -1;
}

.profile-summary-list dt {
    margin: 0 0 .3rem;
    color: rgba(245, 203, 127, .8);
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .08em;
}

.profile-summary-list dd {
    margin: 0;
    color: #fff9ee;
    font-size: .98rem;
    font-weight: 740;
    line-height: 1.42;
    word-break: keep-all;
}

.profile-summary-form {
    margin: 0;
}

.profile-summary-empty {
    display: none;
}

.profile-summary-form .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem;
}

.profile-summary-form .field,
.profile-summary-form .birth-moment-control {
    min-width: 0;
}

.profile-summary-form .field--full,
.profile-summary-form .birth-moment-field,
.profile-summary-form .gender-field {
    grid-column: 1 / -1;
}

.profile-summary-form .gender-field {
    grid-column: 1 / -1;
}

.profile-summary-form .field > label,
.profile-summary-form .field legend,
.profile-summary-form .field-heading {
    color: rgba(255, 233, 184, .82);
    font-size: .72rem;
    font-weight: 720;
}

.profile-summary-form .field-heading {
    margin-bottom: .52rem;
}

.profile-summary-form .field-heading small {
    color: rgba(255, 232, 188, .64);
}

.profile-summary-form .birth-moment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: .55rem;
}

.profile-summary-form .glass-control {
    border-color: rgba(255, 218, 139, .26);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255, 230, 174, .12), rgba(255, 255, 255, .04));
    box-shadow: 0 0 0 1px rgba(255, 248, 219, .05) inset;
}

.profile-summary-form .glass-control:focus-within {
    border-color: rgba(255, 224, 153, .5);
    box-shadow: 0 0 0 1px rgba(255, 234, 178, .16) inset, 0 12px 28px rgba(180, 111, 22, .12);
}

.profile-summary-form .glass-control input,
.profile-summary-form .glass-control select {
    height: 48px;
    color: rgba(255, 248, 231, .96);
    font-size: .9rem;
    font-weight: 740;
}

.app[data-lumina-preview="next"] .profile-summary-form .glass-control input,
.app[data-lumina-preview="next"] .profile-summary-form .glass-control select {
    font-size: 1rem;
}

.profile-summary-form .glass-control option {
    background: #1e1408;
    color: #fff7df;
}

.profile-summary-form .calendar-field,
.profile-summary-form .profile-summary-leap-field {
    display: none;
}

.profile-summary-form .calendar-field {
    display: none;
}

.profile-summary-form .segmented-field {
    gap: .52rem;
}

.profile-summary-form .segmented-field span {
    min-height: 44px;
    border-color: rgba(255, 218, 139, .24);
    background: rgba(255, 221, 143, .08);
    color: rgba(255, 242, 210, .88);
    font-weight: 760;
}

.profile-summary-form .segmented-field input:checked + span {
    border-color: rgba(255, 229, 166, .72);
    background: linear-gradient(135deg, rgba(189, 127, 43, .78), rgba(245, 205, 132, .2));
    color: #fff7df;
}

.profile-summary-list__item:focus-within {
    border-color: rgba(255, 224, 153, .42);
    background: linear-gradient(180deg, rgba(255, 224, 151, .16), rgba(52, 34, 11, .58));
    box-shadow: 0 0 0 1px rgba(255, 234, 178, .14) inset, 0 12px 28px rgba(180, 111, 22, .12);
}

.profile-summary-list dt label {
    cursor: text;
}

.profile-summary-control {
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff9ee;
    font: inherit;
    font-size: .98rem;
    font-weight: 740;
    line-height: 1.42;
    outline: none;
}

.profile-summary-control::placeholder {
    color: rgba(255, 231, 188, .5);
}

select.profile-summary-control {
    cursor: pointer;
}

.profile-summary-control option {
    color: #1e1408;
}

.profile-summary-dual {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(96px, .48fr);
    gap: .55rem;
    align-items: center;
}

.profile-summary-dual .profile-summary-control {
    min-height: 34px;
    padding: .24rem .34rem;
    border: 1px solid rgba(224, 179, 99, .16);
    border-radius: 9px;
    background: rgba(255, 226, 157, .06);
}

.profile-summary-control[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) sepia(1) saturate(1.8) hue-rotate(350deg);
    opacity: .76;
}

.profile-summary-list__wide dd {
    color: rgba(255, 248, 234, .9);
    font-size: .92rem;
    font-weight: 640;
}

.profile-summary-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: 1rem;
    padding-top: .95rem;
    border-top: 1px solid rgba(224, 179, 99, .16);
}

.profile-summary-updated {
    margin: 0;
    color: rgba(255, 232, 188, .68);
    font-size: .74rem;
    line-height: 1.35;
}

.profile-summary-edit {
    flex: 0 0 auto;
    min-height: 38px;
    padding: .58rem .86rem;
    border: 1px solid rgba(255, 225, 159, .34);
    border-radius: 999px;
    background: linear-gradient(135deg, #916019, #d19a3f 46%, #f0cd78);
    box-shadow: 0 12px 30px rgba(164, 99, 18, .28), 0 1px 0 rgba(255, 255, 255, .32) inset;
    color: #171006;
    font-size: .82rem;
    font-weight: 820;
    letter-spacing: 0;
    white-space: nowrap;
}

.profile-summary-edit:hover,
.profile-summary-edit:focus-visible {
    filter: brightness(1.07);
    transform: translateY(-1px);
}

@media (max-width: 520px) {
    .profile-summary-panel {
        top: calc(var(--header-row-height, 76px) + .45rem);
        right: 1rem;
        padding: 1.05rem;
    }

    .profile-summary-list {
        grid-template-columns: 1fr;
    }

    .profile-summary-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-summary-edit {
        width: 100%;
    }
}

/* Final home flow guard: the popular shelf only overlaps when the viewport has room. */
.streaming-home {
    --home-shelf-overlap: clamp(0px, calc((100svh - 580px) * 3.1), 15rem);
    --home-hero-shelf-gap: clamp(1.75rem, 5svh, 4rem);
    --home-copy-lower-shift: clamp(1.5rem, calc((100svh - 560px) * 1), 7rem);
    --home-shelf-raise-extra: clamp(2.75rem, calc((100svh - 590px) * 1.34), 4.75rem);
}

.streaming-home .streaming-hero {
    display: flex;
    align-items: center;
    height: auto;
    min-height: 100svh;
    padding-top: calc(var(--header-row-height, 76px) + clamp(3.25rem, 8svh, 6rem) + var(--home-copy-lower-shift));
    padding-bottom: calc(var(--home-hero-shelf-gap) + var(--home-shelf-overlap));
}

.streaming-home .streaming-hero__grid {
    align-content: center;
    align-items: center;
    min-height: auto;
    transform: none;
    translate: none;
}

.streaming-home .streaming-hero__content {
    align-self: center;
    transform: none;
    translate: none;
}

.streaming-home .home-programs {
    margin-top: calc((var(--home-shelf-overlap) * -1) - var(--home-shelf-raise-extra));
}

/* Targeted premiere conversion page: matches the screening-style payment reference. */
#premiereGate.premiere-gate {
    place-items: stretch;
    align-items: stretch;
    padding: 0;
    background: #020d16;
}

#premiereGate .premiere-gate__backdrop {
    background:
        radial-gradient(circle at 68% 7%, rgba(236, 178, 87, .22), transparent 16rem),
        radial-gradient(circle at 16% 5%, rgba(44, 92, 122, .22), transparent 18rem),
        linear-gradient(180deg, #031320 0%, #020b14 44%, #020812 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

#premiereGate .premiere-gate__dialog {
    width: 100%;
    max-width: none;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#premiereGate .premiere-gate__header {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

#premiereGate .premiere-gate__body {
    width: 100%;
    max-height: 100dvh;
    padding: 0 clamp(1rem, 4vw, 2rem) clamp(1.2rem, 4vw, 2rem);
    overflow: auto;
    color: rgba(255, 244, 220, .92);
    scrollbar-width: thin;
    scrollbar-color: rgba(206, 147, 65, .55) rgba(255, 255, 255, .06);
}

#premiereGate .premiere-gate__body > :not(.premiere-screening-page):not(#premiereOffer):not(.premiere-trust-strip) {
    display: none;
}

#premiereGate .premiere-screening-page,
#premiereGate #premiereOffer,
#premiereGate .premiere-trust-strip {
    width: min(100%, 760px);
    margin-right: auto;
    margin-left: auto;
}

#premiereGate .premiere-screening-page {
    display: grid;
    gap: clamp(.72rem, 1.7vw, 1rem);
    padding-top: clamp(.65rem, 2.8vw, 1rem);
}

#premiereGate .premiere-screening-page h4,
#premiereGate .premiere-screening-page p,
#premiereGate .premiere-screening-page ol,
#premiereGate .premiere-screening-page blockquote {
    margin: 0;
}

#premiereGate .premiere-screening-page h4 {
    color: #d89948;
    font-family: var(--sans);
    font-size: clamp(.82rem, 1.4vw, 1rem);
    font-weight: 850;
    letter-spacing: 0;
    text-align: center;
}

#premiereGate .premiere-screening-hero {
    position: relative;
    display: grid;
    min-height: clamp(178px, 27vw, 260px);
    place-items: center;
    padding: clamp(1.55rem, 5.3vw, 3rem) clamp(1rem, 4vw, 2rem) clamp(2.35rem, 5.8vw, 3.45rem);
    overflow: hidden;
    border-radius: 0 0 20px 20px;
    background:
        linear-gradient(180deg, rgba(3, 13, 24, .08), rgba(3, 13, 24, .5) 50%, #020d16 100%),
        radial-gradient(circle at 70% 20%, rgba(250, 195, 93, .52), transparent 8rem),
        url("../img/catalog-wide/first-light.jpg") center 36% / cover no-repeat;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .42);
    text-align: center;
}

#premiereGate .premiere-screening-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2, 13, 22, .66), transparent 28%, transparent 72%, rgba(2, 13, 22, .7)),
        repeating-linear-gradient(90deg, transparent 0 72px, rgba(237, 185, 95, .2) 73px, transparent 76px);
    opacity: .42;
    pointer-events: none;
}

#premiereGate .premiere-screening-hero > * {
    position: relative;
    z-index: 1;
}

#premiereGate .premiere-screening-hero .eyebrow {
    color: #e7b55f;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .18em;
}

#premiereGate .premiere-screening-hero h3 {
    margin: .28rem 0 0;
    color: #fff7e8;
    font-family: var(--serif);
    font-size: clamp(1.55rem, 4.8vw, 2.55rem);
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.14;
    text-shadow: 0 2px 20px rgba(0, 0, 0, .7);
}

#premiereGate .premiere-screening-hero h3 span {
    display: inline-block;
    margin-top: .22rem;
    color: #e4a545;
}

#premiereGate .premiere-screening-hero p {
    max-width: 34rem;
    margin-top: .65rem;
    color: rgba(255, 240, 212, .82);
    font-size: clamp(.68rem, 1.35vw, .84rem);
    font-weight: 650;
    line-height: 1.62;
}

#premiereGate .premiere-screening-hero strong {
    position: absolute;
    right: 0;
    bottom: .7rem;
    left: 0;
    color: #d9953e;
    font-size: .74rem;
    font-weight: 900;
}

#premiereGate .premiere-screening-bridge {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
}

#premiereGate .premiere-screening-bridge article {
    position: relative;
    min-height: 116px;
    padding: 1.05rem .95rem .9rem;
    overflow: hidden;
    border: 1px solid rgba(214, 151, 65, .35);
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(2, 12, 20, .22), rgba(2, 10, 18, .86)),
        url("../img/catalog-wide/night-archive.jpg") center / cover no-repeat;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    text-align: center;
}

#premiereGate .premiere-screening-bridge article.is-muted {
    filter: grayscale(.72) brightness(.72);
}

#premiereGate .premiere-screening-bridge article span {
    display: block;
    color: rgba(245, 202, 134, .68);
    font-size: .55rem;
    font-weight: 750;
}

#premiereGate .premiere-screening-bridge article strong {
    display: block;
    margin-top: .42rem;
    color: #fff1d2;
    font-size: .86rem;
    font-weight: 850;
}

#premiereGate .premiere-screening-bridge article i {
    display: grid;
    width: 30px;
    height: 30px;
    margin: .52rem auto .35rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(0, 0, 0, .62);
    color: transparent;
}

#premiereGate .premiere-screening-bridge article i::before {
    content: "▣";
    color: #fff8e6;
    font-size: .82rem;
}

#premiereGate .premiere-screening-bridge article p {
    color: rgba(255, 235, 200, .66);
    font-size: .55rem;
    font-weight: 650;
    line-height: 1.42;
}

#premiereGate .premiere-screening-bridge > b {
    color: #dc9b43;
    font-size: 1.6rem;
    font-weight: 400;
}

#premiereGate .premiere-screening-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .65rem;
}

#premiereGate .premiere-screening-stats div {
    display: grid;
    grid-template-columns: auto auto;
    gap: .04rem .65rem;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    border: 1px solid rgba(214, 151, 65, .42);
    border-radius: 6px;
    background: rgba(5, 17, 28, .84);
}

#premiereGate .premiere-screening-stats i {
    grid-row: span 2;
    color: #dd9744;
    font-size: 1.75rem;
    font-style: normal;
}

#premiereGate .premiere-screening-stats strong {
    color: #e1a24c;
    font-size: clamp(1.02rem, 2.5vw, 1.35rem);
    font-weight: 900;
    line-height: 1;
}

#premiereGate .premiere-screening-stats span {
    color: rgba(255, 232, 194, .62);
    font-size: .58rem;
    font-weight: 750;
}

#premiereGate .premiere-screening-benefits {
    display: grid;
    gap: .55rem;
}

#premiereGate .premiere-screening-benefits > div {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .48rem;
}

#premiereGate .premiere-screening-benefits article {
    min-height: 92px;
    padding: .62rem .42rem;
    border: 1px solid rgba(214, 151, 65, .34);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(10, 25, 39, .9), rgba(5, 15, 26, .9));
    text-align: center;
}

#premiereGate .premiere-screening-benefits i {
    display: block;
    color: #d58f3b;
    font-size: 1.38rem;
    font-style: normal;
}

#premiereGate .premiere-screening-benefits strong {
    display: block;
    margin-top: .3rem;
    color: #fff0d0;
    font-size: .61rem;
    font-weight: 850;
    line-height: 1.25;
}

#premiereGate .premiere-screening-benefits span {
    display: block;
    margin-top: .28rem;
    color: rgba(255, 236, 205, .58);
    font-size: .5rem;
    line-height: 1.32;
}

#premiereGate .premiere-screening-chapters {
    display: grid;
    gap: .5rem;
    text-align: center;
}

#premiereGate .premiere-screening-chapters ol {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: .38rem;
    padding: 0;
    list-style: none;
}

#premiereGate .premiere-screening-chapters li {
    position: relative;
    display: grid;
    min-height: 104px;
    align-content: space-between;
    padding: .52rem .3rem .48rem;
    overflow: hidden;
    border: 1px solid rgba(214, 151, 65, .36);
    border-radius: 6px;
    background:
        linear-gradient(180deg, rgba(5, 14, 25, .35), rgba(5, 13, 23, .92)),
        url("../img/catalog-wide/first-light.jpg") center / cover no-repeat;
}

#premiereGate .premiere-screening-chapters li:nth-child(2n) {
    background-image:
        linear-gradient(180deg, rgba(5, 14, 25, .3), rgba(5, 13, 23, .92)),
        url("../img/catalog-wide/palace-of-stars.jpg");
}

#premiereGate .premiere-screening-chapters li:nth-child(3n) {
    background-image:
        linear-gradient(180deg, rgba(5, 14, 25, .3), rgba(5, 13, 23, .92)),
        url("../img/catalog-wide/heart-coordinates.jpg");
}

#premiereGate .premiere-screening-chapters li span {
    color: #d68e3a;
    font-size: .55rem;
    font-weight: 900;
}

#premiereGate .premiere-screening-chapters li strong {
    display: block;
    min-height: 2.1rem;
    color: #fff0cf;
    font-size: .57rem;
    font-weight: 850;
    line-height: 1.22;
}

#premiereGate .premiere-screening-chapters li small,
#premiereGate .premiere-screening-chapters > p {
    color: rgba(255, 229, 190, .63);
    font-size: .48rem;
}

#premiereGate .premiere-screening-reviews {
    display: grid;
    gap: .5rem;
}

#premiereGate .premiere-screening-reviews > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .62rem;
}

#premiereGate .premiere-screening-reviews blockquote {
    min-height: 72px;
    padding: .62rem .78rem;
    border: 1px solid rgba(214, 151, 65, .3);
    border-radius: 6px;
    background: rgba(5, 17, 28, .84);
}

#premiereGate .premiere-screening-reviews span,
#premiereGate .premiere-screening-reviews b {
    display: inline-block;
    color: #f3d19a;
    font-size: .56rem;
    font-weight: 850;
}

#premiereGate .premiere-screening-reviews b {
    margin-left: .35rem;
    color: #eda84a;
}

#premiereGate .premiere-screening-reviews p {
    margin-top: .32rem;
    color: rgba(255, 236, 205, .72);
    font-size: .56rem;
    line-height: 1.42;
}

#premiereGate .premiere-screening-process {
    display: grid;
    gap: .42rem;
}

#premiereGate .premiere-screening-process ol {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .35rem;
    padding: .55rem .65rem;
    border: 1px solid rgba(214, 151, 65, .26);
    border-radius: 6px;
    background: rgba(4, 15, 27, .74);
    list-style: none;
}

#premiereGate .premiere-screening-process li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .42rem;
    align-items: center;
    color: rgba(255, 235, 202, .78);
}

#premiereGate .premiere-screening-process li + li {
    border-left: 1px solid rgba(214, 151, 65, .18);
    padding-left: .42rem;
}

#premiereGate .premiere-screening-process span {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid rgba(224, 166, 78, .55);
    border-radius: 999px;
    color: #d9953e;
    font-size: .62rem;
    font-weight: 900;
}

#premiereGate .premiere-screening-process strong {
    font-size: .53rem;
    font-weight: 800;
    line-height: 1.32;
}

#premiereGate .premiere-screening-compare {
    display: grid;
    gap: .42rem;
}

#premiereGate .premiere-screening-compare [role="table"] {
    overflow: hidden;
    border: 1px solid rgba(214, 151, 65, .28);
    border-radius: 6px;
}

#premiereGate .premiere-screening-compare [role="row"] {
    display: grid;
    grid-template-columns: .72fr 1fr 1.12fr;
}

#premiereGate .premiere-screening-compare [role="row"] > * {
    min-height: 24px;
    padding: .26rem .5rem;
    border-bottom: 1px solid rgba(214, 151, 65, .18);
    color: rgba(255, 238, 210, .76);
    font-size: .54rem;
    line-height: 1.25;
}

#premiereGate .premiere-screening-compare [role="row"] > * + * {
    border-left: 1px solid rgba(214, 151, 65, .18);
}

#premiereGate .premiere-screening-compare [role="columnheader"] {
    background: rgba(210, 135, 43, .72);
    color: #fff0d4;
    font-weight: 850;
    text-align: center;
}

#premiereGate .premiere-screening-faq {
    display: grid;
    gap: .42rem;
}

#premiereGate .premiere-screening-faq details {
    border: 1px solid rgba(214, 151, 65, .24);
    border-radius: 5px;
    background: rgba(4, 15, 27, .7);
}

#premiereGate .premiere-screening-faq summary {
    min-height: 28px;
    padding: .38rem .65rem;
    color: rgba(255, 234, 199, .82);
    font-size: .58rem;
    font-weight: 780;
}

#premiereGate .premiere-screening-faq p {
    padding: 0 .65rem .55rem;
    color: rgba(255, 234, 199, .62);
    font-size: .55rem;
    line-height: 1.45;
}

#premiereGate #premiereOffer.premiere-offer {
    display: grid;
    grid-template-columns: minmax(190px, .82fr) minmax(210px, .9fr) minmax(230px, 1fr);
    gap: 0;
    min-height: 128px;
    margin-top: 1.25rem;
    margin-bottom: .8rem;
    overflow: hidden;
    border: 1px solid rgba(248, 184, 86, .86);
    border-radius: 10px;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 197, 93, .25), transparent 16rem),
        linear-gradient(180deg, rgba(16, 25, 35, .96), rgba(4, 14, 24, .98));
    box-shadow:
        0 0 0 1px rgba(255, 235, 188, .12) inset,
        0 0 28px rgba(225, 143, 45, .48),
        0 18px 64px rgba(0, 0, 0, .5);
}

#premiereGate #premiereOffer .premiere-offer__copy,
#premiereGate #premiereOffer .premiere-offer__value-row,
#premiereGate #premiereOffer .premiere-offer__actions {
    display: grid;
    min-width: 0;
    align-content: center;
    padding: clamp(.8rem, 2vw, 1.1rem);
}

#premiereGate #premiereOffer .premiere-offer__copy,
#premiereGate #premiereOffer .premiere-offer__value-row {
    border-right: 1px solid rgba(224, 166, 78, .32);
}

#premiereGate #premiereOffer .premiere-offer__copy > span,
#premiereGate #premiereOffer .premiere-offer__price-label {
    color: #e6a64f;
    font-size: .62rem;
    font-weight: 900;
}

#premiereGate #premiereOffer .premiere-offer__countdown {
    display: grid;
    justify-items: start;
    margin-top: .52rem;
    gap: .22rem;
}

#premiereGate #premiereOfferCountdown {
    display: inline-flex;
    color: #efb75c;
    max-width: 100%;
    font-size: clamp(1.05rem, 2.2vw, 1.38rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    line-height: 1;
}

#premiereGate #premiereOffer .premiere-offer__countdown small,
#premiereGate #premiereOffer .premiere-offer__actions small,
#premiereGate #premiereOffer .premiere-offer__actions p {
    color: rgba(255, 231, 191, .68);
    font-size: .54rem;
    line-height: 1.36;
}

#premiereGate #premiereOffer .premiere-offer__price {
    display: grid;
    gap: .08rem;
    margin: .22rem 0 .32rem;
}

#premiereGate #premiereOffer .premiere-offer__price-original {
    color: rgba(255, 255, 255, .42);
    font-size: .76rem;
    text-decoration: line-through;
    text-align: right;
}

#premiereGate #premiereOffer .premiere-offer__price-current {
    display: grid;
    justify-items: center;
    width: 100%;
}

#premiereGate #premiereOffer .premiere-offer__price-current strong {
    color: #fff4d8;
    font-size: clamp(1.75rem, 5vw, 2.45rem);
    font-weight: 930;
    line-height: 1;
    white-space: nowrap;
}

#premiereGate #premiereOffer .premiere-offer__price-current b {
    display: inline-flex;
    min-height: 20px;
    margin-top: .32rem;
    padding: .18rem .62rem;
    align-items: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #f3c66f, #9d682e);
    color: #201202;
    font-size: .58rem;
    font-weight: 950;
}

#premiereGate #premiereOffer .premiere-offer__includes {
    display: none;
}

#premiereGate #premiereOffer .premiere-offer__actions {
    justify-items: center;
    gap: .42rem;
}

#premiereGate #premiereOffer .premiere-offer__actions button {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 7px;
    background: linear-gradient(180deg, #f6c268 0%, #d99432 56%, #a36220 100%);
    color: #2c1704;
    font-size: .9rem;
    font-weight: 900;
    box-shadow: 0 14px 38px rgba(226, 154, 59, .42);
}

#premiereGate #premiereReplayFreeButton {
    display: none;
}

#premiereGate .premiere-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .55rem;
    margin-bottom: 1.2rem;
    padding: .68rem .8rem;
    border: 1px solid rgba(214, 151, 65, .24);
    border-radius: 7px;
    background: rgba(5, 17, 28, .72);
}

#premiereGate .premiere-trust-strip span {
    color: #e2a653;
    font-size: .62rem;
    font-weight: 850;
    text-align: center;
}

#premiereGate .premiere-trust-strip small {
    display: block;
    margin-top: .16rem;
    color: rgba(255, 232, 198, .62);
    font-size: .5rem;
}

@media (max-width: 760px) {
    #premiereGate .premiere-gate__body {
        padding-inline: .78rem;
    }

    #premiereGate .premiere-screening-bridge,
    #premiereGate #premiereOffer.premiere-offer {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-screening-bridge > b {
        transform: rotate(90deg);
        text-align: center;
    }

    #premiereGate .premiere-screening-benefits > div {
        grid-template-columns: repeat(3, 1fr);
    }

    #premiereGate .premiere-screening-chapters ol {
        grid-template-columns: repeat(3, 1fr);
    }

    #premiereGate .premiere-screening-reviews > div,
    #premiereGate .premiere-screening-process ol,
    #premiereGate .premiere-trust-strip {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-screening-process li + li,
    #premiereGate #premiereOffer .premiere-offer__copy,
    #premiereGate #premiereOffer .premiere-offer__value-row {
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(224, 166, 78, .22);
    }

    #premiereGate .premiere-screening-compare [role="row"] {
        grid-template-columns: .78fr 1fr 1fr;
    }
}

@media (max-width: 430px) {
    #premiereGate .premiere-screening-benefits > div {
        grid-template-columns: repeat(2, 1fr);
    }

    #premiereGate .premiere-screening-stats {
        grid-template-columns: 1fr;
    }

    #premiereGate .premiere-screening-compare [role="row"] > * {
        padding: .28rem .32rem;
        font-size: .5rem;
    }
}

/* Profile-style required input panel for first-light preplay and entry gates. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    width: min(392px, calc(100vw - 2rem));
    max-height: min(88svh, 640px);
    overflow-x: hidden;
    overflow-y: auto;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    width: min(392px, calc(100vw - 2rem));
    max-height: min(88svh, 640px);
    overflow-x: hidden;
    overflow-y: auto;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(224, 179, 99, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 217, 142, .2), transparent 34%),
        linear-gradient(146deg, rgba(42, 25, 7, .97), rgba(10, 12, 18, .97) 48%, rgba(6, 7, 11, .96));
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(255, 230, 177, .06) inset,
        0 24px 70px rgba(210, 137, 32, .18);
    backdrop-filter: blur(14px) saturate(.94);
    -webkit-backdrop-filter: blur(14px) saturate(.94);
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(224, 179, 99, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 217, 142, .2), transparent 34%),
        linear-gradient(146deg, rgba(42, 25, 7, .97), rgba(10, 12, 18, .97) 48%, rgba(6, 7, 11, .96));
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(255, 230, 177, .06) inset,
        0 24px 70px rgba(210, 137, 32, .18);
    backdrop-filter: blur(14px) saturate(.94);
    -webkit-backdrop-filter: blur(14px) saturate(.94);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__specular,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__refraction,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__specular,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__refraction {
    opacity: .16;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__rim,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__rim {
    border-color: rgba(255, 230, 177, .08);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.3rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin: 0;
    padding: 0;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head > div,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head > div {
    order: 0;
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    margin: 0;
    color: rgba(255, 224, 157, .94);
    letter-spacing: .18em;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: 1.1rem 0 .36rem;
    color: #fff8ea;
    font-family: var(--sans);
    font-size: clamp(1.62rem, 2vw, 2.08rem);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.16;
    text-align: left;
    text-shadow: 0 0 24px rgba(239, 185, 85, .28);
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step {
    display: inline-flex;
    order: 1;
    align-items: center;
    min-height: 24px;
    margin: 0;
    padding: .18rem .54rem;
    border: 1px solid rgba(224, 179, 99, .28);
    border-radius: 999px;
    background: rgba(106, 65, 14, .38);
    color: rgba(255, 236, 191, .86);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .04em;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    display: block;
    max-width: 100%;
    margin: 0 0 1rem;
    color: rgba(255, 240, 208, .72);
    font-size: .86rem;
    line-height: 1.55;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid,
#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .field,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control,
#readingDrawer.reading-drawer.is-entry-onboarding .field,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-control {
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .field--full,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field,
#readingDrawer.reading-drawer.is-entry-onboarding .field--full,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-preplay-profile .field > label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading,
#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    margin-bottom: .32rem;
    color: rgba(255, 235, 195, .82);
    font-size: .74rem;
    font-weight: 760;
    letter-spacing: 0;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-heading small,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading small {
    color: rgba(255, 232, 188, .64);
}

#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: .55rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 48px;
    border-color: rgba(255, 218, 139, .26);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255, 230, 174, .12), rgba(255, 255, 255, .04));
    box-shadow: 0 0 0 1px rgba(255, 248, 219, .05) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 48px;
    color: rgba(255, 248, 231, .96);
    font-size: .9rem;
    font-weight: 740;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control:focus-within,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control:focus-within {
    border-color: rgba(255, 224, 153, .5);
    box-shadow: 0 0 0 1px rgba(255, 234, 178, .16) inset, 0 12px 28px rgba(180, 111, 22, .12);
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .conditional-field,
#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .conditional-field,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-copy,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-title,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-note {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .52rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 44px;
    border-color: rgba(255, 218, 139, .24);
    border-radius: 13px;
    background: rgba(255, 221, 143, .08);
    color: rgba(255, 242, 210, .88);
    font-weight: 760;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field input:checked + span {
    border-color: rgba(255, 229, 166, .72);
    background: linear-gradient(135deg, rgba(189, 127, 43, .78), rgba(245, 205, 132, .2));
    color: #fff7df;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
    margin-top: 1rem;
    padding-top: .95rem;
    border-top: 1px solid rgba(224, 179, 99, .16);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-skip,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    flex: 0 0 auto;
    width: auto;
    min-height: 38px;
    margin: 0;
    padding: .58rem .86rem;
    border: 1px solid rgba(255, 225, 159, .34);
    border-radius: 999px;
    background: linear-gradient(135deg, #916019, #d19a3f 46%, #f0cd78);
    box-shadow: 0 12px 30px rgba(164, 99, 18, .28), 0 1px 0 rgba(255, 255, 255, .32) inset;
    color: #171006;
    font-size: .82rem;
    font-weight: 820;
    letter-spacing: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button i {
    width: 28px;
    height: 28px;
    border-color: rgba(23, 16, 6, .22);
    color: #171006;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:focus-visible,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button:hover,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button:focus-visible {
    filter: brightness(1.07);
    transform: translateY(-1px);
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note,
#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__close,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    display: none;
}

@media (max-width: 520px) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(392px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
        padding: 1.05rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-grid,
    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row,
    #readingDrawer.reading-drawer.is-entry-onboarding .field-grid,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
        grid-template-columns: 1fr;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
        align-items: stretch;
        flex-direction: column;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
        width: 100%;
    }
}

/* Swiper rails, final home hero guards, content cards, and service-detail polish. */

/* Swiper.js content rails */
.lumina-swiper {
    display: block;
    overflow: hidden;
    touch-action: pan-y;
    overscroll-behavior-inline: contain;
}

.lumina-swiper .swiper-wrapper {
    align-items: stretch;
}

.lumina-swiper .swiper-slide {
    height: auto;
}

.lumina-swiper .swiper-slide, .lumina-swiper .swiper-slide * {
    touch-action: pan-y;
}

.lumina-swiper :where(img, video) {
    pointer-events: none;
    -webkit-user-drag: none;
}

.lumina-swiper-fallback {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.lumina-swiper-fallback::-webkit-scrollbar {
    display: none;
}

.home-programs .streaming-row__viewport,
.streaming-home .home-programs .streaming-row__viewport {
    padding-inline: 0;
    padding-left: 0;
    padding-right: 0;
}

.home-programs .streaming-row__track.lumina-swiper,
.streaming-home .home-programs .streaming-row__track.lumina-swiper {
    padding-left: calc(var(--page-gutter) + var(--home-row-left-align-nudge, 0px));
    padding-right: var(--page-gutter);
    box-sizing: border-box;
}

.streaming-row__track.lumina-swiper {
    scroll-snap-type: none;
}

.streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide {
    width: var(--home-content-card-width);
}

.empathy-stage__grid.lumina-swiper {
    display: block;
    overflow: hidden;
}

.empathy-stage__grid.lumina-swiper button.swiper-slide {
    width: min(82vw, 340px);
    min-height: 190px;
}

.fortune-report__timeline ol.lumina-swiper {
    display: block;
    min-width: 0;
    overflow: hidden;
}

.fortune-report__timeline ol.lumina-swiper li.swiper-slide {
    width: min(82vw, 260px);
}

.report-profile-name,
.caption-profile-name {
    color: #f8dfaa;
    font-weight: 650;
    text-shadow: 0 0 18px rgba(214,173,112,.24), 0 2px 10px rgba(0,0,0,.72);
}

.caption-profile-name {
    color: #ffe4ac;
}

.fortune-report__saju {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.25rem;
    margin-top: 1.75rem;
    padding: 1.5rem 0 1.75rem;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.fortune-report__saju > header {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: end;
}

.fortune-report__saju h4,
.fortune-report__chart h5,
.fortune-report__nine-grid h5 {
    margin: 0;
    font-family: var(--serif-ko);
    font-weight: 400;
    letter-spacing: 0;
}

.fortune-report__saju h4 {
    margin-top: .45rem;
    font-size: 1.55rem;
}

.fortune-report__saju > header > p {
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: .9rem;
    line-height: 1.78;
    word-break: keep-all;
}

.fortune-report__saju-dashboard {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: .9rem;
}

.fortune-report__chart {
    display: grid;
    gap: .9rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(214,173,112,.16);
    border-radius: 8px;
    background: rgba(255,255,255,.035);
}

.fortune-report__chart h5 {
    color: rgba(255,255,255,.9);
    font-size: 1rem;
}

.fortune-report__table,
.fortune-report__bars {
    display: grid;
    gap: .55rem;
    min-width: 0;
    overflow: visible;
}

.fortune-report__table-row {
    display: grid;
    grid-template-columns: 3.2rem minmax(4.5rem, .45fr) minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    min-width: 0;
    padding: .65rem .75rem;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 6px;
    background: rgba(4,6,10,.4);
}

.fortune-report__table-row span,
.fortune-report__bar-row span {
    color: var(--gold);
    font-size: .7rem;
    font-weight: 700;
}

.fortune-report__table-row strong {
    color: rgba(255,255,255,.92);
    font-family: var(--serif-ko);
    font-size: 1.08rem;
    font-weight: 500;
}

.fortune-report__table-row small {
    color: rgba(255,255,255,.55);
    font-size: .72rem;
    line-height: 1.45;
}

.fortune-report__bar-row {
    display: grid;
    grid-template-columns: 3.8rem minmax(0, 1fr) 2.6rem;
    gap: .7rem;
    align-items: center;
    min-width: 0;
}

.fortune-report__bar-row i {
    display: block;
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

.fortune-report__bar-row b {
    display: block;
    width: var(--bar-value);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(214,173,112,.78), rgba(248,223,170,.95));
}

.fortune-report__bar-row strong {
    color: rgba(255,255,255,.68);
    font-family: var(--serif);
    font-size: .78rem;
    font-weight: 500;
    text-align: right;
}

.fortune-report__nine-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fortune-report__nine-grid li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .8rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 8px;
    background: rgba(4,6,10,.36);
}

.fortune-report__nine-grid li > span {
    color: rgba(214,173,112,.78);
    font-family: var(--serif);
    font-size: .8rem;
}

.fortune-report__nine-grid small {
    display: block;
    color: rgba(214,173,112,.72);
    font-size: .68rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.fortune-report__nine-grid h5 {
    margin-top: .35rem;
    color: rgba(255,255,255,.92);
    font-size: 1.02rem;
    line-height: 1.42;
}

.fortune-report__nine-grid p {
    margin: .55rem 0 0;
    color: rgba(255,255,255,.66);
    font-size: .84rem;
    line-height: 1.72;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.fortune-report__timeline,
.saju-detail-report,
.saju-detail-report__chapters,
.saju-table-wrap {
    overflow: visible;
    max-height: none;
}

.fortune-report__timeline ol.lumina-swiper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-width: 0;
    overflow: visible;
}

.fortune-report__timeline ol.lumina-swiper li.swiper-slide {
    width: auto;
}

.saju-detail-nav {
    overflow: visible;
    flex-wrap: wrap;
}

.saju-table-wrap {
    max-width: 100%;
}

.saju-table {
    width: 100%;
    table-layout: fixed;
}

.saju-table th,
.saju-table td {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .fortune-report__saju > header,
    .fortune-report__saju-dashboard,
    .fortune-report__nine-grid {
        grid-template-columns: 1fr;
    }

    .fortune-report__timeline ol.lumina-swiper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .fortune-report__table-row {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .fortune-report__timeline ol.lumina-swiper {
        grid-template-columns: 1fr;
    }
}

/* Final home hero layout guard. */
.streaming-home #profileSummaryButton {
    order: 10;
    border-color: rgba(245,224,190,.42);
    background: rgba(255,255,255,.13);
    color: #f7ead2;
}

.streaming-home #profileSummaryButton svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.streaming-home .profile-summary-panel {
    right: var(--page-gutter);
}

/* Service detail post-legacy guard: only override later shared detail rules. */
.service-modal-hero .service-intake__rating {
    display: none;
}

.service-detail-credits .service-narrator {
    display: block;
    margin: .2rem 0 1rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.service-detail-credits .service-narrator > span,
.service-detail-credits .service-narrator strong,
.service-detail-credits .service-narrator p,
.service-detail-credits .service-narrator small {
    display: block;
    min-width: 0;
    word-break: keep-all;
}

.service-detail-credits .service-assurance {
    display: grid;
    grid-template-columns: 1fr;
}

.service-result-preview {
    display: none;
}

/* Final content poster polish guard. */
.home-programs .streaming-card,
.streaming-home .home-programs .streaming-card {
    isolation: isolate;
    border-radius: 8px;
    border-color: rgba(var(--program-accent-rgb), .24);
    background: linear-gradient(180deg, rgba(17, 21, 29, .96), rgba(5, 7, 11, .98));
    box-shadow: 0 16px 34px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255, 255, 255, .025) inset;
}

.home-programs .streaming-card::before,
.streaming-home .home-programs .streaming-card::before {
    content: "";
    position: absolute;
    z-index: 4;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -1px 0 rgba(var(--program-accent-rgb), .1);
    opacity: .78;
    pointer-events: none;
    transition: border-color .28s ease, box-shadow .28s ease, opacity .28s ease;
}

.home-programs .streaming-card::after,
.streaming-home .home-programs .streaming-card::after {
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .04) 0%, rgba(0, 0, 0, .04) 32%, rgba(2, 3, 5, .52) 68%, rgba(2, 3, 5, .98) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, .46) 0%, rgba(0, 0, 0, .08) 45%, rgba(var(--program-accent-rgb), .11) 100%);
}

.home-programs .streaming-card img,
.streaming-home .home-programs .streaming-card img {
    filter: brightness(.7) saturate(.96) contrast(1.08);
}

.home-programs .streaming-card:hover,
.home-programs .streaming-card:focus-visible,
.home-programs .streaming-card[aria-selected="true"],
.streaming-home .home-programs .streaming-card:hover,
.streaming-home .home-programs .streaming-card:focus-visible,
.streaming-home .home-programs .streaming-card[aria-selected="true"] {
    transform: none;
    border-color: rgba(var(--program-accent-rgb), .58);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .5), 0 0 0 1px rgba(var(--program-accent-rgb), .18) inset;
}

.home-programs .streaming-card:hover::before,
.home-programs .streaming-card:focus-visible::before,
.home-programs .streaming-card[aria-selected="true"]::before,
.streaming-home .home-programs .streaming-card:hover::before,
.streaming-home .home-programs .streaming-card:focus-visible::before,
.streaming-home .home-programs .streaming-card[aria-selected="true"]::before {
    border-color: rgba(var(--program-accent-rgb), .44);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(var(--program-accent-rgb), .22), 0 0 24px rgba(var(--program-accent-rgb), .13);
    opacity: 1;
}

.home-programs .streaming-card:hover img,
.home-programs .streaming-card:focus-visible img,
.home-programs .streaming-card[aria-selected="true"] img,
.streaming-home .home-programs .streaming-card:hover img,
.streaming-home .home-programs .streaming-card:focus-visible img,
.streaming-home .home-programs .streaming-card[aria-selected="true"] img {
    transform: scale(1.025);
    filter: brightness(.82) saturate(1.05) contrast(1.08);
}

.home-programs .streaming-card__rank,
.streaming-home .home-programs .streaming-card__rank {
    top: .62rem;
    left: .62rem;
    min-width: 1.78rem;
    width: 1.78rem;
    height: 1.78rem;
    padding: 0;
    border-color: rgba(var(--program-accent-rgb), .46);
    background: rgba(6, 8, 13, .72);
    color: #fff1d6;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .36), 0 0 0 1px rgba(255, 255, 255, .05) inset;
    backdrop-filter: blur(12px);
}

.home-programs .streaming-card__format,
.streaming-home .home-programs .streaming-card__format {
    top: .64rem;
    right: .64rem;
    left: auto;
    max-width: calc(100% - 1.28rem);
    padding: .3rem .52rem .28rem;
    border-color: rgba(var(--program-accent-rgb), .36);
    background: rgba(6, 8, 13, .64);
    color: rgba(255, 242, 218, .9);
    font-family: var(--sans);
    font-size: .5rem;
    font-weight: 760;
    letter-spacing: .04em;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .28);
}

.home-programs .streaming-card.has-rank .streaming-card__format,
.streaming-home .home-programs .streaming-card.has-rank .streaming-card__format {
    right: .64rem;
    left: auto;
    max-width: calc(100% - 4.2rem);
}

.home-programs .streaming-card__copy,
.streaming-home .home-programs .streaming-card__copy {
    left: .88rem;
    right: .88rem;
    bottom: .76rem;
    gap: .2rem;
}

.home-programs .streaming-card__copy small,
.streaming-home .home-programs .streaming-card__copy small {
    overflow: hidden;
    color: rgba(var(--program-accent-rgb), .95);
    font-family: var(--sans);
    font-size: .5rem;
    font-weight: 780;
    letter-spacing: .06em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-programs .streaming-card__copy strong,
.streaming-home .home-programs .streaming-card__copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: rgba(255, 255, 255, .96);
    font-size: .94rem;
    font-weight: 780;
    line-height: 1.26;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .74);
    white-space: normal;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-programs .streaming-card.has-poster-title .streaming-card__copy strong,
.streaming-home .home-programs .streaming-card.has-poster-title .streaming-card__copy strong {
    display: none;
}

.home-programs .streaming-card__copy > span:not(.content-badges),
.streaming-home .home-programs .streaming-card__copy > span:not(.content-badges) {
    display: -webkit-box;
    overflow: hidden;
    color: rgba(255, 255, 255, .62);
    font-size: .59rem;
    line-height: 1.35;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.home-programs .streaming-card__copy .content-badges,
.streaming-home .home-programs .streaming-card__copy .content-badges {
    gap: .26rem;
    max-height: 1.25rem;
    margin-top: .36rem;
    overflow: hidden;
}

.home-programs .streaming-card__copy .content-badges > span,
.streaming-home .home-programs .streaming-card__copy .content-badges > span {
    min-height: 1.12rem;
    padding: .16rem .38rem;
    border-color: rgba(var(--program-accent-rgb), .28);
    background: rgba(7, 10, 15, .58);
    color: rgba(255, 233, 198, .86);
    font-size: .5rem;
    letter-spacing: 0;
    backdrop-filter: blur(8px);
}

.library-grid .poster-card,
.ending-poster-grid .poster-card {
    isolation: isolate;
    border-radius: 8px;
    border-color: rgba(var(--program-accent-rgb), .22);
    background: linear-gradient(180deg, rgba(15, 19, 27, .98), rgba(6, 8, 12, .99));
    box-shadow: 0 18px 38px rgba(0, 0, 0, .32), 0 0 0 1px rgba(255, 255, 255, .025) inset;
}

.library-grid .poster-card:hover,
.library-grid .poster-card:focus-visible,
.ending-poster-grid .poster-card:hover,
.ending-poster-grid .poster-card:focus-visible {
    transform: translateY(-5px) scale(1.012);
    border-color: rgba(var(--program-accent-rgb), .52);
    box-shadow: 0 28px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(var(--program-accent-rgb), .14) inset;
}

.poster-card__image {
    background: #070a10;
}

.poster-card__image::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 8px 8px 0 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
    pointer-events: none;
}

.poster-card__image::after {
    content: "";
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .035) 0%, rgba(255, 255, 255, 0) 42%, rgba(3, 5, 8, .46) 100%),
        linear-gradient(110deg, rgba(var(--program-accent-rgb), .12), rgba(var(--program-accent-rgb), 0) 46%);
}

.poster-card__image img {
    filter: brightness(.78) saturate(.95) contrast(1.08);
}

.poster-card:hover .poster-card__image img,
.poster-card:focus-visible .poster-card__image img {
    transform: scale(1.03);
    filter: brightness(.88) saturate(1.04) contrast(1.08);
}

.poster-card__badge {
    border-color: rgba(var(--program-accent-rgb), .38);
    background: rgba(5, 7, 11, .62);
    color: rgba(255, 239, 209, .9);
    font-family: var(--sans);
    font-size: .5rem;
    font-weight: 780;
    letter-spacing: .05em;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .28);
}

.poster-card__copy {
    min-height: 176px;
    padding: .92rem .95rem 1.02rem;
    border-top-color: rgba(var(--program-accent-rgb), .16);
    background:
        linear-gradient(180deg, rgba(13, 17, 24, .98), rgba(6, 8, 12, .99)),
        linear-gradient(90deg, rgba(var(--program-accent-rgb), .06), rgba(var(--program-accent-rgb), 0));
}

.poster-card__copy small {
    color: rgba(var(--program-accent-rgb), .95);
    font-family: var(--sans);
    font-size: .55rem;
    font-weight: 780;
    letter-spacing: .06em;
}

.poster-card__copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: rgba(255, 255, 255, .95);
    font-size: 1rem;
    font-weight: 620;
    line-height: 1.38;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.poster-card__copy em {
    color: rgba(255, 255, 255, .48);
    font-family: var(--sans);
    font-size: .56rem;
    letter-spacing: 0;
}

.poster-card__copy > span:not(.content-badges) {
    color: rgba(255, 255, 255, .62);
    font-size: .64rem;
    line-height: 1.55;
    -webkit-line-clamp: 2;
}

.poster-card__copy .content-badges {
    gap: .28rem;
    max-height: 2.62rem;
    margin-top: .58rem;
    overflow: hidden;
}

.poster-card__copy .content-badges > span {
    min-height: 1.14rem;
    padding: .16rem .4rem;
    border-color: rgba(var(--program-accent-rgb), .28);
    background: rgba(214, 173, 112, .08);
    color: rgba(255, 233, 198, .86);
    font-size: .52rem;
    letter-spacing: 0;
}

@media (max-width: 720px) {
    .home-programs .streaming-card__copy,
    .streaming-home .home-programs .streaming-card__copy {
        left: .78rem;
        right: .78rem;
        bottom: .68rem;
    }

    .home-programs .streaming-card__copy strong,
    .streaming-home .home-programs .streaming-card__copy strong {
        font-size: .88rem;
    }

    .poster-card__copy {
        min-height: 154px;
    }
}

/* v70 compact reference intake form: match the approved centered first-light capture. */
#readingDrawer.reading-drawer.is-preplay-profile {
    display: grid;
    place-items: center;
    padding: clamp(.75rem, 2.6vw, 2.8rem);
    isolation: isolate;
}

#readingDrawer.reading-drawer.is-preplay-profile::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: -18%;
    background:
        radial-gradient(circle at 24% 54%, rgba(226, 178, 94, .32) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 28%, rgba(246, 215, 151, .26) 0 1px, transparent 2px),
        radial-gradient(circle at 42% 70%, rgba(230, 174, 80, .22) 0 1px, transparent 2px),
        repeating-radial-gradient(circle at 50% 52%, rgba(214, 173, 112, .2) 0 1px, transparent 1px 118px);
    opacity: .42;
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 50% 48%, rgba(30, 48, 72, .44) 0 18%, rgba(6, 12, 22, .92) 50%, rgba(1, 3, 7, .99) 100%),
        linear-gradient(115deg, rgba(8, 20, 35, .94), rgba(1, 4, 10, .99) 64%, rgba(11, 8, 4, .94));
    backdrop-filter: blur(7px) saturate(1.08) brightness(.74);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    z-index: 1;
    width: min(620px, calc(100vw - 2rem));
    max-width: none;
    height: auto;
    max-height: min(84svh, 620px);
    padding: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    transform: translateY(18px) scale(.985);
}

#readingDrawer.reading-drawer.is-preplay-profile.is-open .reading-drawer__panel {
    transform: translateY(0) scale(1);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -1px;
    border-radius: 25px;
    background: linear-gradient(180deg, rgba(255, 234, 186, .58), rgba(214, 173, 112, .18) 35%, rgba(255, 255, 255, .1) 100%);
    filter: blur(.2px);
    opacity: .9;
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    width: 100%;
    max-height: min(84svh, 620px);
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(224, 180, 104, .42);
    border-radius: 24px;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 42px),
        radial-gradient(circle at 30% 2%, rgba(102, 142, 187, .18), transparent 30%),
        linear-gradient(180deg, rgba(14, 30, 49, .96), rgba(2, 7, 14, .98) 62%, rgba(4, 8, 14, .99));
    box-shadow:
        0 34px 90px rgba(0, 0, 0, .58),
        0 0 0 1px rgba(255, 255, 255, .08) inset,
        0 0 42px rgba(214, 173, 112, .22);
    color: #f8f2e7;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 24% 9%, rgba(255, 222, 154, .18), transparent 26%),
        radial-gradient(circle at 92% 28%, rgba(61, 101, 149, .18), transparent 32%),
        linear-gradient(108deg, transparent 0 22%, rgba(255, 255, 255, .035) 22.2% 22.6%, transparent 22.8% 100%);
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell > * {
    position: relative;
    z-index: 1;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__backdrop {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .08), transparent 38%),
        linear-gradient(180deg, rgba(12, 22, 36, .58), rgba(2, 6, 12, .86));
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__rim {
    border-color: rgba(255, 235, 190, .16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -1px 0 rgba(214, 173, 112, .12);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__specular,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__refraction {
    opacity: .55;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__close {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    display: block;
    max-height: min(84svh, 620px);
    padding: 1.9rem 2.35rem 1.25rem;
    overflow-y: hidden;
    scrollbar-gutter: auto;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__screen.is-active {
    display: block;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head > div {
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step {
    display: block;
    order: 2;
    flex: 0 0 auto;
    margin-top: .28rem;
    color: #f1c978;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 820;
    letter-spacing: .23em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow {
    margin: 0 0 .55rem;
    color: #e8bf73;
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 820;
    letter-spacing: .32em;
    line-height: 1.2;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    max-width: 100%;
    margin: 0;
    color: #ffe8b6;
    font-family: "Nanum Myeongjo", "Noto Serif KR", Batang, serif;
    font-size: 2.45rem;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.04;
    text-shadow: 0 0 24px rgba(236, 188, 98, .2), 0 2px 0 rgba(0, 0, 0, .35);
    word-break: keep-all;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
    display: block;
    max-width: 100%;
    margin: .85rem 0 1.45rem;
    color: rgba(239, 244, 249, .72);
    font-size: .88rem;
    font-weight: 540;
    letter-spacing: 0;
    line-height: 1.65;
    word-break: keep-all;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-copy {
    display: block;
    margin: 0 0 .85rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title {
    margin: 0;
    color: #fff9ec;
    font-family: var(--sans);
    font-size: 1.35rem;
    font-weight: 850;
    letter-spacing: -.01em;
    line-height: 1.22;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-note {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem .7rem;
    margin: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .field,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control {
    gap: .42rem;
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .field--full,
#readingDrawer.reading-drawer.is-preplay-profile .reading-name-field,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-field,
#readingDrawer.reading-drawer.is-preplay-profile .conditional-field {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-preplay-profile .field > label,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading {
    color: rgba(245, 238, 226, .78);
    font-family: var(--sans);
    font-size: .74rem;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1.25;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .8rem;
    width: 100%;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-heading small {
    color: rgba(245, 238, 226, .52);
    font-size: .72rem;
    font-weight: 520;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .38fr);
    gap: .7rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control {
    position: relative;
    min-height: 52px;
    padding: 0;
    border: 1px solid rgba(169, 184, 204, .24);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(35, 49, 68, .6), rgba(9, 16, 28, .64)),
        linear-gradient(110deg, rgba(255, 255, 255, .05), transparent 54%);
    box-shadow: 0 13px 30px rgba(0, 0, 0, .24), 0 0 0 1px rgba(255, 255, 255, .045) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control:focus-within {
    border-color: rgba(241, 202, 126, .76);
    box-shadow: 0 0 0 3px rgba(214, 173, 112, .16), 0 16px 34px rgba(0, 0, 0, .32);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--with-icon {
    padding-left: 2.7rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-field-icon {
    position: absolute;
    top: 50%;
    left: 1.1rem;
    width: 21px;
    height: 21px;
    color: rgba(247, 239, 222, .72);
    transform: translateY(-50%);
    pointer-events: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-field-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    width: 100%;
    height: 52px;
    padding: 0 1.15rem 0 0;
    color: #f7f0e4;
    font-size: 1rem;
    font-weight: 780;
    letter-spacing: .02em;
    line-height: 52px;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input::placeholder {
    color: rgba(249, 241, 226, .6);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--select::before {
    right: 1.05rem;
    color: #f1c978;
    font-size: 1.2rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--select select {
    appearance: none;
    padding-right: 2.7rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field legend,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field legend {
    grid-column: 1 / -1;
    margin: 0 0 -.08rem;
    padding: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .segmented-field label {
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 48px;
    padding: 0 .8rem;
    border: 1px solid rgba(169, 184, 204, .22);
    border-radius: 14px;
    background: rgba(12, 18, 29, .66);
    color: rgba(249, 241, 226, .68);
    font-size: .9rem;
    font-weight: 820;
    letter-spacing: 0;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22), 0 0 0 1px rgba(255, 255, 255, .035) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span::before,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span::before {
    color: currentColor;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input[value="solar"] + span::before {
    content: "☼";
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input[value="lunar"] + span::before {
    content: "☾";
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field input[value="male"] + span::before {
    content: "♂";
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field input[value="female"] + span::before {
    content: "♀";
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input:checked + span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span {
    border-color: rgba(241, 202, 126, .82);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 229, 171, .22), transparent 55%),
        linear-gradient(180deg, rgba(90, 62, 28, .62), rgba(21, 24, 30, .82));
    color: #fff3d9;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .32), 0 0 22px rgba(214, 173, 112, .18);
}

#readingDrawer.reading-drawer.is-preplay-profile .conditional-field[hidden],
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-step[hidden] {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
    margin: 1.05rem 0 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-skip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    padding: 0 5rem;
    border: 1px solid rgba(255, 229, 170, .72);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 238, 190, .5), transparent 54%),
        linear-gradient(180deg, #d9af67 0%, #bf8640 100%);
    color: #211303;
    font-family: var(--sans);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0;
    box-shadow: 0 16px 36px rgba(214, 173, 112, .3), 0 0 0 1px rgba(255, 255, 255, .18) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button span {
    flex: 1 1 auto;
    text-align: center;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
    position: absolute;
    right: 1.2rem;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 2px solid rgba(255, 241, 206, .78);
    border-radius: 999px;
    background: rgba(84, 49, 11, .16);
    color: #fff2cf;
    font-size: 1.55rem;
    font-style: normal;
    font-weight: 460;
    line-height: 1;
    transform: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    margin: .8rem 0 0;
    color: rgba(238, 231, 218, .56);
    font-size: .75rem;
    font-weight: 560;
    line-height: 1.45;
    text-align: center;
    word-break: keep-all;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note::before {
    content: "";
    width: .72rem;
    height: .56rem;
    border: 1.5px solid rgba(238, 231, 218, .52);
    border-radius: .12rem;
    box-shadow: 0 -.28rem 0 -.12rem rgba(0, 0, 0, 0), 0 -.28rem 0 -.02rem rgba(238, 231, 218, .3);
    flex: 0 0 auto;
}

@media (max-height: 780px) and (min-width: 761px) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
        width: min(620px, calc(100vw - 2rem));
        max-height: min(80svh, 620px);
    }

    #readingDrawer.reading-drawer.is-preplay-profile .glass-shell,
    #readingDrawer.reading-drawer.is-preplay-profile .reading-form {
        max-height: min(80svh, 620px);
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form {
        padding: 1.9rem 2.35rem 1.25rem;
        overflow-y: hidden;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
        font-size: 2.45rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
        margin-bottom: 1.45rem;
        font-size: .88rem;
        line-height: 1.65;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title {
        font-size: 1.35rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-grid {
        gap: .75rem .7rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .glass-control,
    #readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
    #readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
        min-height: 52px;
        height: 52px;
        line-height: 52px;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
    #readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
        min-height: 48px;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
        margin-top: 1.05rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
        min-height: 58px;
        font-size: 1rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
        width: 36px;
        height: 36px;
        font-size: 1.55rem;
    }
}

@media (max-width: 760px) {
    #readingDrawer.reading-drawer.is-preplay-profile {
        place-items: end stretch;
        padding: .55rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
        width: 100%;
        max-height: 92svh;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
        max-height: 92svh;
        border-radius: 24px 24px 0 0;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form {
        max-height: 92svh;
        padding: 1.35rem 1rem 1rem;
        overflow-y: auto;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
        gap: .7rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__step {
        font-size: .6rem;
        letter-spacing: .16em;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow {
        font-size: .62rem;
        letter-spacing: .23em;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
        font-size: clamp(2.15rem, 10vw, 2.85rem);
        line-height: 1.08;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
        margin: .75rem 0 1.25rem;
        font-size: .85rem;
        line-height: 1.58;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title {
        font-size: 1.2rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-grid,
    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
    #readingDrawer.reading-drawer.is-preplay-profile .gender-field {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-heading {
        display: block;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-heading small {
        display: block;
        margin-top: .22rem;
        white-space: normal;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .glass-control,
    #readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
    #readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
        min-height: 52px;
        height: 52px;
        font-size: .98rem;
        line-height: 52px;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
    #readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
        min-height: 48px;
        font-size: .86rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
        margin-top: 1rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
        min-height: 60px;
        padding: 0 4rem;
        font-size: 1rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
        right: .8rem;
        width: 38px;
        height: 38px;
        font-size: 1.58rem;
    }
}

#readingDrawer.reading-drawer:not(.is-preplay-profile) .reading-field-icon {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    justify-items: stretch;
    width: 100%;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions > button,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only #readingQuestionContinue {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
}

body.is-reading-question-only,
body.is-reading-drawer-open.is-reading-question-only,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only {
    overflow-x: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-drawer__panel {
    box-sizing: border-box;
    max-width: calc(100vw - 2rem);
    overflow-x: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .glass-shell,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-step,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-field,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-examples,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-form {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

/* v70 cinematic poster composition: image-first cards with poster-style titles and top-right badges. */
.home-programs,
.streaming-home .home-programs {
    --home-content-card-width: clamp(300px, 24vw, 340px);
}

.home-programs .streaming-row__track,
.streaming-home .home-programs .streaming-row__track {
    grid-auto-columns: var(--home-content-card-width);
    gap: clamp(.9rem, 1.35vw, 1.6rem);
}

.streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide {
    width: var(--home-content-card-width);
}

.home-programs .streaming-card,
.streaming-home .home-programs .streaming-card,
.library-grid .poster-card,
.ending-poster-grid .poster-card {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(var(--program-accent-rgb), .48);
    border-radius: 6px;
    background: #05070b;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .5);
}

.library-grid .poster-card,
.ending-poster-grid .poster-card {
    width: 100%;
    max-width: none;
}

.library-grid,
.ending-poster-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: clamp(.75rem, 1vw, 1.15rem);
    align-items: start;
}

.poster-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border-radius: 0;
}

.home-programs .streaming-card img,
.streaming-home .home-programs .streaming-card img,
.poster-card__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    filter: brightness(.86) saturate(1.06) contrast(1.07);
}

.home-programs .streaming-card::after,
.streaming-home .home-programs .streaming-card::after,
.library-grid .poster-card::after,
.ending-poster-grid .poster-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .02) 0%, rgba(0, 0, 0, .05) 35%, rgba(0, 0, 0, .58) 72%, rgba(0, 0, 0, .95) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, .1) 54%, rgba(0, 0, 0, .34) 100%),
        radial-gradient(circle at 18% 78%, rgba(var(--program-accent-rgb), .22), transparent 34%);
    pointer-events: none;
}

.home-programs .streaming-card::before,
.streaming-home .home-programs .streaming-card::before,
.library-grid .poster-card::before,
.ending-poster-grid .poster-card::before {
    content: "";
    position: absolute;
    z-index: 7;
    inset: 0;
    display: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    pointer-events: none;
}

.home-programs .streaming-card:hover,
.home-programs .streaming-card:focus-visible,
.home-programs .streaming-card[aria-selected="true"],
.streaming-home .home-programs .streaming-card:hover,
.streaming-home .home-programs .streaming-card:focus-visible,
.streaming-home .home-programs .streaming-card[aria-selected="true"],
.library-grid .poster-card:hover,
.library-grid .poster-card:focus-visible,
.ending-poster-grid .poster-card:hover,
.ending-poster-grid .poster-card:focus-visible {
    transform: none;
    border-color: rgba(var(--program-accent-rgb), .74);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .58);
}

.home-programs .streaming-card:hover img,
.home-programs .streaming-card:focus-visible img,
.home-programs .streaming-card[aria-selected="true"] img,
.streaming-home .home-programs .streaming-card:hover img,
.streaming-home .home-programs .streaming-card:focus-visible img,
.streaming-home .home-programs .streaming-card[aria-selected="true"] img,
.poster-card:hover .poster-card__image img,
.poster-card:focus-visible .poster-card__image img {
    transform: scale(1.018);
    filter: brightness(.96) saturate(1.12) contrast(1.08);
}

.home-programs .streaming-card__format,
.streaming-home .home-programs .streaming-card__format {
    display: none;
}

.home-programs .streaming-card__rank,
.streaming-home .home-programs .streaming-card__rank {
    display: none;
}

.poster-card__badge {
    z-index: 8;
    top: clamp(.7rem, 1.2vw, 1.05rem);
    left: clamp(.7rem, 1.2vw, 1.05rem);
    border-color: rgba(var(--program-accent-rgb), .52);
    background: rgba(4, 6, 10, .62);
    color: #fff3dc;
    font-family: var(--sans);
    font-size: clamp(.52rem, .62vw, .68rem);
    font-weight: 820;
    letter-spacing: .02em;
}

.home-programs .streaming-card > .content-badges--streaming,
.streaming-home .home-programs .streaming-card > .content-badges--streaming,
.library-grid .poster-card > .content-badges--card,
.ending-poster-grid .poster-card > .content-badges--card {
    position: absolute;
    z-index: 8;
    top: clamp(.7rem, 1.2vw, 1.1rem);
    right: clamp(.7rem, 1.2vw, 1.1rem);
    left: auto;
    display: flex;
    justify-content: flex-end;
    gap: clamp(.28rem, .45vw, .52rem);
    width: auto;
    max-width: min(78%, 30rem);
    max-height: none;
    margin: 0;
    overflow: visible;
    pointer-events: none;
}

.home-programs .streaming-card > .content-badges--streaming > span,
.streaming-home .home-programs .streaming-card > .content-badges--streaming > span,
.library-grid .poster-card > .content-badges--card > span,
.ending-poster-grid .poster-card > .content-badges--card > span {
    min-height: clamp(1.42rem, 1.75vw, 1.82rem);
    padding: 0 clamp(.58rem, .78vw, .86rem);
    border: 1px solid rgba(var(--program-accent-rgb), .55);
    border-radius: 999px;
    background: rgba(4, 6, 10, .62);
    color: rgba(255, 242, 218, .95);
    font-size: clamp(.58rem, .68vw, .78rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
    backdrop-filter: blur(12px) saturate(1.16);
    -webkit-backdrop-filter: blur(12px) saturate(1.16);
}

.home-programs .streaming-card__copy,
.streaming-home .home-programs .streaming-card__copy,
.library-grid .poster-card__copy,
.ending-poster-grid .poster-card__copy {
    position: absolute;
    z-index: 8;
    left: clamp(.9rem, 1.9vw, 1.35rem);
    right: clamp(.85rem, 1.8vw, 1.25rem);
    bottom: clamp(.78rem, 1.45vw, 1.1rem);
    display: grid;
    gap: clamp(.22rem, .5vw, .44rem);
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.home-programs .streaming-card__copy strong,
.streaming-home .home-programs .streaming-card__copy strong,
.library-grid .poster-card__copy strong,
.ending-poster-grid .poster-card__copy strong {
    order: 1;
    display: -webkit-box;
    overflow: hidden;
    color: #fff7e7;
    font-family: "Nanum Myeongjo", "Noto Serif KR", "Batang", serif;
    font-size: clamp(.95rem, 1.75vw, 1.82rem);
    font-weight: 820;
    line-height: .98;
    letter-spacing: 0;
    text-shadow: 0 9px 26px rgba(0, 0, 0, .78), 0 0 18px rgba(var(--program-accent-rgb), .22);
    word-break: keep-all;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-programs .streaming-card__copy > span:not(.content-badges),
.streaming-home .home-programs .streaming-card__copy > span:not(.content-badges),
.library-grid .poster-card__copy em,
.ending-poster-grid .poster-card__copy em {
    order: 2;
    display: block;
    overflow: hidden;
    color: rgba(255, 239, 207, .86);
    font-family: "Cinzel", "Cormorant Garamond", var(--serif-en);
    font-size: clamp(.58rem, .72vw, .82rem);
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-programs .streaming-card__copy small,
.streaming-home .home-programs .streaming-card__copy small,
.library-grid .poster-card__copy small,
.ending-poster-grid .poster-card__copy small {
    order: 3;
    display: block;
    max-width: 76%;
    overflow: hidden;
    color: rgba(255, 244, 222, .78);
    font-family: var(--sans);
    font-size: clamp(.72rem, .88vw, .96rem);
    font-weight: 760;
    line-height: 1.45;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: none;
}

.library-grid .poster-card__copy > span:not(.content-badges),
.ending-poster-grid .poster-card__copy > span:not(.content-badges) {
    order: 4;
    display: -webkit-box;
    max-width: 78%;
    overflow: hidden;
    color: rgba(255, 239, 207, .7);
    font-size: clamp(.68rem, .84vw, .92rem);
    line-height: 1.42;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.library-grid .poster-card__copy strong,
.ending-poster-grid .poster-card__copy strong {
    display: block;
    height: auto;
    min-height: 0;
    font-size: clamp(1.02rem, 1.55vw, 1.68rem);
    line-height: 1.02;
    -webkit-line-clamp: unset;
}

.library-grid .poster-card__copy,
.ending-poster-grid .poster-card__copy {
    gap: clamp(.18rem, .4vw, .34rem);
    align-content: start;
    max-height: 68%;
    overflow: hidden;
}

.home-programs .streaming-card.has-poster-title .poster-title,
.streaming-home .home-programs .streaming-card.has-poster-title .poster-title {
    z-index: 8;
    left: clamp(.9rem, 1.9vw, 1.35rem);
    top: auto;
    bottom: clamp(3.35rem, 4vw, 4.65rem);
    width: calc(100% - clamp(1.8rem, 3.8vw, 2.7rem));
    display: block;
    transform: none;
    color: #fff7e7;
    -webkit-text-fill-color: #fff7e7;
    font-family: "Nanum Myeongjo", "Noto Serif KR", "Batang", serif;
    font-size: clamp(.96rem, 1.85vw, 1.92rem);
    font-weight: 820;
    line-height: .98;
    letter-spacing: 0;
    text-align: left;
    filter: none;
    -webkit-text-stroke: .2px rgba(255, 247, 231, .72);
    text-shadow: 0 3px 10px rgba(0, 0, 0, .88), 0 0 8px rgba(var(--program-accent-rgb), .18);
}

.home-programs .streaming-card.has-poster-title .poster-title span,
.streaming-home .home-programs .streaming-card.has-poster-title .poster-title span {
    display: block;
    color: #fff7e7;
    -webkit-text-fill-color: #fff7e7;
    filter: none;
}

.home-programs .streaming-card.has-poster-title .poster-title strong,
.streaming-home .home-programs .streaming-card.has-poster-title .poster-title strong {
    font-size: 1em;
}

@media (max-width: 720px) {
    .home-programs,
    .streaming-home .home-programs {
        --home-content-card-width: min(72vw, 300px);
    }

    .home-programs .streaming-card > .content-badges--streaming,
    .streaming-home .home-programs .streaming-card > .content-badges--streaming,
    .library-grid .poster-card > .content-badges--card,
    .ending-poster-grid .poster-card > .content-badges--card {
        max-width: 78%;
        gap: .24rem;
    }

    .home-programs .streaming-card > .content-badges--streaming > span,
    .streaming-home .home-programs .streaming-card > .content-badges--streaming > span,
    .library-grid .poster-card > .content-badges--card > span,
    .ending-poster-grid .poster-card > .content-badges--card > span {
        min-height: 1.54rem;
        padding-inline: .56rem;
        font-size: .54rem;
    }

    .home-programs .streaming-card__copy,
    .streaming-home .home-programs .streaming-card__copy,
    .library-grid .poster-card__copy,
    .ending-poster-grid .poster-card__copy {
        left: .95rem;
        right: .9rem;
        bottom: .72rem;
    }

    .home-programs .streaming-card__copy strong,
    .streaming-home .home-programs .streaming-card__copy strong,
    .library-grid .poster-card__copy strong,
    .ending-poster-grid .poster-card__copy strong {
        font-size: clamp(.92rem, 4.8vw, 1.32rem);
    }

    .library-grid,
    .ending-poster-grid {
        grid-template-columns: 1fr;
    }

    .library-grid .poster-card__copy strong,
    .ending-poster-grid .poster-card__copy strong {
        font-size: clamp(.98rem, 5.1vw, 1.42rem);
    }

    .home-programs .streaming-card.has-poster-title .poster-title,
    .streaming-home .home-programs .streaming-card.has-poster-title .poster-title {
        left: .95rem;
        bottom: 3.25rem;
        width: calc(100% - 1.85rem);
        font-size: clamp(.94rem, 5.2vw, 1.28rem);
    }

    .home-programs .streaming-card__copy small,
    .streaming-home .home-programs .streaming-card__copy small,
    .library-grid .poster-card__copy small,
    .ending-poster-grid .poster-card__copy small {
        max-width: 86%;
        font-size: .78rem;
    }
}

/* v76 compact home section rhythm: match vertical spacing to the reduced poster scale. */
.home-programs,
.streaming-home .home-programs {
    padding: clamp(2.5rem, 4.2vh, 3.2rem) 0 clamp(2.6rem, 5vh, 4rem);
}

.home-programs .streaming-row,
.streaming-home .streaming-row {
    margin-bottom: clamp(1.4rem, 2.6vh, 2.2rem);
    padding-top: clamp(.55rem, 1.2vh, 1rem);
}

.home-programs .streaming-row + .streaming-row,
.streaming-home .streaming-row + .streaming-row {
    padding-top: clamp(1.2rem, 2.4vh, 2rem);
}

.home-programs .streaming-row__head,
.streaming-home .streaming-row__head {
    margin-bottom: clamp(.5rem, .9vh, .75rem);
}

.home-programs .streaming-row__track,
.streaming-home .streaming-row__track {
    padding-block: .25rem clamp(.55rem, 1.1vh, .85rem);
}

.home-programs .streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide,
.streaming-home .home-programs .streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide {
    box-sizing: border-box;
    height: auto;
    padding: .35rem 0 .55rem;
}

.home-programs .streaming-row--last,
.streaming-home .streaming-row--last {
    margin-bottom: 0;
    padding-bottom: 1.4rem;
}

@media (max-width: 720px) {
    .home-programs,
    .streaming-home .home-programs {
        padding: 1.1rem 0 2.4rem;
    }

    .home-programs .streaming-row,
    .streaming-home .streaming-row {
        margin-bottom: .95rem;
        padding-top: .45rem;
    }

    .home-programs .streaming-row + .streaming-row,
    .streaming-home .streaming-row + .streaming-row {
        padding-top: 1.05rem;
    }

    .home-programs .streaming-row__head,
    .streaming-home .streaming-row__head {
        margin-bottom: .45rem;
    }

    .home-programs .streaming-row__track,
    .streaming-home .streaming-row__track {
        padding-block: .2rem .65rem;
    }

    .home-programs .streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide,
    .streaming-home .home-programs .streaming-row__track.lumina-swiper .streaming-card-slot.swiper-slide {
        padding: .25rem 0 .45rem;
    }
}

/* Final home shelf overlap guard: keep the validated hero-to-rail cascade last. */
.streaming-home .home-programs {
    margin-top: calc((var(--home-shelf-overlap) * -1) - var(--home-shelf-raise-extra));
}

/* v79 reference intake typography finish: normal weights, gradient title, white CTA text. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-form,
#readingDrawer.reading-drawer.is-preplay-profile .reading-form * {
    font-weight: 400;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    display: inline-block;
    color: transparent;
    font-weight: 400;
    background: linear-gradient(180deg, #fff7d8 0%, #ffe7af 36%, #e8bd67 68%, #b9863f 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 26px rgba(236, 188, 98, .22), 0 2px 0 rgba(0, 0, 0, .32);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow,
#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step {
    font-weight: 400;
    text-shadow: 0 0 18px rgba(241, 201, 120, .18);
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title,
#readingDrawer.reading-drawer.is-preplay-profile .field > label,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading small,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select,
#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
    font-weight: 400;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    color: #fff8eb;
    letter-spacing: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input:checked + span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span {
    color: #fff;
    text-shadow: 0 0 16px rgba(255, 232, 176, .24);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
    color: #fff;
    font-weight: 400;
    -webkit-text-fill-color: #fff;
    text-shadow: 0 1px 1px rgba(56, 32, 8, .48), 0 0 18px rgba(255, 236, 195, .2);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 242, 202, .46), transparent 54%),
        linear-gradient(180deg, #e1b35e 0%, #c38d42 100%);
}

/* v80 reference intake compact width: keep the designed shell tighter on desktop. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    width: min(560px, calc(100vw - 2rem));
    max-height: min(84svh, 620px);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    max-height: min(84svh, 620px);
    padding: 1.45rem 2rem .86rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    max-height: min(84svh, 620px);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
    gap: .85rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow {
    margin-bottom: .42rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
    margin: .58rem 0 1rem;
    font-size: .86rem;
    line-height: 1.56;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-copy {
    margin-bottom: .64rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title {
    font-size: 1.24rem;
    line-height: 1.18;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid {
    gap: .62rem .65rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .field,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control {
    gap: .32rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    min-height: 48px;
    height: 48px;
    line-height: 48px;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field {
    gap: .58rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
    min-height: 44px;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    margin-top: .68rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-height: 54px;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note {
    margin-top: .58rem;
    line-height: 1.35;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-drawer__panel {
    width: min(560px, calc(100vw - 2rem));
    max-height: min(84svh, 620px);
}

/* v81 smaller preplay intake: keep profile and question CTAs visible on short screens. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-drawer__panel {
    width: min(520px, calc(100vw - 1rem));
    max-height: min(76svh, 560px);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell,
#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    max-height: min(76svh, 560px);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    padding: 1.05rem 1.35rem .72rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
    gap: .64rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow {
    margin-bottom: .24rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    font-size: clamp(1.32rem, 2vw, 1.72rem);
    line-height: 1.12;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead {
    margin: .32rem 0 .52rem;
    font-size: .76rem;
    line-height: 1.42;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-copy {
    margin-bottom: .42rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .entry-intake-title {
    font-size: 1.02rem;
    line-height: 1.16;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid {
    gap: .48rem .56rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .field,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control {
    gap: .24rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row {
    grid-template-columns: minmax(0, 1fr) minmax(104px, .32fr);
    gap: .5rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    min-height: 42px;
    height: 42px;
    line-height: 42px;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field {
    gap: .42rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span {
    min-height: 34px;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    margin-top: .46rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-height: 46px;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note {
    margin-top: .3rem;
    font-size: .62rem;
    line-height: 1.32;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field {
    margin-top: .58rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea {
    min-height: 76px;
    max-height: 96px;
    padding: .7rem .82rem;
    font-size: .78rem;
    line-height: 1.45;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples {
    margin-top: .48rem;
    padding: .52rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
    margin-top: .55rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions > button {
    min-height: 44px;
}

@media (max-height: 700px), (max-width: 420px) {
    #readingDrawer.reading-drawer.is-preplay-profile .privacy-note,
    #readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples,
    #readingDrawer.reading-drawer.is-preplay-profile .reading-question-field small {
        display: none;
    }
}

/* Final preplay intake tone: candlelit wood, matching the required First Light input mood. */
#readingDrawer.reading-drawer.is-preplay-profile::before {
    background:
        radial-gradient(circle at 78% 34%, rgba(255, 190, 84, .3) 0 1px, transparent 2px),
        radial-gradient(circle at 30% 16%, rgba(255, 218, 148, .24) 0 1px, transparent 2px),
        repeating-radial-gradient(circle at 50% 56%, rgba(196, 112, 37, .16) 0 1px, transparent 1px 108px);
    opacity: .24;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__backdrop {
    background:
        radial-gradient(circle at 74% 22%, rgba(255, 184, 82, .2), transparent 32%),
        radial-gradient(circle at 52% 48%, rgba(93, 48, 16, .3), transparent 46%),
        linear-gradient(180deg, rgba(19, 9, 4, .28), rgba(8, 4, 2, .54));
    backdrop-filter: blur(2px) brightness(.94) saturate(1.16);
    -webkit-backdrop-filter: blur(2px) brightness(.94) saturate(1.16);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    border-color: rgba(246, 180, 94, .38);
    background:
        radial-gradient(circle at 85% 4%, rgba(255, 202, 116, .2), transparent 32%),
        radial-gradient(circle at 14% 100%, rgba(149, 78, 28, .18), transparent 38%),
        linear-gradient(152deg, rgba(76, 36, 14, .9), rgba(24, 14, 8, .9) 56%, rgba(86, 47, 18, .74));
    box-shadow:
        0 24px 68px rgba(16, 7, 2, .52),
        0 0 0 1px rgba(255, 236, 182, .085) inset,
        0 18px 52px rgba(255, 171, 72, .09) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__specular,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__refraction {
    opacity: .12;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel::after {
    background: linear-gradient(180deg, rgba(255, 213, 137, .44), rgba(133, 72, 28, .18) 42%, rgba(255, 242, 205, .08));
    opacity: .46;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    font-family: "Nanum Myeongjo", "Noto Serif KR", Batang, serif;
    color: rgba(255, 239, 207, .96);
    text-shadow: 0 8px 24px rgba(48, 18, 4, .48), 0 0 22px rgba(255, 170, 70, .16);
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead,
#readingDrawer.reading-drawer.is-preplay-profile .field > label,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading small {
    color: rgba(255, 238, 209, .76);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-preplay-profile .calendar-field span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea {
    border-color: rgba(255, 217, 151, .16);
    background:
        linear-gradient(180deg, rgba(88, 46, 17, .38), rgba(24, 15, 10, .48)),
        linear-gradient(110deg, rgba(255, 226, 173, .045), transparent 55%);
    box-shadow:
        0 11px 26px rgba(20, 7, 1, .22),
        0 1px 0 rgba(255, 228, 184, .09) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select {
    color: rgba(255, 244, 225, .94);
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field input:checked + span,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span {
    border-color: rgba(255, 201, 111, .62);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 227, 159, .26), transparent 58%),
        linear-gradient(180deg, rgba(157, 89, 35, .7), rgba(59, 34, 18, .86));
    color: rgba(255, 244, 225, .96);
    box-shadow:
        0 12px 30px rgba(18, 7, 1, .28),
        0 0 0 1px rgba(255, 214, 148, .13) inset;
    text-shadow: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-height: 46px;
    border: 1px solid rgba(255, 218, 151, .46);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 231, 178, .28), transparent 58%),
        linear-gradient(180deg, rgba(164, 92, 34, .88), rgba(91, 51, 24, .94));
    color: rgba(255, 244, 226, .96);
    box-shadow:
        0 10px 24px rgba(20, 7, 1, .32),
        0 1px 0 rgba(255, 238, 204, .16) inset;
    text-shadow: none;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
    color: currentColor;
    text-shadow: none;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i {
    border-color: rgba(255, 235, 196, .56);
    background: rgba(255, 238, 204, .08);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 226, 169, .64);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 237, 195, .34), transparent 58%),
        linear-gradient(180deg, rgba(182, 103, 39, .9), rgba(106, 59, 27, .95));
    box-shadow:
        0 14px 30px rgba(20, 7, 1, .36),
        0 0 0 3px rgba(255, 179, 82, .12),
        0 1px 0 rgba(255, 243, 213, .18) inset;
}

body.is-preplay-profile #cinema[data-experience="seoyun-guide"] .player-chrome,
body.is-preplay-profile #cinema[data-experience="seoyun-guide"].is-paused .player-chrome {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body.is-preplay-profile #cinema[data-experience="seoyun-guide"] .player-menu-veil,
body.is-preplay-profile #cinema[data-experience="seoyun-guide"].is-paused .player-menu-veil {
    opacity: 0;
    pointer-events: none;
    -webkit-backdrop-filter: blur(0) saturate(1);
    backdrop-filter: blur(0) saturate(1);
}

body.is-preplay-profile #cinema[data-experience="seoyun-guide"].is-paused .story-video,
body.is-preplay-profile #cinema[data-experience="seoyun-guide"].is-paused .element-overlay {
    filter: saturate(1.08) brightness(.94) contrast(1.05);
    transform: none;
}

/* Final profile-panel parity for the required user-info gate. */
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__backdrop {
    background: linear-gradient(180deg, rgba(3, 7, 12, .28), rgba(3, 7, 12, .46));
    backdrop-filter: blur(3px) brightness(.82) saturate(.92);
    -webkit-backdrop-filter: blur(3px) brightness(.82) saturate(.92);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel {
    width: min(392px, calc(100vw - 2rem));
    max-height: min(88svh, 640px);
    overflow-x: hidden;
    overflow-y: hidden;
    scrollbar-width: none;
}

#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
    width: min(392px, calc(100vw - 2rem));
    max-height: min(88svh, 640px);
    overflow-x: hidden;
    overflow-y: hidden;
    scrollbar-width: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel::-webkit-scrollbar,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::-webkit-scrollbar {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel::after,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel::after,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::before,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::after,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell::before {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel::after {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::before {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell::after {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell {
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(224, 179, 99, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 217, 142, .2), transparent 34%),
        linear-gradient(146deg, rgba(42, 25, 7, .97), rgba(10, 12, 18, .97) 48%, rgba(6, 7, 11, .96));
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(255, 230, 177, .06) inset,
        0 24px 70px rgba(210, 137, 32, .18);
}

#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell {
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(224, 179, 99, .32);
    border-radius: 20px;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 217, 142, .2), transparent 34%),
        linear-gradient(146deg, rgba(42, 25, 7, .97), rgba(10, 12, 18, .97) 48%, rgba(6, 7, 11, .96));
    box-shadow:
        0 28px 90px rgba(0, 0, 0, .62),
        0 0 0 1px rgba(255, 230, 177, .06) inset,
        0 24px 70px rgba(210, 137, 32, .18);
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__specular,
#readingDrawer.reading-drawer.is-preplay-profile .glass-shell__refraction,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__specular,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-shell__refraction {
    display: none;
    opacity: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
    gap: 0;
    padding: 1.18rem 1.24rem 1rem;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form {
    background: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin: 0;
    padding: 0;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head > div,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head > div {
    order: 0;
    min-width: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head .eyebrow,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head .eyebrow {
    margin: 0;
    color: rgba(255, 224, 157, .94);
    letter-spacing: .18em;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__head h2 {
    margin: 1.1rem 0 .36rem;
    color: #fff8ea;
    font-family: var(--sans);
    font-size: clamp(1.62rem, 2vw, 2.08rem);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.16;
    text-align: left;
    text-shadow: 0 0 24px rgba(239, 185, 85, .28);
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__step,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__step {
    display: inline-flex;
    order: 1;
    align-items: center;
    min-height: 24px;
    margin: 0;
    padding: .18rem .54rem;
    border: 1px solid rgba(224, 179, 99, .28);
    border-radius: 999px;
    background: rgba(106, 65, 14, .38);
    color: rgba(255, 236, 191, .86);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .04em;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__lead,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-form__lead {
    display: block;
    max-width: 100%;
    margin: 0 0 1rem;
    color: rgba(255, 240, 208, .72);
    font-size: .86rem;
    line-height: 1.55;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .field-grid,
#readingDrawer.reading-drawer.is-entry-onboarding .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .field--full,
#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-field,
#readingDrawer.reading-drawer.is-preplay-profile .gender-field,
#readingDrawer.reading-drawer.is-entry-onboarding .field--full,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    grid-column: 1 / -1;
}

#readingDrawer.reading-drawer.is-preplay-profile .field > label,
#readingDrawer.reading-drawer.is-preplay-profile .field legend,
#readingDrawer.reading-drawer.is-preplay-profile .field-heading,
#readingDrawer.reading-drawer.is-entry-onboarding .field > label,
#readingDrawer.reading-drawer.is-entry-onboarding .field legend,
#readingDrawer.reading-drawer.is-entry-onboarding .field-heading {
    margin-bottom: .32rem;
    color: rgba(255, 235, 195, .82);
    font-size: .68rem;
    font-weight: 620;
    letter-spacing: 0;
    text-align: left;
}

#readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row,
#readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: .55rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control {
    min-height: 44px;
    border-color: rgba(255, 218, 139, .26);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255, 230, 174, .12), rgba(255, 255, 255, .04));
    box-shadow: 0 0 0 1px rgba(255, 248, 219, .05) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control input,
#readingDrawer.reading-drawer.is-preplay-profile .glass-control select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control input,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control select {
    height: 44px;
    color: rgba(255, 248, 231, .96);
    font-size: .82rem;
    font-weight: 520;
}

#readingDrawer.reading-drawer .glass-control--select::before {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--time select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control--time select {
    padding-right: .72rem;
    padding-left: 2.35rem;
    text-align: left;
    text-overflow: clip;
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field,
#readingDrawer.reading-drawer.is-preplay-profile .conditional-field,
#readingDrawer.reading-drawer.is-entry-onboarding .calendar-field,
#readingDrawer.reading-drawer.is-entry-onboarding .conditional-field,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-copy,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-title,
#readingDrawer.reading-drawer.is-entry-onboarding .entry-intake-note {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .52rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field span {
    min-height: 40px;
    border-color: rgba(255, 218, 139, .24);
    border-radius: 13px;
    background: rgba(255, 221, 143, .08);
    color: rgba(255, 242, 210, .88);
    font-size: .82rem;
    font-weight: 560;
}

#readingDrawer.reading-drawer.is-preplay-profile .gender-field input:checked + span,
#readingDrawer.reading-drawer.is-entry-onboarding .gender-field input:checked + span {
    border-color: rgba(255, 229, 166, .72);
    background: linear-gradient(135deg, rgba(189, 127, 43, .78), rgba(245, 205, 132, .2));
    color: #fff7df;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: .78rem;
    padding-top: .25rem;
    border-top: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-calculation-note,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-calculation-note {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: rgba(255, 235, 195, .62);
    font-size: .68rem;
    font-weight: 560;
    line-height: 1.35;
    text-align: left;
    word-break: keep-all;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-skip,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-skip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
    flex: 0 0 auto;
    width: auto;
    min-width: 82px;
    min-height: 36px;
    justify-content: center;
    gap: .34rem;
    margin: 0;
    padding: .5rem .78rem;
    border: 1px solid rgba(255, 225, 159, .34);
    border-radius: 999px;
    background: linear-gradient(135deg, #916019, #d19a3f 46%, #f0cd78);
    box-shadow: 0 12px 30px rgba(164, 99, 18, .28), 0 1px 0 rgba(255, 255, 255, .32) inset;
    color: #171006;
    font-size: .78rem;
    font-weight: 660;
    letter-spacing: 0;
    text-shadow: none;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button span,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button i {
    color: #171006;
    text-shadow: none;
    white-space: nowrap;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button i,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button i {
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: .92rem;
    line-height: 1;
}

#readingDrawer.reading-drawer.is-preplay-profile .privacy-note,
#readingDrawer.reading-drawer.is-entry-onboarding .privacy-note,
#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__close,
#readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__close {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head {
    display: flex;
    justify-content: space-between;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-form__head h2 {
    color: #fff8ea;
    font-size: clamp(1.62rem, 2vw, 2.08rem);
}

#readingDrawer.reading-drawer.is-preplay-profile .calendar-field {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-skip {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions {
    justify-content: space-between;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button {
    min-width: 88px;
    min-height: 38px;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #916019, #d19a3f 46%, #f0cd78);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-step.is-active {
    display: block;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field {
    display: grid;
    gap: .32rem;
    margin-top: .72rem;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field > span {
    color: rgba(255, 235, 195, .82);
    font-size: .68rem;
    font-weight: 620;
    letter-spacing: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 76px;
    height: 76px;
    max-height: 76px;
    resize: none;
    overflow-y: hidden;
    padding: .66rem .78rem;
    border: 1px solid rgba(255, 217, 151, .16);
    border-radius: 13px;
    outline: none;
    background:
        linear-gradient(180deg, rgba(88, 46, 17, .38), rgba(24, 15, 10, .48)),
        linear-gradient(110deg, rgba(255, 226, 173, .045), transparent 55%);
    box-shadow:
        0 11px 26px rgba(20, 7, 1, .22),
        0 1px 0 rgba(255, 228, 184, .09) inset;
    color: rgba(255, 244, 225, .94);
    font: 500 .78rem/1.42 var(--sans);
    letter-spacing: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea::placeholder {
    color: rgba(255, 235, 205, .42);
    font-size: .78rem;
    font-weight: 500;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field textarea:focus {
    transform: none;
    border-color: rgba(255, 201, 111, .5);
    background:
        linear-gradient(180deg, rgba(96, 51, 20, .44), rgba(27, 17, 11, .52)),
        linear-gradient(110deg, rgba(255, 226, 173, .065), transparent 55%);
    box-shadow:
        0 0 0 3px rgba(255, 179, 82, .1),
        0 11px 26px rgba(20, 7, 1, .22),
        0 1px 0 rgba(255, 228, 184, .1) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-field small,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-examples {
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    max-width: 100%;
    min-width: 0;
    margin-top: .72rem;
    padding-top: .25rem;
    border-top: 0;
    overflow-x: hidden;
    overflow-y: hidden;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions > button {
    flex: 0 0 auto;
    width: auto;
    min-width: 82px;
    min-height: 36px;
    max-width: 100%;
    margin: 0;
    padding: .5rem .78rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 660;
    letter-spacing: 0;
    line-height: 1.1;
    white-space: nowrap;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back {
    border: 1px solid rgba(255, 218, 151, .18);
    background: rgba(255, 221, 143, .06);
    color: rgba(255, 242, 210, .78);
    box-shadow: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-back:focus-visible {
    transform: none;
    border-color: rgba(255, 218, 151, .3);
    background: rgba(255, 221, 143, .1);
    color: rgba(255, 248, 231, .92);
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .34rem;
    min-width: 116px;
    min-height: 38px;
    padding: .5rem .82rem;
    border: 1px solid rgba(255, 218, 151, .46);
    border-radius: 999px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 231, 178, .28), transparent 58%),
        linear-gradient(180deg, rgba(164, 92, 34, .88), rgba(91, 51, 24, .94));
    color: rgba(255, 244, 226, .96);
    box-shadow:
        0 10px 24px rgba(20, 7, 1, .32),
        0 1px 0 rgba(255, 238, 204, .16) inset;
    text-shadow: none;
    white-space: nowrap;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button span,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button i {
    color: currentColor;
    text-shadow: none;
    white-space: nowrap;
    -webkit-text-fill-color: currentColor;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button i {
    position: static;
    display: inline;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: .92rem;
    font-style: normal;
    font-weight: 660;
    line-height: 1;
    transform: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button:hover,
#readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions .start-button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 226, 169, .64);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 237, 195, .34), transparent 58%),
        linear-gradient(180deg, rgba(182, 103, 39, .9), rgba(106, 59, 27, .95));
    box-shadow:
        0 14px 30px rgba(20, 7, 1, .36),
        0 0 0 3px rgba(255, 179, 82, .12),
        0 1px 0 rgba(255, 243, 213, .18) inset;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    width: 100%;
}

#readingDrawer.reading-drawer.is-preplay-profile.is-question-only .reading-question-actions > button,
#readingDrawer.reading-drawer.is-preplay-profile.is-question-only #readingQuestionContinue {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__close {
    display: none;
}

@media (max-width: 520px) {
    #readingDrawer.reading-drawer.is-preplay-profile .reading-drawer__panel,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-drawer__panel {
        width: min(392px, calc(100vw - 1rem));
        max-height: calc(100dvh - 1rem);
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-form,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-form {
        padding: 1.05rem;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .field-grid,
    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row,
    #readingDrawer.reading-drawer.is-entry-onboarding .field-grid,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
        grid-template-columns: 1fr;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions {
        align-items: stretch;
        flex-direction: column;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-calculation-note,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-calculation-note {
        text-align: center;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-profile-actions .start-button,
    #readingDrawer.reading-drawer.is-entry-onboarding .reading-profile-actions .start-button {
        width: 100%;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions {
        align-items: stretch;
        flex-direction: column;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .reading-question-actions > button {
        width: 100%;
    }
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--select::before,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control--select::before {
    content: none;
    display: none;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--time,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control--time {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-left: 0;
}

#readingDrawer.reading-drawer.is-preplay-profile .glass-control--time select,
#readingDrawer.reading-drawer.is-entry-onboarding .glass-control--time select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-right: .72rem;
    padding-left: 2.35rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
    text-align: left;
    text-overflow: clip;
}

@media (min-width: 521px) {
    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-row,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-row {
        grid-template-columns: minmax(0, 1fr) 126px;
    }

    #readingDrawer.reading-drawer.is-preplay-profile .birth-moment-control--hour,
    #readingDrawer.reading-drawer.is-entry-onboarding .birth-moment-control--hour {
        min-width: 126px;
    }
}
