.site-header {
	position:relative;
	width:100%;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
	z-index:100;
	padding-top:var(--space-s);
	padding-bottom:var(--space-s);
}

.header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-m);
}

.brand {
	display:inline-flex;
	align-items:center;
	text-decoration:none;
	border:0;
	outline:none;
	max-width:38vw;
	flex-shrink:0;
	transition:opacity var(--duration-fast) var(--ease-out);
}

.brand:hover { opacity:0.88; }

.brand:active { opacity:0.75; }

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

.brand-logo {
	height:2.1rem;
	width:auto;
	max-height:40px;
	display:block;
}

.desktop-nav { display:none; }

@media (min-width: 768px) {
	.desktop-nav {
		display:flex;
		align-items:center;
		gap:var(--space-m);
	}
}

.desktop-nav-list {
	display:flex;
	align-items:center;
	list-style:none;
	gap:var(--space-m);
	margin:0;
	padding:0;
}

.desktop-nav-link {
	font-family:var(--fiji-66a);
	font-size:var(--step--1);
	font-weight:500;
	letter-spacing:0.02em;
	color:var(--ink-soft);
	text-decoration:none;
	padding:0.4rem 0.2rem;
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	transition:color var(--duration-fast) var(--ease-out);
}

.desktop-nav-link::after {
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:0%;
	height:1px;
	background-color:var(--hairline);
	transition:width var(--duration-mid) var(--ease-ledger);
}

.desktop-nav-link:hover {
	color:var(--ink);
	text-decoration:none;
}

.desktop-nav-link:hover::after { width:100%; }

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

.desktop-nav-link:focus-visible {

	outline:2px solid var(--accent);
	outline-offset:3px;
}

.desktop-nav-link[aria-current='page'] {
	color:var(--ink);
	font-weight:600;
}

.desktop-nav-link[aria-current='page']::after {
	width:100%;
	background-color:var(--accent);
}

@media (min-width: 1024px) {
	.brand { max-width:320px; }

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

.scroll-spine {
	display:none;
	position:fixed;
	top:0;
	right:0;
	width:3px;
	height:100vh;
	height:100svh;
	background-color:var(--surface-2);
	z-index:800;
	pointer-events:none;
}

.scroll-spine-fill {
	width:100%;
	height:0%;
	background-color:var(--hairline);
	transition:height var(--duration-fast) linear;
}

@media (min-width: 1024px) {
	.scroll-spine { display:block; }
}

.mobile-dock {
	position:fixed;
	inset:auto 0 0 0;
	z-index:900;
	width:100%;
	height:calc(var(--dock-height) + env(safe-area-inset-bottom, 0px));
	padding-bottom:env(safe-area-inset-bottom, 0px);
	background-color:var(--ground);
	border-top:1px solid var(--line);
	display:flex;
	align-items:stretch;
	justify-content:space-around;
	box-shadow:0 -4px 16px rgba(0, 0, 0, 0.45);
}

@media (min-width: 768px) {
	.mobile-dock { display:none; }
}

.dock-item {
	flex:1 1 0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:3px;
	padding:6px 2px;
	text-decoration:none;
	color:var(--ink-soft);
	min-height:44px;
	border:0;
	background:transparent;
	appearance:none;
	cursor:pointer;
	font-family:var(--fiji-66a);
	transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

.dock-item .icon {
	width:22px;
	height:22px;
	display:block;
}

.dock-label {
	font-size:11px;
	line-height:1.1;
	font-weight:500;
	letter-spacing:0.02em;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:100%;
}

.dock-item:hover {
	color:var(--ink);
	background-color:var(--surface);
	text-decoration:none;
}

.dock-item:active {
	color:var(--accent);
	background-color:var(--surface-2);
}

.dock-item:focus-visible {

	outline:2px solid var(--accent);
	outline-offset:-2px;
}

.dock-item[aria-current='page'] {
	color:var(--accent-ink);
	background-color:rgba(38, 133, 81, 0.15);
}

.dock-item[aria-current='page'] .dock-label { font-weight:600; }

.dock-item[aria-current='page'] .icon { fill:var(--accent); }

.mobile-nav-dialog {
	position:fixed;
	inset:0;
	z-index:1000;
	background-color:var(--ground);
	display:flex;
	flex-direction:column;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	padding:var(--space-m) var(--container-gutter) calc(var(--space-xl) + env(safe-area-inset-bottom, 0px));
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity var(--duration-mid) var(--ease-out), visibility var(--duration-mid) var(--ease-out);
}

.mobile-nav-dialog.is-open {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

.mobile-nav-header {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-bottom:var(--space-m);
	border-bottom:1px solid var(--line);
	margin-bottom:var(--space-l);
}

.mobile-nav-close {
	appearance:none;
	background:transparent;
	border:1px solid var(--line);
	color:var(--ink);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	min-height:44px;
	min-width:44px;
	cursor:pointer;
	transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);
}

.mobile-nav-close:hover {
	background-color:var(--surface);
	border-color:var(--hairline);
	color:var(--accent-ink);
}

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

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

.mobile-nav-links {
	list-style:none;
	padding:0;
	margin:0 0 var(--space-xl) 0;
	display:flex;
	flex-direction:column;
	gap:var(--space-s);
}

.mobile-nav-item {
	border-bottom:1px solid var(--surface-2);
	padding-bottom:var(--space-xs);
}

.mobile-nav-link {
	font-family:var(--fiji-6ef);
	font-size:var(--fiji-774);
	color:var(--ink-soft);
	text-decoration:none;
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	padding:var(--space-2xs) 0;
	transition:color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);
}

.mobile-nav-link:hover {
	color:var(--ink);
	transform:translateX(4px);
	text-decoration:none;
}

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

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

}

.mobile-nav-link[aria-current='page'] {
	color:var(--ink);
	font-weight:600;
}

.mobile-nav-link[aria-current='page']::after {
	content:'Current';
	font-family:var(--fiji-686);
	font-size:var(--step--2);
	text-transform:uppercase;
	letter-spacing:0.1em;
	color:var(--accent);
}

.mobile-nav-meta {
	margin-top:auto;
	border-top:1px solid var(--line);
	padding-top:var(--space-m);
}

.mobile-nav-meta p {
	font-size:var(--step--1);
	color:var(--ink-soft);
	margin-bottom:var(--space-xs);
}

.mobile-nav-meta a { color:var(--ink); }

.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.5rem;
	padding:0 1.5rem;
	height:var(--control-h);
	min-height:var(--control-h);
	font-family:var(--fiji-66a);
	font-size:var(--fiji-5e7);
	font-weight:600;
	line-height:1.2;
	text-decoration:none;
	border:1px solid transparent;
	cursor:pointer;
	white-space:nowrap;
	appearance:none;
	text-align:center;
	border-radius:var(--radius-none);
	transition:background-color var(--duration-fast) var(--ease-out),
							border-color var(--duration-fast) var(--ease-out),
							color var(--duration-fast) var(--ease-out),
							box-shadow var(--duration-fast) var(--ease-out),
							transform var(--duration-fast) var(--ease-out);
}

.btn-sm {
	padding:0 1rem;
	height:var(--control-h);
	min-height:var(--control-h);
	font-size:var(--step--1);
}

.btn-lg {
	padding:0 2rem;
	height:var(--control-h);
	min-height:var(--control-h);
	font-size:var(--fiji-5e7);
}

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

.btn-primary:hover {
	background-color:#1e6d42;
	border-color:#1e6d42;
	color:var(--accent-ink);
	text-decoration:none;
}

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

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

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

.btn-secondary:hover {
	background-color:var(--surface-2);
	border-color:var(--hairline);
	color:var(--accent-ink);
	text-decoration:none;
}

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

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

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

.btn-outline:hover {
	border-color:var(--ink);
	color:var(--accent-ink);
	background-color:rgba(255, 255, 255, 0.04);
	text-decoration:none;
}

.btn-outline:active {
	border-color:var(--accent);
	color:var(--accent);
	transform:translateY(1px);
}

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

.btn-text {
	background:transparent;
	border:0;
	padding:0.5rem 0.25rem;
	color:var(--ink);
	text-decoration:underline;
	text-decoration-color:var(--line);
	min-height:44px;
}

.btn-text:hover {
	color:var(--accent-ink);
	text-decoration-color:var(--accent);
}

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

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

.card {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-none);
	box-shadow:0 4px 20px rgba(0, 0, 0, 0.35);
	padding:var(--space-m);
	position:relative;
	display:flex;
	flex-direction:column;
}

.card-ledger { border-top:2px solid var(--accent); }

.card-header {
	margin-bottom:var(--space-s);
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-xs);
}

.card-title {
	font-family:var(--fiji-6ef);
	font-size:var(--fiji-d44);
	color:var(--ink);
	margin-bottom:var(--space-3xs);
}

.card-price {
	font-family:var(--fiji-686);
	font-size:var(--fiji-8a5);
	color:var(--ink);
	font-weight:600;
	letter-spacing:-0.02em;
}

.card-body { flex:1 1 auto; }

.card-footer {
	margin-top:var(--space-m);
	border-top:1px solid var(--line);
	padding-top:var(--space-s);
}

.spec-list {
	list-style:none;
	padding:0;
	margin:var(--space-s) 0;
}

.spec-item {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:var(--space-s);
	padding:var(--space-2xs) 0;
	border-bottom:1px solid var(--surface-2);
	font-size:var(--step--1);
}

.spec-item:last-child { border-bottom:none; }

.spec-name { color:var(--ink-soft); }

.spec-value {
	font-family:var(--fiji-686);
	color:var(--ink);
	text-align:right;
}

.metric-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:1px;
	background-color:var(--line);
	border:1px solid var(--line);
	margin:var(--space-m) 0;
}

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

.metric-cell {
	background-color:var(--surface);
	padding:var(--space-m);
	display:flex;
	flex-direction:column;
	gap:var(--space-3xs);
}

.metric-figure {
	font-family:var(--fiji-686);
	font-size:var(--fiji-774);
	font-weight:500;
	color:var(--ink);
	line-height:1.1;
	letter-spacing:-0.02em;
}

.metric-label {
	font-size:var(--step--1);
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:0.05em;
}

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

.form-label {
	font-size:var(--step--1);
	font-weight:500;
	color:var(--ink);
	margin-bottom:var(--space-3xs);
	display:flex;
	justify-content:space-between;
	align-items:baseline;
}

.form-label .form-optional {
	font-size:var(--step--2);
	color:var(--ink-soft);
	font-weight:400;
}

.form-input,
.form-select {
	width:100%;
	height:var(--control-h);
	min-height:var(--control-h);
	padding:0 0.85rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	color:var(--ink);
	font-family:var(--fiji-66a);
	font-size:var(--fiji-5e7);
	border-radius:var(--radius-none);
	line-height:normal;
	transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

.form-textarea {
	width:100%;
	padding:0.75rem 0.85rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	color:var(--ink);
	font-family:var(--fiji-66a);
	font-size:var(--fiji-5e7);
	border-radius:var(--radius-none);
	transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

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

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

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

.form-checkbox-label {
	display:flex;
	align-items:flex-start;
	gap:0.75rem;
	cursor:pointer;
	font-size:var(--step--1);
	color:var(--ink-soft);
	line-height:1.4;
	margin-top:var(--space-xs);
	margin-bottom:var(--space-s);
}

.form-checkbox {
	appearance:none;
	width:20px;
	height:20px;
	min-width:20px;
	min-height:20px;
	border:1px solid var(--line);
	background-color:var(--surface);
	margin-top:2px;
	cursor:pointer;
	display:inline-grid;
	place-content:center;
	transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

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

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

.form-checkbox:checked::after {
	content:'';
	width:10px;
	height:6px;
	border-left:2px solid var(--accent-ink);
	border-bottom:2px solid var(--accent-ink);
	transform:rotate(-45deg) translate(1px, -1px);
}

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

.form-error {
	display:none;
	font-size:var(--step--1);
	color:#ff6b6b;
	margin-top:0.25rem;
}

.has-error .form-input,
.has-error .form-select,
.has-error .form-textarea { border-color:#ff6b6b; }

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

.form-status {
	padding:var(--space-s);
	border:1px solid var(--line);
	background-color:var(--surface);
	margin-bottom:var(--space-m);
	display:none;
}

.form-status.is-success {
	display:block;
	border-color:var(--accent);
	color:var(--ink);
}

.form-status.is-error {
	display:block;
	border-color:#ff6b6b;
	color:#ff6b6b;
}

.tool-panel {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-m);
	position:relative;
}

.tool-panel::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:2px;
	background:linear-gradient(90deg, var(--hairline) 0%, transparent 80%);
}

.tool-output-box {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:var(--space-m);
	margin-top:var(--space-m);
	position:relative;
}

.tool-output-label {
	font-family:var(--fiji-686);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--ink-soft);
	margin-bottom:var(--space-3xs);
}

.tool-output-val {
	font-family:var(--fiji-686);
	font-size:var(--fiji-548);
	font-weight:500;
	color:var(--accent-ink);
	line-height:1.1;
	letter-spacing:-0.02em;
}

.tool-output-note {
	font-family:var(--fiji-686);
	font-size:var(--step--1);
	color:var(--hairline);
	margin-top:var(--space-2xs);
}

.tool-disclaimer {
	font-size:var(--step--2);
	color:var(--ink-soft);
	margin-top:var(--space-s);
	line-height:1.45;
	border-top:1px solid var(--surface-2);
	padding-top:var(--space-xs);
}

.cookie-banner {
	position:fixed;
	inset:auto 0 0 0;
	z-index:950;
	background-color:var(--surface);
	border-top:1px solid var(--line);
	padding:0.5rem var(--container-gutter);
	box-shadow:0 -4px 20px rgba(0, 0, 0, 0.6);
	max-height:28vh;
	overflow:hidden;
}

@media (max-width: 767px) {
	.cookie-banner {
		bottom:calc(var(--dock-height) + env(safe-area-inset-bottom, 0px));
		padding:0.4rem var(--container-gutter);
	}
}

.cookie-banner-inner {
	max-width:var(--container-max);
	margin-left:auto;
	margin-right:auto;
	display:flex;
	flex-direction:column;
	gap:0.75rem;
}

@media (min-width: 768px) {
	.cookie-banner-inner {
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
	}
}

.cookie-text {
	font-size:var(--step--1);
	color:var(--ink-soft);
	margin:0;
	line-height:1.4;
	max-width:60ch;
}

.cookie-text a { color:var(--ink); }

.cookie-actions {
	display:flex;
	gap:0.5rem;
	flex-wrap:wrap;
	flex-shrink:0;
}

.chat-launcher {
	position:fixed;
	right:var(--space-s);
	bottom:calc(var(--dock-height) + env(safe-area-inset-bottom, 0px) + var(--space-s));
	z-index:850;
	width:52px;
	height:52px;
	min-width:44px;
	min-height:44px;
	background-color:var(--surface);
	border:1px solid var(--line);
	color:var(--ink);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	box-shadow:0 4px 16px rgba(0, 0, 0, 0.4);
	transition:background-color var(--duration-fast) var(--ease-out),
							border-color var(--duration-fast) var(--ease-out),
							transform var(--duration-fast) var(--ease-out),
							color var(--duration-fast) var(--ease-out);
}

@media (min-width: 1024px) {
	.chat-launcher {
		bottom:var(--space-l);
		right:var(--space-l);
	}
}

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

.chat-launcher:active {
	background-color:#333;
	transform:translateY(0);
}

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

.chat-badge {
	position:absolute;
	top:-4px;
	right:-4px;
	background-color:var(--accent);
	color:var(--accent-ink);
	font-family:var(--fiji-686);
	font-size:11px;
	font-weight:600;
	width:18px;
	height:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
}

.chat-panel {
	position:fixed;
	right:var(--space-s);
	bottom:calc(var(--dock-height) + env(safe-area-inset-bottom, 0px) + var(--space-s));
	z-index:860;
	width:calc(100vw - 2 * var(--space-s));
	max-width:380px;
	height:520px;
	max-height:calc(100vh - 120px);
	max-height:calc(100svh - 120px);
	background-color:var(--ground);
	border:1px solid var(--line);
	display:flex;
	flex-direction:column;
	box-shadow:0 12px 32px rgba(0, 0, 0, 0.7);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity var(--duration-mid) var(--ease-out), visibility var(--duration-mid) var(--ease-out);
}

@media (min-width: 1024px) {
	.chat-panel {
		bottom:var(--space-l);
		right:var(--space-l);
	}
}

.chat-panel.is-open {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

.chat-panel-header {
	padding:var(--space-s);
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.chat-panel-title {
	font-family:var(--fiji-6ef);
	font-size:var(--fiji-5e7);
	font-weight:500;
	color:var(--ink);
	margin:0;
}

.chat-panel-close {
	background:transparent;
	border:0;
	color:var(--ink-soft);
	width:36px;
	height:36px;
	min-width:36px;
	min-height:36px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}

.chat-panel-close:hover {
	color:var(--ink);
	background-color:var(--surface-2);
}

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

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

.chat-messages {
	flex:1 1 auto;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	padding:var(--space-s);
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
}

.chat-bubble {
	max-width:82%;
	padding:0.6rem 0.85rem;
	font-size:var(--step--1);
	line-height:1.4;
	border:1px solid var(--line);
}

.chat-bubble-desk {
	align-self:flex-start;
	background-color:var(--surface);
	color:var(--ink);
}

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

.chat-input-bar {
	padding:var(--space-s);
	border-top:1px solid var(--line);
	background-color:var(--surface);
	display:flex;
	gap:0.5rem;
}

.chat-input {
	flex:1 1 auto;
	min-height:40px;
	padding:0.5rem 0.75rem;
	background-color:var(--ground);
	border:1px solid var(--line);
	color:var(--ink);
	font-size:var(--step--1);
}

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

.chat-send-btn {
	background-color:var(--accent);
	color:var(--accent-ink);
	border:0;
	padding:0 1rem;
	min-height:40px;
	cursor:pointer;
	font-weight:600;
	font-size:var(--step--1);
	transition:background-color var(--duration-fast) var(--ease-out);
}

.chat-send-btn:hover { background-color:#1e6d42; }

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

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

.chat-preform {
	padding:var(--space-s);
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
}

.site-footer {
	background-color:var(--surface);
	border-top:1px solid var(--line);
	padding-top:var(--space-l);
	padding-bottom:var(--space-m);
	position:relative;
}

.site-footer::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:1px;
	background:linear-gradient(90deg, var(--hairline) 0%, transparent 70%);
}

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

@media (min-width: 768px) {
	.footer-main {
		grid-template-columns:2fr 1fr 1fr;
		gap:var(--space-l);
	}
}

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

.footer-logo {
	height:2.4rem;
	width:auto;
	max-height:46px;
}

.footer-tagline {
	font-size:var(--fiji-5e7);
	color:var(--ink-soft);
	max-width:44ch;
}

.footer-facts {
	list-style:none;
	padding:0;
	margin:var(--space-s) 0 0 0;
	display:flex;
	flex-direction:column;
	gap:var(--space-2xs);
	font-size:var(--step--1);
	color:var(--ink-soft);
}

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

.footer-facts .icon {
	margin-top:3px;
	color:var(--hairline);
}

.footer-facts a {
	color:var(--ink);
	display:inline-flex;
	align-items:center;
}

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

.footer-col-heading {
	font-family:var(--fiji-686);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--ink);
	margin-bottom:var(--space-xs);
}

.footer-nav-list {
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:var(--space-2xs);
}

.footer-nav-link {
	font-size:var(--step--1);
	color:var(--ink-soft);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	padding:0.15rem 0;
	transition:color var(--duration-fast) var(--ease-out);
}

@media (pointer: coarse) {
	.footer-nav-link { min-height:44px; }
}

.footer-nav-link:hover {
	color:var(--ink);
	text-decoration:underline;
	text-decoration-color:var(--hairline);
}

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

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

.footer-legal-bar {
	border-top:1px solid var(--line);
	padding-top:var(--space-m);
	display:flex;
	flex-direction:column;
	gap:var(--space-s);
	font-size:var(--step--2);
	color:var(--ink-soft);
}

@media (min-width: 768px) {
	.footer-legal-bar {
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
	}
}

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

.footer-legal-link {
	color:var(--ink-soft);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	padding:0.2rem 0.4rem;
	transition:color var(--duration-fast) var(--ease-out);
}

@media (pointer: coarse) {
	.footer-legal-link { min-height:44px; }
}

.footer-legal-link:hover {
	color:var(--ink);
	text-decoration:underline;
}

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

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

.footer-copy {
	margin:0;
	color:var(--ink-soft);
}

.accordion-item {
	border-bottom:1px solid var(--line);
	padding:var(--space-s) 0;
}

.accordion-trigger {
	width:100%;
	text-align:left;
	background:transparent;
	border:0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:var(--space-s);
	cursor:pointer;
	padding:var(--space-2xs) 0;
	color:var(--ink);
	font-family:var(--fiji-6ef);
	font-size:var(--fiji-8a5);
	transition:color var(--duration-fast) var(--ease-out);
}

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

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

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

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

.accordion-icon {
	transition:transform var(--duration-mid) var(--ease-ledger);
	color:var(--hairline);
	flex-shrink:0;
}

.accordion-content {
	display:none;
	padding-top:var(--space-xs);
	padding-bottom:var(--space-2xs);
	color:var(--ink-soft);
	max-width:var(--measure-prose);
}

.accordion-content.is-open { display:block; }
