.legal-main { width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 72px; overflow: visible; overflow-wrap: anywhere; }
.legal-back { display: inline-block; margin-bottom: 36px; color: var(--sage-dark); font-weight: 700; text-underline-offset: 4px; }
.legal-heading h1 { margin: 0 0 20px; font-size: clamp(38px, 6vw, 68px); line-height: 1.1; }
.legal-heading > p:last-child, .legal-date { color: var(--muted); line-height: 1.7; }
.legal-date { font-size: 14px; }
.legal-section { margin-top: 24px; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--line); border-radius: 18px; background: var(--cream); scroll-margin-top: 96px; }
.legal-section h2 { margin: 0 0 18px; font-size: clamp(25px, 3.5vw, 34px); line-height: 1.2; }
.legal-section h3 { margin: 24px 0 8px; font-size: 19px; }
.legal-section p, .legal-contact { font-size: 16px; line-height: 1.8; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-contact { font-style: normal; }
.legal-main a { color: var(--sage-dark); text-underline-offset: 4px; }
.legal-contents { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 28px 0; padding: 20px; border-radius: 12px; background: var(--sage-light); font-size: 14px; }
.legal-main code { font-size: .95em; }
.legal-footer { flex-wrap: wrap; }
@media (max-width: 620px) { .legal-main { width: calc(100% - 28px); padding-top: 28px; } .legal-footer nav { justify-content: flex-start; } }
