.legal-page { min-width: 20rem; background: linear-gradient(180deg, #f8fbff 0, var(--color-canvas) 24rem); }
.legal-skip-link { position: fixed; top: .75rem; left: .75rem; z-index: var(--layer-popover); padding: .65rem .9rem; border-radius: var(--radius-md); background: var(--color-primary-strong); color: #fff; text-decoration: none; transform: translateY(-200%); }
.legal-skip-link:focus { transform: translateY(0); }
.legal-main { width: min(100% - 2rem, 64rem); margin: 0 auto; padding: clamp(2rem, 4vw, 3.25rem) 0 var(--space-12); }
.legal-hero { width: 100%; margin-bottom: var(--space-10); }
.legal-eyebrow { margin-bottom: var(--space-3); color: var(--color-accent); font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.legal-hero h1 { color: var(--color-primary-strong); font-size: clamp(2.35rem, 6vw, 4.35rem); }
.legal-summary { width: 100%; margin: var(--space-5) 0 0; color: var(--color-text-muted); font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.75; }
.legal-effective { display: inline-flex; flex-wrap: wrap; gap: .35rem; margin: var(--space-6) 0 0; padding: .55rem .75rem; border: 1px solid #b9dddb; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: #336969; font-size: var(--font-size-xs); }
.legal-document { display: grid; gap: var(--space-5); }
.legal-section { padding: clamp(1.4rem, 4vw, 2.25rem); border: 1px solid var(--color-border-soft); border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.legal-section h2 { margin-bottom: var(--space-4); color: var(--color-text); font-size: clamp(1.08rem, 2vw, 1.25rem); }
.legal-section p,.legal-section li { color: var(--color-text-muted); font-size: var(--font-size-sm); line-height: 1.8; }
.legal-section p { margin-bottom: var(--space-4); }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { display: grid; gap: var(--space-3); margin: 0; padding-left: 1.25rem; }
.legal-section li::marker { color: var(--color-accent); }
.legal-section ul + .legal-note { margin-top: var(--space-4); }
.legal-note { padding: var(--space-4); border-left: .25rem solid var(--color-accent); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--color-accent-soft); color: #335f61 !important; }
.legal-related-links { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: 0 !important; }
.legal-related-link { display: inline-flex; min-height: 2.5rem; align-items: center; padding: .5rem .8rem; border: 1px solid #b9dddb; border-radius: var(--radius-md); color: #017b7d; font-weight: 600; text-decoration: none; }
.legal-related-link:hover { background: var(--color-accent-soft); }
.legal-contact { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-8); padding: clamp(1.4rem, 4vw, 2rem); border-radius: var(--radius-xl); background: var(--color-primary-strong); color: #fff; }
.legal-contact div { display: grid; gap: var(--space-1); }
.legal-contact strong { font-size: var(--font-size-lg); }
.legal-contact span { color: #d8e6ed; font-size: var(--font-size-sm); }
.legal-contact a { min-height: 2.75rem; display: inline-flex; flex: 0 0 auto; align-items: center; padding: .6rem .9rem; border: 1px solid rgba(255,255,255,.38); border-radius: var(--radius-md); color: #fff; font-size: var(--font-size-sm); font-weight: 600; text-decoration: none; }
.legal-contact a:hover { background: rgba(255,255,255,.1); }
.legal-page > .dashboard-footer { margin-top: 0; }
.legal-main--status { min-height: calc(100vh - 12rem); display: grid; align-content: center; }
.legal-status h1 { margin-bottom: var(--space-4); color: var(--color-primary-strong); font-size: clamp(2rem, 5vw, 3.25rem); }
.legal-status p:last-child { max-width: 46rem; margin-bottom: 0; }
@media (max-width: 47.5rem) {
    .legal-main { width: min(100% - 1.5rem, 64rem); padding-top: var(--space-8); }
    .legal-contact { align-items: stretch; flex-direction: column; }
    .legal-contact a { justify-content: center; align-self: flex-start; }
}
@media print {
    .legal-page { background: #fff; }
    .kb-public-header,.legal-contact,.dashboard-footer { display: none; }
    .legal-main { width: 100%; padding: 0; }
    .legal-hero { margin-bottom: 1.5rem; }
    .legal-section { break-inside: avoid; padding: 1rem 0; border: 0; box-shadow: none; }
}
