/* The static composition is the fallback. GSAP owns motion only after init. */
.zd-home--motion .zd-home-slide { animation: none; opacity: 0; will-change: auto; }
.zd-home--motion .zd-home-slide:first-child { opacity: 1; }
.zd-home--motion .zd-home-slide img { animation: none; transform: none; will-change: auto; }
.zd-home--motion .zd-home-hero-media { z-index: 0; isolation: isolate; }
.zd-home--motion .zd-home-copy { justify-items: start; text-align: left; padding-bottom: 164px; }
.zd-home--motion .zd-home-kicker { font-size: 13px; line-height: 1.45; font-weight: 600; letter-spacing: .06em; margin-bottom: 20px; }
.zd-home--motion .zd-home-copy h1 { font-size: clamp(48px, 5.55vw, 80px); max-width: 1050px; letter-spacing: -.035em; line-height: 1.04; }
.zd-hero-line { display: block; overflow: clip; padding: .08em 0 .12em; margin: -.08em 0 -.12em; }
.zd-hero-line > span { display: block; }
.zd-home--motion .zd-home-lead { padding-inline: 0; max-width: 650px; text-wrap: pretty; }
.zd-home--motion .zd-home-actions { justify-content: flex-start; margin-bottom: 0; }
.zd-hero-controls:not([hidden]) { display: flex; align-items: center; gap: 20px; margin-top: 22px; color: #fff; }
.zd-hero-slides-nav { display: flex; gap: 10px; }
.zd-hero-slide-control, .zd-hero-pause { border: 0; background: transparent; color: rgba(255,255,255,.7); padding: 0; cursor: pointer; }
.zd-hero-slide-control { width: 48px; min-height: 44px; display: flex; flex-direction: column; justify-content: center; gap: 8px; font: 500 12px/1 var(--body-font, sans-serif); font-variant-numeric: tabular-nums; text-align: left; }
.zd-hero-slide-control[aria-pressed="true"] { color: var(--zd-primary); }
.zd-hero-slide-track { display: block; height: 2px; width: 100%; background: rgba(255,255,255,.32); }
.zd-hero-slide-track > span { display: block; height: 100%; background: var(--zd-primary); transform: scaleX(0); transform-origin: left; }
.zd-hero-pause { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; font-size: 12px; }
.zd-hero-pause:hover { background: rgba(255,255,255,.12); }
.zd-hero-gallery-link { color: #fff; font-size: 13px; display: inline-flex; align-items: center; gap: 12px; }
.zd-hero-gallery-link:hover { color: var(--zd-primary); }
.zd-hero-controls :is(button,a):focus-visible { outline: 2px solid var(--zd-primary); outline-offset: 5px; }
@media (max-width: 991px) {
  .zd-home--motion .zd-home-copy h1 { font-size: clamp(44px, 6.8vw, 64px); }
}
@media (max-width: 767px) {
  .zd-home--motion .zd-home-copy h1 { font-size: clamp(32px, 9.1vw, 48px); line-height: 1.08; letter-spacing: -.03em; }
  .zd-home--motion .zd-home-kicker { font-size: 11px; max-width: 32ch; margin-bottom: 16px; }
  .zd-home--motion .zd-home-lead { font-size: 15px; line-height: 1.65; margin-top: 20px; max-width: 36ch; }
  .zd-home--motion .zd-home-copy { padding-bottom: 68px; }
  .zd-hero-controls:not([hidden]) { gap: 14px; margin-top: 20px; flex-wrap: wrap; }
  .zd-hero-slide-control { width: 38px; }
  .zd-hero-slides-nav { gap: 8px; }
  .zd-hero-gallery-link { font-size: 12px; gap: 6px; }
}

/* The old hover lifts, photo zooms and CSS loops are completely disabled. */
.zd-home--motion :is(.zd-home-overview-item,.zd-home-project-card,.zd-home-process-step,.zd-home-process-step-visual,.zd-home-process-step-icon,.zd-home-process-step-number,.zd-home-build-item,.zd-home-article-card,.zd-home-project-card-media img,.zd-home-article-media img,.zd-photo-open img,.zd-preview-project-image img) {
  transition-property: color, background-color, border-color, box-shadow;
}
.zd-home--motion :is(.zd-home-overview-item,.zd-home-project-card,.zd-home-process-step,.zd-home-process-step-icon,.zd-home-process-step-number,.zd-home-build-item,.zd-home-article-card,.zd-home-project-card-media img,.zd-home-article-media img,.zd-photo-open img,.zd-preview-project-image img):is(:hover,:focus-within),
.zd-home--motion :is(.zd-home-project-card,.zd-home-article-card,.zd-home-process-step):hover :is(img,.zd-home-process-step-icon,.zd-home-process-step-number) { transform: none; }
.zd-home--motion .zd-partners-logo-track { animation: none; will-change: auto; }
.zd-home--motion [data-motion-scene] { transition-property: color, background-color, border-color, box-shadow; }
.zd-reveal-window { display: block; overflow: clip; padding-bottom: .12em; margin-bottom: -.12em; }
.zd-reveal-text { display: block; }
.zd-hero-shutter { position: absolute; inset: 0; background: #182b4b; z-index: 5; pointer-events: none; }
html.zd-motion-loading .zd-home { visibility: hidden; }
.zd-body-home.zd-header-scrolled :is(.header__four,.header__sticky-sticky-menu) { background: #09111e !important; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 12px 28px rgba(7,13,24,.18); }
@media (prefers-reduced-motion: reduce) {
  html.zd-motion-loading .zd-home { visibility: visible; }
  .zd-home--motion *, .zd-home--motion *::before, .zd-home--motion *::after { scroll-behavior: auto; animation: none !important; }
}

.zd-home--motion :is(.zd-prefab-story-photo-link,.zd-preview-project-image) { overflow: hidden; }

/* Consistent contrast across the factory and completed-house photographs. */
.zd-home-hero--factory .zd-home-hero-overlay { background: linear-gradient(90deg, rgba(9,20,36,.78) 0%, rgba(9,20,36,.52) 43%, rgba(9,20,36,.10) 100%), linear-gradient(0deg, rgba(9,20,36,.35), transparent 70%); }
@media (max-width: 767px) {
  .zd-home-hero--factory .zd-home-hero-overlay { background: linear-gradient(0deg, rgba(9,20,36,.88) 0%, rgba(9,20,36,.57) 46%, rgba(9,20,36,.18) 100%); }
}

.zd-hero-slide-control[aria-pressed="true"] .zd-hero-slide-track > span { transform: scaleX(1); }
.zd-hero-slide-control:hover { color: #fac55f; }
.zd-hero-pause:disabled { opacity: .6; cursor: default; }
