/* Shared static photo hero. Page-specific media and crop remain in the host. */
body :is(#site-content, body) section.page-header[data-sk-static-hero],
body section.page-header[data-sk-static-hero] {
  height: auto;
  min-height: 580px;
  display: flex;
  align-items: center;
  margin: 0;
  background-attachment: scroll;
  background-size: cover;
}

:is(#site-content, body) section.page-header[data-sk-static-hero]::after {
  background: linear-gradient(90deg, rgba(20, 19, 17, .85), rgba(20, 19, 17, .42));
}

body :is(#site-content, main) section.page-header[data-sk-static-hero] > .text-wrap,
body section.page-header[data-sk-static-hero] > .text-wrap {
  position: relative;
  top: auto;
  transform: none;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-block: 104px 96px;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .text-wrap > .container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 64px;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .col-lg-7 {
  flex: 0 0 100%;
  max-width: 780px;
  min-width: 0;
  margin-inline: 0;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .text {
  padding: 0;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .text > span:has(+ h1) {
  display: block;
  margin: 0 0 12px;
  color: #ffffff;
  font: 500 11px/1.5 "Space Grotesk", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] h1 {
  margin: 0 0 28px;
  color: #ffffff;
  font: 500 clamp(42px, 4.3vw, 62px)/1.06 "Space Grotesk", Arial, sans-serif;
  letter-spacing: -.035em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .text-wrap p {
  max-width: 680px;
  margin: 0 0 28px;
  color: #ffffff;
  font: 400 16px/1.85 Manrope, Arial, sans-serif;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] .button-wrap {
  margin: 20px 0 0;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] a.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 100%;
  width: auto;
  height: auto;
  min-height: 48px;
  padding: 14px 24px;
  border: 0;
  background: #faf9f7;
  color: #171613;
  font: 500 12px/1.4 "Space Grotesk", Arial, sans-serif;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;
  backdrop-filter: none;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] a.button:hover {
  background: #f2efeb;
  color: #171613;
}

:is(#site-content, body) section.page-header[data-sk-static-hero] a.button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

@media (min-width: 901px) {
  body :is(#site-content, body) section.page-header[data-sk-static-hero],
  body section.page-header[data-sk-static-hero] {
    min-height: 80svh;
  }
}

@media (max-width: 1100px) {
  :is(#site-content, body) section.page-header[data-sk-static-hero] .text-wrap > .container {
    padding-inline: 40px;
  }
}

@media (max-width: 900px) {
  body :is(#site-content, main) section.page-header[data-sk-static-hero] > .text-wrap,
  body section.page-header[data-sk-static-hero] > .text-wrap {
    padding-block: 80px 64px;
  }

  :is(#site-content, body) section.page-header[data-sk-static-hero] .text-wrap > .container {
    padding-inline: 22px;
  }

  :is(#site-content, body) section.page-header[data-sk-static-hero] h1 {
    font-size: clamp(32px, 8.7vw, 44px);
  }

  :is(#site-content, body) section.page-header[data-sk-static-hero] .text-wrap p {
    font-size: 14px;
    line-height: 1.9;
  }
}
