header {
  box-sizing: border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
  padding:0px 40px;
  height:80px;
  background-color:transparent;
  position:fixed;
  top:0px;
  z-index:999;
}
header.megamenu > a {
  flex-shrink: 0;
  line-height: 0;
}
header.megamenu img.logo {
  display: block;
  width: 150px;
  max-width: 150px;
  height: auto;
  max-height: 37px;
  object-fit: contain;
  object-position: left center;
}
.menu-items {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
}
.menu-items .open-menu,
.menu-items .close-menu {
  width:36px;
}
.menu-items svg {
  display:block;
  margin:auto;
}
.menu-items .open-menu,
.menu-items .close-menu {
  color: #ffffff;
}
.menu-items svg path {
  stroke: currentColor;
}
{# buttons #}
a.main-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  line-height: 1;
  padding: 5px 25px;
  color: var(--mm-cta-outline, #ffffff);
  border: 2px solid var(--mm-cta-outline, #ffffff);
  border-radius: 40px;
  background-color: transparent !important;
  -webkit-text-fill-color: currentColor;
  transition:
    color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

a.main-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: var(--mm-cta-hover-bg, var(--mm-cta-outline, #ffffff));
  transform: scaleX(0);
  transform-origin: center center;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

a.main-cta:hover,
a.main-cta:focus-visible {
  color: var(--mm-cta-hover-text, #ffffff) !important;
  border-color: var(--mm-cta-hover-bg, var(--mm-cta-outline, #ffffff)) !important;
  background-color: transparent !important;
  -webkit-text-fill-color: currentColor;
  text-decoration: none;
}

a.main-cta:hover::before,
a.main-cta:focus-visible::before {
  transform: scaleX(1);
}

header.megamenu a.main-cta:hover,
header.megamenu a.main-cta:focus-visible,
#hs_cos_wrapper_megamenu header.megamenu a.main-cta:hover,
#hs_cos_wrapper_megamenu header.megamenu a.main-cta:focus-visible {
  color: var(--mm-cta-hover-text, #ffffff) !important;
  border-color: var(--mm-cta-hover-bg, var(--mm-cta-outline, #ffffff)) !important;
  background-color: transparent !important;
  -webkit-text-fill-color: currentColor;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  a.main-cta,
  a.main-cta::before {
    transition: none;
  }
}

/* General / non-home pages: white bar, navy logo + controls, no scroll theming */
header.megamenu.megamenu--static {
  background-color: #ffffff;
}

header.megamenu.megamenu--static:not(.is-menu-open) .main-cta:not(:hover):not(:focus-visible),
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static:not(.is-menu-open) .main-cta:not(:hover):not(:focus-visible) {
  --mm-cta-outline: var(--mm-nav-static, #173658);
  --mm-cta-hover-bg: var(--mm-nav-static, #173658);
  color: var(--mm-cta-outline) !important;
  border-color: var(--mm-cta-outline) !important;
}

header.megamenu.megamenu--static:not(.is-menu-open) .menu-items .open-menu,
header.megamenu.megamenu--static:not(.is-menu-open) .menu-items .close-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static:not(.is-menu-open) .menu-items .open-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static:not(.is-menu-open) .menu-items .close-menu {
  color: var(--mm-nav-static, #173658) !important;
}

header.megamenu.megamenu--static:not(.is-menu-open) .menu-items svg path,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static:not(.is-menu-open) .menu-items svg path {
  stroke: var(--mm-nav-static, #173658) !important;
}

header.megamenu.megamenu--static:not(.is-menu-open) svg.logo,
header.megamenu.megamenu--static:not(.is-menu-open) svg.logo path,
header.megamenu.megamenu--static:not(.is-menu-open) svg.logo * {
  fill: var(--mm-nav-static, #173658);
}

header.megamenu.megamenu--static:not(.is-menu-open) svg.logo [stroke] {
  stroke: var(--mm-nav-static, #173658);
}

header.megamenu.megamenu--static:not(.is-menu-open) img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(12%) sepia(42%) saturate(2468%) hue-rotate(196deg) brightness(92%) contrast(96%);
}

/* Static pages: keep navy controls when menu overlay is open (white header bar) */
header.megamenu.megamenu--static.is-menu-open .main-cta:not(:hover):not(:focus-visible),
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static.is-menu-open .main-cta:not(:hover):not(:focus-visible) {
  --mm-cta-outline: var(--mm-nav-static, #173658);
  --mm-cta-hover-bg: var(--mm-nav-static, #173658);
  color: var(--mm-cta-outline) !important;
  border-color: var(--mm-cta-outline) !important;
}

header.megamenu.megamenu--static.is-menu-open .menu-items .open-menu,
header.megamenu.megamenu--static.is-menu-open .menu-items .close-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static.is-menu-open .menu-items .open-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static.is-menu-open .menu-items .close-menu {
  color: var(--mm-nav-static, #173658) !important;
}

header.megamenu.megamenu--static.is-menu-open .menu-items svg path,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--static.is-menu-open .menu-items svg path {
  stroke: var(--mm-nav-static, #173658) !important;
}

header.megamenu.megamenu--static.is-menu-open img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(12%) sepia(42%) saturate(2468%) hue-rotate(196deg) brightness(92%) contrast(96%);
}

body.general .body_dnd_area {
  padding-top: var(--mm-header-height, 80px);
}

header.megamenu.megamenu--scroll-theme .main-cta,
header.megamenu.megamenu--scroll-theme .menu-items svg path,
header.megamenu.megamenu--scroll-theme svg.logo,
header.megamenu.megamenu--scroll-theme svg.logo path {
  transition: color 0.25s ease, border-color 0.25s ease, stroke 0.25s ease, fill 0.25s ease;
}
header.megamenu.megamenu--scroll-theme img.logo {
  transition: opacity 0.25s ease, filter 0.25s ease;
}
header.megamenu.megamenu--scroll-theme.is-nav-on-hero:not(.is-menu-open) img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(80%) sepia(28%) saturate(1282%) hue-rotate(203deg) brightness(99%) contrast(92%);
}
header.megamenu.megamenu--scroll-theme[data-mm-nav-mode="section3"]:not(.is-menu-open) img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(78%) sepia(18%) saturate(847%) hue-rotate(118deg) brightness(95%) contrast(91%);
}
header.megamenu.megamenu--scroll-theme[data-mm-nav-mode="section4"]:not(.is-menu-open) img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(12%) sepia(42%) saturate(2468%) hue-rotate(196deg) brightness(92%) contrast(96%);
}
header.megamenu.megamenu--scroll-theme[data-mm-nav-mode="section6"]:not(.is-menu-open) img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(15%) sepia(35%) saturate(1200%) hue-rotate(128deg) brightness(88%) contrast(98%);
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .main-cta,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .main-cta {
  --mm-cta-outline: var(--mm-nav-accent, var(--mm-nav-default, #ffffff));
  --mm-cta-hover-bg: var(--mm-nav-accent, var(--mm-nav-default, #ffffff));
}

#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .main-cta:not(:hover):not(:focus-visible),
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .main-cta:not(:hover):not(:focus-visible) {
  color: var(--mm-cta-outline) !important;
  border-color: var(--mm-cta-outline) !important;
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items .open-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items .close-menu,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items .open-menu,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items .close-menu {
  color: var(--mm-nav-accent, var(--mm-nav-default, #ffffff)) !important;
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items svg path,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) .menu-items svg path {
  stroke: var(--mm-nav-accent, var(--mm-nav-default, #ffffff)) !important;
}
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) svg.logo,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) svg.logo path,
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) svg.logo * {
  fill: var(--mm-nav-accent, var(--mm-nav-default, #ffffff));
}
header.megamenu.megamenu--scroll-theme:not(.is-menu-open) svg.logo [stroke] {
  stroke: var(--mm-nav-accent, var(--mm-nav-default, #ffffff));
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items .open-menu,
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items .close-menu,
header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items .open-menu,
header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items .close-menu {
  color: var(--mm-nav-menu-open, #453570) !important;
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items svg path,
header.megamenu.megamenu--scroll-theme.is-menu-open .menu-items svg path {
  stroke: var(--mm-nav-menu-open, #453570) !important;
}
#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-menu-open .main-cta,
header.megamenu.megamenu--scroll-theme.is-menu-open .main-cta {
  --mm-cta-outline: var(--mm-nav-menu-open, #453570);
  --mm-cta-hover-bg: var(--mm-nav-menu-open, #453570);
}

#hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-menu-open .main-cta:not(:hover):not(:focus-visible),
header.megamenu.megamenu--scroll-theme.is-menu-open .main-cta:not(:hover):not(:focus-visible) {
  color: var(--mm-cta-outline) !important;
  border-color: var(--mm-cta-outline) !important;
}
header.megamenu.megamenu--scroll-theme.is-menu-open svg.logo,
header.megamenu.megamenu--scroll-theme.is-menu-open svg.logo path,
header.megamenu.megamenu--scroll-theme.is-menu-open svg.logo * {
  fill: var(--mm-nav-menu-open, #453570);
}
header.megamenu.megamenu--scroll-theme.is-menu-open svg.logo [stroke] {
  stroke: var(--mm-nav-menu-open, #453570);
}
header.megamenu.megamenu--scroll-theme.is-menu-open img.logo[data-mm-logo-tint="true"] {
  filter: brightness(0) saturate(100%) invert(18%) sepia(35%) saturate(1100%) hue-rotate(230deg) brightness(88%) contrast(95%);
}

/* Homepage hero (section 1): white header controls on mobile instead of purple tint */
@media (max-width: 767px) {
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero img.logo[data-mm-logo-tint="true"] {
    filter: none !important;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero .main-cta,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .main-cta,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero .main-cta,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .main-cta {
    --mm-cta-outline: #ffffff;
    --mm-cta-hover-bg: #ffffff;
    --mm-cta-hover-text: #173658;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero .main-cta:not(:hover):not(:focus-visible),
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .main-cta:not(:hover):not(:focus-visible),
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero .main-cta:not(:hover):not(:focus-visible),
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .main-cta:not(:hover):not(:focus-visible) {
    color: var(--mm-cta-outline) !important;
    border-color: var(--mm-cta-outline) !important;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items .open-menu,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items .close-menu,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items .open-menu,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items .close-menu,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items .open-menu,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items .close-menu,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items .open-menu,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items .close-menu {
    color: #ffffff !important;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items svg path,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items svg path,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero .menu-items svg path,
  #hs_cos_wrapper_megamenu header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open .menu-items svg path {
    stroke: #ffffff !important;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero svg.logo,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero svg.logo path,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero svg.logo *,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open svg.logo,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open svg.logo path,
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open svg.logo * {
    fill: #ffffff;
  }

  header.megamenu.megamenu--scroll-theme.is-nav-on-hero svg.logo [stroke],
  header.megamenu.megamenu--scroll-theme.is-nav-on-hero.is-menu-open svg.logo [stroke] {
    stroke: #ffffff;
  }
}

.overlay-menu {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  position:fixed;
  top:0px;
  bottom:0px;
  left:0px;
  right:0px;
  background-color:#BF9BEB;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 0.3s ease, visibility 0.3s ease;
  z-index:998;
}
.overlay-menu.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.menu-area {
  max-width:1170px;
  display:flex;
  gap:40px;
  align-items:flex-start;
  padding: 20px;
}

.text-area {
  display:flex;
  flex-direction:column;
  gap:20px;
  width:20%;
  color:#453570;
}
.text-area .title,
.text-area a.title {
  font-size: 24px;
  font-weight: 500;
  text-decoration: underline;
  margin-bottom: 5px;
}
.text-area a.title {
  display: block;
}
.text-area a {
  display: block;
  font-weight: 500;
  color: #453570;
  transition: 0.3s ease;
}
.text-area a:hover {
  color:#453570!important;
  transition:.3s ease;
  transform:translateX(4px);
}
.text-area a.title:hover {
  color: #453570 !important;
}

.cards-area {
  width: 80%;
}
.primary-cards {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  align-items: stretch;
  gap:20px;
  margin-bottom:20px;
}
.primary-cards .card {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  width: calc(50% - 10px);
  padding: 20px;
  align-items: stretch;
  justify-content: space-between;
  gap: 30px;
  border-radius: 10px;
  background: #F3E9FF;
  transition:.3s ease;
  text-decoration: none;
}
.primary-cards .card:hover {
  transform: translateY(-2px);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3), 0px 2px 12px rgba(0, 0, 0, 0.2);
  transition: 0.3s ease;
  text-decoration: none;
}
.primary-cards .card .content {
  flex: 1 1 auto;
  min-width: 0;
  max-width:100%;
  color:#453570;
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  align-self: flex-start;
}
.primary-cards .card .content .title {
  font-family: var(--primary-font);
  font-size:32px;
  color:#453570;
  margin: 0;
}
.primary-cards .card .content .description-desktop {
  margin: 0;
  font-family: var(--body-font, "Montserrat", sans-serif);
  font-weight: 500;
  font-style: italic;
}
.primary-cards .card .content .description-mobile {
  display:none;
  margin: 0;
  font-family: var(--body-font, "Montserrat", sans-serif);
  font-weight: 500;
  font-style: italic;
}
.primary-cards .card img {
  flex: 0 0 auto;
  width: 30%;
  align-self: center;
  object-fit: contain;
}

.secondary-cards {
  display: flex;
  flex-wrap: wrap;
  max-width:100%;
  align-items: stretch;
  gap:20px;
}
.secondary-cards .card {
  box-sizing: border-box;
  display: flex;
  width: calc(25% - 15px);
  padding: 20px;
  align-items: center;
  justify-content:center;
  border-radius: 10px;
  background: #F3E9FF;
  color:#453570;
  transition:.3s ease;
}
.secondary-cards .card:hover {
  color:#453570;
  transform:translateY(-2px);
  box-shadow:0px 0px 2px rgba(0,0,0,.3),0px 2px 12px rgba(0,0,0,.2);
  transition:.3s ease;
}

.secondary-cards .card .title {
  margin:0px;
  padding:0px;
  line-height:1;
  font-size: 20px;
  font-style: italic;
  font-weight: 500;
  text-align:center;
}

@media (max-width: 990px) {
  .overlay-menu.is-open {
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .menu-area {
    flex-direction: column-reverse;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 80px;
    overflow-y: visible;
    margin-bottom: 40px;
  }
  .text-area,
  .cards-area {
    width:100%;
  }
  .text-area {
    flex-direction:row;
    gap:40px;
    flex-wrap:wrap;
  }
  .text-area .text-group {
    width:calc(33% - 27px);
  }
}

@media (max-width: 720px) {
  header {
    padding:20px;
  }
  header .logo {
    max-width:120px;
  }
  .primary-cards .card {
    width:100%;
  }
  .primary-cards .card .content {
    gap: 0.46875rem;
  }
  .primary-cards .card .content .title {
    font-size: 24px;
    margin: 0;
  }
  .primary-cards .card .content .description-desktop {
    display:none;
  }
  .primary-cards .card .content .description-mobile {
    display:block;
    margin: 0;
  }
  .primary-cards .card img {
    width:20%;
  }
  .secondary-cards .card {
    display:none;
  }
  .text-area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    row-gap: 20px;
    align-items: start;
  }
  .text-area .text-group {
    width: 100%;
  }
  .text-area .text-group:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .text-area .text-group:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .text-area .text-group:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 390px) {
  header.megamenu .menu-items {
    gap: 12px;
  }

  header.megamenu .main-cta {
    font-size: 0.8125rem;
    white-space: nowrap;
    padding: 5px 16px;
  }
}

