.terms-page {
  max-width: var(--container-editorial);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  padding-block-start: var(--space-3xl);
  padding-block-end: var(--space-3xl);
}

.terms-header {
  text-align: center;
  margin-block-end: var(--space-3xl);
}

.terms-plate-number {
  margin-block-end: var(--space-xs);
}

.terms-effective-date {
  margin-block-end: var(--space-lg);
}

.terms-header h1 {
  margin-block-end: var(--space-lg);
}

.terms-standfirst {
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--color-ink-soft);
  max-width: 42ch;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
}

.terms-header p:not(.terms-plate-number):not(.terms-effective-date):not(.terms-standfirst) {
  max-width: 42ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.terms-header-rule {
  margin-block: var(--space-lg);
}

.terms-panel {
  background-color: var(--color-papyrus);
  border: 1px solid var(--color-border-gold);
  box-shadow: var(--color-shadow-panel);
  padding: var(--space-2xl);
  margin-block-end: var(--space-2xl);
}

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

.terms-panel-number {
  margin-block-end: var(--space-sm);
}

.terms-panel h2 {
  margin-block-end: var(--space-md);
}

.terms-panel h3 {
  margin-block-end: var(--space-sm);
}

.terms-panel p {
  margin-block-end: var(--space-md);
}

.terms-panel p:last-child {
  margin-block-end: 0;
}

.terms-list {
  list-style: disc;
  padding-inline-start: var(--space-lg);
  margin-block-end: var(--space-md);
}

.terms-list li {
  margin-block-end: var(--space-sm);
}

.terms-list li:last-child {
  margin-block-end: 0;
}

.terms-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.terms-contact-list li {
  margin-block-end: var(--space-sm);
}

.terms-contact-list li:last-child {
  margin-block-end: 0;
}

.terms-panel a {
  color: var(--color-chocolate);
  border-bottom: 1px solid var(--color-gold);
  transition: border-bottom-width var(--transition-fast), color var(--transition-fast);
}

.terms-panel a:hover {
  border-bottom-width: 2px;
  color: var(--color-fresco-blue);
}

@media (min-width: 640px) {
  .terms-page {
    padding-inline: var(--container-gutter-desktop);
  }
}

@media (max-width: 639px) {
  .terms-page {
    padding-block-start: var(--space-2xl);
    padding-block-end: var(--space-2xl);
  }

  .terms-panel {
    padding: var(--space-xl);
  }
}
