/* Service illustrations share Partcore's paper, blue and graphite palette. */
.service-motion { min-width: 0; margin: 0; }
.assembly-stage { overflow: hidden; aspect-ratio: 20 / 13; background: #eff4f6; border-radius: 12px; contain: paint; }
.assembly-stage > img, .assembly-stage > svg { display: block; width: 100%; height: 100%; object-fit: contain; }
.service-motion figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; color: var(--text-mute-strong); font-size: .78rem; }
.assembly-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 78px; min-height: 44px; padding: 0 8px; border: 0; background: transparent; color: var(--teal-text); font-size: .78rem; font-weight: 700; border-radius: 10px; }
.assembly-toggle:hover { background: var(--teal-soft); }
.assembly-toggle[hidden] { display: none; }
.assembly-toggle svg { width: 14px; height: 14px; fill: currentColor; }
.assembly-toggle .play-symbol { display: none; }
.assembly-toggle[aria-pressed="true"] .play-symbol { display: block; }
.assembly-toggle[aria-pressed="true"] .pause-symbol { display: none; }
.service-directory .work-list > article { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 64px; align-items: center; padding-block: 42px; }
.service-directory .service-description { max-width: 48ch; }
.service-description > p { margin-top: 20px; }
.home-services { display: block; }
.home-services .service-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.home-services .service-menu article + article { margin: 0; padding: 0; border: 0; }
.home-services .service-motion { margin-bottom: 22px; }
.home-services .service-menu h3 { font-size: 1.2rem; }
.service-banner .service-motion { max-width: 920px; margin-inline: auto; }
.ceiling-comparison .service-motion { margin-bottom: 28px; }
.ceiling-comparison .assembly-stage { background: #e8eff2; }
.gallery article:first-child .assembly-stage, .gallery .assembly-stage { aspect-ratio: 20 / 13; }
@media (max-width: 1100px) {
  .service-directory .work-list > article { gap: 36px; }
  .home-services .service-menu { gap: 24px; }
}
@media (max-width: 760px) {
  .service-directory .work-list > article { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .service-directory .service-description { max-width: 65ch; }
  .home-services .service-menu { grid-template-columns: 1fr; gap: 44px; }
  .home-services .service-motion { margin-bottom: 16px; }
  .service-motion figcaption { gap: 8px; }
}
