.hero {
	position: relative;
	min-height: clamp(520px, 70vh, 760px);
	display: grid;
	align-items: center;
}
.hero--sub {
	min-height: 360px;
}
.hero__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(180deg, rgba(244,226,205,0.35), rgba(244,226,205,0.85)),
		url("../img/hero-pan.jpg");
	background-size: cover;
	background-position: center;
	filter: saturate(1) contrast(0.95);
}
.hero__content {
	position: relative;
	padding: 3rem 0;
}
.hero__content--photo {
	/* Optional photo behind the hero text area */
	background-image: linear-gradient(180deg, rgba(244,226,205,0.9), rgba(244,226,205,0.75)), url(var(--hero-photo-url, ""));
	background-size: cover;
	background-position: center;
	border-radius: var(--radius);
	padding: 2rem;
	box-shadow: var(--shadow-sm);
	max-width: 860px;
}
.hero .eyebrow {
	background: rgba(255,255,255,0.7);
}
.hero__title {
	margin-top: 0.8rem;
	margin-bottom: 0.6rem;
	font-weight: 700;
	color: var(--brown-700);
	text-shadow: 0 2px 0 rgba(255, 255, 255, 0.35);
}
.hero__subtitle {
	max-width: 48ch;
	font-size: clamp(1rem, 0.6vw + 0.95rem, 1.15rem);
	opacity: 0.92;
}
.hero__ctas {
	margin-top: 1.25rem;
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	.hero {
		min-height: clamp(480px, 65vh, 680px);
	}
	.hero__content {
		padding: 2rem 0 2.5rem;
	}
	.hero__title {
		font-size: clamp(1.75rem, 5vw + 0.5rem, 2.2rem);
		line-height: 1.25;
		margin-top: 0.6rem;
		margin-bottom: 0.8rem;
	}
	.hero__subtitle {
		max-width: 100%;
		font-size: clamp(0.95rem, 2vw + 0.85rem, 1.1rem);
		line-height: 1.5;
		margin-bottom: 1.5rem;
	}
	.hero__ctas {
		margin-top: 1.5rem;
		gap: 0.75rem;
	}
	.hero__ctas .btn {
		width: 100%;
		justify-content: center;
	}
	.hero .eyebrow {
		font-size: 0.85rem;
		padding: 0.4rem 0.8rem;
	}
}

