.hero-carousel{height:auto;background:#041338;padding-bottom:95px}         
.hero-carousel:before{content:none}
.banner-empty{display:grid;place-items:center;min-height:clamp(240px,32vw,480px);padding:40px 24px;background:#f3f6fa;border-bottom:1px solid #e0e7f0;color:#62738c;text-align:center}
.banner-empty p{margin:0;font-size:clamp(20px,2vw,28px);font-weight:600}
.banner-stage{position:relative;display:grid;isolation:isolate}
.banner-stage>.banner-track,.banner-stage>.hero-inner{grid-area:1/1}
.banner-track{display:grid;overflow:hidden;touch-action:pan-y}
.banner-slide{position:relative;grid-area:1/1;min-width:0;min-height:clamp(260px,45vw,735px);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 900ms ease-in-out,visibility 0s linear 900ms}
.banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.banner-stage>.banner-track{min-width:0}
.with-hero-content .banner-slide{min-height:clamp(500px,51vw,735px)}
.with-hero-content .banner-image{object-fit:cover}
.banner-link{position:absolute;inset:0;z-index:1}
.banner-stage>.hero-inner{position:relative;z-index:2;align-self:center;width:100%;min-width:0;padding:clamp(45px,7vw,105px) 24px;pointer-events:none;overflow-wrap:anywhere}
.banner-stage .hero-inner a{pointer-events:auto}
.banner-stage .hero-inner figure.image{max-width:600px;margin:0 auto 20px}
.banner-stage .hero-inner img{width:auto;max-width:100%;max-height:220px;object-fit:contain;margin-left:auto;margin-right:auto}
.banner-controls{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:8px 15px 24px;background:#041338}
.banner-controls[hidden],.cms-popup-layer[hidden],.cms-popup[hidden]{display:none}
.banner-controls button{border:1px solid #6088b5;background:#0a264b;color:white;cursor:pointer;min-width:34px;min-height:34px;border-radius:50%;font:inherit}
.banner-controls button:focus-visible,.banner-track:focus-visible,.cms-popup button:focus-visible{outline:3px solid #42bbff;outline-offset:3px}
.banner-dots{display:flex;flex-wrap:wrap;justify-content:center;max-width:50%;gap:1px}
.banner-dots button{border:0;background:transparent;min-width:28px;min-height:34px;display:grid;place-items:center}
.banner-dots span{display:block;width:7px;height:7px;border-radius:50%;background:#799bbf}
.banner-dots [aria-current=true] span{width:20px;border-radius:8px;background:#fff}
.banner-counter{font-size:12px;white-space:nowrap}
body.cms-popup-open{overflow:hidden}
.cms-popup-layer{position:fixed;inset:0;z-index:1000;background:rgba(0,15,40,.62);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.cms-popup{width:min(540px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:#fff;color:#122548;border-radius:18px;overflow:hidden;box-shadow:0 24px 80px #00152d66}
.popup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e5eaf2;flex-shrink:0}
.popup-heading h2{margin:0;font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.cms-popup button{font:inherit;cursor:pointer}
.popup-heading button{border:0;background:transparent;color:#304363;min-width:40px;min-height:40px;font-size:28px}
.popup-content{overflow:auto;min-height:0;background:#f3f6fa;text-align:center}
.popup-content a{display:block}
.popup-content img{display:block;width:100%;height:auto}
.popup-actions{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e5eaf2;flex-shrink:0}
.popup-actions button{min-height:36px;border:0;background:transparent;font-size:13px;color:#33486a}
.popup-actions button:last-child{color:#065dea;font-weight:700}
@media(max-width:760px){.with-hero-content .banner-slide{min-height:500px}.banner-stage>.hero-inner{padding:45px 20px}.banner-stage .hero-inner img{max-height:155px}.banner-controls{padding-bottom:26px}.cms-popup-layer{padding:14px}.cms-popup{max-height:calc(100dvh - 28px);border-radius:13px}.banner-counter{display:none}}
@media(prefers-reduced-motion:reduce){.banner-slide{transition:none}}
