.tv-page {
  --ink: #191817;
  --paper: #f4efe5;
  --sand: #d9bd98;
  --muted: #c8bfb2;
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font: 16px/1.6 "DM Sans", Arial, sans-serif;
}
.tv-page *, .tv-page *::before, .tv-page *::after { box-sizing: border-box; }
.tv-page a { color: inherit; text-underline-offset: .25em; }
.tv-page :focus-visible { outline: 2px solid #ab7542; outline-offset: 4px; }
.tv-wrap, .tv-header { width: min(100% - 9%, 1280px); margin-inline: auto; }
.tv-skip { position: absolute; left: 1rem; top: -10rem; background: var(--paper); color: var(--ink) !important; padding: 12px; }
.tv-skip:focus { top: 1rem; z-index: 3; }
.tv-header {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #554b41;
}
.tv-header nav { display: flex; flex-wrap: wrap; gap: 0 22px; }
.tv-header nav a { display: flex; align-items: center; min-height: 44px; font-size: .87rem; }
.tv-header a, .tv-brand { text-decoration: none; }
.tv-header nav a:first-child { color: var(--sand); }
.tv-brand { font: bold clamp(20px, 3vw, 33px) Georgia, serif; letter-spacing: .035em; }
.tv-brand span { display: block; margin-top: 8px; font: 9px "DM Sans", Arial, sans-serif; letter-spacing: .18em; }
.tv-opening { padding-block: clamp(35px, 6vw, 82px) 32px; }
.tv-kicker { color: var(--sand); font-size: .75rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin: 0 0 14px; }
.tv-kicker span { padding-inline: .5em; }
.tv-page h1, .tv-page h2, .tv-card strong { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; line-height: 1; }
.tv-page h1 { font-size: clamp(46px, 7.4vw, 112px); letter-spacing: -.025em; margin: 0 0 16px; text-wrap: balance; }
.tv-page h2 { font-size: clamp(34px, 4vw, 57px); margin: 0 0 20px; }
.tv-deck { max-width: 68ch; color: var(--muted); font-size: clamp(16px, 2vw, 20px); margin: 0; }
.tv-memoria { max-width: 68ch; margin: 18px 0 0; padding-left: 14px; border-left: 1px solid var(--sand); color: var(--muted); font: italic 400 17px/1.5 "Instrument Serif", Georgia, serif; }
.tv-memoria span { margin-right: 8px; font: 700 10px/1 "DM Sans", Arial, sans-serif; font-style: normal; letter-spacing: .15em; text-transform: uppercase; color: var(--sand); }
.tv-layout { display: grid; grid-template-columns: minmax(0, 2.45fr) minmax(235px, 1fr); gap: clamp(18px, 3vw, 36px); }
.tv-single { max-width: 1280px; }
.tv-screen { aspect-ratio: 16/9; background: #080808; overflow: hidden; }
.tv-screen iframe, .tv-screen button { width: 100%; height: 100%; display: block; border: 0; }
.tv-screen button { position: relative; padding: 0; background: #080808; color: white; }
.tv-screen button:focus-visible { outline-offset: -5px; }
.tv-screen img { width: 100%; height: 100%; display: block; object-fit: cover; }
.tv-screen button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 42%, #000a); }
.tv-screen button span {
  position: absolute; z-index: 1; right: 4%; top: 7%; display: flex; align-items: center;
  gap: 12px; padding: 10px 18px 10px 10px; background: var(--paper); color: var(--ink);
  border-radius: 40px; font-size: .9rem; font-weight: 700;
}
.tv-screen button b { border-radius: 50%; background: var(--ink); color: var(--paper); display: grid; place-items: center; width: 34px; height: 34px; }
.tv-screen button:hover span { background: var(--sand); }
.tv-player .tv-now-playing { font-size: clamp(25px, 3vw, 38px); margin: 17px 0 8px; }
.tv-player-note { margin: 12px 0 0; color: var(--muted); font-size: .85rem; }
.tv-episodes { padding: 20px; background: #24211e; border-top: 2px solid var(--sand); align-self: start; }
.tv-episodes h2 { font-size: 40px; margin-bottom: 10px; }
.tv-episodes ol { padding: 0; margin: 0 0 14px; list-style: none; max-height: 390px; overflow: auto; }
.tv-episodes li a { display: flex; gap: 12px; min-height: 44px; padding: 12px 10px; text-decoration: none; border-bottom: 1px solid #54483d; font-size: .91rem; }
.tv-episodes li a:focus-visible { outline-offset: -3px; }
.tv-episodes li a:hover, .tv-episodes a[aria-current] { background: #3b322a; }
.tv-episodes a[aria-current] { box-shadow: inset 3px 0 var(--sand); }
.tv-episodes a span, .tv-playlist-source { color: var(--sand); }
.tv-playlist-source { font-size: .85rem; }
.tv-story { background: var(--paper); color: #25201a; margin-top: clamp(35px, 6vw, 78px); }
.tv-story-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(230px, 1fr); gap: clamp(25px, 6vw, 80px); padding-block: clamp(35px, 6vw, 76px); }
.tv-story article { max-width: 70ch; }
.tv-story .tv-kicker { color: #785332; }
.tv-story article > p:not(.tv-kicker, .tv-source) { font-size: clamp(16px, 2vw, 19px); line-height: 1.75; }
.tv-story figure { margin: 24px 0 0; }
.tv-story figure img { display: block; max-width: 100%; max-height: 440px; object-fit: contain; }
.tv-story figcaption, .tv-source { font-size: .85rem; color: #685749; }
.tv-map { background: #e7ded0; border-top: 2px solid #947251; padding: 23px; align-self: start; }
.tv-map h2 { font-size: 38px; }
.tv-map summary { cursor: pointer; min-height: 44px; padding-block: 10px; }
.tv-map-frame iframe { display: block; width: 100%; height: 280px; border: 0; margin: 0 0 12px; }
.tv-map > a { font-size: .85rem; }
.tv-series-link { padding-block: 22px 0; }
.tv-related, .tv-catalog-section { padding-block: clamp(30px, 5vw, 65px); }
.tv-section-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; flex-wrap: wrap; }
.tv-section-head > a { margin-bottom: 22px; }
.tv-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 0; list-style: none; }
.tv-card { display: flex; flex-direction: column; height: 100%; background: #26221e; text-decoration: none; }
.tv-card:hover { box-shadow: inset 0 0 0 1px var(--sand); }
.tv-card img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.tv-card-copy { display: flex; flex-direction: column; gap: 9px; padding: clamp(13px, 2vw, 22px); }
.tv-card-copy small { color: var(--sand); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.tv-card strong { font-size: clamp(25px, 3vw, 39px); }
.tv-card-copy > span { color: var(--muted); font-size: .82rem; }
.tv-footer { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 18px; border-top: 1px solid #554b41; padding-block: 25px 40px; }
.tv-footer span { color: var(--muted); font-size: .85rem; }
@media (max-width: 760px) {
  .tv-header { display: block; padding-top: 19px; }
  .tv-header .tv-brand { display: inline-block; }
  .tv-header nav { margin-top: 10px; gap: 0 14px; }
  .tv-header nav a { font-size: .8rem; }
  .tv-layout, .tv-story-grid { grid-template-columns: minmax(0, 1fr); }
  .tv-episodes ol { max-height: 320px; }
  .tv-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 380px) {
  .tv-catalog { grid-template-columns: 1fr; }
}

/* Arquivo sonoro e fotografias que acompanham um filme */
.tv-audio { background: #1f2420; border-top: 1px solid #ffffff1a; }
.tv-audio-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, 1fr); gap: clamp(25px, 6vw, 80px); padding-block: clamp(35px, 6vw, 76px); align-items: start; }
.tv-audio h2 { font: 400 clamp(32px, 4vw, 52px)/1.05 "Instrument Serif", Georgia, serif; margin: 0 0 18px; }
.tv-audio-grid p:not(.tv-kicker) { color: var(--muted); max-width: 62ch; }
.tv-audio-player { margin: 0; padding: 22px; background: #141714; border: 1px solid #d9bd9855; }
.tv-audio-player audio { width: 100%; }
.tv-audio-player figcaption { font-size: .82rem; color: var(--muted); margin: 10px 0 16px; }
.tv-chapters { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ffffff1f; }
.tv-chapters button { width: 100%; min-height: 44px; display: flex; gap: 14px; align-items: center; padding: 8px 0; border: 0; border-bottom: 1px solid #ffffff1f; background: none; color: var(--paper); font: inherit; text-align: left; cursor: pointer; }
.tv-chapters button span { color: var(--sand); font-variant-numeric: tabular-nums; min-width: 3ch; }
.tv-chapters button:hover { color: var(--sand); }
.tv-gallery { padding-block: clamp(35px, 6vw, 70px) 0; }
.tv-gallery-grid { display: grid; grid-template-columns: 1.3fr 1.5fr 1fr; gap: 14px; align-items: start; }
.tv-gallery figure { margin: 0; }
.tv-gallery img { display: block; width: 100%; height: auto; }
.tv-gallery figcaption { font-size: .8rem; color: var(--muted); margin-top: 8px; }
@media (max-width: 760px) {
  .tv-audio-grid { grid-template-columns: minmax(0, 1fr); }
  .tv-gallery-grid { grid-template-columns: minmax(0, 1fr); }
}
.tv-gallery-grid figure:first-child:nth-last-child(5), .tv-gallery-grid figure:last-child:nth-child(5) { grid-column: 1 / -1; }

/* Capa original: o slide que a matéria tinha na página inicial do RENDEZVOUS */
.tv-story .tv-banner { margin: 0 auto; padding-top: clamp(28px, 5vw, 56px); }
.tv-story .tv-banner img { display: block; width: 100%; max-height: none; height: auto; aspect-ratio: 960 / 370; object-fit: cover; }
.tv-banner figcaption { font-size: .8rem; color: #685749; padding-top: 8px; }
.tv-banner + .tv-story-grid { padding-top: clamp(24px, 4vw, 44px); }
.tv-chapters button.is-current { background: #d9bd9826; box-shadow: inset 2px 0 var(--sand); }
.tv-audio { scroll-margin-top: 110px; }
