/* Only the new legal page; reuse the site's fonts, palette and glass surfaces. */
.legal-page {
  position: relative;
  padding: 138px 24px 64px;
}

.legal-card {
  padding: clamp(24px, 5vw, 52px);
  border-radius: var(--radius-lg);
  line-height: 1.75;
}

.legal-heading .section-title {
  font-size: clamp(2.7rem, 6vw, 4.3rem);
  line-height: 1.1;
}

.legal-heading > p:last-child {
  margin: 24px 0 0;
  color: var(--color-text-secondary);
}

.legal-draft {
  margin-top: 28px;
  padding: 16px 20px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-accent-light);
  font-size: .9rem;
}

.legal-draft strong { display: block; }
.legal-section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--color-border); }
.legal-section h2 { margin: 0 0 16px; font-size: 1.2rem; line-height: 1.4; }
.legal-section p { margin: 12px 0; }
.legal-details { margin: 0; display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 12px 24px; }
.legal-details dt { font-weight: 700; }
.legal-details dd { margin: 0; }
.legal-card p, .legal-details dd { overflow-wrap: anywhere; }
.legal-card a { color: var(--color-accent-hover); text-decoration: underline; text-underline-offset: .2em; }
.legal-back { display: inline-block; margin-top: 32px; padding: 8px 0; font-weight: 700; }

@media (max-width: 560px) {
  .legal-page { padding: 108px 10px 40px; }
  .legal-card { padding: 26px 20px; border-radius: 25px; }
  .legal-details { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .legal-details dd { margin-bottom: 12px; }
  .legal-draft { padding: 14px; }
}
