/* NUM P-L1.1 — tipografía y estructura para documentos legales públicos. */
.legal-hero{max-width:880px;padding-bottom:29px}
.legal-hero h1{font-size:clamp(2.1rem,5.3vw,3.5rem)}
.legal-hero .solution-lead{font-size:1.05rem;max-width:730px}
.legal-layout{display:grid;grid-template-columns:minmax(175px,228px) minmax(0,1fr);gap:26px;align-items:start}
.legal-index{position:sticky;top:105px;display:flex;flex-direction:column;gap:3px;padding:19px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.legal-index strong{font-size:.75rem;letter-spacing:.045em;text-transform:uppercase;color:#4d514b;margin:0 0 9px}
.legal-index a{display:block;padding:7px 8px;border-radius:8px;font-size:.82rem;color:#626560;line-height:1.25}
.legal-index a:hover,.legal-index a:focus-visible{background:#f1f1ec;color:#151515}
.legal-index .legal-index-related{margin-top:10px;border-top:1px solid #e6e5e1;border-radius:0;padding-top:13px;color:#222;font-weight:750}
.legal-document{min-width:0;padding:30px 36px 38px;background:#fff;border:1px solid var(--line);border-radius:20px}
.legal-updated{margin:0 0 18px;font-size:.76rem;color:#7b7d78;font-weight:700;letter-spacing:.015em}
.legal-document section{scroll-margin-top:110px;padding:23px 0;border-top:1px solid #e9e8e3}
.legal-document section:first-of-type{border-top:none;padding-top:8px}
.legal-document h2{margin:0 0 13px;font-size:clamp(1.18rem,2.8vw,1.45rem);line-height:1.25;letter-spacing:-.025em}
.legal-document p,.legal-document li{font-size:.94rem;line-height:1.74;color:#535750}
.legal-document p+p{margin-top:12px}
.legal-document ul{margin:11px 0;padding-left:22px}
.legal-document li+li{margin-top:8px}
.legal-document a{text-decoration:underline;text-underline-offset:3px;color:#1a3322;overflow-wrap:anywhere}
.legal-document code{font-size:.85em;background:#f5f4f1;padding:2px 5px;border-radius:4px}
.legal-facts{margin:16px 0 0;border:1px solid #e6e5e0;border-radius:12px;overflow:hidden}
.legal-facts div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px;padding:12px 15px}
.legal-facts div+div{border-top:1px solid #ebeae6}
.legal-facts dt{font-size:.8rem;font-weight:760;color:#4a4f48}
.legal-facts dd{min-width:0;margin:0;font-size:.85rem;overflow-wrap:anywhere;color:#626560}
.legal-missing{margin:0 0 18px!important;padding:15px 17px;border:1px solid #ead7a8;border-radius:12px;background:#fffbef;color:#685125!important;font-size:.86rem!important}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr;gap:18px}.legal-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.legal-index strong,.legal-index .legal-index-related{grid-column:1/-1}.legal-document{padding:25px 25px 30px}}
@media(max-width:600px){.legal-hero{padding-bottom:19px}.legal-layout{gap:13px}.legal-index{padding:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-index a{font-size:.76rem}.legal-document{padding:19px 18px 25px;border-radius:15px}.legal-document section{padding:20px 0}.legal-document p,.legal-document li{font-size:.88rem;line-height:1.69}.legal-facts div{grid-template-columns:1fr;gap:3px;padding:12px 13px}}
