/* Lethouse public design system v7 */
:root {
	--lh-ink: #1f2422;
	--lh-black: var(--lh-ink);
	--lh-text: var(--lh-ink);
	--lh-muted: #5f6864;
	--lh-green: #2f765f;
	--lh-green-dark: #205443;
	--lh-green-soft: #edf5f2;
	--lh-bg: #f7f9f8;
	--lh-surface: #ffffff;
	--lh-border: #d9dfdc;
	--lh-danger: #9f352f;
	--lh-danger-soft: #fff3f1;
	--lh-warning: #7a5010;
	--lh-warning-soft: #fff8e9;
	--lh-focus: #0b6eeb;
	--lh-radius-sm: 8px;
	--lh-radius-md: 12px;
	--lh-radius-lg: 16px;
	--lh-shadow-sm: 0 2px 8px rgba(24, 35, 30, 0.08);
	--lh-shadow-md: 0 14px 38px rgba(24, 35, 30, 0.10);
	--lh-shadow: var(--lh-shadow-md);
	--lh-soft-shadow: var(--lh-shadow-sm);
	--lh-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--ab-text: var(--lh-ink);
	--ab-muted: var(--lh-muted);
	--ab-border: var(--lh-border);
	--ab-border-input: #89928e;
	--ab-radius: var(--lh-radius-md);
	--ab-radius-sm: var(--lh-radius-sm);
	--ab-shadow: var(--lh-shadow-md);
	--ab-shadow-soft: var(--lh-shadow-sm);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--lh-ink);
	font-family: var(--lh-font);
	text-rendering: optimizeLegibility;
}

body :where(button, input, select, textarea) {
	font-family: inherit;
}

body :where(input[type="radio"], input[type="checkbox"]) {
	accent-color: var(--lh-green);
}

:where(
	body.lh-home-v2,
	body.lh-results-page,
	body.lh-building-page,
	body.lethouse-property-v4,
	body.lethouse-how-v6,
	body.lethouse-support-v7,
	body.lethouse-checkout-v5,
	body.lh-auth-page
) :where(button, [role="button"]) {
	min-height: 44px;
}

:where(
	body.lh-home-v2,
	body.lh-results-page,
	body.lh-building-page,
	body.lethouse-property-v4,
	body.lethouse-how-v6,
	body.lethouse-support-v7,
	body.lethouse-checkout-v5,
	body.lh-auth-page
) :where(input, select, textarea) {
	color: var(--lh-ink);
}

body :where(input, textarea)::placeholder {
	color: #69716d;
	opacity: 1;
}

body :where(h1, h2, h3, h4, h5, h6) {
	color: var(--lh-ink);
	font-family: var(--lh-font);
	text-wrap: balance;
}

body :where(p, li, label, input, select, textarea, button) {
	text-wrap: pretty;
}

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.lh-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 10000;
	padding: 11px 15px;
	border-radius: var(--lh-radius-sm);
	background: var(--lh-ink);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	transform: translateY(-160%);
	transition: transform 140ms ease;
}

.lh-skip-link:focus {
	transform: translateY(0);
}

body :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--lh-focus) !important;
	outline-offset: 3px !important;
	box-shadow: none;
}

body :where(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--lh-danger) !important;
	box-shadow: 0 0 0 1px var(--lh-danger);
}

body :where(button, input, select, textarea):disabled,
body :where([aria-disabled="true"]) {
	cursor: not-allowed;
}

.lh-site-header {
	color: var(--lh-ink);
}

.lh-nav-links a,
.lh-menu-pill {
	color: var(--lh-ink);
}

.lh-owner-entry {
	min-height: 40px !important;
	padding: 0 10px !important;
	border: 0 !important;
	border-radius: var(--lh-radius-sm) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--lh-muted) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.lh-owner-entry:hover,
.lh-owner-entry:focus-visible {
	background: var(--lh-bg) !important;
	color: var(--lh-green-dark) !important;
}

.lh-footer a {
	color: #454d49;
}

.lh-footer a:hover {
	color: var(--lh-green-dark) !important;
}

.lh-footer-social a {
	min-width: 42px;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.lh-checkout-submit:disabled {
	background: #dce1df;
	color: #49514d;
	opacity: 1;
}

.lh-support-button,
.lh-how-button.is-primary,
.lh-checkout-submit,
.lh-results-search button,
.lh-primary-action:not(.is-disabled) {
	background: var(--lh-green);
	color: #fff !important;
}

.lh-support-button:hover,
.lh-how-button.is-primary:hover,
.lh-checkout-submit:not(:disabled):hover,
.lh-results-search button:hover,
.lh-primary-action:not(.is-disabled):hover {
	background: var(--lh-green-dark);
	color: #fff !important;
}

.lh-primary-action.is-disabled {
	background: #dce1df;
	color: #49514d;
}

[role="status"],
[aria-live] {
	scroll-margin-top: 110px;
}

@media (max-width: 760px) {
	.lh-owner-entry {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
