/*
 * LuxTV — "sala escura, luz de projetor".
 * Fundo de cinema apagado (violeta quase preto), veludo das poltronas nas
 * superfícies, texto cor de tela de projeção e a lâmpada âmbar do projetor
 * marcando o que está "aceso": item escolhido, ação principal, foco.
 * Tipo: Archivo variável — condensada e pesada nos títulos (letreiro),
 * largura normal no texto.
 */

/* ---------- Fontes (no próprio site) ---------- */
@font-face {
	font-family: "Archivo Variable";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url(../fonts/archivo-latin.woff2) format("woff2-variations"), url(../fonts/archivo-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo Variable";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url(../fonts/archivo-latin-ext.woff2) format("woff2-variations"), url(../fonts/archivo-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Archivo Variable";
	font-style: italic;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url(../fonts/archivo-latin-italic.woff2) format("woff2-variations"), url(../fonts/archivo-latin-italic.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens ---------- */
:root {
	--night: #120f1d;
	--night-deep: #0d0a16;
	--velvet: #1d1830;
	--velvet-2: #2a2343;
	--velvet-3: #3a3159;
	--screen: #f3efe6;
	--screen-soft: rgba(243, 239, 230, .86);
	--dim: #a69fbd;
	--lamp: #ffc145;
	--lamp-2: #ffd77e;
	--lamp-ink: #2a1d00;
	--line: rgba(243, 239, 230, .1);
	--line-2: rgba(243, 239, 230, .18);
	--good: #6fd89a;
	--bad: #ff8a75;

	--radius-s: 6px;
	--radius: 10px;
	--radius-l: 16px;
	--max: 1360px;
	--gutter: clamp(16px, 4vw, 40px);
	--bleed: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
	--header-h: 68px;

	--font: "Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--display-stretch: 74%;
	color-scheme: dark;
}
@media (max-width: 899px) {
	:root { --header-h: 60px; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0;
	background: var(--night);
	color: var(--screen);
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 400;
	font-stretch: 100%;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
img, svg, video, iframe { max-width: 100%; }
img { display: block; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--lamp-2); }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4, h5 { margin: 0 0 .5em; line-height: 1.12; font-weight: 700; text-wrap: balance; }
p { margin: 0 0 1em; }
:where(ul[role="list"], ol[role="list"]) { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--lamp); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--lamp); color: var(--lamp-ink); }
.icon { width: 1.25em; height: 1.25em; flex: none; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
	position: absolute; left: 12px; top: -100px; z-index: 1000;
	padding: .7rem 1rem; border-radius: var(--radius); background: var(--lamp); color: var(--lamp-ink); font-weight: 700; text-decoration: none;
}
.skip-link:focus { top: 12px; }
.site-main:focus { outline: none; }

.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }

/* ---------- Cabeçalho ---------- */
.site-header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(18, 15, 29, .9);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 var(--line);
	transition: background-color .25s ease, box-shadow .25s ease;
}
.has-hero .site-header:not(.is-scrolled):not(.is-open) {
	background: linear-gradient(180deg, rgba(13, 10, 22, .78), rgba(13, 10, 22, 0));
	-webkit-backdrop-filter: none; backdrop-filter: none;
	box-shadow: none;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

.site-header__inner { display: flex; align-items: center; gap: 2rem; min-height: var(--header-h); }

.brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--screen); }
.brand:hover { color: var(--screen); }
.brand__lamp {
	width: 12px; height: 12px; border-radius: 50%; background: var(--lamp);
	box-shadow: 0 0 0 4px rgba(255, 193, 69, .14), 0 0 18px 5px rgba(255, 193, 69, .42);
}
.brand__name { font-stretch: 72%; font-weight: 850; font-size: 1.65rem; letter-spacing: -.01em; line-height: 1; }
.custom-logo-link img { max-height: 44px; width: auto; }

.site-panel { display: flex; align-items: center; gap: 2rem; flex: 1; }
.nav { flex: 1; }
.nav__list, .nav ul { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.nav a {
	position: relative; display: block; padding: .55rem .8rem; border-radius: 8px;
	color: var(--screen-soft); font-weight: 600; font-size: .98rem; text-decoration: none;
}
.nav a:hover { color: var(--screen); background: rgba(243, 239, 230, .06); }
.nav .current-menu-item > a, .nav .current-menu-ancestor > a, .nav a[aria-current] { color: var(--screen); }
.nav .current-menu-item > a::after, .nav .current-menu-ancestor > a::after, .nav a[aria-current]::after {
	content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 2px; border-radius: 2px; background: var(--lamp);
}
.nav .sub-menu { display: none; }

.searchbox { position: relative; display: flex; align-items: center; }
.searchbox input[type="search"] {
	width: 100%; min-height: 42px; padding: 0 2.9rem 0 1rem;
	border: 1px solid var(--line-2); border-radius: 999px;
	background: rgba(29, 24, 48, .78); color: var(--screen);
	font-size: .95rem;
}
.searchbox input::placeholder { color: var(--dim); opacity: 1; }
.searchbox input:focus { outline: none; border-color: var(--lamp); box-shadow: 0 0 0 3px rgba(255, 193, 69, .22); }
.searchbox input::-webkit-search-cancel-button { filter: invert(.7); }
.searchbox button {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%;
	background: transparent; color: var(--dim); cursor: pointer;
}
.searchbox button:hover { color: var(--lamp); }
.site-panel .searchbox { width: min(320px, 30vw); }

.nav-toggle {
	display: none; margin-left: auto; width: 44px; height: 44px; place-items: center;
	border: 1px solid var(--line-2); border-radius: 50%; background: transparent; cursor: pointer;
}
.nav-toggle__close { display: none; }

@media (max-width: 899px) {
	.site-header__inner { gap: 1rem; }
	.nav-toggle { display: grid; }
	.site-panel {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 1rem;
		padding: 1rem var(--gutter) 1.5rem;
		background: var(--night); border-bottom: 1px solid var(--line);
		box-shadow: 0 24px 40px rgba(0, 0, 0, .45);
	}
	.js .site-panel { display: none; }
	.js .site-header.is-open .site-panel { display: flex; }
	.js .site-header.is-open .nav-toggle__open { display: none; }
	.js .site-header.is-open .nav-toggle__close { display: block; }
	.nav__list, .nav ul { flex-direction: column; align-items: stretch; }
	.nav a { padding: .8rem .4rem; font-size: 1.1rem; }
	.nav .current-menu-item > a::after, .nav a[aria-current]::after { left: .4rem; right: auto; width: 24px; bottom: .45rem; }
	.site-panel .searchbox { width: 100%; order: -1; }
	.searchbox input[type="search"] { min-height: 48px; font-size: 1rem; }
	html:not(.js) .site-panel { position: static; box-shadow: none; padding-inline: 0; }
	html:not(.js) .site-header__inner { flex-wrap: wrap; }
}

/* Páginas com imagem grande: a imagem sobe por baixo do cabeçalho transparente. */
.has-hero .hero, .has-hero .title-hero, .has-hero .season-hero, .has-hero .episode-hero { margin-top: calc(var(--header-h) * -1); }
.has-hero .title-hero, .has-hero .season-hero, .has-hero .episode-hero { padding-top: var(--header-h); }
.has-hero .hero__content { padding-top: calc(var(--header-h) + 4rem); }

/* ---------- Botões, metadados, notas, selos ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	min-height: 46px; padding: .65em 1.3em;
	border: 1px solid transparent; border-radius: 999px;
	font-weight: 650; font-size: .98rem; line-height: 1.1; text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn .icon { width: 1.15em; height: 1.15em; }
.btn--lamp { background: var(--lamp); color: var(--lamp-ink); }
.btn--lamp:hover { background: var(--lamp-2); color: var(--lamp-ink); }
.btn--ghost { background: rgba(243, 239, 230, .07); border-color: var(--line-2); color: var(--screen); }
.btn--ghost:hover { background: rgba(243, 239, 230, .14); color: var(--screen); }

.meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem 1.15rem; margin: 0; color: var(--dim); font-size: .93rem; }
.meta a { color: var(--screen-soft); text-decoration: none; }
.meta a:hover { color: var(--lamp-2); text-decoration: underline; }
.badge { display: inline-block; padding: .15em .6em; border-radius: 6px; background: rgba(255, 193, 69, .14); color: var(--lamp-2); font-weight: 600; font-size: .85rem; }

.score {
	display: inline-flex; align-items: center; padding: .12em .45em; border-radius: 6px;
	font-weight: 700; font-size: .78rem; line-height: 1.35; font-variant-numeric: tabular-nums;
}
.score--high { background: rgba(111, 216, 154, .14); color: var(--good); }
.score--mid { background: rgba(255, 193, 69, .14); color: var(--lamp); }
.score--low { background: rgba(255, 138, 117, .14); color: var(--bad); }

.score-ring { position: relative; display: inline-grid; place-items: center; width: 62px; height: 62px; flex: none; border-radius: 50%; background: var(--night-deep); }
.score-ring svg { position: absolute; inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); transform: rotate(-90deg); }
.score-ring circle { fill: none; stroke-width: 4; }
.score-ring__track { stroke: rgba(243, 239, 230, .12); }
.score-ring__bar { stroke-linecap: round; }
.score--high .score-ring__bar { stroke: var(--good); }
.score--mid .score-ring__bar { stroke: var(--lamp); }
.score--low .score-ring__bar { stroke: var(--bad); }
.score-ring b { position: relative; font-size: 1.1rem; font-weight: 800; font-stretch: 85%; font-variant-numeric: tabular-nums; }
.score-ring small { font-size: .6em; vertical-align: .5em; margin-left: 1px; }

.cert {
	display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 .3rem;
	border-radius: 6px; font-weight: 800; font-stretch: 85%; font-size: .9rem; line-height: 1; color: #fff;
}
.cert--l { background: #0c9447; }
.cert--10 { background: #0f7dc2; }
.cert--12 { background: #f8c411; color: #231a00; }
.cert--14 { background: #e67824; }
.cert--16 { background: #db2827; }
.cert--18 { background: #000; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
.cert--x { background: var(--velvet-3); }

.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chips li { padding: .25em .65em; border-radius: 6px; background: var(--velvet-2); font-size: .84rem; color: var(--screen-soft); }
.chips a { text-decoration: none; }

/* ---------- Cartões ---------- */
.card { position: relative; }
.card__link { display: block; color: inherit; text-decoration: none; }
.card__link:hover { color: inherit; }
.card__media {
	position: relative; display: block; overflow: hidden; aspect-ratio: 2 / 3;
	border-radius: var(--radius-s); background: var(--velvet);
	box-shadow: inset 0 0 0 1px var(--line);
}
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: filter .2s ease; }
.card__body { display: block; padding: .65rem .1rem 0; }
.card__title {
	display: -webkit-box; margin: 0 0 .3rem; overflow: hidden;
	-webkit-box-orient: vertical; -webkit-line-clamp: 2;
	font-size: .97rem; font-weight: 650; line-height: 1.25;
}
.card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .55rem; color: var(--dim); font-size: .84rem; }
.card__date { color: var(--lamp); font-weight: 650; }
.card__kicker { display: block; margin-bottom: .15rem; color: var(--lamp); font-size: .82rem; font-weight: 650; }
a.card__link:hover .card__title { color: var(--lamp-2); }
a.card__link:hover .card__media img { filter: brightness(1.1); }
.card__link:focus-visible { outline: none; }
.card__link:focus-visible .card__media { outline: 2px solid var(--lamp); outline-offset: 3px; }

.card--episode .card__media { aspect-ratio: 16 / 9; }
.card__code {
	position: absolute; left: 8px; bottom: 8px; padding: .15em .5em; border-radius: 5px;
	background: rgba(13, 10, 22, .86); color: var(--screen); font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.card--person .card__media { aspect-ratio: 2 / 3; }
.card--person .card__title { font-size: .93rem; }
.card--person .card__meta { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

.ph {
	display: flex; align-items: flex-end; width: 100%; height: 100%; padding: .9rem;
	background: linear-gradient(160deg, var(--velvet-2), var(--velvet) 70%);
	color: var(--dim); font-stretch: 72%; font-weight: 800; font-size: 1.15rem; line-height: 1.02;
	overflow: hidden;
}
.ph--person { align-items: center; justify-content: center; font-size: 2rem; color: var(--velvet-3); font-stretch: 85%; }

/* ---------- Trilhos ---------- */
.rail { margin: clamp(2.2rem, 4.5vw, 3.5rem) 0; }
.rail__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1.1rem; max-width: var(--max); margin: 0 auto .95rem; padding-inline: var(--gutter); }
.rail__title { margin: 0; font-stretch: 80%; font-weight: 760; font-size: clamp(1.35rem, 1.1rem + .9vw, 1.8rem); letter-spacing: -.005em; }
.rail__more { color: var(--lamp); font-weight: 650; font-size: .92rem; text-decoration: none; }
.rail__more:hover { color: var(--lamp-2); text-decoration: underline; }
.rail__nav { display: flex; gap: .4rem; margin-left: auto; align-self: center; }
.rail__nav[hidden] { display: none; }
.rail__btn {
	display: grid; place-items: center; width: 40px; height: 40px; padding: 0;
	border: 1px solid var(--line-2); border-radius: 50%; background: transparent; color: var(--screen); cursor: pointer;
}
.rail__btn:hover:not(:disabled) { border-color: var(--lamp); color: var(--lamp); }
.rail__btn:disabled { opacity: .3; cursor: default; }
.rail__btn .icon { width: 20px; height: 20px; }
.rail__track {
	--card-w: 176px;
	display: grid; grid-auto-flow: column; grid-auto-columns: var(--card-w); gap: 18px;
	margin: 0; padding: 0 var(--bleed) .4rem;
	overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-padding-inline: var(--bleed);
	scrollbar-width: none;
}
.rail__track::-webkit-scrollbar { display: none; }
.rail__item { scroll-snap-align: start; min-width: 0; }
.rail__track--wide { --card-w: 312px; }
.rail--people .rail__track { --card-w: 146px; }
.rail--seasons .rail__track { --card-w: 150px; }

/* Trilho dentro de uma coluna (páginas de título). */
.rail--inset { margin: 0; }
.rail--inset .rail__head { padding-inline: 0; margin-inline: 0; }
.rail--inset .rail__track { padding-inline: 0; scroll-padding-inline: 0; }
.title-main .rail__title, .person__main .rail__title, .episode-body .rail__title { font-size: clamp(1.25rem, 1.1rem + .7vw, 1.6rem); }

@media (max-width: 640px) {
	.rail__nav { display: none !important; } /* No celular, arrastar com o dedo basta. */
	.rail__track { --card-w: 136px; gap: 12px; }
	.rail__track--wide { --card-w: 78vw; }
	.rail--people .rail__track { --card-w: 118px; }
}

/* Top 10: o número fica ao lado do pôster, alinhado à base dele. */
.rail__track--top10 { --card-w: 262px; gap: 4px; }
.card__ranked { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: end; }
.card__rank {
	position: relative; z-index: 0; margin-right: -26px; text-align: right;
	font-stretch: 62%; font-weight: 900; font-size: 11rem; line-height: .72; letter-spacing: -.02em;
	color: var(--night); -webkit-text-stroke: 2px rgba(166, 159, 189, .5); paint-order: stroke fill;
	user-select: none;
}
.card__rank--2 { font-size: 8.4rem; letter-spacing: -.07em; padding-right: .07em; }
.card--ranked .card__media { z-index: 1; }
.card--ranked .card__body { padding-left: 96px; }
.rail__item:nth-child(-n+3) .card__rank { -webkit-text-stroke-color: rgba(255, 193, 69, .85); }
a.card__link:hover .card__rank { -webkit-text-stroke-color: var(--lamp); }
@media (max-width: 640px) {
	.rail__track--top10 { --card-w: 206px; }
	.card__ranked { grid-template-columns: 74px minmax(0, 1fr); }
	.card__rank { font-size: 8.4rem; margin-right: -20px; }
	.card__rank--2 { font-size: 6.4rem; }
	.card--ranked .card__body { padding-left: 74px; }
}

/* ---------- Página inicial: destaque ---------- */
.hero { position: relative; isolation: isolate; }
.hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(110% 80% at 0% 0%, rgba(255, 193, 69, .17), rgba(255, 193, 69, 0) 58%);
	mix-blend-mode: screen;
}
.hero__stage { display: grid; }
.hero__slide { grid-area: 1 / 1; position: relative; display: flex; align-items: flex-end; min-height: clamp(520px, 78vh, 760px); }
.hero__slide[hidden] { display: none; }
.hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--night-deep); }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.hero__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(18, 15, 29, .94) 0%, rgba(18, 15, 29, .62) 36%, rgba(18, 15, 29, .06) 72%),
		linear-gradient(0deg, var(--night) 0%, rgba(18, 15, 29, .55) 20%, rgba(18, 15, 29, 0) 46%);
}
.hero__content { position: relative; z-index: 2; padding-top: 4rem; padding-bottom: 2.25rem; }
.hero__title {
	max-width: 13ch; margin: 0 0 1rem;
	font-stretch: 70%; font-weight: 850; font-size: clamp(2.7rem, 1.6rem + 4.6vw, 5.6rem); line-height: .9; letter-spacing: -.018em;
}
.hero__title a { text-decoration: none; }
.hero__title a:hover { color: var(--screen); }
.hero__logo { width: auto; max-width: min(440px, 72vw); max-height: 170px; filter: drop-shadow(0 6px 26px rgba(0, 0, 0, .55)); }
.hero__meta { margin-bottom: 1rem; color: var(--screen-soft); }
.hero__overview { max-width: 54ch; margin-bottom: 0; color: var(--screen-soft); font-size: 1.06rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }

@media (prefers-reduced-motion: no-preference) {
	.hero__slide.is-active .hero__media img { animation: lux-lamp 1.2s cubic-bezier(.2, .7, .2, 1) both; }
	.hero__slide.is-active .hero__content { animation: lux-rise .7s .15s cubic-bezier(.2, .7, .2, 1) both; }
}
@keyframes lux-lamp { from { opacity: 0; filter: brightness(.35) saturate(.5); } to { opacity: 1; filter: none; } }
@keyframes lux-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.hero__rank { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(150px, auto) minmax(0, 1fr); align-items: center; gap: 1.5rem; padding-bottom: .5rem; }
.hero__heading { margin: 0; font-stretch: 72%; font-weight: 820; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1; }
.hero__list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.hero__tab {
	display: grid; grid-template-columns: auto 36px minmax(0, 1fr); align-items: center; gap: .55rem;
	height: 100%; padding: .55rem .6rem; border-radius: var(--radius);
	color: var(--dim); text-decoration: none;
	box-shadow: inset 0 0 0 1px var(--line);
	transition: background-color .15s ease, color .15s ease;
}
.hero__tab:hover { color: var(--screen); background: rgba(243, 239, 230, .05); }
.hero__tab[aria-selected="true"] { color: var(--screen); background: var(--velvet); box-shadow: inset 0 0 0 1px rgba(255, 193, 69, .45), 0 0 26px -6px rgba(255, 193, 69, .4); }
.hero__num { font-stretch: 62%; font-weight: 900; font-size: 1.7rem; line-height: 1; color: var(--velvet-3); min-width: .9ch; text-align: center; }
.hero__tab[aria-selected="true"] .hero__num { color: var(--lamp); }
.hero__thumb { display: block; width: 36px; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 4px; background: var(--velvet-2); }
.hero__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hero__tab-text { display: flex; flex-direction: column; min-width: 0; }
.hero__tab-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: inherit; font-stretch: 86%; font-weight: 680; font-size: .9rem; line-height: 1.18; -webkit-hyphens: auto; hyphens: auto; }
.hero__tab-meta { color: var(--dim); font-size: .76rem; }

@media (max-width: 1199px) {
	.hero__rank { grid-template-columns: 1fr; gap: .8rem; }
	.hero__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.hero__slide { min-height: 560px; }
	.hero__media img { object-position: 62% 20%; }
	.hero__media::after {
		background: linear-gradient(0deg, var(--night) 0%, rgba(18, 15, 29, .82) 42%, rgba(18, 15, 29, .15) 75%),
			linear-gradient(180deg, rgba(13, 10, 22, .6), rgba(13, 10, 22, 0) 30%);
	}
	.hero__overview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 1rem; }
	.hero__list {
		display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 220px;
		overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none;
		margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter);
	}
	.hero__list li { scroll-snap-align: start; }
}

/* ---------- Página inicial: título em destaque, gêneros ---------- */
.spotlight { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 470px; margin: clamp(2.5rem, 6vw, 4.5rem) 0; }
.spotlight__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--night-deep); }
.spotlight__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.spotlight__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(18, 15, 29, .96) 0%, rgba(18, 15, 29, .7) 40%, rgba(18, 15, 29, .1) 78%),
		linear-gradient(0deg, var(--night) 0%, rgba(18, 15, 29, 0) 30%),
		linear-gradient(180deg, var(--night) 0%, rgba(18, 15, 29, 0) 30%);
}
.spotlight__body { padding-block: 3.5rem; }
.spotlight__label { margin: 0 0 .9rem; color: var(--lamp); font-size: 1rem; font-weight: 700; }
.spotlight__title { max-width: 16ch; margin: 0 0 .9rem; font-stretch: 70%; font-weight: 850; font-size: clamp(2.3rem, 1.5rem + 3.4vw, 4.4rem); line-height: .92; letter-spacing: -.015em; }
.spotlight__title a { text-decoration: none; }
.spotlight__tagline { margin: 1rem 0 .4rem; color: var(--lamp-2); font-style: italic; font-size: 1.08rem; }
.spotlight__overview { max-width: 56ch; margin: .6rem 0 0; color: var(--screen-soft); }
.spotlight .meta { color: var(--screen-soft); }

.genres { margin-block: clamp(2.2rem, 4.5vw, 3.5rem); }
.genres .rail__title { margin-bottom: 1rem; }
.genres__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)); gap: 10px; }
.genre {
	display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.05rem 1.1rem 1rem;
	border: 1px solid var(--line); border-radius: var(--radius); background: var(--velvet); text-decoration: none;
}
.genre:hover { border-color: rgba(255, 193, 69, .5); background: var(--velvet-2); color: var(--screen); }
.genre__name { font-stretch: 76%; font-weight: 760; font-size: 1.28rem; line-height: 1.05; }
.genre__count { color: var(--dim); font-size: .82rem; }

.ad-row { margin-block: 2rem; text-align: center; }
.ad-row--header { margin-block: 1rem 0; }
.luxtv-ad__label { display: block; margin-bottom: .35rem; color: var(--dim); font-size: .72rem; }

.empty-state { max-width: 62ch; padding: clamp(3rem, 8vw, 6rem) 0; }
.empty-state h1, .empty-state h2 { font-stretch: 78%; font-weight: 780; font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem); }
.empty-state p { color: var(--dim); }

/* ---------- Trilha de navegação ---------- */
.crumbs ol { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0; padding: 0; list-style: none; font-size: .86rem; color: var(--dim); }
.crumbs li + li::before { content: "/"; margin-right: .3rem; color: var(--velvet-3); }
.crumbs a { color: var(--dim); text-decoration: none; }
.crumbs a:hover { color: var(--lamp-2); text-decoration: underline; }
.crumbs [aria-current] { color: var(--screen-soft); }

/* ---------- Página de título ---------- */
.title-hero { position: relative; isolation: isolate; }
.title-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: radial-gradient(90% 70% at 0% 0%, rgba(255, 193, 69, .13), rgba(255, 193, 69, 0) 60%);
	mix-blend-mode: screen;
}
.title-hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--night-deep); }
.title-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.title-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(18, 15, 29, .97) 0%, rgba(18, 15, 29, .88) 34%, rgba(18, 15, 29, .62) 70%, rgba(18, 15, 29, .5) 100%),
		linear-gradient(0deg, var(--night) 0%, rgba(18, 15, 29, 0) 38%);
}
.title-hero__inner { position: relative; z-index: 1; padding-top: 1.4rem; padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.title-hero__grid { display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 1fr); align-items: start; gap: clamp(1.5rem, 3.5vw, 3.25rem); margin-top: 1.5rem; }
.title-hero__poster { overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--radius); background: var(--velvet); box-shadow: 0 24px 60px rgba(0, 0, 0, .55), inset 0 0 0 1px var(--line); }
.title-hero__poster img { width: 100%; height: 100%; object-fit: cover; }
.title-hero__title { margin: 0 0 .8rem; font-stretch: var(--display-stretch); font-weight: 830; font-size: clamp(2.2rem, 1.4rem + 3.1vw, 4.1rem); line-height: .95; letter-spacing: -.014em; }
.title-hero__year { color: var(--dim); font-weight: 400; }
.title-hero .meta { color: var(--screen-soft); }
.title-hero__row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin: 1.4rem 0 1.25rem; }
.title-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.rating { display: flex; align-items: center; gap: .8rem; }
.rating__label { font-weight: 680; line-height: 1.25; }
.rating__label small { display: block; color: var(--dim); font-size: .83rem; font-weight: 400; }
.title-hero__tagline { margin: 0 0 1rem; color: var(--lamp-2); font-style: italic; font-size: 1.08rem; }
.title-hero__h { margin: 0 0 .45rem; font-size: 1.15rem; font-weight: 720; }
.title-hero__overview { max-width: 70ch; color: var(--screen-soft); font-size: 1.04rem; }
.title-hero__overview p { margin: 0 0 .8em; }

.crew-keys { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem 1.5rem; margin: 1.6rem 0 0; padding: 1.3rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.crew-keys li { display: flex; flex-direction: column; gap: .1rem; }
.crew-keys a, .crew-keys strong { font-weight: 720; text-decoration: none; }
.crew-keys a:hover { text-decoration: underline; }
.crew-keys span { color: var(--dim); font-size: .88rem; }

@media (max-width: 720px) {
	.title-hero__grid { grid-template-columns: 1fr; }
	.title-hero__poster { width: min(56vw, 230px); }
	.title-hero__media img { opacity: .5; }
}

.title-body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 4vw, 3.75rem); padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.title-main { min-width: 0; }
.title-main > * + * { margin-top: clamp(2.25rem, 4vw, 3rem); }
.title-side { min-width: 0; }
@media (max-width: 1023px) { .title-body { grid-template-columns: minmax(0, 1fr); } }

.block__title { margin: 0 0 1rem; font-stretch: 80%; font-weight: 760; font-size: clamp(1.25rem, 1.1rem + .7vw, 1.6rem); }
.block__empty { color: var(--dim); }

/* Onde assistir */
.watch { padding: clamp(1.15rem, 2.5vw, 1.75rem); border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); }
.watch__groups { display: grid; gap: 1.3rem; }
.watch__kind { margin: 0 0 .6rem; color: var(--dim); font-size: .86rem; font-weight: 650; }
.watch__list { display: flex; flex-wrap: wrap; gap: .6rem; }
.provider {
	display: inline-flex; align-items: center; gap: .65rem; padding: .4rem 1rem .4rem .4rem;
	border-radius: 14px; background: var(--velvet-2); font-weight: 650; font-size: .94rem; text-decoration: none;
}
.provider:hover { background: var(--velvet-3); color: var(--screen); }
.provider__logo { display: block; width: 42px; height: 42px; flex: none; overflow: hidden; border-radius: 10px; background: var(--velvet-3); }
.provider__logo img { width: 100%; height: 100%; object-fit: cover; }
.provider__logo .ph { align-items: center; justify-content: center; padding: 0; font-size: 1rem; color: var(--screen-soft); }
.watch__credit { margin: 1.1rem 0 0; color: var(--dim); font-size: .8rem; }

/* Temporada atual */
.season-card {
	display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 1.25rem; padding: 1rem;
	border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); text-decoration: none;
}
.season-card:hover { border-color: rgba(255, 193, 69, .45); color: var(--screen); }
.season-card__poster { display: block; overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--radius-s); background: var(--velvet-2); }
.season-card__poster img { width: 100%; height: 100%; object-fit: cover; }
.season-card__name { display: block; margin-bottom: .35rem; font-stretch: 78%; font-weight: 780; font-size: 1.5rem; line-height: 1.05; }
.season-card__text { display: block; margin-top: .7rem; color: var(--screen-soft); font-size: .95rem; }
.season-card__next { display: block; margin-top: .7rem; color: var(--lamp); font-size: .9rem; font-weight: 650; }
.season-now .block__title { margin-bottom: .9rem; }

/* Vídeos */
.video { display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; }
.video__thumb { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius-s); background: var(--velvet); }
.video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.video__play {
	position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; padding: 14px 13px 14px 15px;
	border-radius: 50%; background: rgba(13, 10, 22, .78); color: var(--lamp);
	transition: background-color .15s ease, color .15s ease;
}
.video:hover .video__play, .video:focus-visible .video__play { background: var(--lamp); color: var(--lamp-ink); }
.video__name { display: -webkit-box; margin-top: .6rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-weight: 650; font-size: .94rem; line-height: 1.3; }
.video__type { display: block; color: var(--dim); font-size: .8rem; }

/* Imagens */
.gallery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
@media (max-width: 520px) { .gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }
.gallery__grid a { display: block; overflow: hidden; border-radius: var(--radius-s); background: var(--velvet); }
.gallery__grid img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: filter .2s ease; }
.gallery__grid a:hover img { filter: brightness(1.12); }

/* Coleção */
.collection { position: relative; isolation: isolate; overflow: hidden; min-height: 220px; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--radius-l); background: var(--velvet); }
.collection__media { position: absolute; inset: 0; z-index: -1; }
.collection__media img { width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.collection__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 15, 29, .92), rgba(18, 15, 29, .35)); }
.collection__list { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.collection__list a { font-weight: 680; }
.collection__list span { color: var(--dim); font-size: .88rem; }

/* Elenco e equipe completos */
.credits { border-top: 1px solid var(--line); }
.credits__summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; padding: 1.1rem 0; cursor: pointer; list-style: none; }
.credits__summary::-webkit-details-marker { display: none; }
.credits__summary .block__title { margin: 0; }
.credits__summary::after { content: "+"; margin-left: auto; color: var(--lamp); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.credits[open] .credits__summary::after { content: "−"; }
.credits__count { color: var(--dim); font-size: .9rem; }
.credits__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem 2.5rem; padding-bottom: 1rem; }
.credits__h { margin: 1rem 0 .6rem; color: var(--dim); font-size: .95rem; font-weight: 650; }
.credits__list li { display: flex; flex-direction: column; padding: .45rem 0; border-top: 1px solid var(--line); }
.credits__list a, .credits__list span { font-weight: 620; }
.credits__list small { color: var(--dim); font-size: .85rem; }

/* Coluna lateral */
.side-block { margin: 0 0 1.6rem; padding: 0 0 1.6rem; border-bottom: 1px solid var(--line); }
.side-block:last-child { border-bottom: 0; }
.side-block__title { margin: 0 0 1rem; font-size: 1.05rem; font-weight: 720; }
.facts__list { display: grid; gap: 1rem; margin: 0; }
.facts__list dt { font-size: .88rem; font-weight: 680; }
.facts__list dd { margin: .1rem 0 0; color: var(--dim); font-size: .93rem; }
.networks { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.2rem; padding: 0; list-style: none; }
.networks li { display: flex; align-items: center; min-height: 40px; padding: .45rem .7rem; border-radius: 8px; background: var(--screen); color: var(--night); font-weight: 700; }
.networks__logo { width: auto; height: 22px; max-width: 120px; object-fit: contain; }
.links { display: flex; flex-direction: column; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.links a { display: inline-flex; align-items: center; gap: .35rem; font-weight: 640; text-decoration: none; }
.links a:hover { text-decoration: underline; }
.links .icon { width: 15px; height: 15px; color: var(--dim); }
.links--inline { flex-direction: row; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 1.4rem; }
.links--inline a { padding: .35rem .75rem; border-radius: 999px; background: var(--velvet); font-size: .88rem; }

/* ---------- Temporada ---------- */
.season-hero { position: relative; isolation: isolate; }
.season-hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.season-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; opacity: .45; }
.season-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 15, 29, .97) 0%, rgba(18, 15, 29, .75) 60%, rgba(18, 15, 29, .6)), linear-gradient(0deg, var(--night), rgba(18, 15, 29, 0) 45%); }
.season-hero__inner { padding-top: 1.4rem; padding-bottom: 2.25rem; }
.season-hero__grid { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: end; gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: 1.5rem; }
.season-hero__poster { overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--radius); background: var(--velvet); box-shadow: 0 20px 50px rgba(0, 0, 0, .5); }
.season-hero__poster img { width: 100%; height: 100%; object-fit: cover; }
.season-hero__show { margin: 0 0 .3rem; font-weight: 680; }
.season-hero__show a { color: var(--lamp); text-decoration: none; }
.season-hero__show a:hover { text-decoration: underline; }
.season-hero__title { margin: 0 0 .7rem; font-stretch: var(--display-stretch); font-weight: 830; font-size: clamp(2.1rem, 1.4rem + 2.8vw, 3.6rem); line-height: .95; }
.season-hero__overview { max-width: 70ch; margin: 1rem 0 0; color: var(--screen-soft); }
@media (max-width: 640px) { .season-hero__grid { grid-template-columns: 110px minmax(0, 1fr); } }

.season-body { padding-top: 1.75rem; }
.season-nav ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.75rem; padding: 0; list-style: none; }
.season-nav a { display: inline-block; min-width: 46px; padding: .5em .9em; border-radius: 999px; background: var(--velvet); font-weight: 680; font-size: .92rem; text-align: center; text-decoration: none; }
.season-nav a:hover { background: var(--velvet-2); color: var(--screen); }
.season-nav a[aria-current] { background: var(--lamp); color: var(--lamp-ink); }
.season-body__title { margin-bottom: 1rem; }
.season-body__back { margin: 2rem 0 0; }

.episodes { display: grid; gap: .9rem; }
.episode-row {
	display: grid; grid-template-columns: minmax(150px, 290px) minmax(0, 1fr); gap: 1.25rem; padding: 1rem;
	border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet);
}
.episode-row__media { display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius-s); background: var(--velvet-2); }
.episode-row__media img { width: 100%; height: 100%; object-fit: cover; }
.episode-row__title { display: flex; align-items: baseline; gap: .65rem; margin: .1rem 0 .45rem; font-size: 1.15rem; }
.episode-row__title a { text-decoration: none; }
.episode-row__title a:hover { color: var(--lamp-2); text-decoration: underline; }
.episode-row__num { min-width: 1.6ch; color: var(--lamp); font-stretch: 68%; font-weight: 880; font-size: 1.55rem; line-height: 1; }
.episode-row__text { margin: .65rem 0 0; color: var(--screen-soft); font-size: .95rem; }
.episode-row.is-upcoming { border-style: dashed; }
.episode-row.is-upcoming .episode-row__media { opacity: .6; }
@media (max-width: 640px) {
	.episode-row { grid-template-columns: 124px minmax(0, 1fr); gap: .85rem; padding: .7rem; align-items: start; }
	.episode-row__title { font-size: 1rem; gap: .45rem; }
	.episode-row__num { font-size: 1.25rem; }
	.episode-row .meta { font-size: .82rem; gap: .3rem .8rem; }
	.episode-row__text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .88rem; }
}

/* ---------- Episódio ---------- */
.episode-hero { position: relative; isolation: isolate; }
.episode-hero__backdrop { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.episode-hero__backdrop img { width: 100%; height: 100%; object-fit: cover; opacity: .3; filter: blur(2px); transform: scale(1.03); }
.episode-hero__backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--night), rgba(18, 15, 29, .7) 60%, rgba(18, 15, 29, .85)); }
.episode-hero__inner { padding-top: 1.4rem; padding-bottom: 2.5rem; }
.episode-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: clamp(1.5rem, 3.5vw, 3rem); margin-top: 1.5rem; }
.episode-hero__still { overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius); background: var(--velvet); box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
.episode-hero__still img { width: 100%; height: 100%; object-fit: cover; }
.episode-hero__show { display: flex; flex-wrap: wrap; gap: .3rem .8rem; margin: 0 0 .35rem; font-weight: 680; }
.episode-hero__show a { color: var(--lamp); text-decoration: none; }
.episode-hero__show a:hover { text-decoration: underline; }
.episode-hero__show span { color: var(--dim); font-variant-numeric: tabular-nums; }
.episode-hero__title { margin: 0 0 .8rem; font-stretch: var(--display-stretch); font-weight: 830; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.4rem); line-height: .96; }
.episode-hero__overview { max-width: 64ch; margin-top: 1.1rem; color: var(--screen-soft); }
.episode-hero__overview.is-empty { color: var(--dim); }
@media (max-width: 899px) { .episode-hero__grid { grid-template-columns: 1fr; } }

.episode-body { padding-top: 1.75rem; }
.episode-body > * + * { margin-top: clamp(2rem, 4vw, 2.75rem); }
.ep-nav { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.ep-nav__link { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); text-decoration: none; }
.ep-nav__link:hover { border-color: rgba(255, 193, 69, .45); color: var(--screen); }
.ep-nav__link--next { align-items: flex-end; text-align: right; }
.ep-nav__label { display: inline-flex; align-items: center; gap: .3rem; color: var(--dim); font-size: .86rem; }
.ep-nav__link--next .ep-nav__label { flex-direction: row-reverse; }
.ep-nav__label .icon { width: 16px; height: 16px; }
.ep-nav__title { font-weight: 680; }
@media (max-width: 640px) { .ep-nav { grid-template-columns: 1fr; } .ep-nav__spacer { display: none; } }

/* ---------- Pessoa ---------- */
.person-page { padding-top: 1.5rem; }
.person { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: 1.5rem; }
.person__photo { overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--radius); background: var(--velvet); }
.person__photo img { width: 100%; height: 100%; object-fit: cover; }
.person__photo .ph--person { font-size: 3.5rem; }
.person__side .side-block { margin-top: .4rem; border-bottom: 0; }
.person__main { min-width: 0; }
.person__main > * + * { margin-top: clamp(2rem, 4vw, 2.75rem); }
.person__name { margin: 0; font-stretch: var(--display-stretch); font-weight: 830; font-size: clamp(2.4rem, 1.5rem + 3.4vw, 4.4rem); line-height: .95; letter-spacing: -.014em; }
.person__bio { max-width: 72ch; color: var(--screen-soft); }
.person__bio .block__title { color: var(--screen); }
.aka { margin: 0; padding: 0; list-style: none; }
@media (max-width: 799px) {
	/* No celular: foto, nome, links, biografia, dados, trabalhos. */
	.person { display: flex; flex-direction: column; gap: 1.6rem; }
	.person__side, .person__main { display: contents; }
	.person__main > * + * { margin-top: 0; }
	.person__photo { order: 1; width: min(58vw, 240px); }
	.person__name { order: 2; }
	.person .links--inline { order: 3; margin: 0; }
	.person__bio { order: 4; }
	.person__side .side-block { order: 5; margin: 0; padding: 0; }
	.person__main > .rail { order: 6; }
	.person .filmography { order: 7; }
}

.clamp { position: relative; max-height: 11.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 62%, transparent); mask-image: linear-gradient(#000 62%, transparent); }
.clamp.is-open, .clamp.is-short, html:not(.js) .clamp { max-height: none; -webkit-mask-image: none; mask-image: none; }
.clamp p { margin: 0 0 .85em; }
.clamp__toggle { margin-top: .4rem; padding: 0; border: 0; background: none; color: var(--lamp); font-weight: 680; cursor: pointer; }
.clamp__toggle:hover { text-decoration: underline; }

.filmography__group { border-top: 1px solid var(--line); }
.filmography__group summary { display: flex; align-items: baseline; gap: .6rem; padding: 1rem 0; cursor: pointer; list-style: none; font-weight: 720; font-size: 1.1rem; }
.filmography__group summary::-webkit-details-marker { display: none; }
.filmography__group summary::after { content: "+"; margin-left: auto; color: var(--lamp); font-weight: 400; font-size: 1.4rem; line-height: 1; }
.filmography__group[open] summary::after { content: "−"; }
.filmography__group summary small { color: var(--dim); font-weight: 500; font-size: .9rem; }
.timeline { margin: 0 0 1rem; padding: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr) auto; align-items: baseline; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.timeline__year { color: var(--dim); font-weight: 650; font-variant-numeric: tabular-nums; }
.timeline__what a, .timeline__what > span { font-weight: 650; }
.timeline__what a { text-decoration: none; }
.timeline__what a:hover { color: var(--lamp-2); text-decoration: underline; }
.timeline__what small { display: block; color: var(--dim); font-size: .88rem; }
.timeline__type { color: var(--dim); font-size: .84rem; text-align: right; }
@media (max-width: 560px) { .timeline li { grid-template-columns: 3.6rem minmax(0, 1fr); } .timeline__type { grid-column: 2; text-align: left; } }

/* ---------- Catálogo ---------- */
.catalog__head, .prose-head { padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 1.25rem; }
.catalog__title { margin: 0; font-stretch: var(--display-stretch); font-weight: 830; font-size: clamp(2.3rem, 1.6rem + 2.8vw, 3.8rem); line-height: .95; letter-spacing: -.014em; }
.catalog__count { margin: .5rem 0 0; color: var(--dim); }
.catalog__desc { max-width: 70ch; margin: .8rem 0 0; color: var(--screen-soft); }

.filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .8rem 1rem; margin: 0 0 1.9rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); }
.filters__field { display: flex; flex-direction: column; gap: .3rem; min-width: 168px; }
.filters label { color: var(--dim); font-size: .8rem; font-weight: 650; }
.filters select, .comment-form select {
	min-height: 44px; padding: .5rem 2.4rem .5rem .85rem;
	border: 1px solid var(--line-2); border-radius: 10px;
	background: var(--velvet-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a69fbd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7rem center / 16px;
	color: var(--screen); font-size: .94rem;
	-webkit-appearance: none; appearance: none; cursor: pointer;
}
.filters select:focus { outline: none; border-color: var(--lamp); box-shadow: 0 0 0 3px rgba(255, 193, 69, .22); }
.filters__actions { display: flex; align-items: center; gap: 1rem; min-height: 44px; }
.js .filters__submit { display: none; }
.filters__clear { color: var(--lamp); font-size: .9rem; font-weight: 600; }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(146px, 1fr)); gap: 1.9rem 1.15rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 1180px) { .grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 480px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .9rem; } }

.pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 2.75rem 0 1rem; padding: 0; list-style: none; }
.pager .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .75rem; border-radius: 10px; background: var(--velvet); font-weight: 680; text-decoration: none; }
.pager a.page-numbers:hover { background: var(--velvet-2); color: var(--screen); }
.pager .current { background: var(--lamp); color: var(--lamp-ink); }
.pager .dots { background: none; }
.pager .icon { width: 18px; height: 18px; }

/* ---------- Busca ---------- */
.searchbox--big { max-width: 660px; margin-top: 1.25rem; }
.searchbox--big input[type="search"] { min-height: 54px; padding-left: 1.25rem; font-size: 1.06rem; }
.searchbox--big button { right: 7px; width: 42px; height: 42px; }
.tabs ul { display: flex; gap: .2rem; margin: .5rem 0 1.6rem; padding: 0; overflow-x: auto; border-bottom: 1px solid var(--line); list-style: none; scrollbar-width: none; }
.tabs a { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: -1px; padding: .85rem 1rem; border-bottom: 2px solid transparent; color: var(--dim); font-weight: 680; text-decoration: none; white-space: nowrap; }
.tabs a:hover { color: var(--screen); }
.tabs a[aria-current] { border-bottom-color: var(--lamp); color: var(--screen); }
.tabs__count { padding: .1em .55em; border-radius: 999px; background: var(--velvet-2); color: var(--dim); font-size: .78rem; font-variant-numeric: tabular-nums; }
.tabs a[aria-current] .tabs__count { background: rgba(255, 193, 69, .16); color: var(--lamp); }
.results { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.result { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 1.15rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); }
.result__media { display: block; overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--radius-s); background: var(--velvet-2); }
.result__media img { width: 100%; height: 100%; object-fit: cover; }
.result__media .ph { font-size: .9rem; padding: .5rem; }
.result--person .result__media .ph { font-size: 1.4rem; }
.result__title { margin: .1rem 0 .4rem; font-size: 1.22rem; }
.result__title a { text-decoration: none; }
.result__title a:hover { color: var(--lamp-2); text-decoration: underline; }
.result__year { color: var(--dim); font-weight: 400; }
.result__text { margin: .65rem 0 0; color: var(--screen-soft); font-size: .95rem; }

/* ---------- 404 ---------- */
.notfound { padding-block: clamp(3rem, 8vw, 6rem); }
.notfound__code { margin: 0 0 .5rem; font-stretch: 62%; font-weight: 900; font-size: clamp(7rem, 22vw, 15rem); line-height: .78; letter-spacing: -.04em; color: var(--night); -webkit-text-stroke: 2px var(--velvet-3); }
.notfound > p:not(.notfound__code) { max-width: 60ch; color: var(--screen-soft); margin-top: 1rem; }
.notfound__links { display: flex; flex-wrap: wrap; gap: .75rem; }

/* ---------- Blog e páginas ---------- */
.prose-wrap { max-width: calc(780px + var(--gutter) * 2); }
.prose { font-size: 1.07rem; line-height: 1.7; color: var(--screen-soft); }
.prose h2, .prose h3 { margin: 2rem 0 .7rem; color: var(--screen); }
.prose a { color: var(--lamp-2); }
.prose img { border-radius: var(--radius); }
.prose blockquote { margin: 1.5rem 0; padding-left: 1.2rem; border-left: 3px solid var(--lamp); color: var(--screen); }
.prose-figure { margin: 0 0 2rem; overflow: hidden; border-radius: var(--radius); }
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; }
.wp-caption-text, .wp-element-caption { color: var(--dim); font-size: .88rem; }
.posts { display: grid; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.post-card { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1.25rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-l); background: var(--velvet); }
.post-card__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-s); }
.post-card__title { font-size: 1.3rem; }
.post-card__title a { text-decoration: none; }
@media (max-width: 640px) { .post-card { grid-template-columns: 1fr; } }

/* ---------- Comentários ---------- */
.comments-wrap { margin-top: clamp(2.5rem, 5vw, 4rem); }
.comments { max-width: 780px; }
.comment-list { margin: 0 0 2rem; padding: 0; list-style: none; }
.comment-list .comment { padding: 1rem 0; border-top: 1px solid var(--line); }
.comment-list .children { list-style: none; padding-left: 1.5rem; }
.comment-author { display: flex; align-items: center; gap: .6rem; font-weight: 680; }
.comment-author img { border-radius: 50%; }
.comment-metadata, .comment-metadata a { color: var(--dim); font-size: .82rem; text-decoration: none; }
.comment-form label { display: block; margin-bottom: .3rem; color: var(--dim); font-size: .88rem; font-weight: 600; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: .7rem .9rem; border: 1px solid var(--line-2); border-radius: 10px; background: var(--velvet); color: var(--screen);
}
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--lamp); box-shadow: 0 0 0 3px rgba(255, 193, 69, .22); }
.comment-reply-title { font-size: 1.25rem; }

/* ---------- Rodapé ---------- */
.site-footer { margin-top: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid var(--line); background: linear-gradient(180deg, var(--night), var(--night-deep)); }
.site-footer__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; padding-block: 3rem 2.25rem; }
.site-footer__about p { max-width: 46ch; margin: 1rem 0 0; color: var(--dim); }
.site-footer__nav ul { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.site-footer__nav a { color: var(--dim); font-weight: 600; text-decoration: none; }
.site-footer__nav a:hover { color: var(--screen); }
.site-footer__nav a::after { display: none; }
.footer__heading, .site-footer__widgets h2, .site-footer__widgets h3 { margin: 0 0 .8rem; font-size: 1rem; font-weight: 700; }
.site-footer__widgets ul { margin: 0 0 1.4rem; padding: 0; list-style: none; }
.site-footer__widgets li { margin: 0 0 .45rem; }
.site-footer__widgets a { color: var(--dim); text-decoration: none; }
.site-footer__widgets a:hover { color: var(--screen); }
.widget { color: var(--screen-soft); font-size: .95rem; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { margin: 0 0 .45rem; }
.side-block h2:not(.side-block__title) { margin: 0 0 1rem; font-size: 1.05rem; font-weight: 720; }
.site-footer__credits { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; padding-block: 1.6rem 2.75rem; border-top: 1px solid var(--line); color: var(--dim); font-size: .85rem; }
.site-footer__copy { margin: 0; }
.attribution { display: flex; align-items: center; gap: 1.1rem; max-width: 760px; }
.attribution p { margin: 0; }
.attribution__logo { flex: none; text-decoration: none; }
.attribution__logo img { width: auto; height: 34px; }
.attribution__logo span { color: var(--screen); font-weight: 700; }
@media (max-width: 760px) {
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.site-footer__about { grid-column: 1 / -1; }
	.attribution { flex-direction: column; align-items: flex-start; }
}

/* ---------- Janela (trailer, imagem) ---------- */
.modal { width: min(1120px, 94vw); max-width: none; max-height: 94vh; padding: 0; overflow: hidden; border: 0; border-radius: var(--radius-l); background: #000; color: var(--screen); }
.modal::backdrop { background: rgba(8, 6, 14, .88); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.modal__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .55rem .55rem 1.15rem; background: var(--night); }
.modal__title { margin: 0; overflow: hidden; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.modal__close { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border: 0; border-radius: 50%; background: var(--velvet-2); cursor: pointer; }
.modal__close:hover { background: var(--lamp); color: var(--lamp-ink); }
.modal--video .modal__body { aspect-ratio: 16 / 9; }
.modal--video iframe { display: block; width: 100%; height: 100%; border: 0; }
.modal--image .modal__body { display: grid; place-items: center; background: #000; }
.modal--image img { width: auto; max-height: calc(94vh - 60px); }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
