/* Scoped document layout; colors follow the shared institutional theme. */
.legal-main { padding: 3rem 0 4rem; color: #1f2937; background: var(--legal-background, #f8fafc); }
.legal-container { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.legal-main a { color: var(--legal-primary, #1e4e79); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-main a:hover { text-decoration-thickness: .15em; }
.legal-main a:focus-visible, .legal-skip-link:focus-visible,
body:has(.legal-main) button:focus-visible, body:has(.legal-main) a:focus-visible { outline: 3px solid var(--legal-primary, #1e4e79); outline-offset: 4px; }
.legal-breadcrumb { font-size: .875rem; margin-bottom: 1.5rem; }
.legal-heading { max-width: 54rem; margin-bottom: 2.5rem; }
.legal-eyebrow { color: var(--legal-primary, #1e4e79); font-size: .875rem; font-weight: 700; margin-bottom: .75rem; }
.legal-heading h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; font-weight: 800; letter-spacing: -.025em; color: var(--legal-primary, #1e4e79); }
.legal-notice { border: 1px solid #a16207; border-left-width: 4px; border-radius: .75rem; background: #fffbeb; color: #713f12; padding: 1.25rem; margin-top: 1.5rem; line-height: 1.65; }
.legal-notice p { margin-top: .5rem; }
.legal-metadata { margin-top: 1rem; color: #4b5563; line-height: 1.6; }
.legal-request { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid #d1d5db; border-radius: .75rem; background: #fff; }
.legal-request > a { display: inline-block; padding: .75rem 1rem; border: 2px solid currentColor; border-radius: .5rem; font-weight: 700; }
.legal-request p { margin-top: .75rem; line-height: 1.7; font-size: .9375rem; }
.legal-layout { display: grid; grid-template-columns: 17rem minmax(0, 1fr); align-items: start; gap: 2rem; }
.legal-index { background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; padding: 1.5rem; }
.legal-index h2 { font-weight: 700; margin-bottom: 1rem; }
.legal-index ol { list-style: none; margin: 0; padding: 0; }
.legal-index a { display: block; padding: .5rem 0; font-size: .875rem; line-height: 1.5; }
.legal-article { min-width: 0; border: 1px solid #e5e7eb; border-radius: 1rem; background: #fff; padding: clamp(1.25rem, 4vw, 3rem); }
.legal-article section + section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e5e7eb; }
.legal-article h2 { font-size: 1.25rem; font-weight: 700; line-height: 1.5; margin-bottom: 1rem; scroll-margin-top: 7.5rem; color: var(--legal-primary, #1e4e79); }
.legal-article p, .legal-article li { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.legal-article p + p { margin-top: 1rem; }
.legal-article ul { list-style: disc; padding-left: 1.5rem; }
.legal-article li + li { margin-top: .75rem; }
.legal-related { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; border-top: 1px solid #e5e7eb; margin-top: 2.5rem; padding-top: 1.5rem; font-size: .875rem; }
.legal-related [aria-current="page"] { font-weight: 700; }
.legal-skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .75rem 1rem; background: #fff; color: #1f2937; transform: translateY(-200%); }
.legal-skip-link:focus { transform: translateY(0); }
@media (max-width: 900px) { .legal-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .legal-container { width: calc(100% - 2rem); } .legal-main { padding-top: 2rem; } }
@media (prefers-reduced-motion: reduce) { html:has(.legal-main) { scroll-behavior: auto; } }
@media print {
    body:has(.legal-main) > header, body:has(.legal-main) > footer, #mobile-menu, #back-to-top, #cookie-banner,
    .legal-skip-link, .legal-index, .legal-breadcrumb, .legal-related { display: none !important; }
    .legal-main { padding: 0; background: #fff; }
    .legal-container { width: 100%; }
    .legal-layout { display: block; }
    .legal-article { padding: 0; border: 0; }
    .legal-article h2 { break-after: avoid; }
}
