/* Impacto Soluciones Digitales — custom styles (Tailwind CDN handles utility classes) */

:root {
  --brand-yellow: #FFC107;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
}

body {
  font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif;
}

/* organic blob shape used behind hero/CTA/contact illustrations */
.blob {
  border-radius: 58% 42% 65% 35% / 45% 45% 55% 55%;
}

/* gentle floating motion for illustration cards */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.float {
  animation: float 4.5s ease-in-out infinite;
}

/* pulsing ring behind the WhatsApp button */
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .45); }
  70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
.whatsapp-btn {
  animation: pulse-ring 2.4s infinite;
}

/* hero/CTA composite illustration cards */
.mockup-card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.mockup-card:hover {
  box-shadow: 0 20px 35px -10px rgba(0, 0, 0, .25);
}

/* mobile nav collapse */
.mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.mobile-menu.open {
  max-height: 32rem;
}

/* toast notification for the contact form */
#toast {
  transition: transform .35s ease, opacity .35s ease;
}

/* keep focus visible for keyboard users without disturbing the design */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--brand-yellow);
  outline-offset: 2px;
}
