:root{--ink:#0A0F1C;--ink-2:#121A2E;--slate:#5B6478;--line:#E4E8F0;--paper:#F7F8FB;--signal:#2EE6A8;--signal-d:#16C995}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Sora,Inter,sans-serif;letter-spacing:-.02em;line-height:1.2}
a{color:var(--signal-d)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Encabezado */
header{background:var(--ink);padding:20px 0;position:sticky;top:0;z-index:5}
header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
header a.back{color:#C9D0DE;font-size:14px;text-decoration:none;border:1px solid rgba(255,255,255,.18);padding:8px 16px;border-radius:999px;transition:.2s}
header a.back:hover{color:var(--signal);border-color:var(--signal)}

/* Portada de la página legal */
.hero{background:var(--ink);color:#fff;padding:48px 0 64px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 300px at 85% 20%,rgba(46,230,168,.14),transparent 70%)}
.hero .wrap{position:relative}
.eyebrow{font:600 12px/1 Sora,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--signal)}
.hero h1{font-size:clamp(30px,4.4vw,48px);margin:16px 0 12px;max-width:760px}
.meta{color:#AEB7C9;font-size:14px}
.meta .todo{color:var(--ink)}

/* Cuerpo: índice + contenido */
main{padding:0 0 80px}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;margin-top:-32px;position:relative}
.toc{position:sticky;top:96px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 14px}
.toc b{display:block;font:600 11px Sora,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);padding:0 8px 10px}
.toc a{display:block;padding:7px 10px;border-radius:10px;font-size:13.5px;line-height:1.35;color:var(--slate);text-decoration:none;transition:.15s}
.toc a:hover{background:var(--paper);color:var(--ink)}
.toc a.on{background:rgba(46,230,168,.14);color:var(--ink);font-weight:600}
article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px 48px}

/* Resumen inicial */
.resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.resumen div{background:var(--paper);border-radius:14px;padding:16px 18px}
.resumen b{display:block;font:600 14px Sora,sans-serif;margin-bottom:4px}
.resumen span{font-size:13.5px;color:var(--slate);line-height:1.5;display:block}

/* Contenido */
h2{font-size:20px;margin:40px 0 12px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:110px}
.resumen+h2,article>h2:first-child{border-top:0;padding-top:16px;margin-top:20px}
p,li{color:#2A3245;font-size:15.5px}
p+p,ul+p,ol+p,table+p{margin-top:14px}
ul,ol{padding-left:22px;margin-top:10px;display:grid;gap:6px}
li::marker{color:var(--signal-d)}
table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;font-size:15px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
td{border-bottom:1px solid var(--line);padding:12px 16px;vertical-align:top}
tr:last-child td{border-bottom:0}
td:first-child{background:var(--paper);font-weight:600;width:36%}
.todo{background:#FFF4CC;padding:0 4px;border-radius:4px}
.note{background:var(--paper);border-left:3px solid var(--signal);padding:14px 18px;border-radius:0 10px 10px 0;margin-top:28px;font-size:14.5px}

/* Pie */
footer{background:var(--ink);color:#8F99AD;padding:28px 0;font-size:14px}
footer a{color:#C9D0DE!important}

@media (max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr);margin-top:-24px}
  .toc{position:static;display:flex;gap:6px;overflow-x:auto;padding:10px;border-radius:14px}
  .toc b{display:none}
  .toc a{white-space:nowrap;flex:none}
  article{padding:28px 22px}
  .resumen{grid-template-columns:1fr}
}
@media (max-width:560px){.wrap{padding:0 16px}td{display:block;width:100%!important}td:first-child{border-bottom:0}header a.back{padding:6px 12px;font-size:13px}}
