* { box-sizing:border-box; margin:0; padding:0; }
html,body { min-height:100%; }
.legal-page { background: #faf9f6; color: #242622; flex: 1; padding: clamp(24px, 6vw, 72px) 24px; font-family: system-ui, sans-serif; line-height: 1.7; color-scheme: light; }
.legal-document { max-width: 720px; margin: 0 auto; overflow-wrap: anywhere; }
.legal-page nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 32px; }
.legal-page a { color: #315a42; text-decoration: underline; text-underline-offset: 4px; }
.legal-page a:focus-visible { outline: 2px solid #315a42; outline-offset: 5px; }
.legal-page h1 { font-size: clamp(32px, 6vw, 48px); line-height: 1.15; font-weight: 600; }
.legal-page h2 { font-size: 22px; line-height: 1.35; margin-top: 36px; }
.legal-page p { margin-top: 14px; font-size: 16px; }
.legal-notice { border-left: 3px solid #85734c; padding: 12px 18px; background: #f0ecdf; margin: 24px 0; }
.legal-date { color: #61645c; }
.legal-page footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #d5d8ce; }
