/* Final responsive geometry for EAP artwork-led heroes.
   Form-led entry pages remain content-sized so validation and large text cannot clip. */

body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-home-hero,
  .eap-tenant-home-hero:not(.eap-contact-hero),
  .eap-legacy-tenant-hero
),
body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-about-hero.eap-public-cinematic-hero,
  .eap-org-hero.eap-public-cinematic-hero
),
.eap-refined-portal #eap-main-content .portal-shared-hero {
  aspect-ratio: 3 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Shared signed-out tenant route hero geometry. About is the reference: every
   public slug hero uses the same 1340px rail and 3:1 desktop crop. */
@media (min-width: 1200px) {
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    .eap-workspace > main .eap-public-slug-hero {
    aspect-ratio: 3 / 1 !important;
    box-sizing: border-box !important;
    height: auto !important;
    margin-inline: auto !important;
    max-height: none !important;
    max-width: var(--eap-tenant-page-rail, 1340px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    .eap-public-slug-hero > .eap-contact-copy {
    height: 100% !important;
    justify-content: center !important;
    padding-block: clamp(1rem, 2.4vw, 2rem) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    .eap-booking-page {
    max-width: var(--eap-tenant-page-rail, 1340px) !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero > .eap-login-content {
    height: 100% !important;
    justify-content: center !important;
    max-width: 58% !important;
    min-height: 0 !important;
    padding-block: .75rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-login-panel h1 {
    font-size: clamp(2.35rem, 3.2vw, 2.8rem) !important;
    margin-bottom: .45rem !important;
    max-width: 18ch !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-login-panel > p:not(.eap-about-eyebrow) {
    margin-bottom: .55rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-about-eyebrow {
    margin-bottom: .35rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry {
    gap: .45rem .65rem !important;
    grid-template-areas:
      "email mobile"
      "delivery delivery"
      "primary primary"
      "passkey access";
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > label:first-of-type { grid-area: email; }
  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > .eap-delivery-choice { grid-area: delivery; }
  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > [data-sms-field] { grid-area: mobile; }
  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > .action-button.primary { grid-area: primary; }
  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > #eap-passkey-login { grid-area: passkey; }
  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > .eap-request-access-button { grid-area: access; }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-marketing-form.is-login-entry > #eap-passkey-login-status {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero :is(.eap-marketing-form input, .eap-marketing-form .action-button) {
    min-height: 40px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    .eap-public-slug-hero .eap-delivery-choice label {
    min-height: 56px !important;
    padding-block: .4rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page)
    .eap-tenant-home-hero:not(.eap-public-slug-hero) > .eap-home-copy {
    max-width: 570px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page)
    .eap-tenant-home-hero:not(.eap-public-slug-hero) .eap-marketing-actions {
    margin-bottom: .6rem !important;
    margin-top: 1rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page)
    .eap-tenant-home-hero:not(.eap-public-slug-hero) .eap-marketing-actions .action-button {
    align-items: center !important;
    min-height: 56px !important;
  }
}

@media (min-width: 721px) and (max-width: 979px) {
  body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero > .eap-contact-copy {
    justify-content: center !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-cards {
    grid-template-columns: minmax(0, 1fr) !important;
    margin: .45rem 0 0 !important;
    max-width: 400px !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action {
    min-height: 52px !important;
    padding-block: .4rem !important;
  }
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage .eap-login-hero-copy h1 {
  color: var(--eap-public-green-deep, var(--eap-page-heading-color, var(--et-ink))) !important;
}

/* Access-code redesign: keep the tenant/public hero image generous, then use
   the page space below it for the secure form and clear privacy guidance. */
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage {
  align-items: center !important;
  aspect-ratio: 3 / 1 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: auto !important;
  margin-inline: auto !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 5vw, 4.5rem) !important;
  position: relative !important;
  width: 100% !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page.eap-marketing-page:not(.is-eap-authenticated)
  .eap-workspace > #eap-main-content > .eap-login-hero-stage.eap-login-hero-stage {
  background-image:
    linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 28%, rgba(255, 255, 255, .78) 47%, rgba(255, 255, 255, .08) 72%, rgba(255, 255, 255, 0) 100%),
    var(--eap-tenant-hero-image, url("/assets/eap-tenant-hero-fallback.png")) !important;
}

body.eap-site-page.eap-public-site.eap-access-code-page.eap-marketing-page:not(.is-eap-authenticated)
  .eap-workspace > #eap-main-content > .eap-login-hero-stage.eap-login-hero-stage {
  background-image: url("/assets/eap-login-entry-v2.png") !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy {
  color: var(--eap-public-ink, var(--et-ink)) !important;
  max-width: 31rem !important;
  position: relative !important;
  width: 46% !important;
  z-index: 2 !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy .eap-about-eyebrow {
  color: var(--eap-public-green, var(--eap-primary)) !important;
  margin: 0 0 .65rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy h1 {
  color: var(--eap-public-green-deep, var(--et-ink)) !important;
  font-family: var(--eap-page-heading-family, var(--font-heading)) !important;
  font-size: clamp(2.45rem, 4vw, 3.75rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
  margin: 0 0 .85rem !important;
  max-width: 13ch !important;
  text-wrap: balance;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy > p:last-child {
  color: #35434d !important;
  font-size: clamp(.92rem, 1.25vw, 1.08rem) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  max-width: 28rem !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy {
  color: var(--eap-tenant-ink) !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy .eap-about-eyebrow {
  color: var(--tenant-primary, var(--eap-primary)) !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy h1 {
  color: var(--eap-public-green-deep, var(--et-ink)) !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy > p:last-child {
  color: #35434d !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-access-band {
  background: var(--et-cream, #fffaf0) !important;
  box-sizing: border-box !important;
  margin-inline: auto !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.5rem, 5vw, 4.5rem) !important;
  width: 100% !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-access-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(17rem, .8fr) !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-access-band .eap-login-content,
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-access-band .eap-login-panel {
  align-self: stretch !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin: 0 !important;
  max-height: none !important;
  max-width: none !important;
  min-height: 0 !important;
  order: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-form-heading {
  align-items: end !important;
  display: flex !important;
  gap: 1.25rem !important;
  justify-content: space-between !important;
  margin-bottom: 1.35rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-form-heading h2 {
  color: var(--tenant-primary, var(--et-primary, #07543f)) !important;
  font-family: var(--eap-page-heading-family, var(--font-heading)) !important;
  font-size: clamp(2rem, 3vw, 2.55rem) !important;
  font-weight: 600 !important;
  font-size: clamp(2.5rem, 3.6vw, 3.65rem) !important;
  letter-spacing: -.025em !important;
  line-height: 1.02 !important;
  margin: 0 0 .35rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-form-heading p {
  color: var(--et-muted, #53675d) !important;
  font-size: .92rem !important;
  margin: 0 !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry {
  display: grid !important;
  gap: .75rem .85rem !important;
  grid-template-areas:
    "email mobile"
    "delivery delivery"
    "primary primary"
    "passkey access"
    "status status" !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > label:first-of-type { grid-area: email !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > [data-sms-field] { grid-area: mobile !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > .eap-delivery-choice { grid-area: delivery !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > .action-button.primary { grid-area: primary !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > #eap-passkey-login { grid-area: passkey !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > .eap-request-access-button { grid-area: access !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > #eap-passkey-login-status { grid-area: status !important; }
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry > :is(label:first-of-type, [data-sms-field]) { align-self: end !important; }

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form :is(input, .action-button) {
  min-height: 48px !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form > .action-button {
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-delivery-choice > div {
  gap: .75rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-delivery-choice label {
  min-height: 62px !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-panel {
  background: var(--tenant-primary, #07543f) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  padding: clamp(1.5rem, 2.8vw, 2.25rem) !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-eyebrow {
  color: var(--tenant-accent, #d8bd82) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  margin: 0 0 .7rem !important;
  text-transform: uppercase !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-panel h2 {
  color: #fff !important;
  font-family: var(--eap-page-heading-family, var(--font-heading)) !important;
  font-size: clamp(1.75rem, 2.6vw, 2.25rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.02 !important;
  margin: 0 0 1.1rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item {
  align-items: start !important;
  display: grid !important;
  gap: .75rem !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  padding: .9rem 0 !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item + .eap-login-privacy-item {
  border-top: 1px solid rgba(255, 255, 255, .2) !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item > .button-icon {
  --icon-color: var(--tenant-accent, #f2d77f);
  flex: 0 0 auto !important;
  margin-top: .12rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item strong {
  color: #fff !important;
  display: block !important;
  font-size: .9rem !important;
  margin-bottom: .25rem !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item p {
  color: rgba(255, 255, 255, .86) !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

@media (max-width: 1079px) {
  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage {
    aspect-ratio: 3 / 2 !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy {
    width: min(64%, 31rem) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-access-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-panel {
    display: grid !important;
    gap: 0 1.5rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-panel > :is(.eap-login-privacy-eyebrow, h2) {
    grid-column: 1 / -1 !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item + .eap-login-privacy-item {
    border-left: 1px solid rgba(255, 255, 255, .2) !important;
    border-top: 0 !important;
    padding-left: 1.5rem !important;
  }
}

@media (max-width: 720px) {
  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage {
    aspect-ratio: 4 / 3 !important;
    padding: 2rem 1.25rem !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy {
    max-width: 22rem !important;
    width: 82% !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.1rem) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-access-band {
    padding: 1.75rem 1.25rem !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-form-heading {
    align-items: start !important;
    flex-direction: column !important;
    gap: .6rem !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-marketing-form.is-login-entry {
    grid-template-areas:
      "email"
      "mobile"
      "delivery"
      "primary"
      "passkey"
      "access"
      "status" !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-delivery-choice > div,
  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated) .eap-login-privacy-item + .eap-login-privacy-item {
    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .2) !important;
    padding-left: 0 !important;
  }
}

/* Final signed-out cascade guard: keep the shared login copy readable after
   the legacy tenant rules have finished applying. */
body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage .eap-login-hero-copy > p:last-child {
  color: #35434d !important;
}

/* Shared public EAP marketing finish. Keep the tenant and authenticated
   versions of the task pages on the same content rhythm; navigation and
   footer are the only state-specific parts of these routes. */
body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero,
body.eap-site-page.eap-access-code-page #eap-main-content > .eap-login-hero-stage {
  aspect-ratio: 3 / 1 !important;
  background-color: #f5f8fa !important;
  background-image:
    linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 28%, rgba(255, 255, 255, .78) 47%, rgba(255, 255, 255, .08) 72%, rgba(255, 255, 255, 0) 100%),
    var(--eap-tenant-hero-image, url("/assets/eap-tenant-hero-fallback.png")) !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  margin-inline: auto !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
  width: 100% !important;
}

body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero > .eap-contact-copy,
body.eap-site-page.eap-access-code-page #eap-main-content > .eap-login-hero-stage > .eap-login-hero-copy {
  align-items: flex-start !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  justify-content: center !important;
  max-width: 54% !important;
  min-height: 0 !important;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 4vw, 3.5rem) !important;
  position: relative !important;
  width: 54% !important;
  z-index: 2 !important;
}

body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero > .portal-shared-hero-media,
body.eap-site-page.eap-access-code-page #eap-main-content > .eap-login-hero-stage > .portal-shared-hero-media {
  display: none !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-copy h1,
body.eap-site-page.eap-access-code-page #eap-main-content .eap-login-hero-copy h1 {
  color: var(--eap-tenant-ink, var(--eap-page-heading-color)) !important;
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-copy > p:not(.eap-about-eyebrow),
body.eap-site-page.eap-access-code-page #eap-main-content .eap-login-hero-copy > p:last-child {
  color: #263b52 !important;
  font-family: var(--tenant-body-font, var(--font-body)) !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-cards {
  display: grid !important;
  gap: 0 !important;
  margin: clamp(1rem, 2vw, 1.5rem) 0 0 !important;
  max-width: 400px !important;
  width: 100% !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-action {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 74, 47, .16) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  gap: .8rem !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  min-height: 58px !important;
  padding: .65rem .15rem !important;
  text-decoration: none !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-action .button-icon {
  color: var(--tenant-primary, var(--eap-primary)) !important;
  height: 21px !important;
  width: 21px !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-action :is(strong, small) {
  font-family: var(--tenant-body-font, var(--font-body)) !important;
}

body.eap-site-page.eap-tenant-public-site.eap-about-page #eap-main-content .eap-tenant-section-heading,
body.eap-site-page.eap-access-code-page #eap-main-content .eap-login-hero-copy h1 {
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
}

body.eap-site-page.eap-home-page:not(.eap-about-page):not(.eap-contact-page):not(.eap-booking-marketing-page):not(.eap-access-code-page)
  #eap-main-content > .eap-home-primary-action-band > .eap-marketing-actions,
body.eap-site-page.eap-booking-marketing-page #eap-main-content .eap-booking-actions--hero,
body.eap-site-page.eap-booking-marketing-page #eap-main-content .eap-booking-actions--band {
  justify-content: center !important;
  margin-inline: auto !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-section {
  background: linear-gradient(180deg, rgba(247, 251, 249, .92), rgba(255, 253, 247, .92)) !important;
  border: 1px solid rgba(15, 74, 47, .11) !important;
  border-radius: 16px !important;
  display: grid !important;
  gap: 1.25rem !important;
  margin: 1.5rem auto 0 !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  padding: clamp(1.5rem, 3vw, 2.5rem) !important;
  width: min(100% - 2rem, var(--eap-tenant-page-rail, 1340px)) !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-intro {
  margin: 0 !important;
  max-width: 690px !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-intro h2,
body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-details-label {
  color: var(--eap-tenant-ink, var(--eap-page-heading-color)) !important;
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-details {
  border-left: 3px solid var(--tenant-primary, var(--eap-primary)) !important;
  display: grid !important;
  gap: .25rem !important;
  padding-left: 1rem !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-details :is(p) {
  margin: 0 !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-details-label {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
}

body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-details-note {
  color: var(--eap-muted, #53675d) !important;
  font-size: .9rem !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document {
  box-sizing: border-box !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 4vw, 3.5rem) 4rem !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-hero,
body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-content {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 960px !important;
  width: 100% !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-hero {
  margin-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-hero h1 {
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
  max-width: 15ch !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-hero > p:last-child {
  color: var(--eap-muted, #53675d) !important;
  font-family: var(--tenant-body-font, var(--font-body)) !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  max-width: 62ch !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-content {
  gap: 1rem !important;
}

body.eap-site-page.eap-privacy-policy-page #eap-main-content .eap-policy-document .eap-policy-content article {
  background: rgba(247, 251, 249, .76) !important;
  border-left: 3px solid color-mix(in srgb, var(--tenant-primary, var(--eap-primary)) 62%, white) !important;
  border-radius: 0 12px 12px 0 !important;
  box-shadow: 0 8px 22px rgba(8, 43, 31, .04) !important;
  padding: clamp(1.1rem, 2vw, 1.5rem) clamp(1.15rem, 2.4vw, 1.8rem) !important;
}

@media (max-width: 720px) {
  body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero,
  body.eap-site-page.eap-access-code-page #eap-main-content > .eap-login-hero-stage {
    aspect-ratio: auto !important;
    min-height: 30rem !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero > .eap-contact-copy,
  body.eap-site-page.eap-access-code-page #eap-main-content > .eap-login-hero-stage > .eap-login-hero-copy {
    max-width: 100% !important;
    min-height: 30rem !important;
    padding: 1.5rem var(--eap-tenant-gutter, 1.25rem) 1.75rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-booking-marketing-page #eap-main-content .booking-journey-section {
    margin-top: 1rem !important;
    width: calc(100% - 2rem) !important;
  }
}

body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-tenant-home-hero.eap-tenant-cinematic-hero:not(.eap-contact-hero),
body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero {
  aspect-ratio: 3 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
}

body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-home-hero,
  .eap-tenant-home-hero:not(.eap-contact-hero),
  .eap-legacy-tenant-hero
) > .eap-home-copy,
body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-about-hero.eap-public-cinematic-hero,
  .eap-org-hero.eap-public-cinematic-hero
) > .eap-home-copy,
.eap-refined-portal #eap-main-content .portal-shared-hero > .portal-shared-hero-content {
  height: 100% !important;
  min-height: 0 !important;
}

.eap-refined-portal #eap-main-content .portal-shared-hero.eap-contact-hero {
  aspect-ratio: auto !important;
  height: auto !important;
  overflow: visible !important;
}

.eap-refined-portal #eap-main-content .portal-shared-hero.eap-contact-hero > .portal-shared-hero-content {
  height: auto !important;
}

body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-home-hero,
  .eap-tenant-home-hero:not(.eap-contact-hero),
  .eap-legacy-tenant-hero
) > .eap-home-copy,
body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
  .eap-public-about-hero.eap-public-cinematic-hero,
  .eap-org-hero.eap-public-cinematic-hero
) > .eap-home-copy {
  padding-block: clamp(1.25rem, 3vw, 2.5rem) !important;
}

@media (min-width: 980px) {
  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero):not(.eap-legacy-tenant-hero)
  ) .eap-marketing-actions {
    display: grid !important;
    gap: .65rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: none !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero):not(.eap-legacy-tenant-hero)
  ) .eap-marketing-actions .action-button,
  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero):not(.eap-legacy-tenant-hero)
  ) .eap-marketing-actions .action-button:nth-child(3) {
    font-size: .82rem !important;
    grid-column: auto !important;
    line-height: 1.15 !important;
    max-width: none !important;
    min-height: 48px !important;
    min-width: 0 !important;
    padding-block: .35rem !important;
    padding-inline: .55rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero):not(.eap-legacy-tenant-hero)
  ) .eap-marketing-actions .action-button:nth-child(3) {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: min(100%, 240px) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy {
    padding-block: .5rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy .eyebrow {
    margin-bottom: .3rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy h1 {
    font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
    line-height: .98 !important;
    margin-bottom: .4rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy > p:not(.eyebrow) {
    font-size: .8rem !important;
    line-height: 1.35 !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero .eap-marketing-actions {
    display: grid !important;
    gap: .4rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: .4rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero .eap-marketing-actions .action-button,
  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero .eap-marketing-actions .action-button:nth-child(3) {
    font-size: .8rem !important;
    grid-column: auto !important;
    line-height: 1.15 !important;
    max-width: none !important;
    min-height: 48px !important;
    min-width: 0 !important;
    padding-block: .35rem !important;
    padding-inline: .4rem !important;
    width: 100% !important;
  }
}

@media (max-width: 979px) {
  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ),
  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ),
  .eap-refined-portal #eap-main-content .portal-shared-hero {
    aspect-ratio: 3 / 2 !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-tenant-home-hero.eap-tenant-cinematic-hero:not(.eap-contact-hero),
  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero {
    aspect-ratio: 3 / 2 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) {
    display: block !important;
    position: relative !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) > .eap-home-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: .75rem 1rem !important;
    position: relative !important;
    width: 100% !important;
    z-index: 3 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) > .eap-home-copy h1 {
    font-size: clamp(1.75rem, 8vw, 2rem) !important;
    line-height: .98 !important;
    margin-bottom: .35rem !important;
    max-width: calc(100% - 3.5rem) !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) > .eap-home-copy > p:not(.eyebrow) {
    font-size: .78rem !important;
    line-height: 1.3 !important;
    margin-bottom: .4rem !important;
    max-width: 92% !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) .eap-marketing-actions {
    display: grid !important;
    gap: .3rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: .2rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) .eap-marketing-actions .action-button {
    font-size: .82rem !important;
    gap: .3rem !important;
    grid-column: auto !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: .4rem .5rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero),
    .eap-legacy-tenant-hero
  ) .eap-marketing-actions .action-button .button-icon {
    flex: 0 0 auto !important;
    left: auto !important;
    position: static !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy {
    overflow-y: auto !important;
    padding-block: .25rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy .eyebrow {
    font-size: .65rem !important;
    margin-bottom: .25rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero > .eap-home-copy h1 {
    font-size: clamp(1.45rem, 7vw, 1.7rem) !important;
    line-height: .94 !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero .eap-marketing-actions {
    gap: .25rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > .eap-home-hero.eap-legacy-tenant-hero.eap-tenant-cinematic-hero .eap-marketing-actions .action-button {
    font-size: .75rem !important;
    padding-inline: .4rem !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero)
  ) .eap-home-video {
    border-radius: 50% !important;
    box-shadow: 0 6px 18px rgba(15, 46, 36, .24) !important;
    height: 48px !important;
    inset: .75rem .75rem auto auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    transform: none !important;
    width: 48px !important;
    z-index: 5 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero)
  ) .eap-home-video:not(.is-playing) .eap-home-video__player {
    opacity: 0 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero)
  ) .eap-home-video.is-playing {
    border-radius: 0 !important;
    height: 100% !important;
    inset: 0 !important;
    width: 100% !important;
    z-index: 8 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero)
  ) .eap-home-video__cover {
    padding: 0 !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero:not(.eap-contact-hero)
  ) .eap-home-video__play-icon {
    border-width: 0 !important;
    box-shadow: none !important;
    height: 48px !important;
    width: 48px !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero
  ) .eap-home-video__play-icon::after {
    border-bottom-width: .42rem !important;
    border-left-width: .68rem !important;
    border-top-width: .42rem !important;
  }

  body.eap-site-page.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-home-hero,
    .eap-tenant-home-hero
  ) .eap-home-video__caption {
    display: none !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) > .eap-home-copy {
    justify-content: center !important;
    padding: .25rem 1rem !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) > .eap-home-copy h1 {
    font-size: clamp(1.75rem, 8vw, 2rem) !important;
    line-height: .98 !important;
    margin-bottom: .35rem !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) > .eap-home-copy > p:not(.eap-about-eyebrow) {
    font-size: .78rem !important;
    line-height: 1.3 !important;
    margin-bottom: .4rem !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) .eap-marketing-actions {
    display: grid !important;
    gap: .3rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: .2rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) .eap-marketing-actions .action-button {
    font-size: .82rem !important;
    gap: .3rem !important;
    grid-column: auto !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: .4rem .5rem !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-public-site.eap-home-page.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main > :is(
    .eap-public-about-hero.eap-public-cinematic-hero,
    .eap-org-hero.eap-public-cinematic-hero
  ) .eap-marketing-actions .action-button .button-icon {
    flex: 0 0 auto !important;
    left: auto !important;
    position: static !important;
  }

  .eap-refined-portal #eap-main-content .portal-shared-hero > .portal-shared-hero-content {
    padding: 18px 20px !important;
  }

  .eap-refined-portal #eap-main-content .portal-home-hero .portal-page-heading {
    margin-bottom: 10px !important;
  }

  .eap-refined-portal #eap-main-content .portal-home-hero .portal-booking-card {
    padding: 12px !important;
  }

  .eap-refined-portal #eap-main-content .portal-home-hero .portal-booking-card-heading {
    gap: 10px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }

  .eap-refined-portal #eap-main-content .portal-home-hero .portal-booking-card-icon {
    height: 36px !important;
    width: 36px !important;
  }

  .eap-refined-portal #eap-main-content .portal-home-hero .portal-support-actions {
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    margin-top: 10px !important;
  }
}

/* About carries the longest authenticated hero copy, so give it enough room
   on phones for the shared top anchor without clipping the introduction. */
@media (max-width: 719px) {
  body.eap-site-page.is-eap-authenticated #eap-main-content .eap-about-hero.portal-shared-hero {
    min-height: 29rem !important;
  }
}

/* Mobile tenant artwork follows the hero viewport instead of retaining the
   taller 420px crop. Supporting-page actions then settle against its foot. */
@media (max-width: 720px) {
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated) .eap-workspace > main .eap-tenant-cinematic-hero.eap-tenant-cinematic-hero {
    background-size: cover, cover !important;
    background-position: center, var(--eap-tenant-mobile-hero-position, 50% 50%) !important;
  }

  body.eap-site-page.has-tenant-branding.is-eap-authenticated #eap-main-content :is(
    .portal-shared-hero,
    .eap-dashboard-canvas > .eap-dashboard-home,
    .eap-manager-page-head.eap-tenant-cinematic-hero,
    .eap-page-hero.eap-tenant-cinematic-hero,
    .eap-video-header.eap-tenant-cinematic-hero,
    .eap-category-content-page > .eap-category-page-head,
    .eap-content-search-page,
    .booking-hero-card.eap-tenant-cinematic-hero,
    .eap-secure-booking-canvas > .eap-secure-booking-hero
  ) {
    background-position: center, var(--eap-tenant-mobile-hero-position, 50% 50%) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-marketing-page.eap-about-page:not(.is-eap-authenticated) .eap-workspace > main .eap-about-hero.eap-tenant-cinematic-hero.eap-tenant-cinematic-hero > .eap-home-copy,
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page.eap-contact-page:not(.is-eap-authenticated) .eap-workspace > main .eap-contact-hero.eap-tenant-cinematic-hero.eap-tenant-cinematic-hero > .eap-contact-copy,
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page.eap-booking-marketing-page:not(.is-eap-authenticated) .eap-workspace > main .booking-hero-card.eap-tenant-cinematic-hero.eap-tenant-cinematic-hero > .eap-home-copy {
    box-sizing: border-box !important;
    height: 100% !important;
    inset: 0 !important;
    justify-content: flex-start !important;
    min-height: 100% !important;
    padding-bottom: .75rem !important;
    position: absolute !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-about-page:not(.is-eap-authenticated) .eap-about-hero .eap-marketing-actions,
  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated) .eap-contact-hero .eap-contact-cards,
  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated) .booking-hero-card .eap-marketing-actions {
    margin-top: auto !important;
  }
}

/* Final desktop lock for public tenant slug pages. This sits after the legacy
   per-page rules so their 600/650px minimums cannot enlarge the shared crop. */
@media (min-width: 1200px) {
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero.eap-public-slug-hero:not(.eap-login-expanded-state),
  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-booking-page > .eap-public-slug-hero.eap-public-slug-hero {
    aspect-ratio: 3 / 1 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero > .eap-login-content {
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero > .eap-contact-copy {
    height: 100% !important;
    min-height: 0 !important;
    padding-bottom: .75rem !important;
    padding-top: var(--eap-hero-content-top) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero .eap-about-eyebrow,
  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero .eap-contact-copy h1 {
    margin-bottom: .5rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero .eap-contact-copy > p:not(.eap-about-eyebrow) {
    margin-bottom: .75rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero .eap-contact-cards {
    gap: .5rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero .eap-contact-cards > * {
    min-height: 50px !important;
    padding-block: .5rem !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page):not(.eap-booking-marketing-page):not(.eap-access-code-page)
    #eap-main-content > .eap-home-hero .eap-marketing-actions .action-button {
    min-height: 56px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero.eap-login-expanded-state {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: var(--eap-tenant-cinematic-height, 650px) !important;
    overflow: visible !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero.eap-login-expanded-state > .eap-login-content {
    height: auto !important;
    min-height: var(--eap-tenant-cinematic-height, 650px) !important;
  }
}

/* Artwork-led marketing and portal heroes share one frame. Actions that need
   more room live in the adjacent action band instead of changing the crop. */
.eap-standard-image-hero {
  aspect-ratio: 3 / 1 !important;
}

#eap-main-content > .eap-standard-image-hero.eap-standard-image-hero {
  aspect-ratio: 3 / 1 !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin-block-start: 0 !important;
  max-height: none !important;
  max-width: var(--eap-source-rail-max, 1340px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

.eap-hero-action-band {
  background: var(--eap-surface-strong);
  border-bottom: 1px solid var(--eap-border);
  box-sizing: border-box;
  margin: 0 auto;
  max-width: var(--eap-source-rail-max, 1340px);
  padding: 1.1rem clamp(1.25rem, 4vw, 3.75rem);
  width: 100%;
}

.eap-hero-action-band > .eap-marketing-actions {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 0 auto;
  margin-inline: auto !important;
  max-width: 760px;
  width: 100%;
}

@media (min-width: 721px) {
  .eap-hero-action-band > .eap-marketing-actions {
    grid-template-columns: repeat(2, minmax(180px, 220px));
    justify-content: center;
    max-width: 100%;
    width: fit-content;
  }
}

.eap-hero-action-band .action-button {
  margin: 0 !important;
  min-height: 52px;
  width: 100%;
}

.eap-home-video-mobile-slot:empty {
  display: none;
}

@media (max-width: 719px) {
  .eap-home-video-mobile-slot:not(:empty) {
    display: block;
    margin: 1rem auto 0;
    max-width: 640px;
    width: 100%;
  }

  .eap-home-video-mobile-slot .eap-home-video {
    aspect-ratio: 16 / 9;
    background: #0f2e24;
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(15, 46, 36, .2) !important;
    height: auto !important;
    inset: auto !important;
    margin: 0 !important;
    overflow: hidden;
    position: relative !important;
    transform: none !important;
    width: 100% !important;
  }

  .eap-home-video-mobile-slot .eap-home-video__player {
    background: #0f2e24;
    border: 0;
    display: block;
    height: 100%;
    object-fit: cover;
    opacity: 1 !important;
    width: 100%;
  }

  .eap-home-video-mobile-slot .eap-home-video__cover {
    align-items: center;
    background: linear-gradient(180deg, rgba(1, 25, 18, .04) 34%, rgba(1, 25, 18, .76) 100%);
    border: 0;
    color: #fff;
    cursor: pointer;
    display: none;
    flex-direction: column;
    font: inherit;
    inset: 0;
    justify-content: center;
    padding: 1.25rem !important;
    position: absolute;
    width: 100%;
  }

  .eap-home-video-mobile-slot .eap-home-video.is-enhanced:not(.is-playing) .eap-home-video__cover {
    display: flex;
  }

  .eap-home-video-mobile-slot .eap-home-video__play-icon {
    align-items: center;
    background: #fff;
    border: 0 !important;
    border-radius: 50%;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    display: inline-flex;
    height: 4rem !important;
    justify-content: center;
    width: 4rem !important;
  }

  .eap-home-video-mobile-slot .eap-home-video__play-icon::after {
    border-bottom: .65rem solid transparent !important;
    border-left: 1.05rem solid var(--tenant-primary, var(--brand-primary));
    border-top: .65rem solid transparent !important;
    content: "";
    margin-left: .2rem;
  }

  .eap-home-video-mobile-slot .eap-home-video__caption {
    bottom: 1rem;
    display: grid !important;
    left: 1rem;
    line-height: 1.25;
    position: absolute;
    right: 1rem;
    text-align: left;
  }

  .eap-home-video-mobile-slot .eap-home-video__caption small {
    color: rgba(255, 255, 255, .9);
  }

  .eap-home-video-mobile-slot .eap-home-video__cover:focus-visible {
    outline: 4px solid #ffd65a;
    outline-offset: -4px;
  }
}

#eap-main-content > .eap-contact-action-band .eap-contact-cards {
  display: grid !important;
  gap: .75rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

#eap-main-content > .eap-contact-action-band .eap-contact-action {
  min-height: 64px !important;
  width: 100% !important;
}

@media (max-width: 979px) {
  .eap-standard-image-hero {
    aspect-ratio: 3 / 2 !important;
  }

  #eap-main-content > .eap-standard-image-hero.eap-standard-image-hero {
    aspect-ratio: 3 / 2 !important;
  }

  .eap-hero-action-band {
    padding: 1rem var(--eap-tenant-gutter, 20px);
  }

  .eap-hero-action-band > .eap-marketing-actions,
  #eap-main-content > .eap-contact-action-band .eap-contact-cards {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* One adjustable content origin keeps route changes visually stable. The
   desktop cap is slightly above the former 54px Contact-page start, while the
   fluid minimum preserves the established mobile spacing. */
body.eap-site-page {
  --eap-hero-content-top: clamp(18px, 3.5vw, 48px);
}

body.eap-site-page #eap-main-content :is(
  .portal-shared-hero,
  .eap-standard-image-hero,
  .eap-login-hero-stage
) {
  padding-block: 0 !important;
}

body.eap-site-page.eap-marketing-page:not(.is-eap-authenticated) #eap-main-content :is(
  .portal-shared-hero,
  .eap-standard-image-hero,
  .eap-login-hero-stage
) {
  padding-block: 0 !important;
}

body.eap-site-page #eap-main-content :is(
  .portal-shared-hero,
  .eap-standard-image-hero,
  .eap-login-hero-stage
) > :is(
  .portal-shared-hero-content,
  .eap-home-copy,
  .eap-contact-copy,
  .eap-login-hero-copy
) {
  align-self: stretch !important;
  box-sizing: border-box !important;
  height: 100% !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  padding-top: var(--eap-hero-content-top) !important;
}

/* Public routes have several deliberately specific page treatments. Keep the
   shared origin authoritative over those treatments as well, and make the
   Access Code copy a column so its inline eyebrow starts at the same point. */
body.eap-site-page.eap-marketing-page:not(.is-eap-authenticated) #eap-main-content :is(
  .portal-shared-hero,
  .eap-standard-image-hero,
  .eap-login-hero-stage
) > :is(
  .portal-shared-hero-content,
  .eap-home-copy,
  .eap-contact-copy,
  .eap-login-hero-copy
) {
  display: flex !important;
  flex-direction: column !important;
  padding-top: var(--eap-hero-content-top) !important;
}

/* Signed-out routes use one stable artwork frame at desktop and tablet
   widths. Compact phones keep content-driven heights so essential actions
   are never clipped inside copy-heavy heroes. */
@media (min-width: 980px) {
  body.eap-site-page.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .eap-public-slug-hero:not(.eap-login-expanded-state) {
    aspect-ratio: 3 / 1 !important;
    box-sizing: border-box !important;
    height: auto !important;
    max-height: none !important;
    max-width: var(--eap-source-rail-max, 1340px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }
}

body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
  #eap-main-content > :is(.eap-home-hero, .eap-contact-hero, .eap-login-hero-stage)
  > :is(.eap-home-copy, .eap-contact-copy, .eap-login-hero-copy) h1 {
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
  font-size: clamp(2rem, 3.9vw, 3.45rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.02 !important;
}

body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-contact-hero > .eap-contact-copy,
.eap-refined-portal #eap-main-content .portal-shared-hero.eap-contact-hero > .portal-shared-hero-content {
  box-sizing: border-box !important;
  height: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: var(--eap-hero-content-top) clamp(18px, 4vw, 60px) clamp(12px, 2vw, 28px) !important;
  width: 100% !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-copy
  > :is(.eap-about-eyebrow, h1, p:not(.eap-about-eyebrow)) {
  max-width: min(46%, 570px) !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-cards {
  display: grid !important;
  gap: clamp(6px, 1vw, 12px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: auto 0 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action {
  box-sizing: border-box !important;
  min-height: 64px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action small {
  overflow-wrap: anywhere;
}

.eap-refined-portal #eap-main-content .portal-shared-hero.eap-contact-hero {
  aspect-ratio: 3 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

@media (min-width: 721px) and (max-width: 979px) {
  body.eap-site-page.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .eap-public-slug-hero:not(.eap-login-expanded-state) {
    aspect-ratio: 3 / 2 !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 1079px) {
  .eap-refined-portal #eap-main-content .portal-shared-hero.eap-contact-hero {
    aspect-ratio: 3 / 2 !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 720px) {
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-public-slug-hero:not(.eap-login-expanded-state) {
    aspect-ratio: 3 / 2 !important;
    padding: 0 !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-copy
    > :is(.eap-about-eyebrow, h1, p:not(.eap-about-eyebrow)) {
    max-width: 62% !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action {
    align-content: center !important;
    gap: 4px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 72px !important;
    padding: 6px !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action .button-icon {
    height: 20px !important;
    width: 20px !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action :is(strong, small) {
    font-size: .68rem !important;
    line-height: 1.15 !important;
  }
}

/* Keep the category introduction readable beside the artwork and place each
   contact method directly beneath the Contact heading instead of spanning the
   full hero width. */
.eap-refined-portal #eap-main-content .eap-categories-page-head .portal-page-heading > p:not(.portal-hero-eyebrow) {
  max-width: 30rem !important;
}

@media (min-width: 721px) {
  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-copy
    > p:not(.eap-about-eyebrow) {
    margin-bottom: 0 !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-cards {
    grid-template-columns: minmax(0, 1fr) !important;
    margin: .45rem 0 0 !important;
    max-width: 400px !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action {
    gap: .6rem !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    min-height: 52px !important;
    padding: .4rem .7rem !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-action .button-icon {
    height: 24px !important;
    width: 24px !important;
  }
}

/* Final compact-phone composition for signed-out tenant routes. The image
   frame stays identical from page to page while copy and actions use the
   shared 20px content gutter. */
@media (max-width: 720px) {
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .eap-public-slug-hero:not(.eap-login-expanded-state),
  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .booking-hero-card,
  body.eap-site-page.eap-booking-marketing-page.is-eap-authenticated
    #eap-main-content .booking-hero-card.portal-shared-hero {
    aspect-ratio: 3 / 2 !important;
    box-sizing: border-box !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-refined-portal.eap-booking-marketing-page.is-eap-authenticated
    #eap-main-content.portal-main .booking-hero-card.portal-shared-hero,
  body.eap-site-page.eap-refined-portal.eap-booking-marketing-page.is-eap-authenticated
    #eap-main-content.portal-main .eap-booking-action-band {
    margin-left: calc(var(--portal-main-gutter) * -1) !important;
    margin-right: calc(var(--portal-main-gutter) * -1) !important;
    max-width: none !important;
    width: calc(100% + (var(--portal-main-gutter) * 2)) !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content :is(.eap-public-slug-hero, .eap-tenant-home-hero)
    > :is(.eap-home-copy, .eap-contact-copy, .eap-login-hero-copy) {
    align-items: flex-start !important;
    box-sizing: border-box !important;
    height: 100% !important;
    max-width: none !important;
    padding: 18px 20px 20px !important;
    text-align: left !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page):not(.eap-booking-marketing-page):not(.eap-access-code-page):not(.is-eap-authenticated)
    #eap-main-content > .eap-tenant-home-hero:not(.eap-legacy-tenant-hero) .eap-home-copy > p {
    margin: auto 0 0 !important;
    max-width: 70% !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-about-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-about-hero .eap-home-copy > p:not(.eap-about-eyebrow) {
    margin: auto 0 .7rem !important;
    max-width: 72% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-about-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-about-hero .eap-marketing-actions {
    margin: 0 !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-contact-hero > .eap-contact-copy {
    padding: 18px 20px 12px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-contact-hero .eap-contact-copy
    > :is(.eap-about-eyebrow, h1, p:not(.eap-about-eyebrow)) {
    margin-inline: 0 !important;
    max-width: 62% !important;
    text-align: left !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage > .eap-login-hero-copy {
    justify-content: flex-start !important;
    padding: 18px 20px 20px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage .eap-login-hero-copy
    > :is(.eap-about-eyebrow, h1, p:last-child) {
    margin-inline: 0 !important;
    text-align: left !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage .eap-login-hero-copy > p:last-child {
    max-width: 72% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .booking-hero-card > .eap-home-copy {
    padding: 18px 20px 20px !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .booking-hero-card .lead {
    margin: auto 0 0 !important;
    max-width: 72% !important;
  }
}

/* Preserve the 3:2 frame at 385px, then give every tenant hero the same,
   smoothly increasing height as narrower screens force copy onto more lines. */
@media (max-width: 385px) {
  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-tenant-home-hero:not(.eap-legacy-tenant-hero),
  body.eap-site-page.eap-tenant-public-site.eap-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .eap-public-slug-hero:not(.eap-login-expanded-state),
  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .booking-hero-card,
  body.eap-site-page.eap-booking-marketing-page.is-eap-authenticated
    #eap-main-content .booking-hero-card.portal-shared-hero {
    aspect-ratio: auto !important;
    height: clamp(256.667px, calc(734px - 124vw), 337px) !important;
  }
}

.eap-booking-action-band .eap-global-message-band {
  margin: 1rem auto 0 !important;
  max-width: 760px !important;
}

/* Consolidated tenant hero alignment. These route-specific rules intentionally
   follow the legacy layers above so signed-in and signed-out layouts can share
   the same artwork frame without sharing action placement. */
body.eap-site-page.eap-tenant-public-site .eap-tenant-section-heading {
  font-family: var(--tenant-heading-font, var(--font-heading)) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

body.eap-site-page.eap-inactive-page #eap-main-content > .eap-inactive-support {
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  width: 100% !important;
}

body.eap-site-page.eap-inactive-page #eap-main-content .eap-inactive-actions {
  grid-template-columns: repeat(2, minmax(190px, 1fr)) !important;
  max-width: 600px !important;
}

body.eap-site-page.eap-inactive-page #eap-main-content .eap-inactive-actions .action-button {
  min-width: 190px !important;
  white-space: nowrap !important;
}

body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage {
  background-image:
    var(--eap-hero-feather-gradient),
    var(--eap-tenant-hero-image, url("/assets/eap-tenant-hero-fallback.png")) !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  margin-inline: auto !important;
  max-width: var(--eap-tenant-page-rail, 1340px) !important;
  width: 100% !important;
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage::before,
body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 980px) {
  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content .eap-booking-actions--hero {
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: repeat(2, minmax(190px, 220px)) !important;
    margin: 1.25rem 0 0 !important;
    max-width: 452px !important;
    width: 100% !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content .eap-booking-actions--hero .action-button {
    margin: 0 !important;
    min-height: 48px !important;
    width: 100% !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content > .eap-booking-page > .eap-booking-action-band:not(.has-availability-message) {
    display: none !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content .eap-booking-action-band .eap-booking-actions--band {
    display: none !important;
  }
}

@media (min-width: 721px) {
  body.eap-site-page.eap-tenant-public-site.eap-home-page:not(.eap-about-page):not(.eap-contact-page):not(.eap-booking-marketing-page):not(.eap-access-code-page):not(.is-eap-authenticated)
    #eap-main-content > .eap-home-primary-action-band > .eap-marketing-actions {
    grid-template-columns: repeat(3, minmax(210px, 240px)) !important;
    justify-content: center !important;
    max-width: none !important;
    width: fit-content !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-booking-marketing-page:not(.is-eap-authenticated)
    #eap-main-content .eap-booking-action-band > .eap-booking-actions--band {
    grid-template-columns: repeat(2, minmax(210px, 240px)) !important;
    justify-content: center !important;
    max-width: none !important;
    width: fit-content !important;
  }
}

@media (min-width: 721px) {
  body.eap-site-page.eap-inactive-page #eap-main-content > .eap-inactive-hero
    > .eap-inactive-hero-copy {
    max-width: 620px !important;
    width: 48% !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-contact-hero > .eap-contact-copy {
    justify-content: flex-start !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-contact-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-contact-hero .eap-contact-cards {
    margin: auto 0 0 !important;
    max-width: 400px !important;
  }
}

@media (max-width: 979px) {
  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content .eap-booking-actions--hero {
    display: none !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content > .eap-booking-page > .eap-booking-action-band,
  body.eap-site-page.is-eap-authenticated.eap-booking-marketing-page
    #eap-main-content .eap-booking-action-band .eap-booking-actions--band {
    display: grid !important;
  }
}

@media (max-width: 720px) {
  body.eap-site-page.is-eap-authenticated #eap-main-content
    .portal-shared-hero > .portal-shared-hero-content {
    box-sizing: border-box !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    overflow-wrap: anywhere;
    padding: 18px 10px 18px 20px !important;
    width: 50% !important;
  }

  body.eap-site-page.is-eap-authenticated #eap-main-content
    .eap-about-hero.portal-shared-hero {
    aspect-ratio: 3 / 2 !important;
    height: auto !important;
    min-height: clamp(22rem, calc(47rem - 92vw), 29rem) !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-about-page #eap-main-content
    .eap-about-hero .eap-home-copy > p:not(.eap-about-eyebrow) {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  body.eap-site-page.is-eap-authenticated #eap-main-content
    .eap-about-hero .eap-about-actions--hero {
    display: none !important;
  }

  body.eap-site-page.is-eap-authenticated #eap-main-content > .eap-about-action-band {
    display: block !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-contact-page #eap-main-content
    .eap-contact-hero .eap-contact-cards {
    display: none !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-contact-page #eap-main-content
    .eap-contact-hero .eap-contact-copy
    > :is(.eap-about-eyebrow, h1, p:not(.eap-about-eyebrow)) {
    max-width: 100% !important;
  }

  body.eap-site-page.is-eap-authenticated.eap-contact-page #eap-main-content > .eap-contact-action-band {
    display: block !important;
  }

  body.eap-site-page.is-eap-authenticated #eap-main-content > :is(
    .eap-about-action-band,
    .eap-contact-action-band
  ) {
    margin-left: calc(var(--portal-main-gutter) * -1) !important;
    margin-right: calc(var(--portal-main-gutter) * -1) !important;
    max-width: none !important;
    width: calc(100% + (var(--portal-main-gutter) * 2)) !important;
  }

  body.eap-site-page.eap-inactive-page #eap-main-content .eap-inactive-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: none !important;
  }

  body.eap-site-page.eap-inactive-page #eap-main-content .eap-inactive-actions .action-button {
    min-width: 0 !important;
    white-space: normal !important;
  }

  body.eap-site-page.eap-tenant-public-site.eap-access-code-page:not(.is-eap-authenticated)
    #eap-main-content > .eap-login-hero-stage {
    background-position: center, var(--eap-tenant-mobile-hero-position, 50% 50%) !important;
  }
}

@media (min-width: 721px) and (max-width: 979px) {
  body.eap-site-page.eap-contact-page #eap-main-content > .eap-contact-hero > .eap-contact-copy {
    justify-content: center !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.eap-site-page.eap-contact-page #eap-main-content .eap-contact-hero .eap-contact-cards {
    margin: .45rem 0 0 !important;
    width: 100% !important;
  }
}

body.eap-site-page.eap-access-code-page:not(.is-eap-authenticated)
  #eap-main-content > .eap-login-hero-stage .eap-login-hero-copy > p:last-child {
  color: #35434d !important;
}
