/* Strict Mobile Overflow Prevention */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
    position: relative;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

/* Startup Gavel Animation */
.gavel-icon {
    animation: strike 2s ease-in-out forwards;
    transform-origin: 80% 80%;
}

@keyframes strike {
    0% { transform: rotate(0deg) translateY(0px); }
    20% { transform: rotate(-45deg) translateY(-20px); }
    40% { transform: rotate(20deg) translateY(15px); }
    45% { transform: rotate(10deg) translateY(5px); }
    50% { transform: rotate(20deg) translateY(15px); }
    100% { transform: rotate(20deg) translateY(15px); }
}

.fade-in-text {
    animation: fadeInText 1s ease-in forwards;
    animation-delay: 0.8s;
}

@keyframes fadeInText {
    to { opacity: 1; }
}

/* Scroll Reveal Utilities */
.reveal {
    opacity: 0;
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0) translateX(0);
}

.fade-bottom { transform: translateY(30px); }

/* Staggered delays for grids */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Gentle bounce for WhatsApp */
@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.animate-bounce-slow {
    animation: bounce-slow 3s infinite ease-in-out;
}

.animate-bounce-slow:hover {
    animation: none;
}