/* Estilo de los documentos legales: el mismo lenguaje que la landing
   (conoce/), pensado para leerse largo y para imprimirse. */
@font-face{
  font-family:'Inter';
  src:url('conoce/fuentes/inter-opsz.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
:root{
  --blanco:#ffffff; --tinta:#000000; --carbon:#171717; --granito:#5e5e5e; --pizarra:#6e6e73;
  --niebla:#d2d2d7; --linea:#e8e8ed; --gris-sup:#f5f5f7; --lavado:#e3eeff; --senal:#3b82f6;
  --fuente:'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:84px; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{ margin:0; background:var(--blanco); color:var(--carbon); font-family:var(--fuente); font-size:15.5px; line-height:1.7;
  font-optical-sizing:auto; -webkit-font-smoothing:antialiased; }
[hidden]{ display:none !important; }
a{ color:var(--carbon); text-decoration:underline; text-decoration-color:var(--niebla); text-underline-offset:3px; }
a:hover{ text-decoration-color:var(--carbon); }
:focus-visible{ outline:2px solid var(--senal); outline-offset:3px; border-radius:4px; }

.cab{ position:sticky; top:0; z-index:10; background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px); border-bottom:1px solid var(--linea); }
.cab .envoltura{ display:flex; align-items:center; justify-content:space-between; height:60px; }
.marca{ display:inline-flex; align-items:baseline; gap:1px; font-weight:700; font-size:18px; letter-spacing:-.04em; color:var(--tinta); text-decoration:none; }
.marca .punto{ width:6px; height:6px; border-radius:50%; background:var(--senal); display:inline-block; }
.cab nav{ display:flex; gap:22px; font-size:13.5px; }
.cab nav a{ text-decoration:none; color:var(--granito); }
.cab nav a:hover, .cab nav a[aria-current="page"]{ color:var(--tinta); }
.envoltura{ max-width:1180px; margin:0 auto; padding:0 24px; }
@media (max-width:720px){ .envoltura{ padding:0 16px; } .cab nav .opcional{ display:none; } }

.portada{ padding:72px 0 48px; border-bottom:1px solid var(--linea); }
.portada .etiqueta{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:500; color:var(--pizarra); margin:0 0 18px; }
.portada h1{ font-size:clamp(42px,7vw,84px); line-height:.95; letter-spacing:-.055em; font-weight:700; color:var(--tinta); margin:0; max-width:14ch; }
.portada .datos{ display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:32px; font-size:13.5px; color:var(--granito); }
.portada .datos b{ color:var(--tinta); font-weight:600; }

.cuerpo{ display:grid; grid-template-columns:260px 1fr; gap:64px; padding:48px 0 96px; }
@media (max-width:960px){ .cuerpo{ grid-template-columns:1fr; gap:0; } }
.indice{ position:sticky; top:84px; align-self:start; max-height:calc(100vh - 110px); overflow:auto; font-size:13px; }
.indice p{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--pizarra); font-weight:600; margin:0 0 12px; }
.indice ol{ list-style:none; margin:0; padding:0; border-left:1px solid var(--linea); }
.indice a{ display:block; padding:6px 0 6px 14px; margin-left:-1px; border-left:1px solid transparent; color:var(--granito); text-decoration:none; line-height:1.4; }
.indice a:hover{ color:var(--tinta); }
.indice a.activo{ color:var(--tinta); border-left-color:var(--tinta); font-weight:500; }
@media (max-width:960px){ .indice{ position:static; max-height:none; border:1px solid var(--linea); border-radius:12px; padding:18px 20px; margin-bottom:40px; }
  .indice ol{ columns:2; column-gap:24px; border-left:0; } .indice a{ padding-left:0; border-left:0; } }
@media (max-width:520px){ .indice ol{ columns:1; } }

.doc{ max-width:720px; }
.doc section{ padding-bottom:12px; }
.doc h2{ font-size:clamp(22px,2.6vw,28px); line-height:1.15; letter-spacing:-.035em; font-weight:700; color:var(--tinta); margin:48px 0 16px; }
.doc section:first-child h2{ margin-top:0; }
.doc h2 .num{ color:var(--pizarra); font-weight:500; margin-right:10px; font-variant-numeric:tabular-nums; }
.doc h3{ font-size:16.5px; letter-spacing:-.015em; font-weight:600; color:var(--tinta); margin:28px 0 8px; }
.doc p{ margin:0 0 14px; }
.doc ul, .doc ol.incisos{ margin:0 0 16px; padding-left:22px; }
.doc li{ margin-bottom:8px; }
.doc ol.incisos{ list-style:lower-roman; }
.doc strong{ color:var(--tinta); font-weight:600; }
.doc .clausula{ font-variant-numeric:tabular-nums; color:var(--pizarra); font-weight:500; margin-right:6px; }
.recuadro{ border:1px solid var(--carbon); border-radius:12px; padding:22px 24px; margin:0 0 40px; }
.recuadro h2{ margin-top:0 !important; font-size:20px !important; }
.recuadro p:last-child{ margin-bottom:0; }
.nota{ background:var(--gris-sup); border-radius:10px; padding:14px 16px; font-size:14px; color:var(--granito); margin:0 0 16px; }
.tabla-def{ width:100%; border-collapse:collapse; margin:0 0 18px; font-size:14.5px; }
.tabla-def th, .tabla-def td{ text-align:left; vertical-align:top; padding:12px 12px 12px 0; border-bottom:1px solid var(--linea); }
.tabla-def th{ width:32%; font-weight:600; color:var(--tinta); }
@media (max-width:560px){ .tabla-def th, .tabla-def td{ display:block; width:100%; padding:10px 0 0; border:0; } .tabla-def td{ padding:2px 0 12px; border-bottom:1px solid var(--linea); } }

.pie{ border-top:1px solid var(--linea); padding:36px 0 48px; font-size:13px; color:var(--pizarra); }
.pie .envoltura{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pie a{ color:var(--granito); text-decoration:none; margin-left:22px; }
.pie a:first-child{ margin-left:0; }
.pie a:hover{ color:var(--tinta); }
.imprimir{ background:none; border:1px solid var(--niebla); border-radius:9999px; padding:8px 16px; font:inherit; font-size:13px; cursor:pointer; color:var(--carbon); }
.imprimir:hover{ border-color:var(--carbon); }

@media print{
  .cab, .indice, .pie, .imprimir{ display:none !important; }
  body{ font-size:10.5pt; line-height:1.5; }
  .portada{ padding:0 0 16pt; }
  .portada h1{ font-size:28pt; }
  .cuerpo{ display:block; padding:16pt 0 0; }
  .doc{ max-width:none; }
  .doc h2{ font-size:14pt; margin:18pt 0 8pt; break-after:avoid; }
  .doc h3{ break-after:avoid; }
  a{ text-decoration:none; }
}
