.cn-hero-banners{position:relative;width:100%;color:#fff;--cn-banner-overlay:linear-gradient(90deg,rgba(10,29,21,.92),rgba(10,29,21,.6) 55%,rgba(10,29,21,.18));font-family:Arial,Helvetica,sans-serif}
.cn-hero-banners .cn-hero-slide[hidden]{display:none!important}
.cn-hero-banners .cn-hero-slide{position:relative;isolation:isolate;overflow:hidden;min-height:492px;height:auto;background:var(--green,#173b2e);color:#fff;margin:0}
.cn-hero-banners .cn-hero-slide:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--cn-banner-overlay)}
.cn-hero-banners .cn-banner-media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:65% center;z-index:-2}
.cn-hero-banners .hero-content{width:min(1392px,calc(100% - 64px));min-height:492px;height:auto;margin:auto;display:flex;align-items:center;position:relative;padding-block:48px 80px}
.cn-hero-banners .hero-copy{max-width:760px;overflow-wrap:anywhere}
.cn-hero-banners .cn-banner-title{font-size:clamp(3rem,7.2vw,7rem);font-weight:800;letter-spacing:-.065em;line-height:1.02;margin:18px 0;color:#fff}
.cn-hero-banners .eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:#e6dac0}
.cn-hero-banners .hero-copy p{font-size:17px;line-height:1.65;color:#eef1eb;margin:16px 0 24px;max-width:620px}
.cn-hero-banners .button-row{display:flex;flex-wrap:wrap;gap:12px}
.cn-hero-banners a.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 20px;border-radius:4px;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none}
.cn-hero-banners .button.orange{background:var(--orange,#e65d27);color:#fff}
.cn-hero-banners .button.light{background:#fff;color:#173b2e}
.cn-hero-banners .hero-caption{position:absolute;bottom:28px;right:0;display:flex;flex-direction:column;gap:6px;text-align:right;font-size:12px;max-width:32%;overflow-wrap:anywhere}
.cn-hero-banners .hero-caption span:first-child{font-weight:700;letter-spacing:.15em}
.cn-banner-controls{position:absolute;z-index:3;bottom:16px;left:max(32px,calc((100% - 1392px)/2));display:flex;align-items:center;gap:8px;background:#102a23f2;color:#fff;border:1px solid #ffffff70;border-radius:6px;padding:4px;max-width:calc(100% - 40px);font-size:13px}
.cn-banner-controls button{appearance:none;border:0;background:transparent;color:#fff;min-height:40px;min-width:40px;padding:8px 12px;border-radius:3px;font:inherit;cursor:pointer}
.cn-banner-controls button:hover{background:#ffffff20}
.cn-hero-banners :focus-visible{outline:3px solid #ffd66e;outline-offset:3px}
.cn-banner-counter{min-width:44px;text-align:center}
.cn-banner-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1600px){.cn-hero-banners .hero-content,.cn-hero-banners .cn-hero-slide{min-height:550px}}
@media(max-width:760px){.cn-hero-banners .hero-content{width:calc(100% - 40px);min-height:505px;padding-block:42px 108px}.cn-hero-banners .cn-hero-slide{min-height:505px}.cn-hero-banners .cn-banner-title{font-size:clamp(2.8rem,13vw,4.8rem)}.cn-hero-banners .hero-copy p{font-size:16px}.cn-hero-banners .cn-banner-media{object-position:68% center}.cn-hero-banners .hero-caption{left:0;right:auto;bottom:78px;max-width:100%;text-align:left}.cn-hero-banners .hero-caption span:last-child{display:none}.cn-banner-controls{left:20px;bottom:14px;font-size:12px;gap:2px}.cn-banner-controls button{padding-inline:9px}.cn-hero-banners a.button{font-size:13px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.cn-hero-banners *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep slide heights stable while the outgoing image fades over the next one. */
.cn-hero-banners.is-ready{display:grid}
.cn-hero-banners.is-ready .cn-hero-slide{grid-area:1 / 1;align-self:stretch}
.cn-hero-banners.is-ready .cn-hero-slide[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.cn-hero-banners .cn-hero-slide.is-leaving{z-index:2;pointer-events:none}
