/* Front page — loaded only with the theme's homepage. */
.home .vh-site {
	min-height: 100svh;
}

.home .vh-main {
	display: flex;
}

.vh-hero {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 48px clamp(20px, 5vw, 64px) 64px;
	background:
		radial-gradient(900px 480px at 78% 28%, var(--vh-pink-soft), transparent 58%),
		linear-gradient(180deg, var(--vh-bg), var(--vh-surface) 42%);
	color: var(--vh-text);
}

.vh-hero__brand {
	max-width: 100%;
	margin: 0 0 16px;
	color: var(--vh-text);
	font-size: clamp(2.6rem, 7vw, 3.75rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.vh-hero__lead {
	max-width: min(36ch, 100%);
	margin: 0;
	color: var(--vh-muted);
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	line-height: 1.5;
	overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: no-preference) {
	.vh-hero__brand,
	.vh-hero__lead {
		animation: vibehaven-hero-rise 0.75s ease both;
	}

	.vh-hero__lead {
		animation-delay: 0.12s;
	}
}

@keyframes vibehaven-hero-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
