.hero-art.carousel{max-width:410px;margin-inline:auto}.carousel-stage{aspect-ratio:1102/1427;border-radius:16px;overflow:hidden;background:#f5f9fc;border:1px solid #bfd6e9;box-shadow:0 12px 30px #12548b18}.hero-art .carousel-slide img{object-fit:contain;object-position:center;filter:none}.carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;max-width:340px;margin:10px auto 0}.carousel-dots{justify-content:center}.carousel-controls #carousel-pause{grid-column:1/-1;justify-self:center;width:auto;height:40px;min-width:110px}.carousel-caption{margin-top:14px}.service-illustration{margin:24px 0 0}.service-illustration img{display:block;width:100%;height:auto;max-height:410px;object-fit:contain;border:1px solid #c7dae9;border-radius:12px;background:#f5f9fc}.service-illustration figcaption{font-size:.8125rem;line-height:1.6;color:#526579;margin-top:8px;text-align:center}@media(max-width:1100px){.hero-art.carousel{max-width:350px}}@media(max-width:650px){.hero-art.carousel{max-width:300px}.carousel-stage{max-width:280px;margin-inline:auto}.carousel-controls{max-width:300px}.carousel-caption #carousel-title{font-size:16px}.service-illustration img{max-height:360px}}
/* Keep the active slide opaque while its image turns, avoiding a second fade. */
.carousel-stage.is-flipping .carousel-slide{transition:none}
.carousel-stage .carousel-slide img{transform-origin:center;backface-visibility:hidden}
.carousel-digital{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;border-radius:inherit}.carousel-digital[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.carousel-digital{display:none}.carousel-stage .carousel-slide img{transform:none!important}}
