/* Photographs stay in full colour; typography and interface remain monochrome. */
.acb-hero,
.acb-service-image,
.acb-map-card,
.acb-brand-card::before {
  filter: none !important;
}

/* Stable cross-fade hero: images are preloaded before this layer is inserted. */
.acb-hero { position: relative; isolation: isolate; background-color: #111; }
.acb-hero-slides { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.acb-hero-slide { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: 0; transform: scale(1.02); transition: opacity 1.35s ease-in-out, transform 7s linear; will-change: opacity, transform; }
.acb-hero-slide.is-active { opacity: 1; transform: scale(1.055); }
.acb-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(8,12,15,.80) 0%, rgba(8,12,15,.27) 60%, rgba(8,12,15,.14) 100%); }
.acb-hero.acb-slideshow-ready { background-image: none !important; }
@media (prefers-reduced-motion: reduce) { .acb-hero-slide { transition: none; transform: none; } }

/* V2.5 flicker fix: fixed stacking and opacity-only compositing. */
.acb-hero { contain: paint; }
.acb-hero-slides { z-index: 0; pointer-events: none; }
.acb-hero-slide { transform: none !important; transition: opacity 1.2s ease-in-out !important; will-change: opacity; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.acb-hero-slide.is-active { transform: none !important; }
.acb-hero::after { z-index: 1; }
.acb-hero-inner { position: relative; z-index: 2; }
