/* V48 layout safety + navigation repair */
html,body{width:100%;max-width:100%;overflow-x:clip}
*,*:before,*:after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}
.site-header,.topbar,.footer,main{max-width:100vw}
.nav-service{position:relative}
.services-mega{position:fixed!important;left:50%!important;right:auto!important;top:var(--services-mega-top,128px)!important;transform:translateX(-50%) translateY(-4px)!important;width:min(960px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important}
.nav-service:hover .services-mega,.nav-service:focus-within .services-mega,.nav-service.open .services-mega{transform:translateX(-50%) translateY(0)!important}
@media(max-width:780px){
  html,body{overflow-x:hidden}
  .services-mega{position:static!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:0!important}
  .nav-service.open .services-mega{display:grid!important}
  .footer__bottom div{display:flex;flex-wrap:wrap;gap:12px 16px}
}
@media(max-width:520px){
  .container{width:calc(100% - 24px)!important}
  .footer__grid{gap:22px!important}
  .footer__brand img{max-width:100%!important;height:auto!important}
}
@media(max-width:780px){
  .nav-service:hover .services-mega,.nav-service:focus-within .services-mega,.nav-service.open .services-mega{transform:none!important;left:auto!important;right:auto!important}
}

/* V52 menu interaction + product hero typography */
/* Keep the mega menu centered in the viewport without changing page-specific product themes. */
.services-mega{
  top:var(--services-mega-top,128px)!important;
  transform:translateX(-50%) translateY(-2px)!important;
}
.nav-service:hover .services-mega,
.nav-service:focus-within .services-mega,
.nav-service.open .services-mega{
  transform:translateX(-50%) translateY(0)!important;
}

/* Product pages keep their original theme/design; only H1 is made more compact. */
.product-hero-v45 h1{
  max-width:720px!important;
  font-size:clamp(32px,3.15vw,44px)!important;
  line-height:1.07!important;
  letter-spacing:-.032em!important;
  color:#fff!important;
}

/* Homepage operator notice stays visible and keeps the previously approved wording. */
.home-operator-wrap{padding-top:12px;padding-bottom:4px}
.home-operator-note{margin:0!important;padding:12px 16px!important;border:1px solid #c9d9e7;border-left:4px solid var(--red);border-radius:9px;background:#f7fafc;color:#36536d!important;font-size:14px!important;line-height:1.45!important}
.home-operator-note strong{color:var(--navy-3)}
.home-operator-note a{font-weight:850;color:var(--navy);text-decoration:underline;text-underline-offset:2px}

@media(max-width:780px){
  .product-hero-v45 h1{font-size:34px!important;line-height:1.08!important}
}
@media(max-width:520px){
  .product-hero-v45 h1{font-size:30px!important;line-height:1.1!important}
  .home-operator-wrap{padding-top:8px}
  .home-operator-note{padding:11px 12px!important;font-size:13px!important}
}

@media(min-width:781px){
  /* The Services hover target spans the full desktop header height, so the pointer
     can travel from the label to the mega-menu without leaving the active area. */
  .nav{align-self:stretch!important}
  .nav-service{align-self:stretch!important;display:flex!important;align-items:center!important}
}
