/* Shared image-hero spacing: content never crowds the section below it. */
html body:not([data-page="home"]) :is(.hero,.inner-hero,.scm-ms-hero),
html body.services-landing .sd-hero,
html body .industries-live .cinema-hero,
html body.resources-live .cover-five{
  box-sizing:border-box;
  height:auto!important;
  min-height:610px!important;
  padding:150px 0 90px!important;
  align-items:start!important;
}
html body.services-landing .sd-hero>.sd-shell,
html body .industries-live .cinema-hero>.wrap{
  padding-block:0!important;
}
html body:not([data-page="home"]) .hero-copy{padding-top:0}
/* Match the navigation/logo column and start all copy at the same top inset. */
html body:not([data-page="home"]) :is(.hero,.inner-hero,.scm-ms-hero)>.shell,
html body.services-landing .sd-hero>.sd-shell,
html body .industries-live .cinema-hero>.wrap,
html body.resources-live .cover-five>.wrap{
  width:var(--shell)!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  align-self:start!important;
}
/* The same 22px / .7s entrance used by Our Story and Our Work. */
@keyframes shared-hero-enter{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
html body .hero .hero-copy,
html body .inner-hero>.inner-hero-copy,
html body .scm-ms-hero>.shell,
html body.services-landing .sd-hero>.sd-shell,
html body .industries-live .cinema-hero>.wrap,
html body.resources-live .cover-five>.wrap{
  animation:shared-hero-enter .7s ease both;
  transition:none;
}
/* Homepage hero is immediately visible, including its existing reveal elements. */
html body[data-page="home"] .hero .hero-copy,
html body[data-page="home"] .hero .reveal{
  animation:none;transition:none;opacity:1;transform:none;
}
@media(prefers-reduced-motion:reduce){
  html body .hero .hero-copy,
  html body .inner-hero>.inner-hero-copy,
  html body .scm-ms-hero>.shell,
  html body.services-landing .sd-hero>.sd-shell,
  html body .industries-live .cinema-hero>.wrap,
  html body.resources-live .cover-five>.wrap{
    animation:none;opacity:1;transform:none;
  }
}
@media(max-width:800px){
  html body:not([data-page="home"]) :is(.hero,.inner-hero,.scm-ms-hero),
  html body.services-landing .sd-hero,
  html body .industries-live .cinema-hero,
  html body.resources-live .cover-five{
    min-height:540px!important;
    padding:130px 0 70px!important;
  }
}
@media(max-width:560px){
  html body:not([data-page="home"]) :is(.hero,.inner-hero,.scm-ms-hero),
  html body.services-landing .sd-hero,
  html body .industries-live .cinema-hero,
  html body.resources-live .cover-five{min-height:580px!important}
}
/* Case-study client marks and copy belong near the bottom of the image hero. */
html body[data-page^="case-"] .scm-ms-hero{align-items:flex-end!important}
html body[data-page^="case-"] .scm-ms-hero>.shell{align-self:flex-end!important}
/* Mobile-only crop and extra image contrast; copy and forms are never filtered. */
@media(max-width:760px){
  html body main :is(.hero-bg,.inner-hero-bg,.csp-hero-media,.indl-hero-media,.scm-ms-hero-bg){
    background-position:center top!important;
    filter:brightness(.88);
  }
  html body main :is(.hero-bg,.inner-hero-bg,.csp-hero-media,.indl-hero-media,.scm-ms-hero-bg) :is(img,video),
  html body main :is(.sd-hero,.cinema-hero,.cover-five)>img{
    object-position:center top!important;
  }
  html body main :is(.sd-hero,.cinema-hero,.cover-five)>img{filter:brightness(.88)}
}
/* Mobile hero typography must not inherit desktop-scale headline overrides. */
@media(max-width:760px){
  html body main :is(.hero,.inner-hero,.csp-hero,.scm-ms-hero,.cinema-hero,.cover-five,.indl-hero) h1,
  html body.sd-site.services-landing :is(#sd-app,.sd-content) .sd-hero h1,
  html body.sd-site :is(#sd-app,.sd-content) .sd-hero h1{
    font-size:clamp(36px,10vw,44px)!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    overflow-wrap:normal;
    max-width:100%!important;
  }
  html body.services-landing .sd-hero .services-headline-first{white-space:normal}
}
