.hero.hero-fullscreen{display:block;position:relative;min-height:0;height:calc(100svh - var(--home-header-height,94px));height:calc(100svh - var(--home-header-height,94px));}
.hero-fullscreen .hero-carousel{position:relative;isolation:isolate;overflow:hidden;width:100%;height:100%;min-height:0;background:#24241f}
.hero-carousel .hero-slide{position:absolute;inset:0;display:block;color:#fff;opacity:0;pointer-events:none;transition:opacity 1.2s ease-in-out;z-index:0}
.hero-carousel .hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.hero-carousel .hero-slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-slide:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.hero-slide-caption{position:absolute;z-index:1;left:6vw;right:6vw;bottom:90px;display:grid;gap:8px;text-shadow:0 1px 12px #0008}
.hero-slide-caption strong{font:400 clamp(25px,3vw,46px)/1.15 Georgia,serif}
.hero-slide-caption>span{font-size:12px;line-height:1.5;letter-spacing:.06em}
.hero-carousel-controls{position:absolute;inset:0;z-index:3;pointer-events:none;color:#fff}
.hero-carousel-controls[hidden]{display:none}
.hero-carousel-controls button{pointer-events:auto;cursor:pointer;color:inherit;border:0;background:none;padding:0}
.hero-arrow{position:absolute;top:18%;bottom:22%;width:12%;min-width:64px;display:grid;place-items:center}
.hero-prev{left:0}.hero-next{right:0}
.hero-arrow span{opacity:0;transform:scale(.9);transition:opacity .3s ease,transform .3s ease;font:300 64px/1 Georgia,serif;text-shadow:0 2px 12px #000;display:grid;place-items:center;width:60px;height:70px;background:#0002;border-radius:4px}
.hero-arrow:hover span,.hero-arrow:focus-visible span{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0}
.hero-dot{width:28px;height:40px;display:grid;place-items:center}
.hero-dot:after{content:"";width:7px;height:7px;border-radius:50%;border:1px solid white;background:#ffffff40;box-shadow:0 1px 5px #0008;transition:background .3s,transform .3s}
.hero-dot[aria-current=true]:after{background:white;transform:scale(1.35)}
.hero-pause{position:absolute;right:30px;bottom:26px;min-height:40px;min-width:44px;font-size:11px;letter-spacing:.05em;opacity:0;transition:opacity .3s}
.hero-pause:hover,.hero-pause:focus-visible{opacity:1}
.hero-carousel a:focus-visible{outline:2px solid white;outline-offset:-5px}
.home-intro.hero-copy{min-height:0;padding:80px 6vw;display:block;max-width:1100px}
.home-intro h1{font-size:clamp(40px,4.3vw,72px);line-height:1.07;margin:20px 0 28px}.home-intro .hero-intro{max-width:850px}.home-intro .hero-actions{margin-top:32px}
@media(max-width:720px){.hero-slide-caption{left:24px;right:24px;bottom:88px}.hero-dots{bottom:18px}.hero-dot{width:25px}.hero-pause{right:14px;bottom:58px}.home-intro.hero-copy{padding:55px 24px}.hero-arrow span{font-size:46px;width:44px;height:56px}}
@media(hover:none){.hero-arrow span{opacity:.65}.hero-pause{opacity:.7}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide,.hero-arrow span{transition:none}}
