:root{--header-h:84px}
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:90;background:rgba(249,249,249,.97);border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:blur(10px)}
.site-header .header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .brand-logo{display:block;width:188px;height:auto}
.site-header .desktop-nav{display:flex;align-items:center;gap:26px;flex-wrap:nowrap}
.site-header .desktop-nav a{font-size:11px;line-height:1;letter-spacing:.12em;color:#424242;position:relative;white-space:nowrap;text-decoration:none}
.site-header .desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:#424242;transform:scaleX(0);transition:transform .2s ease}
.site-header .desktop-nav a:hover::after,.site-header .desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-header .menu-toggle{display:none;position:relative;width:46px;height:46px;border:0;background:none;z-index:110;cursor:pointer}
.site-header .menu-toggle span{position:absolute;left:10px;right:10px;height:1.5px;background:#424242;top:19px;transition:.25s}
.site-header .menu-toggle span:last-child{top:27px}
.site-header .menu-toggle.is-open span{top:23px;transform:rotate(45deg);background:#fff}
.site-header .menu-toggle.is-open span:last-child{transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:80;background:#050c12;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}
.mobile-menu.is-open{opacity:1;pointer-events:auto}
.mobile-menu nav{display:grid;gap:28px;text-align:center}
.mobile-menu a{font-size:20px;letter-spacing:.2em;color:#fff;text-decoration:none}
.site-footer.footer-network{position:relative;isolation:isolate;overflow:hidden;background:#000!important;border-top:1px solid rgba(255,255,255,.14);color:#fff;padding:48px 0 20px}
.site-footer.footer-network::after{display:none!important}
.site-footer.footer-network #footer-network-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.site-footer.footer-network .footer-network-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22)),radial-gradient(circle at 72% 20%,rgba(0,117,255,.08),rgba(0,0,0,0) 68%)}
.site-footer.footer-network .footer-grid,.site-footer.footer-network .copyright{position:relative;z-index:2}
.site-footer.footer-network .footer-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}
.site-footer.footer-network .footer-brand-logo{display:block;width:190px;height:auto;filter:none}
.site-footer.footer-network .footer-brand p,.site-footer.footer-network .footer-info p{margin:8px 0;color:#fff;font-size:11px}
.site-footer.footer-network .footer-grid nav{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;font-size:10px}
.site-footer.footer-network .footer-grid nav a{color:#fff;text-decoration:none;opacity:1}
.site-footer.footer-network .footer-info{text-align:right}
.site-footer.footer-network .footer-info a{color:inherit;text-decoration:none}
.site-footer.footer-network .copyright{border-top:1px solid rgba(255,255,255,.22);margin-top:28px;padding-top:16px;font-size:9px;color:#fff}
body.page-web-solutions main{padding-top:var(--header-h)}
@media(max-width:980px){
  .site-header .desktop-nav{display:none}
  .site-header .menu-toggle{display:block}
  .site-header.menu-open{background:#050c12;border-color:transparent}
  .site-header.menu-open .brand-logo{filter:brightness(0) invert(1)}
  .site-footer.footer-network .footer-grid{grid-template-columns:1fr}
  .site-footer.footer-network .footer-grid nav{justify-content:flex-start}
  .site-footer.footer-network .footer-info{text-align:left}
}
@media(max-width:640px){
  :root{--header-h:76px}
  .site-header .brand-logo{width:156px}
  .site-footer.footer-network .footer-brand-logo{width:178px}
  .site-footer.footer-network .footer-grid nav{font-size:9px}
}


/* ===== SHARED CONTACT CTA ===== */
.shared-contact-cta{
  background:#f1f1f1 !important;
  padding:74px 0 !important;
  margin:0 !important;
  border:0 !important;
}
.shared-contact-cta__inner{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 300px !important;
  align-items:center !important;
  gap:56px !important;
}
.shared-contact-cta__eyebrow{
  margin:0 0 14px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
  color:#424242 !important;
}
.shared-contact-cta__copy h2{
  margin:0 0 13px !important;
  padding:0 !important;
  font-size:clamp(30px,3.6vw,48px) !important;
  line-height:1.38 !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  color:#424242 !important;
}
.shared-contact-cta__copy > p:last-child{
  margin:0 !important;
  max-width:760px !important;
  font-size:13px !important;
  line-height:1.9 !important;
  color:#666 !important;
}
.shared-contact-cta__button{
  width:100% !important;
  min-height:68px !important;
  padding:0 24px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#1f1f1f !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background .2s ease !important;
}
.shared-contact-cta__button:hover{background:#050505 !important}

/* ===== MOBILE MENU: viewport overlay, independent of page CSS ===== */
body.mobile-menu-open{overflow:hidden !important}
@media(max-width:980px){
  .site-header{
    z-index:900 !important;
  }
  .site-header.menu-open{
    background:#050c12 !important;
    border-color:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .site-header .menu-toggle{
    display:block !important;
    z-index:1101 !important;
  }
  .mobile-menu{
    position:fixed !important;
    inset:0 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:100vh !important;
    z-index:1000 !important;
    background:#050c12 !important;
    color:#fff !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:none !important;
    clip:auto !important;
    border:0 !important;
    border-radius:0 !important;
    padding:
      max(96px, calc(env(safe-area-inset-top) + 82px))
      24px
      max(36px, env(safe-area-inset-bottom)) !important;
    transition:opacity .25s ease, visibility .25s ease !important;
  }
  .mobile-menu.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .mobile-menu nav{
    width:100% !important;
    min-height:100% !important;
    margin:auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:26px !important;
    text-align:center !important;
  }
  .mobile-menu a{
    display:block !important;
    margin:0 !important;
    padding:4px 0 !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1.35 !important;
    font-weight:300 !important;
    letter-spacing:.18em !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }
}
@media(max-width:640px){
  .shared-contact-cta{padding:58px 0 !important}
  .shared-contact-cta__inner{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .shared-contact-cta__copy h2{
    font-size:30px !important;
  }
  .shared-contact-cta__button{
    min-height:60px !important;
  }
}
