@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");

* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

html,
body {
  margin: 0px;
  height: 100%;
}

/* a blue color as a generic focus style */
button:focus-visible {
  outline: 2px solid #4a90e2 !important;
  outline: -webkit-focus-ring-color auto 5px !important;
}

a {
  text-decoration: none;
}

/* ==========================================
   ENTRANCE ANIMATIONS - Simple & Elegant
   ========================================== */

/* Fade in from bottom */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fade in */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Slide in from left */
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Slide in from right */
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Scale in */
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Apply animations to common elements */
.app section {
  animation: fadeInUp 0.8s ease-out;
}

.app section:nth-child(even) {
  animation: fadeInUp 0.8s ease-out 0.1s backwards;
}

.app section:nth-child(odd) {
  animation: fadeInUp 0.8s ease-out 0.2s backwards;
}

/* Header animation */
.site-header {
  animation: fadeIn 0.6s ease-out;
}

/* Logo animation */
.logo-link {
  animation: slideInLeft 0.7s ease-out;
}

/* Navigation links animation */
.nav-link {
  animation: fadeIn 0.8s ease-out;
  animation-fill-mode: backwards;
}

.nav-link:nth-child(1) {
  animation-delay: 0.1s;
}

.nav-link:nth-child(2) {
  animation-delay: 0.2s;
}

.nav-link:nth-child(3) {
  animation-delay: 0.3s;
}

.nav-link:nth-child(4) {
  animation-delay: 0.4s;
}

.nav-link:nth-child(5) {
  animation-delay: 0.5s;
}

/* Card animations */
.service-card,
.image-card,
.philosophy-card,
.news-card {
  animation: scaleIn 0.6s ease-out;
  animation-fill-mode: backwards;
}

/* Stagger card animations */
.service-card:nth-child(1),
.image-card:nth-child(1),
.news-card:nth-child(1) {
  animation-delay: 0.1s;
}

.service-card:nth-child(2),
.image-card:nth-child(2),
.news-card:nth-child(2) {
  animation-delay: 0.2s;
}

.service-card:nth-child(3),
.image-card:nth-child(3),
.news-card:nth-child(3) {
  animation-delay: 0.3s;
}

.service-card:nth-child(4),
.image-card:nth-child(4),
.news-card:nth-child(4) {
  animation-delay: 0.4s;
}

/* Footer animation */
.footer {
  animation: fadeInUp 0.8s ease-out;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}