/* Hero: full-bleed image or video, warm overlay, text and buttons, wavy bottom edge. */
.lmn-hero {
	position: relative; isolation: isolate; display: grid; align-items: end; overflow: hidden;
	width: 100vw; margin-left: calc(50% - 50vw); min-height: 60vh; color: var(--lmn-white);
	margin-top: calc(-1 * var(--lmn-section, 0px) * 0); /* keeps room for Elementor spacing */
}
.lmn-hero--tall { min-height: min(88vh, 900px); }
.lmn-hero--short { min-height: min(48vh, 520px); }
.lmn-hero__media, .lmn-hero__media img, .lmn-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.lmn-hero__media.is-placeholder { background: linear-gradient(135deg, var(--lmn-coral) 0%, var(--lmn-yellow) 100%); }
.lmn-hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(22, 22, 22, 0.15) 0%, rgba(22, 22, 22, 0.35) 50%, rgba(22, 22, 22, 0.7) 100%); }
.lmn-hero__content {
	position: relative; width: min(100% - 2 * var(--lmn-gutter), var(--lmn-container)); margin-inline: auto;
	padding: clamp(5rem, 12vw, 8rem) 0 clamp(4rem, 10vw, 7rem); max-width: 100%;
}
.lmn-hero__inner { max-width: 44rem; }
.lmn-hero--center .lmn-hero__inner { margin-inline: auto; text-align: center; }
.lmn-hero--center .lmn-actions { justify-content: center; }
.lmn-hero__kicker { color: var(--lmn-yellow); margin-bottom: 0.75rem; }
.lmn-hero__title { color: var(--lmn-white); text-shadow: 0 2px 20px rgba(0, 0, 0, 0.25); margin-bottom: 0.35em; }
.lmn-hero__subtitle { font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem); max-width: 36rem; margin-bottom: 1.5rem; text-wrap: pretty; }
.lmn-hero--center .lmn-hero__subtitle { margin-inline: auto; }
.lmn-hero .lmn-btn--secondary { background: var(--lmn-yellow); color: var(--lmn-black); }
.lmn-hero .lmn-btn--outline { color: var(--lmn-white); border-color: var(--lmn-white); }
.lmn-hero .lmn-btn--outline:hover { background: var(--lmn-white); color: var(--lmn-black); }
.lmn-hero__wave { position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(28px, 5vw, 64px); line-height: 0; z-index: 1; }
.lmn-hero__wave svg { width: 100%; height: 100%; display: block; }
.lmn-hero__wave path { fill: var(--lmn-cream); }
.lmn-hero__scroll { position: absolute; bottom: clamp(3rem, 7vw, 5rem); left: 50%; transform: translateX(-50%); color: var(--lmn-white); opacity: 0.8; display: none; }
@media (min-width: 900px) { .lmn-hero--tall .lmn-hero__scroll { display: block; } }
