.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 20;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--text);
  color: var(--bg);
  font-size: 14px;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}

.skip-link:focus { transform: translateY(0); }

.legal-nav { grid-template-columns: 1fr auto; }

.legal-main { padding: clamp(64px, 8vw, 104px) 0 120px; }

.legal {
  width: min(100%, 780px);
  margin-inline: auto;
}

.legal-header {
  padding-bottom: 38px;
  border-bottom: 1px solid var(--line);
}

.legal-kicker {
  margin-bottom: 14px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal h1 {
  font-size: clamp(44px, 6vw, 68px);
  letter-spacing: -0.05em;
}

.legal .updated {
  margin-top: 12px;
  color: var(--soft);
  font-size: 14px;
}

.legal-intro {
  margin-top: 38px;
  color: var(--text);
  font-size: clamp(19px, 2vw, 22px);
  line-height: 1.6;
  letter-spacing: -0.01em;
}

.legal h2 {
  margin-top: 54px;
  font-size: clamp(27px, 3vw, 35px);
  letter-spacing: -0.035em;
}

.legal h2 + p,
.legal h2 + ul { margin-top: 16px; }

.legal p:not(.legal-kicker):not(.updated):not(.legal-intro),
.legal li {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.72;
}

.legal ul {
  display: grid;
  gap: 9px;
  padding-left: 1.35rem;
}

.legal strong { color: var(--text); }

.legal a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

@media (max-width: 560px) {
  .legal-main { padding: 50px 0 82px; }
  .legal-header { padding-bottom: 30px; }
  .legal-intro { margin-top: 30px; }
  .legal h2 { margin-top: 42px; }
  .legal p:not(.legal-kicker):not(.updated):not(.legal-intro),
  .legal li { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .skip-link { transition: none; }
}
