.hero{touch-action:pan-y;overflow:hidden}.hero .carousel-image{opacity:0;transition:opacity .65s ease;object-position:65% center}.hero .carousel-image.is-active{opacity:1}.hero .hero-shade{z-index:0;background:linear-gradient(90deg,rgba(15,9,4,.64),transparent 62%);pointer-events:none}.hero .hero-inner{z-index:1;height:clamp(410px,33.33vw,560px);padding-bottom:32px}.hero-copy{max-width:53%}.carousel-controls{position:absolute;bottom:12px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#fff}.carousel-controls>button{min-width:36px;height:36px;color:#fff;background:#21180f66;border:1px solid #ffffff35;border-radius:50%;font-size:17px}.carousel-controls>button:hover{background:#a17b42}.carousel-controls #hero-pause{border-radius:3px;font-size:11px;padding:0 10px}.carousel-dots{display:flex;gap:5px}.carousel-dots button{width:28px;height:36px;padding:0;position:relative}.carousel-dots button:after{content:'';height:3px;position:absolute;left:3px;right:3px;top:16px;background:#ffffff55}.carousel-dots button[aria-current=true]:after{background:#e5c995}#hero-counter{font-size:10px;letter-spacing:2px}.hero:focus-visible{outline:2px solid var(--gold)}
@media(max-width:900px){.hero .hero-inner{height:390px}.hero-copy{max-width:60%}.hero h1{font-size:30px}}
@media(max-width:600px){.hero .hero-inner{height:490px;align-items:flex-start;padding-top:24px;padding-bottom:0}.hero-copy{max-width:100%;padding-left:4px}.hero h1{font-size:28px;line-height:1.4}.hero h1>span{display:inline}.hero .mobile-break{display:none}.hero .hero-detail{display:none}.hero .hero-subtitle{font-size:14px}.hero .hero-cta{margin-top:14px}.hero .carousel-image{height:280px;top:auto;bottom:30px;object-position:87% center}.hero .hero-shade{background:linear-gradient(180deg,#20160c 0%,#20160c 33%,transparent 58%,#20160c44 86%,#20160c 100%)}.carousel-controls{bottom:7px;justify-content:center;gap:10px}.hero .eyebrow{font-size:7px}.hero{background:#20160c}}
@media(min-width:601px) and (max-width:900px){.hero .carousel-image{object-position:88% center}}
@media(prefers-reduced-motion:reduce){.hero .carousel-image{transition:none}}

/* Anchor to the banner itself, independent of page gutters and image size. */
.hero .carousel-controls{left:50%;right:auto;bottom:14px;transform:translateX(-50%);width:max-content;max-width:100%;margin:0;display:block;padding:0;}
.carousel-dots{display:flex;justify-content:center;gap:0;}
.carousel-dots button{width:32px;height:32px;border:0;background:transparent;border-radius:50%;padding:0;}
.carousel-dots button:after{width:8px;height:8px;left:12px;right:auto;top:12px;border-radius:50%;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.65);transition:background .2s;}
.carousel-dots button[aria-current=true]:after{background:rgba(255,255,255,.8);border-color:rgba(255,255,255,.9);}
.hero .carousel-controls .carousel-pause{position:absolute;width:1px;height:1px;min-width:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.hero .carousel-controls .carousel-pause:focus-visible{width:auto;height:32px;clip-path:none;padding:0 10px;left:50%;bottom:38px;transform:translateX(-50%);background:#21180fcc;}
@media(max-width:600px){.hero .carousel-controls{bottom:8px;}}
