.skip-link {
	position:absolute;
	left:var(--gutter);
	top:0;
	z-index:var(--z-skip);
	display:inline-flex;
	align-items:center;
	min-height:var(--tap);
	padding:0.6rem 1.1rem;
	background:var(--frost);
	color:var(--ink);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	text-decoration:none;
	border-radius:0 0 var(--radius) var(--radius);
	transform:translateY(-120%);
	transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.skip-link:focus,
.skip-link:focus-visible {
	transform:translateY(0);
	outline:2px solid var(--paper);
	outline-offset:2px;
}

.skip-link:hover { background:var(--frost-press); }

.skip-link:active { background:var(--paper); }

.site-header {
	position:sticky;
	top:0;
	z-index:var(--z-header);
	background:var(--ground);
	border-bottom:1px solid var(--steel);
	transition:background-color var(--dur-3) var(--ease-out), border-color var(--dur-3) var(--ease-out);
}

.site-header.is-condensed,
.site-header.is-scrolled,
.site-header[data-condensed='true'] {

	background:rgba(15, 20, 24, 0.97);
	border-bottom-color:var(--steel);
}

.site-header__row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-5);
	min-height:var(--header-h);
	padding-block:0.7rem;
	transition:min-height var(--dur-3) var(--ease-out), padding var(--dur-3) var(--ease-out);
}

.site-header.is-condensed .site-header__row,
.site-header.is-scrolled .site-header__row,
.site-header[data-condensed='true'] .site-header__row {
	min-height:3.75rem;
	padding-block:0.45rem;
}

.brand {
	display:inline-flex;
	align-items:center;
	flex:none;
	min-height:var(--tap);
	padding:0.2rem;
	margin-left:-0.2rem;
	border-radius:var(--radius);
	text-decoration:none;
	transition:opacity var(--dur-1) var(--ease-out), outline-color var(--dur-1) var(--ease-out);
}

.brand img {
	display:block;
	height:2.75rem;
	width:auto;
	background:none;
	transition:height var(--dur-3) var(--ease-out);
}

.site-header.is-condensed .brand img,
.site-header.is-scrolled .brand img,
.site-header[data-condensed='true'] .brand img { height:2.25rem; }

.brand:hover { opacity:0.82; }

.brand:active { opacity:0.65; }

.brand:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:4px;
}

.site-nav__list {
	display:flex;
	align-items:center;
	gap:clamp(0.25rem, 1.2vw, 1.25rem);
	margin:0;
	padding:0;
	list-style:none;
}

.site-nav__index { display:none; }

.site-nav__link {
	position:relative;
	display:inline-flex;
	align-items:center;
	min-height:var(--tap);
	padding:0.5rem 0.55rem;
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
	text-decoration:none;
	border-radius:var(--radius);
	transition:color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.site-nav__link::after {
	content:"";
	position:absolute;
	left:0.55rem;
	right:0.55rem;
	bottom:0.45rem;
	height:1px;
	background:var(--frost);
	transform:scaleX(0);
	transform-origin:left center;
	transition:transform var(--dur-2) var(--ease-out);
}

.site-nav__link:hover {
	color:var(--paper);
	background:var(--paper-wash);
}

.site-nav__link:hover::after { transform:scaleX(1); }

.site-nav__link:active {
	color:var(--frost);
	background:var(--frost-wash);
}

.site-nav__link:focus-visible {
	color:var(--paper);
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.site-nav__link[aria-current='page'] { color:var(--paper); }

.site-nav__link[aria-current='page']::after {
	transform:scaleX(1);
	height:2px;
}

.nav-toggle {
	display:none;
	align-items:center;
	gap:0.6rem;
	min-height:var(--tap);
	min-width:var(--tap);
	padding:0.5rem 0.85rem;
	border:1px solid var(--steel);
	border-radius:var(--radius);
	color:var(--paper);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}

.nav-toggle .icon {
	width:1.25rem;
	height:1.25rem;
}

.nav-toggle__close { display:none; }

.nav-toggle[aria-expanded='true'] .nav-toggle__open { display:none; }

.nav-toggle[aria-expanded='true'] .nav-toggle__close { display:block; }

.nav-toggle:hover {
	border-color:var(--frost);
	background:var(--frost-wash);
}

.nav-toggle:active {
	background:var(--steel);
	border-color:var(--frost);
}

.nav-toggle:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

@media (max-width: 899.98px) {
	.js .nav-toggle { display:inline-flex; }

	.site-nav__list {
		flex-wrap:wrap;
		justify-content:flex-end;
		gap:0;
	}

	.js .site-nav {
		position:fixed;
		inset:var(--header-h) 0 0 0;
		z-index:var(--z-nav);
		display:none;
		overflow-y:auto;
		overscroll-behavior:contain;
		background:var(--ground);
		border-top:var(--rule) solid var(--steel);
		padding:var(--space-5) var(--gutter) var(--space-7);
	}

	.js .site-nav.is-open,
	.js .site-nav[data-open='true'],
	.js .nav-open .site-nav { display:block; }

	.js .site-nav__list {
		flex-direction:column;
		align-items:stretch;
	}

	.js .site-nav__list li { border-bottom:1px solid var(--steel); }

	.js .site-nav__link {
		display:flex;
		align-items:baseline;
		gap:1rem;
		width:100%;
		min-height:3.75rem;
		padding:0.85rem 0.25rem;
		font-family:var(--vazi-c4c);
		font-size:clamp(1.625rem, 1.2rem + 3vw, 2.5rem);
		font-weight:400;
		letter-spacing:var(--track-display);
		text-transform:none;
		color:var(--paper);
		line-height:1.1;
	}

	.js .site-nav__link::after {
		left:0.25rem;
		right:auto;
		width:3rem;
		bottom:0.6rem;
	}

	.js .site-nav__index {
		display:inline-block;
		flex:none;
		font-family:var(--vazi-fae);
		font-size:var(--fs-mono);
		letter-spacing:var(--track-mono);
		color:var(--frost);
		min-width:2.25rem;
	}

	.site-nav__foot {
		display:grid;
		gap:var(--space-2);
		margin-top:var(--space-6);
		font-family:var(--vazi-fae);
		font-size:var(--fs-mono-lg);
		letter-spacing:0.04em;
		color:var(--mist);
	}

	.site-nav__foot a {
		display:inline-flex;
		align-items:center;
		gap:0.6rem;
		min-height:var(--tap);
		color:var(--paper);
		text-decoration:none;
		overflow-wrap:anywhere;
	}

	.site-nav__foot a:hover { color:var(--frost); }
}

@media (min-width: 900px) {
	.site-nav__foot { display:none; }
}

.btn {
	--btn-bg:transparent;
	--btn-fg:var(--paper);
	--btn-bd:var(--steel);
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.75rem;
	min-height:3.25rem;
	max-width:100%;
	padding:0.85rem 1.45rem;
	background:var(--btn-bg);
	color:var(--btn-fg);
	border:1px solid var(--btn-bd);
	border-radius:var(--radius);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	text-align:center;
	line-height:1.3;
	text-decoration:none;
	white-space:normal;
	overflow-wrap:anywhere;
	cursor:pointer;
	transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
}

.btn .icon {
	width:1.1rem;
	height:1.1rem;
	transition:transform var(--dur-2) var(--ease-out);
}

.btn { transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), translate var(--dur-1) var(--ease-out); }

.btn:hover {
	--btn-bd:var(--frost);
	background:var(--slab-raise);
	box-shadow:inset 0 0 0 1px var(--frost), 0 6px 16px rgba(5, 8, 10, 0.35);
	translate:0 -2px;
}

.btn:active { translate:0 1px; }

.btn:hover .icon { transform:translateX(3px); }

.btn:active {
	background:var(--steel);
	box-shadow:inset 0 2px 0 rgba(0, 0, 0, 0.35), inset 0 0 0 1px var(--frost);
}

.btn:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:4px;
}

.btn--primary {
	--btn-bg:var(--paper);
	--btn-fg:var(--ink);
	--btn-bd:var(--paper);
}

.btn--primary:hover {
	--btn-bd:var(--frost);
	background:var(--frost);
	color:var(--ink);
	box-shadow:0 0 0 1px var(--frost);

}

.btn--primary:active {
	background:var(--frost-press);

	box-shadow:inset 0 2px 0 rgba(15, 20, 24, 0.25);
	translate:0 1px;
}

.btn--primary:hover {
	box-shadow:0 0 0 1px var(--frost), 0 6px 16px rgba(5, 8, 10, 0.35);
	translate:0 -2px;
}

.block--paper .btn--ghost:hover,
.block--paper .btn--ink:hover { translate:0 -2px; }

.btn--ghost { --btn-bd:var(--steel); }

.btn--ink {
	--btn-bg:var(--ink);
	--btn-fg:var(--paper);
	--btn-bd:var(--ink);
}

.btn--ink:hover {
	background:var(--slab);
	color:var(--paper);
	box-shadow:inset 0 0 0 1px var(--frost-deep);
}

.btn--ink:active { background:var(--steel); }

.block--paper .btn--ghost {
	--btn-fg:var(--ink);
	--btn-bd:var(--ink);
}

.block--paper .btn--ghost:hover {
	background:rgba(15, 20, 24, 0.06);
	box-shadow:inset 0 0 0 1px var(--ink);
}

.block--paper .btn--ghost:active { background:rgba(15, 20, 24, 0.14); }

.block--paper .btn:focus-visible { outline-color:var(--ink); }

.btn--block { width:100%; }

.btn--sm {
	min-height:var(--tap);
	padding:0.6rem 1rem;
	font-size:var(--fs-mono);
}

.btn[disabled],
.btn[aria-disabled='true'] {
	opacity:0.55;
	cursor:not-allowed;
}

.btn-row {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-3);
}

.btn-row > * { min-width:0; }

@media (max-width: 420px) {
	.btn-row .btn { flex:1 1 100%; }
}

.magnetic { transform:translate3d(var(--mx, 0px), var(--my, 0px), 0); }

.link {
	display:inline-flex;
	align-items:center;
	gap:0.55rem;
	min-height:var(--tap);
	padding-block:0.4rem;
	color:var(--text);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	text-decoration:none;
	background-image:linear-gradient(var(--frost), var(--frost));
	background-repeat:no-repeat;
	background-position:0 calc(100% - 0.35rem);
	background-size:0% 1px;
	border-radius:var(--radius);
	transition:background-size var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out);
}

.link .icon {
	width:1rem;
	height:1rem;
	transition:transform var(--dur-2) var(--ease-out);
}

.link:hover {
	color:var(--frost);
	background-size:100% 1px;
}

.link:hover .icon { transform:translateX(3px); }

.link:active {
	color:var(--frost-press);
	background-size:100% 2px;
}

.link:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:4px;
	background-size:100% 1px;
}

.block--paper .link { background-image:linear-gradient(var(--ink), var(--ink)); }

.block--paper .link:hover { color:var(--frost-deep); }

.block--paper .link:active { color:var(--ink); }

.inline-link {
	color:inherit;
	text-decoration:underline;
	text-decoration-color:var(--frost);
	text-decoration-thickness:1px;
	transition:color var(--dur-1) var(--ease-out), text-decoration-thickness var(--dur-1) var(--ease-out);
}

.inline-link:hover {
	color:var(--frost);
	text-decoration-thickness:2px;
}

.inline-link:active { color:var(--frost-press); }

.inline-link:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.stamp {
	--stamp-size:9.5rem;
	--stamp-color:var(--frost);
	--stamp-mark:var(--paper);
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	gap:0.7rem;
	flex:none;
	color:var(--stamp-color);
	pointer-events:none;
	user-select:none;
}

.stamp__ring {
	position:relative;
	display:grid;
	place-items:center;
	width:var(--stamp-size);
	height:var(--stamp-size);
	border:2px solid var(--stamp-color);
	border-radius:50%;
	transform-origin:50% 50%;
}

.stamp__ring::before {
	content:"";
	position:absolute;
	inset:9%;
	border:1px dashed var(--stamp-color);
	border-radius:50%;
	opacity:0.75;
}

.stamp__ring::after {
	content:"";
	position:absolute;
	inset:3.5%;
	border:1px solid var(--stamp-color);
	border-radius:50%;
	opacity:0.3;
}

.stamp__mark {
	display:block;
	width:46%;
	height:46%;
	background:var(--stamp-mark);
	-webkit-mask:url('../logo-mark.svg') center / contain no-repeat;
	mask:url('../logo-mark.svg') center / contain no-repeat;
}

.stamp__batch {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--mist);
	white-space:nowrap;
}

.stamp--hero {
	--stamp-size:clamp(6.5rem, 4.5rem + 8vw, 11.5rem);
	transform:rotate(var(--stamp-tilt));
}

.stamp--sm {
	--stamp-size:2.75rem;
	flex-direction:row;
	gap:0;
}

.stamp--sm .stamp__ring::after { display:none; }

.stamp--sm .stamp__ring::before { inset:12%; }

.stamp--lg { --stamp-size:clamp(8rem, 6rem + 8vw, 13rem); }

.stamp--corner {
	--stamp-size:5.5rem;
	transform:rotate(var(--stamp-tilt));
}

.block--paper .stamp,
.stamp--ink {
	--stamp-color:var(--ink);
	--stamp-mark:var(--ink);
}

.block--paper .stamp__batch { color:var(--mist-ink); }

.opener {
	display:flex;
	align-items:center;
	gap:var(--space-3);
	margin-bottom:var(--space-5);
	min-width:0;
}

.opener__label {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--text-soft);
	min-width:0;
}

.opener__label b {
	color:var(--frost);
	font-weight:500;
}

.block--paper .opener__label b { color:var(--ink); }

.opener__line {
	flex:1 1 auto;
	height:1px;
	min-width:2rem;
	background:var(--line);
	transform-origin:left center;
}

.chip-row {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-2);
}

.chip {
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	min-height:var(--tap);
	max-width:100%;
	padding:0.55rem 1rem;
	border:1px solid var(--steel);
	border-radius:var(--radius);
	background:transparent;
	color:var(--mist);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	text-decoration:none;
	line-height:1.3;
	overflow-wrap:anywhere;
	cursor:pointer;
	transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.chip__count { color:var(--frost); }

.chip:hover {
	border-color:var(--mist);
	color:var(--paper);
	background:var(--paper-wash);
}

.chip:active {
	background:var(--steel);
	color:var(--paper);
}

.chip:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.chip[aria-pressed='true'],
.chip.is-active,
.chip[aria-selected='true'] {
	border-color:var(--frost);
	color:var(--ink);
	background:var(--frost);
}

.chip[aria-pressed='true'] .chip__count,
.chip.is-active .chip__count { color:var(--ink); }

.tag {
	display:inline-flex;
	align-items:center;
	gap:0.4rem;
	min-height:1.75rem;
	padding:0.25rem 0.6rem;
	border:1px solid var(--steel);
	border-radius:var(--radius);
	font-family:var(--vazi-fae);
	font-size:0.71875rem;
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
	line-height:1.3;
	max-width:100%;
	overflow-wrap:anywhere;
}

.tag--frost {
	border-color:var(--frost-line);
	color:var(--frost);
}

.price {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:var(--paper);
	font-variant-numeric:tabular-nums;
}

.price__from {
	color:var(--mist);
	margin-right:0.35em;
}

.price__unit {
	color:var(--mist);
	margin-left:0.25em;
}

.estimate-note {
	display:flex;
	gap:0.75rem;
	align-items:flex-start;
	padding:0.9rem 1.1rem;
	border-left:2px solid var(--frost);
	background:var(--frost-wash);
	font-size:var(--fs-small);
	color:var(--paper);
	max-width:var(--measure);
}

.estimate-note .icon {
	color:var(--frost);
	margin-top:0.2em;
}

.block--paper .estimate-note {
	color:var(--ink);
	background:rgba(15, 20, 24, 0.05);
	border-left-color:var(--ink);
}

.block--paper .estimate-note .icon { color:var(--ink); }

.offer-list {
	list-style:none;
	margin:0;
	padding:0;
	border-top:1px solid var(--steel);
	counter-reset:offer;
}

.offer-list > li { border-bottom:1px solid var(--steel); }

.offer-row {
	position:relative;
	display:grid;
	grid-template-columns:auto minmax(0, 1fr) auto;
	grid-template-areas:
		'thumb name arrow'
		'thumb detail arrow'
		'thumb price arrow';
	column-gap:clamp(0.9rem, 2.5vw, 2.25rem);
	row-gap:0.35rem;
	align-items:center;
	padding:clamp(1.1rem, 2.4vw, 1.9rem) clamp(0.25rem, 1vw, 1rem);
	color:var(--paper);
	text-decoration:none;
	transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);
}

.offer-row__index {
	grid-area:name;
	align-self:start;
	display:block;
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	color:var(--mist);
	margin-bottom:0.2rem;
}

.offer-row__name {
	grid-area:name;
	min-width:0;
	font-family:var(--vazi-c4c);
	font-size:clamp(1.75rem, 1.1rem + 3.2vw, 4.25rem);
	font-weight:400;
	font-variation-settings:'opsz' 144;
	letter-spacing:var(--track-display);
	line-height:1.02;
	overflow-wrap:break-word;
	padding-top:1.4rem;
	transition:color var(--dur-2) var(--ease-out);
}

.offer-row__detail {
	grid-area:detail;
	min-width:0;
	max-width:58ch;
	color:var(--mist);
	font-size:var(--fs-small);
	line-height:1.5;
}

.offer-row__price {
	grid-area:price;
	min-width:0;
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:var(--paper);
}

.offer-row__arrow {
	grid-area:arrow;
	display:grid;
	place-items:center;
	width:var(--tap);
	height:var(--tap);
	border:1px solid var(--steel);
	border-radius:50%;
	color:var(--paper);
	transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
}

.offer-row__arrow .icon {
	width:1.1rem;
	height:1.1rem;
}

.offer-row__thumb {
	grid-area:thumb;
	width:72px;
	height:72px;
	object-fit:cover;
	align-self:center;
}

.offer-row:hover { background:var(--slab-raise); }

.offer-row:hover .offer-row__name { color:var(--frost); }

.offer-row:hover .offer-row__arrow {
	border-color:var(--frost);
	color:var(--ink);
	background:var(--frost);
	transform:rotate(-45deg);
}

.offer-row:active { background:var(--steel-soft); }

.offer-row:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:-2px;
}

@media (max-width: 559.98px) {
	.offer-row {
		grid-template-columns:auto minmax(0, 1fr);
		grid-template-areas:
			'thumb name'
			'thumb detail'
			'thumb price';
	}

	.offer-row__arrow { display:none; }

	.offer-row__thumb {
		width:56px;
		height:56px;
		align-self:start;
		margin-top:1.6rem;
	}
}

@media (hover: hover) and (pointer: fine) {
	.offer-row {
		grid-template-columns:minmax(0, 1fr) auto;
		grid-template-areas:
			'name arrow'
			'detail arrow'
			'price arrow';
	}

	.offer-row__thumb { display:none; }
}

.preview {
	position:fixed;
	left:0;
	top:0;
	z-index:var(--z-preview);
	width:280px;
	aspect-ratio:4 / 3;
	overflow:hidden;
	pointer-events:none;
	opacity:0;
	visibility:hidden;
	border:1px solid var(--frost-line);
	background:var(--slab);
	transform:translate3d(var(--px, -999px), var(--py, -999px), 0) rotate(var(--pr, -4deg));
	transition:opacity var(--dur-2) var(--ease-out), visibility 0s linear var(--dur-2);
}

.preview.is-visible {
	opacity:1;
	visibility:visible;
	transition:opacity var(--dur-2) var(--ease-out), visibility 0s;
}

.preview__img {
	width:100%;
	height:100%;
	object-fit:cover;
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
	.preview { display:none !important; }
}

.spec-table {
	width:100%;
	border-top:2px solid var(--line);
	font-size:var(--fs-small);
}

.spec-table caption {
	text-align:left;
	padding-bottom:var(--space-3);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--text-soft);
}

.spec-table th,
.spec-table td {
	padding:0.9rem 1rem 0.9rem 0;
	text-align:left;
	vertical-align:top;
	border-bottom:1px solid var(--line);
	overflow-wrap:anywhere;
}

.spec-table thead th {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--text-soft);
	border-bottom-width:2px;
}

.spec-table tbody th {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--text-soft);
	width:38%;
}

.spec-table td.num,
.spec-table .num {
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}

.goki7c2 {
	max-width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior-x:contain;
}

.goki7c2:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.spec-list {
	display:grid;
	margin:0;
	border-top:2px solid var(--line);
}

.spec-list > div {
	display:grid;
	grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
	gap:var(--space-3);
	padding:0.85rem 0;
	border-bottom:1px solid var(--line);
}

.spec-list dt {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--text-soft);
	padding-top:0.2em;
}

.spec-list dd {
	margin:0;
	min-width:0;
	overflow-wrap:anywhere;
}

.breadcrumbs {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
}

.breadcrumbs ol {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0.15rem 0.5rem;
	margin:0;
	padding:0;
	list-style:none;
}

.breadcrumbs li {
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	min-width:0;
}

.breadcrumbs li + li::before {
	content:'/';
	color:var(--steel);
}

.breadcrumbs a {
	display:inline-flex;
	align-items:center;
	min-height:var(--tap);
	color:var(--mist);
	text-decoration:none;
	transition:color var(--dur-1) var(--ease-out);
}

.breadcrumbs a:hover { color:var(--frost); }

.breadcrumbs a:active { color:var(--paper); }

.breadcrumbs a:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.breadcrumbs [aria-current='page'] { color:var(--paper); }

.form {
	display:grid;
	gap:var(--space-4);
	min-width:0;
}

.form__grid {
	display:grid;
	gap:var(--space-4) var(--space-5);
	grid-template-columns:minmax(0, 1fr);
}

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

	.form__grid .field--full { grid-column:1 / -1; }
}

.field {
	display:grid;
	gap:0.45rem;
	min-width:0;
}

.field__label {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:0.25rem 0.75rem;
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--paper);
}

.field__opt {
	color:var(--mist);
	font-weight:400;
}

.field__hint {
	font-size:0.875rem;
	color:var(--mist);
	line-height:1.45;
}

.input,
.select,
.textarea {
	display:block;
	width:100%;
	min-height:3.25rem;
	padding:0.8rem 0.95rem;
	background:var(--ground);
	color:var(--paper);
	border:1px solid var(--steel);
	border-radius:var(--radius);
	font-family:var(--vazi-55f);
	font-size:1rem;
	line-height:1.4;
	transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}

.block--ground .input,
.block--ground .select,
.block--ground .textarea { background:var(--slab); }

.textarea {
	min-height:8.5rem;
	resize:vertical;
}

.select {
	appearance:none;
	-webkit-appearance:none;
	padding-right:2.75rem;
	background-image:linear-gradient(45deg, transparent 50%, var(--mist) 50%), linear-gradient(135deg, var(--mist) 50%, transparent 50%);
	background-position:calc(100% - 1.3rem) 52%, calc(100% - 0.95rem) 52%;
	background-size:0.35rem 0.35rem, 0.35rem 0.35rem;
	background-repeat:no-repeat;
}

.input::placeholder,
.textarea::placeholder { color:#6e7a86; }

.input:hover,
.select:hover,
.textarea:hover { border-color:var(--mist); }

.input:focus-visible,
.select:focus-visible,
.textarea:focus-visible,
.input:focus,
.select:focus,
.textarea:focus {
	border-color:var(--frost);
	box-shadow:0 0 0 1px var(--frost);
	outline:none;
}

.input:active,
.select:active,
.textarea:active { border-color:var(--frost); }

.field.is-invalid .input,
.field.is-invalid .select,
.field.is-invalid .textarea,
.input[aria-invalid='true'],
.select[aria-invalid='true'],
.textarea[aria-invalid='true'] {
	border-color:var(--alert);
	box-shadow:0 0 0 1px var(--alert);
}

.field__error {
	display:flex;
	gap:0.45rem;
	align-items:flex-start;
	font-size:0.875rem;
	line-height:1.4;
	color:var(--alert);
}

.field__error:empty { display:none; }

.check {
	display:grid;
	grid-template-columns:auto minmax(0, 1fr);
	gap:0.85rem;
	align-items:start;
	font-size:var(--fs-small);
	line-height:1.5;
	color:var(--paper);
	cursor:pointer;
}

.check input {
	appearance:none;
	-webkit-appearance:none;
	display:grid;
	place-items:center;
	width:1.5rem;
	height:1.5rem;
	margin:0.1rem 0 0;
	border:1px solid var(--mist);
	border-radius:var(--radius);
	background:transparent;
	cursor:pointer;
	transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}

.check input::after {
	content:"";
	width:0.45rem;
	height:0.8rem;
	margin-top:-0.15rem;
	border:solid var(--ink);
	border-width:0 2px 2px 0;
	transform:rotate(45deg) scale(0);
	transition:transform var(--dur-1) var(--ease-out);
}

.check input:checked {
	background:var(--frost);
	border-color:var(--frost);
}

.check input:checked::after { transform:rotate(45deg) scale(1); }

.check input:hover { border-color:var(--frost); }

.check input:active { background:var(--steel); }

.check input:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.check a {
	color:var(--paper);
	text-decoration-color:var(--frost);
}

.check a:hover { color:var(--frost); }

.field.is-invalid .check input,
.check input[aria-invalid='true'] { border-color:var(--alert); }

.radio-row {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-2);
}

.radio-pill {
	position:relative;
	display:inline-flex;
	min-width:0;
}

.radio-pill input {
	position:absolute;
	opacity:0;
	inset:0;
	width:100%;
	height:100%;
	margin:0;
	cursor:pointer;
}

.radio-pill span {
	display:inline-flex;
	align-items:center;
	min-height:var(--tap);
	padding:0.55rem 1rem;
	border:1px solid var(--steel);
	border-radius:var(--radius);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
	transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.radio-pill input:hover + span {
	border-color:var(--mist);
	color:var(--paper);
}

.radio-pill input:active + span { background:var(--steel); }

.radio-pill input:focus-visible + span {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.radio-pill input:checked + span {
	border-color:var(--frost);
	color:var(--ink);
	background:var(--frost);
}

.form__status {
	padding:0.9rem 1.1rem;
	border-left:2px solid var(--frost);
	background:var(--frost-wash);
	font-size:var(--fs-small);
}

.form__status:empty { display:none; }

.form__status.is-error {
	border-left-color:var(--alert);
	background:rgba(242, 167, 158, 0.08);
	color:var(--alert);
}

.form__status.is-ok {
	border-left-color:var(--ok);
	color:var(--ok);
}

.form__fine {
	font-size:0.875rem;
	color:var(--mist);
	max-width:60ch;
}

.form.is-sending .btn[type='submit'] {
	opacity:0.7;
	cursor:progress;
}

.block--paper .field__label,
.block--paper .check { color:var(--ink); }

.block--paper .input,
.block--paper .select,
.block--paper .textarea {
	background:#fff;
	color:var(--ink);
	border-color:#aeb6bd;
}

.block--paper .input:focus,
.block--paper .select:focus,
.block--paper .textarea:focus {
	border-color:var(--ink);
	box-shadow:0 0 0 1px var(--ink);
}

.block--paper .field__error { color:var(--alert-ink); }

.block--paper .check input { border-color:var(--mist-ink); }

.block--paper .check input:checked {
	background:var(--ink);
	border-color:var(--ink);
}

.block--paper .check input:checked::after { border-color:var(--paper); }

.site-footer {
	position:relative;
	background:var(--ink);
	color:var(--paper);
	border-top:var(--rule) solid var(--steel);
	padding-top:clamp(2rem, 4vw, 3.5rem);
}

.footer-top {
	display:grid;
	gap:var(--space-5) clamp(2rem, 5vw, 5rem);
	grid-template-columns:minmax(0, 1fr);
	padding-bottom:clamp(1.75rem, 3vw, 2.75rem);
}

@media (max-width: 1099.98px) {
	.footer-seal { display:none; }
}

.footer-col .footer-link { min-height:2.25rem; }

@media (min-width: 760px) {
	.footer-top { grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); }
}

@media (min-width: 1100px) {
	.footer-top {
		grid-template-columns:auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
		align-items:start;
	}
}

.footer-seal {
	display:flex;
	align-items:center;
	gap:var(--space-5);
	min-width:0;
}

.footer-brand {
	display:grid;
	gap:var(--space-4);
	align-content:start;
	min-width:0;
}

.footer-brand .brand img { height:3.6rem; }

.footer-brand__line {
	font-family:var(--vazi-c4c);
	font-size:clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
	font-variation-settings:'opsz' 72;
	letter-spacing:var(--track-head);
	line-height:1.2;
	max-width:22ch;
}

.footer-col { min-width:0; }

.footer-col__title {
	margin-bottom:var(--space-3);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
}

.footer-col ul {
	list-style:none;
	margin:0;
	padding:0;
}

.footer-col address {
	font-style:normal;
	line-height:1.6;
	color:var(--paper);
}

.footer-link {
	display:inline-flex;
	align-items:center;
	gap:0.6rem;
	min-height:var(--tap);
	padding-block:0.25rem;
	color:var(--paper);
	text-decoration:none;
	overflow-wrap:anywhere;
	border-radius:var(--radius);
	transition:color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.footer-link .icon {
	color:var(--frost);
	width:1rem;
	height:1rem;
}

.footer-link:hover { color:var(--frost); }

.footer-link:active {
	color:var(--frost-press);
	background:var(--frost-wash);
}

.footer-link:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.footer-map {
	display:inline-flex;
	margin-top:var(--space-2);
}

.footer-legal {
	border-top:1px solid var(--steel);
	padding-block:var(--space-4) calc(var(--space-5) + var(--chat-clear, 0px));
}

.footer-legal__row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-3) var(--space-5);
}

.footer-legal__list {
	display:flex;
	flex-wrap:wrap;
	gap:0 var(--space-4);
	margin:0;
	padding:0;
	list-style:none;
}

.footer-legal__link,
.footer-legal__btn {
	display:inline-flex;
	align-items:center;
	min-height:var(--tap);
	padding:0.25rem 0;
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
	text-decoration:none;
	background:none;
	border:0;
	border-radius:var(--radius);
	cursor:pointer;
	transition:color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.footer-legal__link:hover,
.footer-legal__btn:hover { color:var(--frost); }

.footer-legal__link:active,
.footer-legal__btn:active {
	color:var(--paper);
	background:var(--frost-wash);
}

.footer-legal__link:focus-visible,
.footer-legal__btn:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.footer-legal__copy {
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono);
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
}

@media (max-width: 899.98px) {
	.footer-legal { --chat-clear:4.5rem; }
}

.consent {
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:var(--z-consent);
	background:var(--ink);
	color:var(--paper);
	border-top:2px solid var(--frost);
}

.consent__inner {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:0.6rem var(--space-5);
	padding-block:0.7rem;
}

.consent__text {
	flex:1 1 22rem;
	min-width:0;
	margin:0;
	font-size:0.9375rem;
	line-height:1.45;
}

.consent__text a {
	color:var(--paper);
	text-decoration-color:var(--frost);
	transition:color var(--dur-1) var(--ease-out);
}

.consent__text a:hover { color:var(--frost); }

.consent__text a:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.consent__actions {
	display:flex;
	flex-wrap:nowrap;
	gap:var(--space-2);
	flex:0 1 auto;
	min-width:0;
}

.consent__actions .btn {
	min-height:var(--tap);
	padding:0.55rem 1.1rem;
	font-size:var(--fs-mono);
}

@media (max-width: 559.98px) {
	.consent__inner {
		padding-block:0.6rem;
		gap:0.5rem;
	}

	.consent__inner {
		flex-wrap:nowrap;
		padding-block:0.4rem;
	}

	.consent__text {
		flex:1 1 0;
		font-size:0.75rem;
		line-height:1.3;
	}

	.consent__actions .btn { min-height:2.5rem; }

	.consent__actions {
		width:auto;
		flex:0 0 auto;
	}

	.consent__actions .btn {
		flex:1 1 0;
		padding-inline:0.6rem;
	}
}

.chat {
	position:fixed;
	right:max(var(--gutter), env(safe-area-inset-right));
	bottom:calc(1rem + env(safe-area-inset-bottom) + var(--consent-h, 0px));
	z-index:var(--z-chat);
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:var(--space-3);
	transition:bottom var(--dur-3) var(--ease-out);
}

.chat-launcher {
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:0.65rem;
	min-height:3.25rem;
	padding:0.7rem 1.15rem 0.7rem 0.95rem;
	background:var(--slab);
	color:var(--paper);
	border:1px solid var(--frost-line);
	border-radius:var(--radius);
	font-family:var(--vazi-fae);
	font-size:var(--fs-mono-lg);
	font-weight:500;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	box-shadow:0 10px 28px rgba(5, 8, 10, 0.45);
	cursor:pointer;
	transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
}

.chat-launcher .icon {
	width:1.3rem;
	height:1.3rem;
	color:var(--frost);
	transition:color var(--dur-2) var(--ease-out);
}

.chat-launcher:hover {
	background:var(--frost);
	color:var(--ink);
	border-color:var(--frost);
	box-shadow:0 14px 32px rgba(5, 8, 10, 0.55);
	transform:translateY(-2px);
}

.chat-launcher:hover .icon { color:var(--ink); }

.chat-launcher:active {
	background:var(--frost-press);
	color:var(--ink);
	border-color:var(--frost-press);
	box-shadow:0 4px 12px rgba(5, 8, 10, 0.5);
	transform:translateY(1px);
}

.chat-launcher:active .icon { color:var(--ink); }

.chat-launcher:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:4px;
}

.chat-launcher[aria-expanded='true'] {
	background:var(--ink);
	border-color:var(--frost);
}

.chat-launcher__badge {
	position:absolute;
	top:-0.55rem;
	right:-0.55rem;
	display:grid;
	place-items:center;
	min-width:1.5rem;
	min-height:1.5rem;
	padding:0 0.35rem;
	background:var(--frost);
	color:var(--ink);
	border:2px solid var(--ground);
	border-radius:999px;
	font-family:var(--vazi-fae);
	font-size:0.6875rem;
	font-weight:500;
	line-height:1;
}

.chat-launcher__badge:empty,
.chat-launcher__badge[data-count='0'] { display:none; }

@media (max-width: 559.98px) {
	.chat-launcher__text {
		position:absolute;
		width:1px;
		height:1px;
		overflow:hidden;
		clip:rect(0 0 0 0);
		clip-path:inset(50%);
		white-space:nowrap;
	}

	.chat-launcher {
		width:3.25rem;
		padding:0;
		justify-content:center;
		border-radius:50%;
	}
}

.chat-panel {
	display:flex;
	flex-direction:column;
	width:min(24rem, calc(100vw - 2 * var(--gutter)));
	height:min(34rem, calc(100vh - 7rem - var(--consent-h, 0px)));
	height:min(34rem, calc(100dvh - 7rem - var(--consent-h, 0px)));
	background:var(--ground);
	color:var(--paper);
	border:1px solid var(--steel);
	border-top:3px solid var(--frost);
	border-radius:var(--radius);
	box-shadow:0 24px 60px rgba(5, 8, 10, 0.6);
	overflow:hidden;
}

.chat-panel[hidden] { display:none; }

.chat-panel__head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-3);
	padding:0.75rem 0.75rem 0.75rem 1.1rem;
	border-bottom:1px solid var(--steel);
	background:var(--slab);
}

.chat-panel__title {
	font-family:var(--vazi-c4c);
	font-size:1.25rem;
	font-variation-settings:'opsz' 48;
	letter-spacing:var(--track-head);
	line-height:1.2;
	margin:0;
}

.chat-panel__sub {
	display:block;
	font-family:var(--vazi-fae);
	font-size:0.6875rem;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--mist);
}

.chat-panel__close {
	display:grid;
	place-items:center;
	flex:none;
	width:var(--tap);
	height:var(--tap);
	border:1px solid transparent;
	border-radius:var(--radius);
	color:var(--paper);
	transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}

.chat-panel__close:hover {
	border-color:var(--frost);
	color:var(--frost);
}

.chat-panel__close:active { background:var(--steel); }

.chat-panel__close:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.chat-log {
	flex:1 1 auto;
	display:flex;
	flex-direction:column;
	gap:0.6rem;
	padding:1rem 1.1rem;
	overflow-y:auto;
	overscroll-behavior:contain;
}

.chat-msg {
	max-width:86%;
	padding:0.6rem 0.85rem;
	border-radius:var(--radius);
	font-size:0.9375rem;
	line-height:1.45;
	overflow-wrap:anywhere;
}

.chat-msg--them {
	align-self:flex-start;
	background:var(--slab);
	border-left:2px solid var(--frost);
}

.chat-msg--me {
	align-self:flex-end;
	background:var(--paper);
	color:var(--ink);
}

.chat-msg--pending { opacity:0.6; }

.chat-msg--failed { border:1px solid var(--alert); }

.chat-msg__meta {
	display:block;
	margin-top:0.25rem;
	font-family:var(--vazi-fae);
	font-size:0.6875rem;
	letter-spacing:0.05em;
	text-transform:uppercase;
	color:var(--mist);
}

.chat-msg--me .chat-msg__meta { color:var(--mist-ink); }

.chat-msg__retry {
	display:inline-flex;
	align-items:center;
	min-height:2rem;
	margin-top:0.3rem;
	padding:0.2rem 0.6rem;
	border:1px solid var(--alert-ink);
	border-radius:var(--radius);
	font-family:var(--vazi-fae);
	font-size:0.6875rem;
	letter-spacing:var(--track-mono);
	text-transform:uppercase;
	color:var(--alert-ink);
	transition:background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}

.chat-msg__retry:hover {
	background:var(--alert-ink);
	color:var(--paper);
}

.chat-msg__retry:active {
	background:var(--ink);
	color:var(--paper);
}

.chat-msg__retry:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:2px;
}

.chat-intro {
	display:grid;
	gap:var(--space-3);
	padding:1rem 1.1rem;
	border-top:1px solid var(--steel);
	overflow-y:auto;
}

.chat-intro .input {
	min-height:var(--tap);
	padding:0.6rem 0.8rem;
	background:var(--slab);
}

.chat-intro .check { font-size:0.8125rem; }

.chat-form {
	display:flex;
	gap:var(--space-2);
	align-items:flex-end;
	padding:0.75rem;
	border-top:1px solid var(--steel);
	background:var(--slab);
}

.chat-form .textarea {
	flex:1 1 auto;
	min-width:0;
	min-height:var(--tap);
	max-height:7.5rem;
	padding:0.65rem 0.8rem;
	resize:none;
	background:var(--ground);
}

.chat-send {
	display:grid;
	place-items:center;
	flex:none;
	width:var(--tap);
	height:var(--tap);
	background:var(--paper);
	color:var(--ink);
	border:1px solid var(--paper);
	border-radius:var(--radius);
	transition:background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}

.chat-send:hover {
	background:var(--frost);
	border-color:var(--frost);
}

.chat-send:active {
	background:var(--frost-press);
	box-shadow:inset 0 2px 0 rgba(15, 20, 24, 0.25);
}

.chat-send:focus-visible {
	outline:2px solid var(--frost);
	outline-offset:3px;
}

.chat-send[disabled] {
	opacity:0.5;
	cursor:not-allowed;
}

.chat-status {
	padding:0 1.1rem 0.5rem;
	font-size:0.8125rem;
	color:var(--alert);
}

.chat-status:empty { display:none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.btn,
	.link,
	.chip,
	.site-nav__link { will-change:auto; }

	.link:focus-visible,
	.site-nav__link:focus-visible { outline-offset:4px; }
}

@media (prefers-reduced-motion: reduce) {
	.stamp--hero,
	.stamp--corner { transform:rotate(var(--stamp-tilt)); }

	.chat-launcher:hover,
	.chat-launcher:active,
	.magnetic { transform:none; }
}
