/*
Theme Name: One Sixth Society
Theme URI: https://onesixthsociety.com/
Author: One Sixth Society
Description: Ultra-light mobile-first editorial theme for One Sixth Society figures, reviews, videos, and collector articles.
Version: 2.0.30-card-flow
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: one-sixth-society
License: GPL-2.0-or-later
*/

:root {
	color-scheme: dark;
	--oss-bg: #050505;
	--oss-panel: #0c0c0c;
	--oss-panel-2: #101010;
	--oss-text: #f7f7f7;
	--oss-muted: #aaa;
	--oss-line: #292929;
	--oss-blue: #09a9ff;
	--oss-blue-dark: #007fc3;
	--oss-side: 16px;
	--oss-radius: 14px;
	--oss-max: 1600px;
	--oss-reading: 880px;
	--oss-cta-size: 28px;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--oss-bg); color-scheme: dark; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--oss-bg);
	color: var(--oss-text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--oss-blue); outline-offset: 3px; }
.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;
}
.screen-reader-text:focus, .skip-link:focus {
	position: fixed !important; top: 12px; left: 12px; z-index: 10000; width: auto; height: auto;
	clip: auto; margin: 0; padding: 10px 14px; background: #fff; color: #111; border-radius: 8px; font-weight: 900;
}
.oss-site { width: 100%; max-width: var(--oss-max); min-height: 100vh; margin: 0 auto; }
.oss-main { padding: 0 var(--oss-side) 52px; }
.oss-reading { max-width: var(--oss-reading); margin-inline: auto; }

/* Header */
.site-header { padding: 12px var(--oss-side) 10px; border-bottom: 1px solid #181818; background: var(--oss-bg); }
.custom-logo-link, .oss-brand-fallback { display: block; width: 100%; text-decoration: none; }
.custom-logo { display: block; width: 100%; max-width: none; height: auto; max-height: none; object-fit: contain; }
.oss-brand-fallback { display: block; width: 100%; text-decoration: none; }
.oss-brand-fallback--image img { display: block; width: 100%; height: auto; object-fit: contain; }
.header-tools { margin-top: 10px; display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: 10px; align-items: center; }
.header-tools--filtered { grid-template-columns: minmax(0,1fr) auto 48px; gap: 8px; }
.search-form { position: relative; z-index: 20; width: 100%; min-width: 0; }
.search-field {
	width: 100%; height: 48px; padding: 0 50px 0 15px; border: 1px solid #9a9a9a; border-radius: 9px;
	color: #fff; background: #090909; outline: none; font-size: 16px;
}
.search-field::placeholder { color: #b8b8b8; opacity: 1; }
.search-field:focus { border-color: var(--oss-blue); box-shadow: 0 0 0 2px rgba(9,169,255,.2); }
.search-submit {
	position: absolute; right: 0; top: 0; width: 48px; height: 48px; border: 0; background: transparent; color: #fff;
	display: grid; place-items: center; cursor: pointer;
}
.search-submit svg { width: 23px; height: 23px; }
.oss-search-suggestions {
	position: absolute; top: calc(100% + 7px); left: 0; right: 0; z-index: 100;
	max-height: min(390px,62dvh); overflow-y: auto; overscroll-behavior: contain;
	border: 1px solid #606a72; border-radius: 11px; background: #0b0f12;
	box-shadow: 0 18px 48px rgba(0,0,0,.72);
}
.oss-search-suggestions[hidden] { display: none !important; }
.oss-search-suggestion {
	min-height: 50px; padding: 9px 12px; display: grid; grid-template-columns: minmax(0,1fr) auto;
	gap: 12px; align-items: center; border-bottom: 1px solid #242b30; color: #fff; text-decoration: none;
}
.oss-search-suggestion:last-child { border-bottom: 0; }
.oss-search-suggestion:hover, .oss-search-suggestion:focus, .oss-search-suggestion.is-active { background: #13222c; outline: none; }
.oss-search-suggestion-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 800; }
.oss-search-suggestion-type { color: #a8dfff; font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.menu-button { width: 48px; height: 48px; padding: 0; border: 0; background: transparent; display: grid; place-content: center; align-self: center; gap: 6px; cursor: pointer; }
.menu-button span { display: block; width: 34px; height: 4px; border-radius: 4px; background: #fff; }
.site-nav { display: none; padding-top: 10px; }
.site-nav.is-open { display: block; }
.nav-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.nav-list li { margin: 0; }
.nav-list a { display: block; padding: 12px 8px; border-top: 1px solid #1f1f1f; text-decoration: none; font-weight: 800; }
.nav-list a:hover, .nav-list a:focus, .nav-list .current_page_item > a { color: var(--oss-blue); }

/* Shared headings and breadcrumb */
.oss-breadcrumb { display: none; color: var(--oss-muted); font-size: 14px; }
.oss-breadcrumb a { color: #ddd; text-decoration: none; }
.oss-page-head { margin: 20px 0 24px; }
.oss-page-title, .entry-title { margin: 0; font-size: clamp(34px,9vw,58px); line-height: 1.02; letter-spacing: -.035em; }
.oss-title-rule { width: 90px; height: 3px; margin-top: 11px; background: var(--oss-blue); }
.oss-intro { max-width: 820px; margin: 14px 0 0; color: #c5c5c5; font-size: 16px; line-height: 1.55; }

/* CTA */
.oss-button, .oss-cta {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px;
	padding: 9px 14px; border: 2px solid var(--oss-blue); border-radius: 8px; background: var(--oss-blue);
	color: #000; text-decoration: none; text-align: center; font-size: var(--oss-cta-size); font-weight: 900; line-height: 1.05; cursor: pointer;
}
.oss-button:hover, .oss-button:focus, .oss-cta:hover, .oss-cta:focus { background: var(--oss-blue-dark); border-color: var(--oss-blue-dark); color: #000; }
.oss-button--outline { background: transparent; color: #fff; }
.oss-button--outline:hover, .oss-button--outline:focus { background: var(--oss-blue); color: #000; }

/* Media and cards */
.oss-square { aspect-ratio: 1 / 1; }
.oss-vertical { aspect-ratio: 9 / 16; }
.oss-media { position: relative; overflow: hidden; background: #0b1115; }
.oss-media img { width: 100%; height: 100%; object-fit: cover; }
.oss-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 50% 45%, rgba(9,169,255,.38), transparent 28%), linear-gradient(160deg,#0a0a0a,#07131b 50%,#030303); }
.oss-placeholder::after { content: 'OSS'; color: rgba(255,255,255,.13); font-size: clamp(44px,12vw,84px); font-weight: 900; }
.oss-overlay-title {
	position: absolute; left: 14px; right: 14px; bottom: 13px; z-index: 3; color: #fff; font-weight: 900;
	font-size: clamp(22px,6vw,29px); line-height: 1.02; letter-spacing: -.02em; text-shadow: 0 2px 8px rgba(0,0,0,.95);
}
.oss-overlay-gradient::after { content: ''; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(to top, rgba(0,0,0,.92), rgba(0,0,0,.35), transparent); pointer-events: none; }
.oss-card { min-width: 0; background: var(--oss-panel); border: 1px solid var(--oss-line); border-radius: var(--oss-radius); overflow: hidden; }
.oss-card-copy { padding: 15px; }
.oss-card-title { margin: 0; font-size: 26px; line-height: 1.08; letter-spacing: -.02em; }
.oss-card-title a { text-decoration: none; }
.oss-card-title a:hover, .oss-card-title a:focus { color: var(--oss-blue); }
.oss-card-text { margin: 9px 0 18px; color: #c6c6c6; font-size: 16px; line-height: 1.48; }
.oss-score { position: absolute; top: 12px; left: 12px; z-index: 4; min-width: 62px; min-height: 38px; padding: 6px 10px; border: 2px solid var(--oss-blue); border-radius: 6px; background: rgba(0,0,0,.82); color: #fff; display: grid; place-items: center; font-size: 17px; font-weight: 900; }
.oss-status-label { position: absolute; top: 12px; right: 12px; z-index: 4; padding: 8px 11px 7px; border: 2px solid var(--oss-blue); border-radius: 6px; background: rgba(0,0,0,.82); color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .08em; line-height: 1; }

/* Video facade */
.oss-video-facade { position: relative; overflow: hidden; background: #080b0d; }
.oss-video-facade img { width: 100%; height: 100%; object-fit: cover; }
.oss-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 80px; height: 80px; border-radius: 50%; border: 3px solid #fff; background: rgba(0,0,0,.58); display: grid; place-items: center; cursor: pointer; z-index: 5; text-decoration: none; }
.oss-play::before { content: ''; margin-left: 6px; border-top: 14px solid transparent; border-bottom: 14px solid transparent; border-left: 23px solid #fff; }
.oss-video-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Pagination */
.oss-pagination { margin-top: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.oss-pagination > a, .oss-pagination > span { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #333; border-radius: 5px; display: grid; place-items: center; text-decoration: none; }
.oss-pagination-status { margin: 24px 0 0; text-align: center; color: var(--oss-muted, #aaa); font-size: 14px; }
.oss-pagination .disabled { opacity: .45; }
.oss-pagination a:hover, .oss-pagination a:focus-visible { border-color: var(--oss-blue); background: #142331; }
.oss-pagination .dots { border-color: transparent; min-width: 20px; padding-inline: 2px; }
.oss-pagination .current { background: var(--oss-blue); border-color: var(--oss-blue); color: #000; font-weight: 900; }

/* Expandable collector information */
.oss-collector-info { margin-top: 34px; border: 1px solid var(--oss-line); border-radius: 10px; overflow: hidden; }
.oss-collector-info summary { cursor: pointer; list-style: none; padding: 16px 18px; font-weight: 900; display: flex; align-items: center; justify-content: space-between; }
.oss-collector-info summary::-webkit-details-marker { display: none; }
.oss-collector-info summary::after { content: '+'; color: var(--oss-blue); font-size: 22px; }
.oss-collector-info[open] summary::after { content: '−'; }
.oss-collector-info-body { padding: 0 18px 18px; color: #bcbcbc; font-size: 15px; line-height: 1.6; }
.oss-collector-info-body p { margin: 0 0 12px; }
.oss-collector-info-body p:last-child { margin-bottom: 0; }

/* Homepage */
.home-feed { display: grid; grid-template-columns: 1fr; gap: 28px; }
.home-card .oss-media { border-bottom: 1px solid var(--oss-line); }
.home-card .oss-card-copy { display: flex; flex-direction: column; }
.home-card .oss-button { margin-top: 13px; }
.home-video { position: relative; overflow: hidden; background: transparent; border: 0; }
.home-video .oss-card-copy { padding: 13px 2px 0; }
.home-video .oss-card-text { margin-bottom: 0; }

/* Landing grids */
.oss-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.oss-grid-card { display: flex; flex-direction: column; height: 100%; }
.oss-grid-card .oss-card-copy { flex: 1 1 auto; display: flex; flex-direction: column; }
.oss-grid-card .oss-button { margin-top: auto; }
.oss-grid-card .oss-card-text { margin-bottom: 18px; }

/* Collection filters */
body.oss-filter-open { overflow: hidden; }
.oss-collection-filter { width: auto; min-width: 0; margin: 0; }
.oss-filter-trigger {
	min-width: 102px;
	height: 48px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid #8a8a8a;
	border-radius: 9px;
	background: #0b0b0b;
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}
.oss-filter-trigger:hover, .oss-filter-trigger:focus { border-color: var(--oss-blue); color: #fff; }
.oss-filter-trigger svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.oss-filter-dialog {
	width: min(430px,calc(100% - 36px));
	max-height: calc(100dvh - 36px);
	margin: auto;
	padding: 0;
	border: 1px solid #34414b;
	border-radius: 18px;
	background: #0c1115;
	color: #fff;
	box-shadow: 0 28px 90px rgba(0,0,0,.72);
	overflow: hidden;
}
.oss-filter-dialog[open] { display: flex; flex-direction: column; }
.oss-filter-dialog::backdrop { background: rgba(0,0,0,.72); }
.oss-filter-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 18px; border-bottom: 1px solid #2a353e; background: #0c1115; }
.oss-filter-dialog-head h2 { margin: 0; font-size: 21px; line-height: 1.2; }
.oss-filter-close { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #34414b; border-radius: 10px; background: #111820; color: #fff; font-size: 27px; font-weight: 400; line-height: 1; cursor: pointer; }
.oss-filter-dialog-body { padding: 20px 18px; display: grid; gap: 20px; overflow-y: auto; }
.oss-filter-field { display: grid; gap: 8px; color: #fff; font-size: 15px; font-weight: 900; }
.oss-filter-select-wrap { position: relative; display: block; }
.oss-filter-select-wrap::after {
	content: '';
	position: absolute;
	right: 17px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #c7d0d7;
	border-bottom: 2px solid #c7d0d7;
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}
.oss-filter-select-wrap select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	height: 52px;
	padding: 0 48px 0 14px;
	border: 1px solid #34414b;
	border-radius: 10px;
	background: #07090b;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 52px;
	outline: none;
	cursor: pointer;
}
.oss-filter-select-wrap select:focus { border-color: var(--oss-blue); box-shadow: 0 0 0 2px rgba(9,169,255,.18); }
.oss-filter-dialog-foot { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 14px 18px 18px; border-top: 1px solid #2a353e; background: #0c1115; }
.oss-filter-reset, .oss-filter-submit { min-height: 50px; padding: 0 18px; border-radius: 10px; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 900; cursor: pointer; }
.oss-filter-reset { border: 1px solid #34414b; background: transparent; color: #fff; }
.oss-filter-submit { border: 1px solid var(--oss-blue); background: var(--oss-blue); color: #000; }
.oss-filter-reset:hover, .oss-filter-reset:focus { border-color: var(--oss-blue); color: var(--oss-blue); }
.oss-filter-submit:hover, .oss-filter-submit:focus { border-color: var(--oss-blue-dark); background: var(--oss-blue-dark); color: #000; }
.oss-filter-empty { margin: 10px 0 0; padding: 30px 18px; border: 1px solid var(--oss-line); border-radius: 12px; background: var(--oss-panel); color: #c9c9c9; text-align: center; }

@media (max-width: 600px) {
	.oss-filter-trigger { min-width: 98px; padding-inline: 10px; }
	.oss-filter-dialog { width: min(430px,calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: auto; }
	.oss-filter-dialog-body { padding: 18px; gap: 18px; }
}

@media (max-width: 699px) {
	.header-tools--filtered .oss-search-suggestions { right: auto; width: calc(100% + 110px); }
	.oss-pagination { flex-wrap: wrap; gap: 6px; }
	.oss-pagination > a, .oss-pagination > span { min-width: 44px; min-height: 44px; padding-inline: 9px; flex: 0 0 auto; }
}

@media (max-width: 600px) {
	.header-tools--filtered .oss-search-suggestions { width: calc(100% + 106px); }
}

/* Figure / preorder detail */
.oss-product-layout { margin-top: 20px; }
.oss-product-gallery { width: 100%; }
.oss-gallery-main { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: #090d10; touch-action: pan-y pinch-zoom; }
.oss-gallery-open { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; color: inherit; display: block; cursor: zoom-in; }
.oss-gallery-open img { width: 100%; height: 100%; object-fit: cover; display: block; }
.oss-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 48px; height: 58px; border: 1px solid rgba(255,255,255,.55); border-radius: 9px; background: rgba(0,0,0,.62); color: #fff; display: grid; place-items: center; font-size: 38px; line-height: 1; cursor: pointer; }
.oss-gallery-arrow:hover, .oss-gallery-arrow:focus { border-color: var(--oss-blue); color: var(--oss-blue); }
.oss-gallery-prev { left: 10px; }
.oss-gallery-next { right: 10px; }
.oss-gallery-thumbs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 9px; }
.oss-gallery-thumb { appearance: none; padding: 0; border: 1px solid #333; border-radius: 8px; overflow: hidden; background: #0c1115; cursor: pointer; aspect-ratio: 1 / 1; }
.oss-gallery-thumb.is-active { border: 2px solid var(--oss-blue); }
.oss-gallery-caption { margin: 10px 2px 0; color: #bcbcbc; font-size: 14px; line-height: 1.45; }
.oss-gallery-caption.is-empty { display: none; }
.oss-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.oss-product-summary { margin-top: 22px; }
.oss-product-status { display: inline-block; margin-bottom: 14px; padding: 7px 10px 6px; border: 2px solid var(--oss-blue); border-radius: 6px; font-size: 12px; font-weight: 900; letter-spacing: .09em; line-height: 1; }
.oss-product-subtitle { margin: 9px 0 0; color: #d4d4d4; font-size: 17px; line-height: 1.45; }
.oss-facts { margin-top: 18px; display: grid; grid-template-columns: 1fr; gap: 10px; }
.oss-fact { min-height: 76px; padding: 14px 16px; border: 1px solid var(--oss-line); border-left: 4px solid var(--oss-blue); border-radius: 9px; background: var(--oss-panel); }
.oss-fact-label { display: block; color: #9d9d9d; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; line-height: 1.2; }
.oss-fact-value { display: block; margin-top: 7px; color: #fff; font-size: 22px; font-weight: 900; line-height: 1.12; }
.oss-product-summary .oss-button { margin-top: 16px; }
.oss-editorial { max-width: 920px; margin: 34px auto 0; }
.oss-editorial h2, .entry-content h2 { margin: 34px 0 14px; font-size: 29px; line-height: 1.12; letter-spacing: -.02em; }
.oss-editorial h2::after, .entry-content h2::after { content: ''; display: block; width: 65px; height: 2px; margin-top: 8px; background: var(--oss-blue); }
.oss-editorial p, .entry-content p, .entry-content li { color: #d2d2d2; font-size: 18px; line-height: 1.72; }
.oss-editorial p, .entry-content p { margin: 0 0 18px; }
.oss-feature-list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.oss-feature-list li { padding: 12px 14px; border-left: 3px solid var(--oss-blue); background: #0a0a0a; color: #d4d4d4; line-height: 1.45; }
.oss-detail-stack { display: grid; gap: 12px; margin-top: 28px; }
.oss-detail { border: 1px solid var(--oss-line); border-radius: 10px; overflow: hidden; background: var(--oss-panel); }
.oss-detail summary { cursor: pointer; list-style: none; padding: 16px 17px; font-weight: 900; display: flex; align-items: center; justify-content: space-between; }
.oss-detail summary::-webkit-details-marker { display: none; }
.oss-detail summary::after { content: '+'; color: var(--oss-blue); font-size: 22px; }
.oss-detail[open] summary::after { content: '−'; }
.oss-detail-body { padding: 0 17px 17px; color: #c5c5c5; line-height: 1.55; }
.oss-detail-body ul { margin: 0; padding-left: 19px; }
.oss-detail-body li { margin: 7px 0; }

/* Lightbox */
body.oss-lightbox-open { overflow: hidden; }
.oss-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 10px; background: rgba(0,0,0,.92); }
.oss-lightbox.is-open { display: flex; }
.oss-lightbox-stage { position: relative; width: min(94vw,1200px); max-height: 94vh; aspect-ratio: 1 / 1; border: 1px solid #333; border-radius: 12px; overflow: hidden; background: #050505; display: grid; place-items: center; touch-action: pan-y pinch-zoom; }
.oss-lightbox-stage img { width: 100%; height: 100%; object-fit: contain; }
.oss-lightbox-close, .oss-lightbox-prev, .oss-lightbox-next { position: absolute; z-index: 4; border: 1px solid rgba(255,255,255,.65); background: rgba(0,0,0,.68); color: #fff; cursor: pointer; }
.oss-lightbox-close { top: 8px; right: 8px; width: 50px; height: 50px; border-radius: 50%; font-size: 32px; line-height: 1; }
.oss-lightbox-prev, .oss-lightbox-next { top: 50%; transform: translateY(-50%); width: 46px; height: 62px; border-radius: 9px; font-size: 42px; line-height: 1; }
.oss-lightbox-prev { left: 8px; }
.oss-lightbox-next { right: 8px; }
.oss-lightbox-caption { position: absolute; z-index: 4; left: 70px; right: 70px; bottom: 54px; padding: 8px 10px; border-radius: 8px; background: rgba(0,0,0,.72); color: #fff; text-align: center; font-size: 14px; line-height: 1.4; }
.oss-lightbox-caption.is-empty { display: none; }
.oss-lightbox-counter { position: absolute; z-index: 4; left: 50%; bottom: 12px; transform: translateX(-50%); padding: 7px 11px; border-radius: 999px; background: rgba(0,0,0,.72); color: #fff; font-size: 13px; font-weight: 800; }

/* Review */
.oss-review-head { max-width: 1050px; margin: 20px auto 22px; }
.oss-eyebrow { margin: 0 0 8px; color: var(--oss-blue); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.oss-byline { margin: 13px 0 0; color: #d4d4d4; font-size: 15px; }
.oss-byline a { text-decoration: none; }
.oss-score-verdict { max-width: 1050px; margin: 18px auto 0; padding: 16px; border: 1px solid var(--oss-line); border-radius: 10px; background: #0a0a0a; }
.oss-review-score { display: inline-flex; align-items: center; justify-content: center; min-width: 92px; height: 42px; padding: 0 12px; border: 2px solid var(--oss-blue); border-radius: 6px; background: #050505; font-size: 19px; font-weight: 900; }
.oss-review-score span { color: var(--oss-blue); margin-left: 4px; }
.oss-short-verdict { margin: 12px 0 0; color: #d0d0d0; font-size: 17px; line-height: 1.48; }
.oss-review-media { max-width: 1050px; margin: 22px auto 0; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: #090909; }
.oss-pros-cons { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
.oss-pc-box { border: 1px solid var(--oss-line); border-radius: 10px; background: var(--oss-panel); padding: 17px; }
.oss-pc-box h2 { margin: 0 0 12px; font-size: 21px; }
.oss-pc-box ul { margin: 0; padding-left: 20px; color: #d2d2d2; }
.oss-pc-box li { margin: 8px 0; line-height: 1.45; }
.oss-final-verdict { margin-top: 30px; padding: 20px; border: 1px solid var(--oss-line); border-left: 4px solid var(--oss-blue); border-radius: 10px; background: #0a0a0a; }
.oss-final-verdict h2 { margin: 0 0 10px; font-size: 25px; }
.oss-final-verdict p { margin: 0; color: #d0d0d0; font-size: 17px; line-height: 1.65; }
.oss-final-verdict .oss-button { margin-top: 18px; }
.oss-review-photos-button { margin-top: 20px; }

/* Related master cards */
.oss-related { margin-top: 42px; padding-top: 28px; border-top: 1px solid var(--oss-line); }
.oss-related > h2 { margin: 0 0 18px; font-size: 28px; }
.oss-related-grid { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
.oss-related-card { position: relative; aspect-ratio: 9 / 16; border: 1px solid var(--oss-line); border-radius: 12px; overflow: hidden; background: var(--oss-panel); display: flex; flex-direction: column; }
.oss-related-card--image .oss-related-media { width: 100%; aspect-ratio: 1 / 1; flex: 0 0 auto; }
.oss-related-card--image .oss-related-copy { padding: 14px; flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.oss-related-card--video .oss-related-media { position: absolute; inset: 0; }
.oss-related-card--video::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 48%; background: linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.72),transparent); pointer-events: none; }
.oss-related-card--video .oss-related-copy { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 4; }
.oss-related-copy h3 { margin: 0; font-size: 21px; line-height: 1.1; }
.oss-related-text { margin: 9px 0 14px; color: #bcbcbc; font-size: 14px; line-height: 1.45; }
.oss-related-card--image .oss-button { margin-top: auto; }

/* Blog and article */
.oss-article-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.oss-author-line { margin: 9px 0 0; color: var(--oss-muted); font-size: 14px; }
.oss-preorder-promo { margin: 34px auto; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); overflow: hidden; background: var(--oss-panel); }
.oss-promo-image { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle at 50% 46%, rgba(9,169,255,.5), transparent 28%), linear-gradient(160deg,#07131b,#0c2534 50%,#030303); }
.oss-promo-image img { width: 100%; height: 100%; object-fit: cover; }
.oss-promo-image--placeholder::after { content: 'NEW HOT TOYS'; max-width: 80%; text-align: center; font-size: clamp(34px,10vw,64px); line-height: .95; font-weight: 900; letter-spacing: -.03em; }
.oss-promo-copy { padding: 18px; }
.oss-promo-copy h2 { margin: 0; font-size: 28px; line-height: 1.08; }
.oss-promo-copy p { margin: 10px 0 18px; color: #c7c7c7; font-size: 16px; line-height: 1.5; }
.oss-article-head { max-width: 900px; margin: 20px auto 22px; }
.oss-article-hero { width: 100%; max-width: 1080px; margin: 22px auto 0; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: #080808; }
.oss-article-hero img { width: 100%; height: 100%; object-fit: cover; }
.entry-content { max-width: var(--oss-reading); margin: 34px auto 0; }
.entry-content table, .oss-article-body table, .oss-legal-body table, .oss-editorial table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-collapse: collapse;
}
.entry-content a, .oss-article-body a, .oss-legal-body a, .oss-editorial a { overflow-wrap: anywhere; }
.entry-content ul, .entry-content ol { color: #d4d4d4; font-size: 18px; line-height: 1.65; }

/* Author */
.oss-author-profile { margin: 20px 0 30px; display: grid; grid-template-columns: 1fr; gap: 18px; }
.oss-author-photo { width: 100%; max-width: 320px; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: var(--oss-panel); }
.oss-author-photo img { width: 100%; height: 100%; object-fit: cover; }
.oss-author-role { margin: 12px 0 0; color: var(--oss-blue); font-weight: 900; }
.oss-author-bio { margin: 13px 0 0; max-width: 760px; color: #c9c9c9; font-size: 17px; line-height: 1.62; }
.oss-author-socials { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; }
.oss-author-socials a { min-height: 44px; padding: 0 15px; border: 1px solid #3a3a3a; border-radius: 7px; display: flex; align-items: center; text-decoration: none; font-weight: 800; }
.oss-section-title { margin: 0 0 20px; padding-top: 28px; border-top: 1px solid var(--oss-line); font-size: 30px; line-height: 1.1; }

/* Search and no results */
.oss-search-summary { margin: 13px 0 0; color: #bcbcbc; font-size: 15px; }
.oss-no-results { max-width: 760px; margin: 34px auto 0; padding: 34px 20px; border: 1px solid var(--oss-line); border-radius: 14px; background: var(--oss-panel); text-align: center; }
.oss-no-results-mark { width: 78px; height: 78px; margin: 0 auto; border: 3px solid var(--oss-blue); border-radius: 50%; display: grid; place-items: center; color: var(--oss-blue); font-size: 44px; font-weight: 900; line-height: 1; }
.oss-no-results h2 { margin: 20px 0 0; font-size: 32px; line-height: 1.05; }
.oss-no-results p { margin: 12px auto 0; max-width: 620px; color: #c5c5c5; font-size: 16px; line-height: 1.55; }
.oss-explore-links { margin-top: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.oss-explore-links a { min-height: 48px; padding: 10px 12px; border: 1px solid #3a3a3a; border-radius: 8px; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 800; }
.oss-explore-links a:hover, .oss-explore-links a:focus { border-color: var(--oss-blue); color: var(--oss-blue); }

/* Sitemap and legal */
.oss-sitemap-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.oss-sitemap-group { background: var(--oss-panel); border: 1px solid var(--oss-line); border-top: 3px solid var(--oss-blue); border-radius: 12px; padding: 18px; }
.oss-sitemap-group h2 { margin: 0 0 11px; font-size: 21px; }
.oss-sitemap-links { list-style: none; padding: 0; margin: 0; }
.oss-sitemap-links li { border-top: 1px solid #212121; }
.oss-sitemap-links li:first-child { border-top: 0; }
.oss-sitemap-links a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; text-decoration: none; }
.oss-sitemap-links a::after { content: '›'; margin-left: auto; padding-left: 16px; color: var(--oss-blue); font-size: 21px; }
.oss-legal-body { max-width: 900px; margin: 0 auto; }
.oss-legal-body section { padding: 24px 0; border-top: 1px solid var(--oss-line); }
.oss-legal-body section:first-child { border-top: 0; padding-top: 0; }
.oss-legal-body h2 { margin: 0 0 12px; font-size: 26px; line-height: 1.12; }
.oss-legal-body h3 { margin: 22px 0 10px; font-size: 21px; }
.oss-legal-body p, .oss-legal-body li { color: #d0d0d0; font-size: 17px; line-height: 1.72; }
.oss-legal-body a { color: var(--oss-blue); }

/* Contact */
.oss-contact-head { max-width: 900px; margin: 20px auto 26px; }
.oss-contact-intro { margin-top: 18px; color: #d0d0d0; font-size: 17px; line-height: 1.65; }
.oss-contact-intro p { margin: 0 0 16px; }
.oss-contact-form-wrap { max-width: 900px; margin: 0 auto; padding: 18px; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: var(--oss-panel); }
.oss-contact-form { display: grid; grid-template-columns: 1fr; gap: 16px; }
.oss-field { display: grid; gap: 7px; }
.oss-field label { font-size: 15px; font-weight: 900; }
.oss-field input, .oss-field textarea, .oss-field select { width: 100%; border: 1px solid #454545; border-radius: 9px; background: #080808; color: #fff; outline: none; }
.oss-field input, .oss-field select { min-height: 52px; padding: 0 14px; }
.oss-field textarea { min-height: 240px; padding: 14px; line-height: 1.55; resize: vertical; }
.oss-field input:focus, .oss-field textarea:focus, .oss-field select:focus { border-color: var(--oss-blue); box-shadow: 0 0 0 2px rgba(9,169,255,.18); }
.oss-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.oss-send-area { grid-column: 1 / -1; }
.oss-send-controls { display: grid; gap: 16px; }
.oss-form-note, .oss-form-error { margin: 0; color: #8e8e8e; font-size: 13px; line-height: 1.45; }
.oss-form-error { color: #ffb3b3; }
.oss-success { display: none; min-height: 240px; padding: 28px 20px; border: 2px solid var(--oss-blue); border-radius: 14px; background: radial-gradient(circle at 50% 15%,rgba(9,169,255,.18),transparent 36%), #090909; text-align: center; align-content: center; justify-items: center; }
.oss-success.is-visible { display: grid; animation: oss-success-pop .28s ease-out; }
.oss-success-icon { width: 74px; height: 74px; border-radius: 50%; border: 3px solid var(--oss-blue); display: grid; place-items: center; color: var(--oss-blue); font-size: 42px; font-weight: 900; }
.oss-success h2 { margin: 18px 0 0; font-size: 32px; line-height: 1; }
.oss-success p { max-width: 520px; margin: 12px 0 0; color: #cfcfcf; font-size: 17px; line-height: 1.5; }
.oss-send-another { margin-top: 20px; min-height: 52px; padding: 0 22px; border: 2px solid var(--oss-blue); border-radius: 8px; background: transparent; color: #fff; font-size: 20px; font-weight: 900; cursor: pointer; }
@keyframes oss-success-pop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }

/* 404 */
.oss-error-wrap { max-width: 900px; margin: 0 auto; padding: 56px 0 64px; text-align: center; }
.oss-error-code { margin: 0; color: var(--oss-blue); font-size: clamp(62px,18vw,150px); line-height: .85; font-weight: 900; letter-spacing: -.055em; }
.oss-error-label { margin: 10px 0 0; font-size: clamp(30px,8vw,52px); line-height: 1; font-weight: 900; }
.oss-error-copy { max-width: 760px; margin: 28px auto 0; color: #d0d0d0; font-size: 18px; line-height: 1.7; }

/* Footer */
.site-footer { border-top: 1px solid #262626; padding: 28px var(--oss-side) max(24px,env(safe-area-inset-bottom)); text-align: center; }
.footer-brand { font-weight: 900; letter-spacing: .18em; font-size: 16px; }
.socials { margin: 18px auto 16px; display: flex; justify-content: center; gap: 18px; }
.socials a { width: 42px; height: 42px; border: 1px solid #343434; border-radius: 50%; display: grid; place-items: center; color: var(--oss-blue); text-decoration: none; }
.socials svg { width: 21px; height: 21px; fill: currentColor; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 15px; font-size: 13px; }
.footer-nav a { color: #d7d7d7; text-decoration: none; }
.copyright { margin: 17px 0 0; color: #aaa; font-size: 12px; }

@media (min-width: 700px) and (max-width: 1023px) {
	:root { --oss-side: 24px; }
	.site-header { padding: 16px var(--oss-side) 14px; }
	.header-tools { margin-top: 14px; grid-template-columns: minmax(0,1fr) 58px; gap: 12px; }
	.header-tools--filtered { grid-template-columns: minmax(0,1fr) auto 58px; }
	.search-field, .search-submit, .menu-button, .oss-filter-trigger { height: 56px; }
	.search-field { padding-left: 18px; padding-right: 58px; font-size: 17px; }
	.search-submit { width: 56px; }
	.menu-button { width: 58px; }
	.menu-button span { width: 38px; }
	.oss-filter-trigger { min-width: 116px; padding-inline: 15px; }
	.oss-page-head { margin-top: 24px; }
	.oss-page-title, .entry-title { font-size: 50px; }
	.oss-intro { font-size: 17px; }
	.home-feed, .oss-grid, .oss-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 20px; }
	.home-card, .oss-master-card { aspect-ratio: 9 / 16; }
	.home-card:not(.home-video), .oss-master-card { display: flex; flex-direction: column; }
	.home-card:not(.home-video) .oss-media, .oss-master-card .oss-media.oss-square { flex: 0 0 auto; }
	.home-card:not(.home-video) .oss-card-copy, .oss-master-card .oss-card-copy { flex: 1 1 auto; display: flex; flex-direction: column; }
	.home-card:not(.home-video) .oss-button, .oss-master-card .oss-button { margin-top: auto; }
	.home-video { position: relative; aspect-ratio: 9 / 16; overflow: hidden; }
	.home-video .oss-video-facade { position: absolute; inset: 0; }
	.home-video .oss-card-copy { display: none; }
	.oss-pros-cons { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.oss-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.oss-preorder-promo { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
	.oss-promo-copy { padding: 26px; display: flex; flex-direction: column; justify-content: center; }
	.oss-author-profile { grid-template-columns: 260px minmax(0,1fr); gap: 24px; align-items: center; }
	.oss-author-photo { max-width: none; }
	.oss-sitemap-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
	.oss-contact-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
	.oss-message-field, .oss-send-area { grid-column: 1 / -1; }
	.oss-explore-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.site-footer { padding: 34px var(--oss-side) 30px; }
}

@media (min-width: 1024px) {
	:root { --oss-side: 30px; }
	.site-header { padding: 18px var(--oss-side) 16px; }
	.header-tools { margin-top: 16px; grid-template-columns: minmax(0,1fr) 60px; gap: 14px; }
	.header-tools--filtered { grid-template-columns: minmax(0,1fr) auto 60px; }
	.search-field, .search-submit, .menu-button, .oss-filter-trigger { height: 58px; }
	.search-field { padding-left: 20px; padding-right: 62px; font-size: 18px; }
	.search-submit { width: 58px; }
	.menu-button { width: 60px; }
	.menu-button span { width: 40px; }
	.oss-filter-trigger { min-width: 122px; padding-inline: 17px; }
	.oss-breadcrumb { display: block; margin: 25px 0 0; }
	.oss-page-head { margin-top: 18px; }
	.oss-page-title, .entry-title { font-size: 60px; }
	.oss-intro { font-size: 18px; }
	.home-feed, .oss-grid, .oss-article-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px 20px; }
	.home-card, .oss-master-card { aspect-ratio: 9 / 16; }
	.home-card:not(.home-video), .oss-master-card { display: flex; flex-direction: column; }
	.home-card:not(.home-video) .oss-card-copy, .oss-master-card .oss-card-copy { flex: 1 1 auto; display: flex; flex-direction: column; }
	.home-card:not(.home-video) .oss-button, .oss-master-card .oss-button { margin-top: auto; }
	.home-video { position: relative; aspect-ratio: 9 / 16; overflow: hidden; }
	.home-video .oss-video-facade { position: absolute; inset: 0; }
	.home-video .oss-card-copy { display: none; }
	.oss-card-title { font-size: 23px; }
	.oss-card-text { font-size: 15px; }
	.oss-product-layout { margin-top: 18px; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr); gap: 34px; align-items: start; }
	.oss-product-summary { margin-top: 0; position: sticky; top: 20px; }
	.oss-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.oss-fact { min-height: 0; display: block; padding: 13px; border-left-width: 1px; }
	.oss-fact-label { font-size: 11px; }
	.oss-fact-value { margin-top: 5px; font-size: 15px; }
	.oss-score-verdict { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 20px; align-items: center; padding: 20px; }
	.oss-short-verdict { margin: 0; font-size: 18px; }
	.oss-pros-cons { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
	.oss-related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
	.oss-preorder-promo { max-width: 1000px; margin: 42px auto; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
	.oss-promo-copy { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
	.oss-promo-copy h2 { font-size: 36px; }
	.oss-author-profile { max-width: 1100px; margin: 24px auto 38px; grid-template-columns: 300px minmax(0,1fr); gap: 36px; align-items: center; }
	.oss-author-photo { max-width: none; }
	.oss-author-bio { font-size: 18px; }
	.oss-sitemap-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
	.oss-legal-body h2 { font-size: 29px; }
	.oss-legal-body p, .oss-legal-body li { font-size: 18px; }
	.oss-contact-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
	.oss-message-field, .oss-send-area { grid-column: 1 / -1; }
	.oss-field textarea { min-height: 300px; }
	.site-footer { padding: 38px var(--oss-side) 34px; }
}

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

/* Final content template refinements */
.oss-product-short { margin: 13px 0 0; color: #c9c9c9; font-size: 16px; line-height: 1.5; }
.oss-article-body { max-width: var(--oss-reading); margin: 34px auto 0; }
.oss-article-body > section > h2, .oss-article-body > h2 { margin: 34px 0 14px; font-size: 29px; line-height: 1.12; letter-spacing: -.02em; }
.oss-article-body > section > h2::after, .oss-article-body > h2::after { content: ''; display: block; width: 65px; height: 2px; margin-top: 8px; background: var(--oss-blue); }
.oss-article-body p, .oss-article-body li { color: #d2d2d2; font-size: 18px; line-height: 1.72; }
.oss-article-body { min-width: 0; overflow-wrap: anywhere; }
.oss-article-body figure,
.oss-article-body .wp-block-embed,
.oss-article-body .wp-block-image { max-width: 100%; margin-left: auto; margin-right: auto; }
.oss-article-body img { max-width: 100%; height: auto; }
.oss-responsive-video { position: relative; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #111; }
.oss-responsive-video iframe { display: block; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.oss-article-body iframe[src*="youtube.com/"],
.oss-article-body iframe[src*="youtube-nocookie.com/"],
.oss-article-body iframe[src*="youtu.be/"] { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.oss-responsive-video iframe[src] { height: 100%; }
.oss-article-hero:has(.oss-responsive-video) { aspect-ratio: auto; height: auto; overflow: visible; }
.oss-archive-note { font-size: .88em; color: var(--oss-muted, #666); line-height: 1.6; }
.oss-article-body p { margin: 0 0 18px; }
.oss-article-body ul, .oss-article-body ol { padding-left: 22px; }
.oss-review-video { max-width: 620px; border: 0; background: transparent; }
.oss-review-video .oss-video-facade { aspect-ratio: 9 / 16; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); }
.oss-related-card--video .oss-button { margin-top: 14px; min-height: 48px; font-size: clamp(20px,4vw,var(--oss-cta-size)); }
.oss-watch-head { max-width: 900px; margin: 20px auto 22px; }
.oss-watch-player { width: 100%; max-width: 620px; margin: 24px auto 0; aspect-ratio: 9 / 16; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: #050505; }
.oss-watch-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.oss-related-figure-box { margin-top: 30px; padding: 18px; border: 1px solid var(--oss-line); border-radius: 12px; background: var(--oss-panel); }
.oss-related-figure-box h2 { margin-top: 0; }
.oss-about-hero { width: 100%; max-width: 1080px; margin: 22px auto 0; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); background: #080808; }
.oss-about-hero img { width: 100%; height: 100%; object-fit: cover; }
.oss-signature { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--oss-line); font-size: 19px; line-height: 1.5; }
.oss-signature strong { display: block; font-size: 24px; margin-bottom: 3px; }
.oss-error-rule { margin-inline: auto; }
.oss-error-button { max-width: 520px; margin: 32px auto 0; }
.oss-no-results > .oss-button { margin-top: 24px; }
.oss-legal-body strong { color: #fff; }

@media (min-width: 700px) and (max-width: 1023px) {
	.oss-watch-head { margin-top: 24px; }
	.oss-article-body p, .oss-article-body li { font-size: 19px; }
}
@media (min-width: 1024px) {
	.oss-watch-head { margin-top: 18px; }
	.oss-watch-player { max-width: 480px; }
	.oss-article-body p, .oss-article-body li { font-size: 19px; }
	.oss-article-body > section > h2, .oss-article-body > h2 { font-size: 32px; }
}
.oss-related-card--video .oss-video-facade { width: 100%; height: 100%; aspect-ratio: auto; }

/* Search video cards follow the approved mobile media plus copy layout and become 9:16 master cards on larger screens. */
.oss-search-video > .oss-related-copy {
	padding: 15px;
	display: flex;
	flex-direction: column;
}
.oss-search-video .oss-related-text { margin: 9px 0 18px; color: #c6c6c6; font-size: 16px; line-height: 1.48; }
@media (min-width: 700px) {
	.oss-search-video { position: relative; aspect-ratio: 9 / 16; overflow: hidden; }
	.oss-search-video .oss-video-facade { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
	.oss-search-video::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 48%; background: linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.78),transparent); pointer-events: none; }
	.oss-search-video > .oss-related-copy { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: 70px 15px 15px; }
	.oss-search-video .oss-button { margin-top: auto; }
}


/* Native landscape YouTube embeds; existing Shorts sizing stays unchanged. */
.oss-article-youtube { position: relative; width: 100%; max-width: 100%; min-width: 0; min-height: 200px; aspect-ratio: 16 / 9; overflow: hidden; background: #080b0d; }
.oss-article-youtube > img { display: block; width: 100%; height: 100%; min-height: 200px; object-fit: cover; }
.oss-article-youtube iframe { display: block; width: 100%; height: 100%; min-height: 200px; max-width: 100%; border: 0; background: #080b0d; }
.oss-article-youtube .oss-youtube-frame { opacity: 0; transition: opacity .12s ease-out; }
.oss-article-youtube .oss-youtube-frame.is-loaded { opacity: 1; }
.oss-article-youtube-hero { width: 100%; max-width: 1080px; margin: 22px auto 0; overflow: hidden; border: 1px solid var(--oss-line); border-radius: var(--oss-radius); }
.oss-youtube-card { min-width: 0; aspect-ratio: auto; }
.oss-youtube-card > .oss-article-youtube { flex: 0 0 auto; }


/* Watch pages keep the main video visible before supporting text. */
.single-oss_video .oss-watch-head .entry-title { font-size: clamp(28px, 3vw, 36px); line-height: 1.12; }

.single-oss_video .oss-watch-head { max-width: 1080px; margin: 14px auto 16px; }
.single-oss_video .oss-article-youtube-hero { max-width: 960px; margin-top: 16px; }
.single-oss_video .oss-related-card .oss-button { font-size: var(--oss-cta-size); }


/* Preserve the full composition of landscape and portrait article artwork. */
.oss-natural-artwork { display: block; width: 100%; aspect-ratio: auto; }
.oss-natural-artwork img { display: block; width: 100%; height: auto; object-fit: contain; }
.oss-article-image-card { aspect-ratio: auto; }
.oss-article-image-card > .oss-natural-artwork { flex: 0 0 auto; }
.oss-review-media > .oss-natural-artwork { margin-top: 0; }

/* Scoped native thumbnail links; keep existing card dimensions and players. */
.oss-related-image-link,
.oss-related-card .oss-video-thumbnail-link { display: block; width: 100%; height: 100%; }
.oss-related-image-link:focus-visible,
.oss-related-card .oss-video-thumbnail-link:focus-visible,
.oss-related-grid .oss-natural-artwork:focus-visible { outline-offset: -4px; }
.oss-related-card .oss-video-thumbnail-link[aria-hidden="true"],
.oss-related-card--video.is-playing .oss-related-copy { visibility: hidden; }
.oss-related-card--video.is-playing::after { display: none; }
.oss-related-card--video.is-playing .oss-video-frame { z-index: 6; }

/* Keep the separately linked figure-box heading consistent with card links. */
.oss-related-figure-box h2 a { text-decoration: none; }
.oss-related-figure-box h2 a:hover,
.oss-related-figure-box h2 a:focus { color: var(--oss-blue); }

/* Let related image cards grow evenly while keeping action labels on one line. */
.oss-related-grid { align-items: stretch; }
.oss-related-card--image { aspect-ratio: auto; height: 100%; }
.oss-related-card .oss-button {
	min-height: 58px;
	padding-inline: 10px;
	font-size: clamp(17px,2vw,22px);
	line-height: 1.1;
	white-space: nowrap;
}

/* Paint keyboard focus above positioned thumbnail content, inside the clipped card. */
.oss-related-image-link:focus-visible > .oss-media::after {
	content: ''; position: absolute; inset: 3px; z-index: 5;
	border: 2px solid var(--oss-blue); box-shadow: 0 0 0 1px #000; pointer-events: none;
}

/* Let editorial card content determine height so long titles never hide controls. */
.home-card:not(.home-video), .oss-master-card:not(.oss-search-video) { aspect-ratio: auto; }

/* Direct access to long archives without crowding the main pagination. */
.oss-page-jump { max-width: 720px; margin: 18px auto 0; border: 1px solid #333; border-radius: 6px; }
.oss-page-jump summary { min-height: 44px; padding: 10px 16px; cursor: pointer; font-weight: 700; color: var(--oss-blue); }
.oss-page-jump summary:focus-visible { outline: 2px solid var(--oss-blue); outline-offset: 3px; }
.oss-page-jump .oss-pagination { margin: 0; padding: 8px 12px 16px; }
