/* Homepage-only carousel. Shared site.css remains untouched. */
.home-banner{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.home-banner .banner-viewport{display:grid;overflow:hidden}
.home-banner .banner-slide{grid-area:1/1;width:100%;margin:0;min-width:0}
.home-banner.is-enhanced .banner-slide{visibility:hidden;opacity:0;transform:translateX(100%);transition:transform .55s ease,opacity .55s ease,visibility .55s;pointer-events:none}
.home-banner.is-enhanced .banner-slide.is-before{transform:translateX(-100%)}
.home-banner.is-enhanced .banner-slide.is-active{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;z-index:1}
.home-banner .hero.big{padding-bottom:112px;min-height:620px}
.home-banner .hero h2{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800;max-width:820px;color:#fff}
.home-banner .hero::before{background:linear-gradient(90deg,rgba(8,20,38,.94),rgba(8,20,38,.78) 50%,rgba(8,20,38,.38))}
.banner-controls{position:absolute;z-index:3;bottom:20px;left:0;right:0}
.banner-controls .wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.banner-controls button{appearance:none;min-width:44px;min-height:44px;border:1px solid #c1c8d2;border-radius:999px;background:#12283f;color:#fff;font:600 1rem Inter,system-ui,sans-serif;cursor:pointer;padding:8px 14px;touch-action:manipulation}
.banner-controls button:hover{background:#fff;color:#0b2340}
.banner-controls button:focus-visible{outline:3px solid #f5b301;outline-offset:3px}
.banner-count{font-size:.9rem;white-space:nowrap}
.banner-dots{display:flex;margin-left:auto;gap:0}
.banner-dots button{border:0;background:transparent;padding:12px;min-width:44px;display:grid;place-items:center}
.banner-dots button span{width:9px;height:9px;border-radius:100%;border:1px solid #fff;background:transparent}
.banner-dots button[aria-current] span{background:#fff;width:12px;height:12px}
.banner-dots button:hover{background:#12283f}
.banner-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){
 .home-banner .hero.big{padding:104px 0 150px!important;min-height:660px;align-items:flex-start}
 .home-banner .hero .wrap{padding-left:24px;padding-right:24px}
 .home-banner .hero h1,.home-banner .hero h2{font-size:clamp(1.9rem,7.4vw,2.8rem)}
 .home-banner .hero p{font-size:1rem}
 .home-banner .hero::before{background:linear-gradient(90deg,rgba(8,20,38,.92),rgba(8,20,38,.65)),linear-gradient(0deg,#081426,transparent)}
 .home-banner .hero>img.bg{object-position:60% center}
 .banner-controls{bottom:16px}
 .banner-controls .wrap{gap:8px}
 .banner-dots{flex-basis:100%;margin-left:-10px;justify-content:flex-start}
 .banner-dots button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.home-banner.is-enhanced .banner-slide{transition:none;transform:none}}
