/* ─────────────────────────────────────────────────────────────────
   site-base.css — la base de la Landing v14 (reset, tipografía,
   botones, nav y footer fijo) para las páginas nuevas que no traen el
   <style> de index.html, como aplicaciones/finanzas.html. Es una copia
   de esas reglas: si cambian en index.html, cambian acá. Encima se
   cargan home-v2-tokens.css y home-v2.css, igual que en la home.
   ───────────────────────────────────────────────────────────────── */
html{font-size:16px}
@media (min-width:1441px){html{font-size:calc(100vw / 90)}}
@media (min-width:901px){html{font-size:clamp(14px,min(100vw / 90,100vh / 56),40px)}}
:root{
  color-scheme:light;
  --deep:#253DE5;--blue:#5A6DF3;--blue-l:#A9B4FF;--mint:#91DFC8;--mint-d:#2FA184;--mint-ink:#16735C;
  --ink:#0B0F14;--paper:#FAFAF7;--amber:#F5A524;--amber-d:#E0901A;--amber-ink:#9A5B0B;--amber-bg:#FEF3E2;
  --fg:#0B0F14;--fg-2:#3D4654;--muted:#6B7280;--line:rgba(11,15,20,.08);--line-2:rgba(11,15,20,.14);
  --card:#FFFFFF;--well:#F6F7FA;--side:#F3F4F8;
  --ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(1rem,4vw,3rem);--max:75rem;
  --shadow:0 0.0625rem 0.125rem rgba(11,15,20,.04),0 1.25rem 2.5rem -1.75rem rgba(11,15,20,.22);
  --navh:4rem;--fh:max(5vh,2.5rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--navh)}
body{background:var(--paper);color:var(--fg);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:var(--fh)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--mint);color:var(--ink)}
:focus-visible{outline:0.125rem solid var(--blue);outline-offset:0.1875rem;border-radius:0.375rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono);font-size:0.71875rem;letter-spacing:.04em}
.eyebrow{display:inline-flex;align-items:center;gap:0.625rem;font:500 0.71875rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--deep)}
.eyebrow::before{content:"";width:1rem;height:0.0625rem;background:currentColor}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
h2{font-size:clamp(1.75rem,3vw,2.5rem)}
h3{font-size:1.125rem;letter-spacing:-.015em;line-height:1.3}
em{font-style:normal;color:var(--deep)}
.lede{font-size:1.0625rem;color:var(--fg-2);max-width:56ch}
.card{background:var(--card);border:0.0625rem solid var(--line);border-radius:1rem;box-shadow:var(--shadow)}
.btn{display:inline-flex;align-items:center;gap:0.5625rem;height:2.875rem;padding:0 1.25rem;border-radius:62.4375rem;font:600 0.90625rem/1 var(--body);white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.btn svg{width:1rem;height:1rem;transition:transform .3s var(--ease)}
.btn-primary{background:var(--deep);color:#fff}
.btn-ghost{border:0.0625rem solid var(--line-2)}
section.block{padding:clamp(4.5rem,9vw,7.5rem) 0}
.head{display:grid;gap:0.875rem;margin-bottom:clamp(2rem,4vw,3.25rem);max-width:45rem}
.head.center{text-align:center;justify-items:center;margin-inline:auto}
.ctas{display:flex;flex-wrap:wrap;gap:0.625rem;margin-top:1.375rem}
.proof{display:flex;flex-wrap:wrap;gap:0.375rem 1.125rem;margin-top:1.25rem;color:var(--muted)}
.proof span{display:flex;align-items:center;gap:0.5rem}
.proof span::before{content:"";width:0.3125rem;height:0.3125rem;border-radius:50%;background:var(--mint-d)}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:#fff!important;border-bottom:1px solid #e5e7eb!important;transition:border-color .3s;animation:navin .7s var(--ease) both}
@keyframes navin{from{transform:translateY(-100%)}}
.nav .wrap{display:flex;align-items:center;height:var(--navh)}
.nav .logo{display:flex;align-items:center;height:1.9rem;padding-right:1.5rem;margin-right:1.5rem;border-right:1px solid #e5e7eb}
.nav .logo img{height:1.3125rem;width:auto}
.nav ul{position:relative;display:flex;gap:.25rem;list-style:none;height:100%;align-items:stretch;font-size:0.875rem;color:var(--fg-2)}
.nav ul li{display:flex}
.nav ul a{position:relative;display:flex;align-items:center;padding:0 .75rem;font-weight:500;color:var(--fg-2);transition:color .25s}
.nav ul a::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:-1px;height:2px;border-radius:2px;background:var(--deep);opacity:.25;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav ul a.on{color:var(--deep)}
.nav ul a:hover,.nav .login:hover{color:var(--fg)}
.nav-act{display:flex;align-items:center;gap:1.1rem;margin-left:auto;padding-left:1.5rem;border-left:1px solid #e5e7eb;height:1.9rem}
.nav .login{font-size:0.875rem;color:var(--fg-2);white-space:nowrap}
.nav .lang{font-weight:600;font-size:0.8125rem;letter-spacing:.04em}
@media (max-width:900px){.nav ul,.nav .login{display:none}.nav .logo{border:0;margin:0;padding:0}.nav-act{border:0;padding:0}}

/* footer fijo, como en la app */
.af{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;height:var(--fh);padding:0 4rem;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #e5e7eb;font:400 12px/1 var(--body);color:rgba(17,24,39,.4)}
.af a{transition:color .2s}
.af a:hover{color:rgba(17,24,39,.7)}
.af-l,.af-r{display:flex;align-items:center;gap:12px;white-space:nowrap;min-width:0}
.af-r{grid-column:3;justify-self:end}
.af-l .soc{display:flex;align-items:center;gap:4px}
.af-l .soc img{width:20px;height:20px;object-fit:cover;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.af-sep{color:#e5e7eb}
@media (max-width:900px){.af{padding:0 .9rem;grid-template-columns:auto 1fr}.af-l .af-sep,.af-l .tl,.af-r{display:none}}

/* CTA final */
.final{text-align:center;padding:clamp(5rem,10vw,8rem) 0}
.final h2{font-size:clamp(1.875rem,3.6vw,3rem);max-width:18ch;margin:1rem auto 0.75rem}
.final .ctas{justify-content:center}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
