/* V5: reserve complete logo artwork and prevent Safari bottom cropping. */
@media(max-width:1199.98px){
 #siteHeader,#siteHeader .container.navrow,#siteHeader .brand,#siteHeader .header-logo{overflow:visible!important;clip-path:none!important;}
 #siteHeader .brand{padding:0!important;margin:0!important;align-items:center!important;justify-content:flex-start!important;}
 #siteHeader .brand img.header-logo{width:clamp(165px,48vw,245px)!important;height:auto!important;max-height:none!important;min-height:0!important;object-fit:contain!important;object-position:center!important;display:block!important;transform:none!important;position:static!important;}
 #siteHeader .menu-toggle{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important;flex-shrink:0!important;}
}
@media(max-width:767.98px){
 #siteHeader .container.navrow{height:104px!important;min-height:104px!important;padding:12px 18px!important;align-items:center!important;}
 #siteHeader .brand{height:auto!important;max-width:calc(100% - 70px)!important;}
 #siteHeader .brand img.header-logo{width:min(230px,57vw)!important;}





}
/* Logo visibility adjustment only; header geometry and controls unchanged. */
@media (min-width:1200px){#siteHeader .brand img.header-logo{width:245px!important;max-width:245px!important;max-height:78px!important;height:auto!important;object-fit:contain!important}}
@media (min-width:768px) and (max-width:1199.98px){#siteHeader .brand img.header-logo{width:min(255px,55vw)!important;max-width:100%!important;max-height:78px!important;height:auto!important}}
@media (max-width:767.98px){#siteHeader .brand img.header-logo{width:min(255px,65vw)!important;max-width:100%!important;height:auto!important;max-height:none!important}}

/* Mobile viewport header: reserve room for the logo and menu without clipping. */
@media(max-width:767.98px){
 #siteHeader .container.navrow{box-sizing:border-box!important;width:100%!important;max-width:100%!important;gap:10px!important;}
 #siteHeader .brand{min-width:0!important;flex:1 1 auto!important;max-width:calc(100% - 58px)!important;}
 #siteHeader .brand img.header-logo{display:block!important;width:auto!important;max-width:min(230px,100%)!important;max-height:74px!important;height:auto!important;object-fit:contain!important;}
 #siteHeader .menu-toggle{flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;margin-left:auto!important;}
 #siteHeader,#siteHeader .container.navrow{clip-path:none!important;overflow:visible!important;}
}

/* Mobile logo and menu: repair Safari scrolled-header translation/clipping.
   Keep header in document flow; do not change hero spacing or desktop styles. */
@media screen and (max-width:767.98px) {
 html body #siteHeader,
 html body.home #siteHeader,
 html body.site-scrolled #siteHeader,
 html body.home.site-scrolled #siteHeader {
   position:sticky!important;top:0!important;bottom:auto!important;
   left:auto!important;right:auto!important;transform:none!important;
   translate:none!important;animation:none!important;
   overflow:visible!important;clip-path:none!important;
 }
 html body #siteHeader .container.navrow,
 html body.home #siteHeader .container.navrow {
   position:relative!important;display:flex!important;flex-wrap:nowrap!important;
   align-items:center!important;justify-content:space-between!important;
   height:104px!important;min-height:104px!important;
   padding:12px 18px!important;gap:12px!important;
   top:auto!important;bottom:auto!important;transform:none!important;
   translate:none!important;animation:none!important;
   overflow:visible!important;box-sizing:border-box!important;
 }
 html body #siteHeader a.brand,
 html body.home #siteHeader a.brand {
   display:flex!important;align-items:center!important;justify-content:flex-start!important;
   position:relative!important;inset:auto!important;top:auto!important;
   transform:none!important;translate:none!important;animation:none!important;
   flex:1 1 auto!important;width:auto!important;max-width:calc(100% - 64px)!important;
   height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
   overflow:visible!important;visibility:visible!important;opacity:1!important;
 }
 html body #siteHeader a.brand img.header-logo {
   display:block!important;position:static!important;transform:none!important;
   translate:none!important;animation:none!important;opacity:1!important;
   width:auto!important;height:auto!important;max-width:min(210px,100%)!important;
   max-height:76px!important;min-height:0!important;object-fit:contain!important;
   object-position:center left!important;clip-path:none!important;
 }
 html body #siteHeader button.menu-toggle {
   display:inline-flex!important;position:relative!important;inset:auto!important;
   align-items:center!important;justify-content:center!important;
   flex:0 0 50px!important;width:50px!important;min-width:50px!important;
   max-width:50px!important;height:50px!important;min-height:50px!important;
   margin:0 0 0 auto!important;padding:0!important;
   color:#082532!important;background:#fff!important;
   border:1px solid #dce6ed!important;border-radius:12px!important;
   transform:none!important;translate:none!important;animation:none!important;
   visibility:visible!important;opacity:1!important;overflow:visible!important;
   z-index:2!important;
 }
 html body #siteHeader button.menu-toggle i {
   display:inline-block!important;font-size:28px!important;line-height:1!important;
   color:#082532!important;visibility:visible!important;opacity:1!important;
   transform:none!important;
 }
}

/* Mobile-only: keep the complete white logo/menu header sticky as one row.
   The news ticker scrolls away normally; do not offset the page or hero. */
@media screen and (max-width:767.98px) {
  html { scroll-padding-top:96px; }
  html body #siteHeader,
  html body.home #siteHeader,
  html body.site-scrolled #siteHeader,
  html body.home.site-scrolled #siteHeader {
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    bottom:auto!important;
    left:auto!important;right:auto!important;
    margin:0!important;
    transform:none!important;translate:none!important;
    animation:none!important;
    height:96px!important;min-height:96px!important;
    background:#fff!important;
    z-index:10020!important;
    overflow:visible!important;
  }
  html body.admin-bar #siteHeader,
  html body.admin-bar.site-scrolled #siteHeader {top:46px!important;}
  html body #siteHeader .container.navrow,
  html body.site-scrolled #siteHeader .container.navrow {
    height:96px!important;min-height:96px!important;max-height:96px!important;
    padding:10px 18px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    position:relative!important;top:auto!important;
    transform:none!important;translate:none!important;
  }
  html body #siteHeader a.brand,
  html body #siteHeader a.brand img.header-logo,
  html body #siteHeader button.menu-toggle {
    transform:none!important;translate:none!important;animation:none!important;
  }
}

/* Mobile-only sticky scroll fix. No changes to header dimensions or layout. */
@media screen and (max-width:767.98px) {
  html, html body {
    overflow-x:clip!important;
  }
  html body > #siteHeader,
  html body.home > #siteHeader,
  html body.site-scrolled > #siteHeader,
  html body.home.site-scrolled > #siteHeader {
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    z-index:10020!important;
    transform:none!important;
    translate:none!important;
    will-change:auto!important;
  }
  html body.admin-bar > #siteHeader {
    top:46px!important;
  }
}
