.legal-nav {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 12px;
  font-weight: 600;
}
.legal-nav > a:not(.button) {
  color: var(--ink);
  text-decoration: none;
}
.legal-nav > a:not(.button):hover {
  color: var(--ink-2);
  text-decoration: underline;
}
.legal-nav .button {
  font-size: 11px;
}
.legal-shell {
  padding-top: 58px;
  padding-bottom: 84px;
}
.legal-document {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(25px, 5vw, 58px);
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: var(--shadow);
}
.legal-document > .member-kicker {
  margin-bottom: 13px;
}
.legal-document h1 {
  margin: 0 0 10px;
  font-size: clamp(39px, 5.4vw, 64px);
  line-height: 1.05;
}
.legal-document h1 em {
  color: var(--ink-2);
}
.legal-updated {
  margin: 0 0 27px;
  color: var(--muted);
  font-size: 11px;
}
.legal-disclaimer {
  margin: 0 0 32px;
  padding: 15px 17px;
  border: 1px solid #ead48a;
  border-left: 4px solid var(--coral);
  background: #fff9e9;
  color: #5d4a13;
  font-size: 12px;
  line-height: 1.65;
}
.legal-disclaimer strong {
  display: block;
  margin-bottom: 3px;
}
.legal-section {
  padding: 22px 0;
  border-top: 1px solid var(--line);
}
.legal-section h2 {
  margin: 0 0 10px;
  color: var(--ink);
  font: 600 23px/1.25 var(--display);
}
.legal-section p,
.legal-section li {
  color: #3f5148;
  font-size: 13px;
  line-height: 1.8;
}
.legal-section p {
  margin: 8px 0;
}
.legal-section ul {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  padding-left: 22px;
}
.legal-section a {
  color: var(--ink-2);
  font-weight: 700;
}
.legal-endnote {
  margin-top: 14px;
  padding: 15px 17px;
  background: var(--paper-2);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.65;
}
.legal-page-links {
  display: flex;
  gap: 12px 25px;
  flex-wrap: wrap;
  margin-top: 27px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.legal-page-links a {
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.legal-page-links a:hover {
  text-decoration: underline;
}
.legal-page-links span {
  margin-left: 4px;
}
.forgot-shell {
  min-height: calc(100vh - 86px);
  padding: 74px 0 36px;
}
.reset-card {
  max-width: 560px;
  margin: 0 auto;
}
.reset-card h1 {
  margin: 0 0 10px;
  color: var(--ink);
  font: 600 clamp(38px, 5vw, 52px)/1.1 var(--display);
}
.reset-card h1 em {
  color: var(--ink-2);
}
.reset-card > p {
  color: var(--muted);
  font-size: 13px;
}
.reset-card .button {
  width: 100%;
  border: 0;
  cursor: pointer;
}
.reset-card input[aria-invalid="true"] {
  border-color: #ad482e;
  box-shadow: 0 0 0 3px rgba(173, 72, 46, 0.12);
}
.reset-status {
  min-height: 20px;
  margin: 12px 0 0;
  color: #ad482e;
  font-size: 12px;
  line-height: 1.6;
}
.reset-demo-note {
  margin-top: 20px !important;
  padding: 12px 14px;
  border-left: 3px solid var(--coral);
  background: #fff9e9;
  font-size: 11px !important;
  line-height: 1.6;
}
.reset-back-link {
  margin: 20px 0 0 !important;
  text-align: center;
}
.change-password-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 13px;
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.change-password-link:hover {
  text-decoration: underline;
}
.change-password-link span {
  font-size: 15px;
}
.change-password-card .reset-demo-note {
  margin: 0 0 22px !important;
}
.change-password-card .password-hint {
  display: block;
  min-height: 16px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}
.change-password-card .button {
  margin-top: 4px;
}
.change-password-card .form-status {
  margin-bottom: 0;
  line-height: 1.6;
}
.reset-legal-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 25px;
}
.reset-legal-links a {
  color: var(--muted);
  font-size: 11px;
  text-decoration: none;
}
.reset-legal-links a:hover {
  color: var(--ink-2);
  text-decoration: underline;
}
@media (max-width: 700px) {
  .legal-nav {
    gap: 10px;
  }
  .legal-nav > a:not(.button) {
    display: none;
  }
  .legal-shell {
    padding-top: 32px;
    padding-bottom: 55px;
  }
  .legal-document {
    padding: 27px 21px;
  }
  .legal-section {
    padding: 18px 0;
  }
  .legal-section h2 {
    font-size: 21px;
  }
  .legal-section p,
  .legal-section li {
    font-size: 12px;
  }
  .forgot-shell {
    padding-top: 48px;
  }
  .reset-card {
    padding: 30px 22px;
  }
}
