.terms-page {
  overflow: hidden;
}

.terms-page section[id] {
  scroll-margin-top: 6rem;
}

.terms-masthead__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: start;
}

.terms-masthead__content {
  grid-column: 2 / span 8;
  min-width: 0;
}

.terms-masthead__content .display-title {
  margin-bottom: var(--space-5);
}

.terms-masthead__meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.terms-masthead__meta > * {
  min-width: 0;
}

.terms-masthead__date {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  border-radius: var(--radius-pill);
  background: var(--color-lime);
  padding: var(--space-2) var(--space-3);
  color: var(--color-graphite);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.terms-masthead__content .lede {
  max-width: 38.75rem;
}

.terms-masthead__marker {
  grid-column: 10 / span 2;
  width: 3.75rem;
  height: 3.75rem;
  justify-self: end;
  border-top: 1px solid var(--color-cobalt);
  border-right: 1px solid var(--color-cobalt);
  background: linear-gradient(135deg, transparent 0 42%, var(--color-cobalt) 42% 72%, var(--color-lime) 72%);
}

.terms-orientation {
  border-top: 1px solid var(--color-border);
}

.terms-orientation__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.terms-orientation__rail {
  grid-column: 1 / span 2;
  min-width: 0;
  padding-top: var(--space-4);
}

.terms-orientation__rail .label {
  margin: 0;
}

.terms-orientation .terms-provision {
  grid-column: 3 / span 7;
}

.terms-document-map {
  grid-column: 10 / span 3;
  min-width: 0;
}

.terms-document-map .label {
  display: block;
  margin-bottom: var(--space-3);
}

.terms-document-map__intro {
  margin-bottom: var(--space-3);
  color: var(--color-muted);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.terms-document-map__list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
}

.terms-document-map__list li {
  min-width: 0;
}

.terms-document-map__list a {
  display: block;
  min-height: 2.75rem;
  padding-block: var(--space-2);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.terms-provision {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  margin-bottom: var(--space-7);
}

.terms-provision--card {
  margin-bottom: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-white);
  padding: var(--space-6);
}

.terms-provision--pearl {
  margin-inline: calc(var(--space-5) * -1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-pearl);
  padding: var(--space-5);
}

.terms-provision__number {
  display: flex;
  width: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-cobalt);
  border-radius: var(--radius-control);
  color: var(--color-cobalt);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: 700;
  line-height: 1;
}

.terms-provision__body {
  min-width: 0;
}

.terms-provision__body > :last-child {
  margin-bottom: 0;
}

.terms-provision__body h3 {
  margin-bottom: var(--space-3);
}

.terms-provision__tag {
  margin-bottom: var(--space-2);
  color: var(--color-cobalt);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.terms-provision__tag--coral {
  color: #ba3f2a;
}

.terms-editorial__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
}

.terms-editorial__reading {
  grid-column: 3 / span 7;
  min-width: 0;
}

.terms-editorial__reading > h2 {
  margin-bottom: var(--space-6);
}

.terms-editorial__reading .terms-provision:last-child {
  margin-bottom: 0;
}

.terms-editorial__takeaway {
  grid-column: 8 / span 5;
  min-width: 0;
  margin: 0;
  align-self: end;
}

.terms-editorial__takeaway blockquote {
  margin: 0;
}

.terms-use__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.terms-use__heading {
  grid-column: 1 / span 4;
  min-width: 0;
}

.terms-use__heading .eyebrow {
  margin-bottom: var(--space-3);
}

.terms-use__content {
  display: grid;
  grid-column: 5 / span 8;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  min-width: 0;
}

.terms-use__content > * {
  min-width: 0;
}

.terms-use__content .terms-provision {
  margin-bottom: 0;
}

.terms-restrictions {
  display: grid;
  gap: var(--space-5);
}

.terms-restrictions h3,
.terms-restrictions__list,
.terms-restrictions__note {
  margin: 0;
}

.terms-restrictions__list {
  display: grid;
  gap: var(--space-4);
  padding: 0;
  counter-reset: restrictions;
}

.terms-restrictions__list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  counter-increment: restrictions;
}

.terms-restrictions__list li::before {
  display: flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-control);
  background: var(--color-cobalt);
  color: var(--color-white);
  content: counter(restrictions);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  line-height: 1;
}

.terms-restrictions__note {
  border: 1px solid var(--color-border);
  background: var(--color-pearl);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.terms-content-links__heading {
  max-width: 42rem;
  margin-bottom: var(--space-6);
}

.terms-content-links__heading .eyebrow {
  margin-bottom: var(--space-3);
}

.terms-content-links__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.terms-content-links__cards > * {
  min-width: 0;
}

.terms-topic-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  border-top: 3px solid var(--color-cobalt);
}

.terms-topic-card--external {
  border-top-color: var(--color-lime);
}

.terms-topic-card .label,
.terms-topic-card h3,
.terms-topic-card p {
  margin: 0;
}

.terms-topic-card p {
  max-width: 28rem;
}

.terms-external-notice {
  width: calc((100% - var(--space-5)) / 2);
  min-width: 0;
  margin-top: var(--space-5);
}

.terms-external-notice p {
  margin: 0;
}

.terms-availability__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.terms-availability__index {
  grid-column: 1 / span 3;
  min-width: 0;
  padding-top: var(--space-1);
  color: var(--color-cobalt);
  font-family: var(--font-heading);
  font-size: var(--text-card-heading);
  font-weight: 700;
  letter-spacing: var(--tracking-heading);
}

.terms-availability__reading {
  grid-column: 4 / span 7;
  min-width: 0;
}

.terms-availability__reading > h2 {
  margin-bottom: var(--space-6);
}

.terms-availability__reading .terms-provision:last-child {
  margin-bottom: 0;
}

.terms-current-date {
  max-width: 26.25rem;
  border-top: 1px solid var(--color-cobalt);
  padding-top: var(--space-3);
  color: var(--color-muted);
  font-size: var(--text-label);
  font-weight: 600;
  line-height: var(--leading-label);
}

.terms-contact {
  background: var(--color-graphite);
  color: var(--color-porcelain);
}

.terms-contact__inner {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-contact__content {
  display: flex;
  grid-column: 1 / span 6;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.terms-contact__content .eyebrow,
.terms-contact__content h2,
.terms-contact__content p {
  margin: 0;
}

.terms-contact__content .eyebrow {
  color: var(--color-lime);
}

.terms-contact__content h2 {
  color: var(--color-white);
}

.terms-contact__content > p:not(.terms-contact__acknowledgment) {
  max-width: 36.25rem;
}

.terms-contact__button {
  border-color: var(--color-white);
}

.terms-contact__acknowledgment {
  max-width: 31.25rem;
  border-top: 1px solid rgba(248, 247, 244, 0.52);
  padding-top: var(--space-3);
  color: var(--color-pearl);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.terms-contact__space {
  grid-column: 7 / span 4;
  min-width: 0;
}

@media (max-width: 899px) {
  .terms-masthead__grid,
  .terms-orientation__grid,
  .terms-editorial__grid,
  .terms-use__grid,
  .terms-availability__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .terms-masthead__content {
    grid-column: 1 / span 5;
  }

  .terms-masthead__marker {
    grid-column: 6 / span 1;
    width: 2.75rem;
    height: 2.75rem;
  }

  .terms-orientation__grid {
    gap: var(--space-4);
  }

  .terms-orientation__rail {
    grid-column: 1 / -1;
    padding-top: 0;
  }

  .terms-orientation .terms-provision {
    grid-column: 1 / span 5;
  }

  .terms-document-map {
    grid-column: 1 / -1;
  }

  .terms-document-map__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .terms-editorial__reading {
    grid-column: 1 / span 5;
  }

  .terms-editorial__takeaway {
    grid-column: 1 / -1;
    max-width: 35rem;
  }

  .terms-use__heading {
    grid-column: 1 / -1;
  }

  .terms-use__content {
    grid-column: 1 / -1;
  }

  .terms-availability__index {
    display: none;
  }

  .terms-availability__reading {
    grid-column: 1 / -1;
    max-width: 43.75rem;
  }

  .terms-contact__inner {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .terms-contact__content {
    grid-column: 1 / span 5;
  }

  .terms-contact__space {
    display: none;
  }
}

@media (max-width: 819px) {
  .terms-content-links__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-topic-card p {
    max-width: 43.75rem;
  }

  .terms-external-notice {
    width: 100%;
  }
}

@media (max-width: 699px) {
  .terms-page section[id] {
    scroll-margin-top: 5rem;
  }

  .terms-masthead__grid,
  .terms-orientation__grid,
  .terms-editorial__grid,
  .terms-use__grid,
  .terms-availability__grid,
  .terms-contact__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-masthead__content,
  .terms-orientation__rail,
  .terms-orientation .terms-provision,
  .terms-document-map,
  .terms-editorial__reading,
  .terms-editorial__takeaway,
  .terms-use__heading,
  .terms-use__content,
  .terms-availability__reading,
  .terms-contact__content {
    grid-column: 1;
  }

  .terms-masthead__marker {
    display: none;
  }

  .terms-masthead__content .display-title {
    font-size: clamp(2.625rem, 12vw, 4.25rem);
  }

  .terms-masthead__meta {
    align-items: flex-start;
  }

  .terms-provision,
  .terms-provision--card {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-provision {
    gap: var(--space-3);
    margin-bottom: var(--space-6);
  }

  .terms-provision--card {
    padding: var(--space-5);
  }

  .terms-provision__number {
    width: 2.5rem;
  }

  .terms-provision--pearl {
    margin-inline: 0;
    padding: var(--space-5);
  }

  .terms-document-map__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-document-map__list a {
    display: flex;
    align-items: center;
  }

  .terms-editorial__takeaway {
    max-width: none;
  }

  .terms-use__content {
    gap: var(--space-5);
  }

  .terms-restrictions {
    gap: var(--space-4);
  }

  .terms-restrictions__list li {
    grid-template-columns: 1.75rem minmax(0, 1fr);
  }

  .terms-content-links__heading {
    margin-bottom: var(--space-5);
  }

  .terms-contact__content {
    gap: var(--space-4);
  }
}

@media (max-width: 419px) {
  .terms-contact__button {
    width: 100%;
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }