.icon {
	display:inline-block;
	width:1.15em;
	height:1.15em;
	vertical-align:-0.18em;
	fill:currentColor;
	flex-shrink:0;
}

.icon-sm {
	width:0.95em;
	height:0.95em;
	vertical-align:-0.12em;
}

.icon-lg {
	width:1.45em;
	height:1.45em;
	vertical-align:-0.22em;
}

.icon-xl {
	width:2em;
	height:2em;
	vertical-align:-0.3em;
}

.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-2);
	min-height:44px;
	padding:0.65rem 1.35rem;
	font-family:var(--jone-467);
	font-size:var(--text-base);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	text-decoration:none;
	line-height:1.15;
	border-radius:var(--radius-sm);
	border:1px solid transparent;
	cursor:pointer;
	background-color:var(--accent);
	color:#fff;
	transition:background-color var(--dur-rapid) var(--ease-standard),
							color var(--dur-rapid) var(--ease-standard),
							border-color var(--dur-rapid) var(--ease-standard),
							transform var(--dur-rapid) var(--ease-standard),
							box-shadow var(--dur-rapid) var(--ease-standard);
	position:relative;
	text-align:center;
	overflow:hidden;
}

.btn:hover {
	background-color:var(--accent-hover);
	color:#fff;
	transform:translateY(-1px);
	box-shadow:0 3px 6px rgba(19, 34, 43, 0.12);
}

.btn:active {
	background-color:#0e3635;
	color:#fff;
	transform:translateY(1px);
	box-shadow:0 1px 2px rgba(19, 34, 43, 0.08);
}

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

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

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

.btn-primary:active {
	background-color:#175452;
	border-color:#175452;
}

.btn-secondary {
	background-color:var(--sheet);
	color:var(--ink);
	border:1px solid var(--border-subtle);
	box-shadow:var(--shadow-sm);
}

.btn-secondary:hover {
	background-color:var(--sheet-alt);
	border-color:var(--border-strong);
	color:var(--ink);
	transform:translateY(-1px);
}

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

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

.btn-outline {
	background-color:transparent;
	color:var(--accent);
	border:1px solid var(--accent);
}

.btn-outline:hover {
	background-color:var(--accent-soft);
	color:var(--accent);
	border-color:var(--accent-bright);

	transform:translateY(-1px);
}

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

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

.btn-outline-dark {
	background-color:transparent;
	color:var(--ink-inverse);
	border:1px solid var(--border-dark);
}

.btn-outline-dark:hover {
	background-color:rgba(246, 250, 248, 0.08);
	border-color:var(--ink-inverse-muted);
	color:#fff;
	transform:translateY(-1px);
}

.btn-outline-dark:active {
	background-color:rgba(246, 250, 248, 0.14);
	transform:translateY(1px);
}

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

.btn-sm {
	min-height:36px;
	padding:0.45rem 0.95rem;
	font-size:var(--text-sm);
}

.btn-lg {
	min-height:52px;

	padding:0.85rem 1.85rem;
	font-size:var(--text-md);
}

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

.site-header {
	position:sticky;
	top:0;
	width:100%;
	background-color:var(--ground);
	border-bottom:1px solid var(--border-subtle);
	z-index:var(--z-header);
	transition:background-color var(--dur-swift) var(--ease-standard),
							border-color var(--dur-swift) var(--ease-standard),
							box-shadow var(--dur-swift) var(--ease-standard),
							padding var(--dur-swift) var(--ease-standard);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}

.site-header.is-scrolled,
.site-header.is-condensed {
	background-color:rgba(238, 244, 247, 0.96);
	box-shadow:0 4px 12px rgba(19, 34, 43, 0.06);
	border-bottom-color:var(--border-strong);
}

.header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-4);
	min-height:72px;
	padding-top:var(--space-3);
	padding-bottom:var(--space-3);
	transition:min-height var(--dur-swift) var(--ease-standard);
}

.site-header.is-scrolled .header-inner,
.site-header.is-condensed .header-inner {
	min-height:60px;
}

.header-left {
	display:flex;
	align-items:center;
	gap:var(--space-4);
	min-width:0;
}

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

.brand img {
	height:2.1rem;
	width:auto;
	max-width:227px;
	object-fit:contain;
}

.header-status-badge {
	display:none;
	align-items:center;
	gap:var(--space-2);
	padding:0.25rem 0.65rem;
	background-color:var(--sheet-alt);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-muted);
	white-space:nowrap;
}

@media (min-width: 1024px) {
	.header-status-badge {
		display:inline-flex;
	}
}

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

.nav-rail {
	display:none;
}

@media (min-width: 900px) {
	.nav-rail {
		display:flex;
		align-items:center;
		gap:var(--space-1);
		list-style:none;
		margin:0;
		padding:0;
	}
}

.nav-link {
	display:inline-flex;
	align-items:center;
	gap:var(--space-1);
	min-height:44px;
	padding:0.5rem 0.85rem;
	font-family:var(--jone-467);
	font-size:var(--text-base);
	font-weight:500;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink);
	text-decoration:none;
	border-radius:var(--radius-xs);
	border:1px solid transparent;
	transition:color var(--dur-rapid) var(--ease-standard),
							background-color var(--dur-rapid) var(--ease-standard),
							border-color var(--dur-rapid) var(--ease-standard);
	white-space:nowrap;

}

.nav-link:hover {
	color:var(--accent);
	background-color:var(--sheet-alt);
	border-color:var(--border-subtle);
}

.nav-link:active {
	color:#0e3635;
	background-color:#dce7ed;
}

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

.nav-link.is-active,
.nav-link[aria-current="page"] {
	color:var(--accent);
	font-weight:600;
	background-color:var(--sheet);
	border-color:var(--border-subtle);
	border-bottom:2px solid var(--accent);
}

.header-phone-cta {
	display:none;
}

@media (min-width: 640px) {
	.header-phone-cta {
		display:inline-flex;
		align-items:center;
		gap:var(--space-2);
		min-height:40px;
		padding:0.45rem 0.85rem;
		font-family:var(--jone-c26);
		font-size:var(--text-xs);
		font-weight:600;
		color:var(--ink);
		text-decoration:none;
		background-color:var(--sheet);
		border:1px solid var(--border-subtle);
		border-radius:var(--radius-xs);
		transition:background-color var(--dur-rapid) var(--ease-standard),
								color var(--dur-rapid) var(--ease-standard),
								border-color var(--dur-rapid) var(--ease-standard);
		white-space:nowrap;
	}

	.header-phone-cta:hover {
		background-color:var(--accent-soft);
		border-color:var(--accent);
		color:var(--accent);
	}

	.header-phone-cta:active {
		background-color:var(--accent-tint);
	}

	.header-phone-cta:focus-visible {
		outline:2px solid var(--accent-bright);
		outline-offset:2px;
	}
}

.nav-toggle {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	min-width:44px;
	padding:0.5rem;
	background-color:var(--sheet);
	color:var(--ink);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	cursor:pointer;
	transition:background-color var(--dur-rapid) var(--ease-standard),
							border-color var(--dur-rapid) var(--ease-standard),
							color var(--dur-rapid) var(--ease-standard);
}

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

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

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

.nav-toggle:focus-visible {
	outline:2px solid var(--accent-bright);
	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;
}

.mobile-nav-panel {
	display:none;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	background-color:var(--sheet);
	border-bottom:2px solid var(--accent);
	box-shadow:0 12px 24px rgba(19, 34, 43, 0.15);
	padding:var(--space-4) var(--space-4) var(--space-6);
	z-index:var(--z-header);
}

.mobile-nav-panel.is-open {
	display:block;
}

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

.mobile-nav-link {
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:48px;
	padding:0.75rem 1rem;
	font-family:var(--jone-467);
	font-size:var(--text-lg);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink);
	text-decoration:none;
	background-color:var(--sheet-alt);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	transition:background-color var(--dur-rapid) var(--ease-standard),
							color var(--dur-rapid) var(--ease-standard),
							border-color var(--dur-rapid) var(--ease-standard);
}

.mobile-nav-link:hover {
	background-color:#dae6ed;
	color:var(--accent);
	border-color:var(--accent);
}

.mobile-nav-link:active {
	background-color:#cbdce5;
}

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

.mobile-nav-link.is-active,
.mobile-nav-link[aria-current="page"] {
	border-left:4px solid var(--accent);
	color:var(--accent);
	background-color:#fff;
}

.mobile-nav-meta {
	margin-top:var(--space-4);
	padding-top:var(--space-4);
	border-top:1px solid var(--border-subtle);
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-muted);
}

.mobile-nav-meta a {
	color:var(--accent);
	text-decoration:none;
}

.mobile-nav-meta a:hover {
	text-decoration:underline;
}

.interface-frame {
	position:relative;
	background-color:var(--sheet);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-sm);
	padding:var(--space-5);
	box-shadow:var(--shadow-sm);
}

@media (min-width: 768px) {
	.interface-frame {
		padding:var(--space-6);
	}
}

.interface-frame::before,
.interface-frame::after {
	content:"";
	position:absolute;
	width:10px;
	height:10px;
	pointer-events:none;
	border-color:var(--accent);
	border-style:solid;
}

.interface-frame::before {
	top:-1px;
	left:-1px;
	border-width:2px 0 0 2px;
}

.interface-frame::after {
	bottom:-1px;
	right:-1px;
	border-width:0 2px 2px 0;
}

.interface-frame-dark {
	background-color:var(--sheet-dark);
	color:var(--ink-inverse);
	border-color:var(--border-dark);
}

.interface-frame-dark::before,
.interface-frame-dark::after {
	border-color:var(--accent-bright);
}

.frame-corner-tr,
.frame-corner-bl {
	position:absolute;
	width:10px;
	height:10px;
	pointer-events:none;
	border-color:var(--accent);
	border-style:solid;
}

.frame-corner-tr {
	top:-1px;
	right:-1px;
	border-width:2px 2px 0 0;
}

.frame-corner-bl {
	bottom:-1px;
	left:-1px;
	border-width:0 0 2px 2px;
}

.interface-frame-dark .frame-corner-tr,
.interface-frame-dark .frame-corner-bl {
	border-color:var(--accent-bright);
}

.frame-status-bar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-2);
	padding-bottom:var(--space-3);
	margin-bottom:var(--space-4);
	border-bottom:1px dashed var(--border-subtle);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-muted);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
}

.interface-frame-dark .frame-status-bar {
	border-bottom-color:var(--border-dark);
	color:var(--ink-inverse-muted);
}

.frame-status-live {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
	color:var(--accent);
	font-weight:600;
}

.interface-frame-dark .frame-status-live {
	color:var(--accent-bright);
}

.live-indicator-dot {
	width:8px;
	height:8px;
	border-radius:50%;
	background-color:var(--accent-bright);
	box-shadow:0 0 0 2px rgba(44, 140, 136, 0.25);
}

.marquee-strip {
	display:none !important;
}

.marquee-track {
	display:flex;
	width:max-content;
	white-space:nowrap;
	animation:marquee-roll 38s linear infinite;
}

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

.marquee-group {
	display:flex;
	align-items:center;
	gap:var(--space-6);
	padding-right:var(--space-6);
}

.marquee-item {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink-inverse-muted);
}

.marquee-item strong {
	color:#fff;
}

.marquee-item .highlight {
	color:#5fe3dc;
}

.marquee-sep {
	color:#728d9e;
}

/* On dark surfaces ensure tags and badges meet contrast */
.footer-brand-col .mono-tag,
.tool-output-badge,
.marquee-item .highlight,
.interface-frame-dark .frame-status-live {
	color:#5fe3dc !important;
}

.interface-frame:not(.interface-frame-dark) .frame-status-live {
	color:#155553 !important;
}

.crop-ticker-bar .mono-tag {
	color:#b5ccd9;
}

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

.qa-dialogue {
	display:flex;
	flex-direction:column;
	gap:var(--space-8);
	margin:var(--space-8) 0;
}

@media (min-width: 768px) {
	.qa-dialogue {
		gap:var(--space-12);
		margin:var(--space-12) 0;
	}
}

.qa-turn {
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
	position:relative;
}

.qa-customer {
	padding-left:var(--space-4);
	border-left:3px solid var(--accent);
}

@media (min-width: 768px) {
	.qa-customer {
		padding-left:var(--space-6);
		border-left-width:4px;
		max-width:85%;
	}
}

.qa-customer-badge {
	display:inline-flex;
	align-items:center;
	gap:var(--space-1);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--accent);
	margin-bottom:var(--space-2);
}

.qa-customer-bubble {
	font-family:var(--jone-467);
	font-size:clamp(1.25rem, 2vw + 0.5rem, 1.85rem);
	font-weight:600;
	line-height:var(--leading-snug);
	color:var(--ink);
	letter-spacing:var(--tracking-tight);
}

.qa-answer {
	margin-top:var(--space-2);
}

.qa-reply-card {
	background-color:var(--sheet);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-sm);
	padding:var(--space-5);
	box-shadow:var(--shadow-sm);
}

@media (min-width: 768px) {
	.qa-reply-card {
		padding:var(--space-8);
		margin-left:var(--space-4);
	}
}

.qa-reply-badge {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink-muted);
	margin-bottom:var(--space-3);
	padding-bottom:var(--space-2);
	border-bottom:1px solid var(--border-subtle);
	width:100%;
}

.qa-reply-badge .badge-tag {
	background-color:var(--accent-soft);
	color:var(--accent);
	padding:0.15rem 0.45rem;
	border-radius:var(--radius-xs);
}

.qa-reply-text {
	font-size:var(--text-base);
	line-height:var(--leading-relaxed);
	color:var(--ink);
	margin-bottom:var(--space-4);
}

.qa-reply-text:last-child {
	margin-bottom:0;
}

.qa-evidence-frame {
	margin-top:var(--space-5);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	overflow:hidden;
	background-color:var(--sheet-alt);
}

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

.qa-evidence-caption {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-2);
	padding:0.65rem 1rem;
	background-color:var(--sheet-alt);
	border-top:1px solid var(--border-subtle);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-muted);
}

.qa-ledger-chip {
	display:inline-flex;
	align-items:baseline;
	gap:var(--space-2);
	padding:0.4rem 0.75rem;
	background-color:var(--sheet-alt);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	font-family:var(--jone-c26);
	font-size:var(--text-sm);
	color:var(--ink);
	margin:var(--space-2) 0;
}

.qa-ledger-chip .rate {
	font-weight:600;
	color:var(--accent);
}

.ledger-table-wrap {
	width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	margin:var(--space-6) 0;
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-sm);
	background-color:var(--sheet);
}

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

.ledger-table th,
.ledger-table td {
	padding:0.75rem 1rem;
	border-bottom:1px solid var(--border-subtle);
	vertical-align:top;
}

.ledger-table th {
	background-color:var(--sheet-alt);
	font-family:var(--jone-467);
	font-size:var(--text-sm);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink);
}

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

.ledger-table tr:hover td {
	background-color:rgba(29, 106, 104, 0.03);
}

.ledger-table .mono {
	font-family:var(--jone-c26);
}

.ledger-table .rate-highlight {
	font-family:var(--jone-c26);
	font-weight:600;
	color:var(--accent);
	white-space:nowrap;
}

.farm-form {
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
}

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

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

.form-group {
	display:flex;
	flex-direction:column;
	gap:var(--space-1);
}

.form-label {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	font-family:var(--jone-467);
	font-size:var(--text-sm);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink);
}

.form-label .optional {
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	font-weight:400;
	text-transform:lowercase;
	color:var(--ink-muted);
}

.form-input,
.form-select,
.form-textarea {
	width:100%;
	min-height:44px;
	padding:0.65rem 0.85rem;
	font-family:var(--jone-c4d);
	font-size:var(--text-base);
	color:var(--ink);
	background-color:#fff;
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
	transition:border-color var(--dur-rapid) var(--ease-standard),
							box-shadow var(--dur-rapid) var(--ease-standard),
							background-color var(--dur-rapid) var(--ease-standard);
}

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

.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(--accent);
	box-shadow:0 0 0 3px var(--accent-soft);
}

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

.form-input.has-error:focus,
.form-select.has-error:focus,
.form-textarea.has-error:focus {
	box-shadow:0 0 0 3px rgba(150, 43, 43, 0.15);
}

.field-fault,
.form-error {
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--danger);
	display:none;
	margin-top:0.25rem;
}

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

.form-check {
	display:flex;
	align-items:flex-start;
	gap:var(--space-3);
	margin-top:var(--space-2);
}

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

.form-check-label {
	font-size:var(--text-sm);
	color:var(--ink-muted);
	line-height:var(--leading-normal);
}

.form-check-label a {
	color:var(--accent);
}

.form-status {
	padding:var(--space-4);
	border-radius:var(--radius-xs);
	font-family:var(--jone-c26);
	font-size:var(--text-sm);
	display:none;
}

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

.form-status.is-fault {
	display:block;
	background-color:var(--danger-bg);
	border:1px solid var(--danger-border);
	color:var(--danger);
}

.tool-calculator {
	background-color:var(--sheet);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-sm);
	padding:var(--space-5);
	box-shadow:var(--shadow-sm);
	position:relative;
}

@media (min-width: 768px) {
	.tool-calculator {
		padding:var(--space-8);
	}
}

.tool-header {
	margin-bottom:var(--space-6);
	padding-bottom:var(--space-4);
	border-bottom:1px solid var(--border-subtle);
}

.tool-title {
	font-family:var(--jone-467);
	font-size:var(--text-xl);
	font-weight:700;
	letter-spacing:var(--tracking-tight);
	color:var(--ink);
	margin-bottom:var(--space-1);
}

.tool-formula {
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-muted);
	background-color:var(--sheet-alt);
	padding:0.4rem 0.65rem;
	border-radius:var(--radius-xs);
	border:1px solid var(--border-subtle);
	display:inline-block;
	margin-top:var(--space-2);
}

.tool-layout {
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-6);
}

@media (min-width: 860px) {
	.tool-layout {
		grid-template-columns:1.2fr 1fr;
		gap:var(--space-8);
	}
}

.tool-inputs {
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
}

.tool-field {
	display:flex;
	flex-direction:column;
	gap:var(--space-1);
}

.tool-label {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	font-family:var(--jone-467);
	font-size:var(--text-sm);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink);
}

.tool-val-display {
	font-family:var(--jone-c26);
	font-size:var(--text-sm);
	font-weight:600;
	color:var(--accent);
}

.tool-range {
	width:100%;
	height:6px;
	background-color:var(--sheet-alt);
	border-radius:var(--radius-xs);
	outline:none;
	accent-color:var(--accent);
	cursor:pointer;
	margin:var(--space-2) 0;
}

.tool-output-panel {
	background-color:var(--sheet-dark);
	color:var(--ink-inverse);
	border:1px solid var(--border-dark);
	border-radius:var(--radius-sm);
	padding:var(--space-6);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:var(--space-4);
	position:relative;
}

.tool-output-badge {
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--accent-bright);
}

.tool-output-main {
	display:flex;
	flex-direction:column;
	gap:var(--space-1);
}

.tool-output-figure {
	font-family:var(--jone-467);
	font-size:clamp(2rem, 4vw + 0.5rem, 3.25rem);
	font-weight:700;
	line-height:1;
	color:#fff;
	letter-spacing:var(--tracking-tight);
}

.tool-output-unit {
	font-family:var(--jone-c26);
	font-size:var(--text-sm);
	color:var(--ink-inverse-muted);
}

.tool-output-breakdown {
	border-top:1px solid var(--border-dark);
	padding-top:var(--space-4);
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-inverse-muted);
}

.tool-output-note {
	font-size:var(--text-xs);
	color:var(--ink-inverse-muted);
	line-height:var(--leading-normal);
	font-style:italic;
	border-top:1px dashed var(--border-dark);
	padding-top:var(--space-3);
}

.site-footer {
	margin-top:auto;
	background-color:var(--sheet-dark);
	color:var(--ink-inverse);
	border-top:2px solid var(--accent);
	padding-top:var(--space-12);
	padding-bottom:var(--space-8);
	font-size:var(--text-sm);
}

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

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

@media (min-width: 1024px) {
	.footer-grid {
		grid-template-columns:2fr 1.2fr 1fr;
		gap:var(--space-10);
	}
}

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

.footer-logo {
	display:inline-block;
	text-decoration:none;
}

.footer-logo img {
	height:2.35rem;
	width:auto;
	max-width:240px;
	object-fit:contain;
}

.footer-bio {
	color:var(--ink-inverse-muted);
	font-size:var(--text-sm);
	line-height:var(--leading-relaxed);
	max-width:44ch;
}

.footer-heading {
	font-family:var(--jone-467);
	font-size:var(--text-md);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:#fff;
	margin-bottom:var(--space-3);
	padding-bottom:var(--space-2);
	border-bottom:1px solid var(--border-dark);
}

.footer-facts-list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--ink-inverse-muted);
}

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

.footer-fact-item a {
	color:#e8f4f8;
	text-decoration:none;
	transition:color var(--dur-rapid) var(--ease-standard);
}

.footer-fact-item a:hover {
	color:#5fe3dc;
	text-decoration:underline;
}

.footer-fact-item a:focus-visible {
	outline:2px solid #5fe3dc;
	outline-offset:2px;
}

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

.footer-nav-link {
	display:inline-flex;
	align-items:center;
	min-height:36px;
	padding:0.25rem 0;
	font-family:var(--jone-467);
	font-size:var(--text-base);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:var(--ink-inverse-muted);
	text-decoration:none;
	transition:color var(--dur-rapid) var(--ease-standard),
							transform var(--dur-rapid) var(--ease-standard);
}

.footer-nav-link:hover {
	color:#fff;
	transform:translateX(3px);
}

.footer-nav-link:active {
	color:#5fe3dc;
}

.footer-nav-link:focus-visible {
	outline:2px solid #5fe3dc;
	outline-offset:2px;
}

.footer-bottom-bar {
	border-top:1px solid var(--border-dark);
	padding-top:var(--space-6);
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
	font-size:var(--text-xs);
	color:var(--ink-inverse-muted);
}

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

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

.footer-legal-links a {
	color:var(--ink-inverse-muted);
	text-decoration:none;
	transition:color var(--dur-rapid) var(--ease-standard);
}

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

.footer-legal-links a:focus-visible {
	outline:2px solid #5fe3dc;
	outline-offset:2px;
}

/* Ensure links over light backgrounds are dark enough, never #F6FAF8 */
.site-main a:not(.btn):not(.chip-anchor):not(.mobile-nav-link):not(.nav-link) {
	color:#125451;
}

.site-main a:not(.btn):not(.chip-anchor):not(.mobile-nav-link):not(.nav-link):hover {
	color:#0a3634;
}

.contact-item-row a {
	color:#125451 !important;
}

.interface-frame a:not(.btn) {
	color:#125451 !important;
}

.cookie-settings-btn {
	background:none;
	border:none;
	padding:0;
	font-family:inherit;
	font-size:inherit;
	color:var(--ink-inverse-muted);
	cursor:pointer;
	text-decoration:underline;
	text-underline-offset:2px;
	transition:color var(--dur-rapid) var(--ease-standard);
}

.cookie-settings-btn:hover {
	color:#fff;
}

.cookie-settings-btn:active {
	color:var(--accent-bright);
}

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

.cookie-banner {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	max-height:20vh;
	background-color:var(--sheet-dark);
	color:var(--ink-inverse);
	border-top:2px solid var(--accent);
	box-shadow:0 -4px 16px rgba(19, 34, 43, 0.25);
	z-index:var(--z-banner);
	padding:0.75rem var(--space-4);
	display:none;
}

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

.cookie-banner-inner {
	max-width:var(--container-max);
	margin:0 auto;
	display:flex;
	flex-direction:column;
	gap:var(--space-3);
	align-items:stretch;
}

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

.cookie-banner-text {
	font-size:var(--text-xs);
	line-height:var(--leading-snug);
	color:var(--ink-inverse-muted);
	margin:0;
	max-width:78ch;
}

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

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

.cookie-banner-actions .btn {
	min-height:36px;
	padding:0.35rem 0.85rem;
	font-size:var(--text-xs);
	white-space:nowrap;
}

.chat-widget {
	position:fixed;
	bottom:var(--space-4);
	right:var(--space-4);
	z-index:var(--z-chat);
	display:flex;
	flex-direction:column;
	align-items:flex-end;
}

body.has-cookie-banner .chat-widget {
	bottom:calc(var(--space-4) + 80px);
	transition:bottom var(--dur-swift) var(--ease-standard);
}

.chat-launcher {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:var(--space-2);
	min-height:48px;
	min-width:48px;
	padding:0.65rem 1rem;
	background-color:var(--accent);
	color:#fff;
	border:1px solid var(--accent-bright);
	border-radius:var(--radius-sm);
	box-shadow:0 4px 14px rgba(19, 34, 43, 0.25);
	cursor:pointer;
	font-family:var(--jone-467);
	font-size:var(--text-sm);
	font-weight:600;
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	transition:background-color var(--dur-rapid) var(--ease-standard),
							transform var(--dur-rapid) var(--ease-standard),
							box-shadow var(--dur-rapid) var(--ease-standard);
	position:relative;
}

.chat-launcher:hover {
	background-color:var(--accent-bright);
	transform:translateY(-2px);
	box-shadow:0 6px 18px rgba(19, 34, 43, 0.3);
}

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

.chat-launcher:focus-visible {
	outline:2px solid #fff;
	outline-offset:3px;
}

.chat-unread-badge {
	position:absolute;
	top:-6px;
	right:-6px;
	background-color:var(--danger);
	color:#fff;
	font-family:var(--jone-c26);
	font-size:0.7rem;
	font-weight:700;
	min-width:18px;
	height:18px;
	line-height:18px;
	border-radius:9px;
	padding:0 4px;
	text-align:center;
	display:none;
}

.chat-unread-badge.has-unread {
	display:inline-block;
}

.chat-panel {
	display:none;
	position:absolute;
	bottom:calc(100% + var(--space-3));
	right:0;
	width:min(360px, calc(100vw - 2rem));
	height:min(520px, calc(100vh - 120px));
	background-color:var(--sheet);
	border:1px solid var(--border-strong);
	border-radius:var(--radius-sm);
	box-shadow:0 12px 32px rgba(19, 34, 43, 0.25);
	flex-direction:column;
	overflow:hidden;
}

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

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

.chat-panel-title {
	display:flex;
	flex-direction:column;
	gap:2px;
}

.chat-panel-title strong {
	font-family:var(--jone-467);
	font-size:var(--text-base);
	letter-spacing:var(--tracking-wide);
	text-transform:uppercase;
	color:#fff;
}

.chat-panel-title span {
	font-family:var(--jone-c26);
	font-size:var(--text-xs);
	color:var(--accent-bright);
}

.chat-close-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	min-width:36px;
	padding:0.25rem;
	background:transparent;
	color:var(--ink-inverse-muted);
	border:1px solid transparent;
	border-radius:var(--radius-xs);
	cursor:pointer;
	transition:color var(--dur-rapid) var(--ease-standard),
							background-color var(--dur-rapid) var(--ease-standard);
}

.chat-close-btn:hover {
	color:#fff;
	background-color:var(--sheet-dark-alt);
}

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

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

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

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

.chat-msg-operator {
	align-self:flex-start;
	background-color:var(--sheet);
	border:1px solid var(--border-subtle);
	color:var(--ink);
}

.chat-msg-user {
	align-self:flex-end;
	background-color:var(--accent);
	color:#fff;
}

.chat-msg-time {
	display:block;
	font-family:var(--jone-c26);
	font-size:0.65rem;
	color:var(--ink-muted);
	margin-top:0.25rem;
}

.chat-msg-user .chat-msg-time {
	color:rgba(255, 255, 255, 0.75);
}

.chat-preflight {
	padding:var(--space-4);
	background-color:var(--sheet);
	border-top:1px solid var(--border-subtle);
	display:flex;
	flex-direction:column;
	gap:var(--space-2);
}

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

.chat-input-field {
	flex:1 1 auto;
	min-height:40px;
	padding:0.5rem 0.75rem;
	font-family:var(--jone-c4d);
	font-size:var(--text-sm);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-xs);
}

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

.chat-send-btn {
	min-height:40px;
	padding:0.5rem 0.85rem;
	font-family:var(--jone-467);
	font-size:var(--text-xs);
	font-weight:600;
	text-transform:uppercase;
	background-color:var(--accent);
	color:#fff;
	border:none;
	border-radius:var(--radius-xs);
	cursor:pointer;
	transition:background-color var(--dur-rapid) var(--ease-standard);
}

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

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

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