body {
  font-family: 'Inter', sans-serif;
  scroll-behavior: smooth;
}

/* ================= ANIMATION TOKENS ================= */
:root {
  --anim-duration: 600ms;
  --anim-duration-fast: 280ms;
  --anim-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --anim-delay: 0ms;
}

/* NAV */
.glass-nav {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(2, 143, 237, 0.85);
}


/* SECTION */
.section {
  padding: 80px 0;
}

.section-title {
  font-weight: 600;
}

/* SERVICES */
.service-card {
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  transition: transform var(--anim-duration-fast) var(--anim-ease),
              box-shadow var(--anim-duration-fast) var(--anim-ease);
}

.service-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

.service-card img {
  transition: transform var(--anim-duration-fast) var(--anim-ease);
}

.service-card:hover img {
  transform: scale(1.02);
}

/* FORM */
.form-box {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0,0,0,.1);
}

/* FOOTER */
.footer {
  background: rgba(2, 143, 237, 0.85);
  color: #fff;
  padding: 10px 0;
}

/* WHATSAPP */
.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #25d366;
  color: #fff;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  z-index: 999;
  transition: transform var(--anim-duration-fast) var(--anim-ease),
              box-shadow var(--anim-duration-fast) var(--anim-ease);
}

.whatsapp-float:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
    rgba(0,0,0,.5),
    rgba(0,0,0,.5)
  ),
  url('../assets/images/capa.png');
    background-repeat: no-repeat;
    background-size: cover;    
    margin-top: 60px;  
}

/* ================= REVEAL (SCROLL) ANIMATIONS ================= */
/* Use: class="reveal" + data-animate="fade|slide-up|zoom-in|fade-down" */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--anim-duration) var(--anim-ease),
              transform var(--anim-duration) var(--anim-ease);
  transition-delay: var(--delay, var(--anim-delay));
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.reveal[data-animate="fade"] {
  transform: none;
}

.reveal[data-animate="slide-up"] {
  transform: translateY(16px);
}

.reveal[data-animate="zoom-in"] {
  transform: scale(0.98);
}

.reveal[data-animate="fade-down"] {
  transform: translateY(-12px);
}

/* ================= HOVER UTILITIES ================= */
.btn-cta {
  transition: transform var(--anim-duration-fast) var(--anim-ease),
              box-shadow var(--anim-duration-fast) var(--anim-ease);
}

.btn-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.hover-lift {
  transition: transform var(--anim-duration-fast) var(--anim-ease),
              box-shadow var(--anim-duration-fast) var(--anim-ease);
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0,0,0,.14);
}

.social-links a {
  transition: transform var(--anim-duration-fast) var(--anim-ease),
              opacity var(--anim-duration-fast) var(--anim-ease);
}

.social-links a:hover {
  transform: translateY(-2px) scale(1.05);
  opacity: .9;
}

/* ================= ACCESSIBILITY ================= */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .btn-cta,
  .hover-lift,
  .social-links a,
  .whatsapp-float {
    transition: none !important;
  }
}
