.reveal { opacity: 0; transform: translateY(20px); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
.parallax-bg { transition: background-position 0.1s ease-out; }
.premium-card-shadow { transition: all 0.4s ease; }
.premium-card-shadow:hover { box-shadow: 0 20px 40px -15px rgba(22, 50, 77, 0.12); transform: translateY(-4px); }
.glass-nav { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* Safety: never allow horizontal scroll on small screens */
html, body { max-width: 100%; overflow-x: hidden; }

/* Tighter vertical rhythm on mobile (overrides Tailwind CDN utilities) */
@media (max-width: 640px) {
    .py-section-gap { padding-top: 56px !important; padding-bottom: 56px !important; }
    .pt-section-gap { padding-top: 56px !important; }
    .pb-section-gap { padding-bottom: 56px !important; }
    .gap-section-gap { gap: 40px !important; }
    .mb-section-gap { margin-bottom: 40px !important; }
    /* Long words shouldn't overflow their container */
    h1, h2, h3 { overflow-wrap: anywhere; }
}
