@charset "UTF-8";


.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.5rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	font-weight:600;
	letter-spacing:var(--ls-hud);
	text-transform:uppercase;
	text-decoration:none;
	line-height:1.2;
	padding:0.75rem 1.4rem;
	min-height:44px;
	border-radius:0;
	border:1px solid transparent;
	cursor:pointer;
	white-space:normal;
	max-width:100%;
	user-select:none;
	background-color:transparent;
	color:var(--ink);
	transition-property:background-color, color, border-color, box-shadow, transform;
	transition-duration:var(--dur-fast);
	transition-timing-function:var(--ease-standard);
	position:relative;
}

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

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

.btn-primary:hover {
	background-color:#27382a;
	border-color:#27382a;
	color:#ffffff;
	box-shadow:0 2px 8px rgba(25, 37, 27, 0.2);
}

.btn-primary:active {
	background-color:#121a13;
	border-color:#121a13;
	transform:translateY(1px);
}

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

.btn-accent:hover {
	background-color:var(--accent-hover);
	border-color:var(--accent-hover);
	box-shadow:0 2px 8px rgba(184, 104, 40, 0.25);
}

.btn-accent:active {
	background-color:#834415;
	border-color:#834415;
	transform:translateY(1px);
}

.btn-secondary {
	background-color:transparent;
	color:var(--ink);
	border-color:var(--border-strong);
	max-width:100%;
	white-space:normal;
	text-align:center;
}

.btn-secondary.btn-on-accent,
.hud-tag--accent .btn,
[style*="background: #a35010"] .btn,
[style*="background-color: #a35010"] .btn,
[style*="background: rgb(163, 80, 27)"] .btn,
[style*="background-color: rgb(163, 80, 27)"] .btn {
	background-color:#ffffff;
	color:#19251b;
	border-color:#ffffff;
}

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

.btn-secondary:active {
	background-color:#cfd9ce;
	transform:translateY(1px);
}

.btn-ghost {
	background-color:transparent;
	color:var(--ink);
	border-color:transparent;
	padding:0.5rem 0.8rem;
}

.btn-ghost:hover {
	background-color:var(--ground-panel);
	color:var(--accent);
}

.btn-ghost:active {
	background-color:#cfd9ce;
	transform:translateY(1px);
}

.btn-sm {
	padding:0.45rem 0.85rem;
	font-size:0.72rem;
	min-height:36px;
}

.btn-lg {
	padding:1rem 2rem;
	font-size:var(--fs-sm);
	min-height:48px;
}

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

.site-header {
	position:fixed;
	top:0;
	left:0;
	right:0;

	width:100%;
	z-index:500;
	background-color:rgba(228, 234, 227, 0.94);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border-bottom:1px solid var(--border);
	transform:translateY(0);
	transition-property:transform, background-color, box-shadow;
	transition-duration:var(--dur-base);
	transition-timing-function:var(--ease-snappy);
}

@supports not (backdrop-filter: blur(8px)) {
	.site-header {
		background-color:var(--ground);
	}
}

.site-header.is-hidden {
	transform:translateY(-105%);
}

.site-header.is-condensed {
	box-shadow:var(--shadow-hud);
}

@media (max-width: 820px) {
	/* Ensure header navigation is always accessible and never permanently hidden on phones */
	.site-header.is-hidden {
		transform:none !important;
	}
}

.header-inner {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding-inline:var(--space-md);
	padding-block:0.4rem 0.45rem;
	position:relative;
}

.header-brand-wrap {
	display:flex;
	align-items:center;
	justify-content:center;
}

.brand-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	min-height:44px;
	padding:0.2rem 0.5rem;
	transition-property:opacity;
	transition-duration:var(--dur-fast);
}

.brand-link:hover {
	opacity:0.82;
}

.brand-link:active {
	opacity:0.65;
}

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

.brand-logo-img {
	height:2.15rem;
	width:auto;
	aspect-ratio:2.12 / 1;
	display:block;
}

/* Symmetrical split nav row */
.nav-split-bar {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-xl);
	width:100%;
	border-top:1px solid var(--border-subtle);
	margin-top:0.35rem;
	padding-top:0.35rem;
}

/* Header visibility */
.site-header {
	transform:none;
}
.site-header.is-hidden {
	transform:translateY(-105%);
}
/* Never hide header when viewport has no mobile menu button (1024, 1440, 1920) */
@media (min-width: 821px) {
	.site-header,
	.site-header.is-hidden {
		transform:none !important;
		visibility:visible !important;
	}
}

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

.nav-link {
	display:inline-flex;
	align-items:center;
	min-height:36px;
	padding:0.25rem 0.6rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	letter-spacing:var(--ls-hud);

	text-transform:uppercase;
	color:var(--ink-muted);
	text-decoration:none;
	border-bottom:2px solid transparent;
	transition-property:color, border-color, background-color;
	transition-duration:var(--dur-fast);
	transition-timing-function:var(--ease-standard);
}

.nav-link:hover {
	color:var(--ink);
	background-color:rgba(217, 225, 216, 0.4);
}

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

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

.nav-link.is-active {
	color:var(--ink);
	border-bottom-color:var(--accent);
	font-weight:600;
}

/* Mobile Nav Toggle */
.nav-toggle-btn {
	display:none;
	position:absolute;
	right:var(--space-md);
	top:50%;
	transform:translateY(-50%);
	background:transparent;
	border:1px solid var(--border);
	padding:0.4rem 0.6rem;
	min-height:44px;
	min-width:44px;
	align-items:center;
	justify-content:center;
	color:var(--ink);
	cursor:pointer;
	font-family:var(--jora-226);

	font-size:var(--fs-xs);
	transition-property:background-color, border-color;
	transition-duration:var(--dur-fast);
}

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

.nav-toggle-btn:active {
	background-color:#cfd9ce;
}

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

/* Responsive adjustments for header */
@media (max-width: 820px) {
	.site-header {
		height:auto;
	}
	.site-header.is-hidden {
		transform:none !important;
		visibility:visible !important;
	}
	.header-inner {
		flex-direction:row;
		justify-content:space-between;
		padding-block:0.5rem;
	}
	.nav-toggle-btn {
		display:inline-flex !important;
		position:static;
		transform:none;
		visibility:visible !important;
	}
	.nav-split-bar {
		display:none;
		position:absolute;
		top:100%;
		left:0;
		right:0;
		flex-direction:column;
		background-color:var(--ground);
		border-top:1px solid var(--border);
		border-bottom:2px solid var(--border-strong);
		box-shadow:var(--shadow-card);
		padding:var(--space-md);
		gap:var(--space-xs);
		margin-top:0;
	}
	.nav-split-bar.is-open {
		display:flex;
	}
	.nav-wing {
		flex-direction:column;
		width:100%;
		gap:0;
	}
	.nav-link {
		width:100%;
		padding:0.65rem 0.75rem;
		min-height:44px;
		border-bottom:1px solid var(--border-subtle);
	}
}

.marquee-band {
	width:100%;
	overflow:hidden;
	background-color:var(--ground-panel);
	border-block:1px solid var(--border);
	display:flex;
	user-select:none;
	position:relative;
}

.marquee-band--dark {
	background-color:var(--ground-dark);
	color:var(--ink-inverse);
	border-color:var(--border-inverse);
}

.marquee-track {
	display:flex;
	flex-shrink:0;
	min-width:100%;
	animation:marquee-roll 28s linear infinite;
	align-items:center;
}

.marquee-band:hover .marquee-track {
	animation-play-state:paused;
}

.marquee-item {
	display:inline-flex;
	align-items:center;
	gap:0.75rem;
	padding:0.55rem 1.75rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	white-space:nowrap;
}

.marquee-item .sep {
	color:var(--accent);
}

@keyframes marquee-roll {
	0% {
		transform:translateX(0);
	}
	100% {
		transform:translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.marquee-track {
		animation:none;
		transform:none;
		flex-wrap:wrap;
		justify-content:center;
	}
}

.service-hud-card {
	position:relative;
	border:1px solid var(--border);
	background-color:var(--ground);
	display:flex;
	flex-direction:column;
	height:100%;
	transition-property:border-color, box-shadow;
	transition-duration:var(--dur-fast);
}

.service-hud-card:hover {
	border-color:var(--border-strong);
	box-shadow:var(--shadow-card);
}

.service-hud-card::before {
	content:"";
	position:absolute;
	top:-1px;
	left:-1px;
	width:var(--corner-size);
	height:var(--corner-size);
	border-top:2px solid var(--accent);
	border-left:2px solid var(--accent);
	pointer-events:none;
}

.service-hud-card::after {
	content:"";
	position:absolute;
	bottom:-1px;
	right:-1px;
	width:var(--corner-size);
	height:var(--corner-size);
	border-bottom:2px solid var(--accent);
	border-right:2px solid var(--accent);
	pointer-events:none;
}

.hud-card-header {
	padding:0.5rem 0.85rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	background-color:var(--ground-panel);
	border-bottom:1px solid var(--border);
	display:flex;
	align-items:center;
	justify-content:space-between;
}

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

.hud-card-title {
	font-family:var(--jora-acd);
	font-size:var(--fs-lg);
	font-weight:600;
	margin-bottom:var(--space-xs);
}

.hud-card-desc {
	font-size:var(--fs-sm);
	color:var(--ink-muted);
	line-height:var(--lh-prose);
	margin-bottom:var(--space-md);
	flex-grow:1;
}

.hud-card-specs {
	border-top:1px solid var(--border-subtle);
	padding-top:var(--space-sm);
	margin-top:auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:var(--space-xs);
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
}

.spec-item {
	display:flex;
	flex-direction:column;
}

.spec-label {
	color:var(--ink-subtle);
	font-size:0.7rem;
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
}

.spec-value {
	color:var(--ink);
	font-weight:600;
}

.hud-card-footer {
	padding:0.75rem var(--space-lg);
	border-top:1px solid var(--border);
	background-color:rgba(217, 225, 216, 0.3);
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.line-journey {
	position:relative;
	padding-block:var(--space-xl);
}

.line-journey::before {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:1.5rem;
	width:1px;
	background-color:var(--ink-muted);
	opacity:0.4;
}

.stage-marker-row {
	position:relative;
	padding-left:3.5rem;
	margin-bottom:var(--space-3xl);
}

.stage-marker-row > .stage-dot {
	position:absolute;
	grid-column:unset;
}

.stage-marker-row:last-child {
	margin-bottom:0;
}

.stage-dot {
	position:absolute;
	left:1.15rem;
	top:0.2rem;
	width:13px;
	height:13px;
	background-color:var(--ground);
	border:2px solid var(--ink);
	transform:translateX(-50%);
	z-index:2;
}

.stage-dot--signal {
	border-color:var(--signal);
	background-color:var(--signal);
}

.stage-dot--accent {
	border-color:var(--accent);
	background-color:var(--accent);
}

.stage-header {
	margin-bottom:var(--space-xs);
}

.stage-name {
	font-family:var(--jora-acd);
	font-size:var(--fs-xl);
	font-weight:600;
	display:block;
	min-width:0;
	overflow-wrap:break-word;
}

.stage-left,
.stage-right,
.stage-header,
.stage-content {
	min-width:0;
}

.stage-meta {
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	color:var(--ink-muted);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	margin-bottom:var(--space-sm);
	display:flex;
	gap:var(--space-md);
	flex-wrap:wrap;
}

.stage-meta-item {
	display:inline-flex;
	align-items:center;
	gap:0.3rem;
}

.stage-content {
	max-width:var(--col-measure);
}

@media (min-width: 900px) {
	.line-journey::before {
		left:50%;
		transform:translateX(-50%);
	}
	.stage-marker-row {
		padding-left:0;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:var(--space-3xl);
	}
	.stage-marker-row > .stage-left {
		grid-column:1 / 2;
	}
	.stage-marker-row > .stage-right {
		grid-column:2 / 3;
	}
	.stage-marker-row > .stage-header {
		grid-column:1 / 2;
	}
	.stage-marker-row > .stage-content {
		grid-column:2 / 3;
	}
	.stage-dot {
		left:50%;
	}
	.stage-marker-row:nth-child(odd) .stage-left,
	.stage-marker-row:nth-child(odd) > .stage-header {
		text-align:right;
	}
	.stage-marker-row:nth-child(odd) .stage-left .stage-meta,
	.stage-marker-row:nth-child(odd) > .stage-header .stage-meta {
		justify-content:flex-end;
	}
	.stage-marker-row:nth-child(even) .stage-left {
		order:2;
		text-align:left;
	}
	.stage-marker-row:nth-child(even) .stage-left .stage-meta {
		justify-content:flex-start;
	}
	.stage-marker-row:nth-child(even) .stage-right {
		order:1;
		text-align:right;
	}
}

.hud-form {
	border:1px solid var(--border);
	background-color:var(--ground);
	padding:var(--space-xl);
	position:relative;
}

.hud-form::before {
	content:"";
	position:absolute;
	top:-1px;
	left:-1px;
	width:var(--corner-size);
	height:var(--corner-size);
	border-top:2px solid var(--accent);
	border-left:2px solid var(--accent);
	pointer-events:none;
}

.hud-form::after {
	content:"";
	position:absolute;
	bottom:-1px;
	right:-1px;
	width:var(--corner-size);
	height:var(--corner-size);
	border-bottom:2px solid var(--accent);
	border-right:2px solid var(--accent);
	pointer-events:none;
}

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

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

.form-field {
	display:flex;
	flex-direction:column;
	gap:0.35rem;
}

.form-label {
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	color:var(--ink);
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:0.25rem;
	width:100%;
}

.form-label > span:first-child {
	flex:1 1 auto;
	min-width:0;
}

.form-label .opt {
	color:var(--ink-subtle);
	font-weight:400;
	text-transform:lowercase;
}

.form-input,
.form-select,
.form-textarea {
	width:100%;
	border-radius:0;
	border:1px solid var(--border);
	background-color:#ffffff;
	color:var(--ink);
	padding:0.75rem 0.95rem;
	font-family:var(--jora-ac7);
	font-size:var(--fs-base);
	min-height:44px;
	transition-property:border-color, box-shadow, background-color;
	transition-duration:var(--dur-fast);
	transition-timing-function:var(--ease-standard);
}

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

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

.form-field.has-error .form-input,
.form-field.has-error .form-select,
.form-field.has-error .form-textarea {
	border-color:var(--error);
	background-color:var(--error-bg);
}

.form-error {
	display:none;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	color:var(--error);
	margin-top:0.2rem;
}

.form-field.has-error .form-error {
	display:block;
}

.form-checkbox-label {
	display:flex;
	align-items:flex-start;
	gap:0.65rem;
	font-size:var(--fs-sm);
	color:var(--ink);
	cursor:pointer;
	line-height:1.4;
}

.form-checkbox {
	appearance:none;
	-webkit-appearance:none;
	width:18px;
	height:18px;
	border:1px solid var(--border-strong);
	border-radius:0;
	background-color:#ffffff;
	margin-top:0.15rem;
	flex-shrink:0;
	cursor:pointer;
	display:grid;
	place-content:center;
	transition-property:border-color, background-color;
	transition-duration:var(--dur-fast);
}

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

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

.form-checkbox:checked::after {
	content:"";
	width:6px;
	height:10px;
	border:solid var(--ground);
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
	margin-bottom:2px;
}

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

.form-status {
	padding:0.85rem 1rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	letter-spacing:var(--ls-hud);
	border:1px solid transparent;
	display:none;
	margin-top:var(--space-md);
}

.form-status.is-success {
	display:block;
	background-color:var(--signal-bg);
	border-color:var(--signal);
	color:var(--signal);
}

.form-status.is-error {
	display:block;
	background-color:var(--error-bg);
	border-color:var(--error);
	color:var(--error);
}

.site-footer {
	background-color:var(--ground-dark);
	color:var(--ink-inverse);
	border-top:1px solid var(--border-inverse);
	padding-top:2.25rem;
	padding-bottom:2rem;
	position:relative;
	text-align:center;
}

.footer-column {
	display:flex;
	flex-direction:column;
	align-items:center;
	max-width:58rem;
	margin-inline:auto;
	gap:1.15rem;
}

.footer-brand {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
}

.footer-logo-img {
	height:3.2rem;
	width:auto;
	aspect-ratio:2.12 / 1;
}

.footer-mission {
	font-family:var(--jora-ac7);
	font-size:var(--fs-base);
	color:#b5c2b4;
	line-height:var(--lh-prose);
	max-width:36ch;
}

.footer-contacts-hud {
	width:100%;
	border:1px solid var(--border-inverse);
	background-color:#141f16;
	padding:var(--space-md);
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-sm);
	text-align:left;
}

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

.f-contact-item {
	display:flex;
	flex-direction:column;
	gap:0.2rem;
}

.f-contact-label {
	font-family:var(--jora-226);
	font-size:0.7rem;
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	color:#a4b5a4;
}

.f-contact-val {
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	color:var(--ink-inverse);
	text-decoration:none;
	transition:color var(--dur-fast);
}

.f-contact-val:hover {
	color:var(--accent);
}

.footer-nav-row {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-md);
	flex-wrap:wrap;
}

.footer-nav-link {
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	color:#a4b3a3;
	text-decoration:none;
	padding:0.4rem 0.5rem;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	transition-property:color;
	transition-duration:var(--dur-fast);
}

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

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

.footer-legal-bar {
	width:100%;
	border-top:1px solid var(--border-inverse);
	padding-top:var(--space-sm);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:0.35rem;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	color:#a4b5a4;
}

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

.footer-legal-link {
	color:#a4b3a3;
	text-decoration:underline;
	text-underline-offset:2px;
	padding:0.35rem 0.4rem;
	min-height:44px;
	display:inline-flex;
	align-items:center;
	transition:color var(--dur-fast);
}

.footer-legal-link:hover {
	color:var(--ink-inverse);
}

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

.footer-legal-sep {
	color:#4b5a4d;
}

.cookie-banner {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	z-index:900;
	background-color:var(--ink);
	color:var(--ground);
	border-top:1px solid var(--border-inverse);
	box-shadow:var(--shadow-sheet);
	padding:0.65rem var(--space-md);
	display:none;
}

.cookie-banner.is-active {
	display:block;
}

.cookie-banner-inner {
	max-width:var(--col-wide);
	margin-inline:auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-md);
	flex-wrap:wrap;
}

.cookie-banner-text {
	font-family:var(--jora-ac7);
	font-size:var(--fs-xs);
	line-height:1.4;
	color:#d1ded0;
	flex:1 1 20rem;
}

.cookie-banner-link {
	color:#f7a258;
	text-decoration:underline;
	text-underline-offset:2px;
	white-space:nowrap;
}

.cookie-banner-link:hover {
	color:#ffffff;
}

.cookie-banner-actions {
	display:flex;
	align-items:center;
	gap:var(--space-xs);
	flex-shrink:0;
}

.cookie-btn {
	font-family:var(--jora-226);
	font-size:0.72rem;
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	padding:0.45rem 0.85rem;
	min-height:44px;
	border-radius:0;
	cursor:pointer;
	border:1px solid transparent;
	transition-property:background-color, border-color, color;
	transition-duration:var(--dur-fast);
}

.cookie-btn-accept {
	background-color:var(--accent);
	color:#ffffff;
	border-color:var(--accent);
}

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

.cookie-btn-accept:active {
	background-color:#834415;
}

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

.cookie-btn-decline {
	background-color:transparent;
	color:#d1ded0;
	border-color:#4b5a4d;
}

.cookie-btn-decline:hover {
	background-color:#27382a;
	border-color:var(--ground);
	color:#ffffff;
}

.cookie-btn-decline:active {
	background-color:#1a261c;
}

.cookie-btn-decline:focus-visible {
	outline:2px solid #ffffff;
	outline-offset:2px;
}

.chat-widget {
	position:fixed;
	bottom:1.25rem;
	right:1.25rem;
	z-index:920;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
}

.cookie-active .chat-widget {
	bottom:4.8rem;
}

.chat-launcher {
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	padding:0.65rem 1rem;
	min-height:44px;
	background-color:var(--ink);
	color:var(--ground);
	border:1px solid var(--accent);
	border-radius:0;
	box-shadow:var(--shadow-raised);
	cursor:pointer;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	transition-property:background-color, transform, box-shadow;
	transition-duration:var(--dur-fast);
	transition-timing-function:var(--ease-standard);
}

.chat-launcher:hover {
	background-color:#27382a;
	box-shadow:0 8px 24px rgba(25, 37, 27, 0.25);
	transform:translateY(-1px);
}

.chat-launcher:active {
	background-color:#121a13;
	transform:translateY(1px);
}

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

.chat-launcher .badge {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background-color:var(--accent);
	color:#ffffff;
	font-size:0.7rem;
	font-weight:700;
	min-width:18px;
	height:18px;
	padding-inline:4px;
}

.chat-panel {
	position:fixed;
	bottom:5.5rem;
	right:1.25rem;
	width:calc(100vw - 2.5rem);
	max-width:22rem;
	height:28rem;
	max-height:calc(100vh - 8rem);
	background-color:var(--ground);
	border:1px solid var(--border-strong);
	box-shadow:var(--shadow-sheet);
	display:none;
	flex-direction:column;
	z-index:930;
}

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

.chat-header {
	padding:0.65rem 0.85rem;
	background-color:var(--ink);
	color:var(--ground);
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	border-bottom:1px solid var(--border-inverse);
}

.chat-close-btn {
	background:transparent;
	border:none;
	color:var(--ground);
	cursor:pointer;
	padding:0.25rem;
	min-height:44px;
	min-width:44px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:color var(--dur-fast);
}

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

.chat-close-btn:active {
	color:#ffffff;
}

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

.chat-body {
	flex-grow:1;
	overflow-y:auto;
	padding:var(--space-md);
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
	background-color:#fafcf9;
}

.chat-msg {
	max-width:85%;
	padding:0.6rem 0.75rem;
	font-size:var(--fs-sm);
	line-height:1.4;
}

.chat-msg--bot {
	align-self:flex-start;
	background-color:var(--ground-panel);
	border:1px solid var(--border);
	color:var(--ink);
}

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

.chat-footer {
	padding:var(--space-xs);
	border-top:1px solid var(--border);
	background-color:var(--ground);
}

.chat-form {
	display:flex;
	gap:var(--space-2xs);
}

.chat-input {
	flex-grow:1;
	border:1px solid var(--border);
	border-radius:0;
	padding:0.5rem 0.7rem;
	font-size:var(--fs-sm);
	min-height:44px;
}

.chat-input:focus {
	outline:none;
	border-color:var(--ink);
}

.chat-send-btn {
	background-color:var(--ink);
	color:var(--ground);
	border:1px solid var(--ink);
	border-radius:0;
	padding:0.5rem 0.85rem;
	min-height:44px;
	cursor:pointer;
	font-family:var(--jora-226);
	font-size:var(--fs-xs);
	text-transform:uppercase;
	letter-spacing:var(--ls-hud);
	transition-property:background-color, border-color;
	transition-duration:var(--dur-fast);
}

.chat-send-btn:hover {
	background-color:#27382a;
}

.chat-send-btn:active {
	background-color:#121a13;
}

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

.hud-accordion {
	border-top:1px solid var(--border);
}

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

.hud-accordion-trigger {
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	text-align:left;
	background:transparent;
	border:none;
	padding:var(--space-md) 0.5rem;
	min-height:52px;
	cursor:pointer;
	font-family:var(--jora-acd);
	font-size:var(--fs-md);
	font-weight:600;
	color:var(--ink);
	transition-property:color, background-color;
	transition-duration:var(--dur-fast);
}

.hud-accordion-trigger:hover {
	color:var(--accent);
	background-color:rgba(217, 225, 216, 0.25);
}

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

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

.hud-accordion-trigger .chevron {
	transition:transform var(--dur-base) var(--ease-snappy);
	color:var(--ink-muted);
}

.hud-accordion-trigger[aria-expanded="true"] .chevron {
	transform:rotate(180deg);
	color:var(--accent);
}

.hud-accordion-content {
	padding-bottom:var(--space-md);
	padding-inline:0.5rem;
	color:var(--ink-muted);
	font-size:var(--fs-base);
	line-height:var(--lh-prose);
}

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