.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 104px; border-bottom: 1px solid var(--line); }
.legal-header .brand { font-size: 28px; }
.legal-header .brand img { width: 40px; height: 40px; }
.legal-header .text-link { margin: 0; }
.legal-page { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); gap: clamp(40px,7vw,120px); padding-block: 80px 100px; align-items: start; }
.legal-intro { position: sticky; top: 48px; }
.legal-intro h1 { font-size: clamp(40px,4.5vw,64px); line-height: 1.1; letter-spacing: -2px; margin: 22px 0; }
.legal-intro>p:not(.eyebrow) { max-width: 32ch; color: var(--muted); line-height: 1.8; }
.legal-intro .legal-date { margin-top: 24px; font-size: 12px; }
.legal-content section { padding-block: 0 32px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.legal-content section:last-child { margin-bottom: 0; }
.legal-content h2 { font-size: 23px; letter-spacing: -.5px; line-height: 1.35; margin-bottom: 16px; }
.legal-content p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.legal-content p+p { margin-top: 16px; }
.legal-content a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-content a:hover { color: var(--accent); }
.legal-footer { border-top: 1px solid var(--line); padding-block: 30px; display: flex; justify-content: space-between; gap: 24px; font-size: 13px; color: var(--muted); }
.legal-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
@media(max-width: 800px) {
  .legal-header { min-height: 88px; }
  .legal-header .brand { font-size: 23px; }
  .legal-header .text-link { font-size: 12px; }
  .legal-page { grid-template-columns: minmax(0,1fr); gap: 40px; padding-block: 48px 60px; }
  .legal-intro { position: static; }
  .legal-intro h1 { letter-spacing: -1.5px; }
}
