/* Shared brand and readability across every service page. */
.brand { position:relative; display:block; flex-shrink:0; width:200px; height:74px; overflow:hidden; }
.brand-logo { position:absolute; top:-10px; left:-118px; display:block; width:430px; max-width:none; height:auto; }
.form-note,.form-status,.card-note,.project-note,.note,.hero-image figcaption { font-size:.875rem; }
.service-number,.process-photo span { font-size:.875rem; }
.hero-image { margin:0; }
img { max-width:100%; }
.form-status a { text-decoration:underline; font-weight:800; }
@media(max-width:590px) {
  .brand { width:150px; height:56px; }
  .brand-logo { top:-7.5px; left:-88.5px; width:322.5px; }
  .hero-grid { min-width:0; }
  .hero-grid > * { min-width:0; }
  .process-photo span { font-size:.8rem; }
  footer { padding-bottom:68px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
