*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --negro: #111;
  --negro2: #1a1a1a;
  --rojo: #d42b2b;
  --rojo-dark: #a31e1e;
  --oro: #c8961a;
  --oro-light: #f0b429;
  --blanco: #ffffff;
  --crema: #f8f5f0;
  --gris: #777;
  --gris2: #e0dbd4;
  --texto: #1a1a1a;
}
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: var(--blanco); color: var(--texto); overflow-x: hidden; }

.section-kicker { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rojo); margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.section-kicker::before { content: ''; width: 28px; height: 2px; background: var(--rojo); }

.btn-red { background: var(--rojo); color: #fff; font-weight: 600; font-size: 0.88rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.95rem 2.2rem; border-radius: 2px; border: none; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s, transform 0.15s; }
.btn-red:hover { background: var(--rojo-dark); transform: translateY(-2px); }
.btn-ghost-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.4); font-weight: 500; font-size: 0.88rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.95rem 2.2rem; border-radius: 2px; cursor: pointer; text-decoration: none; display: inline-block; transition: border-color 0.2s, transform 0.15s; }
.btn-ghost-white:hover { border-color: #fff; transform: translateY(-2px); }

@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-8px); } }
