
.hero-opening {
	position:relative;
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	background-color:var(--ground);
	overflow:hidden;
}

/* Full-bleed hero photograph: subject in top 2/3, lower third quiet */
.hero-media-layer {
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
}

.hero-media-layer img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 28%;
}

@media (max-width: 767px) {
	.hero-media-layer img { object-position:center 20%; }
}

/* Scrim restricted to lower third where text sits, letting photograph show through clean above */
.hero-media-layer::after {
	content:"";
	position:absolute;
	inset:auto 0 0 0;

	height:52%;
	background:linear-gradient(
		to bottom,
		transparent 0%,
		rgba(20, 18, 18, 0.72) 35%,
		var(--ground) 100%
	);
	pointer-events:none;
}

.hero-content-wrap {
	position:relative;
	z-index:10;
	width:100%;
	padding-bottom:var(--band-open);
	padding-top:var(--band-open);
}

/* Pure editorial layout on quiet lower third - no template cards/gradient covers */
.hero-title-box {
	background:none;
	border:none;
	padding:0;
	box-shadow:none;
}

.hero-lede-box {
	background:none;
	border:none;
	padding:0;
	box-shadow:none;
}

.editorial-split-layout {
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-8);
	margin-bottom:var(--space-8);
}

@media (min-width: 900px) {
	.editorial-split-layout {
		grid-template-columns:1.25fr 1fr;
		align-items:start;
	}
}

.editorial-aside-stats {
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
}

.spec-stat-card {
	background:none;
	border:none;
	border-left:2px solid var(--hairline);
	padding:0 0 0 var(--space-5);
	display:flex;
	flex-direction:column;
	gap:var(--space-1);
}

.spec-stat-num {
	font-family:var(--reze-d9b);
	font-size:var(--text-2xl);
	font-weight:700;
	color:var(--hairline);
	line-height:var(--leading-tight);
}

.spec-stat-label {
	font-family:var(--reze-53c);
	font-size:var(--text-sm);
	font-weight:700;
	color:var(--ink);
	letter-spacing:0.04em;
	text-transform:uppercase;
}

.spec-stat-desc {
	font-family:var(--reze-bc6);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	line-height:var(--leading-normal);
	margin-top:var(--space-1);
}

.hero-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-6) var(--space-10);
	align-items:end;
}

@media (min-width: 860px) {
	.hero-grid { grid-template-columns:1.15fr 1fr; }
}

.hero-title-box {
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
}

.hero-title-box h1 {
	font-family:var(--reze-53c);
	font-size:var(--text-display);
	font-weight:800;
	line-height:1.06;
	color:var(--ink);
	letter-spacing:-0.03em;
	text-wrap:balance;
	max-width:13ch;
	word-break:normal;
	overflow-wrap:normal;
	hyphens:none;
}

.hero-lede-box {
	display:flex;
	flex-direction:column;
	gap:var(--space-6);
	align-items:flex-start;
}

.hero-lede-text {
	font-family:var(--reze-bc6);
	font-size:var(--text-lg);
	line-height:var(--leading-relaxed);
	color:var(--ink);
	max-width:52ch;
	font-weight:400;
}

/* Signature Drawing Spine Technique: Inline SVG starting under the opening */
.drawing-spine-container {
	position:relative;
	width:100%;
	overflow:visible;
	pointer-events:none;
	z-index:5;
}

.drawing-spine-svg {
	width:100%;
	height:auto;
	display:block;
	overflow:visible;
}

.drawing-path-base {
	stroke:var(--line);
	stroke-width:2px;
	stroke-dasharray:4 6;
	fill:none;
	opacity:0.4;
}

.drawing-path-live {
	stroke:var(--accent);
	stroke-width:2.5px;
	stroke-linecap:round;
	stroke-linejoin:round;
	fill:none;
	transition:stroke-dashoffset 0.1s linear;
}

.drawing-stage-marker {
	fill:var(--ground);
	stroke:var(--accent);
	stroke-width:2.5px;
	r:6;
	transition:r var(--duration-fast) var(--ease-out),
							fill var(--duration-fast) var(--ease-out);
}

.drawing-stage-marker.is-active {
	fill:var(--accent);
	r:8;
}

@media (prefers-reduced-motion: reduce) {
	.drawing-path-live { stroke-dashoffset:0 !important; }
}

.editorial-section {
	padding-block:var(--band-open);
	position:relative;
	border-bottom:1px solid var(--line);
}

.editorial-section > :first-child { margin-top:0; }

.editorial-section > :last-child { margin-bottom:0; }

.editorial-section:last-of-type { border-bottom:none; }

.section-hero-band {

	background-color:var(--surface);
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
}

.section-quantity-lead { margin-bottom:clamp(2rem, 4vw, 3.25rem); }

.section-quantity-figure {
	font-family:var(--reze-d9b);
	font-size:var(--text-quantity);
	font-weight:700;
	line-height:var(--leading-none);
	color:var(--ink);
	letter-spacing:-0.035em;
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:var(--space-3);

}

.section-quantity-unit {
	font-family:var(--reze-53c);
	font-size:clamp(1rem, 0.9rem + 0.6vw, 1.45rem);
	font-weight:700;
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:var(--hairline);
}

.section-quantity-explain {
	margin-top:var(--space-4);
	font-family:var(--reze-bc6);
	font-size:var(--text-lg);
	line-height:var(--leading-snug);
	color:var(--ink);
	max-width:var(--measure-prose);
	font-weight:500;
}

.editorial-prose { margin-bottom:var(--space-8); }

.editorial-prose p {
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
	max-width:var(--measure-prose);
}

.editorial-prose p + p { margin-top:1.25rem; }

/* Plain lists inside editorial sections */
.spec-list {
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
	margin-block:var(--space-6);
	max-width:var(--measure-prose);
}

.spec-list-item {
	display:flex;
	align-items:flex-start;
	gap:var(--space-3);
	font-family:var(--reze-bc6);
	font-size:var(--text-sm);
	color:var(--ink);
	line-height:var(--leading-normal);
}

.spec-list-item .icon {
	width:1.15rem;
	height:1.15rem;
	color:var(--accent);
	margin-top:3px;
	flex-shrink:0;
}

/* Full measure single wide photographs between figures */
.section-full-figure {
	width:100%;
	margin-block:var(--band-tight);
	position:relative;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	overflow:hidden;
}

.section-full-figure img {
	width:100%;
	height:auto;
	max-height:560px;
	object-fit:cover;
	display:block;
}

.section-full-caption {
	padding:var(--space-3) var(--space-5);
	background-color:var(--surface);
	border-top:1px solid var(--line);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:var(--space-2);
}

/* Pull quotes set large */
.editorial-pullquote {
	margin-block:var(--band-tight);
	padding:clamp(1.5rem, 4vw, 2.5rem);
	border-left:3px solid var(--hairline);
	background-color:var(--surface);
	border-radius:0 var(--radius-sm) var(--radius-sm) 0;
	max-width:var(--measure-wide);
}

.editorial-pullquote p {
	font-family:var(--reze-53c);
	font-size:clamp(1.2rem, 1.1rem + 0.8vw, 1.65rem);
	font-weight:600;
	line-height:var(--leading-snug);
	color:var(--ink);
	font-style:normal;
	max-width:100%;
}

.editorial-pullquote cite {
	display:block;
	margin-top:var(--space-3);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--hairline);
	text-transform:uppercase;
	letter-spacing:0.08em;
	font-style:normal;
}

.duotone-break {
	position:relative;
	width:100%;
	aspect-ratio:16 / 9;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	margin-block:0;
	background-color:#0b1a11;
	border-block:1px solid var(--line);
}

@media (max-width: 640px) {
	.duotone-break { aspect-ratio:3 / 2; }
}

.duotone-media {
	position:absolute;
	inset:0;
	z-index:1;
}

.duotone-media img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	mix-blend-mode:luminosity;
	opacity:0.65;
	filter:contrast(1.25) brightness(0.65);
}

/* Deep emerald and carbon duotone color mapping layer */
.duotone-break::before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(
		circle at center,
		rgba(38, 133, 81, 0.42) 0%,
		rgba(20, 18, 18, 0.88) 85%
	);
	z-index:2;
	pointer-events:none;
}

.duotone-break::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		180deg,
		rgba(20, 18, 18, 0.7) 0%,
		transparent 40%,
		transparent 60%,
		rgba(20, 18, 18, 0.7) 100%
	);
	z-index:3;
	pointer-events:none;
}

.duotone-content {
	position:relative;
	z-index:5;
	text-align:center;
	padding:var(--space-8) var(--container-gutter);
	max-width:820px;
}

.duotone-badge {
	display:inline-block;
	padding:0.35rem 0.85rem;
	margin-bottom:var(--space-4);
	background-color:rgba(20, 18, 18, 0.8);
	border:1px solid var(--hairline);
	border-radius:var(--radius-xs);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	font-weight:600;
	color:var(--hairline);
	letter-spacing:0.1em;
	text-transform:uppercase;
}

.duotone-heading {
	font-family:var(--reze-53c);
	font-size:clamp(1.8rem, 1.4rem + 1.8vw, 2.75rem);
	font-weight:700;
	line-height:var(--leading-tight);
	color:var(--accent-ink);
	letter-spacing:-0.02em;
	text-wrap:balance;
	margin-bottom:var(--space-4);
}

.duotone-prose {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink);
	max-width:58ch;
	margin-inline:auto;
}

.pinned-sequence {
	position:relative;
	width:100%;
	background-color:var(--ground);
}

.pinned-sticky-stage {
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding-block:var(--band-tight);
	overflow:hidden;
}

.pinned-indicator-bar {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background-color:var(--line);
	z-index:20;
}

.pinned-progress-fill {
	height:100%;
	width:0%;
	background-color:var(--accent);
	transition:width 0.1s linear;
}

.pinned-card-deck {
	position:relative;
	width:100%;
	min-height:420px;
}

.pinned-scene {
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity var(--duration-normal) var(--ease-out),
							visibility var(--duration-normal) var(--ease-out);
}

.pinned-scene.is-active {
	position:relative;
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

.pinned-scene-inner {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	padding:clamp(1.75rem, 4vw, 3.25rem);
	box-shadow:0 12px 36px rgba(0, 0, 0, 0.5);
}

.pinned-scene-meta {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--hairline);
	text-transform:uppercase;
	letter-spacing:0.08em;
	margin-bottom:var(--space-2);
}

.pinned-scene-title {
	font-family:var(--reze-53c);
	font-size:var(--text-2xl);
	font-weight:700;
	color:var(--ink);
	line-height:var(--leading-snug);
	margin-bottom:var(--space-4);
}

.pinned-scene-prose {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
	max-width:58ch;
}

/* Reduced motion degradation for pinned scene */
@media (prefers-reduced-motion: reduce) {
	.pinned-sticky-stage {
		position:static;
		min-height:auto;
		padding-block:var(--space-6);
	}

	.pinned-card-deck {
		display:flex;
		flex-direction:column;
		gap:var(--space-6);
		min-height:auto;
	}

	.pinned-scene {
		position:static;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
	}
}

.legal-tabbed-page { padding-block:clamp(3rem, 6vw, 5rem); }

.legal-doc-header {
	margin-bottom:var(--space-8);
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-6);
}

.legal-doc-title {
	font-family:var(--reze-53c);
	font-size:var(--text-3xl);
	font-weight:800;
	color:var(--ink);
	letter-spacing:-0.02em;
}

.legal-doc-meta {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-4);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	margin-top:var(--space-3);
}

.legal-meta-item strong { color:var(--hairline); }

/* Tab list navigation */
.tab-nav-bar {
	display:flex;
	align-items:stretch;
	gap:var(--space-2);
	border-bottom:1px solid var(--line);
	margin-bottom:var(--space-8);
	overflow-x:auto;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}

.tab-nav-bar::-webkit-scrollbar { display:none; }

.tab-trigger {
	padding:0.85rem 1.25rem;
	font-family:var(--reze-53c);
	font-size:var(--text-sm);
	font-weight:600;
	color:var(--ink-soft);
	background:transparent;
	border:0;
	border-bottom:2px solid transparent;
	white-space:nowrap;
	cursor:pointer;
	min-height:46px;
	transition:color var(--duration-fast) var(--ease-out),
							border-color var(--duration-fast) var(--ease-out),
							background-color var(--duration-fast) var(--ease-out);
}

.tab-trigger:hover {
	color:var(--ink);
	background-color:var(--surface-2);
	border-bottom-color:var(--hairline);
	transform:translateY(-1px);
}

.tab-trigger:active {
	color:var(--accent-ink);
	background-color:var(--line);
	transform:translateY(1px);
}

.tab-trigger:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:-2px;
}

.tab-trigger[aria-selected="true"] {
	color:var(--ink);
	border-bottom-color:var(--accent);
	background-color:var(--surface);
}

/* Tab Panels */
.tab-panel-container { min-height:480px; }

.tab-panel { display:none; }

.tab-panel.is-active,
.tab-panel:not([hidden]) { display:block; }

.tab-panel-body {
	max-width:var(--measure-prose);
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
}

.tab-panel-body h2 {
	font-size:var(--text-xl);
	color:var(--ink);
	margin-top:var(--space-8);
	margin-bottom:var(--space-4);
}

.tab-panel-body h2:first-child { margin-top:0; }

.tab-panel-body h3 {
	font-size:var(--text-lg);
	color:var(--ink);
	margin-top:var(--space-6);
	margin-bottom:var(--space-3);
}

.tab-panel-body p {
	color:var(--ink-soft);
	margin-bottom:1.25rem;
}

.tab-panel-body strong { color:var(--ink); }

.tab-panel-body ul {
	list-style:disc;
	padding-left:1.5rem;
	margin-block:1rem;
}

.tab-panel-body li { margin-bottom:0.5rem; }

/* Mobile Accordion Stack fallback for Tabbed Architecture below 768px */
@media (max-width: 767px) {
	.tab-nav-bar { display:none; }

	.mobile-accordion-tabs .tab-accordion-item {
		border:1px solid var(--line);
		margin-bottom:var(--space-3);
		border-radius:var(--radius-sm);
		background-color:var(--surface);
	}

	.tab-accordion-trigger {
		width:100%;
		display:flex;
		align-items:center;
		justify-content:space-between;
		padding:var(--space-4);
		min-height:48px;
		background:none;
		border:0;
		font-family:var(--reze-53c);
		font-size:var(--text-base);
		font-weight:600;
		color:var(--ink);
		text-align:left;
	}

	.tab-accordion-trigger:hover { background-color:var(--surface-2); }

	.tab-accordion-trigger:focus-visible {
		outline:2px solid var(--accent);
		outline-offset:-2px;
	}

	.tab-accordion-content {
		padding:var(--space-4);
		border-top:1px solid var(--line);
	}

	.tab-accordion-content[hidden] { display:none; }
}

.framed-doc-wrapper { padding-block:clamp(3rem, 6vw, 5rem); }

.framed-doc-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	padding:clamp(2rem, 5vw, 4rem);
	max-width:900px;
	margin-inline:auto;
	box-shadow:0 16px 48px rgba(0, 0, 0, 0.6);
	position:relative;
}

/* Document card hairline rim accent */
.framed-doc-card::before {
	content:"";
	position:absolute;
	inset:-1px;
	border:1px solid var(--hairline);
	border-radius:calc(var(--radius-sm) + 1px);
	pointer-events:none;
	opacity:0.65;
}

.framed-doc-masthead {
	border-bottom:2px solid var(--line);
	padding-bottom:var(--space-6);
	margin-bottom:var(--space-8);
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
}

.framed-doc-series {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--hairline);
	letter-spacing:0.1em;
	text-transform:uppercase;
}

.framed-doc-heading {
	font-family:var(--reze-53c);
	font-size:var(--text-3xl);
	font-weight:800;
	color:var(--ink);
	letter-spacing:-0.02em;
}

.framed-doc-timestamps {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-4);
	margin-top:var(--space-2);
}

/* Clause section layout inside framed document */
.doc-clause {
	margin-bottom:var(--space-8);
	padding-bottom:var(--space-8);
	border-bottom:1px solid var(--line);
}

.doc-clause:last-of-type {
	border-bottom:0;
	margin-bottom:0;
	padding-bottom:0;
}

.doc-clause-number {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	font-weight:600;
	color:var(--hairline);
	display:block;
	margin-bottom:var(--space-1);
}

.doc-clause-title {
	font-family:var(--reze-53c);
	font-size:var(--text-xl);
	font-weight:700;
	color:var(--ink);
	margin-bottom:var(--space-4);
}

.doc-clause-prose {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
}

.doc-clause-prose p + p { margin-top:1.25rem; }

.doc-clause-prose strong { color:var(--ink); }

/* Cookie mapping table inside clause */
.cookie-table-container {
	margin-block:var(--space-6);
	overflow-x:auto;
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
}

.cookie-table {
	width:100%;
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	border-collapse:collapse;
}

.cookie-table th,
.cookie-table td {
	padding:var(--space-3) var(--space-4);
	border-bottom:1px solid var(--line);
	text-align:left;
}

.cookie-table th {
	background-color:var(--surface-2);
	color:var(--ink);
	font-family:var(--reze-53c);
	text-transform:uppercase;
	letter-spacing:0.05em;
}

.cookie-table tr:last-child td { border-bottom:0; }

.at-a-glance-page { padding-block:clamp(3rem, 6vw, 5rem); }

.glance-panel {
	background-color:var(--surface);
	border:1px solid var(--hairline);
	border-radius:var(--radius-sm);
	padding:clamp(1.5rem, 4vw, 2.5rem);
	margin-bottom:clamp(3rem, 6vw, 4.5rem);
	box-shadow:0 8px 28px rgba(0, 0, 0, 0.45);
}

.glance-panel-title {
	font-family:var(--reze-53c);
	font-size:var(--text-xl);
	font-weight:700;
	color:var(--ink);
	margin-bottom:var(--space-2);
}

.glance-panel-desc {
	font-family:var(--reze-bc6);
	font-size:var(--text-sm);
	color:var(--ink-soft);
	margin-bottom:var(--space-6);
}

.glance-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-4);
}

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

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

.glance-tile {
	background-color:var(--surface-2);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	padding:var(--space-4);
	display:flex;
	flex-direction:column;
	gap:var(--space-1);
}

.glance-key {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--hairline);
	text-transform:uppercase;
	letter-spacing:0.06em;
	font-weight:600;
}

.glance-val {
	font-family:var(--reze-bc6);
	font-size:var(--text-sm);
	color:var(--ink);
	line-height:var(--leading-snug);
	font-weight:500;
}

.glance-prose-column {
	max-width:var(--measure-prose);
	margin-inline:auto;
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
}

.glance-prose-column h2 {
	font-size:var(--text-2xl);
	color:var(--ink);
	margin-top:clamp(2.5rem, 5vw, 4rem);
	margin-bottom:var(--space-4);
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-2);
}

.glance-prose-column h3 {
	font-size:var(--text-lg);
	color:var(--ink);
	margin-top:var(--space-6);
	margin-bottom:var(--space-3);
}

.glance-prose-column p + p { margin-top:1.25rem; }

.glance-prose-column strong { color:var(--ink); }

.folded-legal-section {
	margin-top:clamp(4rem, 8vw, 6rem);
	padding-top:clamp(3rem, 6vw, 4.5rem);
	border-top:2px solid var(--line);
}

.folded-legal-badge {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--accent);
	text-transform:uppercase;
	letter-spacing:0.08em;
	margin-bottom:var(--space-2);
}

.folded-legal-title {
	font-family:var(--reze-53c);
	font-size:var(--text-2xl);
	color:var(--ink);
	font-weight:700;
	margin-bottom:var(--space-4);
}

.folded-legal-prose {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink-soft);
	max-width:var(--measure-prose);
}

/* Data request interactive form container inside privacy.html */
.dsar-form-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	padding:var(--space-6);
	margin-top:var(--space-6);
}

.catalogue-header-strip {
	padding-block:clamp(2.5rem, 5vw, 4rem);
	border-bottom:1px solid var(--line);
}

.catalogue-filter-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-4);
	margin-top:var(--space-6);
}

.catalogue-filter-tags {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-2);
}

.filter-tag-btn {
	padding:0.5rem 1rem;
	min-height:44px;
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	cursor:pointer;
	transition:background-color var(--duration-fast) var(--ease-out),
							border-color var(--duration-fast) var(--ease-out),
							color var(--duration-fast) var(--ease-out);
}

.filter-tag-btn:hover {
	background-color:var(--surface-2);
	color:var(--ink);
}

.filter-tag-btn:active { background-color:var(--line); }

.filter-tag-btn:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:2px;
}

.filter-tag-btn.is-active {
	background-color:var(--surface-2);
	border-color:var(--accent);
	color:var(--ink);
}

/* Contact & Fitment facility layout */
.contact-layout-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-8);
	align-items:start;
}

@media (min-width: 920px) {
	.contact-layout-grid { grid-template-columns:1.1fr 1fr; }
}

.contact-meta-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-sm);
	padding:clamp(1.75rem, 4vw, 2.75rem);
	display:flex;
	flex-direction:column;
	gap:var(--space-6);
}

.contact-detail-row {
	display:flex;
	align-items:flex-start;
	gap:var(--space-4);
}

.contact-detail-icon {
	width:44px;
	height:44px;
	min-width:44px;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--hairline);
}

.contact-detail-info {
	display:flex;
	flex-direction:column;
	gap:2px;
}

.contact-detail-label {
	font-family:var(--reze-d9b);
	font-size:var(--text-xs);
	color:var(--hairline);
	text-transform:uppercase;
	letter-spacing:0.08em;
}

.contact-detail-value {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	color:var(--ink);
	font-weight:500;
}

.contact-detail-value a {
	text-decoration:underline;
	text-underline-offset:3px;
	text-decoration-color:var(--line);
}

.contact-detail-value a:hover { color:var(--hairline); }

/* 404 Error Page */
.error-page-wrapper {
	min-height:calc(100vh - var(--header-height) - 180px);
	display:flex;
	align-items:center;
	justify-content:center;
	padding-block:var(--space-12);
	text-align:center;
}

.error-content-box {
	max-width:540px;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:var(--space-4);
}

.error-code {
	font-family:var(--reze-d9b);
	font-size:clamp(4rem, 8vw, 7.5rem);
	font-weight:800;
	line-height:1;
	color:var(--hairline);
	letter-spacing:-0.04em;
}

.error-title {
	font-family:var(--reze-53c);
	font-size:var(--text-2xl);
	font-weight:700;
	color:var(--ink);
}

.error-prose {
	font-family:var(--reze-bc6);
	font-size:var(--text-base);
	color:var(--ink-soft);
	margin-bottom:var(--space-4);
}
