* { font-family: 'Inter', system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Outfit', system-ui, sans-serif; }

.hero-gradient {
    background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 50%, #ef4444 100%);
}

.card-hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.glass-effect {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.text-gradient {
    background: linear-gradient(135deg, #dc2626, #ef4444, #f87171);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.pulse-dot {
    animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}
.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.search-glow:focus-within {
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2), 0 0 30px rgba(239, 68, 68, 0.1);
}

.state-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #dc2626, #f87171);
    border-radius: 8px 8px 0 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.state-card:hover::before {
    opacity: 1;
}

/* Rich text content from WYSIWYG editor */
.rich-text p { margin-bottom: 1.25rem !important; }
.rich-text h2 { font-size: 1.25rem !important; font-weight: 700 !important; margin: 1.5rem 0 0.75rem !important; font-family: 'Outfit', system-ui, sans-serif; line-height: 1.3 !important; }
.rich-text h3 { font-size: 1.1em !important; font-weight: 600 !important; margin: 1em 0 0.5em !important; font-family: 'Outfit', system-ui, sans-serif; }
.rich-text h4 { font-size: 1em !important; font-weight: 600 !important; margin: 0.8em 0 0.4em !important; font-family: 'Outfit', system-ui, sans-serif; }
.rich-text ul, .rich-text ol { padding-left: 1.5em !important; margin-bottom: 1em !important; }
.rich-text ul { list-style-type: disc !important; }
.rich-text ol { list-style-type: decimal !important; }
.rich-text li { margin-bottom: 0.3em !important; }
.rich-text a { color: #dc2626 !important; text-decoration: underline !important; }
.rich-text a:hover { color: #b91c1c !important; }
.rich-text strong, .rich-text b { font-weight: 700 !important; }
.rich-text em, .rich-text i { font-style: italic !important; }
.rich-text u { text-decoration: underline !important; }
.rich-text blockquote { border-left: 3px solid #d1d5db !important; padding-left: 1em !important; margin: 1em 0 !important; color: #6b7280 !important; font-style: italic !important; }
.rich-text hr { border: none !important; border-top: 1px solid #e5e7eb !important; margin: 1.2em 0 !important; }
