/* EnrollIQ shared site CSS. Managed chrome, hero, navigation, and reveal rules used across every page. */

:root { --site-header-height: 106px; }
body > header:not(.ew-header) {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 900 !important;
  width: 100% !important;
  min-height: var(--site-header-height) !important;
  padding: 0 24px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body > header:not(.ew-header) .header-inner {
  width: min(100%, 1360px) !important;
  max-width: 1360px !important;
  min-height: var(--site-header-height) !important;
  height: var(--site-header-height) !important;
  margin: 0 auto !important;
  padding: 22px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
  flex-wrap: nowrap !important;
}
body > header:not(.ew-header) .header-logo {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
}
body > header:not(.ew-header) .header-logo img {
  width: 197px !important;
  height: auto !important;
  max-height: 62px !important;
  display: block !important;
}
body > header:not(.ew-header) .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}
body > header:not(.ew-header) .site-nav a,
body > header:not(.ew-header) .site-nav button {
  white-space: nowrap !important;
  text-decoration: none !important;
}
body > header:not(.ew-header) .site-nav > a.nav-link,
body > header:not(.ew-header) .site-nav > .nav-group > .nav-trigger {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.34) !important;
}
body > header:not(.ew-header) .site-nav > a.nav-link:hover,
body > header:not(.ew-header) .site-nav > a.nav-link:focus-visible,
body > header:not(.ew-header) .site-nav > .nav-group > .nav-trigger:hover,
body > header:not(.ew-header) .site-nav > .nav-group > .nav-trigger:focus-visible {
  color: #fff !important;
}
body > header:not(.ew-header) .site-nav > a.nav-link.is-active::after,
body > header:not(.ew-header) .site-nav > .nav-group.is-active > .nav-trigger::after,
body > header:not(.ew-header) .site-nav > .nav-group > .nav-trigger.is-active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  bottom: -10px !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #fff !important;
}
body > header:not(.ew-header) .nav-group {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 14px 0 !important;
  margin: -14px 0 !important;
}
body > header:not(.ew-header) .nav-trigger {
  border: 0 !important;
  background: transparent !important;
  font: inherit !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
body > header:not(.ew-header) .nav-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 1000 !important;
  min-width: 220px !important;
  margin: 0 !important;
  padding: 10px !important;
  display: none !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
}
body > header:not(.ew-header) .nav-group:hover .nav-menu,
body > header:not(.ew-header) .nav-group:focus-within .nav-menu {
  display: grid !important;
  gap: 4px !important;
}
body > header:not(.ew-header) .nav-menu a {
  display: block !important;
  padding: 9px 10px !important;
  border-radius: 6px !important;
  color: #1f2933 !important;
}
body > header:not(.ew-header) .nav-menu a:hover,
body > header:not(.ew-header) .nav-menu a:focus-visible,
body > header:not(.ew-header) .nav-menu a.is-active {
  background: rgba(75, 124, 52, .1) !important;
  color: #1f2933 !important;
  font-weight: 800 !important;
}
body > header:not(.ew-header) .header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  white-space: nowrap !important;
}
body > header:not(.ew-header) .header-phone {
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.34) !important;
}
body > header:not(.ew-header) .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}
body > header:not(.ew-header) .mobile-nav {
  display: none !important;
}
body > header:not(.ew-header) .mobile-nav a {
  color: #fff !important;
}
body > header:not(.ew-header) .mobile-nav a.is-active {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 5px !important;
}
@media (max-width: 1100px) {
  body > header:not(.ew-header) .site-nav,
  body > header:not(.ew-header) .header-phone { display: none !important; }
  body > header:not(.ew-header) .hamburger { display: inline-flex !important; }
  body > header:not(.ew-header) .mobile-nav.is-open,
  body > header:not(.ew-header)[data-open="true"] .mobile-nav { display: grid !important; }
}
@media (max-width: 760px) {
  :root { --site-header-height: 82px; }
  body > header:not(.ew-header) { padding: 0 18px !important; }
  body > header:not(.ew-header) .header-inner {
    height: var(--site-header-height) !important;
    min-height: var(--site-header-height) !important;
    padding: 14px 0 !important;
  }
  body > header:not(.ew-header) .header-logo img {
    width: 168px !important;
    max-height: 52px !important;
  }
  body > header:not(.ew-header) .btn-primary { display: none !important; }
}

[data-hero-asset-layout-sync="full-bleed"] {
  position: relative !important;
  min-height: 100vh !important;
  height: 100vh !important;
  min-height: 100svh !important;
  height: 100svh !important;
  max-height: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  padding: clamp(96px, 12vh, 150px) clamp(28px, 6vw, 88px) clamp(84px, 10vh, 132px) !important;
  color: #fff !important;
  background-color: #263f2f !important;
  background-image: linear-gradient(135deg, #1f3429 0%, #4b7c34 100%) !important;
  background-size: cover !important;
  background-position: 68% center !important;
  background-repeat: no-repeat !important;
}
[data-hero-asset-layout-sync="full-bleed"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(12, 18, 14, .90) 0%, rgba(12, 18, 14, .80) 30%, rgba(12, 18, 14, .55) 50%, rgba(12, 18, 14, .18) 76%, rgba(12, 18, 14, 0) 100%);
}
[data-hero-asset-layout-sync="full-bleed"] > * {
  position: relative !important;
  z-index: 2 !important;
}
[data-hero-asset-layout-sync="full-bleed"] picture,
[data-hero-asset-layout-sync="full-bleed"] figure,
[data-hero-asset-layout-sync="full-bleed"] img,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-bg" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-media" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-image" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="media-wrap" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="image-wrap" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="photo-wrap" i] {
  display: none !important;
}
[data-hero-asset-layout-sync="full-bleed"] > div,
[data-hero-asset-layout-sync="full-bleed"] .container,
[data-hero-asset-layout-sync="full-bleed"] [class*="inner" i] {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-grid" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-inner" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="wrap" i] {
  justify-content: flex-start !important;
  justify-items: start !important;
  align-items: center !important;
  text-align: left !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i] {
  max-width: 720px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-self: start !important;
  grid-column: 1 !important;
  text-align: left !important;
  transform: none !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #fff !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i]::after {
  content: none !important;
  display: none !important;
}
/* DIRECTION-AWARE: when the hero's people sit on the LEFT, copy + scrim flip to
   the RIGHT (data-hero-copy-side="right") so copy never lands over faces. */
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"]::before {
  background: linear-gradient(270deg, rgba(12, 18, 14, .90) 0%, rgba(12, 18, 14, .80) 30%, rgba(12, 18, 14, .55) 50%, rgba(12, 18, 14, .18) 76%, rgba(12, 18, 14, 0) 100%);
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-grid" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-inner" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="wrap" i] {
  justify-content: flex-end !important;
  justify-items: end !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="content" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="copy" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="text" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-copy" i] {
  margin-left: auto !important;
  margin-right: 0 !important;
  justify-self: end !important;
  grid-column: 2 !important;
}
[data-hero-asset-layout-sync="full-bleed"] h1 {
  max-width: 760px !important;
  margin: 0 0 clamp(18px, 2.5vw, 28px) !important;
  color: #fff !important;
  font-size: clamp(3rem, 5.6vw, 5.5rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}
[data-hero-asset-layout-sync="full-bleed"] p {
  max-width: 680px !important;
  color: rgba(255, 255, 255, .94) !important;
  font-size: clamp(1.125rem, 1.7vw, 1.45rem) !important;
  line-height: 1.55 !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="actions" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="ctas" i] {
  justify-content: flex-start !important;
  justify-items: start !important;
  text-align: left !important;
}
[data-hero-asset-layout-sync="full-bleed"].cp-hero .cp-wrap.cp-hero-grid {
  display: block !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
[data-hero-asset-layout-sync="full-bleed"].cp-hero .cp-hero-copy {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  padding-left: 24px !important;
  box-sizing: border-box !important;
}
[data-hero-asset-layout-sync="full-bleed"] a,
[data-hero-asset-layout-sync="full-bleed"] button {
  min-height: 52px;
  white-space: nowrap;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue {
  position: absolute !important;
  left: 50% !important;
  bottom: clamp(26px, 5vh, 52px) !important;
  z-index: 6 !important;
  transform: translateX(-50%) !important;
  width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  background: rgba(12, 18, 14, .28) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue:hover,
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue:focus-visible {
  transform: translateX(-50%) translateY(-3px) !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.95) !important;
  text-decoration: none !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-scroll-cue-placement="above-trust"] .eiq-hero-scroll-cue {
  bottom: clamp(118px, 15vh, 156px) !important;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue svg {
  width: 25px !important;
  height: 25px !important;
  stroke: currentColor !important;
}
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="-btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="-btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="cta-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="hero-cta" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="cta-primary" i] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f97316 !important;
  color: #fff !important;
  box-shadow: 0 16px 32px rgba(249, 115, 22, .28) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-ghost" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-secondary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="secondary" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-ghost" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-secondary" i] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 0 24px !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
@media (max-width: 760px) {
  [data-hero-asset-layout-sync="full-bleed"] {
    min-height: calc(100svh - var(--site-header-height, 78px)) !important;
    height: auto !important;
    padding: 92px 22px 72px !important;
    background-position: center center !important;
    background-image: linear-gradient(135deg, #1f3429 0%, #4b7c34 100%) !important;
  }
  [data-hero-asset-layout-sync="full-bleed"]::before {
    background: linear-gradient(90deg, rgba(12, 18, 14, .86), rgba(12, 18, 14, .62), rgba(12, 18, 14, .28));
  }
  [data-hero-asset-layout-sync="full-bleed"] h1 {
    font-size: clamp(2.65rem, 13vw, 4.3rem) !important;
  }
  [data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue,
  [data-hero-asset-layout-sync="full-bleed"][data-hero-scroll-cue-placement="above-trust"] .eiq-hero-scroll-cue {
    bottom: 22px !important;
    width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
}

@media (min-width: 761px) {
[data-hero-asset-layout-sync="full-bleed"] {
  background-image: linear-gradient(90deg, rgba(15,18,16,.76), rgba(15,18,16,.42), rgba(15,18,16,.12)), var(--eiq-hero-bg-image, none) !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] {
  background-image: linear-gradient(270deg, rgba(15,18,16,.76), rgba(15,18,16,.42), rgba(15,18,16,.12)), var(--eiq-hero-bg-image, none) !important;
}
}

main section[data-section-reveal="true"] > :not(style) {
  opacity: 1;
  transform: none;
}
/* Enhanced mode: hold not-yet-revealed sections hidden from first paint so they
   fade UP cleanly on entry instead of flashing visible first. The first section
   (hero, data-reveal-index="0") is excluded so it stays instant — protects LCP
   and keeps the hero from fading on every load. */
html.eiq-reveal-enhanced main section[data-section-reveal="true"]:not(.is-reveal-visible):not([data-reveal-index="0"]) > :not(style) {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
}
html.eiq-reveal-enhanced main section[data-section-reveal="true"].is-reveal-visible > :not(style) {
  animation: eiq-section-fade-up 720ms ease-out both;
}
@keyframes eiq-section-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  main section[data-section-reveal="true"] > :not(style) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (min-width:769px){
  header .mobile-nav, header nav.mobile-nav, header [class*="mobile-nav"]{display:none!important}
  header [data-nav-intelligence]{display:flex;align-items:center;gap:clamp(16px,2vw,28px);flex-wrap:nowrap;white-space:nowrap;min-width:0}
  header [data-nav-intelligence] li{position:relative;list-style:none;white-space:nowrap}
  header [data-nav-intelligence] a{white-space:nowrap;text-decoration:none}
  header [data-nav-intelligence] .nav-dropdown{position:absolute;top:calc(100% - 1px);left:0;z-index:50;display:none;min-width:220px;margin:0;padding:10px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.14)}
  header [data-nav-intelligence] [data-nav-dropdown]:hover>.nav-dropdown,header [data-nav-intelligence] [data-nav-dropdown]:focus-within>.nav-dropdown{display:grid;gap:4px}
  header [data-nav-intelligence] .nav-dropdown a{display:block;padding:9px 10px;border-radius:6px;color:inherit}
  header [data-nav-intelligence] .nav-dropdown a:hover,header [data-nav-intelligence] .nav-dropdown a:focus-visible{background:rgba(0,0,0,.06)}
  header [data-nav-intelligence] .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;border-radius:999px;background:var(--brand-primary,#1f5f4a);color:#fff}
}
@media (max-width:768px){
  header [data-nav-intelligence] .nav-dropdown{position:static;display:grid;margin:4px 0 8px 12px;padding:0;box-shadow:none;border:0;background:transparent}
  header [data-nav-intelligence] .nav-dropdown a{padding:8px 0}
  header [data-nav-intelligence] .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;background:var(--brand-primary,#1f5f4a);color:#fff}
}

[data-hero-asset-layout-sync="full-bleed"] {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  height: auto !important;
  max-height: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  /* Force ROW: the model sometimes authors the hero as flex-direction:column, in
     which case align-items:center would center the copy HORIZONTALLY (the bug
     that left copy mid/right). Pinning row makes align-items=vertical centering
     and justify-content=horizontal placement, so copy-side is deterministic. */
  flex-direction: row !important;
  align-items: center !important;
  /* Default copy-left: the section is a flex row whose only in-flow child is the
     copy column (image + overlay are position:absolute). flex-start pins copy to
     the left. */
  justify-content: flex-start !important;
  overflow: hidden !important;
  isolation: isolate !important;
  /* Top padding must clear the (transparent, ~106px) fixed nav with a buffer. */
  padding: clamp(132px, 15vh, 184px) clamp(28px, 6vw, 88px) clamp(84px, 10vh, 132px) !important;
}
/* Higher-specificity height override: the reused homepage's OLD hero block also
   ships height:100svh in the shared CSS and was winning by source order. The hero
   also carries data-hero-asset-sync-background, so two attributes outrank it and
   force grow-to-fit regardless of cascade order. */
[data-hero-asset-layout-sync="full-bleed"][data-hero-asset-sync-background="true"] {
  /* Grow-to-fit (two-attr selector outranks the reused homepage's old block). */
  height: auto !important;
  min-height: 100svh !important;
  align-items: flex-start !important;
  color: #fff !important;
  background-color: #263f2f !important;
  background-image: linear-gradient(135deg, #1f3429 0%, #4b7c34 100%) !important;
  background-size: cover !important;
  background-position: 68% center !important;
  background-repeat: no-repeat !important;
}
[data-hero-asset-layout-sync="full-bleed"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(12, 18, 14, .90) 0%, rgba(12, 18, 14, .80) 30%, rgba(12, 18, 14, .55) 50%, rgba(12, 18, 14, .18) 76%, rgba(12, 18, 14, 0) 100%);
}
[data-hero-asset-layout-sync="full-bleed"] > * {
  position: relative !important;
  z-index: 2 !important;
}
/* The direct-child rule above lifts copy above the scrim, but it also
   un-absolutes any overlay/scrim/gradient layer the model authored as
   position:absolute — turning it into an in-flow flex item that eats horizontal
   space and shoves the copy to the wrong side. Force those decorative layers
   back out of flow, behind copy. */
[data-hero-asset-layout-sync="full-bleed"] [class*="overlay" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="scrim" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="gradient" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="tint" i],
[data-hero-asset-layout-sync="full-bleed"] > [data-hero-bg-layer="true"] {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 1 !important;
}
/* The copy column is the only in-flow child; pin it above the scrim. */
[data-hero-asset-layout-sync="full-bleed"] > [data-hero-copy-col="true"] {
  position: relative !important;
  z-index: 2 !important;
}
[data-hero-asset-layout-sync="full-bleed"] picture,
[data-hero-asset-layout-sync="full-bleed"] figure,
[data-hero-asset-layout-sync="full-bleed"] img,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-bg" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-media" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-image" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="media-wrap" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="image-wrap" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="photo-wrap" i] {
  display: none !important;
}
[data-hero-asset-layout-sync="full-bleed"] > div,
[data-hero-asset-layout-sync="full-bleed"] .container,
[data-hero-asset-layout-sync="full-bleed"] [class*="inner" i] {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-grid" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-inner" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="wrap" i] {
  justify-content: flex-start !important;
  justify-items: start !important;
  align-items: center !important;
  text-align: left !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  /* The model builds the hero copy block as a 2-column grid (copy | image). With
     the image rendered as a full-bleed background, the 2nd column is empty and the
     copy is crammed into a half-width cell. Collapse to a single column so the copy
     uses the full container width. */
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
}
/* Class-INDEPENDENT version: patchHeroImage always tags the copy column with
   data-hero-copy-col, so this catches the same 2-column-grid problem no matter
   what the model names the element (reg-hero__inner, sp-hero-inner, etc.). */
[data-hero-asset-layout-sync="full-bleed"] [data-hero-copy-col="true"] {
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i],
[data-hero-asset-layout-sync="full-bleed"] > [data-hero-copy-col="true"] {
  max-width: 720px !important;
  /* width:auto + flex:0 1 auto stop the model's width:100% from making the copy
     column fill the whole flex line — otherwise there is no free space for the
     section's justify-content/margin-auto to push the copy to its side. */
  width: auto !important;
  flex: 0 1 auto !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-self: start !important;
  grid-column: 1 !important;
  text-align: left !important;
  transform: none !important;
  align-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #fff !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="content" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="copy" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="text" i]::after,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i]::before,
[data-hero-asset-layout-sync="full-bleed"] [class*="hero-copy" i]::after {
  content: none !important;
  display: none !important;
}
/* DIRECTION-AWARE: when the hero's people sit on the LEFT, copy + scrim flip to
   the RIGHT (data-hero-copy-side="right") so copy never lands over faces. */
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] {
  justify-content: flex-end !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"]::before {
  background: linear-gradient(270deg, rgba(12, 18, 14, .90) 0%, rgba(12, 18, 14, .80) 30%, rgba(12, 18, 14, .55) 50%, rgba(12, 18, 14, .18) 76%, rgba(12, 18, 14, 0) 100%);
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-grid" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-inner" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="wrap" i] {
  justify-content: flex-end !important;
  justify-items: end !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="content" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="copy" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="text" i],
[data-hero-asset-layout-sync="full-bleed"][data-hero-copy-side="right"] [class*="hero-copy" i] {
  margin-left: auto !important;
  margin-right: 0 !important;
  justify-self: end !important;
  grid-column: 2 !important;
}
[data-hero-asset-layout-sync="full-bleed"] h1 {
  max-width: 720px !important;
  margin: 0 0 clamp(16px, 2vw, 24px) !important;
  color: #fff !important;
  /* Per design review: 80px H1 was too large and collided with the nav.
     ~44-64px desktop, tighter line-height, slight negative tracking, 2-3 lines. */
  font-size: clamp(2.5rem, 4.2vw, 4rem) !important;
  line-height: 1.04 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance !important;
  text-align: left !important;
}
[data-hero-asset-layout-sync="full-bleed"] p {
  max-width: 600px !important;
  color: rgba(255, 255, 255, .9) !important;
  /* Per design review: body was 23px and BOLD (700). Drop to 17-20px, normal
     weight, looser leading — calmer, more premium, less competing with the H1. */
  font-size: clamp(1.0625rem, 1.25vw, 1.25rem) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
[data-hero-asset-layout-sync="full-bleed"] [class*="actions" i],
[data-hero-asset-layout-sync="full-bleed"] [class*="ctas" i] {
  justify-content: flex-start !important;
  justify-items: start !important;
  text-align: left !important;
}
[data-hero-asset-layout-sync="full-bleed"].cp-hero .cp-wrap.cp-hero-grid {
  display: block !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
[data-hero-asset-layout-sync="full-bleed"].cp-hero .cp-hero-copy {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  padding-left: 24px !important;
  box-sizing: border-box !important;
}
[data-hero-asset-layout-sync="full-bleed"] a,
[data-hero-asset-layout-sync="full-bleed"] button {
  min-height: 52px;
  white-space: nowrap;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue {
  position: absolute !important;
  left: 50% !important;
  bottom: clamp(26px, 5vh, 52px) !important;
  z-index: 6 !important;
  transform: translateX(-50%) !important;
  width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  background: rgba(12, 18, 14, .28) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue:hover,
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue:focus-visible {
  transform: translateX(-50%) translateY(-3px) !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.95) !important;
  text-decoration: none !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-scroll-cue-placement="above-trust"] .eiq-hero-scroll-cue {
  bottom: clamp(118px, 15vh, 156px) !important;
}
[data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue svg {
  width: 25px !important;
  height: 25px !important;
  stroke: currentColor !important;
}
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="-btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="-btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="cta-primary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="hero-cta" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-primary" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-solid" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="cta-primary" i] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f97316 !important;
  color: #fff !important;
  box-shadow: 0 16px 32px rgba(249, 115, 22, .28) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-ghost" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="btn-secondary" i],
[data-hero-asset-layout-sync="full-bleed"] a[class*="secondary" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-ghost" i],
[data-hero-asset-layout-sync="full-bleed"] button[class*="btn-secondary" i] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 0 24px !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
@media (max-width: 760px) {
  [data-hero-asset-layout-sync="full-bleed"] {
    min-height: calc(100svh - var(--site-header-height, 78px)) !important;
    height: auto !important;
    padding: 92px 22px 72px !important;
    background-position: center center !important;
    background-image: linear-gradient(135deg, #1f3429 0%, #4b7c34 100%) !important;
  }
  /* Mobile: grow-to-fit (the two-attr desktop rule sets min-height:100svh). */
  [data-hero-asset-layout-sync="full-bleed"][data-hero-asset-sync-background="true"] {
    height: auto !important;
    max-height: none !important;
    min-height: calc(100svh - var(--site-header-height, 78px)) !important;
  }
  [data-hero-asset-layout-sync="full-bleed"]::before {
    background: linear-gradient(90deg, rgba(12, 18, 14, .86), rgba(12, 18, 14, .62), rgba(12, 18, 14, .28));
  }
  [data-hero-asset-layout-sync="full-bleed"] h1 {
    font-size: clamp(2.25rem, 9vw, 3rem) !important;
    line-height: 1.07 !important;
  }
  [data-hero-asset-layout-sync="full-bleed"] p {
    font-size: 1.0625rem !important;
    line-height: 1.5 !important;
  }
  [data-hero-asset-layout-sync="full-bleed"] .eiq-hero-scroll-cue,
  [data-hero-asset-layout-sync="full-bleed"][data-hero-scroll-cue-placement="above-trust"] .eiq-hero-scroll-cue {
    bottom: 22px !important;
    width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
}

@media (min-width: 761px) {
[data-hero-asset-layout-sync="full-bleed"][data-hero-asset-sync-background="true"] {
  background-image: linear-gradient(90deg, rgba(15,18,16,.76), rgba(15,18,16,.42), rgba(15,18,16,.12)), var(--eiq-hero-bg-image, none) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
[data-hero-asset-layout-sync="full-bleed"][data-hero-asset-sync-background="true"][data-hero-copy-side="right"] {
  background-image: linear-gradient(270deg, rgba(15,18,16,.76), rgba(15,18,16,.42), rgba(15,18,16,.12)), var(--eiq-hero-bg-image, none) !important;
}
}

