html { scroll-behavior: smooth; }

body { background: oklch(0.99 0.004 249); }

.nav-link {
  position: relative;
  transition: color .15s;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0; right: 0;
  height: 2px;
  background: #F5A030;
  transform: scaleX(0);
  transition: transform .2s ease;
  border-radius: 1px;
}
.nav-link:hover::after,
.nav-link.active::after { transform: scaleX(1); }
.nav-link:hover, .nav-link.active { color: #2B7CC8; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.reveal { opacity: 0; transform: translateY(20px); }
.reveal.revealed {
  animation: fadeUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.reveal-delay-1.revealed { animation-delay: 0.08s; }
.reveal-delay-2.revealed { animation-delay: 0.16s; }
.reveal-delay-3.revealed { animation-delay: 0.24s; }

.pricing-card { transition: box-shadow .2s; }
.pricing-card:hover { box-shadow: 0 8px 32px oklch(0.52 0.14 249 / 0.12); }

.feature-row { transition: background .15s; }
.feature-row:hover { background: oklch(0.975 0.006 249); }
