/* AVIX Water v93 — GLOBAL mobile QA layer
   Final cross-page normalization for phones/tablets. */

@media(max-width:1024px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body:not(.page-diagram) :is(img,svg,video,canvas,iframe){max-width:100%}
  body:not(.page-diagram) :is(.av5-container,.container,.avix-footer-shell){box-sizing:border-box!important}
  body:not(.page-diagram) *{min-width:0}
}

@media(max-width:767px){
  :root{--avix-mobile-gutter:16px}

  /* warm-white status strip across every main page */
  body:not(.page-diagram) .av5-topline,
  body:not(.page-diagram) .top-strip{
    min-height:34px!important;
    background:#F7F6F2!important;
    color:#12272E!important;
    border-bottom:1px solid rgba(18,39,46,.10)!important;
    box-shadow:none!important;
  }
  body:not(.page-diagram) .av5-topline .av5-topline-centre,
  body:not(.page-diagram) .top-strip .container{
    width:100%!important;
    max-width:none!important;
    min-height:34px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  body:not(.page-diagram) .av5-topline span,
  body:not(.page-diagram) .top-strip span{
    display:inline!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.075em!important;
    font-weight:760!important;
    color:#12272E!important;
    text-transform:uppercase!important;
  }
  body:not(.page-diagram) .av5-topline i,
  body:not(.page-diagram) .top-strip i{
    display:block!important;
    width:3px!important;
    height:3px!important;
    flex:0 0 3px!important;
    border-radius:50%!important;
    background:#4BC8EF!important;
  }

  /* header and mobile menu */
  body:not(.page-diagram) .av5-header{
    position:sticky!important;
    top:0!important;
    z-index:90!important;
    min-height:64px!important;
  }
  body:not(.page-diagram) .av5-header-inner{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    min-height:64px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }
  body:not(.page-diagram) .av5-brand{
    display:flex!important;
    align-items:center!important;
    max-width:156px!important;
    overflow:visible!important;
  }
  body:not(.page-diagram) .av5-brand img{
    position:static!important;
    display:block!important;
    width:148px!important;
    max-width:148px!important;
    height:auto!important;
    transform:none!important;
    object-fit:contain!important;
  }
  body:not(.page-diagram) .av5-menu{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    margin-left:auto!important;
    padding:0!important;
    border-radius:50%!important;
  }
  body:not(.page-diagram) .av5-nav{
    inset:8px 8px auto auto!important;
    width:min(360px,calc(100vw - 16px))!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    padding:76px 18px 20px!important;
    border-radius:20px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  body:not(.page-diagram) .av5-nav>a:not(.av5-button),
  body:not(.page-diagram) .av5-nav>a.av5-nav-contact{
    min-height:46px!important;
    padding:11px 2px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }

  /* one consistent section-nav size sitewide */
  body:not(.page-diagram) .avix-section-nav{
    position:sticky!important;
    top:64px!important;
    z-index:40!important;
    height:42px!important;
    min-height:42px!important;
    overflow:hidden!important;
  }
  body:not(.page-diagram) .avix-section-nav__viewport{
    height:42px!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }
  body:not(.page-diagram) .avix-section-nav__viewport::-webkit-scrollbar{display:none!important}
  body:not(.page-diagram) .avix-section-nav__inner{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 14px!important;
    gap:18px!important;
  }
  body:not(.page-diagram) .avix-section-nav__link{
    flex:0 0 auto!important;
    min-height:42px!important;
    min-width:max-content!important;
    padding:0!important;
    gap:4px!important;
    white-space:nowrap!important;
    scroll-snap-align:start!important;
  }
  body:not(.page-diagram) .avix-section-nav__num,
  body:not(.page-diagram) .avix-section-nav__label{
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
  }

  /* brand hierarchy */
  body:not(.page-diagram) :is(.av5-eyebrow,.eyebrow,.fp2-profile-kicker,.tc-kicker){color:#4BC8EF!important}
  body:not(.page-diagram) :is(.av5-button--aqua,.avix-utility-btn.primary){background:#4BC8EF!important;border-color:#4BC8EF!important;color:#0B2027!important}
  body:not(.page-diagram) :is(.av5-button--aqua-outline,.av5-button--outline,.av5-button--linkedin,.avix-utility-btn.secondary){border-color:#4BC8EF!important}

  /* never allow forced desktop line spans to create awkward phone wraps */
  body:not(.page-diagram) .hero-lines-3>span,
  body:not(.page-diagram) .sr-authored-three>span,
  body:not(.page-diagram) .sr-authored-two>span,
  body:not(.page-diagram) .v16-authored-two>span,
  body:not(.page-diagram) .co22-section-copy>span{
    white-space:normal!important;
  }

  /* touch targets */
  body:not(.page-diagram) a.av5-button,
  body:not(.page-diagram) button[type="submit"],
  body:not(.page-diagram) .avix-utility-btn{
    min-height:50px;
  }

  /* tables / long data / code-like strings */
  body:not(.page-diagram) table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  body:not(.page-diagram) pre,body:not(.page-diagram) code{max-width:100%!important;overflow-wrap:anywhere!important;white-space:pre-wrap!important}
  body:not(.page-diagram) a,body:not(.page-diagram) address,body:not(.page-diagram) p,body:not(.page-diagram) li,body:not(.page-diagram) dd{overflow-wrap:anywhere}

  /* compact complete footer, consistent on every page */
  body:not(.page-diagram) .avix-global-footer{padding:34px 0 22px!important}
  body:not(.page-diagram) .avix-global-footer .avix-footer-shell{width:calc(100% - 32px)!important;max-width:none!important;margin:0 auto!important;padding:0!important}
  body:not(.page-diagram) .avix-footer-top{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
  body:not(.page-diagram) .avix-footer-brand,
  body:not(.page-diagram) .avix-footer-column,
  body:not(.page-diagram) .avix-footer-contact,
  body:not(.page-diagram) .avix-footer-office{padding:0!important;margin:0!important;background:none!important;box-shadow:none!important;border-left:0!important}
  body:not(.page-diagram) .avix-footer-logo{display:block!important;width:auto!important;max-width:166px!important;height:auto!important}
  body:not(.page-diagram) .avix-footer-tagline{margin:12px 0 0!important}
  body:not(.page-diagram) .avix-footer-tagline-line{display:block!important}
  body:not(.page-diagram) .avix-footer-proof{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:14px 0 0!important;padding:0!important}
  body:not(.page-diagram) .avix-footer-proof li{font-size:10px!important;line-height:1.25!important;padding:6px 8px!important}
  body:not(.page-diagram) .avix-footer-socials{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:13px!important}
  body:not(.page-diagram) .avix-footer-socials a{width:34px!important;height:34px!important;min-width:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;font-size:11px!important}
  body:not(.page-diagram) .avix-footer-column h2,
  body:not(.page-diagram) .avix-footer-contact h2,
  body:not(.page-diagram) .avix-footer-office h2{margin:0 0 11px!important;color:#4BC8EF!important;font-size:12px!important;line-height:1.2!important;letter-spacing:.09em!important;text-transform:uppercase!important}
  body:not(.page-diagram) .avix-footer-column{display:grid!important;gap:8px!important}
  body:not(.page-diagram) .avix-footer-column a{font-size:13px!important;line-height:1.3!important}
  body:not(.page-diagram) .avix-footer-contact-block{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;padding:8px 0!important}
  body:not(.page-diagram) .avix-footer-contact-block span,
  body:not(.page-diagram) .avix-footer-phones b{font-size:9px!important;line-height:1.2!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#4BC8EF!important}
  body:not(.page-diagram) .avix-footer-contact-block a,
  body:not(.page-diagram) .avix-footer-office p,
  body:not(.page-diagram) .avix-footer-office a{font-size:13px!important;line-height:1.45!important}
  body:not(.page-diagram) .avix-footer-offices{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:22px!important}
  body:not(.page-diagram) .avix-footer-office{padding-top:17px!important;border-top:1px solid rgba(255,255,255,.10)!important}
  body:not(.page-diagram) .avix-footer-office:first-child{padding-top:0!important;border-top:0!important}
  body:not(.page-diagram) .avix-footer-phones{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:11px!important}
  body:not(.page-diagram) .avix-footer-phones span{display:grid!important;gap:3px!important}
  body:not(.page-diagram) .avix-footer-disclaimer{margin:18px 0 0!important;padding-top:16px!important;font-size:10.5px!important;line-height:1.5!important}
  body:not(.page-diagram) .avix-footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;margin-top:16px!important;padding-top:14px!important}
  body:not(.page-diagram) .avix-footer-bottom p{margin:0!important;font-size:10.5px!important;line-height:1.45!important}
  body:not(.page-diagram) .avix-footer-bottom nav{display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important}
  body:not(.page-diagram) .avix-footer-bottom nav a{font-size:10.5px!important;line-height:1.3!important}
}

@media(max-width:370px){
  body:not(.page-diagram) .av5-topline .av5-topline-centre{gap:6px!important;padding-inline:8px!important}
  body:not(.page-diagram) .av5-topline span{font-size:7.5px!important;letter-spacing:.05em!important}
  body:not(.page-diagram) .avix-footer-phones{grid-template-columns:1fr!important}
}

/* standalone/embedded process diagram final containment */
@media(max-width:767px){
  html body.page-diagram{overflow-x:hidden!important;background:#f3f4f4!important}
  html body.page-diagram .sheet{width:calc(100% - 16px)!important;max-width:none!important;margin:8px auto!important;padding:10px!important}
  html body.page-diagram .band{border-radius:12px!important}
  html body.page-diagram .mast h1{font-size:24px!important;line-height:1.02!important}
  html body.page-diagram .mast p{font-size:10.5px!important;line-height:1.35!important}
}

/* v93.1 mobile chrome correction: fixed status strip + sticky header must not overlap */
@media(max-width:767px){
  body:not(.page-diagram){padding-top:34px!important}
  body:not(.page-diagram) .av5-topline,
  body:not(.page-diagram) .top-strip{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:120!important}
  body:not(.page-diagram) .av5-header{top:34px!important}
  body:not(.page-diagram) .avix-section-nav{top:98px!important}
  body:not(.page-diagram) .av5-topline span,
  body:not(.page-diagram) .top-strip span{font-size:7.4px!important;letter-spacing:.045em!important}
  body:not(.page-diagram) .av5-topline .av5-topline-centre,
  body:not(.page-diagram) .top-strip .container{gap:6px!important;padding-inline:8px!important}
}
@media(max-width:360px){
  body:not(.page-diagram) .av5-topline span,
  body:not(.page-diagram) .top-strip span{font-size:6.7px!important;letter-spacing:.025em!important}
  body:not(.page-diagram) .av5-topline .av5-topline-centre,
  body:not(.page-diagram) .top-strip .container{gap:4px!important;padding-inline:5px!important}
}

/* v93.2 status strip fit across 320–430 px without clipping */
@media(max-width:430px){
  html body:not(.page-diagram) .av5-topline .av5-topline-centre,
  html body:not(.page-diagram) .top-strip .container{
    box-sizing:border-box!important;
    width:100vw!important;
    max-width:100vw!important;
    padding-inline:6px!important;
    gap:4px!important;
    justify-content:space-between!important;
  }
  html body:not(.page-diagram) .av5-topline .av5-topline-centre>span,
  html body:not(.page-diagram) .top-strip .container>span{
    display:inline-block!important;
    flex:0 1 auto!important;
    min-width:0!important;
    font-size:6.8px!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
  }
}
@media(max-width:360px){
  html body:not(.page-diagram) .av5-topline .av5-topline-centre,
  html body:not(.page-diagram) .top-strip .container{padding-inline:4px!important;gap:3px!important}
  html body:not(.page-diagram) .av5-topline .av5-topline-centre>span,
  html body:not(.page-diagram) .top-strip .container>span{font-size:6.05px!important;letter-spacing:.01em!important}
}

/* v93.3 remove inherited container margins from fixed status strip */
@media(max-width:430px){
  html body:not(.page-diagram) .av5-topline .av5-topline-centre,
  html body:not(.page-diagram) .top-strip .container{
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    left:auto!important;
    right:auto!important;
  }
}

/* v93.4 exact home section-nav offset below 34px status + 64px header */
@media(max-width:767px){
  html body.home-v8.avix-home-page .avix-section-nav{top:98px!important}
}
@media(max-width:767px){
  html body.home-v8.avix-home-page .av5-header{top:34px!important}
}

/* v93.5 AV5 chrome flow: reserve fixed status strip without double-offsetting sticky header */
@media(max-width:767px){
  html body.home-v8{padding-top:0!important}
  html body.home-v8 .av5-header{margin-top:34px!important;top:34px!important}
  html body.home-v8 .avix-section-nav{top:98px!important}
}

/* v93.6 one consistent mobile hero eyebrow scale */
@media(max-width:767px){
  html body.home-v8 :is(.avix-home-hero,.avix-principal-hero) .av5-eyebrow,
  html body.home-v8 :is(.avix-home-hero,.avix-principal-hero) .av5-eyebrow--light{
    font-size:10px!important;
    line-height:1.25!important;
    letter-spacing:.075em!important;
  }
}

/* v93.7 compact footer composition on standard 375–767px phones */
@media(min-width:375px) and (max-width:767px){
  body:not(.page-diagram) .avix-footer-top{
    grid-template-columns:1fr 1fr!important;
    gap:22px 18px!important;
  }
  body:not(.page-diagram) .avix-footer-brand,
  body:not(.page-diagram) .avix-footer-contact{
    grid-column:1/-1!important;
  }
  body:not(.page-diagram) .avix-footer-contact{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 18px!important;
  }
  body:not(.page-diagram) .avix-footer-contact>h2{grid-column:1/-1!important}
  body:not(.page-diagram) .avix-footer-offices{
    grid-template-columns:1fr 1fr!important;
    gap:18px!important;
  }
  body:not(.page-diagram) .avix-footer-office{
    border-top:0!important;
    padding-top:0!important;
  }
  body:not(.page-diagram) .avix-footer-office p{font-size:12px!important;line-height:1.4!important}
  body:not(.page-diagram) .avix-footer-office a{font-size:11.5px!important}
  body:not(.page-diagram) .avix-footer-phones{grid-template-columns:1fr!important;gap:8px!important}
}
