/* Services page extras */

.services-slabs {
  display: flex;
  flex-direction: column;
}

/* Service slab number becomes accent on hover */
.service-slab:hover .service-slab__num {
  color: var(--accent-muted);
  transition: color 0.4s;
}

/* Service visual: photo with floating number badge */
.service-slab__visual {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--gray-100);
}

.service-slab__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease-out);
}

.service-slab:hover .service-slab__visual img { transform: scale(1.05); }

.service-slab__num-badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  font-weight: 800;
  font-size: 1rem;
  letter-spacing: -0.02em;
  color: #fff;
  background: rgba(17,24,39,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 0.4rem 0.85rem;
  border-radius: var(--r-full);
}

/* Service item bullet list */
.service-slab ul li {
  padding: 0.2rem 0;
}

/* Tighten slabs on tablet */
@media (max-width: 1024px) {
  .service-slab {
    padding-block: clamp(3rem, 6vw, 5rem);
    gap: 2rem;
  }
}

/* Single column on mobile */
@media (max-width: 768px) {
  .service-slab__visual {
    aspect-ratio: 16/9;
    order: -1;
  }
}
