.auth-page--legal {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  overflow-x: hidden;
  padding: 1.25rem 1rem 1.5rem;
}

.auth-shell--legal {
  width: min(100%, 28rem);
  min-width: 0;
}

.auth-page--legal .auth-brand {
  margin-bottom: 1rem;
}

.auth-page--legal .brand-mark--auth {
  max-width: min(17.5rem, 100%);
}

.auth-page--legal .brand-mark--auth img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.auth-page--legal .auth-card {
  padding: 1.15rem;
}

.auth-page--legal .auth-legal-pair {
  display: grid;
  gap: 0.75rem;
}

.legal-page,
.ca-legal-page {
  color: var(--v2-ink, var(--text, #14213d));
}

.ca-legal-page__nav {
  display: flex;
}

.ca-legal-page__main {
  padding-top: 7.5rem;
  padding-bottom: 4rem;
}

.ca-legal-page__container {
  max-width: 46rem;
}

.ca-legal-page__intro {
  margin-bottom: 2.5rem;
}

.ca-legal-page__intro h1 {
  margin: 0 0 0.5rem;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.ca-legal-page__intro p {
  margin: 0;
  color: var(--v2-muted, var(--text-muted, #5b6475));
}

.legal-document {
  max-width: 42rem;
  margin: 0 0 3.5rem;
  line-height: 1.65;
}

.legal-document:last-child {
  margin-bottom: 0;
}

.legal-document h2,
.legal-document h3 {
  scroll-margin-top: 6rem;
}

.legal-document h2 {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.legal-document__meta {
  margin: 0 0 1.25rem;
  color: var(--v2-muted, var(--text-muted, #5b6475));
  font-size: 0.95rem;
}

.legal-document h3 {
  margin: 1.75rem 0 0.65rem;
  font-size: 1.05rem;
  line-height: 1.35;
}

.legal-document p,
.legal-document li {
  margin: 0 0 0.85rem;
}

.legal-document ul {
  margin: 0 0 0.85rem;
  padding-left: 1.25rem;
}

.legal-document a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.legal-review-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--border, var(--v2-border, #d7dbe3));
  border-radius: var(--radius-md, 0.75rem);
  background: var(--app-bg, var(--v2-bg, #f4f6f8));
}

.legal-review-card__header {
  display: grid;
  gap: 0.25rem;
}

.legal-review-card__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text, var(--v2-ink, #14213d));
}

.legal-review-card__instruction {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--text-muted, var(--v2-muted, #5b6475));
}

.legal-review {
  max-height: min(11.5rem, 28vh);
  min-height: 8.5rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 0.75rem 0.85rem 1rem;
  border: 1px solid var(--border, var(--v2-border, #d7dbe3));
  border-radius: calc(var(--radius-md, 0.75rem) - 0.15rem);
  background: var(--surface, var(--v2-surface, #fff));
  color: var(--text, var(--v2-ink, #14213d));
}

@supports (height: 1dvh) {
  .legal-review {
    max-height: min(11.5rem, 28dvh);
  }
}

.legal-review .legal-document {
  max-width: none;
  margin-bottom: 1.5rem;
}

.legal-review .legal-document h2,
.legal-review .legal-document h3 {
  scroll-margin-top: 0.35rem;
}

.legal-review .legal-document h2 {
  font-size: 1.05rem;
}

.legal-review .legal-document h3 {
  margin-top: 1.1rem;
  font-size: 0.92rem;
}

.legal-review .legal-document p,
.legal-review .legal-document li {
  margin-bottom: 0.65rem;
  font-size: 0.88rem;
  line-height: 1.55;
}

.legal-review .legal-document__meta {
  margin-bottom: 0.85rem;
  font-size: 0.8rem;
}

.legal-acceptance {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.legal-acceptance__control {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.legal-acceptance__checkbox {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.legal-acceptance__label {
  font-size: 0.9rem;
  line-height: 1.45;
}

.legal-acceptance__label a {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.legal-acceptance__checkbox:disabled {
  cursor: not-allowed;
}

.legal-acceptance__noscript {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--text-muted, var(--v2-muted, #5b6475));
}

@media (min-width: 480px) {
  .auth-page--legal .auth-legal-pair {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 640px) {
  .auth-page--legal {
    align-items: safe center;
    padding: 2rem 1.25rem 2.5rem;
  }

  .auth-shell--legal {
    width: min(100%, 36rem);
  }

  .auth-page--legal .auth-card {
    padding: 1.5rem;
  }

  .legal-review-card {
    padding: 1rem;
  }

  .legal-review {
    max-height: min(18rem, 36vh);
    min-height: 12rem;
    padding: 0.9rem 1rem 1.15rem;
  }

  .ca-legal-page__intro h1 {
    font-size: 2.25rem;
  }
}
