/* Homepage banner only. Original navigation positions, drawer and scripts are retained. */
body.gforce-site.gforce-has-home-banner{--gforce-banner-ratio:3.2;--gforce-banner-viewport:100vw}
.gforce-home-banner-slot{box-sizing:border-box;min-width:0;width:var(--gforce-banner-viewport);margin-left:calc(50% - var(--gforce-banner-viewport) / 2);padding-top:calc(70px + var(--gforce-menu-height,70px))}
.gforce-home-banner{box-sizing:border-box;position:relative;margin:0 auto;width:100%;max-width:var(--gforce-banner-max-width,none);aspect-ratio:var(--gforce-banner-ratio);border:0;border-radius:0;background:#fff;overflow:hidden}
.gforce-home-banner-bordered{border:1px solid #d9dee7;border-radius:16px}
.gforce-home-banner-slide,.gforce-home-banner-slide>a{display:block;width:100%;height:100%}
.gforce-home-banner-slide[hidden]{display:none}
.gforce-home-banner-slide img{display:block;width:100%;max-width:none;height:100%;object-fit:contain}
.gforce-home-banner-embed{display:block;width:100%;max-width:none;height:100%;border:0;margin:0;padding:0}
.gforce-home-banner-controls{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px;background:rgba(255,255,255,.96);color:#222;white-space:nowrap}
.gforce-home-banner-controls button{min-width:44px;min-height:44px;border:1px solid #b7bfd0;border-radius:6px;background:white;color:#222;font:inherit;cursor:pointer}
.gforce-home-banner-controls button:focus-visible{outline:3px solid #3349b5;outline-offset:1px}
body.gforce-site.gforce-has-home-banner.layout-3 .main-content{padding-top:24px}
@media(max-width:1024px){.gforce-home-banner-slot{padding-top:70px}}

/* Optional frame height never changes the navigation geometry. */
.gforce-home-banner-fixed-height{aspect-ratio:auto;height:var(--gforce-banner-desktop-height,350px)}
.gforce-home-banner-fixed-height .gforce-home-banner-slide img{object-fit:var(--gforce-banner-image-fit,contain)}
.gforce-home-banner[data-banner-type="youtube"]{min-height:200px}
.gforce-banner-player-status{box-sizing:border-box;margin:0 auto;padding:10px 16px;max-width:var(--gforce-banner-max-width,none);font-size:16px;background:#fff;color:#333;overflow-wrap:anywhere}
.gforce-banner-player-status[hidden]{display:none}
.gforce-banner-player-status a{text-decoration:underline}
@media(max-width:1024px){.gforce-home-banner-fixed-height{height:var(--gforce-banner-mobile-height,220px)}}
