.legal-page {
  overflow: hidden;
}

.legal-page__hero {
  position: relative;
  padding-top: var(--space-9);
}

.legal-page__hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.legal-page__intro {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
}

.legal-page__eyebrow,
.legal-page__context-marker,
.legal-page__attention-marker,
.legal-page__revision-label {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

.legal-page__hero h1 {
  display: inline-block;
  margin-bottom: var(--space-5);
  border-bottom: 3px solid var(--color-primary);
  padding-bottom: var(--space-3);
}

.legal-page__lead {
  max-width: 42.5rem;
  color: var(--color-text);
  font-size: var(--text-lead);
  line-height: 1.56;
}

.legal-page__meta {
  display: flex;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--space-3);
}

.legal-page__meta > * {
  min-width: 0;
}

.legal-page__meta-label {
  width: max-content;
  border-radius: var(--radius-pill);
  background: var(--color-bg-alt);
  padding: var(--space-1) var(--space-2);
  color: var(--color-text-muted);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
}

.legal-page__meta p,
.legal-page__transparency {
  margin: 0;
}

.legal-page__transparency {
  max-width: 42.5rem;
  margin-top: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.legal-page__moon {
  display: none;
}

.legal-page__index {
  border-block: 1px solid var(--color-border);
  background: var(--color-bg-alt);
  padding-block: var(--space-4);
}

.legal-page__index ol {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.legal-page__index li {
  min-width: 0;
}

.legal-page__index a {
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 650;
}

.legal-page__section--muted {
  background: var(--color-bg-alt);
}

.legal-page__reading-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.legal-page__reading {
  width: 100%;
  max-width: 45rem;
  min-width: 0;
}

.legal-page__section-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.legal-page__section-header > * {
  min-width: 0;
}

.legal-page__section-header h2 {
  margin-bottom: 0;
}

.legal-page__section-number {
  display: flex;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary);
  border-radius: 50%;
  color: var(--color-primary-strong);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 700;
}

.legal-page__verification,
.legal-page__responsibility,
.legal-page__official-channel,
.legal-page__third-party,
.legal-page__revision-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.legal-page__verification h3,
.legal-page__responsibility h3,
.legal-page__official-channel h3,
.legal-page__third-party h3,
.legal-page__revision-panel h3 {
  margin: 0;
}

.legal-page__verification p,
.legal-page__responsibility p,
.legal-page__official-channel p,
.legal-page__third-party p,
.legal-page__revision-panel p {
  margin: 0;
}

.legal-page__open-copy,
.legal-page__variable-copy,
.legal-page__rights-copy,
.legal-page__contact-copy {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
}

.legal-page__open-copy h3,
.legal-page__variable-copy h3,
.legal-page__rights-copy h3,
.legal-page__contact-copy h3 {
  font-size: var(--text-subtitle);
}

.legal-page__side-note {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-5);
  border-left: 3px solid var(--color-forest);
  padding-left: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.legal-page__side-note strong,
.legal-page__side-note p {
  margin: 0;
}

.legal-page__side-note strong {
  color: var(--color-text);
  font-family: var(--font-heading);
}

.legal-page__cards-header {
  max-width: 45rem;
}

.legal-page__section-intro {
  max-width: 42.5rem;
  margin-top: var(--space-4);
  margin-bottom: 0;
  font-size: var(--text-lead);
  line-height: 1.56;
}

.legal-page__content-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
}

.legal-page__content-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  background: var(--color-bg);
}

.legal-page__content-card > * {
  min-width: 0;
}

.legal-page__content-card h3,
.legal-page__content-card p {
  margin: 0;
}

.legal-page__content-card h3 {
  font-size: var(--text-subtitle);
}

.legal-page__variable-copy {
  border-left: 3px solid var(--color-progress);
  padding-left: var(--space-5);
}

.legal-page__context-marker {
  color: #765116;
}

.legal-page__responsibility {
  margin-top: var(--space-5);
  border-color: var(--color-blood);
  background: transparent;
}

.legal-page__attention-marker {
  color: var(--color-blood);
}

.legal-page__official-wrap {
  width: 100%;
  max-width: 62.5rem;
}

.legal-page__official-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  border: 1px solid var(--color-text);
  border-radius: var(--radius-lg);
  background: var(--color-text);
  padding: var(--space-5);
  color: var(--color-on-accent);
}

.legal-page__official-copy,
.legal-page__official-action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.legal-page__official-copy h3,
.legal-page__official-copy p,
.legal-page__official-action p {
  margin: 0;
  color: inherit;
}

.legal-page__official-copy h3 {
  font-size: var(--text-subtitle);
}

.legal-page__official-action {
  justify-content: center;
}

.legal-page__official-action .button {
  width: 100%;
}

.legal-page__official-action p {
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.legal-page__external-note {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-alt);
  padding: var(--space-5);
}

.legal-page__external-note h3,
.legal-page__external-note p {
  margin: 0;
}

.legal-page__external-note h3 {
  font-size: var(--text-subtitle);
}

.legal-page__official-channel {
  border-color: var(--color-text);
}

.legal-page__rights-copy {
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-5);
}

.legal-page__third-party {
  margin-top: var(--space-6);
}

.legal-page__rights-contact {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border-left: 3px solid var(--color-primary);
  padding-left: var(--space-4);
}

.legal-page__rights-contact h3,
.legal-page__rights-contact p {
  margin: 0;
}

.legal-page__rights-contact h3 {
  font-size: var(--text-subtitle);
}

.legal-page__rights-contact a,
.legal-page__contact-copy a {
  display: inline-block;
  min-height: 2.75rem;
  padding-top: var(--space-2);
}

.legal-page__revision-panel {
  margin-top: var(--space-6);
  border: 1px solid var(--color-primary-strong);
  border-radius: var(--radius-lg);
  background: var(--color-primary-strong);
  padding: var(--space-5);
  color: var(--color-on-accent);
}

.legal-page__revision-panel h3,
.legal-page__revision-panel p {
  color: inherit;
}

.legal-page__revision-label {
  color: var(--color-on-accent);
}

@media (min-width: 768px) {
  .legal-page__hero {
    padding-top: var(--space-10);
  }

  .legal-page__hero-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .legal-page__intro {
    grid-column: 2 / span 7;
  }

  .legal-page__moon {
    display: block;
    grid-column: 9 / span 3;
    grid-row: 1;
    width: min(14rem, 100%);
    aspect-ratio: 1;
    align-self: start;
    justify-self: end;
    border: 1.5rem solid rgb(107 79 179 / 12%);
    border-radius: 50%;
  }

  .legal-page__moon::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    transform: translate(1.55rem, -0.55rem);
    border-radius: 50%;
    background: var(--color-bg);
  }

  .legal-page__reading-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .legal-page__reading {
    grid-column: 2 / span 7;
  }

  .legal-page__reading-grid--aside .legal-page__reading {
    grid-column: 2 / span 7;
  }

  .legal-page__side-note {
    grid-column: 2 / span 7;
    margin-top: var(--space-5);
  }

  .legal-page__content-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .legal-page__official-panel {
    padding: var(--space-6);
  }
}

@media (min-width: 800px) {
  .legal-page__official-panel {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
    align-items: center;
  }
}

@media (min-width: 980px) {
  .legal-page__reading-grid--aside .legal-page__reading {
    grid-column: 2 / span 7;
  }

  .legal-page__side-note {
    grid-column: 10 / span 3;
    align-self: start;
    margin-top: 4.5rem;
  }
}

@media (min-width: 1024px) {
  .legal-page__content-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .legal-page__content-card {
    min-height: 100%;
  }
}

@media (max-width: 767px) {
  .legal-page__hero {
    padding-top: var(--space-8);
  }

  .legal-page__hero h1 {
    font-size: clamp(2.375rem, 11vw, 2.75rem);
  }

  .legal-page__section-header h2 {
    font-size: 1.75rem;
    line-height: 1.214;
  }

  .legal-page__index ol {
    flex-direction: column;
    align-items: flex-start;
  }

  .legal-page__index li,
  .legal-page__index a {
    width: 100%;
  }

  .legal-page__index a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
  }

  .legal-page__variable-copy {
    padding-left: var(--space-4);
  }

  .legal-page__official-panel,
  .legal-page__external-note,
  .legal-page__revision-panel {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .legal-page__content-card,
  .legal-page__verification,
  .legal-page__responsibility,
  .legal-page__official-channel,
  .legal-page__third-party {
    transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  }

  .legal-page__content-card:hover,
  .legal-page__verification:hover,
  .legal-page__responsibility:hover,
  .legal-page__official-channel:hover,
  .legal-page__third-party:hover {
    transform: translateY(-2px);
    border-color: var(--color-text-muted);
    box-shadow: var(--shadow-float);
  }
}
