.auth-legal { margin: 20px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.auth-legal a, .legal-body a { color: var(--green); text-underline-offset: 3px; }
.legal-header .header-inner { max-width: 1128px; }
.legal-header .back-link { margin: 0; }
.legal-main { width: min(1080px, calc(100% - 48px)); margin: 58px auto 72px; }
.legal-intro { max-width: 760px; margin-bottom: 36px; }
.legal-intro h1 { margin: 0 0 18px; font-size: clamp(38px, 6vw, 58px); letter-spacing: -.05em; }
.legal-intro > p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.legal-intro .legal-date { font-size: 13px; }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 48px; }
.legal-nav { position: sticky; top: 24px; padding: 20px 0; border-top: 1px solid var(--border); }
.legal-nav h2 { margin: 0 0 12px; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); }
.legal-nav ol { margin: 0; padding-left: 20px; font-size: 13px; }
.legal-nav li { padding: 5px 0; }
.legal-nav a { text-decoration: none; }
.legal-nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.legal-body { min-width: 0; padding: 32px 36px; background: #fff; border: 1px solid var(--border); border-radius: 18px; font-size: 16px; line-height: 1.8; }
.legal-summary { padding: 18px 22px; margin-bottom: 32px; background: #edf4ed; border-left: 3px solid var(--green); border-radius: 0 10px 10px 0; }
.legal-summary p { margin: 0; }
.legal-body section + section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); }
.legal-body h2 { margin: 0 0 14px; font-size: 21px; letter-spacing: -.025em; }
.legal-body h3 { margin: 20px 0 8px; font-size: 16px; }
.legal-body p { margin: 0 0 14px; }
.legal-body p:last-child { margin-bottom: 0; }
.legal-body ul { margin: 12px 0; padding-left: 22px; }
.legal-body li { margin: 8px 0; }
.legal-body address { font-style: normal; overflow-wrap: anywhere; }
.legal-body code { font-size: .9em; background: #f3f6ef; padding: 2px 5px; border-radius: 4px; }
.legal-footer { padding-bottom: 28px; }
@media (max-width: 760px) {
  .legal-main { margin-top: 32px; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .legal-nav { position: static; padding: 18px; background: #edf4ed; border: 0; border-radius: 12px; }
  .legal-nav ol { columns: 2; column-gap: 28px; }
  .legal-nav li { break-inside: avoid; }
  .legal-body { padding: 24px; }
}
@media (max-width: 480px) {
  .legal-main { width: calc(100% - 32px); }
  .legal-header .back-link { font-size: 12px; }
  .legal-header .wordmark { font-size: 15px; }
  .legal-body { padding: 22px 20px; }
  .legal-nav ol { columns: 1; }
}
@media print {
  .legal-nav, .legal-header .back-link, .site-footer, .skip-link { display: none; }
  .legal-layout { display: block; }
  .legal-main { width: 100%; margin: 20px 0; }
  .legal-body { border: 0; padding: 0; }
  .legal-body section { break-inside: avoid; }
}
