/* Páginas legales y de transparencia (normatividad, términos, trámites,
   indicadores, neutralidad). Estáticas: no dependen de Next.js ni de Tailwind. */
:root{
  --lg-ink:#0f172a; --lg-text:#475569; --lg-soft:#64748b; --lg-line:#e2e8f0;
  --lg-blue:#2f7bf0; --lg-blue-d:#1d5fd1; --lg-tint:#eef4ff; --lg-bg:#f8fafc;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:#fff; color:var(--lg-text);
  font-family:'DM Sans', ui-sans-serif, system-ui, sans-serif; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; }
.skip-link{ position:absolute; left:-999px; top:0; z-index:100; background:#0b1442; color:#fff; padding:.7rem 1.2rem; }
.skip-link:focus{ left:1rem; top:1rem; }
:focus-visible{ outline:2px solid var(--lg-blue); outline-offset:3px; }
[id]{ scroll-margin-top:6rem; }

/* portada */
.lg-hero{
  position:relative; overflow:hidden; text-align:center; padding:4.2rem 1.25rem 3.4rem;
  background:radial-gradient(ellipse 80% 65% at 50% -15%, #dbe8ff, var(--lg-bg) 62%);
}
.lg-eyebrow{ font-family:'Manrope',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.3em; text-transform:uppercase; color:var(--lg-blue-d); }
.lg-hero h1{
  margin:1rem auto 0; max-width:46rem; font-family:'Manrope',sans-serif; font-weight:800;
  font-size:clamp(1.7rem, 3.4vw, 2.6rem); line-height:1.15; color:var(--lg-ink);
}
.lg-hero p{ margin:1rem auto 0; max-width:40rem; font-size:1.02rem; line-height:1.65; color:var(--lg-soft); }
.lg-stamp{
  display:inline-block; margin-top:1.2rem; padding:.4rem .9rem; border-radius:999px;
  background:var(--lg-tint); border:1px solid #bcd4ff; color:var(--lg-blue-d);
  font-family:'Manrope',sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
}

/* índice de la página */
.lg-index{ max-width:56rem; margin:-1.4rem auto 0; padding:0 1.25rem; position:relative; }
.lg-index-card{
  background:#fff; border:1px solid var(--lg-line); border-radius:1rem; padding:1.2rem 1.3rem;
  box-shadow:0 18px 40px -28px rgba(15,23,42,.45);
}
.lg-index-card p{ margin:0 0 .7rem; font-family:'Manrope',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--lg-soft); }
.lg-index-card ol{ list-style:none; margin:0; padding:0; display:grid; gap:.45rem; grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr)); }
.lg-index-card a{ display:flex; gap:.6rem; align-items:baseline; color:var(--lg-ink); font-weight:600; text-decoration:none; font-size:.94rem; }
.lg-index-card a span{ font-family:'Manrope',sans-serif; font-weight:800; font-size:.74rem; color:var(--lg-blue); min-width:1.6rem; }
.lg-index-card a:hover{ color:var(--lg-blue-d); }

/* cuerpo */
.lg-body{ max-width:52rem; margin:0 auto; padding:2.5rem 1.25rem 4rem; }
.lg-section{ padding-top:2.6rem; margin-top:2.6rem; border-top:1px solid var(--lg-line); }
.lg-section:first-child{ border-top:0; margin-top:0; }
.lg-num{ font-family:'Manrope',sans-serif; font-weight:800; font-size:.8rem; letter-spacing:.2em; color:var(--lg-blue); }
.lg-body h2{ margin:.4rem 0 0; font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(1.35rem, 2.4vw, 1.75rem); line-height:1.25; color:var(--lg-ink); }
.lg-version{ margin:.5rem 0 0; font-size:.8rem; color:var(--lg-soft); }
.lg-body h3{ margin:2rem 0 0; font-family:'Manrope',sans-serif; font-weight:800; font-size:1.06rem; color:var(--lg-ink); }
.lg-body h3 .art{ color:var(--lg-blue); margin-right:.35rem; }
.lg-body p, .lg-body li{ font-size:1rem; line-height:1.75; }
.lg-body p{ margin:.8rem 0 0; }
.lg-body ul, .lg-body ol{ margin:.8rem 0 0; padding-left:1.25rem; display:grid; gap:.35rem; }
.lg-body a{ color:var(--lg-blue-d); font-weight:600; }
.lg-body strong, .lg-body b{ color:var(--lg-ink); }
.lg-note{ margin-top:1rem; padding:1rem 1.1rem; border-left:4px solid var(--lg-blue); background:var(--lg-tint); border-radius:0 .6rem .6rem 0; font-size:.94rem; color:#1e3a8a; }
.lg-warn{ border-left-color:#d97706; background:#fffbeb; color:#78350f; }

.lg-table{ margin-top:1rem; overflow-x:auto; border:1px solid var(--lg-line); border-radius:.8rem; }
.lg-table table{ width:100%; border-collapse:collapse; font-size:.92rem; }
.lg-table th{ text-align:left; background:#1d5fd1; color:#fff; font-family:'Manrope',sans-serif; font-weight:700; padding:.7rem .9rem; }
.lg-table td{ padding:.7rem .9rem; border-top:1px solid var(--lg-line); vertical-align:top; line-height:1.55; }
.lg-table tr:nth-child(even) td{ background:var(--lg-bg); }
.lg-table td:first-child{ font-weight:600; color:var(--lg-ink); }

.lg-meta{ margin-top:2.6rem; padding-top:1.2rem; border-top:1px solid var(--lg-line); font-size:.82rem; color:var(--lg-soft); }

/* bloque «Tu solicitud, clara y atendida» */
.lg-cta{ background:#0b1442; color:rgba(255,255,255,.82); padding:3.4rem 1.25rem; }
.lg-cta-in{ max-width:60rem; margin:0 auto; }
.lg-cta h2{ margin:0; font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(1.4rem,2.6vw,1.9rem); color:#fff; }
.lg-cta > .lg-cta-in > p{ margin:.7rem 0 0; max-width:38rem; line-height:1.65; }
.lg-btn{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:1.3rem; padding:.85rem 1.5rem; border-radius:.65rem;
  background:#2f7bf0; color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:.86rem; text-decoration:none;
}
.lg-btn:hover{ background:#1d5fd1; }
.lg-cards{ display:grid; gap:1rem; margin-top:2rem; grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr)); }
.lg-card{ padding:1.1rem 1.2rem; border-radius:.9rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); }
.lg-card b{ display:block; color:#fff; font-family:'Manrope',sans-serif; font-size:.95rem; }
.lg-card p{ margin:.35rem 0 0; font-size:.88rem; line-height:1.55; }
.lg-card a{ color:#22e4c8; font-weight:700; text-decoration:none; }
.lg-card .step{ font-family:'Manrope',sans-serif; font-weight:800; color:#22e4c8; font-size:.74rem; letter-spacing:.16em; }
.lg-cta h3{ margin:2.4rem 0 0; font-family:'Manrope',sans-serif; font-size:.78rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#22e4c8; }

/* banner de portada (trámites) */
.lg-banner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem;
  max-width:1180px; margin:0 auto; padding:1rem 1.25rem;
}
