@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans-500.ttf') format('truetype'); font-weight: 500; font-display: swap; }
html { font-family: 'DM Sans', Arial, sans-serif; }
.legal-header { border-bottom: 1px solid var(--color-border); }
.legal-header__inner { max-width: 1200px; margin: auto; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-header img { width: 135px; height: auto; }
.legal-header__back { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.legal-content { max-width: 808px; margin: auto; padding: clamp(48px, 8vw, 96px) 24px; }
.legal-content h1 { margin: 0; font-size: clamp(38px, 7vw, 64px); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; }
.legal-content .legal-date { margin: 18px 0 40px; color: var(--color-text-secondary); font-size: 14px; }
.legal-content h2 { margin: 40px 0 14px; font-size: 24px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.legal-content p { margin: 0 0 18px; font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-content a { text-decoration: underline; text-underline-offset: 3px; }
.legal-footer { padding: 28px 24px; background: var(--color-cream); }
.legal-footer__inner { max-width: 1200px; margin: auto; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 18px 32px; font-size: 13px; }
.legal-footer p { margin: 0; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 24px; }
.legal-footer a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 480px) { .legal-header__inner { gap: 16px; } .legal-header img { width: 115px; } .legal-header__back { font-size: 13px; } }
