/* Legal pages: plain, readable, same system as the shop. */
.legal { max-width: 720px; margin: 0 auto; padding: 48px var(--pad) 0; }
.legal h1 { font-family: var(--f-wide); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.1; }
.legal .updated { color: var(--mute); font-size: 13px; margin: 10px 0 28px; }
.legal h2 { font-size: 17px; font-weight: 600; margin: 40px 0 10px; }
.legal p, .legal li, .legal dd, .legal td { color: #d8d7d1; font-size: 15px; line-height: 1.65; }
.legal p + p { margin-top: 12px; }
.legal ol, .legal ul { padding-left: 22px; display: grid; gap: 8px; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal a:hover { color: #fff; }
.legal strong { color: var(--bone); font-weight: 600; }
.legal dl { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 10px 20px; }
.legal dt { color: var(--mute); font-size: 14px; }
.legal dd { margin: 0; }
.legal table { width: 100%; border-collapse: collapse; margin: 6px 0 12px; }
.legal th { text-align: left; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); padding: 8px 10px 8px 0; border-bottom: 1px solid #2a2a2e; }
.legal td { padding: 10px 10px 10px 0; border-bottom: 1px solid #1f1f22; vertical-align: top; }
.todo { background: rgba(255, 196, 0, .16); color: #ffd76a; padding: 0 4px; border-radius: 3px; }
@media (max-width: 560px) {
  .legal dl { grid-template-columns: 1fr; gap: 2px; }
  .legal dt { margin-top: 10px; }
  .legal table, .legal thead, .legal tbody, .legal tr, .legal th, .legal td { display: block; }
  .legal thead { display: none; }
  .legal td { border: 0; padding: 2px 0; }
  .legal tr { border-bottom: 1px solid #1f1f22; padding: 10px 0; }
}
