


.site-header {
	position:sticky;
	top:0;
	z-index:1000;
	width:100%;
	background-color:var(--ground);
	border-bottom:var(--border-thick);
	transition:transform var(--dur-normal) var(--ease-out-expo), background-color var(--dur-normal) ease;
}


@supports (backdrop-filter: blur(10px)) {
	.site-header.is-condensed {
		background-color:rgba(var(--ground-rgb), 0.94);
		backdrop-filter:blur(8px);
		-webkit-backdrop-filter:blur(8px);
	}
}


.masthead-dateline {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-sm);
	padding:0.35rem 0;
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:var(--steel);
	border-bottom:var(--border-hairline);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	flex-wrap:wrap;
}


.masthead-dateline__item {
	display:flex;
	align-items:center;
	gap:0.4rem;
	min-width:0;
}


.masthead-dateline__status-dot {
	width:7px;
	height:7px;
	background-color:var(--success);
	border-radius:50%;
	display:inline-block;
	box-shadow:0 0 0 2px rgba(46, 105, 48, 0.2);
	flex-shrink:0;
}


.masthead-dateline__phone-link {
	color:var(--ink);
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
}


.masthead-dateline__phone-link:hover {
	color:var(--accent);
	text-decoration:underline;
}


.masthead-nameplate {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.75rem 0;
	gap:var(--space-md);
}


.brand {
	display:inline-flex;
	align-items:center;
	text-decoration:none;
	flex-shrink:0;
}


.brand img {
	height:3.2rem;
	width:auto;
	display:block;
}


.masthead-dispatch-cta {
	display:flex;
	align-items:center;
	gap:var(--space-sm);
}


.masthead-dispatch-quote {
	text-align:right;
	display:flex;
	flex-direction:column;
}


.masthead-dispatch-quote__label {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:var(--steel);
	text-transform:uppercase;
}


.masthead-dispatch-quote__val {
	font-family:var(--beki-391);
	font-size:var(--text-sm);

	font-weight:700;
	color:var(--accent);
}


.masthead-tabs {
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-top:var(--border-thin);
	background-color:var(--surface-card);
}


.nav-desktop {
	display:flex;
	align-items:stretch;
	margin:0;
	padding:0;
	list-style:none;
	width:100%;
}


.nav-desktop__item {
	display:flex;
	align-items:stretch;
	border-right:var(--border-hairline);
}


.nav-desktop__item:last-child { border-right:none; }


.nav-desktop__link {
	display:flex;
	align-items:center;
	gap:0.4rem;
	padding:0.65rem 1.15rem;
	min-height:44px;
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	color:var(--ink);
	text-decoration:none;
	letter-spacing:var(--tracking-snug);
	text-transform:uppercase;
	transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;
}


.nav-desktop__link:hover {
	background-color:var(--ground);
	color:var(--accent);
}


.nav-desktop__link:active { background-color:var(--surface); }


.nav-desktop__link:focus-visible {
	outline:var(--focus-ring);
	outline-offset:-2px;
}


.nav-desktop__link[aria-current='page'] {
	background-color:var(--ink);
	color:var(--ink-light);
}


.nav-desktop__link--cta {
	margin-left:auto;
	background-color:var(--accent);
	color:#FFFFFF;
}


.nav-desktop__link--cta:hover {
	background-color:var(--accent-hover);
	color:#FFFFFF;
}


.nav-toggle {
	display:none;
	align-items:center;
	justify-content:center;
	gap:0.4rem;
	min-height:44px;
	padding:0.5rem 0.85rem;
	background-color:var(--surface-card);
	color:var(--ink);
	border:var(--border-thin);
	border-radius:var(--radius-xs);
	cursor:pointer;
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	text-transform:uppercase;
	transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);
}


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


.nav-toggle:active {
	transform:scale(0.96);
	background-color:var(--surface);
}


.nav-toggle:focus-visible {
	outline:var(--focus-ring);
	outline-offset:var(--focus-offset);
}


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


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


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


.nav-mobile-panel {

	display:none;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	background-color:var(--ground);
	border-bottom:var(--border-heavy);
	box-shadow:0 16px 24px rgba(34, 28, 24, 0.2);
	padding:var(--space-md) var(--page-gutter);
}


.nav-mobile-panel[data-open="true"] { display:block; }


.nav-mobile-list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0.35rem;
}


.nav-mobile-list__item { border-bottom:var(--border-hairline); }


.nav-mobile-list__link {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.85rem 0.5rem;
	min-height:48px;
	font-family:var(--beki-f2b);
	font-size:var(--text-md);
	font-weight:700;
	color:var(--ink);
	text-decoration:none;
	text-transform:uppercase;
}


.nav-mobile-list__link:hover { color:var(--accent); }


.nav-mobile-list__link:active { background-color:var(--surface); }


.nav-mobile-list__link:focus-visible {
	outline:var(--focus-ring);
	outline-offset:-2px;
}


.nav-mobile-list__link[aria-current='page'] {
	color:var(--accent);
	font-weight:700;
}


.nav-mobile-panel__footer {
	margin-top:var(--space-md);
	padding-top:var(--space-sm);
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
}


@media (max-width: 900px) {
	.masthead-tabs { display:none; }
	.nav-toggle { display:inline-flex; }
	.masthead-dispatch-quote { display:none; }
}


@media (max-width: 480px) {
	.masthead-dateline__secondary { display:none; }
	.brand img { height:2.6rem; }
	.masthead-dispatch-cta .btn { display:none; }
}



.spec-ticker {
	width:100%;
	background-color:var(--surface-dark);
	color:var(--ink-light);
	border-top:var(--border-thin);
	border-bottom:var(--border-thick);
	overflow:hidden;
	position:relative;
	user-select:none;
	padding:0.45rem 0;
}


.spec-ticker__inner {
	display:flex;
	width:max-content;
	white-space:nowrap;
	animation:specTickerMarquee 42s linear infinite;

}


.spec-ticker__inner:hover { animation-play-state:paused; }


.spec-ticker__track {
	display:flex;
	align-items:center;
	gap:var(--space-md);
	padding-right:var(--space-md);
}


.spec-ticker__item {
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	letter-spacing:var(--tracking-wider);
	text-transform:uppercase;
	color:rgba(244, 238, 229, 0.9);
}


.spec-ticker__item strong { color:#FFFFFF; }


.spec-ticker__item .tag-accent {
	color:var(--accent-surface);
	font-weight:700;
}


.spec-ticker__divider {
	display:inline-block;
	color:#F4EEE5;
	font-size:0.85em;
	padding:0 0.25rem;
}


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


@media (prefers-reduced-motion: reduce) {
	.spec-ticker__inner {
		animation:none;
		overflow-x:auto;
		width:100%;
	}
}



.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.5rem;
	min-height:46px;
	padding:0.75rem 1.45rem;
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	line-height:1.15;
	letter-spacing:var(--tracking-snug);
	text-transform:uppercase;
	text-decoration:none;
	border-radius:var(--radius-xs);
	border:var(--border-thick);
	cursor:pointer;
	position:relative;
	box-shadow:var(--shadow-flat);
	white-space:nowrap;
	transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) ease;
}


.btn:focus-visible {
	outline:var(--focus-ring);
	outline-offset:var(--focus-offset);
}


/* Primary Button (Terracotta/Rust) */
.btn--primary {
	background-color:var(--accent);
	color:#FFFFFF;
	border-color:var(--ink);
}


.btn--primary:hover {
	background-color:var(--accent-hover);
	color:#FFFFFF;
	transform:translate(-1px, -1px);
	box-shadow:var(--shadow-lift);
}


.btn--primary:active {
	background-color:var(--accent);
	transform:translate(1px, 1px);
	box-shadow:1px 1px 0 var(--line);
}


/* Secondary Button (Surface Oat Card) */
.btn--secondary {
	background-color:var(--surface-card);
	color:var(--ink);
	border-color:var(--ink);
}


.btn--secondary:hover {
	background-color:#FFFFFF;
	color:var(--ink);
	transform:translate(-1px, -1px);
	box-shadow:var(--shadow-lift);
}


.btn--secondary:active {
	background-color:var(--surface);
	transform:translate(1px, 1px);
	box-shadow:1px 1px 0 var(--line);
}


.btn--dark {
	background-color:var(--surface-dark);
	color:var(--ink-light);
	border-color:var(--ink-light);
	box-shadow:2px 2px 0 rgba(244, 238, 229, 0.4);
}


.btn--dark:hover {
	background-color:#000000;
	color:#FFFFFF;
	border-color:#FFFFFF;
	transform:translate(-1px, -1px);
	box-shadow:4px 4px 0 rgba(244, 238, 229, 0.5);
}


.btn--dark:active {
	background-color:var(--surface-dark);
	transform:translate(1px, 1px);
	box-shadow:1px 1px 0 rgba(244, 238, 229, 0.3);
}


.btn--ghost {
	background-color:transparent;
	color:var(--ink);
	border-color:var(--line);
	box-shadow:none;
}


.btn--ghost:hover {
	background-color:rgba(34, 28, 24, 0.05);
	border-color:var(--ink);
	transform:translateY(-1px);
}


.btn--ghost:active {
	background-color:rgba(34, 28, 24, 0.1);
	transform:translateY(1px);
}


/* Large Button */
.btn--lg {
	min-height:52px;
	padding:0.95rem 1.85rem;
	font-size:var(--text-base);
}


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



.card-tile {
	background-color:var(--surface-card);
	border:var(--border-thick);
	border-radius:var(--radius-xs);
	padding:var(--space-md);
	position:relative;
	display:flex;
	flex-direction:column;
	transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-normal) var(--ease-spring);
	box-shadow:var(--shadow-flat);
}


.card-tile:hover {
	border-color:var(--accent);
	box-shadow:var(--shadow-lift);
	transform:translateY(-2px);
}


.card-tile--lead {
	background-color:var(--surface-card);
	border:var(--border-thick);
	padding:var(--space-lg);
}


.card-tile--accent {
	background-color:var(--accent-surface);
	border-color:var(--accent);
}


.card-tile--dark {
	background-color:var(--surface-dark);
	color:var(--ink-light);
	border-color:rgba(244, 238, 229, 0.2);
}


.card-tile--dark:hover { border-color:var(--accent-surface); }


.card-rail {
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
}


.card-rail__item {
	background-color:var(--surface-card);
	border:var(--border-thin);
	padding:var(--space-sm) var(--space-md);
	border-radius:var(--radius-xs);
	transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;
}


.card-rail__item:hover {
	background-color:#FFFFFF;
	border-color:var(--ink);
}


/* Metadata Tag / Pill */
.tag-badge {
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	padding:0.25rem 0.6rem;
	min-height:24px;
	background-color:var(--surface);
	color:var(--ink);
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	font-weight:700;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	border-radius:var(--radius-xs);
	border:1px solid var(--line-subtle);
	width:fit-content;
}


.tag-badge--accent {
	background-color:var(--accent);
	color:#FFFFFF;
	border-color:var(--accent-hover);
}


.tag-badge--status {
	background-color:#2E6930;
	color:#FFFFFF;
	border-color:#1F4A21;
}



.job-section {
	padding-top:var(--space-xl);
	padding-bottom:var(--space-xl);
	border-bottom:var(--border-thick);
	background-color:var(--ground);
}


.job-section:nth-child(even) { background-color:#E2D7C6; }


.job-section__heading {
	font-size:var(--text-2xl);
	font-weight:700;
	line-height:1.15;
	letter-spacing:var(--tracking-tight);
	margin-bottom:var(--space-md);
	color:var(--ink);
	max-width:900px;
}


.job-section__narrative {
	font-size:var(--text-base);
	line-height:var(--leading-loose);
	color:var(--ink);
	margin-bottom:var(--space-lg);
	max-width:var(--prose-max-width);
}


.fact-grid {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:1px;
	background-color:var(--line);
	border:var(--border-thick);
	border-radius:var(--radius-xs);
	margin-top:var(--space-lg);
	margin-bottom:var(--space-lg);
	overflow:hidden;
}


.fact-grid__cell {
	background-color:var(--surface-card);
	padding:var(--space-sm) var(--space-md);
	display:flex;
	flex-direction:column;
	gap:0.25rem;
}


.fact-grid__label {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	font-weight:700;
	color:var(--steel);
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
}


.fact-grid__value {
	font-family:var(--beki-f2b);
	font-size:var(--text-base);
	font-weight:700;
	color:var(--ink);
}


.fact-grid__value--rate {
	font-family:var(--beki-391);
	color:var(--accent);
	font-weight:700;
	font-size:var(--text-md);
}


/* Full Width Job Evidence Imagery */
.job-evidence-figure {
	margin:var(--space-lg) 0 0 0;
	position:relative;
	border:var(--border-thick);
	border-radius:var(--radius-xs);
	overflow:hidden;
	background-color:var(--surface-dark);
}


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


.job-evidence-caption {
	position:relative;
	background-color:var(--surface-card);
	border-top:var(--border-thin);
	padding:0.75rem 1.25rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-sm);
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:var(--steel);
	letter-spacing:var(--tracking-wide);
}


.job-evidence-caption__location {
	font-weight:700;
	color:var(--ink);
	text-transform:uppercase;
}



.table-responsive {
	width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	margin:var(--space-md) 0 var(--space-lg) 0;
	border:var(--border-thick);
	border-radius:var(--radius-xs);
	background-color:var(--surface-card);
}


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


.spec-table th,
.spec-table td {
	padding:0.85rem 1.15rem;
	border-bottom:1px solid var(--line-subtle);
	border-right:1px solid var(--line-subtle);
	color:var(--ink);
}


.spec-table td strong { color:var(--ink); }


.site-section--dark .spec-table td,
.site-section--dark .spec-table td strong { color:var(--ink); }


.spec-table th:last-child,
.spec-table td:last-child { border-right:none; }


.spec-table th {
	background-color:var(--surface);
	font-family:var(--beki-f2b);
	font-size:var(--text-xs);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wide);
	color:var(--ink);
}


.spec-table tbody tr:last-child td { border-bottom:none; }


.spec-table tbody tr:hover { background-color:rgba(255, 255, 255, 0.6); }


.spec-table td.rate-cell {
	font-family:var(--beki-391);
	font-weight:700;
	color:var(--accent);
	white-space:nowrap;
}



.inquiry-form {
	background-color:var(--surface-card);
	border:var(--border-thick);
	border-radius:var(--radius-xs);
	padding:var(--space-lg);
	box-shadow:var(--shadow-flat);
}


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


.form-grid--full { grid-column:span 2; }


@media (max-width: 680px) {
	.form-grid { grid-template-columns:1fr; }
	.form-grid--full { grid-column:span 1; }
}


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


.form-label {
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	color:var(--ink);
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	flex-wrap:wrap;
	gap:0.25rem;
}


.form-label__hint {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	font-weight:400;
	color:var(--steel);
}


.form-input,
.form-select,
.form-textarea {
	min-height:46px;
	padding:0.65rem 0.85rem;
	background-color:#FFFFFF;
	border:var(--border-thin);
	border-radius:var(--radius-xs);
	font-family:var(--beki-1d6);
	font-size:var(--text-base);
	color:var(--ink);
	transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}


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


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


.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline:none;
	border-color:var(--accent);
	box-shadow:0 0 0 3px rgba(184, 74, 40, 0.2);
}


.form-input[aria-invalid="true"],
.form-select[aria-invalid="true"],
.form-textarea[aria-invalid="true"] {
	border-color:var(--error);
	background-color:#FFF7F6;
}


.form-error {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:var(--error);
	font-weight:600;
	display:none;
	margin-top:0.25rem;
}


.form-error.is-visible { display:block; }


/* Form Checkbox for Consent */
.form-checkbox-label {
	display:grid;
	grid-template-columns:24px 1fr;
	gap:0.75rem;
	align-items:start;
	font-size:var(--text-sm);
	color:var(--ink);
	cursor:pointer;
	line-height:1.4;
}


.form-checkbox-label input[type="checkbox"] {
	width:20px;
	height:20px;
	margin-top:2px;
	accent-color:var(--accent);
	cursor:pointer;
}


.form-notice {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:var(--steel);
	line-height:1.5;
	background-color:var(--surface);
	padding:0.75rem 1rem;
	border-radius:var(--radius-xs);
	border:1px solid var(--line-subtle);
}


.form-status {
	padding:1rem;
	border-radius:var(--radius-xs);
	font-family:var(--beki-391);
	font-size:var(--text-sm);
	font-weight:600;
	display:none;
}


.form-status--success {
	display:block;
	background-color:#E7F3E8;
	color:var(--success);
	border:1px solid var(--success);
}


.form-status--error {
	display:block;
	background-color:#FBEBEA;
	color:var(--error);
	border:1px solid var(--error);
}



.site-footer {
	background-color:var(--surface-dark);
	color:var(--ink-light);
	border-top:var(--border-heavy);
	padding-top:var(--space-2xl);
	padding-bottom:var(--space-xl);
	position:relative;
	z-index:10;
}


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


@media (max-width: 1024px) {
	.footer-grid {
		grid-template-columns:1fr 1fr;
		gap:var(--space-lg);
	}
}


@media (max-width: 640px) {
	.footer-grid { grid-template-columns:1fr; }
}


.footer-brand img {
	height:3.6rem;
	width:auto;
	margin-bottom:var(--space-md);
}


.footer-bio {
	font-size:var(--text-sm);
	line-height:var(--leading-normal);
	color:rgba(244, 238, 229, 0.82);
	margin-bottom:var(--space-md);
}


.footer-heading {
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:var(--tracking-wider);
	color:#FFFFFF;
	margin-bottom:var(--space-sm);
	border-bottom:1px solid rgba(244, 238, 229, 0.2);
	padding-bottom:0.35rem;
}


.footer-links {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0.5rem;
}


.footer-links a {
	color:rgba(244, 238, 229, 0.85);
	font-size:var(--text-sm);
	text-decoration:none;
	transition:color var(--dur-fast) ease;
}


.footer-links a:hover {
	color:var(--accent-surface);
	text-decoration:underline;
}


.footer-facts-list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0.65rem;
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:rgba(244, 238, 229, 0.85);
}


.footer-facts-list li {
	display:flex;
	align-items:flex-start;
	gap:0.5rem;
}


.footer-facts-list .icon {
	color:var(--accent-surface);
	margin-top:0.2rem;
}


.footer-facts-list a {
	color:#FFFFFF;
	text-decoration:none;
}


.footer-facts-list a:hover {
	color:var(--accent-surface);
	text-decoration:underline;
}


/* Mandatory Footer Legal Row */
.footer-legal-bar {
	border-top:1px solid rgba(244, 238, 229, 0.16);
	padding-top:var(--space-lg);
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
}


.footer-legal-bar__top {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-md);
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:rgba(244, 238, 229, 0.7);
}


.footer-legal-bar__links {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-sm) var(--space-md);
	list-style:none;
	margin:0;
	padding:0;
}


.footer-legal-bar__links a,
.footer-legal-bar__links button {
	color:rgba(244, 238, 229, 0.85);
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	text-decoration:none;
	background:none;
	border:none;
	padding:0;
	cursor:pointer;
	transition:color var(--dur-fast) ease;
}


.footer-legal-bar__links a:hover,
.footer-legal-bar__links button:hover {
	color:#FFFFFF;
	text-decoration:underline;
}


.footer-legal-bar__operator {
	font-size:var(--text-xs);
	line-height:1.5;
	color:rgba(244, 238, 229, 0.6);
	font-family:var(--beki-391);
	max-width:960px;
}



.cookie-bar {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	z-index:9990;
	background-color:var(--surface-dark);
	color:var(--ink-light);
	border-top:var(--border-thick);
	border-color:var(--accent);
	box-shadow:0 -4px 18px rgba(0, 0, 0, 0.35);
	padding:0.75rem var(--page-gutter);
	display:none;
}


.cookie-bar[data-visible="true"] { display:block; }


.cookie-bar__content {
	max-width:var(--site-max-width);
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-md);
	flex-wrap:wrap;
}


.cookie-bar__text {
	font-size:var(--text-xs);
	line-height:1.45;
	color:rgba(244, 238, 229, 0.9);
	max-width:780px;
	margin:0;
	font-family:var(--beki-1d6);
}


.cookie-bar__text a {
	color:var(--accent-surface);
	text-decoration:underline;
}


.cookie-bar__actions {
	display:flex;
	align-items:center;
	gap:0.65rem;
	flex-shrink:0;
}


.btn--cookie-allow {
	background-color:var(--accent);
	color:#FFFFFF;
	border:1px solid var(--accent);
	padding:0.45rem 1rem;
	min-height:38px;
	font-size:var(--text-xs);
	font-family:var(--beki-f2b);
	font-weight:700;
	text-transform:uppercase;
	border-radius:var(--radius-xs);
	cursor:pointer;
	transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);
}


.btn--cookie-allow:hover {
	background-color:var(--accent-hover);
	transform:translateY(-1px);
}


.btn--cookie-allow:active { transform:translateY(1px); }


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


.btn--cookie-deny {
	background-color:transparent;
	color:var(--ink-light);
	border:1px solid rgba(244, 238, 229, 0.4);
	padding:0.45rem 0.85rem;
	min-height:38px;
	font-size:var(--text-xs);
	font-family:var(--beki-f2b);
	font-weight:600;
	text-transform:uppercase;
	border-radius:var(--radius-xs);
	cursor:pointer;
	transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;
}


.btn--cookie-deny:hover {
	background-color:rgba(244, 238, 229, 0.12);
	border-color:#FFFFFF;
}


.btn--cookie-deny:active { background-color:rgba(244, 238, 229, 0.2); }


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



.chat-launcher {
	position:fixed;
	bottom:1.5rem;
	right:1.5rem;
	z-index:9980;
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	min-height:48px;
	padding:0.65rem 1.15rem;
	background-color:var(--surface-dark);
	color:#FFFFFF;
	border:var(--border-thick);
	border-color:var(--accent);
	border-radius:var(--radius-pill);
	box-shadow:0 4px 14px rgba(0, 0, 0, 0.3);
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:var(--tracking-snug);
	cursor:pointer;
	transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring), bottom var(--dur-normal) ease;
}


.chat-launcher:hover {
	background-color:#000000;
	border-color:var(--accent-hover);
	transform:translateY(-2px);
	box-shadow:0 6px 20px rgba(0, 0, 0, 0.35);
}


.chat-launcher:active {
	transform:translateY(1px);
	background-color:var(--surface-dark);
}


.chat-launcher:focus-visible {
	outline:var(--focus-ring);
	outline-offset:var(--focus-offset);
}


.chat-launcher__badge {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:18px;
	height:18px;
	padding:0 5px;
	background-color:var(--accent);
	color:#FFFFFF;
	font-family:var(--beki-391);
	font-size:10px;
	font-weight:700;
	border-radius:var(--radius-pill);
}


/* Steps above cookie banner when cookie bar is visible */
body.cookie-banner-open .chat-launcher { bottom:5.5rem; }


@media (max-width: 640px) {
	.chat-launcher {
		bottom:1rem;
		right:1rem;
		padding:0.55rem 0.95rem;
	}
	body.cookie-banner-open .chat-launcher { bottom:6.8rem; }
}


/* Chat Drawer Panel */
.chat-panel {
	position:fixed;
	bottom:5.5rem;
	right:1.5rem;
	width:380px;
	max-width:calc(100vw - 2rem);
	height:520px;
	max-height:calc(100vh - 7rem);
	background-color:var(--ground);
	border:var(--border-thick);
	border-radius:var(--radius-sm);
	box-shadow:0 20px 40px rgba(0, 0, 0, 0.28);
	z-index:9985;
	display:none;
	flex-direction:column;
	overflow:hidden;
}


.chat-panel[data-open="true"] { display:flex; }


.chat-panel__header {
	background-color:var(--surface-dark);
	color:var(--ink-light);
	padding:0.85rem 1.15rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:var(--border-thin);
}


.chat-panel__title-wrap {
	display:flex;
	flex-direction:column;
}


.chat-panel__title {
	font-family:var(--beki-f2b);
	font-size:var(--text-sm);
	font-weight:700;
	color:#FFFFFF;
	text-transform:uppercase;
}


.chat-panel__subtitle {
	font-family:var(--beki-391);
	font-size:var(--text-xs);
	color:rgba(244, 238, 229, 0.7);
}


.chat-panel__close {
	background:transparent;
	border:none;
	color:var(--ink-light);
	padding:0.35rem;
	cursor:pointer;
	border-radius:var(--radius-xs);
	display:flex;
	align-items:center;
	justify-content:center;
	transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}


.chat-panel__close:hover {
	background-color:rgba(244, 238, 229, 0.15);
	color:#FFFFFF;
}


.chat-panel__close:active { background-color:rgba(244, 238, 229, 0.25); }


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


.chat-panel__body {
	flex:1 1 auto;
	overflow-y:auto;
	padding:var(--space-sm);
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
	background-color:var(--surface-card);
}


.chat-msg {
	max-width:82%;
	padding:0.65rem 0.85rem;
	font-size:var(--text-sm);
	line-height:1.4;
	border-radius:var(--radius-xs);
	position:relative;
	word-break:break-word;
}


.chat-msg--bot {
	align-self:flex-start;
	background-color:var(--surface);
	color:var(--ink);
	border:var(--border-thin);
}


.chat-msg--user {
	align-self:flex-end;
	background-color:var(--accent);
	color:#FFFFFF;
	border:1px solid var(--accent-hover);
}


.chat-msg__meta {
	display:block;
	font-family:var(--beki-391);
	font-size:10px;
	color:var(--steel);
	margin-top:0.25rem;
}


.chat-msg--user .chat-msg__meta { color:rgba(255, 255, 255, 0.8); }


.chat-panel__footer {
	padding:0.65rem 0.85rem;
	background-color:var(--ground);
	border-top:var(--border-thin);
}


.chat-input-form {
	display:flex;
	gap:0.4rem;
}


.chat-input {
	flex:1;
	min-height:40px;
	padding:0.45rem 0.75rem;
	font-size:var(--text-sm);
	background-color:#FFFFFF;
	border:var(--border-thin);
	border-radius:var(--radius-xs);
}


.chat-send-btn {
	background-color:var(--accent);
	color:#FFFFFF;
	border:var(--border-thin);
	border-radius:var(--radius-xs);
	padding:0 0.85rem;
	min-height:40px;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background-color var(--dur-fast) ease;
}


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


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


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