/* Cinematic hero — image / video / youtube / slider modes. */

.smc-hero {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	overflow: hidden;
	background: var(--sm-primary);
}

.smc-hero--full { min-height: 100svh; }
.smc-hero--large { min-height: 82vh; }
.smc-hero--medium { min-height: 60vh; }

.smc-hero__media,
.smc-hero-slider__slide .smc-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.smc-hero__media picture,
.smc-hero__media img,
.smc-hero__video,
.smc-hero__embed {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.smc-hero__mobile-fallback { display: none; }

.smc-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,var(--sm-hero-overlay)) 55%, rgba(0,0,0,0.75) 100%);
}

.smc-hero__content {
	position: relative;
	z-index: 1;
	max-width: 780px;
	padding-top: 120px;
	padding-bottom: 40px;
}
.smc-hero--align-center .smc-hero__content { margin: 0 auto; text-align: center; }

.smc-hero__heading {
	font-size: clamp(38px, 7vw, 88px);
	color: #fff;
	margin-bottom: 20px;
}

.smc-hero__subheading {
	font-family: var(--sm-font-heading);
	font-style: italic;
	font-size: clamp(18px, 2.2vw, 26px);
	color: var(--sm-accent);
	margin-bottom: 16px;
}

.smc-hero__description {
	font-size: 17px;
	color: rgba(255,255,255,0.85);
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 36px;
}
.smc-hero--align-left .smc-hero__description { margin-left: 0; margin-right: 0; }

.smc-hero__scroll-cue {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	width: 22px;
	height: 36px;
	border: 1px solid rgba(255,255,255,0.6);
	border-radius: 20px;
}
.smc-hero__scroll-cue span {
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 8px;
	border-radius: 2px;
	background: #fff;
	animation: smc-scroll-cue 1.8s ease-in-out infinite;
}
@keyframes smc-scroll-cue {
	0% { opacity: 1; top: 6px; }
	70% { opacity: 0; top: 18px; }
	100% { opacity: 0; top: 18px; }
}

/* Slider mode */
.smc-hero-slider { position: relative; width: 100%; min-height: inherit; }
.smc-hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease;
	display: flex;
	align-items: center;
}
.smc-hero-slider__slide.is-active { opacity: 1; visibility: visible; position: relative; }

.smc-hero-slider__nav {
	position: absolute;
	bottom: 32px;
	right: 32px;
	z-index: 2;
	display: flex;
	gap: 10px;
}
.smc-hero-slider__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.6);
	transition: var(--sm-transition);
}
.smc-hero-slider__dot.is-active { background: var(--sm-accent); border-color: var(--sm-accent); }

@media (max-width: 767px) {
	.smc-hero__video,
	.smc-hero__embed { display: none; }
	.smc-hero__mobile-fallback { display: block; }
	.smc-hero__content { padding-top: 96px; }
}
