
/* ===== ELEMENTA V9 BANNERS / SLIDERS ===== */
.hero-carousel{position:relative;overflow:hidden;background:#eef3f6;color:#06275c}
.hero-carousel--home{height:555px}
.hero-carousel--page{height:390px}
.hero-carousel__track,.hero-carousel__slide{position:absolute;inset:0}
.hero-carousel__slide{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;z-index:0}
.hero-carousel__slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-carousel__slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.002)}
.hero-carousel__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 29%,rgba(255,255,255,.70) 44%,rgba(255,255,255,.12) 66%,rgba(255,255,255,0) 100%)}
.hero-carousel__slide[data-shade="light"] .hero-carousel__scrim{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 27%,rgba(255,255,255,.56) 46%,rgba(255,255,255,.05) 67%,rgba(255,255,255,0) 100%)}
.hero-carousel__content{height:100%;position:relative;z-index:3;display:flex;align-items:center}
.banner-copy{max-width:590px;padding:38px 0 52px}
.hero-carousel--page .banner-copy{max-width:640px;padding-bottom:42px}
.banner-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#148f18;margin-bottom:9px}
.banner-copy h1{font-size:clamp(39px,4vw,58px);line-height:.98;letter-spacing:-1.7px;color:#06275c;margin:0 0 15px;font-weight:900;text-transform:uppercase}
.hero-carousel--page .banner-copy h1{font-size:clamp(34px,3.5vw,50px)}
.banner-copy h1 span{color:#148f18}
.banner-copy p{max-width:520px;margin:0 0 20px;color:#2c4667;font-size:16px;line-height:1.45;font-weight:500}
.banner-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:13px;background:linear-gradient(180deg,#20aa23,#0b8d13);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 8px 20px rgba(10,129,27,.18)}
.hero-carousel__arrow{position:absolute;top:50%;z-index:8;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(6,39,92,.14);border-radius:50%;background:rgba(255,255,255,.88);color:#06275c;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 7px 20px rgba(6,39,92,.10);backdrop-filter:blur(8px)}
.hero-carousel__arrow:hover{background:#fff}
.hero-carousel__arrow--prev{left:18px}.hero-carousel__arrow--next{right:18px}
.hero-carousel__dots{position:absolute;z-index:9;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.68);backdrop-filter:blur(9px)}
.hero-carousel__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#9aabc0;cursor:pointer;transition:.2s}.hero-carousel__dot.is-active{width:25px;border-radius:8px;background:#148f18}
@media(max-width:900px){
 .hero-carousel--home{height:520px}.hero-carousel--page{height:360px}
 .hero-carousel__scrim,.hero-carousel__slide[data-shade="light"] .hero-carousel__scrim{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.28) 74%,rgba(255,255,255,.02) 100%)}
 .banner-copy{max-width:54%;padding-left:2px}.banner-copy h1{font-size:38px}.banner-copy p{font-size:14px}
}
@media(max-width:680px){
 .hero-carousel--home{height:600px}.hero-carousel--page{height:510px}
 .hero-carousel__slide>img{object-position:center!important}
 .hero-carousel__scrim,.hero-carousel__slide[data-shade="light"] .hero-carousel__scrim{background:linear-gradient(180deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,.44) 39%,rgba(255,255,255,.93) 67%,#fff 100%)}
 .hero-carousel__content{align-items:flex-end}.banner-copy,.hero-carousel--page .banner-copy{max-width:100%;padding:0 8px 52px}.banner-copy h1,.hero-carousel--page .banner-copy h1{font-size:32px;line-height:1.02;letter-spacing:-.8px}.banner-copy p{font-size:13px;max-width:94%}.banner-kicker{font-size:10px}
 .hero-carousel__arrow{width:38px;height:38px;font-size:26px;top:39%}.hero-carousel__arrow--prev{left:10px}.hero-carousel__arrow--next{right:10px}
 .hero-carousel__dots{bottom:12px}
}
