.home-hero{position:relative;width:100%;background:#07111f;color:#fff;overflow:hidden}
.home-hero:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.hero-slides{display:grid;touch-action:pan-y}
.hero-slide{grid-area:1/1;display:grid;position:relative;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .5s ease,visibility .5s;min-width:0}
.hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto}
.hero-visual{grid-area:1/1;position:relative;height:var(--hero-frame-height,calc(100vh - 80px));min-width:0;align-self:start}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.hero-media[hidden]{display:none}
.hero-copy{--hero-fade-height:clamp(8rem,20vh,16rem);grid-area:1/1;align-self:end;position:relative;z-index:1;isolation:isolate;padding:clamp(1rem,6vh,5rem) 5vw 5.5rem;text-shadow:0 1px 3px #0008;text-align:center}
/* Extend the scrim above the caption so its dark backing has no visible edge. */
.hero-copy:before{content:'';position:absolute;inset:calc(-1 * var(--hero-fade-height)) 0 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgb(7 17 31 / 0),rgb(7 17 31 / .04) calc(var(--hero-fade-height) * .2),rgb(7 17 31 / .16) calc(var(--hero-fade-height) * .4),rgb(7 17 31 / .36) calc(var(--hero-fade-height) * .6),rgb(7 17 31 / .6) calc(var(--hero-fade-height) * .8),rgb(7 17 31 / .78) var(--hero-fade-height),rgb(7 17 31 / .9) calc(var(--hero-fade-height) + 6rem),rgb(7 17 31 / .96))}
.hero-copy p{margin:0;color:#f4f7fb}
.hero-copy .hero-eyebrow{font-size:.8125rem;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}
.hero-copy h2{font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.15;color:#fff;margin:0 auto 1rem;font-weight:700;max-width:64rem}
.hero-copy .hero-text{font-size:1.125rem;line-height:1.5;max-width:52rem;margin-inline:auto}
.hero-controls{position:absolute;bottom:1.25rem;left:5vw;right:5vw;z-index:2;display:flex;align-items:center;justify-content:center;gap:1rem}
.hero-controls[hidden]{display:none}
.home-hero button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;background:#142439dc;border:1px solid #ffffff80;border-radius:24px;padding:.5rem 1rem;color:#fff;font-size:.875rem;line-height:1.25;cursor:pointer}
.home-hero button:hover{background:#245175}
.home-hero button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.home-hero .hero-arrow{width:44px;padding:12px}
.hero-arrow img{display:block;width:20px;height:20px;object-fit:contain}
.hero-arrow[data-hero-prev] img{transform:rotate(90deg)}
.hero-arrow[data-hero-next] img{transform:rotate(-90deg)}
.hero-dots{display:flex;align-items:center;justify-content:center;gap:2px}
.home-hero .hero-dot{width:24px;min-height:24px;padding:7px;border:0;background:transparent}
.hero-dot:before{content:'';width:10px;height:10px;border:1px solid white;border-radius:50%;box-sizing:border-box;flex-shrink:0}
.hero-dot.is-active:before{background:white}
@media(max-width:700px){
 .hero-controls{gap:.25rem}
 .home-hero .hero-arrow{width:40px;padding:10px}
 .hero-dots{gap:0;min-width:0;flex:0 1 auto}
 .home-hero .hero-dot{width:24px;flex-shrink:1;min-width:0}
}
@media(max-width:700px) and (min-height:501px){
 .hero-slide{grid-template-rows:auto auto;align-content:start}
 .hero-visual{height:var(--hero-frame-height,calc(100vh - 24rem))}
 .hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgb(7 17 31 / 0) 40%,rgb(7 17 31 / .04) 50%,rgb(7 17 31 / .18) 63%,rgb(7 17 31 / .42) 76%,rgb(7 17 31 / .72) 88%,rgb(7 17 31 / .93) 96%,#07111f);pointer-events:none}
 .hero-copy{grid-area:2/1;align-self:start;background:#07111f;padding:1rem 1.25rem 1.25rem}
 .hero-copy:before{content:none}
 .hero-copy h2{font-size:1.5rem}
 .hero-copy .hero-text{font-size:1rem}
 .hero-copy .hero-eyebrow{font-size:.75rem;letter-spacing:.04em}
 .hero-controls{position:relative;inset:auto;display:flex;padding:0 .5rem 1.25rem;gap:.25rem}
}
@media(max-height:500px){
 .hero-copy{padding:1rem 1.25rem 4.5rem}
 .hero-copy .hero-eyebrow{display:none}
 .hero-copy h2{font-size:1.25rem;margin-bottom:.5rem}
 .hero-copy .hero-text{font-size:.875rem;line-height:1.35}
 .hero-controls{bottom:.5rem}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
