:root{
  --ink:#1C1917; --surface:#F7F7F5; --card:#fff; --amber:#F59E0B; --amber-d:#D97706;
  --accent:#B45309; --emerald:#047857; --border:#E7E5E4; --neutral:#78716C;
  --wrap:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);background:var(--surface);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.center{text-align:center}
.hl{color:var(--amber-d)}
.kicker{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.kicker-light{color:var(--amber)}
h1{font-size:clamp(40px,7vw,76px);font-weight:700;line-height:1.03;letter-spacing:-.02em}
h2{font-size:clamp(28px,4.2vw,46px);font-weight:700;line-height:1.08;letter-spacing:-.015em;margin-bottom:14px}
h3{font-size:19px;font-weight:600;margin-bottom:8px}
.lead{font-size:clamp(17px,2.1vw,21px);color:#44403c;max-width:640px;margin-top:22px}
.section-lead{font-size:17px;color:var(--neutral);max-width:640px;margin-bottom:34px}
.on-ink{color:var(--surface)} .on-ink-dim{color:#d6d3d1}

/* ── Botones ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:13px 22px;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--amber);color:var(--ink);box-shadow:0 6px 0 var(--amber-d)}
.btn-primary:hover{box-shadow:0 8px 0 var(--amber-d)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-ghost{border-color:var(--border);background:var(--card)}
.btn-ink{background:var(--ink);color:var(--surface)}
.btn-block{width:100%;justify-content:center;font-size:16px;padding:15px}

/* ── Nav ── */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:rgba(247,247,245,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px}
.brand img{border-radius:8px}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:500;font-size:15px}
.nav-links a:not(.btn):hover{color:var(--accent)}
@media(max-width:640px){.nav-links a:not(.btn){display:none}}

/* ── Hero ── */
.hero{padding:72px 0 64px;background:radial-gradient(120% 90% at 100% 0%,#FEF3C7 0%,var(--surface) 55%)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-stats{display:flex;flex-wrap:wrap;gap:40px;margin-top:52px;padding-top:32px;border-top:2px solid var(--ink)}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats b{font-family:'IBM Plex Mono',monospace;font-size:34px;font-weight:600;line-height:1}
.hero-stats span{font-size:13px;color:var(--neutral);margin-top:6px}

/* ── Bloques ── */
.block{padding:76px 0}
.block-light{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.block-ink{background:var(--ink)}
.block-amber{background:linear-gradient(135deg,var(--amber),var(--amber-d))}
.block-amber h2,.block-amber p{color:var(--ink)}
.block-amber .btn-ink:hover{box-shadow:0 8px 0 rgba(0,0,0,.25)}
.block-amber .center .btn{margin-top:8px}

/* ── Tabla comparador ── */
.table-wrap{overflow-x:auto;border:2px solid var(--ink);border-radius:16px}
table.rates{width:100%;border-collapse:collapse;min-width:560px;background:var(--card)}
table.rates th,table.rates td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--border)}
table.rates thead th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral);background:var(--surface)}
table.rates tbody tr:last-child td{border-bottom:none}
table.rates tbody tr:hover{background:#FFFBEB}
.num{text-align:right}
td.rate-cell{text-align:right;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:20px;color:var(--emerald)}
.inst{display:flex;align-items:center;gap:10px;font-weight:600}
.dot{width:22px;height:22px;border-radius:7px;flex:0 0 auto}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:#57534e}
.loading{text-align:center;color:var(--neutral);padding:36px}
.fineprint{font-size:12.5px;color:var(--neutral);margin-top:16px}
@media(max-width:640px){.hide-sm{display:none}}

/* ── Simulador ── */
.sim{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:10px}
@media(max-width:860px){.sim{grid-template-columns:1fr}}
.sim-form{background:var(--card);border-radius:18px;padding:26px}
.field{display:block;margin-bottom:22px}
.field>span{display:block;font-weight:600;font-size:14px;margin-bottom:10px}
.amount{display:flex;align-items:center;gap:6px;border:2px solid var(--ink);border-radius:12px;padding:10px 14px;background:var(--surface)}
.amount .cur{font-weight:700;font-size:20px}
.amount input{border:none;background:transparent;font-family:'IBM Plex Mono',monospace;font-size:24px;font-weight:600;width:100%;outline:none;color:var(--ink)}
.amount .mxn{font-size:13px;color:var(--neutral);font-weight:600}
.choices{display:flex;flex-direction:column;gap:8px}
.choice{text-align:left;padding:13px 16px;border-radius:11px;border:2px solid var(--border);background:var(--card);font-weight:500;cursor:pointer;transition:all .15s}
.choice:hover{border-color:var(--neutral)}
.choice.active{border-color:var(--amber);background:#FFFBEB;font-weight:600}
.sim-result{background:var(--card);border-radius:18px;padding:26px;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.result-hero{text-align:center;padding:18px 0 22px;border-bottom:1px solid var(--border);margin-bottom:20px}
.result-hero span{display:block;font-size:14px;color:var(--neutral)}
.result-hero strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:44px;font-weight:600;color:var(--emerald);line-height:1.1;margin:4px 0}
.alloc{display:flex;flex-direction:column;gap:14px}
.alloc-row .r-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}
.alloc-row .r-top b{font-weight:600}
.alloc-row .bar{height:9px;border-radius:999px;background:var(--surface);overflow:hidden}
.alloc-row .bar>i{display:block;height:100%;border-radius:999px}
.teaser{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;margin-top:24px;padding:18px;border-radius:14px;background:var(--ink);color:var(--surface)}
.teaser b{font-size:16px}
.teaser p{font-size:13.5px;color:#d6d3d1;margin-top:2px;max-width:320px}
.sim-disclaimer{font-size:12px;color:var(--neutral);line-height:1.5;margin-top:16px;border-top:1px solid var(--border);padding-top:12px}
.sim-disclaimer b{color:var(--ink)}

/* ── Cómo funciona ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
@media(max-width:860px){.grid-3{grid-template-columns:1fr}}
.feat{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}
.feat p{color:var(--neutral);font-size:15px}

/* ── Footer ── */
.footer{background:var(--ink);color:#d6d3d1;padding:52px 0}
.footer-in{display:flex;flex-direction:column;gap:12px}
.footer .brand{color:var(--surface)}
.footer .fineprint{color:#a8a29e;max-width:640px}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.btn:hover{transform:none}}
