/*
Theme Name: SiftCine Stream
Theme URI: https://siftcine.com/
Author: SiftCine
Description: A cinematic, editorial streaming experience for curated AI films.
Version: 1.3.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: siftcine-stream
*/

:root {
	--ink: #05070b;
	--ink-soft: #0a0e16;
	--panel: #101621;
	--panel-2: #151d2b;
	--text: #f7f9fc;
	--muted: #aab4c5;
	--line: rgba(255,255,255,.12);
	--cyan: #57e4ff;
	--violet: #8075ff;
	--gold: #f8c56b;
	--success: #5ee6a8;
	--shadow: 0 22px 60px rgba(0,0,0,.48);
	--content: min(1460px, calc(100vw - 72px));
	--header-h: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
	margin: 0;
	background:
		radial-gradient(circle at 85% -15%, rgba(94,83,255,.16), transparent 34rem),
		var(--ink);
	color: var(--text);
	font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
button { color: inherit; }
.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;
}
.site-shell { min-height: 100vh; overflow: hidden; }
.container { width: var(--content); margin-inline: auto; }

.site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 100;
	height: var(--header-h);
	transition: background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.site-header.is-scrolled,
.site-header.header-solid {
	background: rgba(5,7,11,.88);
	box-shadow: 0 1px 0 rgba(255,255,255,.08);
	backdrop-filter: blur(20px);
}
.header-inner {
	width: var(--content);
	height: 100%;
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 34px;
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 22px;
	font-weight: 850;
	letter-spacing: .065em;
	line-height: 1;
	white-space: nowrap;
}
.brand__mark {
	position: relative;
	width: 28px;
	height: 28px;
	border: 2px solid rgba(255,255,255,.85);
	border-radius: 50%;
	background: conic-gradient(from 200deg, var(--cyan), var(--violet), transparent 68%);
	box-shadow: inset 0 0 0 5px var(--ink), 0 0 26px rgba(87,228,255,.22);
}
.brand__mark::after {
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	background: var(--text);
	border-radius: 50%;
	inset: 50% auto auto 50%;
	transform: translate(-50%,-50%);
}
.brand__sift { color: var(--text); }
.brand__cine {
	background: linear-gradient(90deg,var(--cyan),#b1aaff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.primary-nav { margin-right: auto; }
.primary-nav > ul { list-style: none; display: flex; align-items: center; gap: 27px; padding: 0; margin: 0; }
.primary-nav > ul > li > a,
.category-menu__toggle {
	position: relative;
	color: rgba(255,255,255,.74);
	font-size: 14px;
	font-weight: 650;
	letter-spacing: .01em;
	transition: color .2s;
}
.primary-nav > ul > li > a:hover,
.primary-nav > ul > li > a:focus-visible,
.category-menu__toggle:hover,
.category-menu__toggle:focus-visible,
.category-menu.is-open .category-menu__toggle { color: #fff; }
.primary-nav > ul > li > a::after,
.category-menu__toggle::after {
	content: "";
	position: absolute;
	left: 0;right:100%;bottom:-9px;height:2px;
	background: linear-gradient(90deg,var(--cyan),var(--violet));
	transition: right .25s ease;
}
.primary-nav > ul > li > a:hover::after,
.primary-nav > ul > li > a:focus-visible::after,
.category-menu__toggle:hover::after,
.category-menu__toggle:focus-visible::after,
.category-menu.is-open .category-menu__toggle::after { right: 0; }
.category-menu { position: relative; }
.category-menu__toggle {
	appearance: none;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
}
.category-menu__toggle svg {
	width: 10px;
	height: 7px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	transition: transform .2s ease;
}
.category-menu.is-open .category-menu__toggle svg { transform: rotate(180deg); }
.category-menu__panel {
	position: absolute;
	z-index: 150;
	top: calc(100% + 22px);
	left: 50%;
	width: min(760px,calc(100vw - 40px));
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 25px 34px;
	padding: 24px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 18px;
	background:
		radial-gradient(circle at 7% 0%,rgba(87,228,255,.12),transparent 35%),
		radial-gradient(circle at 100% 100%,rgba(142,114,255,.12),transparent 38%),
		rgba(8,11,18,.97);
	box-shadow: 0 30px 70px rgba(0,0,0,.5);
	backdrop-filter: blur(22px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-48%,-7px);
	transition: opacity .2s ease,visibility .2s ease,transform .2s ease;
}
.category-menu__panel::before {
	content: "";
	position: absolute;
	inset: -22px 0 auto;
	height: 22px;
}
.category-menu.is-open .category-menu__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-48%,0);
}
.category-menu__heading {
	grid-column: 1/-1;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.category-menu__heading .eyebrow {
	display: block;
	margin-bottom: 5px;
	color: var(--cyan);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.category-menu__heading strong {
	display: block;
	font-size: 21px;
	letter-spacing: -.025em;
}
.category-menu__all {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: rgba(255,255,255,.72);
	font-size: 12px;
	font-weight: 750;
	white-space: nowrap;
}
.category-menu__all:hover,
.category-menu__all:focus-visible { color: #fff; }
.category-menu__group h2 {
	margin: 0 0 11px;
	color: rgba(255,255,255,.42);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.primary-nav .category-menu__links {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 4px 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.category-menu__links a {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 35px;
	padding: 7px 9px;
	border-radius: 8px;
	color: rgba(255,255,255,.76);
	font-size: 13px;
	font-weight: 650;
	transition: color .18s ease,background .18s ease,transform .18s ease;
}
.category-menu__links a:hover,
.category-menu__links a:focus-visible {
	color: #fff;
	background: rgba(255,255,255,.075);
	transform: translateX(2px);
}
.category-menu__dot {
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--cyan);
	box-shadow: 0 0 12px rgba(87,228,255,.52);
}
.category-menu__group:last-child .category-menu__dot {
	background: var(--violet);
	box-shadow: 0 0 12px rgba(142,114,255,.52);
}
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-icon {
	width: 42px;height:42px;
	border: 0;border-radius: 50%;
	display:grid;place-items:center;
	background: transparent;
	cursor:pointer;
	transition: background .2s;
}
.header-icon:hover, .header-icon:focus-visible { background: rgba(255,255,255,.1); }
.header-icon svg { width: 21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8; }
.menu-toggle { display: none; }
.menu-toggle svg { fill: currentColor; stroke: none; }

.search-panel {
	position: fixed;
	z-index: 140;
	inset: 0;
	display: grid;
	align-content: start;
	padding-top: min(16vh,140px);
	background: rgba(3,5,9,.94);
	backdrop-filter: blur(24px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s, visibility .25s;
}
.search-panel.is-open { opacity: 1; visibility: visible; }
.search-panel__inner { width: min(880px,calc(100vw - 40px)); margin-inline:auto; }
.search-panel__close { position:absolute;right:28px;top:24px; }
.search-panel h2 { margin:0 0 18px;font-size:clamp(26px,4vw,48px);letter-spacing:-.045em; }
.search-form-large { position:relative; }
.search-form-large input {
	width: 100%;
	border: 0;
	border-bottom: 2px solid rgba(255,255,255,.25);
	background: transparent;
	color: #fff;
	padding: 14px 58px 14px 0;
	font-size: clamp(23px,3vw,36px);
	outline: none;
}
.search-form-large input:focus { border-color: var(--cyan); }
.search-form-large button { position:absolute;right:0;top:50%;transform:translateY(-50%); }
.search-suggestions { margin-top:24px;color:var(--muted); }
.search-suggestions span { color:#fff; }

.hero {
	position: relative;
	min-height: min(88vh, 900px);
	display: grid;
	align-items: end;
	isolation: isolate;
	background: var(--ink-soft);
}
.hero__media {
	position:absolute;inset:0;z-index:-3;overflow:hidden;
	background-image:
		var(--poster, none),
		radial-gradient(circle at 78% 30%,rgba(128,117,255,.32),transparent 28%),
		radial-gradient(circle at 66% 66%,rgba(87,228,255,.16),transparent 30%),
		linear-gradient(130deg,#101726,#05070b 68%);
	background-size:cover,auto,auto,auto;
	background-position:center 32%,center,center,center;
	background-repeat:no-repeat;
}
.hero__media { transform:scale(1.015);animation:heroIn 1.5s ease both; }
@keyframes heroIn { from { opacity:.35;transform:scale(1.08); } to { opacity:1;transform:scale(1.015); } }
.hero__media::after {
	content:"";position:absolute;inset:0;
	background:
		linear-gradient(90deg,rgba(5,7,11,.98) 0%,rgba(5,7,11,.82) 28%,rgba(5,7,11,.22) 62%,rgba(5,7,11,.24) 100%),
		linear-gradient(0deg,var(--ink) 0%,rgba(5,7,11,.5) 20%,transparent 52%,rgba(5,7,11,.25) 100%);
}
.hero__content { width:var(--content);margin-inline:auto;padding:calc(var(--header-h) + 80px) 0 110px; }
.hero__eyebrow { display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase; }
.hero__eyebrow::before { content:"";width:34px;height:1px;background:currentColor;box-shadow:0 0 12px currentColor; }
.hero__accolade {
	display:inline-flex;
	align-items:center;
	max-width:min(620px,90vw);
	margin:0 0 18px;
	padding:7px 11px;
	border:1px solid rgba(248,197,107,.48);
	border-radius:999px;
	background:rgba(20,16,9,.62);
	color:var(--gold);
	font-size:11px;
	font-weight:850;
	letter-spacing:.1em;
	text-transform:uppercase;
	backdrop-filter:blur(10px);
	box-shadow:0 0 24px rgba(248,197,107,.09);
}
.hero h1 {
	max-width:780px;
	margin:0;
	font-family: "Arial Black","Segoe UI Black",sans-serif;
	font-size:clamp(52px,7.7vw,112px);
	line-height:.88;
	letter-spacing:-.065em;
	text-transform:uppercase;
	text-wrap:balance;
	text-shadow:0 8px 40px rgba(0,0,0,.45);
}
.hero__meta { display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:24px 0 0;color:#d5dae3;font-size:14px;font-weight:650; }
.hero__meta span { display:inline-flex;align-items:center;gap:7px; }
.hero__meta .match { color:var(--success); }
.rating-chip { border:1px solid rgba(255,255,255,.35);padding:1px 6px;border-radius:3px;font-size:.85em; }
.hero__description {
	max-width:620px;
	margin:18px 0 0;
	color:rgba(255,255,255,.78);
	font-size:clamp(16px,1.4vw,19px);
	line-height:1.55;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.hero__actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:30px; }
.button {
	min-height:50px;
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	padding:0 24px;
	border:1px solid transparent;border-radius:5px;
	font-weight:800;
	cursor:pointer;
	transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;
}
.button:hover,.button:focus-visible { transform:translateY(-2px); }
.button svg { width:20px;height:20px;fill:currentColor; }
.button--primary { background:#fff;color:#07090d;box-shadow:0 10px 30px rgba(255,255,255,.13); }
.button--primary:hover { background:var(--cyan);box-shadow:0 12px 34px rgba(87,228,255,.25); }
.button--ghost { background:rgba(24,30,42,.72);color:#fff;border-color:rgba(255,255,255,.24);backdrop-filter:blur(12px); }
.button--ghost:hover { background:rgba(42,51,68,.9);border-color:rgba(255,255,255,.45); }
.hero__scroll { position:absolute;right:calc((100vw - var(--content))/2);bottom:80px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.18em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right bottom; }
.hero__scroll::after { content:"";width:48px;height:1px;background:rgba(255,255,255,.4); }

.catalog { position:relative;z-index:4;margin-top:-38px;padding-bottom:100px; }
.shelf { margin:0 0 44px; }
.shelf__header { width:var(--content);margin:0 auto 15px;display:flex;align-items:end;justify-content:space-between;gap:20px; }
.shelf__heading { display:flex;align-items:flex-start;gap:12px; }
.shelf__heading::before { content:"";width:3px;height:25px;border-radius:3px;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 16px rgba(87,228,255,.35); }
.shelf h2 { margin:0;font-size:clamp(21px,2.3vw,30px);letter-spacing:-.035em;line-height:1.15; }
.shelf__heading p { margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.35; }
.shelf__view { color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:color .2s; }
.shelf__view:hover { color:var(--cyan); }
.rail-wrap { position:relative;width:100%; }
.rail {
	display:flex;
	gap:16px;
	width:100%;
	padding:10px max(36px,calc((100vw - min(1460px,calc(100vw - 72px)))/2)) 28px;
	overflow-x:auto;
	overscroll-behavior-x:contain;
	scroll-snap-type:x proximity;
	scrollbar-width:none;
}
.rail::-webkit-scrollbar { display:none; }
.rail-control {
	position:absolute;z-index:8;top:10px;bottom:28px;width:56px;
	border:0;background:linear-gradient(90deg,rgba(5,7,11,.96),rgba(5,7,11,.35));
	opacity:0;transition:opacity .2s;cursor:pointer;
	display:grid;place-items:center;
}
.rail-wrap:hover .rail-control { opacity:1; }
.rail-control svg { width:32px;height:32px;fill:none;stroke:#fff;stroke-width:1.5; }
.rail-control--prev { left:0; }
.rail-control--next { right:0;transform:rotate(180deg); }
.film-card {
	flex:0 0 clamp(255px,25vw,365px);
	position:relative;
	scroll-snap-align:start;
	z-index:1;
	transition:z-index 0s .15s;
}
.film-card:hover,.film-card:focus-within { z-index:6;transition-delay:0s; }
.film-card__surface {
	position:relative;
	border-radius:7px;
	background:var(--panel);
	overflow:hidden;
	box-shadow:0 8px 25px rgba(0,0,0,.25);
	transform-origin:center bottom;
	transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s;
}
.film-card:hover .film-card__surface,.film-card:focus-within .film-card__surface { transform:translateY(-8px) scale(1.045);box-shadow:var(--shadow); }
.film-card__image-link {
	position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
	background-image:
		var(--poster, none),
		radial-gradient(circle at 72% 24%,rgba(128,117,255,.34),transparent 26%),
		radial-gradient(circle at 25% 76%,rgba(87,228,255,.18),transparent 32%),
		linear-gradient(140deg,#182235,#0a0e16 72%);
	background-size:cover,auto,auto,auto;
	background-position:center;
	background-repeat:no-repeat;
	transition:background-size .5s ease,filter .3s;
}
.film-card:hover .film-card__image-link { filter:saturate(1.12); }
.film-card__shade { position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8)); }
.film-card__badge {
	position:absolute;
	z-index:2;
	left:10px;
	top:10px;
	max-width:calc(100% - 20px);
	padding:5px 8px;
	border:1px solid rgba(248,197,107,.42);
	border-radius:999px;
	background:rgba(5,7,11,.76);
	color:var(--gold);
	font-size:9px;
	font-weight:900;
	letter-spacing:.07em;
	line-height:1.2;
	text-transform:uppercase;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	backdrop-filter:blur(9px);
}
.film-card__type { position:absolute;left:12px;bottom:10px;padding:4px 8px;border-radius:3px;background:rgba(7,9,13,.65);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.film-card__details { max-height:0;padding:0 16px;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .2s,padding .3s; }
.film-card:hover .film-card__details,.film-card:focus-within .film-card__details { max-height:160px;padding:13px 16px 16px;opacity:1; }
.film-card__actions { display:flex;gap:8px;margin-bottom:10px; }
.icon-button { width:34px;height:34px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(255,255,255,.06);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s; }
.icon-button:hover,.icon-button:focus-visible { background:rgba(255,255,255,.17);border-color:#fff; }
.icon-button svg { width:17px;height:17px;fill:currentColor; }
.icon-button--play { background:#fff;color:#090b10;border-color:#fff; }
.icon-button--play:hover { background:var(--cyan);border-color:var(--cyan); }
.film-card h3 { margin:0;font-size:15px;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.film-card__meta { display:flex;gap:10px;align-items:center;margin-top:7px;color:var(--muted);font-size:11px; }

.film-card--ranked { flex-basis:clamp(300px,29vw,430px);padding-left:80px; }
.film-card__rank { position:absolute;z-index:-1;left:0;bottom:-14px;font-size:150px;line-height:1;font-weight:950;letter-spacing:-.1em;color:var(--ink);-webkit-text-stroke:2px rgba(255,255,255,.28);text-shadow:7px 7px 0 rgba(255,255,255,.04); }

.mission { width:var(--content);margin:48px auto 110px;padding:clamp(34px,6vw,80px);border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(128,117,255,.11),rgba(87,228,255,.035) 48%,rgba(255,255,255,.025));position:relative;overflow:hidden; }
.mission::before { content:"";position:absolute;width:430px;height:430px;right:-190px;top:-250px;border:1px solid rgba(87,228,255,.2);border-radius:50%;box-shadow:0 0 0 45px rgba(128,117,255,.04),0 0 0 90px rgba(87,228,255,.025); }
.mission__eyebrow { color:var(--cyan);font-size:11px;font-weight:850;letter-spacing:.22em;text-transform:uppercase; }
.mission h2 { position:relative;max-width:850px;margin:12px 0 18px;font-size:clamp(34px,4.7vw,72px);line-height:1.02;letter-spacing:-.055em;text-wrap:balance; }
.mission p { position:relative;max-width:760px;color:var(--muted);font-size:18px; }
.mission .button { position:relative;margin-top:14px; }

.site-footer { padding:54px 0 34px;background:#030508;border-top:1px solid rgba(255,255,255,.07); }
.footer-main { display:grid;grid-template-columns:1.2fr 2fr;gap:80px;align-items:start; }
.footer-brand p { max-width:400px;margin:18px 0 0;color:var(--muted);font-size:14px; }
.footer-links { display:grid;grid-template-columns:repeat(3,1fr);gap:30px; }
.footer-links h3 { margin:0 0 14px;font-size:12px;color:#fff;letter-spacing:.14em;text-transform:uppercase; }
.footer-links ul { list-style:none;padding:0;margin:0; }
.footer-links li { margin:7px 0; }
.footer-links a { color:var(--muted);font-size:14px;transition:color .2s; }
.footer-links a:hover { color:var(--cyan); }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);color:#697284;font-size:12px; }

.player-modal { position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.9);display:grid;place-items:center;padding:40px;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s; }
.player-modal.is-open { opacity:1;visibility:visible; }
.player-modal__dialog { width:min(1180px,94vw);position:relative;transform:translateY(15px) scale(.98);transition:transform .25s; }
.player-modal.is-open .player-modal__dialog { transform:none; }
.player-modal__close { position:absolute;right:0;bottom:calc(100% + 12px);background:rgba(255,255,255,.12); }
.player-modal__frame { aspect-ratio:16/9;background:#000;box-shadow:0 30px 90px #000; }
.player-modal__frame iframe { width:100%;height:100%;border:0;display:block; }
.player-unavailable {
	min-height:min(62vh,680px);
	display:grid;
	place-content:center;
	gap:8px;
	padding:clamp(30px,7vw,90px);
	text-align:center;
	background:
		radial-gradient(circle at 50% 10%,rgba(128,117,255,.19),transparent 42%),
		#070a10;
}
.player-unavailable h2 { margin:0;font-size:clamp(25px,4vw,46px);letter-spacing:-.045em; }
.player-unavailable p { max-width:620px;margin:0 auto;color:var(--muted); }
.player-modal__title { margin:14px 0 0;font-size:17px; }

.page-hero { min-height:48vh;padding:calc(var(--header-h) + 90px) 0 70px;display:grid;align-items:end;background:radial-gradient(circle at 80% 0,rgba(128,117,255,.2),transparent 34%),linear-gradient(180deg,#101522,var(--ink)); }
.page-hero h1 { max-width:900px;margin:0;font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:-.06em; }
.page-hero p { color:var(--muted);font-size:18px;max-width:700px; }
.content-page { width:min(850px,calc(100vw - 40px));margin:70px auto 120px;color:#c1c8d5;font-size:18px; }
.content-page h2 { color:#fff;margin:2.2em 0 .6em;font-size:clamp(30px,4vw,50px);letter-spacing:-.045em; }
.content-page blockquote { margin:2em 0;padding:10px 0 10px 26px;border-left:3px solid var(--cyan);color:#fff;font-size:clamp(24px,3.2vw,38px);line-height:1.3;letter-spacing:-.03em; }
.content-page .lead { color:#fff;font-size:clamp(23px,3vw,34px);line-height:1.35; }

.archive-page { padding:calc(var(--header-h) + 65px) 0 100px;min-height:70vh; }
.archive-header { margin-bottom:38px; }
.archive-header__eyebrow { color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase; }
.archive-header h1 { margin:5px 0 5px;font-size:clamp(42px,6vw,78px);line-height:1;letter-spacing:-.055em; }
.archive-header p { color:var(--muted); }
.film-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px; }
.film-grid .film-card { min-width:0; }
.film-grid .film-card__details { max-height:160px;padding:13px 16px 16px;opacity:1; }
.empty-state { padding:80px 0;color:var(--muted); }

.watch-hero { position:relative;min-height:72vh;display:grid;align-items:end;padding:calc(var(--header-h) + 80px) 0 80px;isolation:isolate; }
.watch-hero__bg {
	position:absolute;inset:0;z-index:-2;
	background-image:var(--poster,none),linear-gradient(135deg,#152036,#05070b);
	background-size:cover,auto;
	background-position:center;
	background-repeat:no-repeat;
}
.watch-hero__bg::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,11,.98),rgba(5,7,11,.68) 48%,rgba(5,7,11,.2)),linear-gradient(0deg,var(--ink),transparent 60%); }
.watch-hero__content { max-width:760px; }
.watch-hero h1 { margin:8px 0 12px;font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.06em;text-transform:uppercase; }
.watch-body { padding:45px 0 110px; }
.watch-grid { display:grid;grid-template-columns:1fr 300px;gap:80px; }
.watch-description { color:#c3cad6;font-size:18px; }
.watch-description h2 { color:#fff;font-size:30px;letter-spacing:-.035em; }
.watch-facts { border-top:1px solid var(--line); }
.watch-facts div { display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px; }
.watch-facts dt { color:var(--muted); }
.watch-facts dd { margin:0;text-align:right; }

.admin-bar .site-header { top:32px; }
@media (max-width:1100px) {
	:root { --content:calc(100vw - 44px); }
	.primary-nav > ul { gap:17px; }
	.film-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.footer-main { grid-template-columns:1fr;gap:46px; }
	.watch-grid { grid-template-columns:1fr;gap:40px; }
}
@media (max-width:782px) {
	:root { --header-h:66px;--content:calc(100vw - 30px); }
	.admin-bar .site-header { top:46px; }
	.header-inner { gap:12px; }
	.brand { font-size:19px; }
	.brand__mark { width:24px;height:24px; }
	.primary-nav { position:fixed;inset:var(--header-h) 0 auto;max-height:calc(100dvh - var(--header-h));overflow-y:auto;background:rgba(5,7,11,.98);padding:20px 22px 30px;transform:translateY(-130%);transition:transform .28s;z-index:-1;border-bottom:1px solid var(--line); }
	.primary-nav.is-open { transform:none; }
	.primary-nav > ul { display:grid;gap:0; }
	.primary-nav > ul > li { display:block; }
	.primary-nav > ul > li > a,
	.category-menu__toggle { display:flex;width:100%;padding:12px 0;font-size:17px; }
	.primary-nav > ul > li > a::after,
	.category-menu__toggle::after { bottom:5px; }
	.category-menu__toggle { justify-content:space-between; }
	.category-menu__toggle svg { width:12px;height:8px; }
	.category-menu__panel {
		position: static;
		width: 100%;
		display: none;
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 1px 0 13px;
		padding: 20px;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		border-radius: 14px;
		box-shadow: none;
	}
	.category-menu.is-open .category-menu__panel { display:grid;transform:none; }
	.category-menu__heading { align-items:center;padding-bottom:17px; }
	.category-menu__heading strong { font-size:18px; }
	.primary-nav .category-menu__links { gap:3px 7px; }
	.category-menu__links a { padding:8px;font-size:13px; }
	.menu-toggle { display:grid; }
	.hero { min-height:82vh; }
	.hero__media img { object-position:65% center; }
	.hero__media::after { background:linear-gradient(0deg,var(--ink) 0%,rgba(5,7,11,.76) 42%,rgba(5,7,11,.25) 78%,rgba(5,7,11,.25)); }
	.hero__content { padding:calc(var(--header-h) + 100px) 0 85px; }
	.hero h1 { font-size:clamp(42px,15vw,70px);max-width:95%; }
	.hero__description { font-size:15px;max-width:94%; }
	.hero__scroll { display:none; }
	.catalog { margin-top:-18px; }
	.rail { gap:10px;padding-inline:15px; }
	.film-card { flex-basis:76vw; }
	.film-card__surface { transform:none!important; }
	.film-card__details { max-height:150px;padding:12px 14px 14px;opacity:1; }
	.rail-control { display:none; }
	.shelf { margin-bottom:30px; }
	.shelf__header { width:calc(100vw - 30px); }
	.shelf__view { display:none; }
	.film-card--ranked { padding-left:54px;flex-basis:84vw; }
	.film-card__rank { font-size:112px; }
	.mission { margin-bottom:70px;padding:34px 24px; }
	.footer-links { grid-template-columns:1fr 1fr; }
	.footer-bottom { flex-direction:column; }
	.player-modal { padding:14px; }
	.film-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px; }
	.film-grid .film-card__details { padding-inline:10px; }
}
@media (max-width:480px) {
	.hero__actions .button { flex:1;padding-inline:14px; }
	.film-grid { grid-template-columns:1fr; }
	.footer-links { grid-template-columns:1fr; }
	.watch-hero h1 { font-size:42px; }
}
@media (prefers-reduced-motion:reduce) {
	*,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
