/* Persistent header + mobile navigation drawer */
.nav{position:sticky!important;top:0;z-index:200;background:transparent;transition:transform .22s}
.nav::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:100%;background:#fff;z-index:-1;transition:box-shadow .22s}
.nav.is-scrolled::before{box-shadow:0 10px 28px #0829401c}
.mobile-menu-toggle{display:none;border:0;background:#082940;color:#fff;width:42px;height:42px;border-radius:13px;align-items:center;justify-content:center;gap:4px;cursor:pointer;box-shadow:0 7px 16px #08294022}.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:99px;background:#fff;transition:transform .22s,opacity .22s}.nav.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.nav.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:860px){body.nav-drawer-open{overflow:hidden}.nav{width:100%;min-height:72px;height:72px;padding:0 18px;gap:12px}.brand img{width:152px}.nav .social{display:flex; gap:8px; margin-left:auto; margin-right:12px; align-items:center;}.nav .social a{font-size:16px; width:32px; height:32px; display:flex; justify-content:center; align-items:center; background:#082940; color:#fff; border-radius:50%; text-decoration:none;}.mobile-menu-toggle{margin-left:0;}.mobile-menu-toggle{display:grid;}.links{display:none!important}.nav.menu-open .links{display:flex!important;position:fixed;z-index:190;top:84px;left:12px;right:12px;max-height:calc(100dvh - 98px);overflow:auto;flex-direction:column;align-items:stretch;gap:4px;padding:12px;border:1px solid #ffffff20;border-radius:22px;background:linear-gradient(145deg,#06283e,#073d58);box-shadow:0 24px 60px #00182755}.nav.menu-open .links>a,.nav.menu-open .services-menu>summary{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px 15px;border-radius:13px;color:#fff;font-size:15px;line-height:1.3}.nav.menu-open .links>a:after{display:none}.nav.menu-open .links>a:hover,.nav.menu-open .services-menu>summary:hover{color:#082940;background:#ffd130}.nav.menu-open .services-menu{width:100%}.nav.menu-open .services-menu summary:after{position:static;color:inherit;margin-left:auto}.nav.menu-open .services-dropdown{position:static!important;display:none;box-sizing:border-box;width:100%;margin:6px 0 4px;padding:7px;border:0;border-radius:13px;background:#ffffff12;box-shadow:none;animation:none;transform:none}.nav.menu-open .services-menu[open] .services-dropdown{display:grid!important}.nav.menu-open .services-dropdown a{padding:12px 13px;border-radius:10px;font-size:14px;color:#eaf8fa}.nav.menu-open .services-dropdown a:before{display:none}.nav.menu-open .services-dropdown a:hover{background:#ffffff18;color:#ffd130}}

/* tap target patch 1785067239 */
.mobile-menu-toggle,.links a,.services-menu summary{min-height:44px}

/* Mobile horizontal-stability patch: keep sticky header/menu inside viewport */
@media(max-width:860px){
  .nav{box-sizing:border-box;max-width:100%;overflow:visible;}
  .nav::before{width:100%;max-width:100%;}
  .nav .social{min-width:0;}
}

/* Mobile header fit patch: keep logo, hamburger and social icons inside narrow iPhone viewports */
@media(max-width:430px){
  .nav{box-sizing:border-box;max-width:100%;padding-left:12px!important;padding-right:12px!important;gap:8px!important;}
  .brand img{width:142px!important;max-width:142px!important;}
  .mobile-menu-toggle{width:40px;height:40px;border-radius:12px;flex:0 0 40px;}
  .nav .social{gap:5px!important;margin-left:auto!important;margin-right:0!important;flex-shrink:0;}
  .nav .social a{width:27px!important;height:27px!important;min-width:27px!important;font-size:13px!important;}
}
@media(max-width:370px){
  .brand img{width:128px!important;max-width:128px!important;}
  .nav{padding-left:10px!important;padding-right:10px!important;gap:6px!important;}
  .nav .social a{width:25px!important;height:25px!important;min-width:25px!important;font-size:12px!important;}
}

/* Mobile header final fit patch: prevent social icons from collapsing */
@media(max-width:430px){
  .nav{padding-left:10px!important;padding-right:10px!important;gap:7px!important;}
  .brand{flex:0 0 auto!important;}
  .brand img{width:122px!important;max-width:122px!important;}
  .mobile-menu-toggle{width:40px!important;height:40px!important;flex:0 0 40px!important;}
  .nav .social{display:flex!important;flex:0 0 82px!important;min-width:82px!important;max-width:82px!important;gap:4px!important;margin-left:auto!important;margin-right:0!important;overflow:visible!important;}
  .nav .social a{width:24px!important;height:24px!important;min-width:24px!important;font-size:12px!important;}
}

/* Mobile header viewport fit patch for browser CSS widths up to 520px */
@media(max-width:520px){
  .nav{padding-left:10px!important;padding-right:10px!important;gap:7px!important;box-sizing:border-box!important;}
  .brand{flex:0 0 auto!important;min-width:0!important;}
  .brand img{width:122px!important;max-width:122px!important;}
  .mobile-menu-toggle{width:40px!important;height:40px!important;flex:0 0 40px!important;}
  .nav .social{display:flex!important;flex:0 0 82px!important;min-width:82px!important;max-width:82px!important;gap:4px!important;margin-left:auto!important;margin-right:0!important;overflow:visible!important;}
  .nav .social a{width:24px!important;height:24px!important;min-width:24px!important;font-size:12px!important;}
}

/* Social icon render fix: force SVGs to fit and use white icon color */
.nav .social a{
  color:#fff!important;
  background:#082940!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.nav .social a svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  flex:0 0 16px!important;
  fill:currentColor!important;
  stroke:none!important;
}
.nav .social a svg path{
  fill:currentColor!important;
  stroke:none!important;
}
@media(max-width:860px){
  .nav .social{display:flex!important;align-items:center!important;justify-content:flex-end!important;}
  .nav .social a{width:31px!important;height:31px!important;min-width:31px!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;}
  .nav .social a svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important;}
}
@media(max-width:520px){
  .nav .social{flex:0 0 101px!important;min-width:101px!important;max-width:101px!important;gap:4px!important;}
  .nav .social a{width:31px!important;height:31px!important;min-width:31px!important;}
  .nav .social a svg{width:15px!important;height:15px!important;}
}

/* Mobile logo balance patch: slightly larger brand without breaking menu/social fit */
@media(max-width:520px){
  .brand img{width:150px!important;max-width:150px!important;}
  .mobile-menu-toggle{width:40px!important;height:40px!important;flex:0 0 40px!important;}
  .nav .social{flex:0 0 101px!important;min-width:101px!important;max-width:101px!important;gap:4px!important;}
}
@media(max-width:390px){
  .brand img{width:144px!important;max-width:144px!important;}
  .nav{padding-left:8px!important;padding-right:8px!important;gap:6px!important;}
  .nav .social{flex:0 0 98px!important;min-width:98px!important;max-width:98px!important;gap:3px!important;}
  .nav .social a{width:30px!important;height:30px!important;min-width:30px!important;}
}
@media(max-width:360px){
  .brand img{width:134px!important;max-width:134px!important;}
}

/* Mobile header balanced v2: larger readable logo while keeping all socials visible */
@media(max-width:520px){
  .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;padding-left:10px!important;padding-right:10px!important;gap:7px!important;}
  .brand{flex:0 0 142px!important;min-width:142px!important;max-width:142px!important;}
  .brand img{width:142px!important;max-width:142px!important;height:auto!important;}
  .mobile-menu-toggle{width:39px!important;height:39px!important;min-height:39px!important;flex:0 0 39px!important;}
  .nav .social{margin-left:0!important;margin-right:0!important;flex:0 0 94px!important;min-width:94px!important;max-width:94px!important;gap:3px!important;justify-content:flex-end!important;}
  .nav .social a{width:29px!important;height:29px!important;min-width:29px!important;}
  .nav .social a svg{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important;}
}
@media(max-width:370px){
  .brand{flex-basis:134px!important;min-width:134px!important;max-width:134px!important;}
  .brand img{width:134px!important;max-width:134px!important;}
  .nav{padding-left:8px!important;padding-right:8px!important;gap:5px!important;}
  .mobile-menu-toggle{width:37px!important;height:37px!important;min-height:37px!important;flex-basis:37px!important;}
  .nav .social{flex-basis:88px!important;min-width:88px!important;max-width:88px!important;gap:2px!important;}
  .nav .social a{width:28px!important;height:28px!important;min-width:28px!important;}
}

/* Navigation regression fix: dropdown must not be clipped by sticky header */
.nav,.nav.wrap{overflow:visible!important;z-index:1200!important;}
.nav::before,.nav:before{pointer-events:none!important;z-index:-1!important;}
.services-menu{position:relative!important;z-index:1210!important;}
.services-dropdown{z-index:1220!important;}
@media(min-width:861px){.services-menu:hover .services-dropdown,.services-menu[open] .services-dropdown{display:grid!important;}}
/* Decorative hero layers must never block nav/dropdowns or CTA clicks */
.hero,.article-hero,.page-hero{z-index:0;}
.hero::before,.hero:before,.hero::after,.hero:after,.article-hero::before,.article-hero:before,.article-hero::after,.article-hero:after,.page-hero::before,.page-hero:before,.page-hero::after,.page-hero:after{pointer-events:none!important;}
