/* VMC release fix 2026-07-29: accessible contrast and responsive navigation with Blog menu */
:root{
  --vmc-accessible-aqua:#006f8d;
  --vmc-accessible-ink:#0b3038;
}

/* Dark text is required across both ends of the existing light-aqua gradient. */
.btn.primary,
.mobile-bar a:first-child{
  color:var(--vmc-accessible-ink)!important;
  text-shadow:none!important;
}

/* Accessible aqua on white and VMC's soft-grey surfaces. */
.kicker,
.breadcrumb a{
  color:var(--vmc-accessible-aqua)!important;
}
/* Dark proof/review sections need the light brand aqua, not the dark text aqua. */
.dark .kicker{
  color:#55cfe7!important;
}

/* Light content-card copy previously missed WCAG AA by a narrow margin. */
.content-card p,
.content-card p strong{
  color:#5d7077!important;
}
.dark .content-card p,
.dark .content-card p strong{
  color:#a8bcc2!important;
}

/* The consent privacy link must not rely on colour alone. */
#vmc-consent a{
  text-decoration:underline!important;
  text-underline-offset:2px;
}

/* The shared ghost button must remain readable on both light and dark page heroes. */
.page-hero .btn.ghost{
  background:#fff!important;
  border-color:var(--vmc-accessible-aqua)!important;
  color:var(--vmc-accessible-aqua)!important;
  text-shadow:none!important;
}
.page-hero .btn.ghost:hover,
.page-hero .btn.ghost:focus-visible{
  background:#e9f8fb!important;
  color:#005b73!important;
}

.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:64px;
  margin-left:auto;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:10px;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.menu-toggle:hover,
.menu-toggle:focus-visible,
.menu-toggle[aria-expanded="true"]{
  background:#fff;
  border-color:#fff;
  color:#17262c;
  outline:none;
}
.menu-toggle:focus-visible{
  box-shadow:0 0 0 3px rgba(126,223,242,.55);
}

@media (max-width:1180px){
  .nav{
    position:relative;
    gap:12px;
  }
  .menu-toggle{
    display:inline-flex;
  }
  body.nav-open::before{
    content:"";
    position:fixed;
    z-index:19;
    inset:0;
    background:rgba(12,35,44,.44);
    pointer-events:none;
  }
  .navlinks{
    display:none!important;
  }
  .navlinks.menu-open{
    display:flex!important;
    position:absolute;
    z-index:500;
    top:calc(100% + 8px);
    right:16px;
    width:min(320px,calc(100vw - 32px));
    max-height:calc(100vh - 150px);
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:12px;
    border:1px solid rgba(0,139,176,.25);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 45px rgba(12,35,44,.24);
  }
  .navlinks.menu-open a{
    display:block;
    width:100%;
    padding:12px 14px;
    border-radius:9px;
    color:#17262c!important;
    font-size:15px;
    line-height:1.25;
  }
  .navlinks.menu-open a:hover,
  .navlinks.menu-open a:focus-visible,
  .navlinks.menu-open a.active,
  .navlinks.menu-open a[aria-current="page"]{
    background:#e9f8fb;
    color:#005b73!important;
    outline:none;
  }
}

@media (max-width:620px){
  /* Keep the first-visit consent panel safely above the fixed quote bar. */
  #vmc-consent{
    bottom:calc(80px + env(safe-area-inset-bottom, 0px))!important;
    padding:10px 18px!important;
  }
  /* The fixed WhatsApp/email bar already provides the mobile quote actions. */
  .nav-cta{
    display:none!important;
  }
  .menu-toggle{
    min-width:58px;
    padding:10px 12px;
  }
  .navlinks.menu-open{
    right:14px;
    width:calc(100vw - 28px);
  }
}
