/*
Theme Name: Outlet Plug
Theme URI: https://github.com/Ballinonabudget/outletplug
Author: Outlet Plug
Description: Minimal scrollytelling theme for structured sneaker outlet finds.
Version: 6.23.0
Text Domain: outlet-plug
*/

*, *::before, *::after {
	box-sizing: border-box;
}

:root {
	--dark: #0d0d0f;
	--mid: #161618;
	--light: #f5f3ef;
	--ghost: #eae7e0;
	--ink: #111113;
	--chalk: #f8f8f6;
	--muted: rgba(255, 255, 255, 0.54);
	--muted-dark: rgba(0, 0, 0, 0.48);
	--accent: #ff3c00;
	--border: rgba(255, 255, 255, 0.08);
	--sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	--mono: "Space Mono", "SFMono-Regular", "SF Mono", Consolas, monospace;
	--ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--dark);
	color: var(--chalk);
	font-family: var(--sans);
	letter-spacing: 0;
	overflow-x: hidden;
}

/* ── IF1: reversible individual Find Page V2 ───────────────────────────── */
.find-detail-v2 {
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto;
	padding: 34px 0 72px;
	color: var(--chalk);
}

.ifv2-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	font-family: var(--mono);
	font-size: 11px;
	color: var(--muted);
}

.ifv2-breadcrumb a:hover { color: var(--accent); }

.ifv2-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
	gap: 34px;
	align-items: start;
}

.ifv2-gallery-stage,
.ifv2-panel,
.ifv2-store,
.ifv2-submit-cta,
.ifv2-related-card {
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 14px;
	background: linear-gradient(145deg, #151517, #0e0e10);
}

.ifv2-gallery-stage {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.ifv2-slide { width: 100%; height: 100%; margin: 0; }
.ifv2-slide[hidden] { display: none; }
.ifv2-slide img { width: 100%; height: 100%; object-fit: contain; background: #111; }

.ifv2-gallery-empty {
	display: grid;
	place-content: center;
	gap: 12px;
	height: 100%;
	text-align: center;
	color: var(--muted);
}
.ifv2-gallery-empty span { font-size: 64px; font-weight: 800; color: rgba(255,255,255,.08); }

.ifv2-gallery-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	background: rgba(0,0,0,.68);
	color: white;
	cursor: pointer;
	transform: translateY(-50%);
}
.ifv2-gallery-arrow:hover, .ifv2-gallery-arrow:focus-visible { border-color: var(--accent); color: var(--accent); }
.ifv2-gallery-arrow.is-prev { left: 14px; }
.ifv2-gallery-arrow.is-next { right: 14px; }
.ifv2-gallery-count {
	position: absolute;
	right: 14px;
	bottom: 14px;
	padding: 6px 9px;
	border-radius: 999px;
	background: rgba(0,0,0,.72);
	font-family: var(--mono);
	font-size: 10px;
}

.ifv2-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}
.ifv2-thumb {
	padding: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 9px;
	background: #161618;
	cursor: pointer;
}
.ifv2-thumb.is-active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ifv2-thumb img { width: 100%; height: 100%; object-fit: cover; }

.ifv2-summary { padding-top: 8px; }
.ifv2-brand,
.ifv2-kicker {
	margin: 0 0 12px;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--accent);
}
.ifv2-summary h1 { margin: 0; font-size: clamp(34px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.04em; }
.ifv2-lede { margin: 18px 0 0; max-width: 620px; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.6; }
.ifv2-style { margin: 14px 0 0; font-family: var(--mono); color: var(--muted); font-size: 11px; }

.ifv2-price-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 26px 0 14px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 12px;
	overflow: hidden;
}
.ifv2-price-grid > div { min-height: 112px; padding: 17px 15px; border-right: 1px solid rgba(255,255,255,.1); }
.ifv2-price-grid > div:last-child { border-right: 0; }
.ifv2-price-grid .is-featured { background: linear-gradient(145deg, rgba(255,60,0,.36), rgba(255,60,0,.1)); }
.ifv2-price-grid span, .ifv2-facts span, .ifv2-detail-list dt, .ifv2-breakdown dt {
	display: block;
	margin-bottom: 8px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
}
.ifv2-price-grid strong { display: block; font-size: clamp(20px, 2.4vw, 31px); }
.ifv2-price-grid small { display: block; margin-top: 7px; color: rgba(255,255,255,.6); font-size: 10px; line-height: 1.35; }
.ifv2-price-grid .is-saving, .ifv2-breakdown .is-saving dd { color: #39d66f; }

.ifv2-facts { border: 1px solid rgba(255,255,255,.13); border-radius: 12px; padding: 0 18px; }
.ifv2-facts > div { display: grid; grid-template-columns: 115px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.ifv2-facts > div:last-child { border-bottom: 0; }
.ifv2-facts span { margin: 2px 0 0; }
.ifv2-facts strong { font-size: 13px; line-height: 1.45; }
.ifv2-history-notice {
	display: inline-flex;
	margin: 0 0 14px;
	padding: 7px 10px;
	border: 1px solid rgba(255, 169, 47, .45);
	border-radius: 999px;
	color: #ffb54a;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ifv2-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.ifv2-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border: 1px solid var(--accent);
	border-radius: 8px;
	background: var(--accent);
	color: white;
	font: 700 11px/1 var(--mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.ifv2-button.is-secondary { background: transparent; }
.ifv2-button:hover, .ifv2-button:focus-visible { background: #ff5722; color: white; }
.ifv2-disclaimer, .ifv2-data-note, .ifv2-muted { color: var(--muted); font-size: 11px; line-height: 1.55; }

.ifv2-story-grid, .ifv2-data-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 18px; margin-top: 42px; }
.ifv2-data-grid { grid-template-columns: 1fr 1fr; margin-top: 18px; }
.ifv2-panel { padding: clamp(24px, 3vw, 38px); }
.ifv2-panel h2, .ifv2-store h2, .ifv2-related h2, .ifv2-submit-cta h2 { margin: 0; font-size: clamp(24px, 3vw, 38px); line-height: 1.08; }
.ifv2-story-lede { color: white; font-size: 17px; line-height: 1.55; font-weight: 600; }
.ifv2-prose { color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.75; }
.ifv2-prose p:last-child { margin-bottom: 0; }

.ifv2-breakdown dl, .ifv2-detail-list { margin: 0; }
.ifv2-breakdown dl > div, .ifv2-detail-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.ifv2-breakdown dl > div:last-child, .ifv2-detail-list > div:last-child { border-bottom: 0; }
.ifv2-breakdown dt, .ifv2-detail-list dt { margin: 0; }
.ifv2-breakdown dd, .ifv2-detail-list dd { margin: 0; text-align: right; font-size: 13px; }
.ifv2-breakdown .is-total { margin-top: 8px; padding-top: 18px; }
.ifv2-breakdown .is-total dd { color: var(--accent); font-size: 20px; font-weight: 700; }

.ifv2-intel-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ifv2-intel-stats > div { padding: 16px; border-radius: 9px; background: rgba(255,255,255,.04); }
.ifv2-intel-stats strong { display: block; margin-bottom: 8px; color: #39d66f; font-size: 20px; }
.ifv2-intel-stats span { color: var(--muted); font: 10px/1.45 var(--mono); }
.ifv2-intel-stats small { display: block; margin-top: 6px; color: rgba(255,255,255,.48); font: 9px/1.4 var(--mono); }
.ifv2-building { padding: 24px; border: 1px dashed rgba(255,255,255,.18); border-radius: 10px; }
.ifv2-building strong { color: #39d66f; font-size: 22px; }
.ifv2-building p { margin-bottom: 0; color: var(--muted); line-height: 1.6; }

.ifv2-store, .ifv2-submit-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 18px; padding: clamp(24px, 3vw, 38px); }
.ifv2-store p, .ifv2-submit-cta p { margin-bottom: 0; color: var(--muted); }
.ifv2-store .ifv2-button, .ifv2-submit-cta .ifv2-button { min-width: 190px; }

.ifv2-related { margin-top: 48px; }
.ifv2-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.ifv2-section-head > a { color: var(--accent); font: 700 11px var(--mono); text-transform: uppercase; }
.ifv2-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ifv2-related-card { overflow: hidden; padding-bottom: 17px; }
.ifv2-related-img { display: grid; place-content: center; aspect-ratio: 4/3; overflow: hidden; background: #171719; }
.ifv2-related-img img { width: 100%; height: 100%; object-fit: cover; }
.ifv2-related-img span { color: rgba(255,255,255,.15); font-size: 32px; font-weight: 800; }
.ifv2-related-card > strong, .ifv2-related-card > p { display: block; margin: 14px 16px 0; }
.ifv2-related-card > strong { font-size: 13px; line-height: 1.35; }
.ifv2-related-card > p { color: white; font-weight: 700; }
.ifv2-related-card > p span { float: right; color: #39d66f; font-size: 11px; }
.ifv2-related-price-context { display: block; margin: 6px 16px 0; color: rgba(255,255,255,.48); font: 9px/1.4 var(--mono); letter-spacing: .04em; }
.ifv2-related-card:hover { border-color: var(--accent); transform: translateY(-2px); }

.ifv2-submit-cta { border-color: rgba(255,60,0,.62); }

@media (max-width: 900px) {
	.ifv2-hero, .ifv2-story-grid, .ifv2-data-grid { grid-template-columns: 1fr; }
	.ifv2-summary { padding-top: 0; }
	.ifv2-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.find-detail-v2 { width: min(100% - 24px, 1240px); padding-top: 20px; }
	.ifv2-breadcrumb { font-size: 9px; }
	.ifv2-hero { gap: 24px; }
	.ifv2-gallery-stage { aspect-ratio: 4 / 3; }
	.ifv2-summary h1 { font-size: clamp(30px, 10vw, 44px); }
	.ifv2-price-grid > div { min-height: 96px; padding: 13px 9px; }
	.ifv2-price-grid span { font-size: 7px; }
	.ifv2-price-grid strong { font-size: 18px; }
	.ifv2-facts > div { grid-template-columns: 88px 1fr; gap: 10px; }
	.ifv2-actions, .ifv2-related-grid { grid-template-columns: 1fr; }
	.ifv2-story-grid { margin-top: 28px; }
	.ifv2-panel { padding: 22px 18px; }
	.ifv2-intel-stats { grid-template-columns: 1fr; }
	.ifv2-store, .ifv2-submit-cta, .ifv2-section-head { align-items: stretch; flex-direction: column; }
	.ifv2-store .ifv2-button, .ifv2-submit-cta .ifv2-button { width: 100%; }
	.ifv2-related-card { display: grid; grid-template-columns: 108px 1fr; padding-bottom: 0; }
	.ifv2-related-img { grid-row: 1 / span 2; aspect-ratio: 1; }
	.ifv2-related-card > strong, .ifv2-related-card > p { margin: 14px 14px 0; }
	.ifv2-related-card > p { margin-top: 4px; }
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
}

.site-main {
	min-height: 72vh;
}

.site-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 28px;
	background: rgba(13, 13, 15, 0.94);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--border);
}

.wordmark,
.nav-links,
.eyebrow,
.tag,
.tile-code,
.tile-sub,
.tile-badge,
.section-step,
.section-label-tag,
.post-hero-eyebrow,
.deal-summary span,
.spec-row span {
	font-family: var(--mono);
}

.wordmark {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nav-links {
	display: flex;
	align-items: center;
	gap: 18px;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.52);
}

.nav-links a:hover {
	color: var(--chalk);
}

/* Submit is the one persistent action; browsing choices live under Explore. */
.nav-links a.nav-submit-find {
	background: var(--accent);
	color: #fff;
	padding: 9px 14px;
	border-radius: 3px;
	font-weight: 700;
}
.nav-links a.nav-submit-find:hover {
	color: #fff;
	background: #ff4a21;
}

.nav-explore,
.nav-mobile-menu {
	position: relative;
}

.nav-explore summary,
.nav-mobile-menu summary {
	list-style: none;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.64);
}

.nav-explore summary::-webkit-details-marker,
.nav-mobile-menu summary::-webkit-details-marker {
	display: none;
}

.nav-explore summary:hover,
.nav-explore summary.is-current,
.nav-explore[open] summary,
.nav-mobile-menu[open] summary {
	color: var(--chalk);
}

.nav-explore-menu,
.nav-mobile-menu > div {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	z-index: 110;
	min-width: 180px;
	padding: 8px;
	background: #111114;
	border: 1px solid var(--border);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.42);
}

.nav-explore-menu a,
.nav-mobile-menu > div a {
	display: block;
	padding: 11px 12px;
	white-space: nowrap;
}

.nav-explore-menu a[aria-current="page"] {
	color: var(--chalk);
	background: rgba(255, 60, 0, 0.12);
}

.nav-links--mobile {
	display: none;
}

@media (max-width: 760px) {
	.site-nav {
		gap: 12px;
		padding: 11px 16px;
	}
	.nav-links--desktop {
		display: none;
	}
	.nav-links--mobile {
		display: flex;
		gap: 10px;
	}
	.nav-links a.nav-submit-find {
		padding: 8px 11px;
	}
	.nav-mobile-menu > div {
		top: calc(100% + 12px);
		right: 0;
	}
}

/* Recovery links on search / not-found pages — no more dead ends */
.empty-state-links {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 24px;
}
.empty-state-links a {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 18px;
	border: 1px solid var(--border);
	color: var(--chalk);
	text-decoration: none;
}
.empty-state-links a:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.feature-tile {
	position: relative;
	min-height: min(62vw, 680px);
	background:
		linear-gradient(135deg, #10101a 0%, #1c0c0c 50%, #0d0d0f 100%);
	overflow: hidden;
	border-bottom: 1px solid var(--border);
}

.feature-link {
	position: absolute;
	inset: 0;
	display: block;
}

.feature-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.38;
	transition: transform 0.9s var(--ease), opacity 0.35s ease;
}

.feature-tile:hover .feature-img {
	transform: scale(1.035);
	opacity: 0.52;
}

.watermark {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	font-family: var(--mono);
	font-size: clamp(72px, 19vw, 260px);
	font-weight: 800;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.035);
	white-space: nowrap;
	pointer-events: none;
}

.feature-copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px 36px 36px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.88), transparent);
}

.tag,
.post-hero-tag {
	display: inline-flex;
	width: fit-content;
	padding: 4px 9px;
	border: 1px solid rgba(255, 60, 0, 0.35);
	border-radius: 2px;
	color: var(--accent);
	background: rgba(255, 60, 0, 0.12);
	font-size: 8px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.feature-copy h1,
.post-hero h1,
.archive-hero h1,
.empty-state h1 {
	max-width: 920px;
	margin: 14px 0 8px;
	font-size: clamp(34px, 6vw, 76px);
	line-height: 0.96;
	letter-spacing: 0;
}

.feature-copy p,
.post-hero-content p,
.archive-hero p,
.empty-state p {
	margin: 0;
	color: rgba(255, 255, 255, 0.52);
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: 0.04em;
}

.archive-label {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 22px 28px 10px;
}

.archive-label h2,
.archive-label span {
	margin: 0;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
}

.archive-label span {
	color: rgba(255, 255, 255, 0.16);
}

/* ── Featured hero (homepage) ────────────────────────────────────────────── */

.featured-hero {
	position: relative;
	min-height: min(82vh, 820px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	isolation: isolate;
	background: var(--dark);
	color: var(--chalk);
}

.featured-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.38;
}

.featured-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.45) 33%, transparent 66%);
	pointer-events: none;
}

.featured-hero--empty .featured-hero__overlay {
	background: repeating-linear-gradient(-45deg, #1a1a1a 0, #1a1a1a 3px, #111 3px, #111 10px);
	opacity: 0.5;
}

.featured-hero__link {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.featured-hero__wm {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	z-index: 1;
	font-family: var(--mono);
	font-size: clamp(80px, 18vw, 280px);
	font-weight: 800;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.04);
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

.featured-hero__content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 48px;
}

.featured-hero__eyebrow-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 16px;
}

.featured-hero__eyebrow {
	display: block;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	opacity: 0.55;
}

.featured-hero__eyebrow--muted {
	opacity: 0.32;
}

.featured-hero__title {
	margin: 0;
	font-size: clamp(36px, 6vw, 76px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.02em;
}

.featured-hero__title-sub {
	display: block;
	opacity: 0.45;
	font-weight: 400;
}

.featured-hero__save {
	margin-top: 24px;
	font-family: var(--mono);
	font-size: clamp(52px, 9vw, 124px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 0.92;
}

.featured-hero__deal {
	margin-top: 12px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.65;
}

.featured-hero__was {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	opacity: 0.5;
}

.featured-hero__tagline {
	margin-top: 20px;
	max-width: 30rem;
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.65;
}

.featured-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
	position: relative;
	z-index: 4;
}

.featured-hero__shop,
.featured-hero__cta {
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
	border-radius: 9999px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease;
	text-decoration: none;
}

.featured-hero__shop {
	background: var(--chalk);
	color: var(--ink);
}

.featured-hero__cta {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.5);
	color: var(--chalk);
}

.featured-hero__shop:hover,
.featured-hero__cta:hover {
	opacity: 0.75;
}

/* ── Hybrid homepage V2 / H1 preview ──────────────────────────────────────
 * Scoped to body.op-home-v2 so the current public homepage remains byte-for-
 * byte in its established visual mode until the operator approves activation.
 */
.op-home-v2 {
	--hybrid-paper: #f3f0e9;
	--hybrid-ink: #111113;
	--hybrid-green: #1db45a;
}

.op-home-v2 .site-main {
	background: var(--hybrid-paper);
}

.hybrid-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
	min-height: 700px;
	padding: clamp(42px, 7vw, 112px) clamp(24px, 6vw, 96px);
	gap: clamp(36px, 7vw, 112px);
	align-items: center;
	background:
		linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
		var(--dark);
	background-size: 36px 36px;
	color: var(--chalk);
}

.hybrid-hero__intro {
	max-width: 760px;
}

.hybrid-hero__eyebrow,
.hybrid-hero__note,
.hybrid-featured__flag,
.hybrid-featured__meta,
.hybrid-featured__price,
.hybrid-featured__read,
.hybrid-button {
	font-family: var(--mono);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.hybrid-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 10px;
	color: rgba(255,255,255,0.62);
}

.hybrid-hero__eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	background: var(--accent);
}

.hybrid-hero h1 {
	margin: 24px 0 26px;
	font-size: clamp(48px, 7.2vw, 104px);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: -0.065em;
}

.hybrid-hero h1 em {
	color: var(--accent);
	font-style: normal;
}

.hybrid-hero__intro > p:not(.hybrid-hero__note) {
	max-width: 620px;
	margin: 0;
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1.65;
	color: rgba(255,255,255,0.68);
}

.hybrid-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
}

.hybrid-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	border: 1px solid rgba(255,255,255,0.28);
	font-size: 10px;
	font-weight: 700;
	transition: transform 180ms var(--ease), background 180ms ease, border-color 180ms ease;
}

.hybrid-button:hover,
.hybrid-button:focus-visible {
	transform: translateY(-2px);
}

.hybrid-button--primary {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.hybrid-button--secondary {
	background: transparent;
	color: var(--chalk);
}

.hybrid-hero__note {
	margin: 18px 0 0;
	font-size: 9px;
	color: rgba(255,255,255,0.38);
}

.hybrid-featured {
	position: relative;
	align-self: stretch;
	display: grid;
	grid-template-rows: minmax(300px, 1.2fr) auto;
	min-height: 560px;
	background: var(--hybrid-paper);
	color: var(--hybrid-ink);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow: 22px 22px 0 rgba(255,60,0,0.16);
}

.hybrid-featured__media {
	position: relative;
	display: block;
	min-height: 300px;
	overflow: hidden;
	background: #232326;
}

.hybrid-featured__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms var(--ease);
}

.hybrid-featured__media:hover .hybrid-featured__image {
	transform: scale(1.025);
}

.hybrid-featured__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 300px;
	font-family: var(--mono);
	font-size: clamp(32px, 6vw, 84px);
	font-weight: 800;
	color: rgba(255,255,255,0.08);
}

.hybrid-featured__flag {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 8px 10px;
	background: var(--accent);
	color: #fff;
	font-size: 8px;
	font-weight: 700;
}

.hybrid-featured__body {
	padding: clamp(22px, 3vw, 38px);
}

.hybrid-featured__meta {
	font-size: 9px;
	color: rgba(0,0,0,0.46);
}

.hybrid-featured h2 {
	margin: 12px 0 18px;
	font-size: clamp(27px, 3vw, 44px);
	line-height: 1;
	letter-spacing: -0.04em;
}

.hybrid-featured__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px 14px;
	padding: 15px 0;
	border-top: 1px solid rgba(0,0,0,0.12);
	border-bottom: 1px solid rgba(0,0,0,0.12);
	font-size: 9px;
}

.hybrid-featured__price strong {
	font-size: clamp(28px, 3.5vw, 48px);
	letter-spacing: -0.06em;
}

.hybrid-featured__price span {
	color: rgba(0,0,0,0.46);
}

.hybrid-featured__price b {
	margin-left: auto;
	color: var(--hybrid-green);
}

.hybrid-featured__body > .hybrid-featured__price-context {
	margin: 8px 0 0;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(0,0,0,0.56);
}

.hybrid-featured__body > p {
	margin: 18px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(0,0,0,0.62);
}

.hybrid-featured__read {
	display: inline-flex;
	gap: 10px;
	margin-top: 22px;
	font-size: 9px;
	font-weight: 700;
	color: var(--hybrid-ink);
}

.hybrid-featured__read:hover span {
	transform: translateX(4px);
}

.hybrid-featured__read span {
	transition: transform 180ms var(--ease);
}

.hybrid-featured--empty {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 38px;
}

.hybrid-featured--empty .hybrid-featured__flag {
	position: static;
	align-self: flex-start;
}

.op-home-v2 .home-releases,
.op-home-v2 .archive-strip,
.op-home-v2 .tile-grid,
.op-home-v2 .archive-links {
	position: relative;
}

@media (max-width: 920px) {
	.hybrid-hero {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.hybrid-featured {
		min-height: 0;
	}
}

@media (max-width: 560px) {
	.hybrid-hero {
		padding: 54px 18px 68px;
		gap: 42px;
		background-size: 24px 24px;
	}

	.hybrid-hero h1 {
		font-size: clamp(46px, 15vw, 68px);
	}

	.hybrid-hero__actions,
	.hybrid-button {
		width: 100%;
	}

	.hybrid-featured {
		grid-template-rows: 260px auto;
		box-shadow: 10px 10px 0 rgba(255,60,0,0.16);
	}

	.hybrid-featured__media,
	.hybrid-featured__fallback {
		min-height: 260px;
	}

	.hybrid-featured__price b {
		width: 100%;
		margin-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hybrid-button,
	.hybrid-featured__image,
	.hybrid-featured__read span {
		transition: none;
	}
}

/* ── Hybrid homepage V2 / H3 discovery modules ─────────────────────────── */
.hybrid-discovery {
	padding: clamp(64px, 8vw, 112px) clamp(20px, 5vw, 72px);
}

.hybrid-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	max-width: 1440px;
	margin: 0 auto 34px;
}

.hybrid-section-eyebrow,
.hybrid-section-head > a,
.hybrid-section-head p,
.hybrid-brand-card__tag,
.hybrid-brand-card small,
.hybrid-deal-row {
	font-family: var(--mono);
}

.hybrid-section-eyebrow {
	font-size: 9px;
	letter-spacing: 0.16em;
	color: var(--accent);
}

.hybrid-section-head h2 {
	margin: 9px 0 0;
	font-size: clamp(38px, 5vw, 72px);
	line-height: 0.95;
	letter-spacing: -0.055em;
}

.hybrid-section-head p {
	max-width: 690px;
	margin: 14px 0 0;
	font-size: 9px;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: rgba(255,255,255,0.52);
}

.hybrid-section-head > a {
	flex: 0 0 auto;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.hybrid-brands {
	background: var(--dark);
	color: var(--chalk);
}

.hybrid-brand-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	max-width: 1440px;
	margin: 0 auto;
}

.hybrid-brand-card {
	position: relative;
	min-height: 360px;
	overflow: hidden;
	border: 1px solid var(--border);
	background: #1a1a1d;
}

.hybrid-brand-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--ease);
}

.hybrid-brand-card:hover img {
	transform: scale(1.035);
}

.hybrid-brand-card__fallback {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: 72px;
	font-weight: 800;
	color: rgba(255,255,255,0.07);
}

.hybrid-brand-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.94), rgba(0,0,0,0.04) 70%);
}

.hybrid-brand-card__tag {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 6px 8px;
	background: var(--accent);
	font-size: 8px;
	font-weight: 700;
}

.hybrid-brand-card__body {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 20px;
}

.hybrid-brand-card strong {
	display: block;
	font-size: clamp(20px, 2vw, 30px);
	line-height: 1;
}

.hybrid-brand-card small {
	display: block;
	margin-top: 10px;
	font-size: 8px;
	line-height: 1.55;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.58);
}

.hybrid-best-deals {
	background: #171719;
	color: var(--chalk);
}

.hybrid-deal-list {
	max-width: 1440px;
	margin: 0 auto;
	border-top: 1px solid var(--border);
}

.hybrid-deal-row {
	display: grid;
	grid-template-columns: 44px 82px minmax(0, 1fr) auto 90px 24px;
	align-items: center;
	gap: 18px;
	min-height: 114px;
	padding: 15px 4px;
	border-bottom: 1px solid var(--border);
	transition: background 180ms ease;
}

.hybrid-deal-row:hover {
	background: rgba(255,255,255,0.035);
}

.hybrid-deal-row__rank {
	font-size: 10px;
	color: rgba(255,255,255,0.32);
}

.hybrid-deal-row__thumb {
	display: grid;
	place-items: center;
	width: 82px;
	height: 82px;
	overflow: hidden;
	background: #232326;
	color: rgba(255,255,255,0.18);
}

.hybrid-deal-row__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hybrid-deal-row__identity strong {
	display: block;
	font-family: var(--sans);
	font-size: clamp(17px, 1.8vw, 26px);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.hybrid-deal-row__identity small {
	display: block;
	margin-top: 8px;
	font-size: 8px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.42);
}

.hybrid-deal-row__price {
	display: flex;
	align-items: baseline;
	gap: 9px;
}

.hybrid-deal-row__price strong {
	font-size: 18px;
}

.hybrid-deal-row__price s {
	font-size: 9px;
	color: rgba(255,255,255,0.38);
}

.hybrid-deal-row__off {
	font-size: 10px;
	font-weight: 700;
	color: var(--hybrid-green);
}

.hybrid-deal-row__arrow {
	font-size: 18px;
	color: var(--accent);
}

@media (max-width: 1080px) {
	.hybrid-brand-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.hybrid-section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.hybrid-brand-grid {
		grid-template-columns: 1fr 1fr;
	}

	.hybrid-brand-card {
		min-height: 290px;
	}

	.hybrid-deal-row {
		grid-template-columns: 30px 64px minmax(0, 1fr) auto;
		gap: 12px;
		min-height: 94px;
	}

	.hybrid-deal-row__thumb {
		width: 64px;
		height: 64px;
	}

	.hybrid-deal-row__price,
	.hybrid-deal-row__arrow {
		display: none;
	}
}

@media (max-width: 470px) {
	.hybrid-brand-grid {
		grid-template-columns: 1fr;
	}

	.hybrid-brand-card {
		min-height: 320px;
	}
}

/* ── Hybrid homepage V2 / H4 Store Intelligence + community ───────────── */
.hybrid-stores {
	background: #0d0d0f;
	color: var(--chalk);
}

.hybrid-store-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 1440px;
	margin: 0 auto 18px;
	border: 1px solid var(--border);
	background: #151518;
}

.hybrid-store-summary > div {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 92px;
	padding: 18px 22px;
	border-right: 1px solid var(--border);
}

.hybrid-store-summary > div:last-child {
	border-right: 0;
}

.hybrid-store-summary strong {
	font-family: var(--mono);
	font-size: clamp(25px, 3vw, 40px);
	line-height: 1;
	color: var(--chalk);
}

.hybrid-store-summary span {
	max-width: 180px;
	font-family: var(--mono);
	font-size: 8px;
	line-height: 1.55;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.48);
}

.hybrid-store-summary__map strong {
	color: var(--accent);
}

.hybrid-store-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	max-width: 1440px;
	margin: 0 auto;
}

.hybrid-store-card {
	display: grid;
	grid-template-rows: 220px 1fr;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: #19191c;
	transition: transform 180ms var(--ease), border-color 180ms ease;
}

.hybrid-store-card:hover {
	transform: translateY(-4px);
	border-color: rgba(255,60,0,0.7);
}

.hybrid-store-card__media {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #232326;
}

.hybrid-store-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.58), transparent 58%);
}

.hybrid-store-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms var(--ease);
}

.hybrid-store-card:hover .hybrid-store-card__media img {
	transform: scale(1.035);
}

.hybrid-store-card__media > b {
	font-family: var(--mono);
	font-size: 64px;
	color: rgba(255,255,255,0.09);
}

.hybrid-store-card__media > span {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	padding: 6px 8px;
	background: var(--hybrid-green);
	font-family: var(--mono);
	font-size: 8px;
	font-weight: 700;
	color: #061008;
}

.hybrid-store-card__body {
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.hybrid-store-card__body > strong {
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.hybrid-store-card__body small,
.hybrid-store-card__latest,
.hybrid-store-card__link,
.hybrid-store-empty,
.hybrid-community li,
.hybrid-community__terms {
	font-family: var(--mono);
}

.hybrid-store-card__body small {
	margin-top: 8px;
	font-size: 8px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.43);
}

.hybrid-store-card__latest {
	margin-top: 26px;
	font-size: 7px;
	letter-spacing: 0.1em;
	color: var(--accent);
}

.hybrid-store-card__title {
	display: -webkit-box;
	margin-top: 8px;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.hybrid-store-card__link {
	margin-top: auto;
	padding-top: 24px;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hybrid-store-empty {
	max-width: 1440px;
	margin: 0 auto;
	padding: 28px;
	border: 1px solid var(--border);
	font-size: 9px;
	color: rgba(255,255,255,0.54);
}

.hybrid-community {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
	max-width: 1340px;
	margin: clamp(42px, 7vw, 96px) auto;
	padding: clamp(28px, 5vw, 58px);
	border: 1px solid rgba(255,60,0,0.56);
	border-radius: 16px;
	background: linear-gradient(120deg, #171719, #0d0d0f);
	color: var(--chalk);
}

.hybrid-community__mark {
	display: grid;
	place-items: center;
	width: 110px;
	height: 110px;
	border: 2px solid var(--accent);
	border-radius: 50%;
	font-family: var(--mono);
	font-size: 62px;
	font-weight: 700;
	color: var(--accent);
}

.hybrid-community h2 {
	margin: 9px 0 12px;
	font-size: clamp(30px, 4vw, 54px);
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.hybrid-community p {
	max-width: 720px;
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: rgba(255,255,255,0.62);
}

.hybrid-community ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.hybrid-community li {
	font-size: 8px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.72);
}

.hybrid-community li::before {
	content: '✓';
	margin-right: 7px;
	color: var(--hybrid-green);
}

.hybrid-community__actions {
	display: grid;
	gap: 14px;
	min-width: 190px;
	text-align: center;
}

.hybrid-community__terms {
	font-size: 8px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.58);
}

@media (max-width: 1080px) {
	.hybrid-store-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hybrid-community {
		grid-template-columns: 90px minmax(0, 1fr);
		margin-right: 20px;
		margin-left: 20px;
	}

	.hybrid-community__mark {
		width: 82px;
		height: 82px;
		font-size: 46px;
	}

	.hybrid-community__actions {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 700px) {
	.hybrid-store-summary {
		grid-template-columns: 1fr;
	}

	.hybrid-store-summary > div {
		border-right: 0;
		border-bottom: 1px solid var(--border);
	}

	.hybrid-store-summary > div:last-child {
		border-bottom: 0;
	}

	.hybrid-store-grid {
		grid-template-columns: 1fr;
	}

	.hybrid-store-card {
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-rows: minmax(210px, auto);
	}

	.hybrid-store-card__media {
		min-height: 210px;
	}

	.hybrid-community {
		grid-template-columns: 1fr;
	}

	.hybrid-community__mark {
		display: none;
	}

	.hybrid-community__actions {
		grid-column: 1;
		width: 100%;
	}
}

@media (max-width: 460px) {
	.hybrid-store-card {
		grid-template-columns: 1fr;
		grid-template-rows: 210px auto;
	}
}

/* ── Hybrid V2 / H5 footer, newsletter and visual polish ───────────────── */
.site-footer--v2 {
	display: block;
	padding: 0;
	background: #080809;
	color: rgba(255,255,255,0.62);
}

.site-footer-newsletter,
.site-footer-main,
.site-footer-bottom {
	width: min(1440px, calc(100% - 48px));
	margin: 0 auto;
}

.site-footer-newsletter {
	display: grid;
	grid-template-columns: minmax(280px, .85fr) minmax(480px, 1.15fr);
	align-items: end;
	gap: clamp(36px, 7vw, 110px);
	padding: clamp(56px, 8vw, 110px) 0;
	border-bottom: 1px solid var(--border);
}

.site-footer-eyebrow {
	display: block;
	font-family: var(--mono);
	font-size: 9px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--accent);
}

.site-footer-newsletter h2 {
	margin: 12px 0 16px;
	font-size: clamp(38px, 5vw, 72px);
	line-height: .94;
	letter-spacing: -.055em;
	color: var(--chalk);
}

.site-footer-newsletter > div > p {
	max-width: 620px;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

.site-footer-newsletter__form .op-newsletter {
	display: grid;
	grid-template-columns: minmax(130px, .7fr) minmax(210px, 1.3fr) auto;
	gap: 10px;
	margin: 0;
}

.site-footer-newsletter__form .op-newsletter__msg {
	grid-column: 1 / -1;
	margin: 0 0 4px;
	padding: 12px 14px;
	border: 1px solid rgba(255,255,255,.12);
	font-size: 12px;
}

.site-footer-newsletter__form .op-newsletter__msg--ok {
	border-color: rgba(38,199,92,.5);
	color: #54d47d;
}

.site-footer-newsletter__form .op-newsletter__msg--err {
	border-color: rgba(255,60,0,.55);
	color: #ff754b;
}

.site-footer-newsletter__form .op-newsletter input:not([type="hidden"]) {
	min-width: 0;
	height: 54px;
	padding: 0 15px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 5px;
	background: #151518;
	font-family: var(--mono);
	font-size: 10px;
	color: var(--chalk);
}

.site-footer-newsletter__form .op-newsletter input::placeholder {
	color: rgba(255,255,255,.38);
}

.site-footer-newsletter__form .op-newsletter button {
	height: 54px;
	padding: 0 22px;
	border: 1px solid var(--accent);
	border-radius: 5px;
	background: var(--accent);
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: background 180ms ease, color 180ms ease, transform 180ms var(--ease);
}

.site-footer-newsletter__form .op-newsletter button:hover {
	background: transparent;
	color: var(--accent);
	transform: translateY(-2px);
}

.site-footer-newsletter__form > p {
	margin: 12px 0 0;
	font-family: var(--mono);
	font-size: 7px;
	line-height: 1.65;
	letter-spacing: .04em;
	color: rgba(255,255,255,.36);
}

.site-footer-main {
	display: grid;
	grid-template-columns: minmax(250px, 1fr) minmax(480px, 1.3fr);
	gap: clamp(48px, 8vw, 130px);
	padding: clamp(48px, 7vw, 84px) 0;
}

.site-footer--v2 .site-footer-brand strong {
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1;
	letter-spacing: -.05em;
	text-transform: uppercase;
}

.site-footer--v2 .site-footer-brand strong span {
	font-size: inherit;
	color: var(--accent);
}

.site-footer--v2 .site-footer-brand p {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255,255,255,.66);
}

.site-footer--v2 .site-footer-brand small {
	display: block;
	max-width: 370px;
	margin-top: 28px;
	font-family: var(--mono);
	font-size: 7px;
	line-height: 1.7;
	letter-spacing: .04em;
	color: rgba(255,255,255,.34);
}

.site-footer--v2 .site-footer-sitemap {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 64px);
}

.site-footer--v2 .site-footer-sitemap a {
	width: fit-content;
	transition: color 160ms ease, transform 160ms var(--ease);
}

.site-footer--v2 .site-footer-sitemap a:hover {
	color: var(--accent);
	transform: translateX(3px);
}

.site-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 0 30px;
	border-top: 1px solid var(--border);
	font-family: var(--mono);
	font-size: 7px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255,255,255,.32);
}

/* Long real-world titles and missing states must remain intentional. */
.op-home-v2 .hybrid-featured h2,
.op-home-v2 .hybrid-deal-row__identity strong,
.op-home-v2 .hybrid-store-card__body > strong,
.op-home-v2 .hybrid-store-card__title,
.find-detail-v2 .ifv2-title {
	overflow-wrap: anywhere;
}

.op-home-v2 .shoe-hub-title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.op-home-v2 .hybrid-featured--empty,
.op-home-v2 .hybrid-store-empty {
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 12px, rgba(255,255,255,.025) 12px, rgba(255,255,255,.025) 13px);
}

.op-home-v2 :where(a, button, input):focus-visible,
.find-detail-v2 :where(a, button, input):focus-visible,
.site-footer--v2 :where(a, button, input):focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.site-footer-newsletter,
	.site-footer-main {
		grid-template-columns: 1fr;
	}

	.site-footer-newsletter__form .op-newsletter {
		grid-template-columns: minmax(130px, .7fr) minmax(210px, 1.3fr) auto;
	}
}

@media (max-width: 620px) {
	.site-footer-newsletter,
	.site-footer-main,
	.site-footer-bottom {
		width: min(100% - 36px, 1440px);
	}

	.site-footer-newsletter__form .op-newsletter {
		grid-template-columns: 1fr;
	}

	.site-footer-newsletter__form .op-newsletter button {
		width: 100%;
	}

	.site-footer--v2 .site-footer-sitemap {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer-bottom {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-footer-newsletter__form .op-newsletter button,
	.site-footer--v2 .site-footer-sitemap a,
	.op-home-v2 .hybrid-store-card,
	.op-home-v2 .hybrid-brand-card img {
		transition: none;
		transform: none;
	}
}

/* ── Archive strip ────────────────────────────────────────────────────────── */

.archive-strip {
	background: var(--light);
	border-bottom: 1px solid rgba(0,0,0,0.07);
}

.archive-strip-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 28px 48px 20px;
}

.archive-strip-label {
	flex: 1;
}

.archive-strip-eyebrow {
	display: block;
	margin-bottom: 6px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(0,0,0,0.38);
}

.archive-strip-heading {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ink);
}

.archive-strip-count {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0,0,0,0.3);
	flex-shrink: 0;
}

/* ── Tile grid ────────────────────────────────────────────────────────────── */

.tile-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(16px, 2vw, 20px);
	padding: clamp(20px, 3vw, 40px);
	background: var(--dark);
}

.tile-grid.compact {
	gap: clamp(16px, 2vw, 20px);
	padding: clamp(20px, 3vw, 40px);
	background: transparent;
}

/* Related finds / Editorial finds grids often have just 1-3 tiles. The
   base .tile-grid grows to 3/4/5 explicit columns at wider breakpoints --
   fine for a full archive, but with fewer tiles than columns that leaves
   empty grid cells. An earlier attempt used `auto-fit` to collapse those
   empty tracks, but with a `1fr` max that meant a single leftover tile
   stretched to the ENTIRE row width -- combined with .tile's fixed 3:4
   aspect-ratio, one tile became enormously tall. The actual tile count is
   known server-side at render time (single-sneaker_find.php,
   single-shoe.php), so it's rendered directly as a data-cols attribute
   here instead of guessed at in CSS -- deterministic, matches exactly how
   many tiles exist, no empty cells and no runaway stretching either way.
   Scoped to >=800px to match the original breakpoint where .tile-grid
   first grows past 2 columns; below that the existing mobile/tablet rules
   (single column under 760px, default 2-column .tile-grid otherwise)
   apply unchanged. */
@media (min-width: 800px) {
	.tile-grid.compact[data-cols="1"] {
		grid-template-columns: minmax(0, 1fr);
		max-width: 420px;
		margin: 0 auto;
	}
	.tile-grid.compact[data-cols="2"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.tile-grid.compact[data-cols="3"] {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tile-grid.compact .tile:nth-child(3n + 2),
.tile-grid.compact .tile:nth-child(3n + 3) {
	/* The light/ghost checkerboard coloring reads as rhythm across a full
	   grid of many tiles, but as a jarring dark+white split when a compact
	   grid only has 1-3 tiles -- keep these consistently dark instead. */
	background: var(--mid);
	color: inherit;
}

.tile {
	position: relative;
	min-height: 0;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--mid);
	border: 1px solid rgba(255, 255, 255, 0.035);
	transition: transform 0.4s var(--ease);
}

.tile-img-placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	background:
		linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
		#1a1a1d;
	background-size: 28px 28px;
	font-family: var(--mono);
	font-size: clamp(28px, 5vw, 72px);
	font-weight: 800;
	letter-spacing: -0.06em;
	text-align: center;
	color: rgba(255,255,255,0.08);
}

.tile:nth-child(3n + 2) .tile-img-placeholder {
	background:
		linear-gradient(rgba(0,0,0,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0,0,0,0.035) 1px, transparent 1px),
		var(--ghost);
	background-size: 28px 28px;
	color: rgba(0,0,0,0.08);
}

.tile:nth-child(3n + 2) {
	background: var(--light);
	color: var(--ink);
}

.tile:nth-child(3n + 3) {
	background: var(--ghost);
	color: var(--ink);
}

.tile:hover {
	z-index: 2;
	transform: scale(1.02);
}

.tile a {
	position: absolute;
	inset: 0;
	display: block;
}

.tile-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.42;
	transition: transform 0.65s var(--ease), opacity 0.3s ease;
}

.tile:hover .tile-img {
	transform: scale(1.07);
	opacity: 0.62;
}

.tile-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent 56%);
}

.tile:nth-child(3n + 2) .tile-overlay,
.tile:nth-child(3n + 3) .tile-overlay {
	background: linear-gradient(to top, rgba(240, 237, 230, 0.9), transparent 56%);
}

.tile-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 3px 6px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.42);
	font-size: 8px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tile:nth-child(3n + 2) .tile-badge,
.tile:nth-child(3n + 3) .tile-badge {
	background: rgba(0, 0, 0, 0.06);
	color: rgba(0, 0, 0, 0.38);
}

.tile-body {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 14px 16px;
}

.tile-code,
.tile-sub {
	font-size: 9px;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.34);
}

.tile:nth-child(3n + 2) .tile-code,
.tile:nth-child(3n + 2) .tile-sub,
.tile:nth-child(3n + 3) .tile-code,
.tile:nth-child(3n + 3) .tile-sub {
	color: rgba(0, 0, 0, 0.38);
}

.tile-name {
	margin: 4px 0;
	font-size: 14px;
	line-height: 1.2;
}

.placeholder-tile {
	border-style: dashed;
}

/* ── Tile card internals (new find-card layout) ───────────────────────────── */

.tile-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-decoration: none;
	color: inherit;
}

.tile-top {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 14px;
}

.tile-meta {
	display: block;
	font-family: var(--mono);
	font-size: 8px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
}

.tile-meta--muted {
	color: rgba(255,255,255,0.28);
}

.tile:nth-child(3n + 2) .tile-meta,
.tile:nth-child(3n + 3) .tile-meta {
	color: rgba(0,0,0,0.45);
}

.tile:nth-child(3n + 2) .tile-meta--muted,
.tile:nth-child(3n + 3) .tile-meta--muted {
	color: rgba(0,0,0,0.25);
}

.tile-save {
	font-family: var(--mono);
	font-size: clamp(18px, 3.5vw, 34px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	margin-bottom: 4px;
}

.tile-save--placeholder {
	opacity: 0.2;
}

.tile-price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-top: 4px;
}

.tile-was {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	opacity: 0.55;
}

.tile-off {
	opacity: 0.55;
}

.tile-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 8px;
	margin-top: 8px;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.tile:nth-child(3n + 2) .tile-footer,
.tile:nth-child(3n + 3) .tile-footer {
	border-top-color: rgba(0,0,0,0.08);
}

.tile-date {
	font-family: var(--mono);
	font-size: 8px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.38;
}

.tile-shop {
	font-family: var(--mono);
	font-size: 8px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.65;
	white-space: nowrap;
}

/* ── Archive controls (sort bar) ──────────────────────────────────────────── */

.archive-controls {
	background: var(--light);
	border-top: 1px solid var(--ghost);
	border-bottom: 1px solid var(--ghost);
}

.archive-controls-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 28px;
}

.archive-controls-count {
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	color: var(--muted-dark);
	white-space: nowrap;
}

.archive-sort {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.sort-btn {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.08em;
	padding: 6px 13px;
	border: 1px solid rgba(0, 0, 0, 0.18);
	color: var(--muted-dark);
	background: transparent;
	text-decoration: none;
	transition: color 0.18s, background 0.18s, border-color 0.18s;
	white-space: nowrap;
}

.sort-btn:hover {
	color: var(--ink);
	border-color: var(--ink);
}

.sort-btn.is-active {
	background: var(--ink);
	color: var(--chalk);
	border-color: var(--ink);
}

/* 404 actions row */
.archive-hero-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 24px;
}

/* ── Archive grid cap (max 3 cols on dedicated archive page) ──────────────── */

.post-type-archive-sneaker_find .tile-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ── Archive empty state ──────────────────────────────────────────────────── */

.archive-empty {
	grid-column: 1 / -1;
	padding: 60px 28px;
	color: var(--muted-dark);
}

.archive-links,
.site-footer {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 30px 28px;
	border-top: 1px solid var(--border);
}

.archive-links a,
.button-link,
.site-footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 3px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.archive-links a:hover,
.button-link:hover,
.site-footer a:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: white;
}

.post-hero {
	position: relative;
	display: flex;
	min-height: 100vh;
	align-items: flex-end;
	overflow: hidden;
	background:
		linear-gradient(135deg, #10101a 0%, #1c0c0c 50%, #0d0d0f 100%);
}

.post-hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.46;
}

.post-hero-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.84), rgba(0, 0, 0, 0.08) 64%, transparent);
}

.post-hero-wm {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: clamp(96px, 22vw, 320px);
	font-weight: 800;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.035);
	white-space: nowrap;
}

.post-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 0 36px 46px;
}

.post-hero-eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.44);
	font-size: 10px;
	letter-spacing: 0.07em;
}

.post-hero h1 {
	margin-bottom: 10px;
}

.deal-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	background: var(--light);
	color: var(--ink);
}

.deal-summary div {
	min-height: 150px;
	padding: 28px;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.deal-summary div:last-child {
	border-right: none;
}

.deal-summary span {
	display: block;
	margin-bottom: 18px;
	color: var(--muted-dark);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.deal-summary strong {
	font-size: clamp(24px, 3vw, 42px);
	line-height: 1;
}

.deal-summary-strike {
	display: block;
	font-size: 16px !important;
	font-weight: 500;
	color: var(--muted-dark);
	text-decoration: line-through;
	margin-bottom: 2px;
}

.deal-summary-final {
	display: block;
	color: var(--accent);
}

.deal-summary-note {
	display: block;
	margin-top: 6px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.story-section,
.analysis-section,
.specs-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 56vh;
}

.story-section {
	min-height: unset;
}

.story-section.flip {
	/* column order is handled by DOM — section-text first, section-media second */
}

.section-media {
	position: relative;
	overflow: hidden;
	background: var(--mid);
}

.section-media img,
.section-media iframe {
	width: 100%;
	height: auto;
	display: block;
}

.media-panel {
	display: grid;
	place-items: center;
	padding: 34px;
	background: var(--ghost);
	color: var(--ink);
}

.media-panel div {
	display: grid;
	gap: 10px;
	max-width: 360px;
}

.media-panel span {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.section-text,
.analysis-section,
.specs-table,
.link-section,
.related-section,
.empty-state,
.archive-hero {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 52px 40px;
}

.section-text {
	gap: 14px;
	background: var(--dark);
}

.section-text.alt-bg,
.specs-table {
	background: var(--mid);
}

.section-step,
.section-label-tag,
.eyebrow {
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
}

.section-label-tag {
	color: var(--accent);
}

.section-text h2,
.analysis-section h2,
.specs-table h2,
.link-section h2,
.related-section h2 {
	max-width: 640px;
	margin: 0;
	font-size: clamp(24px, 3.6vw, 46px);
	line-height: 1.08;
	letter-spacing: 0;
}

.section-heading--bold {
	font-weight: 700;
}

.section-snippet {
	max-width: 560px;
	margin: 16px 0 0;
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.55;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.88);
}

.section-body,
.section-body p,
.analysis-section p,
.link-section p {
	max-width: 560px;
	margin: 0;
	color: rgba(255, 255, 255, 0.58);
	font-size: 15px;
	line-height: 1.8;
}

.section-body p + p {
	margin-top: 18px;
}

.analysis-section {
	gap: 28px;
	align-items: center;
	border-top: 1px solid var(--border);
	background: var(--light);
	color: var(--ink);
}

.analysis-section .section-body,
.analysis-section .section-body p {
	color: rgba(0, 0, 0, 0.62);
}

.analysis-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.analysis-metrics div {
	min-height: 150px;
	padding: 24px;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.analysis-metrics div:nth-child(2n) {
	border-right: none;
}

.analysis-metrics div:nth-last-child(-n + 2) {
	border-bottom: none;
}

.analysis-metrics span {
	display: block;
	margin-bottom: 18px;
	color: var(--muted-dark);
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.analysis-metrics strong {
	font-size: clamp(24px, 3vw, 42px);
	line-height: 1;
}

.specs-section {
	grid-template-columns: minmax(0, 1fr);
	min-height: auto;
}

.spec-row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 13px 0;
	border-bottom: 1px solid var(--border);
}

.spec-row span {
	color: var(--muted);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.spec-row strong {
	text-align: right;
}

/* ── Find photo gallery ───────────────────────────────────────────────────── */

.find-gallery {
	background: var(--dark);
	color: var(--chalk);
	border-top: 1px solid var(--border);
	padding: 64px 48px;
}

.find-gallery-inner {
	max-width: 1280px;
	margin: 0 auto;
}

.find-gallery > .find-gallery-inner > .section-label-tag {
	display: block;
	margin-bottom: 40px;
}

.find-gallery-cat {
	margin-bottom: 48px;
}

.find-gallery-cat:last-child {
	margin-bottom: 0;
}

.find-gallery-cat-label {
	margin: 0 0 16px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.38);
}

.find-gallery-grid {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.find-gallery-grid--price_tag {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.find-gallery-grid--multi_angle {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.find-gallery-grid--box_sku {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.find-gallery-item {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 2px;
	background: var(--mid);
}

.find-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--ease), opacity 0.3s ease;
	opacity: 0.88;
}

.find-gallery-item:hover img {
	transform: scale(1.04);
	opacity: 1;
}

.link-section,
.related-section,
.empty-state,
.archive-hero {
	min-height: 44vh;
	gap: 16px;
	border-top: 1px solid var(--border);
}

.link-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.button-link {
	background: var(--accent);
	border-color: var(--accent);
	color: white;
}

.button-link.secondary {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.16);
}

.archive-hero,
.empty-state {
	background: var(--light);
	color: var(--ink);
}

.archive-hero p,
.empty-state p,
.archive-hero .eyebrow,
.empty-state .eyebrow {
	color: var(--muted-dark);
}

.pagination-nav {
	padding: 30px 28px;
}

.site-footer {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(420px, 1.4fr);
	align-items: start;
	gap: 48px;
	padding: 48px 28px;
	background: #080809;
	color: rgba(255, 255, 255, 0.62);
}

.site-footer-brand {
	display: grid;
	gap: 6px;
}

.site-footer strong,
.site-footer-sitemap strong {
	color: var(--chalk);
}

.site-footer span {
	font-size: 13px;
}

.site-footer-sitemap {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.site-footer-sitemap > div {
	display: grid;
	align-content: start;
	gap: 10px;
}

.site-footer-sitemap strong {
	margin-bottom: 4px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer .site-footer-sitemap a {
	display: block;
	min-height: 0;
	padding: 0;
	font-family: var(--sans);
	font-size: 13px;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	border: 0;
	border-radius: 0;
}

.site-footer .site-footer-sitemap a:hover {
	color: var(--chalk);
	background: transparent;
}

.reveal-card {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.75s var(--ease), transform 0.75s var(--ease);
}

.reveal-card.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (min-width: 560px) {
	.tile-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 800px) {
	.tile-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1120px) {
	.tile-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	/* Archive page stays at 3 — avoids sparse layout with low post counts */
	.post-type-archive-sneaker_find .tile-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1480px) {
	.post-type-archive-sneaker_find .tile-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.site-nav {
		padding: 13px 16px;
	}

	.nav-links {
		gap: 12px;
		font-size: 9px;
	}

	.feature-tile {
		min-height: 76vh;
	}

	.feature-copy,
	.post-hero-content {
		padding: 24px 18px 30px;
	}

	.feature-copy h1,
	.post-hero h1,
	.archive-hero h1,
	.empty-state h1 {
		font-size: clamp(34px, 13vw, 58px);
	}

	.watermark,
	.post-hero-wm {
		font-size: 28vw;
		white-space: normal;
		text-align: center;
	}

	.deal-summary,
	.story-section,
	.analysis-section {
		grid-template-columns: 1fr;
	}

	.tile-grid {
		gap: 14px;
		padding: 14px;
	}

	.tile {
		aspect-ratio: 4 / 5;
	}

	.deal-summary div {
		min-height: 116px;
		border-right: none;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.analysis-metrics {
		grid-template-columns: 1fr;
	}

	.analysis-metrics div,
	.analysis-metrics div:nth-child(2n),
	.analysis-metrics div:nth-last-child(-n + 2) {
		border-right: none;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.analysis-metrics div:last-child {
		border-bottom: none;
	}

	.section-text,
	.specs-table,
	.link-section,
	.related-section,
	.empty-state,
	.archive-hero {
		padding: 42px 22px;
	}

	.section-media {
		min-height: 200px;
	}

	.spec-row {
		display: grid;
		gap: 6px;
	}

	.spec-row strong {
		text-align: left;
	}

	.site-footer {
		align-items: flex-start;
	}
}

/* ── Hatch texture — reusable on dark sections ───────────────────────────── */

.about-hero::before,
.about-section--dark::before,
.about-close::before,
.dir-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.5;
	z-index: 0;
	pointer-events: none;
	background: repeating-linear-gradient(
		-45deg,
		#1a1a1a 0,
		#1a1a1a 3px,
		#111111 3px,
		#111111 10px
	);
}

.about-hero,
.about-section--dark,
.about-close,
.dir-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.about-hero-inner,
.about-section-inner,
.about-close-inner,
.dir-hero-inner,
.dir-list-wrap > * {
	position: relative;
	z-index: 1;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

/* ── About page ─────────────────────────────────────────────────────────── */

.about-eyebrow,
.about-section-eyebrow,
.directory-eyebrow {
	display: block;
	margin-bottom: 22px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
}

.about-hero {
	padding: 96px 40px 88px;
	background: var(--dark);
	border-bottom: 1px solid var(--border);
}

.about-hero-inner {
	max-width: 900px;
}

.about-hero-title {
	margin: 0 0 36px;
	font-size: clamp(48px, 8.5vw, 120px);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.02em;
}

.about-hero-title-sub {
	display: block;
	color: rgba(255, 255, 255, 0.26);
}

.about-hero-lede {
	max-width: 620px;
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.58);
}

.about-hero-lede:last-child {
	margin-bottom: 0;
}

.about-section {
	border-bottom: 1px solid var(--border);
}

.about-section--light {
	background: var(--light);
	color: var(--ink);
}

.about-section--dark {
	background: var(--dark);
	color: var(--chalk);
}

.about-section-inner {
	padding: 72px 40px;
}

.about-section-heading {
	margin: 0 0 48px;
	max-width: 720px;
	font-size: clamp(28px, 4vw, 56px);
	line-height: 1.02;
}

.about-pillars {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid #e8e8e6;
}

.about-pillar {
	padding: 36px 28px;
	border-left: 1px solid #e8e8e6;
}

.about-pillar:first-child {
	border-left: none;
	padding-left: 0;
}

.about-pillar-index {
	display: block;
	margin-bottom: 18px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	color: rgba(0, 0, 0, 0.3);
}

.about-pillar h3 {
	margin: 0 0 12px;
	font-size: 20px;
	line-height: 1.1;
}

.about-pillar p {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
	color: rgba(0, 0, 0, 0.55);
}

.about-prose {
	max-width: 680px;
}

.about-prose p {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.62);
}

.about-prose--dark p,
.about-prose--dark li {
	color: rgba(0, 0, 0, 0.62);
}

.about-prose p:last-child {
	margin-bottom: 0;
}

.about-prose ul {
	list-style: none;
	margin: 24px 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.about-prose li {
	position: relative;
	padding-left: 22px;
	font-family: var(--mono);
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.62);
}

.about-prose li::before {
	content: '→';
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0.5;
}

.about-close {
	background: var(--ink);
	color: var(--chalk);
	border-bottom: 1px solid var(--border);
}

.about-close-inner {
	padding: 88px 40px;
	max-width: 900px;
}

.about-close-line {
	margin: 0 0 16px;
	font-size: clamp(28px, 4vw, 52px);
	font-weight: 700;
	line-height: 1.08;
}

.about-close-line--mute {
	color: rgba(255, 255, 255, 0.32);
}

.about-mission {
	margin: 40px 0;
	display: grid;
	gap: 18px;
}

.about-mission p {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.58);
}

.about-mission-label {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
	margin-right: 8px;
}

.about-close-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid var(--border);
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
}

/* ── Directory pages (Stores + Brands) ───────────────────────────────────── */

.dir-eyebrow {
	display: block;
	margin-bottom: 22px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.38);
}

.dir-hero {
	padding: 96px 40px 88px;
	background: var(--dark);
	border-bottom: 1px solid var(--border);
}

.dir-hero-inner {
	max-width: 900px;
}

.dir-hero-title {
	margin: 0 0 32px;
	font-size: clamp(44px, 8vw, 112px);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.02em;
}

.dir-hero-title-sub {
	display: block;
	color: rgba(255, 255, 255, 0.26);
}

.dir-hero-lede {
	max-width: 580px;
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.54);
}

.dir-list-wrap {
	background: var(--light);
	color: var(--ink);
}

.dir-list-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding: 52px 40px 36px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.dir-list-eyebrow {
	display: block;
	margin-bottom: 10px;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.36);
}

.dir-list-heading {
	margin: 0;
	font-size: clamp(22px, 3vw, 36px);
	line-height: 1.1;
}

.dir-list-count {
	flex-shrink: 0;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.36);
}

.dir-category {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.dir-category-title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 40px;
	margin: 0;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.38);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	background: rgba(0, 0, 0, 0.02);
}

.dir-category-title span {
	color: rgba(0, 0, 0, 0.22);
}

.dir-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 28px 40px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	overflow: hidden;
	transition: background 0.2s ease;
}

.dir-row.is-active {
	cursor: pointer;
}

.dir-row.is-active:hover {
	background: rgba(0, 0, 0, 0.03);
}

.dir-row.is-empty {
	opacity: 0.42;
}

.dir-row-tag {
	flex-shrink: 0;
	width: 64px;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}

.dir-row-body {
	flex: 1;
	min-width: 0;
	display: grid;
	gap: 6px;
}

.dir-row-name {
	margin: 0;
	font-size: clamp(17px, 2.2vw, 24px);
	line-height: 1.15;
	font-weight: 700;
}

.dir-row-location {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.38);
}

.dir-row-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	color: rgba(0, 0, 0, 0.5);
}

.dir-row-stats strong {
	color: var(--ink);
}

.dir-row-latest {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.44);
}

.dir-row-latest-meta {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.28);
}

.dir-row-cta {
	flex-shrink: 0;
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.32);
	transition: color 0.2s ease;
	position: relative;
	z-index: 2;
}

.dir-row.is-active:hover .dir-row-cta {
	color: var(--ink);
}

.dir-row-watermark {
	position: absolute;
	right: -8px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--mono);
	font-size: clamp(64px, 9vw, 120px);
	font-weight: 800;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.055);
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
}

@media (max-width: 1100px) {
	.about-pillars {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-pillar:first-child {
		padding-left: 28px;
		border-left: none;
	}

	.about-pillar:nth-child(odd) {
		border-left: none;
	}

	.about-pillar:nth-child(n+3) {
		border-top: 1px solid #e8e8e6;
	}
}

@media (max-width: 760px) {
	.about-hero {
		padding: 56px 22px 52px;
	}

	.about-section-inner,
	.about-close-inner,
	.directory-hero {
		padding: 52px 22px;
	}

	.about-pillars {
		grid-template-columns: 1fr;
	}

	.about-pillar {
		border-left: none;
		border-top: 1px solid #e8e8e6;
		padding-left: 0;
	}

	.about-pillar:first-child {
		border-top: none;
	}

	.dir-hero {
		padding: 56px 22px 52px;
	}

	.dir-list-header {
		flex-direction: column;
		align-items: flex-start;
		padding: 36px 22px 24px;
	}

	.dir-category-title,
	.dir-row {
		padding-left: 22px;
		padding-right: 22px;
	}

	.dir-row-watermark {
		font-size: 56px;
	}

	.dir-row-tag {
		width: 48px;
		font-size: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
	}

	.reveal-card {
		opacity: 1;
		transform: none;
	}
}

/* ── Image flow (vertical store-photo sequence) ──────────────────────────── */

.find-img-flow {
	background: var(--dark);
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.find-img-flow-inner {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.find-img-flow-inner--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3px;
}

.find-img-module {
	overflow: hidden;
	background: var(--mid);
	line-height: 0;
}

.find-img-item {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 0.6s var(--ease), opacity 0.35s ease;
	opacity: 0.94;
}

.find-img-module:hover .find-img-item {
	transform: scale(1.025);
	opacity: 1;
}

/* ── Text-only story section (full width, no media panel) ─────────────────── */

.story-section--text {
	grid-template-columns: 1fr;
	min-height: auto;
}

/* ── Archive data — collapsible secondary module ─────────────────────────── */

.archive-data-section {
	border-top: 1px solid var(--border);
	background: var(--mid);
}

.archive-data-toggle {
	width: 100%;
}

.archive-data-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 28px 40px;
	cursor: pointer;
	list-style: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}

.archive-data-summary::-webkit-details-marker {
	display: none;
}

details[open] .archive-data-summary {
	border-bottom-color: var(--border);
}

.archive-data-caret {
	display: inline-block;
	font-family: var(--mono);
	font-size: 14px;
	color: var(--muted);
	transition: transform 0.25s var(--ease);
}

details[open] .archive-data-caret {
	transform: rotate(180deg);
}

.archive-data-body {
	padding: 0 40px 48px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.archive-data-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--border);
}

.archive-data-row span {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	flex-shrink: 0;
}

.archive-data-row strong {
	font-size: 15px;
	text-align: right;
}

.archive-data-block {
	padding: 28px 0 0;
	display: grid;
	gap: 12px;
}

.archive-data-block-label {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

@media (max-width: 760px) {
	.find-img-flow-inner--grid {
		grid-template-columns: 1fr;
	}

	.archive-data-summary {
		padding: 22px;
	}

	.archive-data-body {
		padding: 0 22px 40px;
	}
}

/* ── Shoe description block ──────────────────────────────────────────────── */

.shoe-description {
	background: var(--light);
	color: var(--ink);
	padding: 40px 48px;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}

.shoe-description p {
	max-width: 780px;
	margin: 0;
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.65;
	color: rgba(0,0,0,0.72);
}

@media (max-width: 760px) {
	.shoe-description {
		padding: 28px 22px;
	}
}

/* Shoe body — post_content prose (block/classic editor) */
.shoe-body {
	background: var(--light);
	color: var(--ink);
	padding: 40px 48px;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}

.shoe-body .section-label-tag {
	display: block;
	margin-bottom: 14px;
}

.shoe-body-copy {
	max-width: 780px;
	font-size: clamp(15px, 1.7vw, 18px);
	line-height: 1.7;
	color: rgba(0,0,0,0.78);
}

.shoe-body-copy > * { margin: 0 0 1em; }
.shoe-body-copy > *:last-child { margin-bottom: 0; }
.shoe-body-copy h2,
.shoe-body-copy h3 { color: var(--ink); line-height: 1.25; margin-top: 1.2em; }
.shoe-body-copy a { color: var(--accent); }

@media (max-width: 760px) {
	.shoe-body {
		padding: 28px 22px;
	}
}

/* ── Shoe archive page — price history timeline ───────────────────────────── */

.shoe-timeline {
	background: var(--dark);
	border-top: 1px solid var(--border);
	color: var(--chalk);
}

.shoe-timeline-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 52px 40px 32px;
	border-bottom: 1px solid var(--border);
}

.shoe-timeline-head h2 {
	margin: 0;
	font-size: clamp(22px, 3vw, 36px);
	line-height: 1.1;
}

.shoe-timeline-entry {
	display: grid;
	grid-template-columns: 130px 1fr auto;
	align-items: center;
	gap: 24px;
	padding: 22px 40px;
	border-bottom: 1px solid var(--border);
	transition: background 0.2s ease;
}

.shoe-timeline-entry--first {
	background: var(--mid);
}

.shoe-timeline-entry:hover {
	background: rgba(255, 255, 255, 0.025);
}

.shoe-tl-date {
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	color: var(--muted);
	flex-shrink: 0;
}

.shoe-tl-store {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.shoe-tl-store-name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.shoe-tl-location {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

.shoe-tl-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	flex-shrink: 0;
}

.shoe-tl-amount {
	font-family: var(--mono);
	font-size: clamp(20px, 2.5vw, 30px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.shoe-tl-disc {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent);
}

.shoe-tl-badge {
	display: inline-block;
	padding: 2px 6px;
	border-radius: 2px;
	font-family: var(--mono);
	font-size: 7px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.shoe-tl-badge--low {
	background: rgba(255, 60, 0, 0.12);
	border: 1px solid rgba(255, 60, 0, 0.28);
	color: var(--accent);
}

.shoe-tl-first-tag {
	grid-column: 1 / -1;
	font-family: var(--mono);
	font-size: 8px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	padding-top: 8px;
	border-top: 1px solid var(--border);
	margin-top: 4px;
}

.shoe-timeline-empty {
	padding: 48px 40px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--muted);
}

@media (max-width: 760px) {
	.shoe-timeline-head {
		padding: 40px 22px 24px;
	}

	.shoe-timeline-entry {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 20px 22px;
	}

	.shoe-tl-price {
		flex-direction: row;
		align-items: baseline;
		gap: 10px;
	}

	.shoe-tl-first-tag {
		padding-top: 8px;
	}
}

/* ── Shoe archive page — stat bar (Phase 3: auto-fit for 4–5 cols) ──────── */

.shoe-stat-bar {
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.shoe-stat-context {
	display: block;
	margin-top: 5px;
	font-family: var(--mono);
	font-size: 9px;
	line-height: 1.35;
	letter-spacing: 0.04em;
	color: var(--muted);
}

.shoe-stat-context.is-current { color: #1db954; }
.shoe-stat-context.is-historical { color: rgba(255, 255, 255, 0.48); }

/* ── Canonical Shoe — location-aware current pricing (Phase 2) ─────────── */

.shoe-store-prices {
	margin: 0;
	padding: clamp(28px, 4vw, 48px);
	background: #101012;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.shoe-store-prices__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr);
	gap: 28px;
	align-items: end;
	margin-bottom: 24px;
}

.shoe-store-prices__head h2 {
	margin: 8px 0 0;
	font-size: clamp(25px, 3vw, 40px);
	line-height: 1.05;
}

.shoe-store-prices__head > p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.6;
}

.shoe-current-best {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 5px 24px;
	align-items: baseline;
	padding: 20px 22px;
	margin-bottom: 14px;
	border: 1px solid rgba(29, 185, 84, 0.52);
	border-radius: 14px;
	background: rgba(29, 185, 84, 0.06);
}

.shoe-current-best > span,
.shoe-current-best > small {
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
}

.shoe-current-best > strong {
	grid-row: span 2;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1;
	color: #1db954;
}

.shoe-current-best > b { font-size: 15px; }

.shoe-current-best.is-historical {
	grid-template-columns: 1fr;
	border-color: var(--border);
	background: rgba(255, 255, 255, 0.02);
}

.shoe-current-best.is-historical > strong {
	grid-row: auto;
	font-size: 20px;
	color: var(--chalk);
}

.shoe-store-price-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 14px;
}

.shoe-store-price-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 18px;
	padding: 20px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.025);
}

.shoe-store-price-card.is-current { border-color: rgba(29, 185, 84, 0.32); }
.shoe-store-price-card.is-historical { opacity: 0.72; }
.shoe-store-price-card h3 { margin: 0; font-size: 17px; }
.shoe-store-price-card h3 + p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }

.shoe-store-price-card__latest { text-align: right; }
.shoe-store-price-card__latest span {
	display: block;
	font-family: var(--mono);
	font-size: 8px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}
.shoe-store-price-card__latest strong { font-size: 24px; }
.shoe-store-price-card > small { grid-column: 1 / -1; color: var(--muted); }
.shoe-store-price-card__freshness,
.shoe-store-price-card__best {
	grid-column: 1 / -1;
	margin: 0;
	font-family: var(--mono);
	font-size: 9px;
	line-height: 1.45;
	letter-spacing: 0.04em;
}
.shoe-store-price-card.is-current .shoe-store-price-card__freshness { color: #1db954; }
.shoe-store-price-card__best { padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted); }

@media (max-width: 700px) {
	.shoe-store-prices__head { grid-template-columns: 1fr; gap: 14px; }
	.shoe-current-best { grid-template-columns: 1fr; }
	.shoe-current-best > strong { grid-row: auto; }
}

.shoe-trend {
	display: inline-block;
	margin-left: 4px;
	font-size: 0.65em;
	font-weight: 700;
	vertical-align: middle;
	line-height: 1;
}

.shoe-trend--down { color: #1db954; }
.shoe-trend--up   { color: var(--accent); }

.shoe-avail {
	font-size: clamp(12px, 1.5vw, 17px) !important;
	font-weight: 700;
	line-height: 1.2;
}

.shoe-avail.avail-recent  { color: #1db954; }
.shoe-avail.avail-weeks   { color: rgba(255, 255, 255, 0.55); }
.shoe-avail.avail-months  { color: var(--muted); }

/* ── Shoe archive page — price history strip (Phase 2) ──────────────────── */

.shoe-strip-section {
	background: var(--dark);
	border-top: 1px solid var(--border);
	color: var(--chalk);
}

.shoe-strip-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 52px 40px 32px;
	border-bottom: 1px solid var(--border);
}

.shoe-strip-head h2 {
	margin: 0;
	font-size: clamp(22px, 3vw, 36px);
	line-height: 1.1;
}

.shoe-strip {
	display: flex;
	gap: 12px;
	padding: 32px 40px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.shoe-strip::-webkit-scrollbar {
	display: none;
}

.shoe-strip-card {
	flex: 0 0 180px;
	background: var(--mid);
	border: 1px solid var(--border);
	border-radius: 6px;
	cursor: pointer;
	scroll-snap-align: start;
	transition: border-color 0.2s ease;
	overflow: hidden;
	user-select: none;
}

.shoe-strip-card:hover,
.shoe-strip-card.is-open {
	border-color: rgba(255, 255, 255, 0.25);
}

.shoe-sc-top {
	padding: 18px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	position: relative;
}

.shoe-sc-date {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

.shoe-sc-store {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 18px;
}

.shoe-sc-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-top: 8px;
}

.shoe-sc-amount {
	font-family: var(--mono);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.shoe-sc-amount-strike {
	font-family: var(--mono);
	font-size: 14px;
	font-weight: 500;
	color: var(--muted);
	text-decoration: line-through;
}

.shoe-sc-disc {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent);
}

.shoe-sc-chevron {
	position: absolute;
	top: 14px;
	right: 14px;
	font-size: 11px;
	color: var(--muted);
	transition: transform 0.2s ease;
	line-height: 1;
}

.shoe-strip-card.is-open .shoe-sc-chevron {
	transform: rotate(180deg);
}

.shoe-sc-detail {
	display: none;
	padding: 12px 16px 16px;
	border-top: 1px solid var(--border);
}

.shoe-strip-card.is-open .shoe-sc-detail {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.shoe-sc-location {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

.shoe-sc-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.shoe-sc-badge {
	display: inline-block;
	padding: 2px 6px;
	border-radius: 2px;
	font-family: var(--mono);
	font-size: 7px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.shoe-sc-badge--low {
	background: rgba(255, 60, 0, 0.12);
	border: 1px solid rgba(255, 60, 0, 0.28);
	color: var(--accent);
}

.shoe-sc-badge--first {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--border);
	color: var(--muted);
}

.shoe-sc-badge--latest {
	background: rgba(0, 163, 42, 0.12);
	border: 1px solid rgba(0, 163, 42, 0.3);
	color: #4ade80;
}
.shoe-sc-badge--historical {
	color: #ffb54a;
	border-color: rgba(255, 181, 74, .48);
	background: rgba(255, 181, 74, .09);
}
.shoe-sc-published { margin-bottom: 8px; color: rgba(255,255,255,.58); font-family: var(--mono); font-size: 10px; }

.shoe-strip-empty {
	padding: 48px 40px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--muted);
}

@media (max-width: 760px) {
	.shoe-strip-head {
		padding: 40px 22px 24px;
	}

	.shoe-strip {
		padding: 24px 22px;
		gap: 10px;
	}

	.shoe-strip-card {
		flex: 0 0 160px;
	}
}

/* ── Directory row links (brand + store pages) ───────────────────────────── */

.dir-row-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.dir-row-link:hover .dir-row-cta,
.dir-row-link:focus-visible .dir-row-cta {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dir-row-link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* ── Archive filter bar (brand / store filtered results) ─────────────────── */

.archive-filter-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 40px;
	border-bottom: 1px solid var(--border);
	font-size: 13px;
	letter-spacing: 0.06em;
}

.archive-filter-label {
	color: var(--muted);
	text-transform: uppercase;
}

.archive-filter-label strong {
	color: var(--text);
	font-weight: 700;
}

.archive-filter-clear {
	color: var(--muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.archive-filter-clear:hover {
	color: var(--text);
}

/* Chips: one per active filter, each removable without losing the others. */
.archive-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 10px;
	margin: 0 2px;
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--text);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.archive-filter-chip strong {
	font-weight: 700;
}

.archive-filter-chip span {
	color: var(--muted);
	font-size: 13px;
	line-height: 1;
}

.archive-filter-chip:hover,
.archive-filter-chip:focus-visible {
	border-color: var(--accent);
	background: var(--surface-2, rgba(127, 127, 127, 0.08));
}

.archive-filter-chip:hover span,
.archive-filter-chip:focus-visible span {
	color: var(--accent);
}

.archive-filter-join {
	color: var(--muted);
	margin: 0 2px;
}

@media (max-width: 640px) {
	.archive-filter-bar {
		flex-wrap: wrap;
		gap: 10px;
		padding: 12px 20px;
	}
}

/* ── Brand row → per-store breakdown ────────────────────────────────────── */

/* Sits outside the row's wrapping anchor: a link inside a link is invalid
   HTML and the inner one gets dropped. */
.dir-row-stores {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 12px 28px 20px;
	border-bottom: 1px solid var(--border);
}

.dir-row-stores-label {
	color: var(--muted);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dir-row-store {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 11px;
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--text);
	font-size: 12px;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.dir-row-store span {
	color: var(--muted);
	font-size: 10px;
	letter-spacing: 0.06em;
}

.dir-row-store:hover,
.dir-row-store:focus-visible {
	border-color: var(--accent);
	color: var(--accent);
}

.dir-row-store:hover span,
.dir-row-store:focus-visible span {
	color: var(--accent);
}

@media (max-width: 640px) {
	.dir-row-stores {
		padding: 10px 20px 16px;
	}
}

/* ── Phase 4 — Live Deals Hub (/shoes/ archive) ─────────────────────────── */

.shoe-hub-page {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px 80px;
}

.shoe-hub-header {
	padding: 60px 0 40px;
	border-bottom: 1px solid var(--border);
	margin-bottom: 40px;
}

.shoe-hub-header h1 {
	font-size: clamp(36px, 5vw, 64px);
	margin: 12px 0 8px;
	line-height: 1;
}

.shoe-hub-count {
	color: var(--muted);
	font-size: 13px;
	letter-spacing: 0.06em;
	margin: 0;
}

.shoe-hub-empty {
	padding: 80px 0;
	color: var(--muted);
	font-size: 15px;
	letter-spacing: 0.04em;
}

.shoe-hub-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

@media (min-width: 560px) {
	.shoe-hub-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 800px) {
	.shoe-hub-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1120px) {
	.shoe-hub-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
}

.shoe-hub-card {
	display: flex;
	flex-direction: column;
	background: var(--light);
	color: var(--ink);
	text-decoration: none;
	border: 1px solid var(--border);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.shoe-hub-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.shoe-hub-thumb {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--mid);
	overflow: hidden;
}

.shoe-hub-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.shoe-hub-no-img {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(20px, 3vw, 32px);
	font-weight: 700;
	color: var(--muted);
	letter-spacing: 0.08em;
}

.shoe-hub-disc-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #1db954;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 7px;
	line-height: 1;
}
.find-card__historical-badge {
	position: absolute;
	left: 14px;
	top: 14px;
	z-index: 2;
	padding: 7px 9px;
	border-radius: 999px;
	background: rgba(20,20,22,.92);
	border: 1px solid rgba(255,181,74,.58);
	color: #ffb54a;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.shoe-hub-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

/* One public card language across Homepage, Finds, Deals, and Releases. */
.find-card__store,
.find-card__price-context,
.shoe-hub-price-context,
.find-card__price-review,
.find-card__footer {
	font-family: var(--mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.find-card__store {
	margin-top: 5px;
	font-size: 10px;
	line-height: 1.45;
	color: var(--muted-dark);
}

.find-card__price-context,
.shoe-hub-price-context {
	margin-top: 3px;
	font-size: 9px;
	line-height: 1.4;
	color: var(--muted-dark);
}

.find-card__price-review {
	margin-top: 6px;
	font-size: 10px;
	color: var(--muted-dark);
}

.find-card__footer {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	font-size: 9px;
	color: var(--muted-dark);
}

.find-card__footer span:last-child {
	color: var(--accent);
	font-weight: 700;
}

.shoe-hub-brand {
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.shoe-hub-title {
	font-size: clamp(13px, 1.4vw, 16px);
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 4px;
}

.shoe-hub-price-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-top: 4px;
}

.shoe-hub-price {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1;
}

.shoe-hub-retail {
	font-size: 12px;
	color: var(--muted);
	text-decoration: line-through;
}

.shoe-hub-store {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted-dark);
	margin-top: 6px;
}

.shoe-hub-avail {
	font-size: 11px;
	font-weight: 700;
	margin-top: 4px;
}

.shoe-hub-avail.avail-recent { color: #1db954; }
.shoe-hub-avail.avail-weeks  { color: rgba(255, 255, 255, 0.5); }
.shoe-hub-avail.avail-months { color: var(--muted); }

/* ── Phase C: New Releases tabs (on dark archive background) ──────────────── */
.shoe-tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 auto 28px;
}

.shoe-tab {
	appearance: none;
	background: transparent;
	color: var(--muted);
	border: 1px solid rgba(255, 255, 255, 0.18);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 22px;
	cursor: pointer;
	transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.shoe-tab:hover { color: var(--chalk); }

.shoe-tab--active {
	color: #fff;
	background: var(--accent);
	border-color: var(--accent);
}

/* Release card variant (badge, MSRP tag, track CTA — no discount module) */
.shoe-hub-release-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 8px;
	line-height: 1;
}

.shoe-hub-msrp-tag {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.shoe-hub-release-date {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--muted-dark);
	margin-top: 6px;
}

.shoe-hub-track {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--accent);
	margin-top: 10px;
}

/* ── Homepage: New Releases block (dark, so the light release cards pop) ───── */
.home-releases {
	background: var(--dark);
	color: var(--chalk);
	padding: 48px 24px 60px;
}

.home-releases-head {
	max-width: 1280px;
	margin: 0 auto 28px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.home-releases-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
}

.home-releases-heading {
	font-size: clamp(24px, 3.4vw, 40px);
	line-height: 1;
	margin: 8px 0 0;
}

.home-releases-viewall {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	text-decoration: none;
	white-space: nowrap;
}

.home-releases-viewall:hover { color: var(--chalk); }

.home-releases .shoe-hub-grid {
	max-width: 1280px;
	margin: 0 auto;
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
	.home-releases .shoe-hub-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 559px) {
	.home-releases .shoe-hub-grid { grid-template-columns: 1fr; }
}

/* ── Phase C: single-shoe release block (light band, like .shoe-description) ─ */
.release-block {
	background: var(--light);
	color: var(--ink);
	padding: 40px 48px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	border-left: 4px solid var(--accent);
}

.release-block-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.release-badge {
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 10px;
	line-height: 1;
}

.release-block-date {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.release-notable {
	max-width: 780px;
	margin: 0 0 22px;
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
}

.release-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-bottom: 22px;
}

.release-meta > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.release-meta span {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted-dark);
}

.release-meta strong {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink);
}

.release-photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 10px;
	max-width: 640px;
}

.release-photo {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

@media (max-width: 760px) {
	.release-block {
		padding: 28px 22px;
	}
}

/* ── Release story rows (reuse .story-section) — dark-context overrides so the
      Phase C release classes read correctly on the dark .section-text bg ──── */
.section-text .release-badge { align-self: flex-start; margin-bottom: 4px; }
.section-text .release-block-date {
	color: var(--muted);
	margin: 0;
}
.section-text .release-meta {
	margin-top: 4px;
	gap: 24px;
}
.section-text .release-meta span   { color: var(--muted); }
.section-text .release-meta strong { color: var(--chalk); }

/* Tighter paragraph rhythm on the shoe page (removes the airy gaps) */
.shoe-archive-page .section-body p + p { margin-top: 12px; }
.shoe-body-copy > * { margin: 0 0 0.8em; }
.shoe-body-copy > *:last-child { margin-bottom: 0; }

/* Remaining release images — consistent grid underneath the story rows */
.release-gallery {
	background: var(--light);
	padding: 32px 48px 48px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.release-gallery .release-photos {
	max-width: 1000px;
	margin: 0 auto;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

@media (max-width: 700px) {
	.release-gallery { padding: 24px 22px 32px; }
	.release-gallery .release-photos { grid-template-columns: repeat(2, 1fr); }
}

/* ── Release scrollytelling: sticky text rail (left) + scrolling images (right) ─ */
.shoe-scrolly {
	display: grid;
	grid-template-columns: 40% 60%;
	background: var(--dark);
	color: var(--chalk);
	border-top: 1px solid var(--border);
}

.scrolly-rail {
	position: sticky;
	top: 0;
	align-self: start;
	height: 100vh;
	display: flex;
	align-items: center;
	padding: 0 clamp(24px, 4vw, 56px);
}

.scrolly-modules {
	position: relative;
	width: 100%;
	min-height: 240px;
}

.scrolly-module {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 12px;
	opacity: 0;
	transition: opacity 0.2s ease;   /* outgoing: fade out fast to avoid text overlap */
	pointer-events: none;
}

.scrolly-module.is-active {
	opacity: 1;
	transition: opacity 0.45s ease;  /* incoming: ease in */
	pointer-events: auto;
}

.scrolly-module .release-badge { align-self: flex-start; }

.scrolly-title {
	font-size: clamp(24px, 3vw, 40px);
	line-height: 1.1;
	margin: 0;
}

.scrolly-module .release-block-date {
	color: var(--muted);
	margin: 0;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 12px;
}

.scrolly-module .section-snippet {
	color: rgba(255, 255, 255, 0.9);
	margin: 4px 0 0;
}

.scrolly-module .release-meta span   { color: var(--muted); }
.scrolly-module .release-meta strong { color: var(--chalk); }

.scrolly-body {
	font-size: clamp(15px, 1.5vw, 18px);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.72);
	max-width: 460px;
}
.scrolly-body p { margin: 0; }

/* Right column — borderless image track; images flow continuously */
.scrolly-track {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 12px;
}

.scrolly-figure {
	margin: 0;
	background: none;
	border: 0;
}

.scrolly-figure img {
	display: block;
	width: 100%;
	height: auto;
}

/* Static fallback: fewer photos than text modules, so nothing can drive the
   scroll reveal. Modules return to normal flow, all visible, rail unpinned. */
.shoe-scrolly.is-static .scrolly-rail {
	position: static;
	height: auto;
}

.shoe-scrolly.is-static .scrolly-modules {
	min-height: 0;
}

.shoe-scrolly.is-static .scrolly-module {
	position: static;
	transform: none;
	opacity: 1;
	pointer-events: auto;
	transition: none;
	margin-bottom: 28px;
}

.shoe-scrolly.is-static .scrolly-module:last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.shoe-scrolly { grid-template-columns: 1fr; }
	.scrolly-rail {
		position: static;
		height: auto;
		padding: 40px clamp(22px, 6vw, 40px) 24px;
	}
	.scrolly-modules { min-height: 0; }
	.scrolly-module {
		position: static;
		transform: none;
		opacity: 1;
		pointer-events: auto;
		margin-bottom: 28px;
	}
	.scrolly-track { padding: 0 clamp(22px, 6vw, 40px) 40px; }
}

/* ── Hide IONOS injected price watermark on images ────────────────────────── */
.ionos-price-widget,
.ionos-price-overlay,
[class*="ionos-price"],
[class*="price-widget"],
[class*="our-price"],
[id*="ionos-price"] {
	display: none !important;
}

/* ── Submit a Find (customer submission form) ─────────────────────────────── */

.submit-find-hero {
	padding: 96px 40px 56px;
	background: var(--dark);
	color: var(--chalk);
	border-bottom: 1px solid var(--border);
}

.submit-find-hero-inner {
	max-width: 720px;
}

.submit-find-eyebrow {
	font-family: var(--mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
}

.submit-find-title {
	margin: 20px 0 20px;
	font-size: clamp(36px, 6vw, 64px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.submit-find-lede {
	max-width: 560px;
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.58);
}

.submit-find-body {
	background: var(--light);
	color: var(--ink);
}

.submit-find-body-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 56px 40px 96px;
}

.submit-find-msg {
	margin: 0 0 28px;
	padding: 14px 18px;
	border-radius: 4px;
	font-size: 14px;
}

.submit-find-msg--ok {
	background: rgba(0, 163, 42, 0.1);
	color: #00812f;
}

.submit-find-msg--err {
	background: rgba(255, 60, 0, 0.08);
	color: var(--accent);
}

.submit-find-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.submit-find-intro {
	padding: 56px 40px;
	background: var(--light);
}

.submit-find-complete {
	min-height: 52vh;
	padding: 64px 40px 96px;
	color: var(--ink);
	background: var(--light);
}

.submit-find-complete-card {
	max-width: 680px;
	margin: 0 auto;
	padding: 36px;
	background: var(--chalk);
	border: 1px solid var(--ghost);
	border-top: 5px solid #00a32a;
}

.submit-find-complete-card h2 {
	margin: 8px 0 14px;
	font-size: clamp(30px, 6vw, 52px);
}

.submit-find-complete-card p {
	font-size: 15px;
	line-height: 1.7;
}

.submit-find-complete-card .submit-find-submit-btn {
	display: inline-block;
	margin-top: 12px;
	text-decoration: none;
}

.submit-find-intro[hidden],
.submit-find-body[hidden] {
	display: none;
}

.submit-find-intro-card {
	max-width: 720px;
	margin: 0 auto;
	padding: 32px;
	color: var(--ink);
	background: var(--chalk);
	border: 1px solid var(--ghost);
	border-top: 4px solid var(--accent);
}

.submit-find-intro-card h2,
.submit-find-section h2 {
	margin: 8px 0 14px;
	font-size: clamp(22px, 4vw, 32px);
}

.submit-find-intro-card li,
.submit-find-intro-card p,
.submit-find-section-copy {
	font-size: 14px;
	line-height: 1.7;
}

.submit-find-step {
	margin: 0;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

.submit-find-section {
	padding: 28px;
	background: var(--chalk);
	border: 1px solid var(--ghost);
	border-radius: 4px;
}

.submit-find-section--consent {
	border-top: 4px solid var(--accent);
}

.submit-find-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.submit-find-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.submit-find-required {
	color: var(--accent);
}

.submit-find-hint {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--muted-dark);
}

.submit-find-field input[type="text"],
.submit-find-field input[type="email"],
.submit-find-field input[type="date"],
.submit-find-field input[type="number"],
.submit-find-field input[type="file"],
.submit-find-field select,
.submit-find-field textarea {
	width: 100%;
	padding: 11px 13px;
	font-size: 15px;
	font-family: var(--sans);
	color: var(--ink);
	background: var(--chalk);
	border: 1px solid var(--ghost);
	border-radius: 4px;
}

.submit-find-field textarea {
	resize: vertical;
}

.submit-find-lookup-row {
	display: flex;
	gap: 10px;
}

.submit-find-lookup-row input {
	flex: 1;
}

.submit-find-lookup-btn,
.submit-find-submit-btn {
	padding: 11px 20px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--chalk);
	background: var(--dark);
	border: none;
	border-radius: 4px;
	cursor: pointer;
}

.submit-find-secondary-btn {
	padding: 11px 18px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	background: transparent;
	border: 1px solid var(--ghost);
	border-radius: 4px;
	cursor: pointer;
}

.submit-find-secondary-btn:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.submit-find-actions,
.submit-find-location {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.submit-find-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 15px;
	font-size: 13px;
	line-height: 1.6;
}

.submit-find-check input {
	flex: 0 0 auto;
	margin-top: 4px;
}

.submit-find-hp {
	position: absolute !important;
	left: -9999px !important;
}

.submit-find-lookup-btn:hover,
.submit-find-submit-btn:hover {
	background: var(--accent);
}

.submit-find-submit-btn {
	align-self: flex-start;
	padding: 14px 32px;
}

.submit-find-photos-label {
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 600;
}

.submit-find-grid--photos {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.submit-find-photo-guide {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}

.submit-find-photo-guide span {
	padding: 8px 11px;
	font-family: var(--mono);
	font-size: 11px;
	color: #087a35;
	background: rgba(0, 163, 42, 0.08);
	border: 1px solid rgba(0, 163, 42, 0.24);
	border-radius: 999px;
}

.submit-find-story,
.submit-find-credit {
	margin-top: 22px;
}

.submit-find-credit {
	padding-top: 18px;
	border-top: 1px solid var(--ghost);
}

.submit-find-credit summary {
	cursor: pointer;
	font-weight: 700;
}

.submit-find-credit summary span {
	margin-left: 6px;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 400;
	color: var(--muted-dark);
}

.submit-find-photo-preview {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	margin-top: 10px;
}

.submit-find-photo-preview img {
	display: block;
	width: 100%;
	max-height: 140px;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--ghost);
}

.submit-find-validation-error {
	color: var(--accent);
}

.legal-page {
	max-width: 780px;
	margin: 0 auto;
	padding: 96px 40px;
}

.legal-page h1 {
	font-size: clamp(36px, 6vw, 64px);
}

.legal-page h2 {
	margin-top: 36px;
	font-size: 24px;
}

.legal-page p {
	font-size: 15px;
	line-height: 1.8;
}

@media (max-width: 700px) {
	.site-footer {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 38px 20px;
	}
	.site-footer-sitemap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
	.submit-find-grid,
	.submit-find-grid--photos {
		grid-template-columns: 1fr;
	}
	.submit-find-hero,
	.submit-find-intro,
	.submit-find-complete,
	.submit-find-body-inner,
	.legal-page {
		padding-left: 20px;
		padding-right: 20px;
	}
	.submit-find-section,
	.submit-find-intro-card {
		padding: 20px;
	}
}

/* ── Spotted history (single-sneaker_find.php) ────────────────────────────── */

.spotted-history {
	background: var(--dark);
	color: var(--chalk);
	border-top: 4px solid var(--accent);
	border-bottom: 1px solid var(--border);
}

.spotted-history-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 32px;
	padding: 28px 40px;
}

.spotted-history-inner .section-label-tag {
	flex: 1 0 100%;
}

.spotted-history-inner p {
	margin: 0;
	flex: 1 1 auto;
	min-width: 260px;
	font-size: clamp(18px, 2.6vw, 28px);
	font-weight: 800;
	line-height: 1.2;
	color: var(--chalk);
}

.spotted-history-inner strong {
	color: var(--accent);
}

.spotted-history-link {
	display: inline-block;
	flex-shrink: 0;
	padding: 12px 22px;
	border-radius: 4px;
	background: var(--chalk);
	color: var(--dark);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
	text-decoration: none;
}

.spotted-history-link:hover {
	background: var(--accent);
	color: var(--chalk);
}

.spotted-history-note {
	font-size: 12px;
	color: var(--muted);
}

/* ── Standard article (single.php) ───────────────────────────────────────── */
/* The theme had no single.php, so posts fell through to index.php — a search
   grid — and had no readable body. Reuses .post-hero from the find template so
   an article reads as the same publication. */

.post-hero--flat {
	min-height: 0;
	padding-top: 140px;
	padding-bottom: 48px;
	background: #0d0d0f;
}

.article-body {
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 24px 40px;
}

.article-prose {
	max-width: 680px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.72);
}

.article-prose > * + * { margin-top: 26px; }

.article-prose h2 {
	margin-top: 56px;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.01em;
}

.article-prose h3 {
	margin-top: 40px;
	font-size: 19px;
	font-weight: 700;
	color: #fff;
}

.article-prose a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255, 255, 255, 0.35);
}
.article-prose a:hover { text-decoration-color: #ff3c00; }

.article-prose strong { color: #fff; font-weight: 600; }

.article-prose blockquote {
	margin: 40px 0;
	padding-left: 22px;
	border-left: 2px solid #ff3c00;
	font-size: 20px;
	line-height: 1.55;
	color: #fff;
}

.article-prose ul,
.article-prose ol { padding-left: 22px; }
.article-prose li + li { margin-top: 10px; }
.article-prose li::marker { color: #ff3c00; }

.article-prose img,
.article-prose figure { margin: 40px 0; max-width: 100%; height: auto; }

.article-prose figcaption {
	margin-top: 10px;
	font-family: 'Space Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.45);
}

/* Wide content must scroll inside itself, never the page. */
.article-prose table,
.article-prose pre { display: block; overflow-x: auto; max-width: 100%; }

.article-foot {
	max-width: 680px;
	margin: 56px auto 0;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.article-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.article-tags a {
	font-family: 'Space Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.16);
	padding: 6px 10px;
	text-decoration: none;
}
.article-tags a:hover { color: #fff; border-color: #ff3c00; }

.article-updated {
	font-family: 'Space Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

.article-related {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 24px 96px;
}

.article-related-title {
	font-family: 'Space Mono', monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	margin: 0 0 20px;
}

.article-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.article-related-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: #fff;
}
.article-related-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.article-related-date {
	font-family: 'Space Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}
.article-related-name { font-size: 15px; font-weight: 600; line-height: 1.35; }
.article-related-card:hover .article-related-name { color: #ff3c00; }

@media (max-width: 640px) {
	.article-body { padding: 48px 20px 32px; }
	.article-prose { font-size: 16px; }
	.article-prose h2 { font-size: 22px; margin-top: 44px; }
	.post-hero--flat { padding-top: 110px; padding-bottom: 36px; }
}

/* Article hero: centred, with a real subtitle.
   The excerpt carries the piece's subtitle, so it needs to read as one —
   larger and heavier than the muted meta line a find page uses. */
.single-post .post-hero-content {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
}

.single-post .post-hero-eyebrow {
	justify-content: center;
}

.single-post .post-hero-content h1 {
	text-wrap: balance;
}

.single-post .post-hero-content > p {
	margin-top: 18px;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88);
	text-wrap: balance;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 640px) {
	.single-post .post-hero-content > p { font-size: 17px; }
}

/* ── Articles index ───────────────────────────────────────────────────────────
   Standard posts had no index page and no nav entry, so a published article was
   reachable only by its direct URL. page-articles.php is that index.

   Deliberately NOT built on .tile: that class is a 3/4 aspect box with
   absolutely-positioned children and nth-child colour banding, tuned for
   product imagery. An article card is variable-height and text-led. */

.article-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
	gap: 1px;
	background: var(--border);
	border-block: 1px solid var(--border);
}

.article-tile {
	display: flex;
	flex-direction: column;
	background: var(--dark);
	color: inherit;
	text-decoration: none;
	transition: background 0.3s var(--ease);
}

.article-tile:hover,
.article-tile:focus-visible {
	background: var(--mid);
}

.article-tile-media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--mid);
}

.article-tile-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--ease);
}

.article-tile:hover .article-tile-media img {
	transform: scale(1.03);
}

.article-tile-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px 30px;
}

.article-tile-meta {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.6;
}

.article-tile-name {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
	text-wrap: balance;
}

.article-tile-excerpt {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.72;
}

.article-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	padding: 40px 24px 64px;
	font-size: 14px;
}

.article-pagination .page-numbers {
	padding: 8px 14px;
	text-decoration: none;
	border: 1px solid var(--border);
	opacity: 0.75;
	transition: opacity 0.2s var(--ease), border-color 0.2s var(--ease);
}

.article-pagination .page-numbers:hover,
.article-pagination .page-numbers.current {
	opacity: 1;
	border-color: currentColor;
}

@media (max-width: 640px) {
	.article-tile-name { font-size: 20px; }
	.article-tile-body { padding: 22px 20px 26px; }
}

/* Phase 4 — reviewed community evidence and contributor consent. */
.find-card__community-badge {
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 2;
	padding: 7px 9px;
	border-radius: 999px;
	background: rgba(7, 36, 19, .94);
	border: 1px solid rgba(45, 211, 111, .72);
	color: #2dd36f;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.community-consent-page,
.community-finds-hero {
	width: min(920px, calc(100% - 40px));
	margin: 0 auto;
}

.community-consent-page { padding: clamp(72px, 10vw, 140px) 0; }
.community-consent-page h1,
.community-finds-hero h1 { max-width: 780px; margin: 10px 0 18px; font-size: clamp(36px, 6vw, 74px); line-height: .98; }
.community-consent-page > p,
.community-finds-hero > p { max-width: 720px; color: var(--muted); font-size: clamp(16px, 2vw, 20px); line-height: 1.65; }
.community-consent-page .hybrid-button,
.community-finds-hero .hybrid-button { display: inline-flex; margin-top: 24px; }

.community-consent-form {
	display: grid;
	gap: 22px;
	margin-top: 32px;
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid var(--border);
	border-radius: 16px;
	background: var(--mid);
}
.community-consent-form label { display: grid; gap: 10px; line-height: 1.55; }
.community-consent-form .submit-find-check { grid-template-columns: auto 1fr; align-items: start; }
.community-consent-form select { min-height: 52px; padding: 0 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--black); color: var(--white); }
.community-finds-hero { padding-top: clamp(64px, 9vw, 120px); padding-bottom: 48px; }
.community-finds-grid { padding-bottom: clamp(64px, 8vw, 112px); }

.ifv2-community-notice {
	display: inline-flex;
	margin: 0 0 18px;
	padding: 7px 10px;
	border: 1px solid rgba(45, 211, 111, .55);
	border-radius: 999px;
	color: #2dd36f;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.ifv2-community-story { display: grid; gap: 18px; margin-top: 42px; }
.ifv2-community-story__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 0 4px 10px; }
.ifv2-community-story__head h2 { margin: 6px 0 0; font-size: clamp(28px, 4vw, 48px); }
.ifv2-community-story__head > p { max-width: 380px; margin: 0; color: var(--muted); text-align: right; }
.ifv2-community-beat { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--mid); }
.ifv2-community-beat.is-reversed .ifv2-community-beat__image { order: 2; }
.ifv2-community-beat__image { min-height: 340px; background: var(--black); }
.ifv2-community-beat__image img { width: 100%; height: 100%; min-height: 340px; max-height: 620px; object-fit: cover; display: block; }
.ifv2-community-beat__copy { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: clamp(28px, 5vw, 64px); }
.ifv2-community-beat__copy span { color: var(--accent); font-family: var(--mono); font-size: 12px; letter-spacing: .12em; }
.ifv2-community-beat__copy p { margin: 0; font-size: clamp(18px, 2.2vw, 27px); line-height: 1.45; }
.ifv2-community-breakdown { width: min(620px, 100%); margin-left: auto; }

@media (max-width: 760px) {
	.ifv2-community-story__head { align-items: start; flex-direction: column; }
	.ifv2-community-story__head > p { text-align: left; }
	.ifv2-community-beat { grid-template-columns: 1fr; }
	.ifv2-community-beat.is-reversed .ifv2-community-beat__image { order: 0; }
	.ifv2-community-beat__image,
	.ifv2-community-beat__image img { min-height: 250px; }
}

/* Phase 5 — Store Intelligence and reviewed geographic locations. */
.store-intel-map { padding:clamp(48px,7vw,88px) 40px; background:#0b0b0d; border-bottom:1px solid var(--border); }
.store-intel-map__head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.store-intel-map__head h2 { margin:6px 0 0; font-size:clamp(30px,5vw,58px); }
.store-intel-map__head > span,.store-intel-map__privacy { color:var(--muted); font-family:var(--mono); font-size:11px; letter-spacing:.06em; }
.store-intel-map__plot { position:relative; min-height:clamp(330px,46vw,620px); overflow:hidden; border:1px solid var(--border); border-radius:18px; background:linear-gradient(90deg,transparent 24.8%,rgba(255,255,255,.05) 25%,transparent 25.2%,transparent 49.8%,rgba(255,255,255,.05) 50%,transparent 50.2%,transparent 74.8%,rgba(255,255,255,.05) 75%,transparent 75.2%),linear-gradient(0deg,transparent 24.8%,rgba(255,255,255,.04) 25%,transparent 25.2%,transparent 49.8%,rgba(255,255,255,.04) 50%,transparent 50.2%,transparent 74.8%,rgba(255,255,255,.04) 75%,transparent 75.2%),radial-gradient(circle at 75% 70%,rgba(255,61,0,.13),transparent 34%),#121216; }
.store-intel-map__plot::before { content:"UNITED STATES · REVIEWED CANONICAL COORDINATES"; position:absolute; left:24px; bottom:20px; color:rgba(255,255,255,.18); font-family:var(--mono); font-size:10px; letter-spacing:.12em; }
.store-intel-map__axis { position:absolute; top:18px; color:rgba(255,255,255,.24); font-family:var(--mono); font-size:9px; letter-spacing:.12em; }.store-intel-map__axis.is-west{left:8%}.store-intel-map__axis.is-central{left:48%}.store-intel-map__axis.is-east{right:8%}
.store-intel-pin { position:absolute; left:var(--pin-x); top:var(--pin-y); z-index:2; display:grid; gap:2px; min-width:110px; padding:0 0 0 20px; border:0; background:transparent; color:#fff; text-align:left; transform:translate(-10px,-10px); cursor:pointer; }
.store-intel-pin > span { position:absolute; left:0; top:1px; width:15px; height:15px; border:3px solid #ff3d00; border-radius:50% 50% 50% 0; background:#0b0b0d; transform:rotate(-45deg); box-shadow:0 0 0 4px rgba(255,61,0,.14); }
.store-intel-pin strong { font-size:11px; line-height:1.2 }.store-intel-pin small { color:#2bd866; font-family:var(--mono); font-size:9px }.store-intel-pin:hover strong,.store-intel-pin:focus-visible strong{color:#ff4a16}
.store-intel-map__empty { padding:clamp(38px,7vw,90px); border:1px dashed var(--border); border-radius:18px; background:var(--mid); text-align:center }.store-intel-map__empty strong{font-size:clamp(24px,4vw,42px)}.store-intel-map__empty p{max-width:650px;margin:14px auto 0;color:var(--muted);line-height:1.65}.store-intel-map__privacy{margin:18px 0 0;line-height:1.7}
.store-intel-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 20px; padding:24px 40px; border-bottom:1px solid rgba(0,0,0,.08) }.store-intel-tools label{grid-column:1/-1;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.48)}.store-intel-tools input{width:100%;min-height:52px;padding:0 16px;border:1px solid rgba(0,0,0,.14);border-radius:9px;background:#fff;color:var(--ink);font-size:16px;font-weight:600}.store-intel-tools>span{align-self:center;font-family:var(--mono);font-size:10px;color:rgba(0,0,0,.46)}
.store-intel-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px 18px;padding:18px 40px;border-bottom:1px solid rgba(0,0,0,.08)}
.store-intel-filter{display:flex;flex-direction:column;gap:6px;min-width:170px}
.store-intel-filter label{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.48)}
.store-intel-filter select{min-height:44px;padding:0 34px 0 12px;border:1px solid rgba(0,0,0,.14);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23000' stroke-opacity='.5' stroke-width='1.6' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:11px}
.store-intel-filter select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.store-intel-filter-reset{align-self:end;min-height:44px;padding:0 16px;border:1px solid rgba(0,0,0,.18);border-radius:9px;background:#fff;color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.store-intel-filter-reset:hover{border-color:var(--ink)}
.store-intel-location[hidden]{display:none}
.post-hero-brand-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.post-hero-brand-link:hover,.post-hero-brand-link:focus-visible{text-decoration-thickness:2px}
.shoe-store-price-card h3 a{color:inherit;text-decoration:none}
.shoe-store-price-card h3 a:hover,.shoe-store-price-card h3 a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.shoe-store-price-card__brand-link{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,0,0,.5);text-decoration:underline;text-underline-offset:3px}
.shoe-store-price-card__brand-link:hover,.shoe-store-price-card__brand-link:focus-visible{color:var(--ink)}
.store-intel-chain{border-bottom:1px solid rgba(0,0,0,.1)}.store-intel-chain[hidden]{display:none}.store-intel-chain>summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;cursor:pointer;list-style:none;background:rgba(0,0,0,.025)}.store-intel-chain>summary::-webkit-details-marker{display:none}.store-intel-chain>summary>span:first-child{display:flex;align-items:baseline;gap:12px}.store-intel-chain>summary strong{font-size:clamp(19px,2.4vw,28px)}.store-intel-chain>summary small,.store-intel-chain>summary>span:last-child{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,0,0,.43)}
.store-intel-location{padding:30px 40px;border-top:1px solid rgba(0,0,0,.08);outline:none}.store-intel-location:focus{box-shadow:inset 4px 0 #ff3d00}.store-intel-location__top{display:flex;justify-content:space-between;gap:24px;align-items:start}.store-intel-location__top span{color:#e9380c;font-family:var(--mono);font-size:9px;letter-spacing:.1em}.store-intel-location__top h3{margin:7px 0 5px;font-size:clamp(20px,2.8vw,32px)}.store-intel-location__top p{margin:0;color:rgba(0,0,0,.52)}.store-intel-location__top a,.store-intel-location__latest a{color:var(--ink);font-weight:700;text-decoration:none}.store-intel-location__top a:hover,.store-intel-location__latest a:hover{color:#e9380c}
.store-intel-location__metrics{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px;padding:18px 0;border-block:1px solid rgba(0,0,0,.08);font-family:var(--mono);font-size:10px;color:rgba(0,0,0,.52)}.store-intel-location__metrics strong{color:var(--ink)}.store-intel-location__latest{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding-top:18px}.store-intel-location__latest span{color:rgba(0,0,0,.4);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.store-intel-location__empty,.store-intel-no-results{color:rgba(0,0,0,.48)}.store-intel-no-results{padding:48px 40px}
@media(max-width:700px){.store-intel-filters{padding-left:20px;padding-right:20px}.store-intel-filter{min-width:0;flex:1 1 140px}.store-intel-map,.store-intel-chain>summary,.store-intel-location,.store-intel-tools{padding-left:20px;padding-right:20px}.store-intel-map__head,.store-intel-location__top{align-items:start;flex-direction:column}.store-intel-tools{grid-template-columns:1fr}.store-intel-tools label{grid-column:auto}.store-intel-map__plot{min-height:440px}.store-intel-pin strong,.store-intel-pin small{display:none}.store-intel-chain>summary{align-items:start}.store-intel-chain>summary>span:first-child{align-items:start;flex-direction:column}.store-intel-location__latest{grid-template-columns:1fr}}

/* ── Pinned rail (roadmap §5.6) ───────────────────────────────────────────── */
/* Scheduled pins above the homepage hero. Every active pin is in the HTML and
   all but one carry [hidden]; the rotation script only toggles that attribute,
   so the layout is identical whichever pin is showing. */
.pin-rail {
	margin: 0 auto;
	max-width: 1180px;
	padding: 28px 24px 0;
}

.pin-rail__item[hidden] { display: none; }

.pin-rail__link {
	align-items: center;
	background: #0f0f10;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	color: #f7f6f3;
	display: flex;
	gap: 20px;
	overflow: hidden;
	padding: 14px 22px 14px 14px;
	text-decoration: none;
	transition: border-color 180ms ease;
}

.pin-rail__link:hover,
.pin-rail__link:focus-visible { border-color: rgba(255, 60, 0, .65); }

.pin-rail__media {
	border-radius: 12px;
	flex: 0 0 132px;
	overflow: hidden;
}

.pin-rail__image {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.pin-rail__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.pin-rail__badge {
	align-self: flex-start;
	background: rgba(255, 60, 0, .14);
	border: 1px solid rgba(255, 60, 0, .6);
	border-radius: 999px;
	color: #ff7a5c;
	font-family: 'Space Mono', ui-monospace, monospace;
	font-size: 10px;
	letter-spacing: .14em;
	padding: 5px 10px;
	text-transform: uppercase;
}

/* Sponsored reads as a disclosure, not as a promotion — deliberately plainer
   than the editorial badge so it is legible as an ad label. */
.pin-rail__badge--sponsored {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .38);
	color: #e6e4df;
}

.pin-rail__label {
	color: #9a9da2;
	font-family: 'Space Mono', ui-monospace, monospace;
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pin-rail__title {
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.2;
}

@media (max-width: 640px) {
	.pin-rail { padding: 20px 16px 0; }
	.pin-rail__link { flex-direction: column; align-items: flex-start; gap: 12px; padding: 12px; }
	.pin-rail__media { flex: none; width: 100%; }
}

/* ── Community Finds hero — compact once there is content ─────────────────── */
/* The hero inherited .archive-hero's 44vh min-height, which was fine on an
   empty page but pushed the first real submission a full screen below the
   fold. Scoped to this page so other archives keep their proportions. */
.community-finds-hero {
	min-height: 0;
	padding: 44px 40px 36px;
}

.community-finds-hero h1 {
	font-size: clamp(30px, 4vw, 46px);
	margin: 8px 0 14px;
}

/* The generic rule sets this correctly for a light background; the scoped rule
   above it was re-applying --muted, which is the light-on-dark value, leaving
   the paragraph nearly invisible on the cream hero. */
.community-finds-hero > p {
	color: var(--muted-dark);
	font-size: clamp(15px, 1.6vw, 17px);
}

.community-finds-hero .hybrid-button { margin-top: 18px; }

@media (max-width: 640px) {
	.community-finds-hero { padding: 32px 20px 28px; }
}

/* ── Spotlight flag ───────────────────────────────────────────────────────── */
/* The hero flag when an operator has spotlit a find. Deliberately editorial:
   the same shape as the normal flag, in the accent colour, so it reads as
   Outlet Plug making a choice — never as a paid slot. Paid placements live in
   the rail above and are styled plainly on purpose. */
.hybrid-featured__flag--spotlight {
	background: var(--accent, #ff3c00);
	color: #fff;
	font-weight: 700;
	letter-spacing: .2em;
}

/* ── Historical pricing intelligence (v6.5) ─────────────────────────────── */
.op-intelligence {
	background: #121214;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 22px;
	margin: 48px auto;
	max-width: 1180px;
	padding: clamp(24px, 4vw, 48px);
}

.op-intelligence__head {
	align-items: end;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
	margin-bottom: 26px;
}

.op-intelligence__head h2 {
	font-size: clamp(30px, 4.5vw, 56px);
	letter-spacing: -.05em;
	line-height: .98;
	margin: 12px 0 0;
}

.op-intelligence__head > p {
	color: var(--muted);
	font: 11px/1.7 var(--mono);
	margin: 0;
}

.op-intelligence-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 26px;
}

.op-intelligence-grid > div {
	background: rgba(255, 255, 255, .04);
	min-height: 112px;
	padding: 22px;
}

.op-intelligence-grid strong {
	color: #39d66f;
	display: block;
	font-size: clamp(22px, 3vw, 32px);
	letter-spacing: -.035em;
	margin-bottom: 10px;
}

.op-intelligence-grid span,
.op-journey span {
	color: var(--muted);
	font: 10px/1.5 var(--mono);
	letter-spacing: .04em;
}

.op-journey {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	list-style: none;
	margin: 24px 0;
	padding: 0;
}

.op-journey li {
	background: rgba(255, 255, 255, .035);
	display: flex;
	flex-direction: column;
	min-height: 132px;
	padding: 18px;
}

.op-journey time {
	color: var(--muted);
	font: 9px/1.4 var(--mono);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.op-journey strong {
	font-size: 24px;
	margin: auto 0 6px;
}

.op-deal-score {
	align-items: center;
	background: linear-gradient(135deg, rgba(57, 214, 111, .13), rgba(57, 214, 111, .025));
	border: 1px solid rgba(57, 214, 111, .32);
	border-radius: 16px;
	display: flex;
	justify-content: space-between;
	margin: 24px 0;
	padding: 22px;
}

.op-deal-score > div { display: grid; gap: 4px; }
.op-deal-score span, .op-deal-score p { color: var(--muted); font: 10px/1.5 var(--mono); margin: 0; }
.op-deal-score strong { color: #39d66f; font-size: 42px; letter-spacing: -.05em; line-height: 1; }
.op-deal-score strong small { color: var(--muted); font: 12px/1 var(--mono); letter-spacing: 0; }
.op-deal-score b { font-size: 14px; }

.op-score-withheld {
	background: rgba(255, 255, 255, .035);
	border-left: 2px solid rgba(255, 255, 255, .2);
	color: var(--muted);
	font: 10px/1.7 var(--mono);
	margin: 24px 0;
	padding: 16px 18px;
}

.op-score-withheld strong { color: var(--chalk); }

.op-intelligence-details {
	border-top: 1px solid rgba(255, 255, 255, .1);
	margin-top: 24px;
}

.op-intelligence-details summary {
	cursor: pointer;
	font: 700 10px/1.4 var(--mono);
	letter-spacing: .12em;
	padding: 18px 0;
	text-transform: uppercase;
}

.op-intelligence-details__body { display: grid; gap: 24px; padding: 4px 0 10px; }
.op-intelligence-details__body h3 { font-size: 17px; margin: 0 0 12px; }
.op-intelligence-details__body > p { color: var(--muted); font: 10px/1.7 var(--mono); margin: 0; }

.op-calculation-list { display: grid; gap: 1px; margin: 0; }
.op-calculation-list > div { align-items: start; background: rgba(255,255,255,.035); display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(150px, 1fr); padding: 13px 15px; }
.op-calculation-list dt { color: var(--muted); font: 10px/1.5 var(--mono); }
.op-calculation-list dd { font-size: 13px; margin: 0; text-align: right; }
.op-calculation-list small { color: var(--muted); display: block; font: 9px/1.5 var(--mono); margin-top: 4px; }

.ifv2-intelligence .op-deal-score { margin-bottom: 16px; }
.ifv2-intelligence .op-intelligence-details__body { display: block; }
.ifv2-intelligence .op-intelligence-details__body > div + div,
.ifv2-intelligence .op-intelligence-details__body > div + p { margin-top: 22px; }

@media (max-width: 720px) {
	.op-intelligence { border-radius: 14px; margin: 28px 16px; }
	.op-intelligence__head { align-items: start; grid-template-columns: 1fr; }
	.op-intelligence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.op-deal-score { align-items: flex-start; flex-direction: column; gap: 12px; }
	.op-calculation-list > div { grid-template-columns: 1fr; gap: 5px; }
	.op-calculation-list dd { text-align: left; }
}

/* Archive source toggle — staff finds vs community finds.
   The card badge announced that community finds exist; this is how a visitor
   asks for more of them. */
.archive-source-toggle { margin-top: 14px; }
.archive-source-toggle a {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid var(--line, #2a2a2a);
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, color .15s ease;
}
.archive-source-toggle a:hover,
.archive-source-toggle a:focus-visible { border-color: var(--accent, #ff3c00); color: var(--accent, #ff3c00); }

/* ── Sizes seen ─────────────────────────────────────────────────────────────
   Availability is a fact about one shelf on one day, never about the shoe, so
   every group carries its store and its date. */
.op-sizes { margin: 32px 0; }
.op-sizes__head { margin-bottom: 18px; }
.op-sizes__head h2 { margin: 6px 0 0; }
.op-sizes__store + .op-sizes__store {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--line, #e6e6e6);
}
.op-sizes__where {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 10px;
}
.op-sizes__when {
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.op-sizes__when.is-current    { color: #16a34a; }
.op-sizes__when.is-historical { opacity: .55; }

.op-size-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.op-size-chip {
	min-width: 46px;
	padding: 8px 10px;
	border: 1px solid var(--line, #d8d8d8);
	border-radius: 6px;
	text-align: center;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
}
.op-sizes__none { margin: 0; opacity: .6; font-size: 14px; }
.op-sizes__caveat { margin: 10px 0 0; font-size: 12px; opacity: .6; }

@media (prefers-color-scheme: dark) {
	.op-size-chip { border-color: rgba(255, 255, 255, .18); }
	.op-sizes__store + .op-sizes__store { border-top-color: rgba(255, 255, 255, .12); }
}

/* Segment toggles sit beside the source toggle; both can be active at once. */
.archive-source-toggle { display: flex; flex-wrap: wrap; gap: 8px; }
.archive-source-toggle a.is-active { border-color: var(--accent, #ff3c00); color: var(--accent, #ff3c00); }

/* ── Segment: who the shoe is cut for ──────────────────────────────────────
   Men's is the default and gets no badge, so these appear on the minority of
   cards and can afford to be quiet. Neutral rather than coloured: the existing
   badges already mean something (green = community verified, the discount pill
   = a deal), and a third colour competing with those would dilute both. */
.find-card__segment-badge {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	padding: 7px 9px;
	border-radius: 999px;
	background: rgba(18, 18, 18, .92);
	border: 1px solid rgba(255, 255, 255, .28);
	color: #f2f2f2;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.op-segment-badge {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .3);
	color: inherit;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
}
.op-segment-badge:hover,
.op-segment-badge:focus-visible { border-color: currentColor; }

/* Segment filter — the main way to narrow the archive, so it reads as a
   control rather than as another line of body copy. */
.archive-segments {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0;
}
.archive-segments a {
	padding: 8px 15px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .22);
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
}
.archive-segments a:hover,
.archive-segments a:focus-visible { border-color: currentColor; }
.archive-segments a.is-active {
	background: #f2f2f2;
	border-color: #f2f2f2;
	color: #101010;
}

@media (max-width: 600px) {
	.archive-segments { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
	.archive-segments::-webkit-scrollbar { display: none; }
}
