html, body { overflow-x: clip; max-width: 100%; }
.depth-layer { translate: 0 var(--depth-y, 0px); }
#servicos-fotos.services-carousel { overflow: hidden; padding-block: 64px; }
#servicos-fotos.services-carousel > .page-container { position: relative; }
#servicos-fotos.services-carousel h2 { font-size: clamp(2.4rem, 4.3vw, 4.8rem); }
.services-carousel-viewport { overflow-x: auto; overflow-y: hidden; width: 100vw; margin-left: calc(50% - 50vw); padding-block: 20px 32px; cursor: grab; scrollbar-width: none; }
.services-carousel-viewport::-webkit-scrollbar { display: none; }
.services-carousel-viewport.is-dragging { cursor: grabbing; user-select: none; }
.services-carousel-viewport:focus-visible { outline: 3px solid #087fc1; outline-offset: -3px; }
.services-carousel-track { display: flex; width: max-content; }
.services-carousel-group { display: flex; gap: 20px; padding-right: 20px; flex-shrink: 0; }
#servicos-fotos.services-carousel .service-photo-card { flex: 0 0 280px; width: 280px; min-height: 200px; border-radius: 20px; box-shadow: 0 3px 10px rgba(6, 26, 64, .07); }
#servicos-fotos.services-carousel .service-photo-card__content { padding: 20px 18px; }
#servicos-fotos.services-carousel .service-photo-card__content h3 { font-size: 1.2rem; }
#servicos-fotos.services-carousel .service-photo-card__content p { font-size: .85rem; margin-top: 12px; }
#servicos-fotos.services-carousel .service-photo-card__cta { margin-top: 18px; font-size: .75rem; padding: 10px 14px; }
@media (max-width: 639px) {
  #servicos-fotos.services-carousel { padding-block: 40px; }
  #servicos-fotos.services-carousel .service-photo-card { flex-basis: 240px; width: 240px; min-height: 190px; }
  .services-carousel-group { gap: 16px; padding-right: 16px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-photo-card { transition: box-shadow .3s ease, transform .3s ease; }
  .service-photo-card:hover { box-shadow: 0 3px 10px rgba(6, 26, 64, .07); }
  .service-photo-card img { transition: scale .7s ease; }
  .service-photo-card:hover img { scale: 1.035; }
}
@media (prefers-reduced-motion: reduce) {
  .depth-layer { translate: none; }
}

/* Duas fileiras independentes com movimento em sentidos opostos. */
.services-carousel-rows {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.services-carousel-rows .services-carousel-viewport {
  padding-block: 12px 16px;
}

/* Fundo contínuo entre as duas fileiras, sem faixas de sombra cortadas. */
.services-carousel-rows,
.services-carousel-rows .services-carousel-viewport,
.services-carousel-rows .services-carousel-track,
.services-carousel-rows .services-carousel-group {
  background: transparent;
}
