.legal-page { max-width: 900px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.legal-page header { margin-bottom: 2rem; }
.legal-page h1 { font-size: clamp(2rem, 5vw, 3.25rem); }
.legal-page h2 { font-size: 1.35rem; margin-top: 2rem; }
.legal-page p, .legal-page li { line-height: 1.8; }
.legal-page section { padding: .2rem 0; }
.legal-page a, .legal-links a, .legal-form-notice a { color: var(--green-soft, #9fffa3); text-decoration: underline; text-underline-offset: .2em; }
.legal-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1rem 0; font-size: .9rem; line-height: 1.6; }
.legal-draft { border: 1px solid #d4b86a; padding: 1rem; border-radius: 12px; background: rgba(180, 140, 40, .12); }
.legal-form-notice { font-size: .88rem; line-height: 1.6; padding: 1rem; border: 1px solid var(--line, #466052); border-radius: 14px; margin: 1rem 0; }
.legal-form-notice p { margin-top: 0; }
.legal-form-notice .legal-check { display: flex; align-items: flex-start; gap: .75rem; margin-top: .85rem; font-size: inherit; }
.legal-form-notice .legal-check input[type="checkbox"] { width: 1.1rem; height: 1.1rem; padding: 0; margin: .2rem 0 0; flex: 0 0 1.1rem; accent-color: #157a2d; }
.legal-page :focus-visible, .legal-form-notice :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media print { .legal-page { color: #000; background: #fff; } .legal-page a { color: #000; } }
