.st-hero-carousel { position: relative; background: var(--color-bg-dark); color: #fff; isolation: isolate; }
.st-hero-carousel__slides { display: grid; overflow: hidden; }
.st-hero-carousel__slide { grid-area: 1 / 1; position: relative; display: flex; align-items: center; min-width: 0; min-height: min(760px, 82svh); visibility: hidden; pointer-events: none; }
.st-hero-carousel__slide.is-active { visibility: visible; pointer-events: auto; }
.st-hero-carousel__image, .st-hero-carousel__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.st-hero-carousel__image { object-fit: cover; }
.st-hero-carousel__shade { background: rgba(0, 0, 0, .55); }
.st-hero-carousel__slide--brand .st-hero-carousel__shade { background: rgba(18, 52, 47, .72); }
.st-hero-carousel__slide--light .st-hero-carousel__shade { background: rgba(0, 0, 0, .38); }
.st-hero-carousel__inner { position: relative; z-index: 1; width: 100%; padding-block: 80px 112px; }
.st-hero-carousel__content { max-width: 1120px; overflow-wrap: anywhere; }
.st-hero-carousel__slide--center { text-align: center; }
.st-hero-carousel__slide--center .st-hero-carousel__content { margin-inline: auto; }
.st-hero-carousel__slide--right { text-align: right; }
.st-hero-carousel__slide--right .st-hero-carousel__content { margin-left: auto; }
.st-hero-carousel__slide--left { text-align: left; }
.st-hero-carousel .st-eyebrow { color: inherit; letter-spacing: 0; }
.st-hero-carousel h1, .st-hero-carousel h2 { margin: 20px 0 0; font-family: var(--font-family-heading); font-size: 64px; line-height: 1.12; font-weight: 700; letter-spacing: 0; color: inherit; }
.st-hero-carousel__intro { max-width: 960px; margin: 28px 0 0; font-size: 20px; line-height: 1.65; }
.st-hero-carousel__slide--center .st-hero-carousel__intro { margin-inline: auto; }
.st-hero-carousel__slide--right .st-hero-carousel__intro { margin-left: auto; }
.st-hero-carousel .st-actions { margin-top: 36px; }
.st-hero-carousel__slide--center .st-actions { justify-content: center; }
.st-hero-carousel__slide--right .st-actions { justify-content: flex-end; }
.st-hero-carousel .btn { white-space: normal; max-width: 100%; text-align: center; overflow-wrap: anywhere; }
.st-hero-carousel__tagline { margin: 24px 0 0; font-size: 16px; }
.st-hero-carousel__controls { position: absolute; z-index: 2; bottom: 24px; inset-inline: 12px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.st-hero-carousel__controls[hidden] { display: none; }
.st-hero-carousel__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.st-hero-carousel__controls button { display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(15,42,42,.32); color: #fff; cursor: pointer; box-shadow: 0 4px 18px rgba(0,0,0,.12); backdrop-filter: blur(8px); transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.st-hero-carousel__controls button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.st-hero-carousel__dots { display: flex; align-items: center; }
.st-hero-carousel__dots button { border: 0; background: transparent; flex-basis: 32px; width: 32px; box-shadow: none; backdrop-filter: none; }
.st-hero-carousel__dots span { width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.85); border-radius: 8px; background: rgba(255,255,255,.25); transition: width 250ms ease, background-color 250ms ease; }
.st-hero-carousel__dots [aria-current="true"] span { width: 22px; background: var(--color-secondary, #c8a45a); border-color: var(--color-secondary, #c8a45a); }
.st-hero-carousel__chevron { display: block; width: 9px; height: 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: translateX(-2px) rotate(45deg); }
.st-hero-carousel__chevron--previous { transform: translateX(2px) rotate(-135deg); }
.st-hero-carousel__pause-icon { width: 10px; height: 12px; border-inline: 3px solid currentColor; }
.st-hero-carousel [data-pause][aria-pressed="true"] .st-hero-carousel__pause-icon { width: 0; height: 0; border: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid currentColor; margin-left: 2px; }
.st-hero-carousel:focus-visible { outline: 3px solid var(--color-secondary, #c8a45a); outline-offset: -3px; }
@media (hover: hover) {
	.st-hero-carousel__controls button:is([data-direction], [data-pause]):hover { background: rgba(15,42,42,.72); border-color: var(--color-secondary, #c8a45a); box-shadow: 0 6px 24px rgba(0,0,0,.2); }
	.st-hero-carousel__dots button:hover span { background: #fff; }
}

/* Crossfade only the opted-in motion modes; slide geometry remains stable. */
.st-hero-carousel:is(.st-hero-carousel--motion-fade, .st-hero-carousel--motion-cinematic) .st-hero-carousel__slide {
	opacity: 0;
	transition: opacity 650ms ease, visibility 0s linear 650ms;
}
.st-hero-carousel:is(.st-hero-carousel--motion-fade, .st-hero-carousel--motion-cinematic) .st-hero-carousel__slide.is-active {
	opacity: 1;
	z-index: 1;
	transition-delay: 0s;
}
.st-hero-carousel:is(.st-hero-carousel--motion-fade, .st-hero-carousel--motion-cinematic) .st-hero-carousel__content > * {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 500ms ease, transform 650ms cubic-bezier(.22,1,.36,1);
}
.st-hero-carousel:is(.st-hero-carousel--motion-fade, .st-hero-carousel--motion-cinematic) .is-active .st-hero-carousel__content > * {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 100ms;
}
.st-hero-carousel:is(.st-hero-carousel--motion-fade, .st-hero-carousel--motion-cinematic) .is-active .st-hero-carousel__content > :nth-child(n+3) { transition-delay: 180ms; }
.st-hero-carousel--motion-cinematic .st-hero-carousel__image { transform: scale(1.035); transition: transform 7s cubic-bezier(.2,.65,.35,1); }
.st-hero-carousel--motion-cinematic .is-active .st-hero-carousel__image { transform: scale(1); }
@media (prefers-reduced-motion: reduce) {
	.st-hero-carousel[class] .st-hero-carousel__slide,
	.st-hero-carousel[class] .st-hero-carousel__image,
	.st-hero-carousel[class] .st-hero-carousel__content > *,
	.st-hero-carousel__controls button,
	.st-hero-carousel__dots span { transition: none; }
	.st-hero-carousel[class] .st-hero-carousel__image,
	.st-hero-carousel[class] .st-hero-carousel__content > * { transform: none; }
}
@media (max-width: 900px) { .st-hero-carousel h1, .st-hero-carousel h2 { font-size: 46px; } }
@media (max-width: 544px) {
	.st-hero-carousel__controls { gap: 6px; }
	.st-hero-carousel__dots button { flex-basis: 24px; width: 24px; }
	.st-hero-carousel h1, .st-hero-carousel h2 { font-size: 34px; }
	.st-hero-carousel__intro { font-size: 17px; margin-top: 20px; }
	.st-hero-carousel__inner { padding-block: 48px 100px; }
	.st-hero-carousel__slide { min-height: 620px; }
	.st-hero-carousel .st-actions { gap: 12px; margin-top: 28px; }
	.st-hero-carousel .btn { width: 100%; }
}
