/**
 * Homepage visual identity restoration.
 * Values are mapped directly from the original Horizons HomePage.jsx.
 */

/* ================= Hero campaign ================= */
.evelia-hero {
	position: relative;
	min-height: 100dvh;
	overflow: hidden;
	background: hsl(var(--ivory));
}
.evelia-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.evelia-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, hsl(var(--ivory)), hsl(var(--ivory) / 0.55), hsl(var(--blush) / 0.35));
}
.evelia-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 100dvh;
	max-width: 86rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 6rem 1.5rem 4rem;
	text-align: center;
}
.evelia-hero__logo { margin-bottom: 0.5rem; opacity: 0; animation: evelia-hero-in-logo 0.8s ease-out forwards, evelia-float 7s ease-in-out 0.8s infinite; }
.evelia-hero__eyebrow { margin-top: 1rem; opacity: 0; animation: evelia-hero-in-y14 0.7s 0.12s ease-out forwards; }
.evelia-hero__title {
	max-width: 22ch;
	margin-top: 1.5rem;
	font-family: var(--font-display-family, "Amiri", "Marcellus", serif);
	font-size: 2.85rem;
	font-weight: 400;
	line-height: 1.15;
	color: hsl(var(--plum));
	opacity: 0;
	animation: evelia-hero-in-y26 0.9s 0.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.evelia-hero__title-line2 { margin-top: 0.25rem; display: block; }
.evelia-hero__subtitle {
	max-width: 28rem;
	margin-top: 1.75rem;
	font-size: 15px;
	line-height: 2;
	color: hsl(var(--plum) / 0.78);
	opacity: 0;
	animation: evelia-hero-in-y20 0.8s 0.32s ease-out forwards;
}
.evelia-hero__actions {
	width: 100%;
	max-width: 24rem;
	margin-top: 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	opacity: 0;
	animation: evelia-hero-in-y20 0.8s 0.42s ease-out forwards;
}
.evelia-hero__rating {
	margin-top: 2rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	color: hsl(var(--plum) / 0.6);
	opacity: 0;
	animation: evelia-hero-fade 1s 0.6s ease-out forwards;
}
.evelia-hero__stars { display: flex; gap: 0.125rem; color: hsl(var(--gold)); }

@media (min-width: 640px) {
	.evelia-hero__scrim {
		background: linear-gradient(to left, hsl(var(--ivory) / 0.94), hsl(var(--ivory) / 0.55), transparent);
	}
	[dir="ltr"] .evelia-hero__scrim {
		background: linear-gradient(to right, hsl(var(--ivory) / 0.94), hsl(var(--ivory) / 0.55), transparent);
	}
	.evelia-hero__inner {
		align-items: flex-start;
		justify-content: center;
		padding-bottom: 6rem;
		text-align: right;
	}
	[dir="ltr"] .evelia-hero__inner { text-align: left; }
	.evelia-hero__title { font-size: 3.75rem; }
	.evelia-hero__subtitle { font-size: 1.125rem; }
	.evelia-hero__actions { max-width: none; flex-direction: row; align-items: center; }
}
@media (min-width: 1024px) {
	.evelia-hero__title { font-size: 4.75rem; }
}

@keyframes evelia-hero-in-logo { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes evelia-hero-in-y14 { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
@keyframes evelia-hero-in-y20 { from { opacity: 0; translate: 0 20px; } to { opacity: 1; translate: 0 0; } }
@keyframes evelia-hero-in-y26 { from { opacity: 0; translate: 0 26px; } to { opacity: 1; translate: 0 0; } }
@keyframes evelia-hero-fade { from { opacity: 0; } to { opacity: 1; } }

/* The first section begins immediately after the full-height campaign. */
.home .evelia-reviews { background: hsl(var(--ivory)); }
.evelia-reviews.evelia-section { padding-block: 5rem; }
.evelia-reviews__title { margin-top: 1.25rem; font-family: var(--font-display-family); font-size: 1.875rem; font-weight: 400; color: hsl(var(--plum)); }
.evelia-reviews__rating { margin-top: 1rem; font-size: 0.875rem; color: hsl(var(--muted-foreground)); }
@media (min-width: 640px) { .evelia-reviews__title { font-size: 2.25rem; } }

@media (prefers-reduced-motion: reduce) {
	.evelia-hero__logo,
	.evelia-hero__eyebrow,
	.evelia-hero__title,
	.evelia-hero__subtitle,
	.evelia-hero__actions,
	.evelia-hero__rating {
		opacity: 1;
		translate: none;
		animation: none;
	}
}
