/* Explain: Base reset, typography defaults, smooth scroll, Alpine cloak, and animation styles. */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    line-height: 1.65;
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.1;
}

[x-cloak] {
    display: none !important;
}

::selection {
    background: var(--urgent-color);
    color: var(--white-color);
}

button, a {
    -webkit-tap-highlight-color: transparent;
}

/* Animations & Scroll Reveals */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

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

.animate-float-delay-1 { animation-delay: 1s; }
.animate-float-delay-2 { animation-delay: 2s; }

@keyframes pulse-urgent {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--urgent-color) 60%, transparent); }
    70% { box-shadow: 0 0 0 15px color-mix(in srgb, var(--urgent-color) 0%, transparent); }
    100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--urgent-color) 0%, transparent); }
}

.animate-pulse-urgent {
    animation: pulse-urgent 2s infinite;
}

@keyframes pulse-whatsapp {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6); }
    70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

.animate-pulse-whatsapp {
    animation: pulse-whatsapp 2s infinite;
}
