/* GENERATED by scripts/chrome-armour.mjs — do not edit.
 *
 * The site chrome's own rules from main.css, re-emitted with !important so
 * that Divi's and the child theme's bare-element `!important` rules cannot
 * reach into the header and footer. Loaded only by the WordPress half, via
 * the `_chrome/head` fragment. See scripts/chrome-armour.mjs for why.
 */

/* Divi styles <body>, and everything below inherits from it. Pinning these on
   the two roots is what stops `body { font-weight: 500 }` reaching the footer's
   links. Values come from main.css's own body rule where it sets one, and from
   the CSS initial value where it does not. */
.site-header,
.site-footer,
.skip-link {
  font-family: var(--font-body) !important;
  font-size: var(--size-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-stretch: 100% !important;
  font-variant: normal !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-transform: none !important;
  text-align: start !important;
  text-indent: 0 !important;
  color: var(--color-ink) !important;
  white-space: normal !important;
  list-style: disc outside none !important;
}

/* Divi's `.nav li { position: relative }` would re-parent every dropdown panel,
   which is absolutely positioned against `.nav`. */
.site-header *,
.site-footer * { position: static !important; }

/* Undoes every bare-element rule on the host page — see chrome-armour.mjs.
   Tags are the ones actually present in the exported chrome (11). */
:where(.site-header, .site-footer) :is(a, button, div, footer, h2, header, li, nav, p, span, ul) {
  all: revert !important;
}

/* Divi's `.nav li { line-height: 1em }` is (0,1,1) and beats main.css's
   `.nav__item` at (0,1,0), so the menu items took a 14px leading against the
   rebuilt site's 24. This matches it at (0,1,1) and wins on source order.
   ⚠️ ONLY properties main.css does not set on `.nav__item` may go here — one
   that it does set would be silently overridden. The two-halves comparison in
   scripts/verify-wp-chrome.mjs is what would catch that. */
.site-header li { line-height: inherit !important; }

/* The child theme's own `.site-footer { padding: 50px 20px 30px }` — main.css
   sets only the block padding, so its 20px inline padding survived and inset
   the whole footer by 20px on each side. */
.site-footer { padding-inline: 0 !important; }

.site-header *,
.site-footer * {
  box-sizing:border-box !important;
}
.site-header img,
.site-footer img,
.site-header picture,
.site-footer picture,
.site-header video,
.site-footer video {
  max-width:100% !important;
  height:auto !important;
}
.t-h7,
.t-caption {
  margin:0 !important;
}
.t-h7 {
  font-family:var(--type-h7-family) !important;
  font-size:var(--type-h7-size) !important;
  line-height:var(--type-h7-leading) !important;
  font-weight:var(--type-h7-weight) !important;
  letter-spacing:var(--type-h7-tracking) !important;
  text-transform:var(--type-h7-transform,none) !important;
}
.t-caption {
  font-family:var(--type-caption-family) !important;
  font-size:var(--type-caption-size) !important;
  line-height:var(--type-caption-leading) !important;
  font-weight:var(--type-caption-weight) !important;
  letter-spacing:var(--type-caption-tracking) !important;
}
.l-container {
  width:100% !important;
  max-width:calc(var(--layout-content) + var(--layout-gutter) * 2) !important;
  padding-inline:var(--layout-gutter) !important;
  margin-inline:auto !important;
}
.u-visually-hidden {
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  width:1px !important;
  height:1px !important;
  margin:-1px !important;
  padding:0 !important;
  position:absolute !important;
  overflow:hidden !important;
}
.skip-link {
  z-index:100 !important;
  background:var(--color-brand-blue) !important;
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  padding:.75rem 1.25rem !important;
  font-size:.875rem !important;
  text-decoration:none !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  transform:translateY(-100%) !important;
}
.skip-link:focus-visible {
  transform:translateY(0) !important;
}
.is-cropped {
  container-type:var(--crop-container,normal) !important;
  position:relative !important;
  overflow:hidden !important;
}
.is-cropped>img,
.is-cropped>picture>img {
  width:var(--crop-w,100%) !important;
  height:var(--crop-h,100%) !important;
  left:var(--crop-x,0) !important;
  top:var(--crop-y,0) !important;
  object-fit:var(--crop-fit,cover) !important;
  max-width:none !important;
  transform:rotate(var(--crop-rotate,0deg)) scale(var(--crop-flip-x,1), var(--crop-flip-y,1)) !important;
  position:absolute !important;
}
.accolade__mark:not(.is-cropped)>img {
  object-fit:var(--fit,contain) !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.accolade__mark.is-cropped>img {
  display:block !important;
}
.site-header {
  z-index:50 !important;
  background:var(--color-white) !important;
  position:sticky !important;
  top:0 !important;
  box-shadow:0 7px 20.2px #00000012 !important;
}
.nav {
  height:67px !important;
  padding-inline:var(--space-l) !important;
  justify-content:space-between !important;
  align-items:center !important;
  display:flex !important;
  position:relative !important;
}
.nav__logo {
  flex-shrink:0 !important;
  align-items:center !important;
  height:100% !important;
  text-decoration:none !important;
  display:flex !important;
}
.nav__logo-mark {
  width:28px !important;
  height:28px !important;
  display:block !important;
}
.nav__logo-text {
  width:110px !important;
  height:28px !important;
  margin-left:9px !important;
  display:block !important;
  position:relative !important;
}
.nav__logo-word {
  width:110px !important;
  height:auto !important;
  display:block !important;
  position:absolute !important;
  top:9px !important;
  left:0 !important;
}
.nav__logo-tagline {
  color:#0a5687 !important;
  width:45px !important;
  font-family:var(--font-ui) !important;
  font-size:4.81px !important;
  line-height:6px !important;
  font-weight:var(--weight-semibold) !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  position:absolute !important;
  top:22px !important;
  left:50px !important;
}
.nav__menu {
  height:67px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:none !important;
  position:absolute !important;
  left:50% !important;
  transform:translate(-50%) !important;
}
.nav__item {
  display:flex !important;
}
.nav__link {
  justify-content:center !important;
  align-items:center !important;
  gap:var(--space-2xs) !important;
  cursor:pointer !important;
  color:var(--color-brand-blue) !important;
  font-family:var(--font-ui) !important;
  font-size:.9375rem !important;
  line-height:28px !important;
  font-weight:var(--weight-medium) !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  background:0 0 !important;
  border:0 !important;
  padding:20px 28px !important;
  text-decoration:none !important;
  display:flex !important;
}
.nav__link:focus-visible {
  text-underline-offset:6px !important;
  text-decoration:underline !important;
}
.nav__chevron {
  flex-shrink:0 !important;
  width:9px !important;
  height:5px !important;
  transition:transform .16s !important;
  overflow:visible !important;
}
.nav__link--toggle[aria-expanded=true] .nav__chevron {
  transform:rotate(180deg) !important;
}
.nav__panel {
  background:var(--color-white) !important;
  padding-block:var(--space-l) 48px !important;
  position:absolute !important;
  top:67px !important;
  left:0 !important;
  right:0 !important;
  overflow:hidden !important;
  box-shadow:0 7px 20.2px #00000012 !important;
}
.nav__panel[hidden] {
  display:none !important;
}
.nav__panel-mark {
  opacity:.07 !important;
  pointer-events:none !important;
  width:262px !important;
  height:156px !important;
  position:absolute !important;
  bottom:0 !important;
  right:0 !important;
}
.nav__panel-inner {
  justify-content:center !important;
  align-items:stretch !important;
  gap:25px !important;
  display:flex !important;
}
.nav__panel-intro {
  justify-content:center !important;
  gap:var(--space-3xs) !important;
  width:383px !important;
  padding-right:25px !important;
  padding-bottom:var(--space-3xs) !important;
  color:var(--color-brand-blue) !important;
  flex-direction:column !important;
  display:flex !important;
}
.nav__panel-title {
  font-family:var(--font-display) !important;
  font-size:2.125rem !important;
  line-height:37.901px !important;
  font-weight:var(--weight-medium) !important;
  font-stretch:var(--stretch-semicondensed) !important;
  margin:0 !important;
}
.nav__panel-text {
  font-family:var(--font-body) !important;
  letter-spacing:.02em !important;
  margin:0 !important;
  font-size:.75rem !important;
  line-height:20px !important;
}
.nav__panel-rule {
  background:var(--color-brand-blue) !important;
  flex-shrink:0 !important;
  width:1px !important;
}
.nav__panel-links {
  gap:var(--space-4xs) !important;
  flex-direction:column !important;
  justify-content:center !important;
  width:150px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
}
.nav__panel-links a {
  white-space:nowrap !important;
  color:#000 !important;
  font-family:var(--font-ui) !important;
  letter-spacing:.02em !important;
  font-size:.8125rem !important;
  line-height:24px !important;
  text-decoration:none !important;
}
.nav__panel-links a:focus-visible {
  text-underline-offset:3px !important;
  text-decoration:underline !important;
}
.nav__panel-toggle {
  align-items:center !important;
  gap:var(--space-2xs) !important;
  cursor:pointer !important;
  color:#000 !important;
  font-family:var(--font-ui) !important;
  letter-spacing:.02em !important;
  text-align:left !important;
  white-space:nowrap !important;
  background:0 0 !important;
  border:0 !important;
  padding:0 !important;
  font-size:.8125rem !important;
  line-height:24px !important;
  display:flex !important;
}
.nav__panel-toggle:focus-visible {
  text-underline-offset:3px !important;
  text-decoration:underline !important;
}
.nav__panel-toggle[aria-expanded=true] .nav__chevron {
  transform:rotate(180deg) !important;
}
.nav__panel-links>li {
  gap:var(--space-4xs) !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  display:flex !important;
}
.nav__panel-sublinks {
  gap:var(--space-4xs) !important;
  flex-direction:column !important;
  margin:0 !important;
  padding:0 0 0 24px !important;
  list-style:none !important;
  display:flex !important;
}
.nav__panel-sublinks[hidden] {
  display:none !important;
}
.nav__phone {
  border:var(--border-width) solid var(--color-brand-blue) !important;
  background:var(--color-white) !important;
  width:109px !important;
  min-height:28px !important;
  color:var(--color-brand-blue) !important;
  font-family:var(--font-ui) !important;
  font-size:.6875rem !important;
  line-height:28px !important;
  font-weight:var(--weight-semibold) !important;
  letter-spacing:.04em !important;
  text-align:center !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  border-radius:22px !important;
  flex-shrink:0 !important;
  justify-content:center !important;
  align-items:center !important;
  text-decoration:none !important;
  display:none !important;
}
.nav__phone:focus-visible {
  background:var(--color-brand-blue) !important;
  color:var(--color-white) !important;
}
.nav__burger {
  width:44px !important;
  height:44px !important;
  color:var(--color-brand-blue) !important;
  cursor:pointer !important;
  background:0 0 !important;
  border:0 !important;
  justify-content:center !important;
  align-items:center !important;
  padding:0 !important;
  display:flex !important;
}
.nav__burger-box {
  flex-direction:column !important;
  justify-content:space-between !important;
  width:20px !important;
  height:16px !important;
  display:flex !important;
}
.nav__burger-box span {
  background:currentColor !important;
  height:2.67px !important;
  display:block !important;
}
.nav__mobile {
  border-top:var(--border-width) solid var(--color-light-blue) !important;
  padding:var(--space-l) !important;
}
.nav__mobile[hidden] {
  display:none !important;
}
.nav__mobile-list,
.nav__mobile-list ul {
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.nav__mobile-list>li>a {
  padding-block:var(--space-3xs) !important;
  color:var(--color-brand-blue) !important;
  font-family:var(--font-ui) !important;
  font-size:.9375rem !important;
  line-height:28px !important;
  font-weight:var(--weight-medium) !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  display:block !important;
}
.nav__mobile-list ul {
  padding-left:var(--space-xs) !important;
  padding-bottom:var(--space-3xs) !important;
}
.nav__mobile-group {
  color:#000 !important;
  font-family:var(--font-ui) !important;
  letter-spacing:.02em !important;
  font-size:.8125rem !important;
  line-height:24px !important;
  font-weight:var(--weight-semibold) !important;
  padding-block:6px !important;
  display:block !important;
}
.nav__mobile-list ul ul {
  padding-left:var(--space-xs) !important;
  padding-bottom:0 !important;
}
.nav__mobile-list ul a {
  color:#000 !important;
  font-family:var(--font-ui) !important;
  letter-spacing:.02em !important;
  padding-block:6px !important;
  font-size:.8125rem !important;
  line-height:24px !important;
  text-decoration:none !important;
  display:block !important;
}
.nav__phone-bar {
  padding:8px var(--space-l) !important;
  background:var(--color-brand-blue) !important;
  justify-content:center !important;
  align-items:center !important;
  display:flex !important;
}
.nav__phone-bar a {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  font-size:.875rem !important;
  line-height:16px !important;
  font-weight:var(--weight-medium) !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}
.site-footer {
  background:var(--color-brand-blue) !important;
  color:var(--color-white) !important;
  padding-top:32px !important;
  padding-bottom:64px !important;
}
.site-footer__ornament {
  background:url(/assets/img/shared/footer-white-outline-2033.webp) 50%/cover no-repeat !important;
  height:22px !important;
}
.site-footer__columns {
  justify-content:space-between !important;
  gap:var(--space-2xl) var(--space-l) !important;
  text-align:center !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  min-height:409px !important;
  padding-top:100px !important;
  display:flex !important;
}
.site-footer__col ul {
  margin:var(--space-2xs) 0 0 !important;
  padding:0 !important;
  line-height:17px !important;
  list-style:none !important;
}
.site-footer__col-title {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  font-size:1rem !important;
  line-height:19px !important;
  font-weight:var(--weight-semibold) !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  margin:0 !important;
}
.site-footer__col li+li {
  margin-top:var(--space-2xs) !important;
}
.site-footer__col a {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  letter-spacing:.105em !important;
  font-size:.875rem !important;
  line-height:17px !important;
  text-decoration:none !important;
}
.site-footer__col a:focus-visible,
.site-footer__legal a:focus-visible {
  text-underline-offset:3px !important;
  text-decoration:underline !important;
}
.site-footer__band {
  padding-bottom:32px !important;
}
.site-footer__band-inner {
  justify-content:space-between !important;
  align-items:center !important;
  gap:var(--space-l) !important;
  min-height:57px !important;
  display:flex !important;
}
.site-footer__logo {
  align-items:flex-end !important;
  gap:17.6px !important;
  text-decoration:none !important;
  display:flex !important;
}
.site-footer__logo-mark {
  flex-shrink:0 !important;
  width:57px !important;
  height:57px !important;
  display:block !important;
}
.site-footer__logo-text {
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:6px !important;
  padding-bottom:12px !important;
  display:flex !important;
}
.site-footer__logo-word {
  width:min(225px,45vw) !important;
  height:auto !important;
  display:block !important;
}
.site-footer__tagline {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  font-size:.6125rem !important;
  line-height:12px !important;
  font-weight:var(--weight-semibold) !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  padding-right:30px !important;
}
.site-footer__social {
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
}
.site-footer__social img {
  filter:brightness(0)invert() !important;
  width:24px !important;
  height:24px !important;
  display:block !important;
}
.site-footer__social a:focus-visible img {
  opacity:.7 !important;
}
.site-footer__legal {
  border-top:var(--border-width) solid var(--color-white) !important;
}
.site-footer__legal-inner {
  justify-content:space-between !important;
  align-items:center !important;
  gap:var(--space-xs) !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  min-height:51px !important;
  padding-top:33px !important;
  display:flex !important;
}
.site-footer__legal p {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  margin:0 !important;
  font-size:1rem !important;
  line-height:19px !important;
}
.site-footer__legal ul {
  gap:var(--space-l) !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
}
.site-footer__legal a {
  color:var(--color-white) !important;
  font-family:var(--font-ui) !important;
  letter-spacing:0 !important;
  font-size:.75rem !important;
  line-height:14px !important;
  text-decoration:none !important;
}
@media (width<=47.99rem) {
  .hero__slide.is-cropped>img {
    width:var(--crop-fit-w,100%) !important;
    height:var(--crop-fit-h,100%) !important;
    left:var(--crop-fit-x,0) !important;
    top:var(--crop-fit-y,0) !important;
    object-fit:cover !important;
    object-position:var(--crop-pos-x,50%) var(--crop-pos-y,50%) !important;
  }
  .feature-item.is-cropped>img {
    width:var(--crop-fit-w,100%) !important;
    height:var(--crop-fit-h,100%) !important;
    left:var(--crop-fit-x,0) !important;
    top:var(--crop-fit-y,0) !important;
    object-fit:cover !important;
    object-position:var(--crop-pos-x,50%) var(--crop-pos-y,50%) !important;
  }
  .photo-band.is-cropped>img {
    width:var(--crop-fit-w,100%) !important;
    height:var(--crop-fit-h,100%) !important;
    left:var(--crop-fit-x,0) !important;
    top:var(--crop-fit-y,0) !important;
    object-fit:cover !important;
    object-position:var(--crop-pos-x,50%) var(--crop-pos-y,50%) !important;
  }
  .site-footer__columns {
    flex-flow:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:36px !important;
    min-height:0 !important;
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .site-footer__col {
    width:100% !important;
  }
  .site-footer__band-inner {
    flex-direction:column !important;
    gap:64px !important;
  }
  .site-footer__social {
    order:-1 !important;
  }
  .site-footer__legal-inner {
    text-align:center !important;
    flex-direction:column !important;
  }
  .site-footer__legal ul {
    justify-content:center !important;
    gap:var(--space-xs) !important;
  }
}
@media (width<=54.99rem) {
  .page-hero.is-cropped>img {
    width:var(--crop-fit-w,100%) !important;
    height:var(--crop-fit-h,100%) !important;
    left:var(--crop-fit-x,0) !important;
    top:var(--crop-fit-y,0) !important;
    object-fit:cover !important;
    object-position:var(--crop-pos-x,50%) var(--crop-pos-y,50%) !important;
  }
}
@media (width>=64rem) {
  .gallery.l-container {
    max-width:calc(1260px + var(--layout-gutter) * 2) !important;
  }
  .nav {
    padding-inline:76px !important;
  }
  .nav__logo-mark {
    width:37px !important;
    height:37px !important;
  }
  .nav__logo-text {
    display:none !important;
  }
  .nav__menu {
    align-items:stretch !important;
    display:flex !important;
  }
  .nav__phone {
    display:flex !important;
  }
  .nav__burger {
    display:none !important;
  }
  .nav__phone-bar {
    display:none !important;
  }
}
@media (width<=63.99rem) {
  .contact__slide.is-cropped>img {
    width:var(--crop-fit-w,100%) !important;
    height:var(--crop-fit-h,100%) !important;
    left:var(--crop-fit-x,0) !important;
    top:var(--crop-fit-y,0) !important;
    object-fit:cover !important;
    object-position:var(--crop-pos-x,50%) var(--crop-pos-y,50%) !important;
  }
  .site-header {
    flex-direction:column !important;
    max-height:100dvh !important;
    display:flex !important;
  }
  .nav__mobile {
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    min-height:0 !important;
    overflow-y:auto !important;
  }
}
@media (hover:hover) {
  .nav__link:hover {
    text-underline-offset:6px !important;
    text-decoration:underline !important;
  }
  .nav__panel-links a:hover {
    text-underline-offset:3px !important;
    text-decoration:underline !important;
  }
  .nav__panel-toggle:hover {
    text-underline-offset:3px !important;
    text-decoration:underline !important;
  }
  .nav__phone:hover {
    background:var(--color-brand-blue) !important;
    color:var(--color-white) !important;
  }
  .site-footer__col a:hover,
  .site-footer__legal a:hover {
    text-underline-offset:3px !important;
    text-decoration:underline !important;
  }
  .site-footer__social a:hover img {
    opacity:.7 !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .nav__chevron {
    transition:none !important;
  }
}
@media (width<=74.99rem) {
  .nav__panel-mark {
    display:none !important;
  }
}

/* 🔴 Restores the `hidden` attribute, which the block above would otherwise
   override: nav.js opens and closes every dropdown with `el.hidden`, and an
   author !important display beats the UA stylesheet that makes it work. */
.site-header [hidden],
.site-footer [hidden] { display: none !important; }
