.carousel-loop { overflow: hidden; }
.carousel-track {
    display: flex;
    gap: 16px;
    align-items: center;
    animation: carousel-slide 20s linear infinite;
}
.carousel-loop:hover .carousel-track { animation-play-state: paused; }
.carousel-item-img { 
    flex: 0 0 15%; width: 15%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

@keyframes carousel-slide {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 992px) {
    .carousel-item-img { flex: 0 0 33.3333%; width: 33.3333%; } 
}
@media (max-width: 600px) {
    .carousel-item-img { flex: 0 0 50%; width: 50%; }
}

 /* Icon + wave styles */
.icon-wrapper {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: inherit; /* use card color so svg/wave match card accent */
    box-shadow: 0 6px 18px rgba(13,110,253,0.06);
    overflow: visible;
}

.icon-wrapper svg { display: block; width: 36px; height: 36px; }

.wave {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.6);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: currentColor;
    opacity: 0.12;
    pointer-events: none;
    animation: ripple 1.8s infinite ease-out;
}

.wave.wave2 { animation-delay: 0.9s; opacity: 0.08; }

@keyframes ripple {
    0% {
        transform: translate(-50%, -50%) scale(0.6);
        opacity: 0.18;
    }
    70% {
        transform: translate(-50%, -50%) scale(1.9);
        opacity: 0.04;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.4);
        opacity: 0;
    }
}

/* Card tweaks */
.service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    min-height: 150px;
    justify-content: center;
    text-align: center;
    border-radius: 12px;
    transition: transform .18s ease, box-shadow .18s ease;
    border: 1px solid rgba(0,0,0,0.04);
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(16,24,40,0.06);
}

.service-card h5 { margin: 0; font-size: 1rem; font-weight: 600; }

/* Ensure SVG strokes use current color */
.service-card svg { stroke: currentColor; }


.hero-content h1 {
  font-size: 2rem; /* m¨®vil */
}

.hero-content p {
  font-size: 1rem; /* m¨®vil */
}

@media (min-width: 768px) {
  .hero-content h1 {
    font-size: 3rem; /* tablet */
  }
  .hero-content p {
    font-size: 1.25rem;
  }
}

@media (min-width: 1200px) {
  .hero-content h1 {
    font-size: 4rem; /* desktop grande */
  }
  .hero-content p {
    font-size: 1.5rem;
  }
}
