/* ============================================================
   NetCash MX — sistema de diseño
   Paleta BBVA + neutros de lectura. Mobile first.
   ============================================================ */

:root{
  --navy:#041E42;
  --blue:#004481;
  --blue-2:#1973B8;
  --teal:#48AEAE;
  --gold:#F8CD51;
  --bg:#F4F7FA;
  --ink:#0B1B2B;
  --body:#2C3E4F;
  --muted:#5A6B7C;
  --line:#DCE5EE;
  --white:#fff;
  --radius:12px;
  --radius-lg:16px;
  --shadow:0 1px 2px rgba(4,30,66,.06),0 8px 24px rgba(4,30,66,.05);
  --maxw:1120px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.65;
  color:var(--body);
  background:var(--white);
}

img,svg{max-width:100%;display:block}
a{color:var(--blue-2);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,h4{color:var(--navy);margin:0 0 .5em;line-height:1.22;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(1.75rem,4.4vw,2.6rem)}
h2{font-size:clamp(1.3rem,2.6vw,1.75rem)}
h3{font-size:1.0625rem;font-weight:600}
p{margin:0 0 1em}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:760px}

.skip{
  position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
  padding:12px 18px;z-index:99;border-radius:0 0 8px 0;
}
.skip:focus{left:0}

/* ---------- Barra superior ---------- */
.topbar{background:var(--navy);color:#fff;font-size:.75rem;padding:7px 0;letter-spacing:.02em}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.topbar a{color:var(--gold)}
.topbar a:hover{text-decoration:none;opacity:.85}

/* ---------- Cabecera ---------- */
.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}

.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.0625rem;color:var(--navy);letter-spacing:-.02em}
.logo:hover{text-decoration:none}
.logo__mark{
  width:34px;height:34px;border-radius:9px;background:var(--blue);color:#fff;
  display:grid;place-items:center;font-size:.875rem;font-weight:700;flex:none;
}
.logo__txt small{display:block;font-size:.625rem;font-weight:500;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;line-height:1.3}

.nav{display:flex;gap:18px;font-size:.875rem;font-weight:500;flex-wrap:wrap}
.nav a{color:var(--muted)}
.nav a:hover{color:var(--blue-2);text-decoration:none}
.nav a[aria-current="page"]{color:var(--blue);font-weight:600}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:9px;
  font-size:.9375rem;font-weight:600;border:1px solid transparent;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;text-align:center;
}
.btn:hover{text-decoration:none}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:#00335f}
.btn--ghost{background:#fff;color:var(--navy);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--blue-2);color:var(--blue)}
.btn--onDark{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.32)}
.btn--onDark:hover{background:rgba(255,255,255,.18);text-decoration:none}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(155deg,#041E42 0%,#06305F 55%,#0A4A8A 100%);
  color:#fff;padding:48px 0 44px;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-70px;top:-70px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(72,174,174,.35),transparent 65%);
}
.hero h1{color:#fff;max-width:20ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero__lead{max-width:56ch;color:rgba(255,255,255,.84);font-size:1rem}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

.crumbs{font-size:.75rem;color:rgba(255,255,255,.62);margin-bottom:14px}
.crumbs ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.crumbs li+li::before{content:"›";margin-right:8px;color:rgba(255,255,255,.4)}
.crumbs a{color:rgba(255,255,255,.75)}
.crumbs [aria-current]{color:#fff}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;font-size:.75rem;padding:0;list-style:none}
.chips li{border:1px solid rgba(255,255,255,.26);border-radius:99px;padding:5px 12px;color:rgba(255,255,255,.86)}

/* ---------- Secciones ---------- */
.section{padding:44px 0;border-bottom:1px solid var(--line)}
.section--alt{background:var(--bg)}
.kicker{
  font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-2);margin-bottom:8px;
}

.answer{
  border-left:3px solid var(--teal);background:var(--bg);border-radius:0 var(--radius) var(--radius) 0;
  padding:16px 18px;margin:16px 0;
}
.answer strong{color:var(--navy)}

.note{
  background:#FDF7E3;border:1px solid #F0E0A8;border-radius:var(--radius);
  padding:14px 16px;font-size:.875rem;color:#5B4A15;margin-top:18px;
}
.note strong{color:#3D3109}

/* ---------- Rejillas y tarjetas ---------- */
.grid{display:grid;gap:14px;margin-top:20px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.card{
  border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;
}
.card h3{margin-bottom:6px;font-size:.9375rem}
.card p{font-size:.875rem;color:var(--muted);margin:0}
.card__ico{
  width:32px;height:32px;border-radius:8px;background:#EAF1F8;display:grid;place-items:center;
  margin-bottom:12px;color:var(--blue);flex:none;
}
.card__ico svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Pasos ---------- */
.steps{list-style:none;counter-reset:s;margin:20px 0 0;padding:0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:12px}
.steps li::before{
  content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;
  display:grid;place-items:center;font-size:.8125rem;font-weight:600;
}
.steps strong{display:block;color:var(--navy)}

/* ---------- Lista de requisitos ---------- */
.reqs{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.reqs li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:.9375rem}
.reqs li::before{content:"✓";color:var(--teal);font-weight:700;font-size:.8125rem;line-height:1.7}

/* ---------- Tablas ---------- */
.tablewrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;margin-top:18px}
table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:420px}
th{background:var(--bg);text-align:left;padding:10px 14px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
td{padding:12px 14px;border-top:1px solid var(--line);color:var(--body)}
td:last-child{white-space:nowrap;font-weight:600;color:var(--navy)}
caption{caption-side:bottom;text-align:left;padding:10px 14px;font-size:.75rem;color:var(--muted)}

/* ---------- Enlaces en rejilla ---------- */
.linkgrid{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px;padding:0;list-style:none}
.linkgrid a{
  display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border:1px solid var(--line);
  border-radius:9px;color:var(--blue);font-weight:500;font-size:.9375rem;background:#fff;
}
.linkgrid a:hover{border-color:var(--blue-2);background:#F7FAFD;text-decoration:none}
.linkgrid a span{color:var(--muted)}

/* ---------- Acordeón ---------- */
.faq details{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-top:10px;background:#fff}
.faq summary{font-weight:600;font-size:.9375rem;cursor:pointer;color:var(--navy);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--blue-2);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{font-size:.9375rem;color:var(--muted);margin:10px 0 0}

/* ---------- Aviso CTA ---------- */
.ctaband{background:var(--navy);color:#fff;padding:40px 0}
.ctaband h2{color:#fff}
.ctaband p{color:rgba(255,255,255,.8);margin-bottom:0}

/* ---------- Pie ---------- */
.site-footer{background:var(--navy);color:#fff;padding:40px 0 24px;font-size:.8125rem}
.site-footer__cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.site-footer h2{font-size:.6875rem;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.5);margin-bottom:10px;font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer a{display:block;color:rgba(255,255,255,.78);padding:4px 0}
.site-footer a:hover{color:var(--gold);text-decoration:none}
.site-footer__legal{
  border-top:1px solid rgba(255,255,255,.14);margin-top:26px;padding-top:16px;
  font-size:.6875rem;color:rgba(255,255,255,.5);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
}

/* ---------- Utilidades ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mt-0{margin-top:0}
.center{text-align:center}

@media (max-width:720px){
  .nav{font-size:.8125rem;gap:14px}
  .hero{padding:34px 0 32px}
  .section{padding:34px 0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

@media print{
  .site-header,.topbar,.ctaband,.site-footer{display:none}
}