/* ============================================
   Home — Hero Section
   ============================================ */

/* The hero and feature sections run full-bleed; the global gutters
   from main.css would pinch them. */
.page-home main {
	padding: 0;
}

@font-face {
	font-family: "Homemade Apple";
	src: url("/static/font/HomemadeApple-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

.hero {
	position: relative;
	width: 100%;
	height: 100dvh;
	min-height: 36rem;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
}

.hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	/* Inline low-quality placeholder (32px webp, ~230B) painted instantly
	   with the HTML — a hand-wavy impression of Svetlana's painting while
	   the full hero loads, lowsrc-style. Cropped to match the img below. */
	background-image: url('data:image/webp;base64,UklGRuAAAABXRUJQVlA4INQAAACQBQCdASogABUAPtFgqU+oJSOiKAgBABoJagCdMyVIGQAD/lOU4FXeGAydA49r3XDTbi+xZgD++ik39EZ78ms8oDy5mWX9gIGSJmG9qO3wBoRz7U27UnwiDC7nLZUe0aRmCtJMOhzcGS3Iji9q3TO3wmrTZvuxBwQDKnRR0fw8DpSEUvk/c+EJJvpKP9wQ1W9S/VU0nFxGaPecmUs+u2hFeYxkhA7I7sQxglCjUuSmeXWfEfZZncklVIWO9fj8btNN05HRC93Bavtxw0CjMyBRgAAAAA==');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
}

.hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Pure-CSS blur-up — no JS. The sharp hero fades in over the inline
	   placeholder above. Time-based like the hero entrance animations below;
	   because the placeholder is the same painting, a slow-loading image just
	   resolves over its own blur — there is never a blank frame. */
	animation: hero-img-fade 1.1s ease both;
}

@keyframes hero-img-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

.hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		transparent 30%,
		rgba(0, 0, 0, 0.5) 65%,
		rgba(0, 0, 0, 0.92) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 0 var(--page-gutter) clamp(3rem, 8vh, 6rem);
	max-width: var(--content-width);
}

.hero__title {
	font-family: 'Fraunces', 'Georgia', serif;
	font-size: clamp(3.5rem, 8vw, 7rem);
	font-weight: 700;
	color: var(--text-primary);
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin-bottom: 0.5em;
}

.hero__subtitle {
	font-family: "Homemade Apple", 'Georgia', serif;
	font-size: clamp(1.1rem, 2vw, 1.6rem);
	color: var(--text-secondary);
	margin-bottom: 2em;
}

.hero__cta {
	display: inline-block;
	font-family: 'Source Serif 4', 'Georgia', serif;
	font-size: 1.05rem;
	color: var(--golden-foam);
	border-bottom: 1px solid rgba(255, 235, 140, 0.4);
	padding-bottom: 0.2em;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.hero__cta:hover {
	color: var(--golden);
	border-bottom-color: var(--golden);
}

/* === Home Sections Below Hero === */

.home-section {
	padding-block: var(--section-padding);
}

.home-section + .home-section {
	border-top: 1px solid var(--divider);
}

.home-section__heading {
	margin-bottom: 1.5rem;
}

.home-section__heading span {
	color: var(--golden-foam);
}

.home-section__body {
	max-width: 65ch;
	color: var(--text-secondary);
}

/* Entrance animation */
@keyframes hero-fade-up {
	from {
		opacity: 0;
		transform: translateY(1.5rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero__title {
	animation: hero-fade-up 0.8s ease both;
}

.hero__subtitle {
	animation: hero-fade-up 0.8s ease 0.15s both;
}

.hero__cta {
	animation: hero-fade-up 0.8s ease 0.3s both;
}

/* ============================================
   Home — Hero Variant: Lower-Right (comparison)
   Additive only. Everything above is untouched, so the
   existing /index/ page keeps its bottom-center layout
   as the fallback while we compare the two.
   ============================================ */

.hero--lr {
	justify-content: flex-end;
}

/* Anchor the cover-crop to the base of the canvas so
   Svetlana's signature (bottom-left) survives the crop
   instead of being guillotined off the bottom edge. */
.hero--lr .hero__image img {
	object-position: center bottom;
}

/* Corner scrim — darkens ONLY the lower-right behind the
   wordmark so the wave, sky, sand, and Svetlana's signature
   (bottom-left) all keep their midday brightness. Deep-blue
   tint (ocean-abyss) instead of flat black to stay on-
   palette. No bottom band: the painting meets the black
   sections below with a clean framed-canvas edge, and
   nothing dims the signature corner. */
.hero__scrim--corner {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: radial-gradient(
		125% 95% at 100% 100%,
		rgba(0, 15, 59, 0.78) 0%,
		rgba(0, 15, 59, 0.38) 30%,
		transparent 56%
	);
}

.hero__content--lr {
	text-align: right;
	max-width: min(34rem, 90vw);
	margin-left: auto;
	padding-right: clamp(1.5rem, 5vw, 4rem);
	padding-bottom: clamp(2.5rem, 7vh, 5rem);
}

/* Clean lowercase wordmark — plain type as a label, so it
   reads as the brand mark while Svetlana's wave stays the
   single painterly wordmark. */
.hero__wordmark {
	display: block;
	width: clamp(11rem, 24vw, 19rem);
	height: auto;
	margin: 0 0 0.5em auto;
	filter: drop-shadow(0 1px 14px rgba(0, 15, 59, 0.55));
	animation: hero-fade-up 0.8s ease both;
}

.hero__content--lr .hero__subtitle {
	color: var(--text-secondary);
	text-shadow: 0 1px 10px rgba(0, 15, 59, 0.6);
	margin-bottom: 0;
}

/* Respect reduced-motion for all hero entrance animations. */
@media (prefers-reduced-motion: reduce) {
	.hero__title,
	.hero__subtitle,
	.hero__cta,
	.hero__wordmark,
	.hero__image img {
		animation: none;
	}
}

@media (max-width: 768px) {
	.hero__image {
		left: -422px;
	}
}

/* === Home Highlights (bullet list + CTA) === */

.home-highlights {
	padding: clamp(2rem, 4vh, 4rem) var(--page-gutter);
	margin-inline: auto;
	max-width: 100%;
	margin-right: auto;
	margin-left: var(--page-gutter);
}

.home-highlights__list {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
}

.home-highlights__list li {
	position: relative;
	padding-left: 1.5em;
	/* Shared type treatment (see --feature-type-* in main.css) — identical
	   to the feature-section headings so the list reads as a shrunk-down
	   heading. font-size is the ONLY property that differs. */
	font-family: var(--feature-type-family);
	/* Strip the shared bold (--feature-type-weight is 700): these read better
	   as large, light display lines. Fraunces is variable, so the "wght" in
	   font-variation-settings is what actually sets weight — must override it
	   too, not just font-weight. */
	font-weight: 400;
	font-style: var(--feature-type-style);
	color: var(--feature-type-color);
	letter-spacing: var(--feature-type-letter-spacing);
	line-height: var(--feature-type-line-height);
	font-optical-sizing: none;
	font-variation-settings: "opsz" var(--feature-type-opsz), "wght" 400;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	max-width: 40ch;
}

.home-highlights__list li + li {
	margin-top: 0.6em;
}

.home-highlights__list li::before {
	content: '🏄';
	position: absolute;
	left: 0;
	/* Brand tilde marker, colored with the exact same var as the
	   heading/list text (no opacity, so it's the identical color). */
	color: var(--feature-type-color);
}

/* Alternate the marker: 🏄 on odd items, 🌊 on even. */
.home-highlights__list li:nth-child(even)::before {
	content: '🌊';
}

.home-highlights__cta {
	/* Block + fit-content + auto margins centers the link while keeping the
	   underline border hugging the text rather than the full column width. */
	display: block;
	width: fit-content;
	margin-inline: auto;
	font-family: 'Fraunces', 'Georgia', serif;
	/* Doubled from clamp(1.2rem, 2vw, 1.5rem) so it reads as a real
	   invitation rather than a footnote. */
	font-size: clamp(2.4rem, 4vw, 3rem);
	color: var(--golden-foam);
	border-bottom: 1px solid rgba(255, 235, 140, 0.4);
	/* Breathing room via margin (not padding) so the underline stays
	   hugging the text instead of stretching with the box. */
	margin: 0.6em auto 1.15em;
	padding-bottom: 0.15em;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.home-highlights__cta:hover {
	color: var(--golden);
	border-bottom-color: var(--golden);
}

@media (max-width: 48rem) {
	.home-highlights {
		max-width: 100%;
	}
}
