.legal-main { width: min(920px, calc(100% - 32px)); margin: 42px auto 80px; }
.legal-hero { padding: 38px; border-radius: 24px; background: linear-gradient(135deg, var(--mint), #fff); border: 1px solid var(--line); }
.legal-hero h1 { margin: 10px 0 12px; font-size: clamp(32px, 5vw, 52px); line-height: 1.05; }
.legal-hero p { max-width: 740px; color: var(--muted); line-height: 1.65; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 20px; font-size: 13px; color: var(--muted); }
.legal-summary, .legal-warning { margin: 24px 0; padding: 20px 22px; border-radius: 14px; line-height: 1.6; }
.legal-summary { background: #edf7f3; border-left: 4px solid var(--teal); }
.legal-warning { background: #fff8e8; border: 1px solid #ead7a1; }
.legal-content { margin-top: 32px; }
.legal-content section { padding: 28px 0; border-top: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 14px; font-size: 23px; }
.legal-content h3 { margin: 22px 0 8px; font-size: 17px; }
.legal-content p, .legal-content li { color: #36514e; line-height: 1.72; }
.legal-content li + li { margin-top: 8px; }
.legal-content a, .legal-nav a, .legal-footer a, .consent-line a { color: var(--teal); text-underline-offset: 3px; }
.legal-table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px; }
.legal-table th, .legal-table td { padding: 13px; border: 1px solid var(--line); vertical-align: top; text-align: left; line-height: 1.55; }
.legal-table th { background: var(--mint); color: var(--ink); }
.legal-nav { display: flex; flex-wrap: wrap; gap: 16px; }
.legal-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 18px; margin: 32px 16px; color: var(--muted); font-size: 12px; }
.legal-footer img { object-fit: contain; }
.legal-contact { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .legal-topbar { padding-left: 18px; padding-right: 18px; }
  .legal-nav { width: 100%; justify-content: flex-start; gap: 10px 16px; font-size: 14px; }
  .legal-main { margin-top: 24px; padding-left: 0; padding-right: 0; }
  .legal-hero { padding: 24px; }
  .legal-table { display: block; overflow-x: auto; }
}
