.legal-main {
  min-height: calc(100vh - 350px);
  padding: clamp(48px, 9vw, 100px) var(--page-gutter) clamp(72px, 12vw, 130px);
}
.legal-inner {
  width: min(100%, 720px);
  margin: 0 auto;
}
.legal-title {
  margin: 0 0 36px;
  color: var(--navy);
  font-size: clamp(28px, 5.4vw, 38px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
}
.legal-details {
  margin: 0;
  border-top: 1px solid var(--line);
}
.legal-row {
  display: grid;
  grid-template-columns: 174px minmax(0, 1fr);
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.legal-row dt {
  margin: 0;
  color: var(--muted);
  font: 500 13px/1.85 var(--sans);
}
.legal-row dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}
.legal-main a { text-underline-offset: 4px; }
.legal-main a:hover { color: var(--red); }
.legal-policy-section {
  margin-top: 36px;
}
.legal-policy-section h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
}
.legal-policy-section p,
.legal-policy-section li {
  font-size: 15px;
  line-height: 1.95;
}
.legal-policy-section p { margin: 0; }
.legal-policy-section ul { margin: 12px 0 0; padding-left: 1.4em; }
.legal-return {
  display: inline-block;
  margin-top: 44px;
  color: var(--navy);
  font: 500 13px/1.8 var(--sans);
}
@media (max-width: 600px) {
  .legal-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .legal-title { margin-bottom: 28px; }
}
