/* Legal content stays below the fixed header and within the viewport. */
.legal-page { width: 100%; max-width: 1120px; margin: 0 auto; padding: calc(var(--header-height, 110px) + 40px) 24px 80px; }
.legal-page h1 { font-size: clamp(28px, 5vw, 48px); line-height: 1.15; margin: 0 0 24px; overflow-wrap: anywhere; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-bottom: 28px; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; text-underline-offset: 5px; }
.legal-nav a[aria-current="page"] { font-weight: 700; text-decoration-thickness: 3px; }
.legal-page a { color: inherit; text-decoration: underline; }
.legal-page a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.legal-notice { max-width: 100%; overflow-wrap: anywhere; border-left: 3px solid #e6b45a; padding: 16px 20px; background: rgba(230,180,90,.09); margin-bottom: 32px; }
.legal-document { max-width: 78ch; line-height: 1.75; overflow-wrap: anywhere; scroll-margin-top: calc(var(--header-height, 110px) + 20px); }
.legal-document > h2 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.legal-document section { margin: 0; padding: 0; }
.legal-document h3 { font-size: 20px; line-height: 1.4; margin: 28px 0 12px; }
.legal-document p { margin: 0 0 16px; }
.legal-document[hidden] { display: none; }
@media (max-width: 480px) { .legal-page { padding: calc(var(--header-height, 80px) + 24px) 16px 56px; } .legal-notice { padding: 12px; } }
@media print { .header, .footer, .to-top, .legal-nav { display: none !important; } .legal-page { color: #000; padding: 0; } }
