/* Otoly - Custom Styles */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 4rem;
}

/* Scroll Animations */
[data-animate] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hover Effects */
.service-card:hover .service-icon {
  box-shadow: 0 0 20px rgba(14, 165, 233, 0.3);
}

a[href^="mailto"]:hover,
a[href^="https"]:hover {
  text-shadow: 0 0 8px rgba(14, 165, 233, 0.3);
}

/* Staggered delay for cards */
[data-animate-delay="1"] { transition-delay: 0.1s; }
[data-animate-delay="2"] { transition-delay: 0.2s; }
[data-animate-delay="3"] { transition-delay: 0.3s; }
[data-animate-delay="4"] { transition-delay: 0.4s; }

/* Mobile Responsive */
@media (max-width: 640px) {
  #hero h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  #hero p {
    font-size: 1rem;
  }

  section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  #contact .space-y-6 > div {
    text-align: center;
    flex-direction: column;
    align-items: center;
  }

  #footer .grid {
    text-align: center;
  }

  #footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }

  #footer ul li {
    margin: 0;
  }
}

@media (max-width: 380px) {
  #hero h1 {
    font-size: 1.75rem;
  }

  .font-mono.text-xl {
    font-size: 1rem;
  }
}
