.brand {
	display:inline-flex;
	align-items:center;

	text-decoration:none;
	line-height:var(--leading-none);
	padding:var(--space-1) 0;
	transition:opacity var(--duration-fast) var(--ease-standard);
}

.brand:hover {
	opacity:0.85;
}

.brand:active {
	opacity:0.7;
}

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

.brand img {
	height:2.1rem;
	width:auto;
	max-height:2.1rem;
	display:block;
}

.footer-brand img {
	height:2.5rem;
	width:auto;
	max-height:2.5rem;
	display:block;
}

.frame-top-strip {
	width:100%;
	background-color:var(--ink);
	color:var(--ground);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	letter-spacing:var(--tracking-mono);
	border-bottom:1px solid var(--ink);
	padding-block:var(--space-2);
	padding-inline:var(--frame-padding);
}

.top-strip-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-2) var(--space-4);
}

.top-strip-item {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
}

.top-strip-dot {
	width:6px;
	height:6px;

	border-radius:50%;
	background-color:var(--accent);
	display:inline-block;
	animation:pulse-dot 2.5s infinite;
}

@keyframes pulse-dot {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

.top-strip-link {
	color:var(--ground);
	text-decoration:none;
	transition:color var(--duration-fast) var(--ease-standard);
}

.top-strip-link:hover {
	color:#fff;
	text-decoration:underline;
}

.top-strip-link:active {
	color:var(--ground-elevated);
}

.top-strip-link:focus-visible {
	outline:1px solid var(--accent);
	outline-offset:2px;
}

.site-header {
	position:sticky;
	top:0;
	z-index:100;
	background-color:var(--ground);
	border-bottom:var(--border-frame);
	width:100%;
	transition:padding var(--duration-base) var(--ease-standard), background-color var(--duration-base) var(--ease-standard);
}

.site-header.is-condensed {
	background-color:rgba(191, 163, 132, 0.96);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	box-shadow:0 4px 12px rgba(26, 22, 18, 0.08);
}

.header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-4);
	padding-block:var(--space-4);
	padding-inline:var(--frame-padding);
	min-height:4.5rem;
}

.site-header.is-condensed .header-inner {
	padding-block:var(--space-2);
	min-height:3.75rem;
}

.site-nav {
	display:flex;
	align-items:center;
}

.nav-list {
	display:flex;
	align-items:center;
	gap:var(--space-1);
}

.nav-link {
	display:inline-flex;
	align-items:center;
	padding:var(--space-2) var(--space-3);
	font-family:var(--tiha-623);
	font-size:var(--text-sm);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
	text-decoration:none;
	min-height:44px;
	border-bottom:2px solid transparent;
	transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}

.nav-link:hover {
	color:var(--accent);
	background-color:rgba(26, 22, 18, 0.04);
}

.nav-link:active {
	color:var(--accent-hover);
	background-color:rgba(26, 22, 18, 0.08);

}

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

.nav-link[aria-current="page"] {
	border-bottom-color:var(--accent);
	color:var(--ink);
	font-weight:600;
}

.nav-toggle {
	display:none;
	align-items:center;
	justify-content:center;
	gap:var(--space-2);
	padding:var(--space-2) var(--space-3);
	min-height:44px;
	min-width:44px;
	border:1px solid var(--ink);
	background-color:var(--ground-elevated);
	color:var(--ink);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.nav-toggle:hover {
	background-color:var(--ink);
	color:var(--ground);
}

.nav-toggle:active {
	background-color:var(--ink-muted);
	color:var(--ground);
}

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

.nav-toggle .icon-close {
	display:none;
}

.nav-toggle[aria-expanded="true"] .icon-menu {
	display:none;
}

.nav-toggle[aria-expanded="true"] .icon-close {
	display:block;
}

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

	.site-nav {
		position:absolute;
		top:100%;
		left:0;
		right:0;
		background-color:var(--ground);
		border-bottom:var(--border-frame);
		padding:var(--space-4) var(--frame-padding);
		display:none;
		box-shadow:var(--shadow-elevated);
	}

	.site-nav.is-open {
		display:block;
	}

	.nav-list {
		flex-direction:column;
		align-items:stretch;
		gap:var(--space-2);
	}

	.nav-link {
		width:100%;
		justify-content:space-between;
		border-bottom:1px solid var(--hairline);
		padding:var(--space-3) var(--space-2);
	}

	.header-actions {
		display:none;
	}
}

.header-actions {
	display:flex;
	align-items:center;
	gap:var(--space-3);
}

.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-2);
	padding:var(--space-3) var(--space-6);
	min-height:44px;
	font-family:var(--tiha-623);
	font-size:var(--text-sm);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	text-decoration:none;
	cursor:pointer;
	border-radius:var(--radius-none);
	border:1px solid transparent;
	text-align:center;
	line-height:1.25;
	white-space:normal;
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}

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

.btn-primary:hover {
	background-color:var(--accent-hover);
	border-color:var(--accent-hover);
}

.btn-primary:active {
	background-color:#8c2317;
	border-color:#8c2317;
	box-shadow:var(--shadow-press);
	transform:translateY(1px);
}

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

.btn-secondary {
	background-color:var(--ink);
	color:var(--ground);
	border-color:var(--ink);
}

.btn-secondary:hover {
	background-color:var(--ink-muted);
	border-color:var(--ink-muted);
}

.btn-secondary:active {
	background-color:#0d0a08;
	border-color:#0d0a08;
	box-shadow:var(--shadow-press);
	transform:translateY(1px);
}

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

.btn-outline {
	background-color:transparent;
	color:var(--ink);
	border-color:var(--ink);
}

.btn-outline:hover {
	background-color:var(--ink);
	color:var(--ground);
}

.btn-outline:active {
	background-color:var(--ink-muted);
	color:var(--ground);
	transform:translateY(1px);
}

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

.btn-text {
	background-color:transparent;
	color:var(--ink);
	border-color:transparent;
	padding:var(--space-2) var(--space-3);
	text-decoration:underline;
	text-underline-offset:4px;
}

.btn-text:hover {
	color:var(--accent);
	background-color:rgba(26, 22, 18, 0.04);
}

.btn-text:active {
	color:var(--accent-hover);
	background-color:rgba(26, 22, 18, 0.08);
	transform:translateY(1px);
}

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

.btn-sm {
	padding:var(--space-2) var(--space-3);
	min-height:44px;
	font-size:var(--text-xs);
}

.btn-lg {
	padding:var(--space-4) var(--space-8);
	min-height:52px;
	font-size:var(--text-base);
}

.interface-frame {
	position:relative;
	border:1px solid var(--hairline-strong);
	background-color:var(--ground);
	padding:var(--space-6);
	margin-block:var(--space-6);
}

.interface-frame::before,
.interface-frame::after {
	content:"";
	position:absolute;
	width:10px;
	height:10px;
	pointer-events:none;
}

.interface-frame::before {
	top:-2px;
	left:-2px;
	border-top:3px solid var(--ink);
	border-left:3px solid var(--ink);
}

.interface-frame::after {
	bottom:-2px;
	right:-2px;
	border-bottom:3px solid var(--ink);
	border-right:3px solid var(--ink);
}

.frame-corner-tr,
.frame-corner-bl {
	position:absolute;
	width:10px;
	height:10px;
	pointer-events:none;
}

.frame-corner-tr {
	top:-2px;
	right:-2px;
	border-top:3px solid var(--ink);
	border-right:3px solid var(--ink);
}

.frame-corner-bl {
	bottom:-2px;
	left:-2px;
	border-bottom:3px solid var(--ink);
	border-left:3px solid var(--ink);
}

.interface-status-bar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-2);
	border-bottom:1px solid var(--hairline);
	padding-bottom:var(--space-3);
	margin-bottom:var(--space-5);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--ink-muted);
	letter-spacing:var(--tracking-mono);
	text-transform:uppercase;
}

.interface-status-tag {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
}

.interface-status-tag::before {
	content:"";
	width:6px;
	height:6px;
	background-color:var(--accent);
	display:inline-block;
}

.interface-status-code {
	color:var(--ink);
	font-weight:500;
	white-space:nowrap;
}

.metric-opener {
	margin-block-end:var(--space-6);
}

.metric-display-group {
	display:flex;
	align-items:baseline;
	gap:var(--space-2);
	line-height:var(--leading-none);
	margin-block-end:var(--space-3);
	flex-wrap:wrap;
}

.metric-large {
	font-family:var(--tiha-d7c);
	font-size:var(--text-metric);
	font-weight:700;
	color:var(--ink);
	line-height:var(--leading-none);
	letter-spacing:var(--tracking-tight);
}

.metric-unit {
	font-family:var(--tiha-099);
	font-size:var(--text-lg);
	font-weight:500;
	color:var(--accent);
	letter-spacing:var(--tracking-mono);
	text-transform:uppercase;
}

.metric-prose {
	font-size:var(--text-base);
	line-height:var(--leading-normal);
	color:var(--ink);
	max-width:var(--max-width-prose);
	font-weight:400;
}

.badge {
	display:inline-flex;
	align-items:center;
	gap:var(--space-1);
	padding:var(--space-1) var(--space-2);
	border-radius:var(--radius-tag);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	font-weight:500;
	letter-spacing:var(--tracking-mono);
	text-transform:uppercase;
	line-height:var(--leading-none);
	border:1px solid var(--hairline-strong);
	background-color:var(--ground-elevated);
	color:var(--ink);
}

.badge-accent {
	background-color:var(--accent);
	color:#fff;
	border-color:var(--accent);
}

.badge-dark {
	background-color:var(--ink);
	color:var(--ground);
	border-color:var(--ink);
}

.tabs-container {
	width:100%;
	margin-block:var(--space-6);
}

.tabs-nav {
	display:flex;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1px;
	background-color:var(--hairline);
	border:1px solid var(--hairline-strong);
	margin-bottom:var(--space-6);
}

.tab-btn {
	flex:1 1 180px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-2);
	padding:var(--space-3) var(--space-4);
	min-height:48px;
	background-color:var(--ground);
	color:var(--ink-muted);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	text-align:center;
	cursor:pointer;
	border:none;
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.tab-btn:hover {
	background-color:var(--ground-elevated);
	color:var(--ink);
}

.tab-btn:active {
	background-color:var(--ground-deep);
	color:var(--ink);
}

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

.tab-btn[aria-selected="true"] {
	background-color:var(--ink);
	color:var(--ground);
	font-weight:600;
}

.tab-panel {
	display:none;
}

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

.catalog-card {
	border:1px solid var(--hairline-strong);
	background-color:var(--ground);
	display:flex;
	flex-direction:column;
	transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.catalog-card:hover {
	border-color:var(--ink);
	box-shadow:0 4px 16px rgba(26, 22, 18, 0.08);
}

.catalog-card-media {
	position:relative;
	overflow:hidden;
	border-bottom:1px solid var(--hairline);
	background-color:var(--ground-deep);
	aspect-ratio:3 / 2;
}

.catalog-card-media img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform var(--duration-slow) var(--ease-standard);
}

.catalog-card:hover .catalog-card-media img {
	transform:scale(1.025);
}

.catalog-card-body {
	padding:var(--space-5);
	display:flex;
	flex-direction:column;
	flex-grow:1;
}

.catalog-card-meta {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-2);
	margin-bottom:var(--space-3);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--ink-muted);
}

.catalog-card-title {
	font-family:var(--tiha-d7c);
	font-size:var(--text-lg);
	font-weight:700;
	margin-bottom:var(--space-2);
	color:var(--ink);
}

.catalog-card-detail {
	font-size:var(--text-sm);
	color:var(--ink-muted);
	margin-bottom:var(--space-4);
	flex-grow:1;
}

.catalog-card-price {
	font-family:var(--tiha-099);
	font-size:var(--text-base);
	font-weight:500;
	color:var(--ink);
	border-top:1px dashed var(--hairline);
	padding-top:var(--space-3);
	margin-top:auto;
	display:flex;
	align-items:baseline;
	justify-content:space-between;
}

.catalog-card-price strong {
	font-size:var(--text-lg);
	color:var(--accent);
}

.form-group {
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
	margin-bottom:var(--space-5);
}

.form-label {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	font-weight:500;
	letter-spacing:var(--tracking-wider);
	text-transform:uppercase;
	color:var(--ink);
}

.form-label .form-required {
	color:var(--accent);
	margin-left:var(--space-1);
}

.form-input,
.form-select,
.form-textarea {
	width:100%;
	padding:var(--space-3) var(--space-4);
	min-height:46px;
	background-color:var(--ground-elevated);
	border:1px solid var(--hairline-strong);
	color:var(--ink);
	font-family:var(--tiha-623);
	font-size:var(--text-base);
	border-radius:var(--radius-none);
	transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), outline var(--duration-fast) var(--ease-standard);
}

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

.form-input:active,
.form-select:active,
.form-textarea:active {
	background-color:var(--ground);
}

.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:-1px;
	border-color:var(--accent);
	background-color:#fff;
}

.form-textarea {
	min-height:120px;
	resize:vertical;
}

.form-input[aria-invalid="true"],
.form-select[aria-invalid="true"],
.form-textarea[aria-invalid="true"] {
	border-color:var(--accent);
	background-color:rgba(201, 59, 43, 0.05);
}

.field-error {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--accent);
	margin-top:var(--space-1);
	display:none;
}

.field-error.is-visible,
.form-group.has-error .field-error {
	display:block;
}

.form-checkbox-label {
	display:flex;
	align-items:flex-start;
	gap:var(--space-3);
	font-size:var(--text-sm);
	color:var(--ink);
	cursor:pointer;
	user-select:none;
	min-height:44px;
	padding-block:var(--space-1);
}

.form-checkbox {
	appearance:none;
	-webkit-appearance:none;
	width:20px;
	height:20px;
	border:1px solid var(--ink);
	background-color:var(--ground-elevated);
	flex-shrink:0;
	margin-top:2px;
	cursor:pointer;
	display:grid;
	place-content:center;
	transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.form-checkbox:hover {
	border-color:var(--accent);
}

.form-checkbox:active {
	background-color:var(--ground-deep);
}

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

.form-checkbox:checked {
	background-color:var(--ink);
	border-color:var(--ink);
}

.form-checkbox:checked::before {
	content:"";
	width:10px;
	height:10px;
	background-color:var(--ground);
}

.form-honeypot {
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}

.form-alert {
	padding:var(--space-4);
	border:1px solid var(--ink);
	margin-bottom:var(--space-5);
	font-family:var(--tiha-099);
	font-size:var(--text-sm);
	display:none;
}

.form-alert.is-success {
	display:block;
	background-color:var(--ink);
	color:var(--ground);
}

.form-alert.is-error {
	display:block;
	background-color:var(--accent-soft);
	border-color:var(--accent);
	color:var(--accent-hover);
}

.spec-table-wrapper {
	width:100%;
	overflow-x:auto;
	border:1px solid var(--hairline-strong);
	margin-block:var(--space-6);
	background-color:var(--ground);
}

.spec-table {
	width:100%;
	border-collapse:collapse;
	font-size:var(--text-sm);
}

.spec-table th,
.spec-table td {
	padding:var(--space-3) var(--space-4);
	text-align:left;
	border-bottom:1px solid var(--hairline);
	min-width:140px;
}

.spec-table th {
	background-color:var(--ground-deep);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	color:var(--ink);
	font-weight:600;
	border-bottom:2px solid var(--ink);
}

.spec-table tr:hover td {
	background-color:rgba(26, 22, 18, 0.03);
}

.spec-table td:last-child {
	font-family:var(--tiha-099);
	font-weight:500;
}

.ledger-table-wrapper {
	width:100%;
	margin-block:var(--space-6);
}

.ledger-table {
	width:100%;
	border:1px solid var(--hairline-strong);
	border-collapse:collapse;
}

.ledger-table th {
	background-color:var(--ink);
	color:var(--ground);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	letter-spacing:var(--tracking-wider);
	text-transform:uppercase;
	padding:var(--space-3) var(--space-4);
	border-bottom:2px solid var(--ink);
}

.ledger-table td {
	padding:var(--space-4);
	border-bottom:1px solid var(--hairline);
	vertical-align:top;
}

.ledger-table tr:hover td {
	background-color:rgba(26, 22, 18, 0.03);
}

.ledger-clause-name {
	font-family:var(--tiha-099);
	font-weight:600;
	color:var(--ink);
	font-size:var(--text-sm);
	margin-bottom:var(--space-1);
}

.ledger-plain-text {
	font-size:var(--text-base);
	color:var(--ink);
	line-height:var(--leading-normal);
}

.ledger-application {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--ink-muted);
}

@media (max-width: 760px) {
	.ledger-table,
	.ledger-table tbody,
	.ledger-table tr,
	.ledger-table td {
		display:block;
		width:100%;
	}

	.ledger-table thead {
		display:none;
	}

	.ledger-table tr {
		margin-bottom:var(--space-4);
		border:1px solid var(--hairline-strong);
		background-color:var(--ground);
	}

	.ledger-table td {
		border-bottom:1px solid var(--hairline);
		padding:var(--space-3);
	}

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

	.ledger-table td::before {
		content:attr(data-label);
		display:block;
		font-family:var(--tiha-099);
		font-size:var(--text-xs);
		text-transform:uppercase;
		letter-spacing:var(--tracking-wider);
		color:var(--accent);
		margin-bottom:var(--space-1);
	}
}

.accordion-group {
	border-top:1px solid var(--hairline-strong);
	margin-block:var(--space-6);
}

.accordion-item {
	border-bottom:1px solid var(--hairline-strong);
}

.accordion-trigger {
	width:100%;
	padding:var(--space-4) 0;
	min-height:48px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-4);
	background:none;
	border:none;
	text-align:left;
	cursor:pointer;
	color:var(--ink);
	transition:color var(--duration-fast) var(--ease-standard);
}

.accordion-trigger:hover {
	color:var(--accent);
}

.accordion-trigger:active {
	color:var(--accent-hover);
}

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

.accordion-title {
	font-family:var(--tiha-d7c);
	font-size:var(--text-md);
	font-weight:700;
}

.accordion-icon {
	width:1.25rem;
	height:1.25rem;
	flex-shrink:0;
	transition:transform var(--duration-base) var(--ease-standard);
}

.accordion-trigger[aria-expanded="true"] .accordion-icon {
	transform:rotate(180deg);
}

.accordion-panel {
	display:none;
	padding-bottom:var(--space-5);
	font-size:var(--text-base);
	color:var(--ink-muted);
	line-height:var(--leading-normal);
}

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

.fit-checker-wrapper {
	border:2px solid var(--ink);
	background-color:var(--ground);
	padding:var(--space-6);
	margin-block:var(--space-8);
	position:relative;
}

.fit-checker-wrapper::before {
	content:"";
	position:absolute;
	top:-4px;
	left:-4px;
	width:12px;
	height:12px;
	border-top:4px solid var(--accent);
	border-left:4px solid var(--accent);
}

.fit-checker-wrapper::after {
	content:"";
	position:absolute;
	bottom:-4px;
	right:-4px;
	width:12px;
	height:12px;
	border-bottom:4px solid var(--accent);
	border-right:4px solid var(--accent);
}

.checker-header {
	border-bottom:1px solid var(--hairline-strong);
	padding-bottom:var(--space-4);
	margin-bottom:var(--space-6);
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-2);
}

.checker-title {
	font-family:var(--tiha-d7c);
	font-size:var(--text-xl);
	font-weight:700;
	color:var(--ink);
}

.checker-status-pill {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--accent);
	letter-spacing:var(--tracking-mono);
	display:inline-flex;
	align-items:center;
	gap:var(--space-1);
}

.checker-grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:var(--space-5);
	margin-bottom:var(--space-6);
}

@media (max-width: 700px) {
	.checker-grid {
		grid-template-columns:minmax(0, 1fr);
	}
}

.checker-result-panel {
	background-color:var(--ground-deep);
	border:1px solid var(--ink);
	padding:var(--space-5);
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
}

.checker-result-meta {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	text-transform:uppercase;
	color:var(--ink-muted);
	letter-spacing:var(--tracking-wider);
}

.checker-result-price {
	font-family:var(--tiha-d7c);
	font-size:var(--text-2xl);
	font-weight:700;
	color:var(--ink);
	line-height:var(--leading-none);
}

.checker-result-note {
	font-size:var(--text-sm);
	color:var(--ink);
	line-height:var(--leading-normal);
}

.checker-disclaimer {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:var(--ink-muted);
	border-top:1px dashed var(--hairline-strong);
	padding-top:var(--space-3);
	margin-top:var(--space-2);
}

.consent-banner {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	z-index:1000;
	background-color:var(--ink);
	color:var(--ground);
	border-top:2px solid var(--accent);
	padding:var(--space-2) var(--frame-padding);
	box-shadow:0 -4px 20px rgba(0, 0, 0, 0.25);
	display:flex;
	align-items:center;
	justify-content:center;
	max-height:22vh !important;
}

.consent-inner {
	width:100%;
	max-width:var(--max-width-boxed);
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-3) var(--space-5);
}

.consent-copy {
	font-size:var(--text-xs);
	line-height:var(--leading-snug);
	color:var(--ground);
	max-width:65ch;
	flex:1 1 320px;
}

.consent-copy a {
	color:#fff;
	text-decoration:underline;
	text-underline-offset:2px;
}

.consent-copy a:hover {
	color:var(--ground-elevated);
}

.consent-copy a:active {
	color:var(--ground-deep);
}

.consent-copy a:focus-visible {
	outline:1px solid var(--accent);
	outline-offset:2px;
}

.consent-actions {
	display:flex;
	align-items:center;
	gap:var(--space-2);
	flex-wrap:wrap;
}

.consent-btn {
	padding:var(--space-2) var(--space-4);
	min-height:44px;
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	cursor:pointer;
	border-radius:var(--radius-none);
	line-height:var(--leading-none);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.consent-btn-accept {
	background-color:var(--accent);
	color:#fff;
	border:1px solid var(--accent);
}

.consent-btn-accept:hover {
	background-color:var(--accent-hover);
	border-color:var(--accent-hover);
}

.consent-btn-accept:active {
	background-color:#8c2317;
	border-color:#8c2317;
	transform:translateY(1px);
}

.consent-btn-accept:focus-visible {
	outline:2px solid #fff;
	outline-offset:2px;
}

.consent-btn-decline {
	background-color:transparent;
	color:var(--ground);
	border:1px solid var(--hairline-strong);
}

.consent-btn-decline:hover {
	background-color:rgba(255, 255, 255, 0.1);
	color:#fff;
	border-color:#fff;
}

.consent-btn-decline:active {
	background-color:rgba(255, 255, 255, 0.2);
	color:#fff;
	transform:translateY(1px);
}

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

.chat-launcher {
	position:fixed;
	bottom:var(--space-5);
	right:var(--space-5);
	z-index:990;
	width:52px;
	height:52px;
	border-radius:var(--radius-none);
	background-color:var(--ink);
	color:var(--ground);
	border:2px solid var(--accent);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	box-shadow:0 4px 14px rgba(26, 22, 18, 0.25);
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.chat-launcher:hover {
	background-color:var(--accent);
	color:#fff;
	border-color:var(--ink);
	transform:translateY(-2px);
}

.chat-launcher:active {
	background-color:var(--accent-hover);
	color:#fff;
	transform:translateY(1px);
}

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

.chat-launcher .icon {
	width:1.5rem;
	height:1.5rem;
}

.chat-badge {
	position:absolute;
	top:-6px;
	right:-6px;
	width:18px;
	height:18px;
	border-radius:50%;
	background-color:var(--accent);
	color:#fff;
	font-family:var(--tiha-099);
	font-size:10px;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
	border:2px solid var(--ground);
}

.chat-panel {
	position:fixed;
	bottom:calc(var(--space-5) + 60px);
	right:var(--space-5);
	z-index:995;
	width:360px;
	max-width:calc(100vw - 2 * var(--space-4));
	height:480px;
	max-height:calc(100vh - 120px);
	background-color:var(--ground);
	border:2px solid var(--ink);
	box-shadow:0 10px 30px rgba(26, 22, 18, 0.25);
	display:none;
	flex-direction:column;
}

.chat-panel.is-open {
	display:flex;
}

.chat-header {
	background-color:var(--ink);
	color:var(--ground);
	padding:var(--space-3) var(--space-4);
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:2px solid var(--accent);
}

.chat-header-info {
	display:flex;
	flex-direction:column;
	gap:2px;
}

.chat-header-title {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	color:var(--ground);
}

.chat-header-sub {
	font-size:11px;
	color:var(--ground-elevated);
}

.chat-close-btn {
	background:none;
	border:none;
	color:var(--ground);
	cursor:pointer;
	padding:var(--space-1);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	min-width:44px;
	transition:color var(--duration-fast) var(--ease-standard);
}

.chat-close-btn:hover {
	color:var(--accent);
}

.chat-close-btn:active {
	color:var(--accent-hover);
}

.chat-close-btn:focus-visible {
	outline:1px solid var(--accent);
	outline-offset:2px;
}

.chat-messages {
	flex-grow:1;
	overflow-y:auto;
	padding:var(--space-4);
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
	background-color:var(--ground);
}

.chat-bubble {
	max-width:82%;
	padding:var(--space-3) var(--space-4);
	font-size:var(--text-sm);
	line-height:var(--leading-snug);
	border-radius:var(--radius-none);
}

.chat-bubble-agent {
	align-self:flex-start;
	background-color:var(--ground-elevated);
	border:1px solid var(--hairline-strong);
	color:var(--ink);
}

.chat-bubble-user {
	align-self:flex-end;
	background-color:var(--ink);
	color:var(--ground);
}

.chat-bubble-time {
	display:block;
	font-family:var(--tiha-099);
	font-size:10px;
	margin-top:var(--space-1);
	opacity:0.7;
}

.chat-intro-form {
	padding:var(--space-4);
	background-color:var(--ground-deep);
	border-bottom:1px solid var(--hairline-strong);
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
}

.chat-form {
	padding:var(--space-3);
	border-top:1px solid var(--hairline-strong);
	background-color:var(--ground);
	display:flex;
	gap:var(--space-2);
}

.chat-input {
	flex-grow:1;
	padding:var(--space-2) var(--space-3);
	border:1px solid var(--ink);
	background-color:var(--ground-elevated);
	font-size:var(--text-sm);
	color:var(--ink);
	min-height:44px;
}

.chat-input:focus-visible {
	outline:2px solid var(--accent);
	background-color:#fff;
}

.chat-send-btn {
	padding:var(--space-2) var(--space-3);
	min-height:44px;
	min-width:44px;
	background-color:var(--ink);
	color:var(--ground);
	border:1px solid var(--ink);
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

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

.chat-send-btn:active {
	background-color:var(--accent-hover);
	border-color:var(--accent-hover);
}

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

body.has-consent-banner .chat-launcher {
	bottom:calc(var(--space-5) + 64px);
}

@media (max-width: 480px) {
	.chat-panel {
		right:var(--space-2);
		left:var(--space-2);
		width:auto;
		max-width:none;
		height:420px;
		bottom:calc(var(--space-4) + 60px);
	}
}

.site-footer {
	background-color:var(--ink);
	color:var(--ground);
	border-top:var(--border-frame);
	padding-top:var(--space-12);
	padding-bottom:var(--space-8);
	margin-top:auto;
	width:100%;
}

.footer-top {
	display:grid;
	grid-template-columns:1.5fr repeat(3, minmax(0, 1fr));
	gap:var(--space-8);
	padding-bottom:var(--space-10);
	border-bottom:1px solid rgba(255, 255, 255, 0.15);
}

@media (max-width: 960px) {
	.footer-top {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

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

.footer-brand-col {
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
}

.footer-desc {
	font-size:var(--text-sm);
	color:var(--ground-elevated);
	line-height:var(--leading-normal);
	max-width:38ch;
}

.footer-heading {
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	color:#fff;
	margin-bottom:var(--space-4);
	font-weight:600;
}

.footer-nav-list {
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
}

.footer-link {
	font-size:var(--text-sm);
	color:var(--ground-elevated);
	text-decoration:none;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	transition:color var(--duration-fast) var(--ease-standard);
}

.footer-link:hover {
	color:#fff;
	text-decoration:underline;
}

.footer-link:active {
	color:var(--accent);
}

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

.footer-facts-list {
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
	font-size:var(--text-sm);
	color:var(--ground-elevated);
}

.footer-fact-item {
	display:flex;
	align-items:flex-start;
	gap:var(--space-2);
	line-height:var(--leading-snug);
}

.footer-fact-item .icon {
	margin-top:2px;
	color:var(--accent);
}

.footer-legal-bar {
	padding-top:var(--space-6);
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:var(--space-4);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	color:rgba(255, 255, 255, 0.6);
}

.footer-legal-links {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:var(--space-2) var(--space-4);
}

.footer-legal-link {
	color:rgba(255, 255, 255, 0.7);
	text-decoration:none;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	transition:color var(--duration-fast) var(--ease-standard);
}

.footer-legal-link:hover {
	color:#fff;
	text-decoration:underline;
}

.footer-legal-link:active {
	color:var(--accent);
}

.footer-legal-link:focus-visible {
	outline:1px solid var(--accent);
	outline-offset:2px;
}

.footer-consent-btn {
	background:none;
	border:none;
	color:rgba(255, 255, 255, 0.7);
	font-family:var(--tiha-099);
	font-size:var(--text-xs);
	text-decoration:underline;
	cursor:pointer;
	padding:0;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	transition:color var(--duration-fast) var(--ease-standard);
}

.footer-consent-btn:hover {
	color:#fff;
}

.footer-consent-btn:active {
	color:var(--accent);
}

.footer-consent-btn:focus-visible {
	outline:1px solid var(--accent);
	outline-offset:2px;
}
