@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&family=EB+Garamond:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=Outfit:wght@700;800&display=swap');

:root {
  /* Colors */
  --unach-azul: #192d63;
  --unach-azul-profundo: #0a152d;
  --unach-azul-medio: #2a4080;
  --unach-dorado: #d4b012;
  --unach-dorado-light: #f1cc3a;
  --unach-dorado-glow: rgba(212, 176, 18, 0.4);
  
  /* Modern Typography - Academic Pro Max */
  --font-heading: 'EB Garamond', serif;
  --font-body: 'Inter', sans-serif;
  --font-academic: 'Crimson Text', serif;
  
  /* Soft Shadow System */
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-gold: 0 10px 20px -5px rgba(212, 176, 18, 0.3);
  
  /* Snappier Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 600ms cubic-bezier(0.4, 0, 0.2, 1);
  
  /* Spacing */
  --max-width: 1360px;
  --header-height: 80px;
}

/* Reset */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html, body { 
  max-width: 100vw; 
  overflow-x: hidden; 
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}
body { font-family: var(--font-body); color: var(--text-primary); background: var(--bg-primary); line-height: 1.6; position: relative; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
button { cursor: pointer; border: none; background: none; font-family: var(--font-body); }
ul, ol { list-style: none; }

/* Typography */
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 700; line-height: 1.2; }

/* Selection */
::selection { background: var(--unach-dorado); color: var(--unach-azul-profundo); }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--unach-azul-medio); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--unach-azul); }

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@keyframes goldGlow {
  0%, 100% { box-shadow: 0 0 5px var(--unach-dorado-glow); }
  50% { box-shadow: 0 0 20px var(--unach-dorado-glow), 0 0 40px rgba(212,176,18,0.1); }
}

.animate-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
