.terms-page {
  background: var(--color-ice-white);
  padding-block: var(--space-6) var(--space-10);
}

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

.terms-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(15rem, 4fr);
  gap: var(--space-8);
  align-items: start;
}

.terms-page__document,
.terms-page__rail,
.terms-comparison > *,
.terms-intro__meta > *,
.terms-topic-list > *,
.terms-tag-row > * {
  min-width: 0;
}

.terms-page__document {
  grid-column: 1;
  width: 100%;
  max-width: 47.5rem;
}

.terms-page__breadcrumb {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-6);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: 1.333;
}

.terms-page__breadcrumb a {
  min-height: 1.5rem;
}

.terms-intro {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block-end: var(--space-8);
}

.terms-intro::before {
  position: absolute;
  top: 0;
  left: calc(-1 * var(--space-4));
  width: 0.375rem;
  height: 6rem;
  background: var(--color-royal-purple);
  content: "";
  transform: skewY(-17deg);
}

.terms-intro .eyebrow,
.terms-intro h1,
.terms-intro p {
  margin: 0;
}

.terms-intro h1 {
  max-width: 42rem;
}

.terms-intro__lead {
  width: 100%;
  max-width: 42.5rem;
  font-size: var(--text-lead);
  line-height: 1.4;
}

.terms-intro__meta {
  display: flex;
  width: auto;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.terms-intro__acceptance {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
  padding: var(--space-5);
}

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

.terms-intro__acceptance h2 {
  font-size: var(--text-card-title);
}

.terms-section {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  padding-block: var(--space-8);
  border-top: 1px solid var(--color-line-silver);
}

.terms-section__number {
  color: var(--color-royal-purple);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

.terms-section > h2 {
  width: 100%;
  max-width: 46.25rem;
  margin: 0;
}

.terms-copy-block,
.terms-mechanic-card,
.terms-strategy-card,
.terms-use-block,
.terms-responsibility-panel,
.terms-external-panel,
.terms-availability-block,
.terms-update-block {
  width: 100%;
  min-width: 0;
  max-width: 45rem;
}

.terms-copy-block h3,
.terms-copy-block p,
.terms-copy-block ul,
.terms-mechanic-card h3,
.terms-mechanic-card p,
.terms-mechanic-card ul,
.terms-strategy-card h3,
.terms-strategy-card p,
.terms-use-block h3,
.terms-use-block p,
.terms-use-block ul,
.terms-responsibility-panel h3,
.terms-responsibility-panel p,
.terms-external-panel h3,
.terms-external-panel p,
.terms-availability-block h3,
.terms-availability-block p,
.terms-update-block h3,
.terms-update-block p,
.terms-update-block ul {
  margin: 0;
}

.terms-copy-block,
.terms-mechanic-card,
.terms-strategy-card,
.terms-use-block,
.terms-responsibility-panel,
.terms-external-panel,
.terms-availability-block,
.terms-update-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.terms-topic-list {
  display: grid;
  width: min(100%, 51.25rem);
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-5);
  margin: 0;
  padding-inline-start: 1.25rem;
}

.terms-independence,
.terms-rights-panel,
.terms-liability-callout {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid rgba(247, 249, 252, 0.58);
  box-shadow: inset 0 0 0 1px rgba(247, 249, 252, 0.16), var(--shadow-panel);
  padding: var(--space-5);
}

.terms-independence h3,
.terms-independence p,
.terms-rights-panel h3,
.terms-rights-panel p,
.terms-liability-callout h3,
.terms-liability-callout p {
  margin: 0;
}

.terms-independence .badge,
.terms-liability-callout .badge {
  border-color: rgba(247, 249, 252, 0.8);
  color: var(--color-ice-white);
  background: transparent;
}

.terms-copy-block--lined {
  border-inline-start: 4px solid var(--color-electric-turquoise);
  padding-inline-start: var(--space-5);
}

.terms-mechanic-card,
.terms-strategy-card {
  border: 1px solid var(--color-line-silver);
  border-radius: var(--radius-card);
  padding: var(--space-5);
}

.terms-mechanic-card {
  border-top: 4px solid var(--color-electric-turquoise);
  background: var(--color-paper-white);
}

.terms-strategy-card {
  border-top: 4px solid var(--color-royal-purple);
  background: var(--color-soft-lavender);
}

.terms-tag-row {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.terms-tag-row span {
  max-width: 100%;
  border: 1px solid rgba(85, 37, 138, 0.35);
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.5rem;
  color: var(--color-royal-purple);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.25;
}

.terms-copy-block--purple-line {
  border-inline-start: 4px solid var(--color-royal-purple);
  padding-inline-start: var(--space-5);
}

.terms-comparison {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 47.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-comparison__item {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid var(--color-line-silver);
  border-radius: var(--radius-card);
  padding: var(--space-5);
}

.terms-comparison__item h3,
.terms-comparison__item p,
.terms-comparison__item ul {
  margin: 0;
}

.terms-comparison__item--mechanic {
  border-top: 4px solid var(--color-electric-turquoise);
  background: var(--color-paper-white);
}

.terms-comparison__item--strategy {
  border-top: 4px solid var(--color-flame-orange);
  background: var(--color-soft-lavender);
}

.terms-comparison__item ul {
  padding-inline-start: 1.1rem;
  font-size: var(--text-sm);
}

.terms-interpretation {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 40rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.terms-interpretation h3,
.terms-interpretation p {
  margin: 0;
}

.terms-use-block {
  border-inline-start: 4px solid var(--color-electric-turquoise);
  padding-inline-start: var(--space-5);
}

.terms-use-block--restricted {
  border: 1px solid var(--color-line-silver);
  border-inline-start: 4px solid var(--color-flame-orange);
  border-radius: var(--radius-card);
  background: var(--color-paper-white);
  padding: var(--space-5);
}

.terms-responsibility-panel {
  max-width: 41.25rem;
  border: 1px solid var(--color-line-silver);
  border-radius: var(--radius-card);
  background: #f1f3f6;
  padding: var(--space-5);
}

.terms-copy-block--editorial {
  max-width: 45rem;
  padding: var(--space-5);
}

.terms-copy-block--editorial blockquote {
  width: 100%;
  margin: 0;
}

.terms-linking-rule,
.terms-no-guarantee,
.terms-interpretation-rule {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.terms-linking-rule {
  border-bottom: 3px solid var(--color-electric-turquoise);
  padding-block-end: var(--space-4);
}

.terms-linking-rule h3,
.terms-linking-rule p,
.terms-no-guarantee h3,
.terms-no-guarantee p,
.terms-interpretation-rule h3,
.terms-interpretation-rule p {
  margin: 0;
}

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

.terms-availability-block {
  border-inline-start: 4px solid var(--color-graphite);
  padding-inline-start: var(--space-5);
}

.terms-no-guarantee {
  border-top: 4px solid var(--color-flame-orange);
  border-radius: var(--radius-card);
  background: var(--color-paper-white);
  padding: var(--space-5);
}

.terms-liability-lead {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.terms-liability-lead h3,
.terms-liability-lead p {
  margin: 0;
}

.terms-liability-lead p {
  font-size: var(--text-lead);
  line-height: 1.4;
}

.terms-interpretation-rule {
  border-top: 1px solid var(--color-line-silver);
  padding-top: var(--space-5);
}

.terms-section--closing {
  padding-block-end: 0;
}

.terms-update-block {
  max-width: 42.5rem;
}

.terms-contact-cta {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid var(--color-line-silver);
  border-radius: var(--radius-card);
  background: var(--color-paper-white);
  padding: var(--space-5);
}

.terms-contact-cta h3,
.terms-contact-cta p {
  margin: 0;
}

.terms-contact-cta .button {
  min-width: 0;
}

.terms-contact-cta__email {
  font-size: var(--text-sm);
}

.terms-page__rail {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  padding-top: 5.25rem;
}

.terms-page__rail-inner {
  position: sticky;
  top: var(--space-6);
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  border-inline-start: 1px solid var(--color-line-silver);
  padding-inline-start: var(--space-5);
}

.terms-page__rail-title {
  margin: 0;
  color: var(--color-royal-purple);
  font-size: var(--text-sm);
  font-weight: 700;
}

.terms-page__rail ol {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-page__rail li,
.terms-page__rail a {
  width: 100%;
  min-width: 0;
}

.terms-page__rail a {
  display: block;
  padding-block: 0.2rem;
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

@media (max-width: 66.24rem) {
  .terms-page__layout {
    grid-template-columns: minmax(0, 10fr) minmax(0, 2fr);
    gap: var(--space-6);
  }

  .terms-page__document {
    max-width: 47.5rem;
  }
}

@media (max-width: 61.24rem) {
  .terms-page__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__document {
    grid-column: 1;
  }

  .terms-page__rail {
    display: none;
  }

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

@media (max-width: 56.24rem) {
  .terms-topic-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-mechanic-card,
  .terms-strategy-card,
  .terms-use-block--restricted,
  .terms-responsibility-panel,
  .terms-copy-block--editorial,
  .terms-independence,
  .terms-rights-panel,
  .terms-liability-callout,
  .terms-external-panel,
  .terms-no-guarantee,
  .terms-contact-cta {
    padding: var(--space-4);
  }
}

@media (max-width: 47.99rem) {
  .terms-page {
    padding-block: var(--space-5) var(--space-8);
  }

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

  .terms-page__breadcrumb {
    margin-block-end: var(--space-5);
  }

  .terms-intro {
    gap: var(--space-3);
    padding-block-end: var(--space-7);
  }

  .terms-intro::before {
    display: none;
  }

  .terms-intro h1 {
    font-size: clamp(2.5rem, 11vw, 2.75rem);
    line-height: 1;
  }

  .terms-intro__lead {
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .terms-intro__meta {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  .terms-intro__acceptance {
    padding: var(--space-4);
  }

  .terms-section {
    gap: var(--space-4);
    padding-block: var(--space-7);
  }

  .terms-section > h2 {
    font-size: clamp(2rem, 9vw, 2.25rem);
    line-height: 1;
  }

  .terms-copy-block,
  .terms-mechanic-card,
  .terms-strategy-card,
  .terms-use-block,
  .terms-responsibility-panel,
  .terms-external-panel,
  .terms-availability-block,
  .terms-update-block,
  .terms-interpretation,
  .terms-linking-rule,
  .terms-no-guarantee,
  .terms-liability-lead,
  .terms-interpretation-rule,
  .terms-contact-cta {
    max-width: none;
  }

  .terms-copy-block--lined,
  .terms-copy-block--purple-line,
  .terms-use-block,
  .terms-availability-block {
    padding-inline-start: var(--space-4);
  }

  .terms-topic-list {
    gap: var(--space-3);
  }

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

  .terms-comparison__item {
    padding: var(--space-4);
  }

  .terms-liability-lead p {
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .terms-contact-cta .button {
    width: 100%;
  }
}
