/* Home only. The original first slide stays in flow to retain its exact height. */
.hero-carousel .hero-slide:not(:first-child){position:absolute;inset:0;min-height:100%}
.hero-carousel .hero-slide{transition:opacity .25s ease;opacity:1}
.hero-carousel .hero-slide:not(.is-active){visibility:hidden;opacity:0;pointer-events:none}
.hero-carousel .hero-grid{gap:0}
.hero-carousel-controls{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:2px;padding:0;background:transparent;color:var(--ink)}
.hero-carousel:has(.hero-video-slide.is-active) .hero-carousel-controls{color:#fff}
.hero-carousel-controls[hidden]{display:none}
.hero-carousel-controls button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:0;background:transparent;color:inherit;opacity:.8;cursor:pointer}
.hero-carousel-controls button:hover,.hero-carousel-controls button:focus-visible{opacity:1}
.hero-carousel-dots{display:flex;align-items:center}
.hero-carousel-dots button{min-width:44px;padding:10px}
.hero-carousel-dots span{width:6px;height:6px;display:block;background:transparent;border:1px solid currentColor;border-radius:50%;opacity:.55}
.hero-carousel-dots [aria-current=true] span{background:currentColor;opacity:1}
.hero-carousel-controls button:focus-visible{outline:0;box-shadow:inset 0 -2px var(--red)}
.hero-video-background,.hero-video-background:after{position:absolute;inset:0}
.hero-video-background{z-index:1;overflow:hidden;background:#e9eae5}
.hero-video-background video,.hero-video-poster{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--slide-position,center)}
.hero-video-poster{z-index:2}
.hero-video-slide.is-playing .hero-video-poster{visibility:hidden}
.hero-video-background:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(249,249,246,.98),rgba(249,249,246,.92) 21%,rgba(249,249,246,.76) 37%,rgba(249,249,246,.12) 62%,transparent 77%)}
.hero-video-slide .hero-copy{align-self:center}
.hero-video-slide .hero-kicker{font-size:12px;letter-spacing:.02em}
.hero .hero-slide-title{font-size:72px;font-weight:730;letter-spacing:-.055em;line-height:1.035;margin:0 0 28px}
.hero .hero-slide-title span{font-weight:460}
.hero-video-feedback{position:absolute;left:0;bottom:16px;display:flex;gap:10px;align-items:center;max-width:100%;padding-left:inherit;font-size:12px}
.hero-video-slide.is-playing [data-hero-feedback]{visibility:hidden}
@media(max-width:1280px){.hero .hero-slide-title{font-size:64px}}
@media(max-width:1024px){.hero .hero-slide-title{font-size:56px}}
@media(max-width:900px){.hero-video-slide .hero-copy{padding-bottom:75px}.hero-video-slide .hero-description{max-width:450px}.hero-video-feedback{position:static;padding-left:0;margin-top:12px}.hero-video-background video,.hero-video-poster{object-position:var(--slide-mobile-position,center)}.hero-video-background:after{background:linear-gradient(180deg,rgba(249,249,246,.98),rgba(249,249,246,.94) 32%,rgba(249,249,246,.72) 49%,transparent 74%)}}
@media(max-width:760px){.hero .hero-slide-title{font-size:45px;line-height:1.05;margin-bottom:21px;letter-spacing:-.05em}.hero-video-slide .hero-copy{padding-top:32px}.hero-video-slide .hero-kicker{max-width:280px;font-size:11px}.hero-video-slide .hero-description{max-width:330px}.hero-carousel-controls{bottom:10px}}
@media(max-width:390px){.hero .hero-slide-title{font-size:38px}.hero-video-slide .hero-copy{padding-top:29px}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide,.hero-carousel-dots span{transition:none}}
