.page--legal { min-height: 100vh; background: #faf9f4; }
.legal-hero { padding: 190px 0 80px; border-bottom: 1px solid #d5dfd6; background: radial-gradient(circle at 83% 52%, #e3eee6, transparent 30%), #f4f7f1; }
.legal-hero__inner { max-width: 1160px; }
.legal-hero h1 { max-width: 900px; margin: 0 0 25px; font-size: clamp(54px, 6vw, 83px); font-weight: 500; line-height: 1; letter-spacing: -.068em; }
.legal-intro { max-width: 690px; margin: 0; color: #546b66; font-size: 17px; line-height: 1.65; }
.legal-updated { margin: 27px 0 0; color: #618075; font: 11px "DM Mono", monospace; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 700px); justify-content: space-between; gap: 70px; padding-top: 90px; padding-bottom: 135px; }
.legal-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; align-self: start; position: sticky; top: 25px; }
.legal-nav a { width: 100%; padding: 14px 0; border-bottom: 1px solid #d8e1d8; color: #3d6159; font-size: 12px; }
.legal-nav a:hover { color: #142f3b; }
.legal-body { min-width: 0; }
.legal-body section { padding: 0 0 38px; margin-bottom: 37px; border-bottom: 1px solid #d5dfd6; }
.legal-body section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-body h2 { margin: 0 0 18px; font-size: 27px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.legal-body p { margin: 0 0 17px; color: #51655e; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-body p:last-child { margin-bottom: 0; }
.legal-body a, .form-privacy a { color: #205d5b; text-decoration: underline; text-underline-offset: 3px; }
.form-privacy { margin: -4px 0 0; color: #637771; font-size: 11px; line-height: 1.5; }
.contact-drawer .form-privacy { font-family: "DM Sans", sans-serif; letter-spacing: 0; text-transform: none; }
@media (max-width: 820px) {
  .legal-hero { padding: 160px 0 65px; }
  .legal-layout { grid-template-columns: 1fr; gap: 55px; padding-top: 50px; padding-bottom: 85px; }
  .legal-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 18px; }
  .legal-nav a { width: auto; }
}
@media (max-width: 480px) {
  .legal-hero { padding-top: 145px; }
  .legal-hero h1 { font-size: 52px; }
}