@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css";
/* =============================================================
   LBH Header + Footer
   ============================================================= */

   :root {
    --font-family-default: "Open Sans", sans-serif;
    --color-white: #fff;
    --color-care-blue: #002855;
    --color-brave-blue: #0072ce;
    --color-healing-green: #40c1ac;
  
    /* derived gradient colors: 50% care-blue overlay over original brave->care gradient */
    --header-gradient-start: #004d92;
    --header-gradient-end: #002855;
  }
  
  /* ---- Base ---- */
  html,
  body {
    font-family: var(--font-family-default);
  }
  
  html {
    color: #000;
    font-size: 62.5%;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: auto;
  }
  
  body {
    font-size: 1.8rem;
    margin: 0;
  }
  
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  a {
    text-decoration: none;
  }
  
  /* No underline on header/footer links (host PM styles often add :hover underline) */
  #kcwHeader .kcw__lbh-header a,
  #kcwHeader .kcw__lbh-header a:hover,
  #kcwHeader .kcw__lbh-header a:focus,
  #kcwHeader .kcw__lbh-header a:focus-visible,
  #kcwHeader .kcw__lbh-header a:active,
  #kcwHeader .kcw__lbh-header a:visited,
  #kcwFooter .kcw__lbh-footer a,
  #kcwFooter .kcw__lbh-footer a:hover,
  #kcwFooter .kcw__lbh-footer a:focus,
  #kcwFooter .kcw__lbh-footer a:focus-visible,
  #kcwFooter .kcw__lbh-footer a:active,
  #kcwFooter .kcw__lbh-footer a:visited {
    text-decoration: none !important;
  }
  
  button {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
  }
  
  /* =============================================================
     HEADER
     ============================================================= */
  
  .kcw__lbh-header {
    background: var(--color-care-blue);
    padding: 1rem 1.5rem;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header {
      background: linear-gradient(90deg,
          var(--header-gradient-start) 0%,
          var(--header-gradient-end) 100%);
      padding: 1rem 1.5rem 0;
    }
  }
  
  .kcw__lbh-header__inner {
    max-width: min(100vw - 7rem, 111rem);
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    position: relative;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__inner {
      align-items: stretch;
    }
  }
  
  /* ---- Logo ---- */
  .kcw__lbh-header__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }
  
  .kcw__lbh-header__logo-mobile {
    display: block;
    max-width: 20rem;
    width: 100%;
  }
  
  .kcw__lbh-header__logo-desktop {
    display: none;
    width: 30rem;
    max-width: 30rem;
    height: 6rem;
    background: url("https://cdn.kyruus.com/pmc-customer-static-assets/2201pkqt/images/1.4/lbh-long.png") no-repeat center / contain;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__logo-mobile {
      display: none;
    }
  
    .kcw__lbh-header__logo-desktop {
      display: block;
    }
  }
  
  @media (min-width: 1120px) {
    .kcw__lbh-header__logo-desktop {
      max-height: 4.2rem;
    }
  }
  
  /* ---- Hamburger (checkbox-driven, mobile only) ---- */
  .kcw__lbh-header__toggle {
    display: none;
  }
  
  .kcw__lbh-header__hamb {
    display: block;
    cursor: pointer;
    padding: 2rem;
    z-index: 3;
  }
  
  .kcw__lbh-header__hamb-line,
  .kcw__lbh-header__hamb-line::before,
  .kcw__lbh-header__hamb-line::after {
    background: var(--color-white);
    display: block;
    width: 24px;
    height: 2px;
    transition: all 0.2s ease-out;
  }
  
  .kcw__lbh-header__hamb-line {
    position: relative;
  }
  
  .kcw__lbh-header__hamb-line::before,
  .kcw__lbh-header__hamb-line::after {
    content: "";
    position: absolute;
    width: 100%;
  }
  
  .kcw__lbh-header__hamb-line::before {
    top: 5px;
  }
  
  .kcw__lbh-header__hamb-line::after {
    top: -5px;
  }
  
  /* X state when checked */
  .kcw__lbh-header__toggle:checked~.kcw__lbh-header__hamb .kcw__lbh-header__hamb-line {
    background: transparent;
  }
  
  .kcw__lbh-header__toggle:checked~.kcw__lbh-header__hamb .kcw__lbh-header__hamb-line::before {
    transform: rotate(-45deg);
    top: 0;
  }
  
  .kcw__lbh-header__toggle:checked~.kcw__lbh-header__hamb .kcw__lbh-header__hamb-line::after {
    transform: rotate(45deg);
    top: 0;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__hamb {
      display: none;
    }
  }
  
  /* ---- Nav ---- */
  .kcw__lbh-header__nav {
    /* Mobile: fixed full-screen overlay, collapsed by default */
    position: fixed;
    inset: 0;
    background: var(--color-care-blue);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    z-index: 2;
  }
  
  .kcw__lbh-header__toggle:checked~.kcw__lbh-header__nav {
    max-height: 100%;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__nav {
      position: static;
      background: transparent;
      max-height: none;
      overflow: visible;
      flex: 1;
    }
  }
  
  .kcw__lbh-header__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 5vw;
    margin-top: 8vh;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__menu {
      flex-direction: row;
      justify-content: flex-end;
      align-items: center;
      margin: 0;
      padding: 0;
      height: 8rem;
    }
  }
  
  .kcw__lbh-header__menu>li {
    padding: 10px;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__menu>li {
      padding: 0 0 0 2rem;
      display: flex;
      align-items: center;
    }
  }
  
  .kcw__lbh-header__menu>li>a {
    display: block;
    padding: 30px;
    color: var(--color-white);
    font-size: 1.8rem;
    font-weight: 400;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__menu>li>a {
      padding: 0;
      color: var(--color-white);
      font-size: 1.6rem;
      font-weight: 500;
      white-space: nowrap;
    }
  
    .kcw__lbh-header__menu>li>a:hover {
      color: var(--color-healing-green);
      text-decoration: none !important;
    }
  }
  
  /* ---- Phone CTA button ----
     On mobile: inherits the 30px menu-link padding so the pill is tall,
     plus bigger/bolder text.
     On desktop: collapses to a compact pill. */
  .kcw__lbh-header__cta {
    background-color: var(--color-brave-blue);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    border-radius: 0.4rem;
    letter-spacing: 0;
    box-shadow: 5px 5px rgba(0, 40, 85, 0.08);
  }
  
  .kcw__lbh-header__cta:hover {
    background-color: var(--color-care-blue);
    color: var(--color-white);
  }
  
  /* Higher specificity to override the generic .lbh-header__menu > li > a font rule */
  .kcw__lbh-header__menu>li>a.kcw__lbh-header__cta {
    font-size: 2rem;
    font-weight: 700;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-header__menu>li>a.kcw__lbh-header__cta {
      padding: 0.65rem 2rem;
      font-size: 1.6rem;
      font-weight: 500;
    }
  }
  
  /* =============================================================
     FOOTER
     ============================================================= */
  
  .kcw__lbh-footer {
    background-color: var(--color-care-blue);
    margin-top: 10rem;
    position: relative;
  }
  
  /* The white arch cap sitting on top of the footer */
  .kcw__lbh-footer__arch {
    position: absolute;
    top: -2.7rem;
    left: 0;
    right: 0;
    height: 3rem;
    overflow: hidden;
  }
  
  .kcw__lbh-footer__arch::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 134%;
    height: 15rem;
    border-radius: 50%;
    background-color: var(--color-care-blue);
  }
  
  .kcw__lbh-footer__container {
    max-width: min(100vw - 7rem, 111rem);
    margin-inline: auto;
    padding-block-end: 7rem;
    display: grid;
    gap: 2rem;
    justify-content: center;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-footer__container {
      justify-content: unset;
      gap: 4rem;
    }
  }
  
  /* ---- Two info columns ---- */
  .kcw__lbh-footer__columns {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding-block-start: 5rem;
    text-align: center;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-footer__columns {
      flex-direction: row;
      justify-content: center;
      gap: 4.5rem;
    }
  }
  
  .kcw__lbh-footer__column {
    flex: 0 1 34rem;
  }
  
  /* Scoped to #kcwFooter so rules win over later PM / Kyruus global h3, ul, li resets */
  #kcwFooter .kcw__lbh-footer__title {
    color: var(--color-white);
    font-family: var(--font-family-default);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.3;
    margin: 0 0 1.2rem;
    padding: 0;
  }
  
  #kcwFooter ul.kcw__lbh-footer__list {
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  
  #kcwFooter ul.kcw__lbh-footer__list > li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  .kcw__lbh-footer__link {
    color: var(--color-white) !important;
    font-size: 1.4rem;
    line-height: 2;
  }
  
  .kcw__lbh-footer__link:hover,
  .kcw__lbh-footer__link:focus {
    color: var(--color-healing-green) !important;
    text-decoration: none !important;
  }
  
  /* ---- Bottom row: logo + social + legal ---- */
  .kcw__lbh-footer__bottom {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    max-width: 26.3rem;
    align-items: center;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-footer__bottom {
      flex-direction: row;
      justify-content: space-between;
      max-width: none;
      align-items: flex-start;
    }
  }
  
  .kcw__lbh-footer__logo {
    width: 26.4rem;
    height: 9.8rem;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-footer__logo {
      width: 17.5rem;
      height: 7.1rem;
    }
  }
  
  .kcw__lbh-footer__bottom-right {
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
  }
  
  @media (min-width: 930px) {
    .kcw__lbh-footer__bottom-right {
      align-items: flex-end;
    }
  }
  
  .kcw__lbh-footer__social {
    display: flex;
    gap: 1.5rem;
  }
  
  .kcw__lbh-footer__social a,
  .kcw__lbh-footer__social .fa-brands {
    color: var(--color-white);
  }
  
  .kcw__lbh-footer__social a:hover .fa-brands {
    color: var(--color-healing-green);
  }
  
  .kcw__lbh-footer__legal {
    color: var(--color-white);
  }
  
  .kcw__lbh-footer__legal .kcw__lbh-footer__link {
    font-size: 1.4rem;
  }
  
  .fa-phone::before {
    padding: 0.6rem;
  }