.hero-home {
	position: relative;
	min-height: calc(88vh - 4.5rem);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-top: clamp(3rem, 2rem + 4vw, 6rem);
	padding-bottom: clamp(3rem, 2rem + 4vw, 6rem);
	border-bottom: 1px solid var(--line-hairline);
	background-color: var(--ground);
	overflow: hidden;
}


@media (min-width: 900px) {
	.hero-home::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 48%;
		height: 100%;
		background-image: linear-gradient(to right, var(--ground) 0%, rgba(16, 19, 17, 0.72) 40%, rgba(16, 19, 17, 0.25) 100%),
											url('../img/farm-pasture-landscape-1200.jpg');
		background-size: cover;
		background-position: center right;
		pointer-events: none;
		z-index: 0;
		opacity: 0.65;
	}
}


.hero-home > .page-container {
	position: relative;
	z-index: 1;
}


.hero-home__headline {
	font-family: var(--naka-846);
	font-size: var(--fs-hero);
	font-weight: 800;
	line-height: var(--lh-tight);
	letter-spacing: var(--tracking-tight);
	color: var(--concrete-pure);
	text-transform: uppercase;
	max-width: 18ch;
	margin-bottom: var(--sp-xl);
}


.hero-home__lead {
	font-size: clamp(1.125rem, 1rem + 0.6vw, 1.4rem);
	line-height: 1.5;
	color: var(--concrete-light);
	max-width: 48ch;
	margin-bottom: var(--sp-2xl);
}


.hero-meta-strip {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	background-color: var(--line-hairline);
	border-top: 1px solid var(--line-hairline);
	border-bottom: 1px solid var(--line-hairline);
	margin-top: var(--sp-2xl);
}


@media (min-width: 600px) {
	.hero-meta-strip { grid-template-columns: repeat(2, 1fr); }
}


@media (min-width: 1024px) {
	.hero-meta-strip { grid-template-columns: repeat(4, 1fr); }
}


.hero-meta-item {
	background-color: var(--ground);
	padding: var(--sp-md) var(--sp-lg);
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.hero-meta-item .meta-kicker {
	font-family: var(--naka-e3f);
	font-size: var(--fs-3xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete);

}


.hero-meta-item .meta-val {
	font-family: var(--naka-e3f);
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--concrete-pure);
}


.hero-meta-item .meta-sub {
	font-size: var(--fs-xs);
	color: #adb5ae;
}


.page-hero {
	position: relative;
	padding-top: clamp(3.5rem, 2.5rem + 3vw, 5.5rem);
	padding-bottom: clamp(2.5rem, 1.8rem + 2.5vw, 4.5rem);
	border-bottom: 1px solid var(--line-hairline);
	background-color: var(--ground);
}


.page-hero__title {
	font-family: var(--naka-846);
	font-size: clamp(2.2rem, 1.8rem + 3vw, 4.25rem);
	font-weight: 800;
	line-height: var(--lh-tight);
	letter-spacing: var(--tracking-tight);
	color: var(--concrete-pure);
	text-transform: uppercase;
	max-width: 22ch;
	margin-bottom: var(--sp-md);
}


.page-hero__desc {
	font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
	line-height: var(--lh-prose);
	color: var(--concrete);
	max-width: var(--measure-prose);
}


.scrolly-section {
	position: relative;
	border-top: 1px solid var(--line-hairline);
	border-bottom: 1px solid var(--line-hairline);
	background-color: var(--ground-elevated);
}


.scrolly-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-xl);
	padding-top: clamp(2rem, 1.5rem + 2vw, 4rem);
	padding-bottom: clamp(2rem, 1.5rem + 2vw, 4rem);
}


@media (min-width: 900px) {
	.scrolly-container {
		grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
		gap: clamp(2rem, 1.5rem + 3vw, 5rem);
	}
}


.scrolly-media-col { order: 1; }


@media (min-width: 900px) {
	.scrolly-media-col {
		order: 2;
		position: relative;
	}
}


.scrolly-sticky-frame { position: relative; }


@media (min-width: 900px) {
	.scrolly-sticky-frame {
		position: sticky;
		top: 6rem;
		display: flex;
		flex-direction: column;
		gap: var(--sp-md);
	}
}


.scrolly-figure {
	width: 100%;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-xs);
	overflow: hidden;
	background-color: var(--ground-card);
}


.scrolly-figure img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}


.scrolly-caption {
	padding: var(--sp-sm) var(--sp-md);
	background-color: var(--ground);
	border-top: 1px solid var(--line-hairline);
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	color: var(--concrete);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
}


.scrolly-progress {
	width: 100%;
	height: 4px;
	background-color: var(--ground);
	border-radius: var(--radius-none);
	overflow: hidden;
	position: relative;
	border: 1px solid var(--line-hairline);
}


.scrolly-progress-bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--jewel), var(--jewel-accent));
	transition: width var(--dur-fast) linear;
}


.scrolly-text-col {
	order: 2;
	display: flex;
	flex-direction: column;
	gap: clamp(3rem, 2rem + 4vw, 6rem);
}


@media (min-width: 900px) {
	.scrolly-text-col {
		order: 1;
		padding-top: var(--sp-lg);
		padding-bottom: clamp(4rem, 3rem + 5vw, 8rem);
	}
}


.scrolly-step {
	border-left: 3px solid var(--line-hairline);
	padding-left: clamp(1rem, 0.8rem + 1vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: var(--sp-sm);
	transition: border-color var(--dur-base) var(--ease-snap);
}


.scrolly-step.is-active { border-left-color: var(--brass); }


.scrolly-step__stamp {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
}


.scrolly-step__title {
	font-family: var(--naka-846);
	font-size: var(--fs-2xl);
	font-weight: 700;
	line-height: var(--lh-snug);
	color: var(--concrete-pure);
}


.scrolly-step__body {
	font-size: var(--fs-base);
	color: var(--concrete-light);
	line-height: var(--lh-prose);
}


.scrolly-step__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-xs);
	margin-top: var(--sp-xs);
}


.shader-band {
	position: relative;
	width: 100%;
	min-height: clamp(180px, 15vw, 280px);
	overflow: hidden;
	background: radial-gradient(circle at 50% 50%, #166534 0%, #0d1b11 60%, #101311 100%);
	border-top: 1px solid var(--line-hairline);
	border-bottom: 1px solid var(--line-hairline);

	display: flex;
	align-items: center;
	justify-content: center;
}


.shader-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}


.shader-overlay-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: var(--sp-xl) 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: var(--sp-sm);
}


.shader-stamp {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
	background-color: rgba(16, 19, 17, 0.85);
	border: 1px solid var(--brass);
	padding: var(--sp-2xs) var(--sp-md);
	border-radius: var(--radius-xs);
}


.shader-statement {
	font-family: var(--naka-846);
	font-size: clamp(1.25rem, 1rem + 1.5vw, 2.25rem);
	font-weight: 800;

	color: var(--concrete-pure);
	letter-spacing: var(--tracking-tight);
	text-transform: uppercase;
	max-width: 32ch;
	padding: 0 var(--sp-md);
}


.quote-spread {
	padding-top: clamp(4rem, 3rem + 5vw, 8rem);
	padding-bottom: clamp(4rem, 3rem + 5vw, 8rem);
	background-color: var(--ground);
	border-top: 1px solid var(--line-hairline);
	border-bottom: 1px solid var(--line-hairline);
}


.quote-spread__box {
	border-left: 3px solid var(--brass);
	padding-left: clamp(1.5rem, 1rem + 2vw, 3.5rem);
	display: flex;
	flex-direction: column;
	gap: var(--sp-lg);
}


.quote-spread__text {
	font-family: var(--naka-846);
	font-size: var(--fs-pull);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: var(--tracking-tight);
	color: var(--concrete-pure);
	max-width: 26ch;
	text-wrap: balance;
}


.quote-spread__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-md);
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete);
}


.quote-spread__meta strong { color: var(--brass); }


.fit-checker {
	background-color: var(--ground-elevated);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-xs);
	padding: clamp(1.5rem, 1.2rem + 1.8vw, 3rem);
	display: flex;
	flex-direction: column;
	gap: var(--sp-xl);
}


.fit-checker__header {
	border-bottom: 1px solid var(--line-hairline);
	padding-bottom: var(--sp-md);
}


.fit-checker__title {
	font-family: var(--naka-846);
	font-size: var(--fs-2xl);
	font-weight: 700;
	color: var(--concrete-pure);
	margin-bottom: var(--sp-2xs);
}


.fit-checker__intro {
	font-size: var(--fs-sm);
	color: var(--concrete);
	line-height: var(--lh-meta);
	max-width: 60ch;
}


.fit-checker__inputs {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-lg);
}


@media (min-width: 680px) {
	.fit-checker__inputs { grid-template-columns: repeat(3, 1fr); }
}


.checker-control {
	display: flex;
	flex-direction: column;
	gap: var(--sp-xs);
}


.checker-control label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete-light);
	display: flex;
	justify-content: space-between;
	align-items: center;
}


.checker-val-display {
	font-family: var(--naka-e3f);
	font-size: var(--fs-sm);
	color: var(--brass);
}


.checker-range {
	width: 100%;
	accent-color: var(--jewel-accent);
	cursor: pointer;
	height: 6px;
	background-color: var(--ground);
	border-radius: var(--radius-none);
}


.checker-select {
	width: 100%;
	background-color: var(--ground);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	padding: var(--sp-xs) var(--sp-sm);
	color: var(--concrete-pure);
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	min-height: 44px;
}


.checker-select:focus {
	outline: 2px solid var(--brass);
	border-color: var(--brass);
}


.fit-checker__result-box {
	background-color: var(--ground);
	border: 1px solid var(--line-hairline);
	border-left: 4px solid var(--jewel-accent);
	border-radius: var(--radius-xs);
	padding: var(--sp-lg);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-md);
}


@media (min-width: 768px) {
	.fit-checker__result-box {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr);
		align-items: center;
	}
}


.fit-checker__score-block {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.fit-checker__score-label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete);
}


.fit-checker__score-num {
	font-family: var(--naka-e3f);
	font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem);
	font-weight: 700;
	color: var(--concrete-pure);
	line-height: 1;
}


.fit-checker__status-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2xs);
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	padding: var(--sp-2xs) var(--sp-sm);
	background-color: var(--ground-card);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	color: var(--jewel-accent);
	width: fit-content;
	margin-top: var(--sp-2xs);
}


.fit-checker__recommendation {
	font-size: var(--fs-sm);
	color: var(--concrete-light);
	line-height: var(--lh-meta);
}


.fit-checker__disclaimer {
	font-family: var(--naka-e3f);
	font-size: var(--fs-3xs);
	color: var(--concrete-muted);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	border-top: 1px solid var(--line-hairline);
	padding-top: var(--sp-sm);
}


.clause-doc {
	max-width: var(--measure-wide);
	margin-left: auto;
	margin-right: auto;
	padding-top: clamp(2.5rem, 1.8rem + 2.5vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 2.5rem + 3vw, 6rem);
}


.clause-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-xs);
	padding-top: var(--sp-xl);
	padding-bottom: var(--sp-xl);
	border-bottom: 1px solid var(--line-hairline);
}


@media (min-width: 768px) {
	.clause-row {
		grid-template-columns: 90px minmax(0, 1fr);
		gap: var(--sp-xl);
		align-items: start;
	}
}


.clause-num {
	font-family: var(--naka-e3f);
	font-size: var(--fs-sm);
	font-weight: 500;
	letter-spacing: var(--tracking-mono);
	color: var(--brass);
	padding-top: 0.25rem;
}


.hepe349 { min-width: 0; }


.hepe349 h2 {
	font-size: var(--fs-xl);
	font-weight: 700;
	margin-bottom: var(--sp-sm);
	color: var(--concrete-pure);
}


.hepe349 p {
	font-size: var(--fs-base);
	color: var(--concrete-light);
	line-height: var(--lh-prose);
	max-width: 100%;
}


.hepe349 p + p { margin-top: var(--sp-md); }


.hepe349 ul {
	margin-top: var(--sp-md);
	margin-bottom: var(--sp-md);
	display: flex;
	flex-direction: column;
	gap: var(--sp-xs);
}


.hepe349 li {
	position: relative;
	padding-left: var(--sp-md);
	font-size: var(--fs-sm);
	color: var(--concrete-light);
	line-height: var(--lh-meta);
	min-width: 0;
	word-break: normal;
	overflow-wrap: break-word;
}


@media (max-width: 480px) {
	.clause-row {
		display: flex;
		flex-direction: column;
		gap: var(--sp-xs);
	}
	.clause-num { padding-top: 0; }
}


.hepe349 li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	background-color: var(--brass);
	border-radius: var(--radius-none);
}


.cookie-folio {
	padding-top: clamp(2.5rem, 1.8rem + 2vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 2.5rem + 3vw, 6rem);
}


.cookie-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-xl);
}


@media (min-width: 900px) {
	.cookie-layout {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: clamp(2rem, 1.5rem + 2vw, 4.5rem);
	}
}


.cookie-mobile-jump {
	display: block;
	background-color: var(--ground-elevated);
	border: 1px solid var(--line-hairline);
	padding: var(--sp-sm) var(--sp-md);
	border-radius: var(--radius-xs);
	margin-bottom: var(--sp-lg);
}


@media (min-width: 900px) {
	.cookie-mobile-jump { display: none; }
}


.cookie-mobile-jump label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
	display: block;
	margin-bottom: var(--sp-2xs);
}


.cookie-mobile-select {
	width: 100%;
	background-color: var(--ground);
	border: 1px solid var(--line-hairline);
	color: var(--concrete-pure);
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	padding: var(--sp-xs) var(--sp-sm);
	min-height: 44px;
	border-radius: var(--radius-xs);
}


.cookie-sticky-nav { display: none; }


@media (min-width: 900px) {
	.cookie-sticky-nav {
		display: block;
		position: sticky;
		top: 6rem;
		align-self: start;
		border-left: 1px solid var(--line-hairline);
		padding-left: var(--sp-md);
	}
}


.cookie-nav-heading {
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
	margin-bottom: var(--sp-md);
}


.cookie-nav-list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.cookie-nav-link {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	color: var(--concrete);
	padding: var(--sp-2xs) 0;
	display: block;
	min-height: 44px;
	line-height: 1.3;
	transition: color var(--dur-fast) var(--ease-snap),
							padding-left var(--dur-fast) var(--ease-snap);
}


.cookie-nav-link:hover {
	color: var(--concrete-pure);
	padding-left: 4px;
}


.cookie-nav-link.is-active {
	color: var(--brass);
	font-weight: 600;
}


.cookie-nav-link:focus-visible {
	outline: 2px solid var(--brass);
	outline-offset: 2px;
}


.cookie-content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--sp-3xl);
}


.cookie-section {
	border-bottom: 1px solid var(--line-hairline);
	padding-bottom: var(--sp-2xl);
	scroll-margin-top: 6rem;
}


.cookie-section__label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
	margin-bottom: var(--sp-2xs);
}


.cookie-section__title {
	font-family: var(--naka-846);
	font-size: var(--fs-2xl);
	font-weight: 700;
	color: var(--concrete-pure);
	margin-bottom: var(--sp-md);
}


.terms-doc {
	padding-top: clamp(2.5rem, 1.8rem + 2vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 2.5rem + 3vw, 6rem);
}


.terms-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-2xl);
}


@media (min-width: 960px) {
	.terms-grid {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: clamp(2rem, 1.5rem + 2.5vw, 4.5rem);
	}
}


.terms-reading {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xl);
}


.terms-section {
	border-bottom: 1px solid var(--line-hairline);
	padding-bottom: var(--sp-xl);
}


.terms-section h2 {
	font-size: var(--fs-2xl);
	font-weight: 700;
	color: var(--concrete-pure);
	margin-bottom: var(--sp-md);
}


.terms-aside-mobile {
	margin-top: var(--sp-md);
	padding: var(--sp-sm) var(--sp-md);
	background-color: var(--ground-card);
	border-left: 2px solid var(--brass);
	border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


@media (min-width: 960px) {
	.terms-aside-mobile { display: none; }
}


.terms-margin { display: none; }


@media (min-width: 960px) {
	.terms-margin {
		display: flex;
		flex-direction: column;
		gap: var(--sp-2xl);
		padding-top: var(--sp-md);
	}
}


.terms-margin-card {
	background-color: var(--ground-card);
	border: 1px solid var(--line-hairline);
	border-left: 3px solid var(--brass);
	padding: var(--sp-md);
	border-radius: var(--radius-xs);
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.terms-margin-card .tag {
	font-family: var(--naka-e3f);
	font-size: var(--fs-3xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
}


.terms-margin-card .title {
	font-family: var(--naka-846);
	font-size: var(--fs-sm);
	font-weight: 700;
	color: var(--concrete-pure);
}


.terms-margin-card .desc {
	font-size: var(--fs-xs);
	line-height: var(--lh-meta);
	color: var(--concrete);
}


.product-row-list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-lg);
	margin-top: var(--sp-xl);
}


.product-row {
	background-color: var(--ground-elevated);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-md);
	transition: border-color var(--dur-fast) var(--ease-snap),
							background-color var(--dur-fast) var(--ease-snap);
}


@media (min-width: 768px) {
	.product-row {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--sp-xl);
	}
}


.product-row:hover {
	border-color: var(--line-strong);
	background-color: var(--ground-card);
}


.product-row__title {
	font-family: var(--naka-846);
	font-size: var(--fs-xl);
	font-weight: 700;
	color: var(--concrete-pure);
	margin-bottom: var(--sp-2xs);
}


.product-row__desc {
	font-size: var(--fs-sm);
	color: var(--concrete);
	line-height: var(--lh-meta);
}


.product-row__pricing {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.product-row__basis-label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-3xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete-muted);
}


.product-row__basis-val {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	color: var(--brass);
	line-height: 1.4;
}


.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: var(--sp-xs);
	margin-top: var(--sp-xl);
}


.faq-item {
	background-color: var(--ground-elevated);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	overflow: hidden;
	transition: border-color var(--dur-fast) var(--ease-snap);
}


.faq-item:hover { border-color: var(--line-strong); }


.faq-trigger {
	width: 100%;
	padding: var(--sp-md) var(--sp-lg);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-md);
	text-align: left;
	min-height: 44px;
	cursor: pointer;
	background-color: transparent;
	color: var(--concrete-pure);
	transition: background-color var(--dur-fast) var(--ease-snap);
}


.faq-trigger:hover { background-color: var(--ground-card); }


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


.faq-trigger__question {
	font-family: var(--naka-846);
	font-size: var(--fs-md);
	font-weight: 700;
	color: var(--concrete-pure);
}


.faq-trigger__icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--brass);
	flex-shrink: 0;
	transition: transform var(--dur-fast) var(--ease-snap);
}


.faq-item.is-open .faq-trigger__icon { transform: rotate(180deg); }


.faq-panel {
	display: none;
	padding: 0 var(--sp-lg) var(--sp-md) var(--sp-lg);
	font-size: var(--fs-base);
	color: var(--concrete-light);
	line-height: var(--lh-prose);
	border-top: 1px solid var(--line-hairline);
	background-color: var(--ground-subtle);
}


.faq-item.is-open .faq-panel { display: block; }


.contact-folio {
	padding-top: clamp(2.5rem, 1.8rem + 2vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 2.5rem + 3vw, 6rem);
}


.contact-grid-top {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-xl);
	margin-bottom: var(--sp-3xl);
}


@media (min-width: 900px) {
	.contact-grid-top {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		gap: clamp(2rem, 1.5rem + 2vw, 4rem);
	}
}


.dispatch-card {
	background-color: var(--ground-card);
	border: 1px solid var(--line-hairline);
	border-left: 3px solid var(--jewel-accent);
	border-radius: var(--radius-xs);
	padding: var(--sp-lg);
	display: flex;
	flex-direction: column;
	gap: var(--sp-md);
}


.dispatch-card__title {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
}


.dispatch-instructions-list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-sm);
}


.dispatch-instructions-item {
	font-size: var(--fs-sm);
	color: var(--concrete-light);
	line-height: var(--lh-meta);
	padding-left: var(--sp-md);
	position: relative;
}


.dispatch-instructions-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 4px;
	height: 4px;
	background-color: var(--hazard);
}


.error-scene {
	min-height: calc(80vh - 4.5rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: var(--sp-3xl) 0;
}


.error-code {
	font-family: var(--naka-e3f);
	font-size: clamp(3rem, 2rem + 6vw, 8rem);
	font-weight: 700;
	color: var(--brass);
	line-height: 1;
	margin-bottom: var(--sp-sm);
}


.error-title {
	font-family: var(--naka-846);
	font-size: var(--fs-3xl);
	font-weight: 800;
	color: var(--concrete-pure);
	margin-bottom: var(--sp-md);
}


.error-desc {
	font-size: var(--fs-lg);
	color: var(--concrete);
	max-width: 48ch;
	margin-bottom: var(--sp-xl);
}


.inventory-sheet {
	width: 100%;
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	background-color: var(--ground-elevated);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}


.inventory-sheet table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
}


.inventory-sheet th {
	background-color: var(--ground);
	padding: var(--sp-sm) var(--sp-md);
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	font-weight: 600;
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete-light);
	border-bottom: 1px solid var(--line-hairline);
	text-align: left;
	white-space: nowrap;
}


.inventory-sheet td {
	padding: var(--sp-sm) var(--sp-md);
	border-bottom: 1px solid var(--line-hairline);
	color: var(--concrete-light);
	vertical-align: middle;
}


.inventory-sheet tr:last-child td { border-bottom: none; }


.inventory-sheet tr:hover td { background-color: var(--ground-card); }


.dock-status-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-md);
	margin-top: var(--sp-xl);
}


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


@media (min-width: 1024px) {
	.dock-status-grid { grid-template-columns: repeat(3, 1fr); }
}


.dock-status-card {
	background-color: var(--ground-card);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	padding: var(--sp-md);
	display: flex;
	flex-direction: column;
	gap: var(--sp-2xs);
}


.dock-status-card__kicker {
	font-family: var(--naka-e3f);
	font-size: var(--fs-3xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--concrete-muted);
}


.dock-status-card__metric {
	font-family: var(--naka-e3f);
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--concrete-pure);
}


.dock-status-card__note {
	font-size: var(--fs-xs);
	color: var(--concrete);
	line-height: var(--lh-meta);
}


.regulatory-badge-block {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-sm);
	align-items: center;
	padding: var(--sp-md);
	background-color: var(--ground-elevated);
	border: 1px solid var(--line-hairline);
	border-radius: var(--radius-xs);
	margin-top: var(--sp-lg);
}


.regulatory-badge-block .badge-label {
	font-family: var(--naka-e3f);
	font-size: var(--fs-2xs);
	letter-spacing: var(--tracking-mono);
	text-transform: uppercase;
	color: var(--brass);
	font-weight: 600;
}


.regulatory-badge-block .badge-body {
	font-size: var(--fs-sm);
	color: var(--concrete-light);
}


@media (max-width: 480px) {
	.hero-home__headline { font-size: clamp(2rem, 1.8rem + 2vw, 2.75rem); }


	.fit-checker__score-num { font-size: 2.2rem; }


	.btn {
		width: 100%;
		justify-content: center;
	}


	.btn-group {
		flex-direction: column;
		align-items: stretch;
	}
}
