/* ============================================================
   base.css — variables, reset, tipografía, utilidades, botones
   ============================================================ */

:root{
  --ink:#0C2748; --ink-2:#123256; --ink-3:#1B4373; --line-dk:rgba(237,242,248,.14);
  --gold:#ED1C24; --gold-deep:#C41219; --mint:#8FB4E6;
  --blue:#3871C1; --blue-deep:#2A5599; --blue-light:#8FB4E6; --bronze:#6F4324; --bronze-light:#B08A5E;
  --paper:#EDF1F7; --paper-2:#F6F8FC; --card:#FFFFFF;
  --slate:#1E2A3A; --muted:#586274; --line:rgba(12,39,72,.12);
  --shadow:0 1px 2px rgba(12,39,72,.06),0 10px 30px -12px rgba(12,39,72,.18);
  --shadow-lg:0 30px 60px -24px rgba(12,39,72,.35);
  --maxw:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--slate);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',sans-serif;line-height:1.05;letter-spacing:-.02em;color:var(--ink);font-weight:700}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-deep)}
.mono{font-family:'IBM Plex Mono',monospace}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:14px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:#FFFFFF;box-shadow:0 8px 20px -8px rgba(237,28,36,.7)}
.btn-gold:hover{background:#FF4149;transform:translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--ink-2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(12,39,72,.03)}
.btn-wa{background:#1FA855;color:#fff}
.btn-wa:hover{background:#17934a;transform:translateY(-2px)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
