body {
  min-height: 100vh;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--ui-font);
}

.legal-shell {
  display: grid;
  gap: 0;
  width: min(860px, calc(100vw - 32px));
  margin: 0 auto;
  padding: clamp(28px, 6vw, 68px) 0;
}

.legal-head,
.legal-section {
  padding: clamp(28px, 5vw, 48px) 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.legal-head {
  padding-top: 0;
}

.legal-head img {
  width: 178px;
  max-height: 88px;
  object-fit: contain;
  object-position: left center;
}

.legal-eyebrow {
  margin: 20px 0 8px;
  color: var(--action);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.legal-head h1,
.legal-section h2,
.legal-section h3,
.legal-section p,
.legal-section ul,
.legal-section dl {
  margin-top: 0;
}

.legal-head h1 {
  margin-bottom: 12px;
  font-size: clamp(36px, 6vw, 58px);
  line-height: 1;
}

.legal-head > p:last-of-type,
.legal-section p,
.legal-section li,
.legal-section dd {
  color: var(--muted);
  line-height: 1.7;
}

.legal-section h2 {
  margin-bottom: 14px;
  font-size: 22px;
}

.legal-section h3 {
  margin: 22px 0 8px;
  font-size: 15px;
}

.legal-section p:last-child,
.legal-section ul:last-child,
.legal-section dl:last-child {
  margin-bottom: 0;
}

.legal-section ul {
  padding-left: 20px;
}

.legal-details {
  display: grid;
  grid-template-columns: minmax(150px, .4fr) minmax(0, 1fr);
  gap: 8px 22px;
}

.legal-details dt {
  color: var(--ink);
  font-weight: 700;
}

.legal-details dd {
  margin: 0;
}

.legal-shell a {
  color: var(--action-hover);
  font-weight: 700;
  text-underline-offset: 3px;
}

.legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 4px 2px;
  color: var(--muted);
  font-size: 12px;
}

.legal-nav a {
  color: inherit;
  text-decoration: none;
}

.legal-nav a:hover {
  color: var(--action);
}

@media (max-width: 620px) {
  .legal-details {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal-details dd + dt {
    margin-top: 10px;
  }
}
