html { scroll-behavior: smooth; }
body { background: #0D0D0D; }

a { color: #C81E2C; }

/* HERO SECTION - RESPONSIVE BACKGROUNDS */
.hero-section {
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

/* Mobile: background-mobile.webp com overlay de cima pra baixo */
@media (max-width: 768px) {
  .hero-section {
    background-image: url('assets/background-mobile.webp');
    background-position: bottom center;
  }
  .hero-overlay {
    background: linear-gradient(180deg, rgba(13,13,13,0.7) 0%, rgba(13,13,13,0.5) 50%, rgba(13,13,13,0.2) 100%) !important;
  }
}

/* Tablet e Desktop: background-desktop.webp com overlay preto na esquerda */
@media (min-width: 769px) {
  .hero-section {
    background-image: url('assets/background-desktop.webp');
    background-position: right center;
  }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(13,13,13,0.65) 0%, rgba(13,13,13,0.55) 35%, rgba(13,13,13,0.15) 100%) !important;
  }
}

/* Mobile menu */
#mobile-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#mobile-menu.open {
  opacity: 1;
  visibility: visible;
}
#mobile-menu .mobile-link {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
#mobile-menu.open .mobile-link {
  opacity: 1;
  transform: translateY(0);
}
#mobile-menu.open .mobile-link:nth-child(1) { transition-delay: 0.05s; }
#mobile-menu.open .mobile-link:nth-child(2) { transition-delay: 0.1s; }
#mobile-menu.open .mobile-link:nth-child(3) { transition-delay: 0.15s; }

/* Service list rows */
.service-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 6px;
  border-bottom: 1px solid rgba(176, 179, 184, 0.16);
  transition: padding-left 0.25s ease, background 0.25s ease;
}
.service-row:hover {
  padding-left: 14px;
  background: rgba(200, 30, 44, 0.06);
}

/* Diferenciais hover */
.diff-card:hover { transform: translateY(-4px); }
.diff-card:hover .diff-icon { transform: scale(1.15); color: #C81E2C; }

/* Unit cards */
.unit-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.unit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

/* Testimonial cards */
.testimonial-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

/* Social icons */
.social-icon:hover .social-svg { color: #C81E2C; }

/* Sticky WhatsApp pulse */
.wa-pulse { position: relative; }
.wa-pulse::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #C81E2C;
  opacity: 0.55;
  animation: wa-ping 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
  z-index: -1;
}
@keyframes wa-ping {
  0% { transform: scale(1); opacity: 0.55; }
  70% { transform: scale(1.7); opacity: 0; }
  100% { transform: scale(1.7); opacity: 0; }
}

/* Carousel */
#testimonials-track > * { flex: 0 0 100%; }
.carousel-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(176, 179, 184, 0.35);
  transition: background 0.25s ease, transform 0.25s ease;
  cursor: pointer;
}
.carousel-dot.active { background: #C81E2C; transform: scale(1.25); }
