.legal-page { background: var(--paper); }
.legal-main { width: min(calc(100% - 80px), var(--max)); margin: 0 auto; padding: 150px 0 120px; }
.legal-intro { max-width: 780px; padding: 28px 0 62px; border-bottom: 1px solid var(--line); }
.legal-intro h1 { margin-bottom: 22px; font-size: clamp(3.3rem, 6vw, 5.6rem); line-height: .98; }
.legal-lede { max-width: 650px; margin-bottom: 20px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.legal-meta { margin: 0; color: #7b888f; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.legal-content-shell { display: grid; grid-template-columns: 190px minmax(0, 760px); gap: 72px; align-items: start; padding-top: 58px; }
.legal-sidebar { position: sticky; top: 104px; }
.legal-sidebar p { margin-bottom: 15px; color: var(--blue-deep); font-family: var(--mono); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.legal-sidebar nav { display: grid; gap: 10px; }
.legal-sidebar a { color: #78868f; font-size: 12px; line-height: 1.35; transition: color .2s ease; }
.legal-sidebar a:hover { color: var(--ink); }
.legal-card { padding: 52px 58px 60px; border: 1px solid var(--soft-line); border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 14px 34px rgba(30, 47, 62, .045); }
.legal-card section { scroll-margin-top: 112px; }
.legal-card section + section { margin-top: 54px; padding-top: 50px; border-top: 1px solid var(--soft-line); }
.legal-card h2 { margin-bottom: 18px; color: var(--ink); font-size: 24px; line-height: 1.2; letter-spacing: -.045em; }
.legal-card h3 { margin: 28px 0 10px; color: #30414c; font-size: 16px; line-height: 1.35; letter-spacing: -.025em; }
.legal-card p { margin-bottom: 16px; color: #596a74; font-size: 14px; line-height: 1.78; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-card ul { display: grid; gap: 9px; margin: 13px 0 18px; padding-left: 21px; color: #596a74; }
.legal-card li { padding-left: 4px; font-size: 14px; line-height: 1.7; }
.legal-card li::marker { color: var(--blue); }
.legal-card strong { color: var(--ink); font-weight: 700; }
.legal-card a { color: var(--blue-deep); text-decoration: underline; text-decoration-color: rgba(45, 82, 211, .3); text-underline-offset: 3px; }
.legal-contact { padding: 19px 20px; border-radius: 14px; background: var(--blue-wash); }
.legal-contact p { margin: 0; }
.legal-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--blue-deep); font-size: 13px; font-weight: 700; }
.legal-back span { font-size: 18px; }
.legal-page .site-footer { padding-top: 25px; }

@media (max-width: 980px) {
  .legal-main { width: min(calc(100% - 44px), var(--max)); }
  .legal-content-shell { grid-template-columns: 160px minmax(0, 1fr); gap: 38px; }
  .legal-card { padding: 43px 40px 50px; }
}

@media (max-width: 720px) {
  .legal-main { width: min(calc(100% - 36px), var(--max)); padding-top: 118px; padding-bottom: 85px; }
  .legal-intro { padding-bottom: 42px; }
  .legal-intro h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .legal-lede { font-size: 16px; }
  .legal-content-shell { display: block; padding-top: 31px; }
  .legal-sidebar { position: static; margin-bottom: 27px; padding: 17px 18px; border: 1px solid var(--soft-line); border-radius: 15px; background: rgba(255, 255, 255, .72); }
  .legal-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
  .legal-card { padding: 30px 22px 36px; border-radius: 21px; }
  .legal-card section + section { margin-top: 39px; padding-top: 36px; }
  .legal-card h2 { font-size: 21px; }
  .legal-card p, .legal-card li { font-size: 13px; }
}
