/* V20 legal pages: sober long-form reading surface, scoped to this legal pair. */
.v20-legal { width: 100%; min-width: 0; overflow: clip; background: var(--lt-crema); color: var(--lt-tinta); font-family: var(--font-body); }
.v20-legal :where(header, section, article, nav, div, address) { min-width: 0; }
.v20-legal :where(h1, h2, h3, p, ol, ul) { margin-top: 0; }
.v20-legal-hero { padding-block: clamp(3rem, 8vw, 6rem); background: var(--lt-noche); color: var(--lt-crema); }
.v20-legal-hero__inner { max-width: calc(var(--wrap-text) + (2 * var(--gutter))); }
.v20-legal-hero h1 { max-width: 18ch; margin-bottom: var(--sp-5); color: var(--lt-crema); }
.v20-legal-hero__lead { max-width: var(--measure); margin-bottom: 0; color: var(--lt-crema-soft); font-size: var(--fs-body-lg); }
.v20-legal-breadcrumbs { margin-bottom: var(--sp-6); font-size: var(--fs-caption); }
.v20-legal-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem .65rem; padding: 0; margin-bottom: 0; list-style: none; }
.v20-legal-breadcrumbs li + li::before { margin-right: .65rem; color: var(--lt-marigold-bright); content: "·"; }
.v20-legal-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lt-crema); }
.v20-legal-breadcrumbs [aria-current="page"] { color: var(--lt-crema-soft); }
.v20-legal-content { padding-block: clamp(2.5rem, 7vw, 6rem); }
.v20-legal-content__layout { display: grid; gap: var(--sp-7); max-width: calc(var(--measure) + (2 * var(--gutter))); }
.v20-legal-toc { padding: var(--sp-5); border: var(--bw-hair); border-radius: var(--r-card); background: var(--lt-blanco); }
.v20-legal-toc p { margin-bottom: var(--sp-3); color: var(--lt-ink-soft); font-size: var(--fs-label); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.v20-legal-toc ol { display: grid; gap: var(--sp-2); padding-left: 1.2em; margin-bottom: 0; }
.v20-legal-toc a { color: var(--lt-rosa-deep); font-size: var(--fs-caption); font-weight: 700; overflow-wrap: anywhere; }
.v20-legal-prose { width: 100%; max-width: 65ch; color: var(--lt-tinta); font-size: var(--fs-body); line-height: 1.65; }
.v20-legal-prose__intro { margin-bottom: var(--sp-6); color: var(--lt-ink-soft); font-size: var(--fs-body-lg); }
.v20-legal-prose__section { scroll-margin-top: calc(var(--v20-header-h) + var(--sp-5)); }
.v20-legal-prose__section + .v20-legal-prose__section { margin-top: var(--sp-7); }
.v20-legal-prose h2, .v20-legal-prose h3 { color: var(--lt-tinta) !important; font-family: var(--font-body) !important; font-style: normal !important; font-weight: 700 !important; letter-spacing: normal !important; text-transform: none !important; }
.v20-legal-prose h2 { margin-bottom: var(--sp-3) !important; font-size: var(--fs-article-h2) !important; line-height: 1.25 !important; }
.v20-legal-prose h3 { margin-bottom: var(--sp-3) !important; font-size: var(--fs-article-h3) !important; line-height: 1.35 !important; }
.v20-legal-prose :where(p, ul, ol, address) { margin-bottom: var(--sp-5); }
.v20-legal-prose :where(ul, ol) { display: grid; gap: var(--sp-2); padding-inline-start: 1.25em; }
.v20-legal-prose li::marker { color: var(--lt-rosa-deep); font-weight: 700; }
.v20-legal-prose address { padding: var(--sp-4); border: var(--bw-hair); font-style: normal; overflow-wrap: anywhere; }
.v20-legal-prose a { color: var(--lt-rosa-deep); font-weight: 700; overflow-wrap: anywhere; }
.v20-legal-nap { display: grid; gap: var(--sp-5); margin-top: var(--sp-5); padding: var(--sp-5); border: var(--bw-hair); border-radius: var(--r-card); background: var(--lt-blanco); }
.v20-legal-nap :where(address, p) { margin: 0; }
@media (min-width: 1024px) { .v20-legal-content__layout { grid-template-columns: minmax(16rem, 20rem) minmax(0, 65ch); max-width: calc(65ch + 20rem + var(--sp-7) + (2 * var(--gutter))); } .v20-legal-toc { position: sticky; top: calc(var(--v20-header-h) + var(--sp-4)); align-self: start; } }
@media (max-width: 389px) { .v20-legal-toc, .v20-legal-nap { padding: var(--sp-4); } }
