html {
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

body {
    font-family: 'Lato', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* FAQ Accordion */
.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

/* Sticky CTA Animation */
#sticky-cta {
    transition: transform 0.3s ease-in-out;
}

/* CTA Pulse Animation */
.cta-pulse {
    animation: ctaPulse 2s ease-in-out infinite;
}

@keyframes ctaPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(194, 24, 91, 0.35);
    }
    50% {
        box-shadow: 0 0 0 12px rgba(194, 24, 91, 0);
    }
}

/* Countdown timer pulse when < 10 minutes */
.timer-urgent {
    animation: urgentPulse 1s ease-in-out infinite;
}

@keyframes urgentPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

/* Mobile Responsiveness */
@media (max-width: 640px) {
    article {
        font-size: 1.05rem;
        line-height: 1.75;
    }
}

/* Image loading placeholder */
img {
    background-color: #f3f4f6;
}

/* Scroll Progress Bar */
#scroll-progress {
    will-change: width;
    pointer-events: none;
}

/* Comparison table responsiveness */
@media (max-width: 480px) {
    table td, table th {
        padding: 0.625rem;
        font-size: 0.8rem;
    }
}
