/* Reading-room hierarchy. Existing ordering, authorship and score classes stay. */
body.tvi-reviews { --review-muted: #c0b9ae; --review-accent: #dda36b; }
.tvi-reviews :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--review-accent); outline-offset: 4px; }
.tvi-reviews .rh-skip { position: fixed; top: 12px; left: 16px; z-index: 300; padding: 12px 18px; background: #f5f0e8; color: #141414; transform: translateY(-160%); }
.tvi-reviews .rh-skip:focus { transform: none; }
.tvi-reviews .rh-wrap { width: min(1180px, calc(100% - clamp(20px, 4vw, 48px) * 2)); max-width: none; padding: 0 0 72px; }
.tvi-reviews .rh-hero { text-align: left; padding: 48px 0 24px; }
.tvi-reviews .rh-hero .eye { font-size: 12px; letter-spacing: .15em; color: var(--review-accent); }
.tvi-reviews .rh-hero h1 { font-size: clamp(38px, 5.2vw, 64px); line-height: 1.05; font-weight: 400; letter-spacing: -.02em; margin: 16px 0 20px; }
.tvi-reviews .rh-hero p { max-width: 720px; margin: 0; font-size: 16px; line-height: 1.75; color: var(--review-muted); }
.tvi-reviews .rh-policy { justify-content: flex-start; gap: 6px 24px; margin-top: 14px; }
.tvi-reviews .rh-policy a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: #beb6aa; border: 0; text-decoration: underline; text-decoration-color: #5c5143; text-underline-offset: 4px; }
.tvi-reviews .rh-jump { display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 18px 0 24px; border-top: 1px solid #443b31; border-bottom: 1px solid #443b31; }
.tvi-reviews .rh-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid #5c4b38; border-radius: 5px; color: #dec3a0; font-size: 14px; line-height: 1.5; background: #241e18; text-decoration: none; }
.tvi-reviews .rh-jump a:hover { color: #f5f0e8; background: #37291d; border-color: #a77848; }
.tvi-reviews .rh-section-head { align-items: flex-start; gap: 40px; margin: 48px 0 24px; padding-top: 26px; scroll-margin-top: 90px; }
.tvi-reviews .rh-section-head#watched { border: 0; margin-top: 30px; padding-top: 0; }
.tvi-reviews .rh-section-label { font-family: 'Instrument Serif', serif; font-size: 34px; line-height: 1.15; font-weight: 400; letter-spacing: 0; text-transform: none; color: #ece2d2; max-width: 480px; }
.tvi-reviews .rh-section-note { flex: 0 1 475px; font-size: 13px; line-height: 1.75; text-align: left; color: #c1b8aa; }
.tvi-reviews .rh-section-note a { color: var(--review-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
.tvi-reviews .rh-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.tvi-reviews .rh-card { grid-column: span 2; display: flex; flex-direction: column; min-width: 0; background: #1d1b18; border: 1px solid #423b31; border-radius: 9px; }
.tvi-reviews .rh-card.rh-big { grid-column: span 3; background: #242018; border-color: #6d5338; }
.tvi-reviews .rh-card:hover { border-color: #bd8750; transform: translateY(-2px); }
.tvi-reviews .rh-cover img { aspect-ratio: 16 / 9; object-fit: contain; background: #191715; }
.tvi-reviews .rh-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.tvi-reviews .rh-eyebrow { font-size: 11px; line-height: 1.7; letter-spacing: .07em; color: var(--review-accent); }
.tvi-reviews .rh-title, .tvi-reviews .rh-deeper .rh-title { font-size: 29px; font-weight: 400; line-height: 1.13; margin: 10px 0 14px; overflow-wrap: anywhere; }
.tvi-reviews .rh-big .rh-title { font-size: clamp(30px, 3.2vw, 40px); line-height: 1.08; }
.tvi-reviews .rh-deck { font-size: 15px; line-height: 1.65; font-weight: 400; color: var(--review-muted); margin: 0 0 22px; }
.tvi-reviews .rh-meta { margin-top: auto; gap: 8px 12px; padding-top: 16px; border-top: 1px solid #40392f; flex-wrap: wrap; }
.tvi-reviews .rh-score { font-size: 29px; color: var(--review-accent); }
.tvi-reviews .rh-out { font-size: 14px; color: #c2b7a6; }
.tvi-reviews .rh-tier { font-size: 11px; letter-spacing: .06em; line-height: 1.6; color: #cabfab; }
.tvi-reviews .rh-essay { color: #ddb180; border-color: #765333; padding: 5px 10px; }
.tvi-reviews .rh-read { min-height: 32px; display: inline-flex; align-items: center; color: var(--review-accent); }
/* A two-essay contributor lane should use the full row without empty slots. */
.tvi-reviews #made-world + .rh-grid .rh-card { grid-column: span 3; }
@media (max-width: 1000px) {
  .tvi-reviews .rh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .tvi-reviews .rh-card, .tvi-reviews .rh-card.rh-big, .tvi-reviews #made-world + .rh-grid .rh-card { grid-column: auto; }
  .tvi-reviews .rh-section-head { gap: 28px; }
  .tvi-reviews .rh-section-label { flex: 1; font-size: 31px; }
  .tvi-reviews .rh-section-note { flex-basis: 48%; }
  .tvi-reviews .rh-body { padding: 20px; }
}
@media (max-width: 760px) {
  .tvi-reviews .rh-section-head { display: block; }
  .tvi-reviews .rh-section-note { margin-top: 12px; max-width: 620px; }
}
@media (max-width: 580px) {
  .tvi-reviews .rh-hero { padding-top: 32px; }
  .tvi-reviews .rh-hero h1 { font-size: 43px; }
  .tvi-reviews .rh-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .tvi-reviews .rh-jump { gap: 8px; padding-bottom: 20px; }
  .tvi-reviews .rh-jump a { padding: 9px 12px; font-size: 13px; }
  .tvi-reviews .rh-section-head { margin-top: 36px; }
  .tvi-reviews .rh-title, .tvi-reviews .rh-deeper .rh-title { font-size: 30px; }
  .tvi-reviews .rh-big .rh-title { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.tvi-reviews) { scroll-behavior: auto; }
  .tvi-reviews * { transition: none !important; animation: none !important; }
  .tvi-reviews .rh-card:hover { transform: none; }
}
