/* Transportation-only hero standard, version 20261021-1. The body scope is
   emitted only after registry validation. Height grows without clipping content. */
body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout][data-enb-service-hero-key] {
  --enb-service-hero-gutter: clamp(20px, 4vw, 64px);
  --enb-service-hero-shell: 1552px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  /* The old bundled py utilities declare !important outside their original
     breakpoint. Limit this compatibility override to the marked hero shell. */
  padding-block: 24px !important;
  margin-block: 0;
  align-content: start;
  align-items: start;
  justify-content: flex-start;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-inner] {
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: none;
  padding-block: 0;
  align-content: start;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-copy] {
  text-align: left;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] h1 {
  margin-block: 0 14px;
  max-width: 30ch;
  text-wrap: balance;
  overflow-wrap: anywhere;
  text-align: left;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-copy] > p {
  max-width: 70ch;
  margin-inline: 0;
  margin-block: 0 14px;
  line-height: 1.55;
}

/* A scoped compatibility override is necessary here: the existing transport
   CTA source uses !important for width, margins, layout and type in multiple
   legacy variants. It must not impose a centered 252px column on this hero. */
body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] {
  display: flex !important;
  flex-flow: column wrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100%;
  margin-inline: 0 !important;
  margin-block: 18px !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] > [data-enb-service-hero-action] {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  min-height: 48px !important;
  height: auto !important;
  margin: 0 !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] > .call-note {
  flex: 0 0 auto;
  width: 100%;
  margin: 2px 0 0;
  text-align: left;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-action].enb-transport-wa-hero {
  grid-template-columns: 32px minmax(0, 1fr) 18px !important;
  gap: 9px !important;
  padding: 8px 12px 8px 8px !important;
  border-radius: 14px !important;
  text-align: left !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-action] .enb-transport-wa-hero__copy {
  justify-items: start !important;
  gap: 3px !important;
  text-align: left !important;
  line-height: 1.25 !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-action] .enb-transport-wa-hero__title {
  font-size: 14px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-action] .enb-transport-wa-hero__subtitle {
  font-size: 11px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-action].call-cta {
  padding: 12px 20px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

/* Transport has an extra media wrapper. Reserve no fullscreen/vertical-center
   space inside it, while retaining its backdrop, video and footer controls. */
body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] {
  --enb-hero-gutter: var(--enb-service-hero-gutter);
  padding-block: 24px 18px !important;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] .enb-transport-hero__content {
  flex: 0 0 auto;
  align-items: start;
  padding: 0 var(--enb-service-hero-gutter);
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] .enb-transport-hero__content > .relative.z-10 {
  max-width: var(--enb-service-hero-shell);
  margin-inline: auto;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] .enb-transport-hero__controls {
  min-height: 48px;
  margin-top: 18px;
  padding: 0 var(--enb-service-hero-gutter);
  gap: 10px;
}

body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] :is([data-enb-hero-toggle], .enb-transport-hero__explore) {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.3;
}

@media (min-width: 640px) {
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout][data-enb-service-hero-key] {
    min-height: min(58vh, 640px);
    min-height: min(58svh, 640px);
    padding-block: clamp(28px, 3vw, 44px) !important;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] {
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] > [data-enb-service-hero-action] {
    flex: 0 1 auto;
    width: auto !important;
    max-width: min(100%, 400px) !important;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-actions] > .call-note {
    flex-basis: 100%;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout] .enb-transport-hero__controls {
    margin-top: auto;
    padding-top: 20px;
  }
}

@media (max-width: 639px) {
  /* Existing shared typography declares !important, so these tightly scoped
     mobile values intentionally win only in the marked service introduction. */
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout][data-enb-service-hero-key] h1 {
    font-size: clamp(26px, 7.6vw, 32px) !important;
    line-height: 1.15 !important;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) [data-enb-service-hero-layout] [data-enb-service-hero-copy] > p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  body.enb-service-page:where([data-enb-transport-hero-scope="1"]) .enb-transport-hero[data-enb-service-hero-layout][data-enb-hero-illustration="true"] .enb-transport-hero__content {
    padding-bottom: clamp(100px, 30vw, 160px);
  }
}
