/* Crossfading, editorial-style carousel built from the local hero images. */
.hero-section{min-height:clamp(640px,calc(100svh - 110px),840px);padding-bottom:88px}
.hero-accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.hero-slides{position:absolute;z-index:-2;inset:0;overflow:hidden;background:#17241f}
.hero-slide{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .85s ease}
.hero-slide.is-active{opacity:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
.hero-slide:nth-child(2) img{object-position:center 48%}
.hero-backdrop{background:none}
.hero-main{padding-block:22px 30px}
.hero-image-caption{position:absolute;right:max(55px,calc((100% - 1240px)/2));bottom:88px;z-index:2;width:min(340px,calc(100% - 48px))}
.hero-caption{min-height:140px;padding:17px 19px;background:#f7f6f2f0;color:#21231f;box-shadow:0 12px 36px #111a1725;backdrop-filter:blur(12px);animation:hero-caption-in .4s ease both}
.hero-caption[hidden]{display:none}
@keyframes hero-caption-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.caption-kicker{display:flex;align-items:center;gap:7px;color:#78746b;font-size:7px;font-weight:650;letter-spacing:.13em}
.caption-indicator{width:6px;height:6px;flex:none;border-radius:50%;background:#ee542b}
.hero-caption h2{margin:12px 0 6px;font-family:var(--display);font-size:24px;font-weight:650;letter-spacing:-.055em;line-height:1.12}
.hero-caption>p{max-width:282px;margin:0;color:#737168;font-size:9px;line-height:1.7}
.hero-carousel-controls{position:absolute;right:max(55px,calc((100% - 1240px)/2));bottom:23px;z-index:3;display:flex;min-height:36px;align-items:center;gap:10px}
.carousel-arrow,.carousel-rotation{display:flex;min-width:34px;height:32px;align-items:center;justify-content:center;border:1px solid #ffffff80;background:#17241f82;color:#fff;font-family:var(--body);cursor:pointer;transition:border-color .2s,background .2s}
.carousel-arrow{font-size:17px;line-height:1}
.carousel-arrow:hover,.carousel-rotation:hover{border-color:#fff;background:#17241fde}
.carousel-pagination{display:flex;align-items:center;gap:6px;padding-inline:2px}
.carousel-dot{width:7px;height:7px;padding:0;border:1px solid #ffffffbf;border-radius:50%;background:transparent;cursor:pointer;transition:width .2s,border-radius .2s,background .2s}
.carousel-dot.is-active{width:22px;border-color:#ff9879;border-radius:5px;background:#ff9879}
.carousel-count{display:flex;align-items:center;gap:5px;color:white;font-size:9px;font-weight:550;letter-spacing:.09em}
.carousel-count-divider{color:#ffffff88}
.carousel-rotation{gap:6px;padding-inline:9px;font-size:11px}
.carousel-rotation>span{font-size:7px;font-weight:550;letter-spacing:.1em}
.hero-carousel-controls button:focus-visible{outline:2px solid #ff9673;outline-offset:3px}
@media(max-width:760px){.hero-section{min-height:max(640px,calc(100svh - 97px));padding-bottom:72px}.hero-slide img{object-position:center 49%}.hero-backdrop{background:none}.hero-bottom{right:auto;bottom:19px;left:22px;width:auto;font-size:7px}.hero-bottom .scroll-note{display:none}.hero-image-caption{right:20px;bottom:69px;left:20px;width:auto}.hero-caption{min-height:0;padding:12px 14px}.caption-kicker{font-size:7px}.hero-caption h2{margin:8px 0 4px;font-size:19px}.hero-caption>p{font-size:9px}.hero-carousel-controls{right:19px;bottom:17px;gap:7px}.carousel-arrow,.carousel-rotation{height:30px;min-width:30px}.carousel-rotation{padding-inline:7px}.carousel-pagination{gap:5px}}
@media(max-width:390px){.hero-section{min-height:620px}.carousel-rotation>span{font-size:6px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transform:none;transition:none}.hero-caption{animation:none}}
