/* navbar_logo_left — sitewide navbar chrome.
   Values from runs/<id>/specs/navbar_logo_left.spec.md ## Computed Styles.
   Colors / standard spacings snapped to css/tokens.css; layout dimensions
   (component-specific px measures) inlined verbatim from the spec.
   Run breakpoint boundaries: 991 (tablet) / 767 (mobile) — canonical set
   {479,767,991,1919}. Base rules = 1440 desktop. */

/* Bare-preview reset: the SDC preview page carries the UA 8px body margin the
   source did not have. Composed Drupal pages already zero it, so this is
   idempotent there (no negative-margin leak — see composed-page-alignment). */
body {
  margin: 0;
}

/* ---- Root ------------------------------------------------------------- */
.c-navbar_logo_left__navbar-logo-left {
  display: block;
  position: sticky;
  top: 0;
  width: 100%;
  min-width: 0;
  z-index: 10000000;
  font-family: var(--font-family-display);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-primary);
  background-color: var(--color-bg-alt4-alpha-80);
}

/* Sticky-nav enablement. The navbar declares position:sticky/top:0 (below), but
   the Drupal header region (.region-header) and the block wrapper it contains are
   only as tall as the navbar — and a sticky box can never stick beyond its
   parent's bounds, so it scrolls away after ~84px. Collapse those two wrappers
   with display:contents so the navbar's sticky containing block becomes the
   full-height page container (.layout-container). Framework-general — independent
   of the site's content height or the wrapper markup. */
.region-header,
.region-header > * {
  display: contents;
}

.c-navbar_logo_left__global-styles {
  display: block;
  width: 100%;
  height: 0;
}

/* Active menu state. A tiny vanilla script (navbar_logo_left.js) adds .is-active +
   aria-current="page" to the link whose href matches the current path, and
   .is-active-trail to its parent top-level item. Source marks the current service
   in the dropdown with a red underline; the parent nav item turns accent-red. */
.c-navbar_logo_left__dropdown-link.is-active {
  border-bottom: 1px solid var(--color-bg-accent, #ed1c24);
}
.c-navbar_logo_left__nav-link.is-active,
.c-navbar_logo_left__nav-item.is-active-trail > .c-navbar_logo_left__nav-link {
  color: var(--color-bg-accent, #ed1c24);
}

.c-navbar_logo_left__nav-component {
  position: relative;
  padding: var(--space-16) 0;
  z-index: 1010;
}

/* padding-global — shared utility canonicalized under about_info; scoped here
   so the preview renders standalone without duplicating unscoped utility CSS. */
.c-navbar_logo_left__navbar-logo-left .c-about_info__heading-wrap-5 {
  display: block;
  padding: 0 var(--space-40);
}

/* container-large — capped, centered content column. */
.c-navbar_logo_left__navbar-logo-left .c-about_info__heading-wrap {
  display: block;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}

.c-navbar_logo_left__navbar-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 0;
  height: 49px;
}

/* ---- Logo brand link -------------------------------------------------- */
.c-navbar_logo_left__cta {
  display: block;
  position: relative;
  flex: 0 0 auto;
  width: 156px;
}

.c-navbar_logo_left__logo-img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---- Menu (default variant) ------------------------------------------- */
.c-navbar_logo_left__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 36px;
  height: 44px;
}

.c-navbar_logo_left__nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.c-navbar_logo_left__nav-link {
  color: var(--color-text-primary);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
  white-space: nowrap;
}

/* Services dropdown — collapsed by default (Webflow w-dropdown-list),
   revealed on hover/focus of its parent nav item. */
.c-navbar_logo_left__dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  min-width: 540px;
  padding: 20px 24px;
  flex-direction: column;
  gap: 8px;
  background-color: #fff;
  border: 1px solid var(--color-border, #e5e5e5);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.10);
}

/* Mega-menu two-group layout (source: icon grid + divider + text-link grid). */
.c-navbar_logo_left__dropdown-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
}
.c-navbar_logo_left__dropdown-grid--primary {
  row-gap: 4px;
}
.c-navbar_logo_left__dropdown-grid--secondary {
  row-gap: 2px;
}
.c-navbar_logo_left__dropdown-link--icon {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  white-space: normal;
}
.c-navbar_logo_left__dropdown-icon-wrap {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background-color: var(--color-bg-neutral, #f5f5f5);
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-navbar_logo_left__dropdown-icon {
  width: 22px;
  height: 22px;
  display: block;
}
.c-navbar_logo_left__dropdown-label {
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
}
.c-navbar_logo_left__dropdown-divider {
  height: 1px;
  background-color: var(--color-border, #e5e5e5);
  margin: 10px 4px;
}
/* Headway (last secondary link) is highlighted red in the source. */
.c-navbar_logo_left__dropdown-grid--secondary a:last-child {
  color: var(--color-bg-accent, #ed1c24);
}

.c-navbar_logo_left__nav-item:hover > .c-navbar_logo_left__dropdown,
.c-navbar_logo_left__nav-item:focus-within > .c-navbar_logo_left__dropdown {
  display: flex;
}

.c-navbar_logo_left__dropdown-link {
  display: block;
  padding: 8px 12px;
  color: var(--color-text-primary);
  font-size: 15px;
  line-height: 22px;
  text-decoration: none;
  border-radius: 8px;
  white-space: nowrap;
}

.c-navbar_logo_left__dropdown-link:hover {
  background-color: var(--color-bg-subtle, #f5f5f5);
}

/* Last menu item — red CTA pill with mail icon (source render). */
.c-navbar_logo_left__nav-cta {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding: 12px 24px;
  background-color: var(--color-bg-accent);
  color: var(--color-text-inverse);
  border-radius: 48px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
}

.c-navbar_logo_left__nav-cta-icon {
  display: inline-flex;
  align-items: center;
}

.c-navbar_logo_left__nav-cta-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

/* ---- Hamburger (mobile only) ------------------------------------------ */
.c-navbar_logo_left__menu-button {
  display: none;
}

.c-navbar_logo_left__menu-icon {
  display: block;
  width: 30px;
  height: auto;
}

/* ---- Mobile flyout host ----------------------------------------------- */
.c-navbar_logo_left__overlay {
  display: none;
  position: absolute;
  width: 100%;
  min-width: 0;
}

/* ---- Leaf-CTA variant (logo + single dark pill, no menu) -------------- */
.c-navbar_logo_left__navbar-logo-left[data-variant="leaf_cta"] .c-navbar_logo_left__navbar-wrapper {
  height: 52px;
}

.c-navbar_logo_left__navbar-logo-left .c-hero__cta {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  max-width: 100%;
  height: 52px;
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  border-radius: 48px;
  font-weight: 500;
  line-height: 20px;
  text-transform: capitalize;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

/* ---- Tablet (≤991px) — 768 sample: menu stays expanded ---------------- */
@media (max-width: 991px) {
  .c-navbar_logo_left__navbar-wrapper {
    height: 44px;
  }
  .c-navbar_logo_left__cta {
    width: 120px;
  }
  .c-navbar_logo_left__nav {
    gap: 29px;
  }
}

/* ---- Mobile (≤767px) — 375 sample: menu collapses to hamburger -------- */
@media (max-width: 767px) {
  .c-navbar_logo_left__navbar-logo-left {
    background-color: var(--color-bg-page);
  }
  .c-navbar_logo_left__nav-component {
    padding: var(--space-8) 0;
  }
  .c-navbar_logo_left__navbar-logo-left .c-about_info__heading-wrap-5 {
    padding: 0 var(--space-16);
  }
  .c-navbar_logo_left__navbar-wrapper {
    height: 40px;
  }
  .c-navbar_logo_left__cta {
    width: 100px;
  }
  .c-navbar_logo_left__nav {
    display: none;
    background-color: var(--color-bg-page);
    border-radius: 0 0 var(--radius-12) var(--radius-12);
    box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.2);
  }
  .c-navbar_logo_left__menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: var(--space-8);
    width: 46px;
    height: 40px;
  }
}

/* F13-6 style-parity patches — iteration 1 (generated; safe to regenerate) */
@media (min-width: 992px) {
  [data-component="navbar_logo_left"] {
    height: 84px;
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap-5 {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__nav-component {
    height: 84px;
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__navbar-wrapper {
    height: 52px;
  }
}
@media (min-width: 480px) and (max-width: 991px) {
  [data-component="navbar_logo_left"] {
    height: 84px;
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap-5 {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__nav-component {
    height: 84px;
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__navbar-wrapper {
    height: 52px;
  }
}
@media (max-width: 479px) {
  [data-component="navbar_logo_left"] {
    height: var(--line-height-h1);
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-about_info__heading-wrap-5 {
    height: 52px;
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__nav-component {
    height: var(--line-height-h1);
  }
  [data-component="navbar_logo_left"] .c-navbar_logo_left__navbar-wrapper {
    height: 52px;
  }
}
/* end F13-6 patches */
