:root { --brand-radius: 1rem; }
* { box-sizing: border-box; }
a { text-underline-offset: 2px; }
.border { border-color: rgb(228 228 231) !important; }
.rounded-2xl { border-radius: 1rem; }
html { scroll-behavior: smooth; }
/* Animations */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.revealed { opacity: 1; transform: translateY(0); }
.fade-up.delay-1 { transition-delay: .1s; }
.fade-up.delay-2 { transition-delay: .2s; }
/* Card hover */
.card { transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(24,24,27,.08); }
/* slide-down for mobile nav */
@keyframes slideDown { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
.animate-slide-down { animation: slideDown 160ms ease-out; }
