* {
	box-sizing: border-box;
}

html {
	min-height: 100%;
	background: var(--hc-background, #f3f8fc);
}

body.homecheckr-coming-soon {
	min-height: 100vh;
	margin: 0;
	background:
		radial-gradient(circle at 88% 14%, rgba(36, 151, 201, 0.11), transparent 32rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0)),
		var(--hc-background, #f3f8fc);
	color: #17344f;
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}

.hc-shell {
	display: grid;
	min-height: 100vh;
	padding: clamp(1.5rem, 4vw, 4rem);
	place-items: center;
}

.hc-panel {
	width: min(100%, 74rem);
	padding: clamp(2rem, 6vw, 5.75rem);
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid rgba(23, 52, 79, 0.09);
	border-radius: 1.5rem;
	box-shadow: 0 1.75rem 5rem rgba(17, 47, 73, 0.09);
	backdrop-filter: blur(14px);
}

.hc-brand {
	min-height: 2.5rem;
	margin-bottom: clamp(4rem, 9vw, 8.5rem);
}

.hc-logo {
	display: block;
	width: auto;
	max-width: min(16rem, 65vw);
	max-height: 3.2rem;
	object-fit: contain;
	object-position: left center;
}

.hc-wordmark {
	color: #17344f;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hc-copy {
	max-width: 59rem;
}

.hc-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	color: var(--hc-accent, #2497c9);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.hc-eyebrow::before {
	width: 2.5rem;
	height: 2px;
	background: currentColor;
	content: "";
}

.hc-copy h1 {
	max-width: 18ch;
	margin: 0;
	color: #17344f;
	font-size: clamp(2.7rem, 6.3vw, 5.9rem);
	font-weight: 760;
	letter-spacing: -0.055em;
	line-height: 0.99;
	text-wrap: balance;
}

.hc-description {
	max-width: 54rem;
	margin: clamp(1.8rem, 3vw, 2.6rem) 0 0;
	color: #526a7e;
	font-size: clamp(1.04rem, 1.75vw, 1.34rem);
	line-height: 1.7;
	text-wrap: pretty;
}

.hc-status {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: clamp(4rem, 8vw, 7.5rem);
	color: #17344f;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hc-status-mark {
	width: 0.65rem;
	height: 0.65rem;
	background: var(--hc-accent, #2497c9);
	border-radius: 50%;
	box-shadow: 0 0 0 0.32rem color-mix(in srgb, var(--hc-accent, #2497c9) 14%, transparent);
}

@media (max-width: 640px) {
	.hc-shell {
		padding: 0;
		place-items: stretch;
	}

	.hc-panel {
		min-height: 100vh;
		padding: 2rem 1.35rem 2.5rem;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.hc-brand {
		margin-bottom: 5rem;
	}

	.hc-copy h1 {
		font-size: clamp(2.65rem, 13vw, 4.2rem);
		line-height: 1.02;
	}

	.hc-description {
		font-size: 1.05rem;
		line-height: 1.65;
	}

	.hc-status {
		margin-top: 5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
	}
}

