
:root{
  --bg: #ffffff;
  --ink: #1f2937;
  --muted: #6b7280;
  --primary: #4f46e5;          /* Ajusta a tu paleta corporativa */
  --surface: #f8fafc;
  --border: #e5e7eb;
  --radius: 16px;
  --shadow: 0 8px 28px rgba(0,0,0,.06);
  --maxw: 1040px;
}
.section-title h2{
    padding-top: 25px;
}
.lead{
  margin:.25rem 0 1rem;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding: 18px 30px 40px;
  max-width: 100% !important;
}
.note{
  margin:20px 0 0 !important;
  border-left:4px solid var(--primary);
  background:#fff;
  padding:12px 14px;
  border-radius:8px;
  max-width: 100% !important;
}

/* TOC */
.toc{position:sticky; top:0; background:#fff; border-bottom:1px solid var(--border); z-index:10}
.toc .wrap{max-width:var(--maxw);margin:0 auto;padding:14px 24px}
.toc h2{margin:0 0 .5rem; font-size:14px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em}
.toc ol{list-style:none; display:flex; flex-wrap:wrap; gap:8px 14px; padding:0; margin:0}
.toc a{
  display:inline-block; padding:6px 10px; border-radius:999px;
  border:1px solid var(--border); text-decoration:none; color:var(--ink);
  transition:all .15s ease;
}
.toc a:hover{border-color:var(--primary); box-shadow:0 2px 10px rgba(79,70,229,.12)}

/* Content */
.wrap{max-width:var(--maxw);margin:0 auto;padding:24px}
.content .doc-section{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px 20px;
  margin:18px 0;
  box-shadow:var(--shadow);
}
.content h2{margin:0 0 .5rem; font-size: clamp(18px, 2.6vw, 24px)}
.content p, .content li{font-size:16px}
.content ul, .content ol{padding-left:20px}
.content a{color:var(--primary); text-decoration:none}
.content a:hover{text-decoration:underline}
.muted{color:var(--muted)}

.back-top{
  text-align:center; margin:24px 0 8px;
}
.back-top a{
  text-decoration:none; border:1px solid var(--border);
  padding:8px 12px; border-radius:999px;
  transition:all .15s ease; color:var(--ink);
}
.back-top a:hover{border-color:var(--primary); box-shadow:0 2px 10px rgba(79,70,229,.12)}

/* Footer */
.site-footer{border-top:1px solid var(--border); background:#fff}
.site-footer .wrap{max-width:var(--maxw);margin:0 auto;padding:18px 24px}
.site-footer small{color:var(--muted)}

/* Print (multi-página) */
@media print{
  .toc, .site-footer { display:none !important; }
  .site-header{ background:#fff; border:none }
  .wrap{max-width:unset; padding:0 0 12px}
  .content .doc-section{
    border:none; box-shadow:none; padding:0 0 12px; margin:0 0 18px;
    page-break-inside: avoid;
  }
  h2{page-break-after: avoid}
}
