/* Keep the existing banner layout and reserve a stable image area. */
/* Pin the carousel to its grid column: a taller copy column must not enlarge its width through the aspect ratio. */
.hero-rotator{position:relative;width:100%;max-width:100%;box-sizing:border-box;min-width:0;min-height:0;aspect-ratio:742/481;align-self:stretch;overflow:hidden;background:#f4f0e8;isolation:isolate}
.hero>.hero-copy{min-width:0;box-sizing:border-box}
.hero-rotator>.hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;pointer-events:none}
.hero-rotator>.hero-photo{object-fit:cover}
.hero-rotator>.hero-poster{object-fit:contain;object-position:center}
.hero-rotator>.hero-slide.is-active{opacity:1;visibility:visible}
.hero-carousel-controls{position:absolute;z-index:2;inset-inline-end:18px;bottom:16px;display:flex;direction:ltr;align-items:center;gap:1px;padding:2px 5px;border:1px solid rgba(86,73,58,.17);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.06);color:#39352f}
.hero-carousel-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.hero-carousel-controls button:hover{background:#eee8df}
.hero-carousel-controls button:focus-visible{outline:2px solid #735c3b;outline-offset:1px}
.hero-carousel-arrow span{font:30px/1 Arial,sans-serif;transform:translateY(-1px)}
.hero-carousel-dot span{width:7px;height:7px;border-radius:50%;background:#b8b0a5;transition:width .25s,background .25s}
.hero-carousel-dot[aria-current=true] span{width:20px;border-radius:6px;background:#6c5840}
.hero-carousel-controls .hero-carousel-play{margin-left:4px;border-left:1px solid #e2ddd5;border-radius:0}
.hero-carousel-play svg{width:13px;height:13px;fill:currentColor}
.hero-carousel-play[data-paused=true] .hero-pause-icon,.hero-carousel-play[data-paused=false] .hero-play-icon{display:none}
.hero-carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-carousel-controls button:disabled{opacity:.35;cursor:default}
.hero-holiday-note{width:100%;margin-top:24px;padding:16px 18px;border:1px solid #e2d7c7;background:#faf6ef;color:#493b2e;font-size:14px;line-height:1.75;box-sizing:border-box}
.hero-holiday-note strong{display:block;font-size:14px;font-weight:600;letter-spacing:.02em}
.hero-holiday-note p{margin:8px 0 10px;word-break:normal;overflow-wrap:anywhere}
.hero-holiday-note a{display:inline-block;color:#235661;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.hero-holiday-note a:focus-visible{outline:2px solid #235661;outline-offset:4px}
@media(max-width:850px) and (min-width:561px){.hero-rotator{min-height:390px}}
@media(max-width:560px){.hero-rotator{aspect-ratio:742/481}.hero-carousel-controls{inset-inline-end:12px;bottom:10px}.hero-carousel-controls button{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.hero-rotator>.hero-slide,.hero-carousel-dot span{transition:none}}
