


.hero-type-only {
	padding-top: clamp(var(--space-2xl), 6vw, var(--space-4xl));
	padding-bottom: clamp(var(--space-2xl), 5vw, var(--space-3xl));
	border-bottom: 2px solid var(--ink-charcoal);
	background-color: var(--bg-oat);
	position: relative;
}


.hero-type-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm) var(--space-lg);
	padding-bottom: var(--space-md);
	margin-bottom: var(--space-xl);
	border-bottom: 1px solid var(--line-edge);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	letter-spacing: var(--track-wider);
	text-transform: uppercase;
	color: var(--clay);
}


.hero-type-meta span {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2xs);
}


.hero-type-headline {
	font-family: var(--nomi-a3a);

	font-size: var(--fs-hero);
	font-weight: var(--fw-extrabold);
	line-height: var(--lh-tight);
	letter-spacing: var(--track-tighter);
	color: var(--ink-charcoal);
	max-width: 18ch;
	margin-bottom: var(--space-xl);
	text-wrap: balance;
}


.hero-type-lede {
	font-size: var(--fs-lg);
	line-height: var(--lh-snug);
	color: var(--ink-charcoal);
	max-width: var(--reading-measure);
	border-left: 3px solid var(--terracotta);
	padding-left: var(--space-lg);
	margin-bottom: var(--space-2xl);
}


.hero-fact-strip {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	padding-top: var(--space-lg);
	border-top: 1px solid var(--line-edge);
}


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


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


.hero-fact-item {
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs);
}


.hero-fact-label {
	font-family: var(--nomi-c03);
	font-size: var(--fs-2xs);
	letter-spacing: var(--track-widest);
	text-transform: uppercase;
	color: var(--clay);
}


.hero-fact-value {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
}


.hero-fact-sub {
	font-size: var(--fs-xs);

	color: var(--ink-muted);
}


/* Inner Page Header */
.page-header-editorial {
	padding-top: clamp(var(--space-xl), 5vw, var(--space-3xl));
	padding-bottom: clamp(var(--space-lg), 4vw, var(--space-2xl));
	border-bottom: 2px solid var(--ink-charcoal);
	margin-bottom: var(--space-2xl);
	background-color: var(--bg-oat);
}


.page-header-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm) var(--space-md);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	margin-bottom: var(--space-md);
}


.page-header-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-3xl);
	font-weight: var(--fw-extrabold);
	line-height: var(--lh-tight);
	letter-spacing: var(--track-tighter);
	color: var(--ink-charcoal);
	margin-bottom: var(--space-md);
}


.page-header-desc {
	font-size: var(--fs-md);
	line-height: var(--lh-relaxed);
	color: var(--ink-muted);
	max-width: var(--reading-measure);
}



.editorial-flow {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
}


.dialogue-exchange {
	margin: clamp(var(--space-2xl), 5vw, var(--space-4xl)) 0;
	border-top: 1px solid var(--line-edge);
	padding-top: clamp(var(--space-xl), 4vw, var(--space-2xl));
}


.dialogue-exchange:first-of-type {
	border-top: none;
	padding-top: var(--space-lg);
}


.dialogue-speaker-customer {
	background-color: var(--surface-tint);
	border-left: 4px solid var(--clay);
	padding: var(--space-lg) clamp(1rem, 3vw, var(--space-xl));
	margin-bottom: var(--space-xl);
}


.speaker-tag {
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: var(--track-wider);
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: var(--space-2xs);
	margin-bottom: var(--space-xs);
}


.speaker-tag-customer {
	color: var(--clay);
}


.speaker-tag-operator {
	color: var(--terracotta);
}


.customer-inquiry-text {
	font-family: var(--nomi-a3a);
	font-size: clamp(1.2rem, 1.1rem + 0.6vw, 1.625rem);
	font-weight: var(--fw-bold);
	line-height: var(--lh-snug);
	color: var(--ink-charcoal);
}


.dialogue-speaker-operator {
	padding-left: clamp(0.75rem, 3vw, var(--space-xl));
	border-left: 1px solid var(--line-edge);
}


.operator-response-text {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
	max-width: var(--reading-measure);
}


.operator-response-text p + p {
	margin-top: 1.15em;
}


.dialogue-evidence-full {
	margin: var(--space-xl) 0;
	border: 1px solid var(--line-edge);
	background: var(--surface-warm-white);
}


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


.dialogue-evidence-caption {
	padding: var(--space-sm) var(--space-md);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--ink-muted);
	border-top: 1px solid var(--line-edge);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-xs);
	background-color: var(--surface-paper);
}


.caption-coords {
	color: var(--clay);
	letter-spacing: var(--track-wide);
}


.editorial-pullquote {
	margin: var(--space-2xl) 0;
	padding: var(--space-xl) 0;
	border-top: 2px solid var(--ink-charcoal);
	border-bottom: 2px solid var(--ink-charcoal);
	border-left: none;
}


.editorial-pullquote p {
	font-family: var(--nomi-a3a);
	font-size: clamp(1.35rem, 1.2rem + 1vw, 2.15rem);
	font-weight: var(--fw-bold);
	line-height: var(--lh-snug);
	letter-spacing: var(--track-tight);
	color: var(--ink-charcoal);
	max-width: 38ch;
}


.editorial-pullquote cite {
	margin-top: var(--space-md);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--terracotta);
	letter-spacing: var(--track-wider);
	text-transform: uppercase;
	display: block;
}



.annotated-elevation-plate {
	margin: clamp(var(--space-2xl), 5vw, var(--space-4xl)) 0;
	border: 2px solid var(--ink-charcoal);
	background-color: var(--surface-warm-white);
	padding: clamp(1rem, 3vw, var(--space-xl));
}


.plate-technical-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-xs) var(--space-md);
	border-bottom: 1px solid var(--line-edge);
	padding-bottom: var(--space-sm);
	margin-bottom: var(--space-md);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	color: var(--clay);
}


.plate-main-heading {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-extrabold);
	text-transform: uppercase;
	letter-spacing: var(--track-tight);
	color: var(--ink-charcoal);
}


.elevation-schematic {
	width: 100%;
	background-color: var(--bg-oat);
	border: 1px solid var(--line-edge);
	position: relative;
	overflow: hidden;
}


.schematic-svg {
	width: 100%;
	height: auto;
	display: block;
	stroke: var(--ink-charcoal);
}


.schematic-legend-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	margin-top: var(--space-lg);
	padding-top: var(--space-md);
	border-top: 1px solid var(--line-edge);
}


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

	}
}


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


.legend-card {
	padding: var(--space-sm);
	background-color: var(--surface-paper);
	border: 1px solid var(--line-edge);
}


.legend-elevation-stamp {
	font-family: var(--nomi-c03);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
	display: block;
	margin-bottom: var(--space-3xs);
}


.legend-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	margin-bottom: var(--space-3xs);
}


.legend-text {
	font-size: var(--fs-xs);
	color: var(--ink-muted);
	line-height: var(--lh-snug);
}



.rail-viewport {
	position: relative;
	width: 100%;
	margin: clamp(var(--space-2xl), 5vw, var(--space-4xl)) 0;
	padding: var(--space-xl) 0;
	border-top: 1px solid var(--line-edge);
	border-bottom: 1px solid var(--line-edge);
	background-color: var(--surface-tint);
}


.rail-header-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-md);
	margin-bottom: var(--space-lg);
}


.rail-section-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-2xl);
	font-weight: var(--fw-bold);
	letter-spacing: var(--track-tight);
}


.rail-section-meta {
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
}


.rail-track-container {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	display: flex;
	gap: var(--space-lg);
	padding: var(--space-xs) var(--space-xs) var(--space-lg) var(--space-xs);
	cursor: grab;
	user-select: none;
	-webkit-overflow-scrolling: touch;
}


.rail-track-container:active {
	cursor: grabbing;
}


.rail-card {
	flex: 0 0 clamp(290px, 64vw, 440px);
	scroll-snap-align: start;
	background-color: var(--surface-warm-white);
	border: 1px solid var(--line-edge);
	display: flex;
	flex-direction: column;
}


.rail-card-media {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background-color: var(--bg-oat);
	border-bottom: 1px solid var(--line-edge);
}


.rail-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--dur-med) var(--ease-out);
}


.rail-card:hover .rail-card-media img {
	transform: scale(1.03);
}


.rail-card-body {
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	flex: 1;
}


.rail-card-headline {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
}


.rail-card-caption {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	line-height: var(--lh-snug);
}


.rail-card-spec {
	margin-top: auto;
	padding-top: var(--space-xs);
	border-top: 1px solid var(--line-edge);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--terracotta);
}


.rail-footer-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	margin-top: var(--space-md);
}


.rail-bar-outer {
	flex: 1;
	height: 4px;
	background-color: var(--line-edge);
	position: relative;
}


.rail-bar-fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 25%;
	background-color: var(--accent-rust);
	transition: width var(--dur-fast) var(--ease-out), left var(--dur-fast) var(--ease-out);
}


.rail-nav-buttons {
	display: flex;
	gap: var(--space-2xs);
}


@media (prefers-reduced-motion: reduce) {
	.rail-track-container {
		display: flex;
		flex-direction: column;
		overflow-x: visible;
	}
	.rail-card {
		flex: 1 1 auto;
		width: 100%;
	}
	.rail-footer-nav {
		display: none;
	}
}



.model-showcase-section {
	margin: clamp(var(--space-2xl), 5vw, var(--space-4xl)) 0;
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	padding: clamp(1rem, 3vw, var(--space-xl));
}


.model-showcase-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-sm);
	padding-bottom: var(--space-sm);
	margin-bottom: var(--space-md);
	border-bottom: 1px solid var(--line-edge);
}


.model-showcase-tag {
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	letter-spacing: var(--track-wider);
	text-transform: uppercase;
}


.model-stage-box {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 320px;
	max-height: 520px;
	background-color: var(--bg-oat);
	border: 1px solid var(--line-edge);
	overflow: hidden;
	touch-action: pan-y;
}


.model-interaction-hint {
	position: absolute;
	bottom: var(--space-sm);
	right: var(--space-sm);
	z-index: 10;
	background: rgba(35, 31, 28, 0.85);
	color: var(--bg-oat);
	font-family: var(--nomi-c03);
	font-size: var(--fs-2xs);
	letter-spacing: var(--track-wider);
	text-transform: uppercase;
	padding: 4px 8px;
	pointer-events: none;
}



.menu-section-block {
	margin: clamp(var(--space-2xl), 5vw, var(--space-4xl)) 0;
	border-top: 2px solid var(--ink-charcoal);
	padding-top: var(--space-xl);
}


.menu-header-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-sm) var(--space-lg);
	margin-bottom: var(--space-lg);
}


.menu-title-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs);
}


.menu-tier-name {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-3xl);
	font-weight: var(--fw-extrabold);
	letter-spacing: var(--track-tighter);
	color: var(--ink-charcoal);
}


.menu-tier-hours {
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
}


.menu-price-band-badge {
	font-family: var(--nomi-c03);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
	background-color: var(--surface-tint);
	border: 1px solid var(--clay);
	padding: var(--space-xs) var(--space-sm);
}


.menu-lede-text {
	font-size: var(--fs-md);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
	max-width: var(--reading-measure);
	margin-bottom: var(--space-xl);
}


.menu-plate-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
	margin-bottom: var(--space-2xl);
}


@media (min-width: 768px) {
	.menu-plate-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}


.menu-plate-card {
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	display: flex;
	flex-direction: column;
}


.menu-plate-card-photo {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	background-color: var(--surface-tint);
	border-bottom: 1px solid var(--line-edge);
}


.menu-plate-card-content {
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	flex: 1;
}


.menu-item-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-sm);
}


.menu-item-name {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
}


.menu-item-range {
	font-family: var(--nomi-c03);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--terracotta);
	flex-shrink: 0;
}


.menu-item-desc {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	line-height: var(--lh-snug);
}


.menu-item-provenance {
	margin-top: auto;
	padding-top: var(--space-xs);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	border-top: 1px dashed var(--line-edge);
}


.menu-specs-table-wrap {
	margin: var(--space-xl) 0;
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	overflow-x: auto;
}


.menu-specs-table {
	width: 100%;
	border-collapse: collapse;
}


.menu-specs-table th {
	padding: var(--space-sm) var(--space-md);
	background-color: var(--surface-tint);
	border-bottom: 2px solid var(--ink-charcoal);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	color: var(--ink-charcoal);
	text-align: left;
}


.menu-specs-table td {
	padding: var(--space-sm) var(--space-md);
	border-bottom: 1px solid var(--line-edge);
	font-size: var(--fs-sm);
	vertical-align: top;
}


.menu-specs-table tr:last-child td {
	border-bottom: none;
}


.menu-specs-table .col-dish {
	font-family: var(--nomi-a3a);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	width: 32%;
}


.menu-specs-table .col-range {
	font-family: var(--nomi-c03);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
	width: 22%;
	white-space: nowrap;
}


.menu-specs-table .col-source {
	color: var(--ink-muted);
}


/* Sourcing Policy Box */
.sourcing-policy-card {
	margin: var(--space-2xl) 0;
	padding: var(--space-lg);
	background-color: var(--surface-paper);
	border-left: 4px solid var(--terracotta);
	border-top: 1px solid var(--line-edge);
	border-right: 1px solid var(--line-edge);
	border-bottom: 1px solid var(--line-edge);
}


.sourcing-policy-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-xs);
	color: var(--ink-charcoal);
}


.sourcing-policy-text {
	font-size: var(--fs-sm);
	line-height: var(--lh-relaxed);
	color: var(--ink-muted);
}



.contact-layout-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-2xl);
	margin: var(--space-2xl) 0;
}


@media (min-width: 960px) {
	.contact-layout-grid {
		grid-template-columns: 1.15fr 0.85fr;
	}
}


.contact-advisory-banner {
	background-color: var(--surface-tint);
	border: 1px solid var(--clay);
	border-left: 4px solid var(--accent-rust);
	padding: var(--space-md) var(--space-lg);
	margin-bottom: var(--space-xl);
}


.advisory-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	margin-bottom: var(--space-2xs);
}


.advisory-text {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	line-height: var(--lh-snug);
}


.contact-form-panel {
	border: 2px solid var(--ink-charcoal);
	background-color: var(--surface-warm-white);
	padding: clamp(1.25rem, 4vw, var(--space-2xl));
}


.contact-form-heading {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-2xl);
	font-weight: var(--fw-extrabold);
	margin-bottom: var(--space-2xs);
}


.contact-form-subtext {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	margin-bottom: var(--space-xl);
	line-height: var(--lh-snug);
}


.form-grid-two {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
}


@media (min-width: 600px) {
	.form-grid-two {
		grid-template-columns: 1fr 1fr;
	}
}


.contact-details-panel {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
}


.location-plate-card {
	border: 1px solid var(--line-edge);
	background-color: var(--surface-paper);
	padding: var(--space-lg);
}


.location-plate-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-xs);
	border-bottom: 1px solid var(--line-edge);
	padding-bottom: var(--space-xs);
}


.location-data-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	margin-top: var(--space-sm);
}


.location-data-row {
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs);
}


.location-data-label {
	font-family: var(--nomi-c03);
	font-size: var(--fs-2xs);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	color: var(--clay);
}


.location-data-val {
	font-size: var(--fs-base);
	font-weight: var(--fw-medium);
	color: var(--ink-charcoal);
}


.location-data-val a {
	text-decoration: none;
}


.location-data-val a:hover {
	text-decoration: underline;
}


.seating-protocol-card {
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	padding: var(--space-lg);
}


.protocol-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-sm);
	color: var(--ink-charcoal);
}


.protocol-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}


.protocol-item {
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
	color: var(--ink-muted);
	position: relative;
	padding-left: var(--space-md);
}


.protocol-item::before {
	content: '—';
	position: absolute;
	left: 0;
	color: var(--terracotta);
}



.clause-ledger-wrap {
	margin: var(--space-2xl) 0;
	border: 2px solid var(--ink-charcoal);
	background-color: var(--surface-warm-white);
	width: 100%;
}


.clause-ledger-intro {
	padding: var(--space-lg);
	border-bottom: 2px solid var(--ink-charcoal);
	background-color: var(--surface-paper);
}


.clause-ledger-intro h2 {
	font-size: var(--fs-xl);
	margin-bottom: var(--space-xs);
}


.clause-ledger-intro p {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
}


.clause-ledger-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
}


.clause-ledger-table th {
	background-color: var(--surface-tint);
	color: var(--ink-charcoal);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	padding: var(--space-md);
	border-bottom: 2px solid var(--ink-charcoal);
}


.clause-ledger-table td {
	padding: var(--space-md);
	border-bottom: 1px solid var(--line-edge);
	vertical-align: top;
	font-size: var(--fs-sm);
	line-height: var(--lh-snug);
}


.clause-ledger-table tr:last-child td {
	border-bottom: none;
}


.ledger-cell-clause {
	width: 25%;
}


.ledger-clause-id {
	display: block;
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--clay);
	margin-bottom: var(--space-3xs);
}


.ledger-clause-name {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-base);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
}


.ledger-cell-meaning {
	width: 45%;
	color: var(--ink-charcoal);
}


.ledger-cell-basis {
	width: 30%;
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--ink-muted);
}


/* Responsive transformation for Clause Ledger on mobile <= 768px */
@media (max-width: 768px) {
	.clause-ledger-table,
	.clause-ledger-table thead,
	.clause-ledger-table tbody,
	.clause-ledger-table tr,
	.clause-ledger-table th,
	.clause-ledger-table td {
		display: block;
	}


	.clause-ledger-table thead {
		display: none; /* Hide tabular header */
	}


	.clause-ledger-table tr {
		padding: var(--space-md);
		border-bottom: 2px solid var(--ink-charcoal);
		background-color: var(--surface-warm-white);
	}


	.clause-ledger-table tr:nth-child(even) {
		background-color: var(--surface-paper);
	}


	.clause-ledger-table td {
		width: 100% !important;
		padding: var(--space-2xs) 0;
		border-bottom: none;
	}


	.ledger-cell-clause {
		margin-bottom: var(--space-xs);
		padding-bottom: var(--space-xs) !important;
		border-bottom: 1px solid var(--line-edge) !important;
	}


	.ledger-cell-meaning::before {
		content: 'What It Means: ';
		font-family: var(--nomi-c03);
		font-size: var(--fs-2xs);
		text-transform: uppercase;
		letter-spacing: var(--track-wider);
		color: var(--clay);
		font-weight: var(--fw-bold);
		display: block;
		margin-bottom: 2px;
	}


	.ledger-cell-meaning {
		margin-bottom: var(--space-xs);
	}


	.ledger-cell-basis::before {
		content: "Legal Basis & Scope: ";
		font-family: var(--nomi-c03);
		font-size: var(--fs-2xs);
		text-transform: uppercase;
		letter-spacing: var(--track-wider);
		color: var(--terracotta);
		font-weight: var(--fw-bold);
		display: block;
		margin-bottom: 2px;
	}
}


/* Advertising Tracking Spec Table */
.ad-tracking-matrix {
	margin: var(--space-2xl) 0;
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	padding: var(--space-lg);
}


.ad-tracking-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-xs);
}


.ad-tracking-note {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	margin-bottom: var(--space-md);
}


.tracking-id-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	margin: var(--space-md) 0;
}


@media (min-width: 640px) {
	.tracking-id-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}


.tracking-id-card {
	padding: var(--space-sm);
	background-color: var(--surface-paper);
	border: 1px solid var(--line-edge);
	border-left: 3px solid var(--clay);
}


.tracking-param-name {
	font-family: var(--nomi-c03);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
	display: block;
	margin-bottom: var(--space-3xs);
}


.tracking-platform {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	text-transform: uppercase;
}


.tracking-purpose {
	font-size: var(--fs-xs);
	color: var(--ink-muted);
	line-height: var(--lh-snug);
	margin-top: var(--space-3xs);
}


.dsar-section-box {
	margin: var(--space-2xl) 0;
	border: 2px solid var(--ink-charcoal);
	background-color: var(--surface-paper);
	padding: clamp(1.25rem, 3.5vw, var(--space-xl));
}


.dsar-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-xs);
}


.dsar-text {
	font-size: var(--fs-sm);
	color: var(--ink-muted);
	margin-bottom: var(--space-lg);
	line-height: var(--lh-relaxed);
}



.cookies-wide-layout {
	width: 100%;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding: var(--space-xl) clamp(0.75rem, 3vw, var(--space-lg));
	box-sizing: border-box;
	overflow-x: hidden;
}


.clause-numbered-block {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr) !important;
	gap: var(--space-md);
	margin-bottom: clamp(var(--space-2xl), 4vw, var(--space-3xl));
	padding-bottom: clamp(var(--space-xl), 3vw, var(--space-2xl));
	border-bottom: 1px solid var(--line-edge);
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}


.clause-numbered-block > .clause-margin-number {
	grid-column: 1 / 2 !important;
}


.clause-numbered-block > .clause-wide-content {
	grid-column: 2 / 3 !important;
}


.clause-numbered-block:last-child {
	border-bottom: none;
}


.clause-margin-number {
	font-family: var(--nomi-c03);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--clay);
	padding-top: 0.25rem;
	user-select: none;
	min-width: 0;
}


.clause-wide-content {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}


.clause-wide-heading {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	letter-spacing: var(--track-tight);
	min-width: 0;
	overflow-wrap: break-word;
}


.clause-wide-text {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}


.clause-wide-text p + p {
	margin-top: 1.15em;
}


@media (max-width: 600px) {
	.clause-numbered-block {
		display: flex !important;
		flex-direction: column !important;
		gap: var(--space-xs);
	}


	.clause-numbered-block > .clause-margin-number {
		grid-column: auto !important;
		display: inline-block;
		padding-top: 0;
		margin-bottom: var(--space-3xs);
		width: auto;
	}


	.clause-numbered-block > .clause-wide-content {
		grid-column: auto !important;
	}
}


.govead9 {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: var(--space-lg) 0;
}


.cookies-inventory-table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	border: 1px solid var(--line-edge);
	background-color: var(--surface-warm-white);
	font-size: var(--fs-sm);
}


.cookies-inventory-table th {
	background-color: var(--surface-tint);
	padding: var(--space-sm) var(--space-md);
	border-bottom: 2px solid var(--ink-charcoal);
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	color: var(--ink-charcoal);
}


.cookies-inventory-table td {
	padding: var(--space-sm) var(--space-md);
	border-bottom: 1px solid var(--line-edge);
}


.cookie-col-name {
	font-family: var(--nomi-c03);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
}


.cookie-col-lifetime {
	font-family: var(--nomi-c03);
	font-size: var(--fs-xs);
	color: var(--ink-muted);
}



.terms-dual-column-layout {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding: var(--space-xl) clamp(0.75rem, 3vw, var(--space-lg));
	box-sizing: border-box;
	overflow-x: hidden;
}


.terms-section-entry {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px !important;
	gap: var(--space-2xl);
	margin-bottom: clamp(var(--space-2xl), 5vw, var(--space-3xl));
	padding-bottom: clamp(var(--space-xl), 4vw, var(--space-2xl));
	border-bottom: 1px solid var(--line-edge);
	align-items: start;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}


.terms-section-entry > .terms-main-reading {
	grid-column: 1 / 2 !important;
}


.terms-section-entry > .terms-margin-notes {
	grid-column: 2 / 3 !important;
}


.terms-section-entry:last-child {
	border-bottom: none;
}


.terms-main-reading {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}


.terms-main-heading {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	letter-spacing: var(--track-tight);
	color: var(--ink-charcoal);
	margin-bottom: var(--space-2xs);
	min-width: 0;
	overflow-wrap: break-word;
}


.terms-paragraph {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
	max-width: var(--reading-measure);
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}


.terms-paragraph a,
.terms-margin-notes a {
	overflow-wrap: anywhere;
	word-break: break-all;
}


.terms-main-reading,
.terms-margin-notes,
.margin-aside-card,
.margin-aside-val {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
}


.terms-margin-notes {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	padding-top: var(--space-xs);
	min-width: 0;
	overflow-wrap: break-word;
}


.margin-aside-card {
	padding: var(--space-sm);
	background-color: var(--surface-paper);
	border: 1px solid var(--line-edge);
	border-left: 3px solid var(--clay);
	font-size: var(--fs-xs);
	line-height: var(--lh-snug);
}


.margin-aside-label {
	font-family: var(--nomi-c03);
	font-size: var(--fs-2xs);
	font-weight: var(--fw-bold);
	text-transform: uppercase;
	letter-spacing: var(--track-wider);
	color: var(--clay);
	display: block;
	margin-bottom: var(--space-3xs);
}


.margin-aside-val {
	color: var(--ink-charcoal);
}


.margin-aside-val strong {
	font-family: var(--nomi-c03);
	color: var(--terracotta);
}


@media (max-width: 860px) {
	.terms-section-entry {
		display: flex !important;
		flex-direction: column !important;
		gap: var(--space-md);
	}


	.terms-section-entry > .terms-main-reading {
		grid-column: auto !important;
		width: 100% !important;
	}


	.terms-section-entry > .terms-margin-notes {
		grid-column: auto !important;
		width: 100% !important;
		padding-top: var(--space-xs);
		margin-top: var(--space-xs);
		border-top: 1px dashed var(--line-edge);
	}


	.margin-aside-card {
		border-left: 2px solid var(--terracotta);
		background-color: var(--surface-tint);
	}
}


.accessibility-commitment-panel {
	margin: var(--space-2xl) 0;
	padding: var(--space-xl);
	border: 2px solid var(--ink-charcoal);
	background-color: var(--surface-warm-white);
}


.accessibility-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	margin-bottom: var(--space-xs);
}


.accessibility-body {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
}


/* Service Guarantee / Warranty Block in Terms (#warranty) */
.warranty-guarantee-panel {
	margin: var(--space-2xl) 0;
	padding: var(--space-xl);
	border: 2px solid var(--terracotta);
	background-color: var(--surface-paper);
}


.warranty-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-xl);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	margin-bottom: var(--space-xs);
}


.warranty-text {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-charcoal);
}



.faq-accordion-group {
	margin: var(--space-2xl) 0;
	border-top: 2px solid var(--ink-charcoal);
}


.faq-item {
	border-bottom: 1px solid var(--line-edge);
}


.faq-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--space-md) 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--nomi-a3a);
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--ink-charcoal);
	transition: color var(--dur-fast) var(--ease-out);
}


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


.faq-summary:hover {
	color: var(--accent-rust);
}


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


.faq-icon-toggle {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--dur-fast) var(--ease-out);
	color: var(--clay);
	flex-shrink: 0;
}


.faq-item[open] .faq-icon-toggle {
	transform: rotate(180deg);
	color: var(--accent-rust);
}


.faq-content {
	padding-bottom: var(--space-md);
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--ink-muted);
	max-width: var(--reading-measure);
}



.error-page-wrapper {
	padding: clamp(var(--space-3xl), 8vw, var(--space-5xl)) clamp(1rem, 4vw, var(--space-2xl));
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}


.error-signboard {
	border: 3px solid var(--ink-charcoal);
	background-color: var(--surface-paper);
	padding: clamp(var(--space-xl), 5vw, var(--space-3xl));
	max-width: 600px;
	width: 100%;
}


.error-code {
	font-family: var(--nomi-c03);
	font-size: clamp(3rem, 8vw, 5.5rem);
	font-weight: var(--fw-bold);
	color: var(--accent-rust);
	line-height: var(--lh-tight);
}


.error-title {
	font-family: var(--nomi-a3a);
	font-size: var(--fs-2xl);
	font-weight: var(--fw-extrabold);
	margin: var(--space-xs) 0 var(--space-md);
}


.error-message {
	font-size: var(--fs-base);
	color: var(--ink-muted);
	line-height: var(--lh-relaxed);
	margin-bottom: var(--space-xl);
}


.error-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-sm);
}



@media (max-width: 480px) {
	.hero-type-headline {
		font-size: clamp(2rem, 9vw, 2.75rem);
	}


	.dialogue-customer {
		padding: var(--space-sm);
	}


	.dialogue-answer {
		padding-left: var(--space-xs);
	}


	.annotated-diagram,
	.estimator-widget,
	.contact-form-panel,
	.model-stage-wrapper {
		padding: var(--space-md);
	}


	.choice-box {
		padding: 0.5rem 0.75rem;
		font-size: var(--fs-xs);
	}


	.estimator-output-figure {
		font-size: 1.85rem;
	}
}


.hero-type-meta,
.hero-fact-strip,
.dialogue-evidence-caption,
.schematic-legend-grid,
.menu-header-row,
.tracking-id-grid,
.form-grid-two,
.terms-section-entry {
	min-width: 0;
}
