/* Homepage Sections 1–5. Shared header/footer remain independent. */
.home-hero { position: relative; overflow: hidden; background: var(--color-dark-blue); color: var(--color-pale-blue); }
.home-hero-layout { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); padding-block: 56px 48px; }
.home-hero-copy h1, .home-hero-copy h2 { color: var(--color-white); font-family: var(--font-heading); }
.home-hero-copy h1 { margin: 0 0 16px; font-size: 28px; font-weight: 600; line-height: 1.2; }
/* Approved screenshot appearance takes precedence over the old DM Sans override. */
.home-hero-copy h2 { margin: 0 0 16px; font-size: 26px; font-weight: 400; line-height: 1.25; }
.home-hero-copy > p { margin: 0; font-size: 18px; line-height: 1.7; }
.home-hero-copy a:not(.button) { color: inherit; text-decoration: underline; }
.home-hero-copy a:not(.button):focus-visible { outline-color: var(--color-amber); }
.home-hero-actions { display: flex; flex-direction: column; align-items: center; gap: 32px; margin-top: 32px; }
.home-hero-actions .button--amber:hover { background: var(--color-primary); color: var(--color-white); }
.home-hero-media { align-self: center; width: 100%; }
.home-services { padding-block: 24px 8px; background: var(--color-cream); }
.home-services-intro { padding: 10px; color: var(--color-dark-blue); }
.home-services-intro .section-eyebrow { color: var(--color-dark-blue); }
.home-services-intro .section-title { margin-bottom: 8px; }
.home-services-intro > p:last-child { margin: 0; }
.home-service-grid { padding-block: 8px; }
.home-service-grid .content-card { display: flex; flex-direction: column; align-items: stretch; padding: 0; }
.home-service-grid .content-card p { margin: 7px 0; padding-inline: 7px; }
.home-service-grid .card-action { margin: 0 0 8px; }
.home-service-grid .button { padding-inline: 18px; }
.home-care-plan { margin: 0; color: var(--color-neutral); }
.home-services a:not(.button) { color: var(--color-primary); }
.home-service-grid .content-card a:not(.button) { color: var(--color-dark-blue); }
@media (min-width: 768px) and (max-width: 1100px) {
  .home-hero-layout { padding: 48px 24px 40px; }
  .home-hero-copy { text-align: center; }
  .home-hero-copy h2 { font-size: 24px; }
  .home-hero-media { width: 86%; justify-self: center; }
  .home-services-intro > p:last-child, .home-care-plan { text-align: center; }
}
@media (min-width: 851px) and (max-width: 1100px) {
  .home-service-grid .content-card h3 { font-size: 26px; }
}
@media (max-width: 1024px) {
  .home-services-intro { padding: 0 10px; }
}
@media (min-width: 768px) and (max-width: 850px) {
  .home-hero-layout { padding-block: 32px 28px; }
  .home-hero-media { width: 100%; }
  .home-hero-copy > p { text-align: left; }
  .home-service-grid { gap: 24px; }
  .home-service-grid .card-action { margin-top: auto; }
  .home-service-grid .content-card h3 { font-size: 24px; }
  .home-services { font-size: 16px; }
}
@media (max-width: 767px) {
  .home-hero-layout { grid-template-columns: minmax(0, 1fr); padding: 32px 24px 40px; }
  .home-hero-copy h1 { font-size: 26px; text-align: center; }
  .home-hero-copy h2 { font-size: 24px; text-align: center; }
  .home-hero-media { display: none; }
  .home-service-grid .content-card h3 { font-size: 24px; }
  .home-services { font-size: 16px; }
  .home-services > .container { padding-inline: 28px; }
  .home-services-intro { padding: 0; }
}

/* Sections 3–5: scoped rules preserve the approved hero and services. */
.home-benefits, .home-industries, .home-demos { padding-block: 24px; }
.home-benefits, .home-demos { background: var(--color-pale-blue); color: var(--color-dark-blue); }
.home-industries { background: var(--color-cream); }
.home-benefits-title { margin-bottom: 16px; color: var(--color-dark-blue); font-family: var(--font-body); line-height: 1.4; }
.home-benefit-grid .content-card p { text-align: left; }
.home-industry-grid .industry-group { box-shadow: 0 0 5px rgb(0 0 0 / .2); }
.home-industry-grid li { padding-left: 1.75em; text-indent: -1.75em; }
.home-industry-grid li > span { display: inline-block; width: 1.5em; text-indent: 0; }
.home-demo-statement { text-align: center; font-weight: 700; }
.home-demo-grid .demo-card { display: flex; flex-direction: column; padding-top: 16px; }
.home-demo-grid .responsive-image { aspect-ratio: 8 / 3; height: auto; object-fit: cover; object-position: top; }
.home-demo-grid .card-action { margin-top: auto; padding-top: 24px; }
.home-performance-intro { margin-top: 32px; text-align: center; }
.home-performance-intro > p { max-width: 760px; margin: 12px auto; }
@media (min-width: 768px) {
  .home-demo-grid .demo-card h3 { min-height: 2.6em; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .home-industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 850px) {
  .home-benefit-grid, .home-demo-grid { gap: 24px; }
  .home-benefit-grid .content-card h3 { font-size: 24px; }
}

/* Sections 6–9: additions are scoped to the remaining homepage sections. */
.home-process { padding-block: 24px; background: var(--color-primary); color: var(--color-pale-blue); }
.home-process > .container > .section-intro { text-align: center; }
.home-process .section-title { color: var(--color-white); }
.home-process .section-eyebrow { color: var(--color-pale-blue); }
.home-process .process-steps a { color: var(--color-dark-blue); }
.home-promise { padding-block: 24px; background: var(--color-cream); }
.home-promise .section-eyebrow { color: var(--color-dark-blue); }
.home-promise-grid { margin-block: 16px; }
.home-locations { background: var(--color-pale-blue); color: var(--color-dark-blue); }
.home-location-intro { padding-top: 24px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.home-location-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 24px; list-style: none; margin: 0; padding: 24px 0; }
.home-location-list li { min-width: 0; }
.home-location-list a { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--color-dark-blue); font-size: 16px; font-weight: 500; line-height: 1.5; text-decoration: none; }
.home-location-list .content-icon { flex: 0 0 20px; width: 20px; height: 24px; margin: 0; color: inherit; }
@media (min-width: 768px) {
  .home-location-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .home-location-list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
  .home-location-list a { font-size: 17px; }
  .home-location-name { display: block; }
}
.home-final-cta .cta-layout > div { min-width: 0; }
@media (min-width: 768px) and (max-width: 1100px) {
  .home-process .content-card h3, .home-promise-grid .content-card h3 { font-size: 24px; }
}
@media (min-width: 768px) and (max-width: 850px) {
  .home-process .process-steps { gap: 24px; }
}
