/* Estilos que Tailwind no expresa como utility classes: overrides con
   !important sobre .prose (contenido markdown), keyframes, y la
   revelación por scroll (.fade-up) que public/js/app.js activa vía
   IntersectionObserver (initVisualHooks). Extraído del <style> inline que
   vivía en index.template.html — HTML es solo markup (04_CONVENCIONES.md). */

body {
    background-color: #000000;
    color: #e2e2e2;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.mesh-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.4;
    pointer-events: none;
}

/* Marquee (logos de patrocinadores, etc.) */
@keyframes scroll-x {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 1rem)); }
}
.animate-scroll-x { animation: scroll-x 20s linear infinite; }
.hover-pause:hover { animation-play-state: paused; }

/* Tipografía editorial de posts (contenido markdown renderizado) */
.prose h1, .prose h2, .prose h3, .prose h4 {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-top: 2em !important;
    margin-bottom: 1em !important;
    line-height: 1.5 !important;
}
.prose p {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.125rem !important; /* 18px */
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #cfc4c5 !important;
    margin-bottom: 1.5em !important;
}
.prose ul, .prose ol {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #cfc4c5 !important;
}
.prose code, .prose pre {
    font-family: 'IBM Plex Mono', monospace !important;
}
.prose strong { font-weight: 500 !important; color: #ffffff !important; }
.section-title { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700; }

/* Nav y botones */
nav a, .btn, button, .font-label-caps { font-family: 'Inter', sans-serif !important; font-weight: 600; }
