
html { scroll-behavior: smooth; }

/* 1. Force 'Outfit' globally across the entire body and all children natively */
body, body *, p, a, button, span, div, li, [class*="canva"] { 
  font-family: 'Outfit', Arial, sans-serif !important; 
}

/* 2. Force 'Playfair Display' on headers and specific elements natively */
.playfair,
.playfair *,
h1.playfair,
h2.playfair,
h3.playfair,
[class*="playfair"],
[class*="playfair"] * {
  font-family: 'Playfair Display', Georgia, serif !important;
}

.nav-gradient { background: linear-gradient(90deg, #ec4899 0%, #d946ef 50%, #f97316 100%); }
.hero-video-container { position: relative; width: 100%; height: calc(100 * min(var(--vh, 1vh), 1vh)); overflow: hidden; }
.hero-video { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; transform: translate(-50%, -50%); object-fit: cover; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.57); }
.warm-gradient { background: linear-gradient(135deg, #fef3e2 0%, #fce7f3 50%, #fff7ed 100%); }
.cta-gradient { background: linear-gradient(135deg, #9333ea 0%, #db2777 50%, #c026d3 100%); }
.sponsors-gradient { background: linear-gradient(135deg, #d4a5ff 0%, #fda4af 50%, #fdba74 100%); }
.luna-gradient { background: linear-gradient(135deg, #fff7ed 0%, #fce7f3 30%, #fef3e2 100%); }
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); }
.scroll-indicator { animation: bounce 2s infinite; }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 60% { transform: translateY(-5px); } }
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: white; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .scroll-indicator { animation: none; } .card-hover, .nav-link::after { transition: none !important; } }
