.cinema-hero {
  position: relative;
  min-height: min(720px, 82svh);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 380px);
  gap: 2rem;
  align-items: end;
  padding: 10rem 0 5rem;
}
.cinema-hero::before {
  content: "";
  position: absolute;
  inset: 4rem -5vw 1rem;
  z-index: -1;
  border-block: 1px solid rgba(223,111,168,0.18);
  background:
    radial-gradient(circle at 20% 25%, rgba(223,111,168,0.18), transparent 19rem),
    linear-gradient(100deg, rgba(0,0,0,0.86), rgba(0,0,0,0.28) 58%, rgba(0,0,0,0.88));
  box-shadow: inset 0 0 120px rgba(0,0,0,0.9);
}
.cinema-copy h1 {
  max-width: 950px;
  font-family: "Cinzel", serif;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  line-height: 0.95;
  font-size: clamp(3.4rem, 10vw, 9rem);
  text-shadow: 0 0 34px rgba(223,111,168,0.22);
  animation: titleGlitch 7s infinite;
}
.cinema-copy p:not(.kicker) {
  max-width: 760px;
  margin-top: 1rem;
  color: #e1e3e6;
  font-size: clamp(1.12rem, 2.1vw, 1.42rem);
}
.broadcast-stack {
  align-self: center;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(223,111,168,0.28);
  background: linear-gradient(180deg, rgba(0,0,0,0.74), rgba(17,17,20,0.58));
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.broadcast-stack span {
  display: block;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 0.65rem;
  color: var(--ash);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.broadcast-stack b { display: block; color: var(--pink); font-weight: 700; }
.watchwall-rig {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(300px, 1fr);
  gap: 1.25rem;
  align-items: stretch;
  padding: 1.25rem;
  border: 1px solid rgba(223,111,168,0.3);
  background:
    linear-gradient(135deg, rgba(0,0,0,0.82), rgba(17,18,21,0.88)),
    radial-gradient(circle at 12% 14%, rgba(223,111,168,0.16), transparent 26rem);
  box-shadow: 0 42px 120px rgba(0,0,0,0.66), inset 0 0 80px rgba(255,255,255,0.025);
  overflow: hidden;
}
.watchwall-rig::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(0deg, rgba(255,255,255,0.025) 1px, transparent 1px) 0 0 / 64px 64px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.8), transparent 72%);
}
.main-monitor {
  position: relative;
  z-index: 1;
  padding: 0.8rem;
  background: #030304;
  border: 1px solid rgba(255,255,255,0.13);
  box-shadow: inset 0 0 40px rgba(223,111,168,0.08);
}
.cinematic-screen { min-height: 620px; box-shadow: 0 0 44px rgba(223,111,168,0.18); }
.monitor-caption {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-top: 0.7rem;
  color: var(--ash);
  font-family: "Space Mono", monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.monitor-caption span {
  border: 1px solid rgba(223,111,168,0.18);
  padding: 0.5rem;
  text-align: center;
  background: rgba(255,255,255,0.03);
}
.mission-brief { position: relative; z-index: 1; align-self: center; padding: 2rem; }
.mission-brief h2,
.section-title-row h2,
.log-entry h2,
.dossier-card h2,
.console-row h2 {
  font-family: "Cinzel", serif;
  letter-spacing: 0.1em;
  line-height: 1.05;
}
.mission-brief h2 { font-size: clamp(2rem, 4.4vw, 4.8rem); max-width: 760px; }
.mission-brief p:not(.card-label) {
  margin: 1rem 0;
  color: #dce0e4;
  font-size: clamp(1.08rem, 2vw, 1.34rem);
}
.clip-actions {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.section-title-row {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(260px, 0.45fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.4rem;
}
.section-title-row h2 { margin-top: 0.3rem; font-size: clamp(2.2rem, 5vw, 5.4rem); }
.section-title-row > p { color: #d9dce0; font-size: 1.18rem; }
.filmstrip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.film-card {
  position: relative;
  padding: 0.75rem;
  border: 1px solid rgba(223,111,168,0.22);
  background: linear-gradient(180deg, rgba(6,6,8,0.92), rgba(0,0,0,0.74));
  box-shadow: 0 30px 90px rgba(0,0,0,0.48);
}
.clip-thumb-link {
  position: absolute;
  top: 1.35rem;
  right: 1.25rem;
  z-index: 3;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(223,111,168,0.34);
  background: rgba(0,0,0,0.74);
  color: var(--pink);
  font-family: "Space Mono", monospace;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 0 20px rgba(223,111,168,0.2);
}
.film-card::before,
.film-card::after {
  content: "";
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  height: 10px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,0.22) 0 6px, transparent 6px 14px);
  opacity: 0.18;
}
.film-card::before { top: 0.35rem; }
.film-card::after { bottom: 0.35rem; }
.film-card .video-shell { margin: 0.8rem 0; }
.youtube-link {
  display: inline-block;
  margin-top: 0.8rem;
  color: var(--pink);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
}
.youtube-link::after { content: " ->"; }
.route-board { padding-top: 0; }
.route-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(260px, 0.5fr);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.2rem, 4vw, 2.4rem);
  border: 1px solid rgba(223,111,168,0.24);
  background:
    linear-gradient(115deg, rgba(223,111,168,0.12), transparent 34%),
    rgba(0,0,0,0.68);
  box-shadow: 0 32px 90px rgba(0,0,0,0.46);
}
.route-panel h2 {
  font-family: "Cinzel", serif;
  letter-spacing: 0.1em;
  line-height: 1.08;
  font-size: clamp(1.9rem, 4vw, 4.5rem);
}
.route-steps {
  display: grid;
  gap: 0.7rem;
}
.route-steps span {
  display: block;
  padding: 0.8rem;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.035);
  color: var(--ash);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.route-steps b {
  display: block;
  color: var(--pink);
}
.cinematic-card { position: relative; overflow: hidden; }
.cinematic-card::after {
  content: "";
  position: absolute;
  inset: auto -20% 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(223,111,168,0.85), transparent);
  box-shadow: 0 0 24px rgba(223,111,168,0.6);
}
.log-ledger { position: relative; display: grid; gap: 1rem; }
.log-casefile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 1rem;
  align-items: stretch;
  padding-top: 0;
}
.open-log {
  position: relative;
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  min-height: 520px;
  border: 1px solid rgba(223,111,168,0.24);
  background:
    linear-gradient(90deg, rgba(0,0,0,0.72), transparent 4.5rem),
    radial-gradient(circle at 78% 16%, rgba(223,111,168,0.12), transparent 16rem),
    rgba(9,9,11,0.84);
  box-shadow: 0 42px 120px rgba(0,0,0,0.62);
  overflow: hidden;
}
.open-log::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 4.5rem, rgba(255,255,255,0.045) 4.55rem, transparent 4.7rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 42px);
}
.paper-spine {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  border-right: 1px solid rgba(223,111,168,0.24);
  color: var(--pink);
  font-family: "Space Mono", monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.paper-page {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 5vw, 4rem);
}
.paper-page h2 {
  font-family: "Cinzel", serif;
  letter-spacing: 0.12em;
  line-height: 1;
  font-size: clamp(2.4rem, 6vw, 6.5rem);
  margin: 0.5rem 0 1rem;
}
.paper-page p:not(.card-label) {
  max-width: 760px;
  color: #e2e4e8;
  font-size: clamp(1.1rem, 2vw, 1.36rem);
}
.hand-note {
  margin-top: 1.2rem;
  padding-left: 1rem;
  border-left: 2px solid var(--pink);
  color: #f0cadc !important;
  font-style: italic;
}
.log-evidence-panel {
  display: grid;
  align-content: center;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px solid rgba(223,111,168,0.24);
  background:
    radial-gradient(circle at 50% 0%, rgba(223,111,168,0.15), transparent 12rem),
    rgba(0,0,0,0.66);
  box-shadow: 0 26px 86px rgba(0,0,0,0.48);
}
.log-evidence-panel span {
  display: block;
  padding: 0.75rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
  color: var(--ash);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.log-evidence-panel b {
  display: block;
  color: var(--pink);
}
.log-ledger::before {
  content: "";
  position: absolute;
  left: 2.3rem;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(223,111,168,0.45), transparent);
}
.log-entry {
  position: relative;
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 1.2rem;
  padding: 1.25rem;
  border: 1px solid rgba(223,111,168,0.2);
  background: linear-gradient(90deg, rgba(223,111,168,0.1), transparent 26%), rgba(0,0,0,0.62);
  box-shadow: 0 22px 70px rgba(0,0,0,0.42);
}
.log-entry.torn {
  border-style: dashed;
  background:
    linear-gradient(110deg, rgba(223,111,168,0.12), transparent 42%),
    rgba(0,0,0,0.58);
}
.featured-log { min-height: 320px; align-items: center; }
.log-number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid var(--line);
  background: #060607;
  color: var(--pink);
  font-family: "Space Mono", monospace;
  box-shadow: 0 0 28px rgba(223,111,168,0.22);
}
.log-entry h2 { margin: 0.4rem 0 0.8rem; font-size: clamp(1.8rem, 4vw, 4.4rem); }
.log-entry p:not(.card-label) { color: #dce0e4; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.dossier-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 1rem;
}
.dossier-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 1.5rem;
  border: 1px solid rgba(223,111,168,0.24);
  background:
    radial-gradient(circle at 90% 12%, rgba(223,111,168,0.16), transparent 13rem),
    linear-gradient(160deg, rgba(0,0,0,0.76), rgba(16,16,19,0.84));
  box-shadow: 0 28px 88px rgba(0,0,0,0.48);
}
.dossier-card:first-child { grid-row: span 2; min-height: 620px; }
.dossier-card h2 { margin: 0.35rem 0 0.85rem; font-size: clamp(1.7rem, 3.6vw, 4.2rem); }
.dossier-card p:not(.card-label) { color: #dce0e4; font-size: 1.18rem; }
.console-notes { display: grid; gap: 0.8rem; }
.console-row {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 1.2rem;
  padding: 1.2rem;
  border: 1px solid rgba(223,111,168,0.2);
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 8px), rgba(0,0,0,0.66);
}
.console-row > span {
  color: var(--pink);
  font-family: "Space Mono", monospace;
  letter-spacing: 0.16em;
}
.console-row h2 { font-size: clamp(1.45rem, 3vw, 3.2rem); margin-bottom: 0.5rem; }
.console-row p { color: #dce0e4; font-size: 1.16rem; }

@media (max-width: 800px) {
  .cinema-hero,
  .log-casefile,
  .watchwall-rig,
  .section-title-row,
  .route-panel,
  .filmstrip-grid,
  .dossier-grid,
  .console-row { grid-template-columns: 1fr; }
  .cinema-hero { min-height: auto; padding: 7rem 0 3rem; }
  .cinema-copy h1 { font-size: clamp(2.6rem, 13vw, 5rem); }
  .cinematic-screen { min-height: auto; }
  .mission-brief { padding: 1rem 0.2rem; }
  .monitor-caption { grid-template-columns: 1fr; }
  .dossier-card:first-child { grid-row: auto; min-height: 340px; }
  .dossier-card { min-height: 260px; }
  .log-ledger::before { display: none; }
  .open-log { grid-template-columns: 1fr; min-height: auto; }
  .paper-spine {
    writing-mode: initial;
    transform: none;
    min-height: 3rem;
    border-right: 0;
    border-bottom: 1px solid rgba(223,111,168,0.24);
  }
  .log-entry { grid-template-columns: 1fr; }
}
