/*
 * SDES sitewide hero alignment fix — 2026-10-02
 * Keeps every hero on the same left/right content rails as the global site container.
 */

/* Shared desktop rails: match header, navigation and normal page sections. */
main#main-content .sp-hero > .container,
main#main-content .sdes-industry-hero > .container,
main#main-content .sdes-hero > .container,
body.home-page main#main-content .sp-hero > .container,
body.align-standard-page main#main-content .sp-hero > .container {
  width: 100% !important;
  max-width: var(--cw, 1180px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--px, clamp(16px, 3.5vw, 40px)) !important;
  padding-right: var(--px, clamp(16px, 3.5vw, 40px)) !important;
  box-sizing: border-box !important;
}

/* Hero grids always consume the full available rail width. */
main#main-content .sp-hero .sp-hero-inner,
main#main-content .sdes-industry-hero .sdes-hero-copy,
main#main-content .sdes-hero .sdes-hero-inner,
main#main-content .sdes-hero .sdes-hero-copy {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Left-hand copy starts exactly at the container's left rail. */
main#main-content .sp-hero .sp-hero-text,
main#main-content .sdes-industry-hero .sdes-hero-copy,
main#main-content .sdes-hero .sdes-hero-copy,
main#main-content .sdes-hero .sdes-hero-inner {
  margin-left: 0 !important;
}

/* Right-hand hero media finishes exactly at the container's right rail. */
main#main-content .sp-hero .sp-hero-img,
main#main-content .sp-hero .sp-hero-img.sp-hero-img-portrait,
body.home-page main#main-content .home-hero-visual {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Homepage had its own extra-wide 1440px hero container. Normalize it. */
body.home-page main#main-content .sp-hero .sp-hero-inner {
  width: 100% !important;
  max-width: none !important;
}
body.home-page main#main-content .sp-hero-text {
  margin-left: 0 !important;
}
body.home-page main#main-content .home-hero-visual {
  width: 100% !important;
  max-width: 520px !important;
}

/* Tablet/mobile: keep equal gutters on both sides and center stacked media. */
@media (max-width: 1050px) {
  main#main-content .sp-hero > .container,
  main#main-content .sdes-industry-hero > .container,
  main#main-content .sdes-hero > .container,
  body.home-page main#main-content .sp-hero > .container,
  body.align-standard-page main#main-content .sp-hero > .container {
    padding-left: clamp(18px, 4vw, 32px) !important;
    padding-right: clamp(18px, 4vw, 32px) !important;
  }

  main#main-content .sp-hero .sp-hero-img,
  main#main-content .sp-hero .sp-hero-img.sp-hero-img-portrait,
  body.home-page main#main-content .home-hero-visual {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 640px) {
  main#main-content .sp-hero > .container,
  main#main-content .sdes-industry-hero > .container,
  main#main-content .sdes-hero > .container,
  body.home-page main#main-content .sp-hero > .container,
  body.align-standard-page main#main-content .sp-hero > .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
