/* CustodyProviders.com V8.7 — global logo refresh
   New logo on every page, with collision-safe responsive navigation. */

/* Standard directory header (.header > .container.nav) */
html body .header .container.nav,
html body .site-header .container.nav,
html body .site-header .header-inner{
  width:min(100%,1560px)!important;
  max-width:1560px!important;
  min-height:82px!important;
  margin:0 auto!important;
  padding:10px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:20px!important;
  box-sizing:border-box!important;
}

html body .header .brand,
html body .site-header .brand{
  flex:0 0 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}

html body .header .brand .site-logo,
html body .site-header .brand .site-logo{
  display:block!important;
  width:clamp(220px,17vw,286px)!important;
  height:auto!important;
  max-height:62px!important;
  max-width:286px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}

/* Both navigation class variants are used in the site. */
html body .header .navlinks,
html body .site-header .navlinks,
html body .site-header .nav-links{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:1px!important;
  width:auto!important;
}

html body .header .navlinks a,
html body .site-header .navlinks a,
html body .site-header .nav-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 7px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

html body .header .navlinks .nav-cta,
html body .site-header .navlinks .nav-cta,
html body .site-header .nav-links .nav-cta,
html body .header .navlinks a[href*="register"],
html body .site-header .navlinks a[href*="register"],
html body .site-header .nav-links a[href*="register"]{
  margin-left:4px!important;
  padding:10px 12px!important;
}

/* Footer: same new logo, intentionally smaller. */
html body .footer .brand .site-logo,
html body .site-footer .brand .site-logo{
  width:clamp(145px,14vw,185px)!important;
  height:auto!important;
  max-height:61px!important;
  object-fit:contain!important;
}

/* Dark platform / account pages use a separate compact header. */
html body .ca-header .ca-nav{
  min-height:76px!important;
  gap:18px!important;
}
html body .ca-brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
html body .ca-brand .site-logo,
html body .thank-you-brand .site-logo,
html body .redirect-brand .site-logo{
  display:block!important;
  width:clamp(170px,18vw,215px)!important;
  height:auto!important;
  max-height:60px!important;
  object-fit:contain!important;
}
html body .ca-nav-links{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Switch to the mobile menu before the logo and navigation can collide. */
@media (max-width:1240px){
  html body .header .container.nav,
  html body .site-header .container.nav,
  html body .site-header .header-inner{
    width:100%!important;
    max-width:100%!important;
    min-height:74px!important;
    padding:9px 20px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:190px!important;
    max-width:190px!important;
    max-height:62px!important;
  }
  html body .header .navlinks,
  html body .site-header .navlinks,
  html body .site-header .nav-links{
    display:none!important;
  }
  html body .mobile-menu-toggle,
  html body #subpage-mobile-menu-toggle,
  html body #mobile-toggle.mobile-menu-toggle{
    display:inline-flex!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    margin-left:auto!important;
  }
}

@media (max-width:760px){
  html body .header .container.nav,
  html body .site-header .container.nav,
  html body .site-header .header-inner{
    min-height:70px!important;
    padding:8px 16px!important;
    gap:12px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:174px!important;
    max-width:174px!important;
    max-height:58px!important;
  }
  html body .footer .brand .site-logo,
  html body .site-footer .brand .site-logo{
    width:132px!important;
    max-height:48px!important;
  }
  html body .ca-brand .site-logo,
  html body .thank-you-brand .site-logo,
  html body .redirect-brand .site-logo{
    width:160px!important;
    max-height:54px!important;
  }
}

@media (max-width:420px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:158px!important;
    max-width:158px!important;
  }
  html body .footer .brand .site-logo,
  html body .site-footer .brand .site-logo{width:122px!important;}
  html body .ca-brand .site-logo{width:148px!important;}
}
