.legal-cabeza{
  background:linear-gradient(180deg, var(--papel-alto) 0%, var(--papel) 100%);
  border-bottom:1px solid var(--linea);
  padding:clamp(40px,5vw,64px) 0 clamp(32px,4vw,44px);
}
.ceja{
  font-family:var(--dato); font-size:11.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  color:var(--azul); display:flex; align-items:center; gap:11px; margin-bottom:18px;
}
.ceja::before{content:""; width:26px; height:2px; background:var(--azul); border-radius:2px}
.legal-cabeza h1{font-size:clamp(30px,4vw,46px); font-weight:800; max-width:22ch}
.legal-meta{
  margin:16px 0 0; font-family:var(--dato); font-size:12.5px; letter-spacing:.04em; color:var(--tinta-tenue);
  display:flex; flex-wrap:wrap; gap:8px 18px;
}
.legal-meta:empty{display:none}

.legal-cuerpo{padding:clamp(28px,4vw,56px) 0 clamp(64px,8vw,110px)}
.legal-rejilla{display:grid; grid-template-columns:minmax(0,1fr); gap:28px}
@media (min-width:980px){.legal-rejilla{grid-template-columns:260px minmax(0,1fr); gap:clamp(40px,6vw,88px); align-items:start}}

.legal-indice{position:relative}
@media (min-width:980px){.legal-indice{position:sticky; top:92px}}
.legal-indice summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:var(--dato); font-size:11.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--tinta-tenue);
  padding:12px 0; border-bottom:1px solid var(--linea);
}
.legal-indice summary::-webkit-details-marker{display:none}
.legal-indice summary svg{transition:transform .2s var(--curva)}
.legal-indice[open] summary svg{transform:rotate(180deg)}
@media (min-width:980px){.legal-indice summary{pointer-events:none; border-bottom:0; padding-bottom:6px} .legal-indice summary svg{display:none}}
.legal-indice ol{list-style:none; margin:0; padding:8px 0 0; display:grid; gap:2px; max-height:calc(100vh - 170px); overflow:auto}
.legal-indice li a{
  display:grid; grid-template-columns:26px minmax(0,1fr); gap:6px; align-items:baseline;
  padding:6px 8px; border-radius:8px; font-size:14px; line-height:1.35; color:var(--tinta-media); text-decoration:none;
  border-left:2px solid transparent;
}
.legal-indice li a:hover{color:var(--azul); background:color-mix(in srgb,var(--azul) 6%,transparent)}
@media (max-width:979px){.legal-indice li a{min-height:42px; align-items:center; padding:8px 10px}}
.legal-indice li a.activo{color:var(--tinta); font-weight:600; border-left-color:var(--azul); border-radius:0 8px 8px 0}
.legal-indice .legal-n{font-family:var(--dato); font-size:11.5px; color:var(--azul); text-align:right}

.legal-texto{max-width:68ch; font-size:16.5px; line-height:1.7; color:var(--tinta)}
.legal-texto p{margin:0 0 1.1em}
.legal-texto h2{
  font-size:clamp(20px,2vw,24px); font-weight:700; letter-spacing:-.02em; line-height:1.2;
  margin:2.2em 0 .8em; padding-top:.6em; border-top:1px solid var(--linea); scroll-margin-top:96px;
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:baseline;
}
.legal-texto h2:first-child{margin-top:0; padding-top:0; border-top:0}
.legal-texto h2 .legal-n{font-family:var(--dato); font-size:13px; font-weight:500; color:var(--azul); letter-spacing:.04em}
.legal-texto h3{font-size:17.5px; font-weight:700; margin:1.6em 0 .5em; display:flex; gap:10px; align-items:baseline}
.legal-texto h3 .legal-n{font-family:var(--dato); font-size:12px; font-weight:500; color:var(--azul)}
.legal-lista{list-style:none; margin:0 0 1.2em; padding:0; display:grid; gap:7px}
.legal-lista li{position:relative; padding-left:22px}
.legal-lista li::before{content:""; position:absolute; left:2px; top:.72em; width:10px; height:2px; border-radius:2px; background:var(--azul); opacity:.75}
.legal-lista li b{font-weight:600}
.legal-texto a{color:var(--azul); text-decoration-thickness:1px; text-underline-offset:3px}

.legal-otros{margin-top:clamp(40px,5vw,64px); padding-top:28px; border-top:1px solid var(--linea)}
.legal-otros h2{font-size:15px; font-weight:700; margin:0 0 12px; padding:0; border:0; display:block; letter-spacing:0}
.legal-otros ul{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.legal-otros li a{
  display:inline-block; padding:9px 14px; border-radius:999px; border:1.5px solid var(--linea-fuerte); background:var(--papel-alto);
  font-size:14px; font-weight:600; color:var(--tinta); text-decoration:none; transition:border-color .18s var(--curva), color .18s var(--curva);
}
.legal-otros li a:hover{border-color:var(--azul); color:var(--azul)}
.legal-otros p{font-size:14.5px; color:var(--tinta-media); margin:0}
.legal-otros ul:empty{display:none}
