/* Preserve supplied compositions and shared brand typography. */
.home-hero.hero-carousel{position:relative;display:block;width:min(1440px,calc(100% - 48px));max-width:1440px;margin:20px auto 0;background:#f0ece3;isolation:isolate}
.hero-carousel .hero-visual{position:relative;width:100%;aspect-ratio:7/4;overflow:hidden;touch-action:pan-y pinch-zoom}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1100ms ease-in-out;pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero-slide picture,.hero-slide img{display:block;width:100%;height:100%}
.hero-slide img{object-fit:contain;object-position:center;user-select:none}
.hero-carousel .hero-copy{position:absolute;left:5.5%;top:45%;transform:translateY(-50%);width:29%;max-width:none;padding:0;z-index:1;pointer-events:none}
.hero-carousel .hero-copy .eyebrow{margin-bottom:clamp(14px,1.8vw,26px);font-size:clamp(9px,.8vw,12px);letter-spacing:.1em;color:#425c4d;white-space:nowrap}
.home-hero.hero-carousel .hero-copy h1{font-size:clamp(1.75rem,3.55vw,3.5rem);line-height:1.46;letter-spacing:-.06em;white-space:nowrap}
.hero-carousel .hero-copy .text-link{margin-top:clamp(22px,2.6vw,38px);gap:clamp(16px,2vw,28px);min-height:44px;border-color:#597363;pointer-events:auto;white-space:nowrap}
.hero-carousel .hero-controls{position:absolute;left:5.5%;bottom:5%;display:flex;align-items:center;padding:0 5px;border:1px solid #74816d33;border-radius:24px;background:#f7f5efe6;z-index:2}
.hero-dots{display:flex}
.hero-dot{width:32px;height:44px;padding:0;display:grid;place-items:center}
.hero-dot::before{content:"";width:7px;height:7px;border:1px solid #617163;border-radius:50%}
.hero-dot[aria-pressed="true"]::before{background:var(--ink);border-color:var(--ink)}
.hero-play{width:44px;height:44px;display:grid;place-items:center;padding:0;margin-left:4px}
.hero-play svg{width:14px;height:14px;fill:currentColor}
.hero-play .icon-play{display:none}
.hero-play[data-paused="true"] .icon-pause{display:none}
.hero-play[data-paused="true"] .icon-play{display:block}
.hero-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-carousel .hero-controls[hidden]{display:none}
@media(min-width:761px) and (max-width:1050px){
 .home-hero.hero-carousel{width:calc(100% - 32px);margin-top:16px}
 .hero-carousel .hero-copy .text-link{font-size:12px}
}
@media(max-width:760px){
 .home-hero.hero-carousel{display:flex;flex-direction:column;width:100%;margin:0 auto;background:var(--paper)}
 .hero-carousel .hero-visual{aspect-ratio:1100/948;flex:none;background:#f0ece3}
 .hero-carousel .hero-copy{position:static;transform:none;order:0;width:100%;padding:22px 20px 0;text-align:center}
 .hero-carousel .hero-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:10px}
 .home-hero.hero-carousel .hero-copy h1{font-size:clamp(2rem,8.2vw,2.25rem);line-height:1.38;letter-spacing:-.045em}
 .hero-carousel .hero-copy .text-link{margin-top:12px;min-height:44px;font-size:13px;gap:22px}
 .hero-carousel .hero-controls{position:static;align-self:center;background:none;border:0;padding:0;margin:6px 0 12px}
 .hero-carousel + .hero-bottom{padding-block:16px;gap:8px;font-size:12px}
}
/* Short phones fit the complete mobile image in a shorter frame, without cropping. */
@media(max-width:760px) and (max-height:700px){
 .hero-carousel .hero-visual{max-height:max(180px,calc(100svh - 376px))}
 .hero-carousel .hero-copy{padding-top:16px}
 .hero-carousel .hero-copy .eyebrow{margin-bottom:7px}
 .hero-carousel .hero-controls{margin-top:2px;margin-bottom:6px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
