/* Add ne-* classes in Divi > Advanced > CSS ID & Classes. */
#page-container { overflow-x: clip; background: var(--ne-color-ivory); }
.et_pb_section:not([class*="ne-"]) { background-color: transparent; }
.et_pb_row.ne-container { width: min(100% - (2 * var(--ne-gutter)), var(--ne-container)); max-width: var(--ne-container); }
.et_pb_row.ne-container::after, .et_pb_row.ne-grid::after, .et_pb_row.ne-split::after { display: none; }
.et_pb_row.ne-grid, .et_pb_row.ne-split { display: grid; }
.et_pb_row.ne-grid > .et_pb_column, .et_pb_row.ne-split > .et_pb_column { width: auto; margin: 0; }
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3 { font-family: var(--ne-font-display); }
/* Keep essential copy readable when a Divi module preset supplies pale text. */
.et_pb_section:not(.ne-surface--dark, .ne-hero, .ne-cta--dark) .et_pb_text_inner :where(p, li) {
  color: var(--ne-color-charcoal) !important;
  font-weight: 400;
}
.ne-surface--dark .et_pb_text_inner :where(p, li),
.ne-hero .et_pb_text_inner :where(p, li),
.ne-cta--dark .et_pb_text_inner :where(p, li) {
  color: var(--ne-color-white) !important;
}
.et_pb_button::after, .et_pb_button::before { display: none !important; }
.et_pb_button.ne-button { padding: 0.75rem 1.75rem !important; }
.et_pb_contact_form_container.ne-form .input { min-height: var(--ne-target-min); border: var(--ne-border-thin) solid var(--ne-color-border); border-radius: 0; background: var(--ne-color-white); color: var(--ne-color-charcoal); }
.et_pb_contact_form_container.ne-form textarea.input { min-height: 9rem; }
.et_pb_contact_form_container.ne-form .et_pb_contact_field_options_title { display: block; color: var(--ne-color-teal-deep); font-size: var(--ne-text-sm); }
.et_pb_module.ne-card { overflow: hidden; }
.ne-post-grid .et_pb_ajax_pagination_container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ne-space-5); }
.ne-post-grid article { padding: 0 0 var(--ne-space-5); margin: 0; background: var(--ne-color-white); }
.ne-header .ne-header__inner { position: relative; width: 100%; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.ne-header .ne-header__inner > .et_pb_text { position: static; z-index: 2; flex: 0 0 auto; margin: 0; transform: none; }
.ne-header .ne-site-logo--desktop { width: 8rem; }
.ne-header .ne-header__inner > .et_pb_menu { width: auto; min-width: 0; }
.ne-header .et_pb_menu_inner_container { width: 100%; }
.ne-header .ne-nav { display: block; flex: 1 1 0; max-width: none; margin: 0; }
.ne-header .et_pb_menu,
.ne-header .et_pb_menu_inner_container,
.ne-header .et_pb_menu__wrap { background: transparent !important; }
.ne-header .ne-nav .et_pb_menu_inner_container,
.ne-header .ne-nav .et_pb_menu__wrap,
.ne-header .ne-nav .et_pb_menu__menu,
.ne-header .ne-nav .et_pb_menu__menu > nav { width: 100%; max-width: none; }
.ne-header .et_pb_menu__wrap { flex: 1 1 100%; justify-content: stretch; }
.ne-nav .et_pb_menu__menu { width: 100%; }
.ne-nav .et_pb_menu__menu > nav { width: 100%; }
.ne-nav .et_pb_menu__menu > nav > ul { width: 100%; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: clamp(0.75rem, 1.15vw, 1.1rem); }
.ne-nav .et_pb_menu__menu > nav > ul > li:first-child { margin-left: auto; }
.ne-nav .et_pb_menu__menu > nav > ul > li:nth-child(4) { margin-right: auto; }
.ne-nav .et_pb_menu__menu > nav > ul > li > a { color: var(--ne-color-white) !important; font-size: clamp(0.75rem, 1.05vw, 0.875rem); font-weight: 500; }
.ne-nav .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:first-child::after {
  display: none;
}
.ne-nav .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:first-child { padding-right: 0; }
.ne-nav .et_pb_menu__menu > nav > ul > li.current-menu-item > a,
.ne-nav .et_pb_menu__menu > nav > ul > li > a:hover { color: var(--ne-color-gold-soft) !important; }
.ne-nav .et_pb_menu__menu > nav > ul > li:last-child > a {
  min-height: var(--ne-target-min);
  padding-inline: clamp(0.75rem, 1.25vw, 1.1rem) !important;
  background: var(--ne-color-gold);
  color: var(--ne-color-teal-dark) !important;
}
.ne-nav .et_pb_menu__menu > nav > ul > li:last-child > a:hover { background: var(--ne-color-gold-soft); color: var(--ne-color-teal-dark) !important; }
.ne-nav .sub-menu {
  width: 17rem;
  padding: var(--ne-space-2) 0;
  background: var(--ne-color-teal-dark) !important;
  border-top-color: var(--ne-color-gold) !important;
  box-shadow: 0 1rem 2rem rgba(14, 67, 77, 0.22);
}
.ne-nav .sub-menu li { width: 100%; padding: 0; }
.ne-nav .sub-menu a {
  width: 100%;
  padding: 0.75rem 1.25rem;
  color: var(--ne-color-white) !important;
  line-height: 1.45;
}
.ne-nav .et_mobile_nav_menu { margin-left: auto; }
.ne-nav .mobile_menu_bar::before { color: var(--ne-color-gold); }
.ne-nav .et_mobile_menu { border-top: 0; background: var(--ne-color-teal-dark) !important; }
.ne-nav .et_mobile_menu a { min-height: var(--ne-target-min); color: var(--ne-color-white) !important; font-size: var(--ne-text-sm); font-weight: 500; }

@media (max-width: 61.9375rem) {
  .ne-header .ne-header__inner { min-height: 4.75rem; justify-content: space-between; padding-block: var(--ne-space-2); }
  .ne-header .ne-header__inner > .et_pb_text { position: static; transform: none; }
  .ne-header .ne-header__inner > .et_pb_menu { width: auto; flex: 0 0 auto; }
  .ne-header .et_pb_menu_inner_container { position: static; }
  .ne-header .et_pb_menu__wrap { justify-content: flex-end; }
  .ne-nav { width: auto; order: initial; }
  .ne-nav .et_mobile_menu {
    position: fixed;
    z-index: calc(var(--ne-z-header) + 2);
    inset: 0 0 0 auto;
    width: min(86vw, 23rem);
    height: 100dvh;
    padding: 5.5rem var(--ne-space-5) var(--ne-space-6);
    overflow-y: auto;
    border-left: var(--ne-border-thin) solid rgba(239, 221, 176, 0.35);
    box-shadow: -1rem 0 3rem rgba(14, 67, 77, 0.32);
  }
  .ne-nav .et_mobile_menu > li > a { padding-inline: 0; border-bottom-color: rgba(255, 255, 255, 0.12); }
  .ne-nav .et_mobile_menu .sub-menu { padding-left: var(--ne-space-3); }
  .ne-nav .mobile_nav.opened .mobile_menu_bar { position: fixed; z-index: calc(var(--ne-z-header) + 3); top: var(--ne-space-4); right: var(--ne-space-4); }
}
