/* Global: smooth scroll and anchor offsets */
:root { scroll-behavior: smooth; scroll-padding-top: 7rem; }
[id] { scroll-margin-top: 7rem; }
#pricing { scroll-margin-top: -4rem !important; }
@media (min-width: 768px) {
  :root { scroll-padding-top: 7.5rem; }
  [id] { scroll-margin-top: 7.5rem; }
  #pricing { scroll-margin-top: -4rem !important; }
}

/* Animations */
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in-up-delay {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse-slow {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.3;
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.6s ease-out forwards;
}

.animate-fade-in-up-delay {
  animation: fade-in-up-delay 0.8s ease-out 0.2s forwards;
  opacity: 0;
}

.animate-pulse-slow {
  animation: pulse-slow 4s ease-in-out infinite;
}

/* Components: collapsible caret */
summary::-webkit-details-marker { display: none; }
[data-heroicon="chevron-down"] { 
  transform-origin: center; 
  transform: rotate(180deg);
  transition: transform .3s ease, color .3s ease; 
}
details[open] [data-heroicon="chevron-down"] { transform: rotate(0deg); }

/* Smooth transitions for interactive elements */
a, button {
  transition: all 0.2s ease;
}

/* Enhanced hover states */
.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

/* Stagger animation for grid items */
@media (prefers-reduced-motion: no-preference) {
  section > div > div > * {
    animation: fade-in-up 0.6s ease-out backwards;
  }
  
  section > div > div > *:nth-child(1) { animation-delay: 0.1s; }
  section > div > div > *:nth-child(2) { animation-delay: 0.2s; }
  section > div > div > *:nth-child(3) { animation-delay: 0.3s; }
  section > div > div > *:nth-child(4) { animation-delay: 0.4s; }
}
