.terms-page {
  background: var(--color-soft-white);
  color: var(--color-ink-black);
}

.terms-opening {
  padding-block: var(--space-10) var(--space-9);
  border-top: 1px solid var(--color-midnight-blue);
}

.terms-opening__grid,
.terms-section__grid,
.terms-closing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.terms-opening__content {
  grid-column: 2 / span 6;
  min-width: 0;
  max-width: 42.5rem;
}

.terms-opening__eyebrow {
  color: var(--color-muted);
}

.terms-opening h1 {
  margin-block-end: var(--space-5);
  font-size: clamp(3.25rem, 8vw, 6.5rem);
  line-height: 0.9;
}

.terms-opening__date {
  margin-block: 0 var(--space-4);
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: var(--line-height-small);
}

.terms-opening__rule {
  margin-block: 0 var(--space-5);
  background: var(--color-line-blue-grey);
}

.terms-opening__intro {
  max-width: 40rem;
  margin-block-end: 0;
}

.terms-section {
  padding-block: var(--space-9);
}

.terms-section__index {
  grid-column: 2 / span 2;
  min-width: 0;
  color: var(--color-steel-grey);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  letter-spacing: var(--tracking-heading);
  line-height: 0.95;
}

.terms-section__body {
  grid-column: 4 / span 6;
  min-width: 0;
  max-width: 43.75rem;
}

.terms-section__body > h2 {
  max-width: 37rem;
  margin-block-end: var(--space-7);
  font-size: clamp(2rem, 4vw, 3rem);
}

.terms-copy-block {
  width: 100%;
  min-width: 0;
  max-width: 42rem;
}

.terms-copy-block h3,
.terms-use-item h3,
.terms-information-module h3,
.terms-liability-note h3,
.terms-dark-block h3 {
  margin-block-end: var(--space-3);
}

.terms-copy-block p,
.terms-use-item p,
.terms-information-module p,
.terms-liability-note p,
.terms-dark-block p {
  line-height: 1.65;
}

.terms-copy-block--ruled,
.terms-use-item,
.terms-information-module,
.terms-liability-note,
.terms-dark-block {
  margin-block-start: var(--space-7);
  padding-block-start: var(--space-7);
  border-top: 1px solid rgb(41 64 82 / 55%);
}

.terms-copy-block__highlight {
  max-width: 31rem;
  margin-block-end: 0;
  color: var(--color-midnight-blue);
  font-family: var(--font-heading);
  font-size: var(--font-size-intro);
  font-weight: 600;
  line-height: 1.3;
}

.terms-use-item {
  max-width: 43rem;
}

.terms-use-item:first-of-type {
  margin-block-start: 0;
  padding-block-start: 0;
  border-top: 0;
}

.terms-use-item--last {
  margin-block-end: 0;
}

.terms-use-item__note {
  color: var(--color-muted);
}

.terms-prohibited-list {
  max-width: 38rem;
  margin-block: 0 var(--space-5);
  padding-inline-start: 1.25rem;
}

.terms-prohibited-list li {
  min-width: 0;
  margin-block-end: var(--space-3);
  padding-inline-start: var(--space-2);
}

.terms-prohibited-list li::marker {
  color: var(--color-electric-blue);
}

.terms-editorial-note {
  width: 60%;
  min-width: 0;
  margin-block: var(--space-7);
  margin-inline-start: 12%;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-electric-blue);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.08;
}

.terms-information-module {
  max-width: 42rem;
}

.terms-information-module:first-of-type {
  margin-block-start: 0;
  padding-block-start: 0;
  border-top: 0;
}

.terms-information-module--wide {
  max-width: 43.75rem;
}

.terms-information-module--last {
  margin-block-end: 0;
}

.terms-section--intellectual {
  padding-block: var(--space-9);
  background: #e8e9e6;
}

.terms-contact-line {
  margin-block-end: 0;
  font-weight: 700;
}

.terms-liability-note {
  max-width: 42rem;
}

.terms-liability-note:first-of-type {
  margin-block-start: 0;
  padding-block-start: 0;
  border-top: 0;
}

.terms-liability-note--last {
  margin-block-end: 0;
  padding-block-end: var(--space-7);
  border-bottom: 1px solid rgb(41 64 82 / 55%);
}

.terms-section--dark {
  --color-text: var(--color-white-smoke);
  --color-muted: #c3ccd1;
  padding-block: var(--space-10);
  background: var(--color-midnight-blue);
  color: var(--color-white-smoke);
}

.terms-section--dark .terms-section__index {
  color: var(--color-electric-blue);
}

.terms-section--dark .terms-dark-block {
  border-top-color: var(--color-line-blue-grey);
}

.terms-section--dark a {
  color: var(--color-white-smoke);
  text-decoration-color: var(--color-electric-blue);
}

.terms-section--dark a:hover {
  color: var(--color-electric-blue);
}

.terms-dark-block {
  max-width: 42rem;
}

.terms-dark-block:first-of-type {
  margin-block-start: 0;
  padding-block-start: 0;
  border-top: 0;
}

.terms-dark-block--last {
  margin-block-end: 0;
}

.terms-dark-block__date {
  margin-block-end: 0;
  color: var(--color-white-smoke);
  font-size: var(--font-size-small);
  font-weight: 700;
}

.terms-closing {
  padding-block: var(--space-10) var(--space-11);
}

.terms-closing__label {
  grid-column: 2 / span 2;
  min-width: 0;
  padding-block-start: var(--space-2);
}

.terms-closing__content {
  grid-column: 4 / span 6;
  min-width: 0;
  max-width: 38.75rem;
  padding-block-start: var(--space-5);
  border-top: 2px solid var(--color-electric-blue);
}

.terms-closing__content h2 {
  margin-block-end: var(--space-5);
  font-size: clamp(2rem, 4vw, 3rem);
}

.terms-closing__content > p {
  max-width: 38rem;
  line-height: 1.65;
}

.terms-contact-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: var(--space-7) 0 0;
  font-style: normal;
}

.terms-contact-list__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  padding-block-end: var(--space-4);
  border-bottom: 1px solid rgb(41 64 82 / 55%);
}

.terms-contact-list__item:last-child {
  padding-block-end: 0;
  border-bottom: 0;
}

.terms-contact-list__item span {
  color: var(--color-muted);
  font-size: var(--font-size-micro);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--line-height-micro);
  text-transform: uppercase;
}

.terms-contact-list__item a,
.terms-contact-list__item p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: var(--font-size-body);
  font-weight: 700;
  line-height: 1.55;
}

.terms-page a:not(.button) {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.terms-page a:not(.button):hover {
  color: var(--color-electric-blue);
}

@media (max-width: 56.1875rem) {
  .terms-opening__content {
    grid-column: 2 / span 8;
  }

  .terms-section__body,
  .terms-closing__content {
    grid-column: 4 / span 7;
  }
}

@media (max-width: 51.1875rem) {
  .terms-opening__grid,
  .terms-section__grid,
  .terms-closing__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .terms-opening {
    padding-block: var(--space-9) var(--space-8);
  }

  .terms-opening__content,
  .terms-section__body,
  .terms-closing__content {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 43.75rem;
  }

  .terms-section__index,
  .terms-closing__label {
    grid-column: 1 / -1;
    width: 100%;
    margin-block-end: var(--space-3);
  }

  .terms-section__index {
    font-size: var(--font-size-micro);
    letter-spacing: var(--tracking-label);
    line-height: var(--line-height-micro);
  }

  .terms-section__index::before {
    content: "Seção ";
  }

  .terms-section__body > h2 {
    margin-block-end: var(--space-6);
  }

  .terms-editorial-note {
    width: 100%;
    margin-inline-start: 0;
  }

  .terms-closing__label {
    padding-block-start: 0;
  }

  .terms-closing__content {
    padding-block-start: var(--space-4);
  }
}

@media (max-width: 47.9375rem) {
  .terms-section {
    padding-block: var(--space-8);
  }

  .terms-section--intellectual,
  .terms-section--dark {
    padding-block: var(--space-8);
  }

  .terms-opening h1 {
    font-size: clamp(2.75rem, 14vw, 4rem);
  }

  .terms-opening__intro {
    max-width: 100%;
  }

  .terms-copy-block--ruled,
  .terms-use-item,
  .terms-information-module,
  .terms-liability-note,
  .terms-dark-block {
    margin-block-start: var(--space-6);
    padding-block-start: var(--space-6);
  }

  .terms-editorial-note {
    margin-block: var(--space-6);
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  .terms-closing {
    padding-block: var(--space-8) var(--space-10);
  }
}

@media (max-width: 29.9375rem) {
  .terms-opening__grid,
  .terms-section__grid,
  .terms-closing__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-opening__content,
  .terms-section__body,
  .terms-closing__content,
  .terms-section__index,
  .terms-closing__label {
    grid-column: 1;
  }

  .terms-prohibited-list {
    padding-inline-start: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page a:not(.button) {
    transition: none;
  }
}
