body[data-helper-page] {
  margin: 0;
  background: #a855f7;
  color: #17131d;
  font-family: "Encode Sans Expanded", Arial, sans-serif;
}

body[data-helper-page] > main.terms-page {
  width: 100%;
  background: #f7f7f5;
}

.terms-page {
  --terms-ink: #17131d;
  --terms-muted: #5a5660;
  --terms-purple: #a855f7;
  --terms-lime: #e6ff00;
  --terms-paper: #f7f7f5;
  --terms-line: #d9d5dc;
  color: var(--terms-ink);
  font-size: 16px;
  line-height: 1.72;
}

.terms-page *,
.terms-page *::before,
.terms-page *::after { box-sizing: border-box; }

.terms-page .terms-intro,
.terms-page .terms-clause {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding-inline: clamp(24px, 8.4vw, 160px);
}

.terms-page .terms-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .72fr);
  align-items: end;
  gap: clamp(36px, 7vw, 112px);
  min-height: 470px;
  padding-top: 90px;
  padding-bottom: 88px;
  background-color: #a855f7;
  color: #fff;
}

.terms-page .terms-intro-copy { max-width: 760px; }
.terms-page .terms-eyebrow {
  margin: 0 0 14px;
  color: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.5;
  text-transform: uppercase;
}

.terms-page .terms-intro h1 {
  max-width: 750px;
  margin: 0 0 24px;
  font-size: clamp(42px, 6vw, 84px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.02;
  text-transform: uppercase;
}

.terms-page .terms-lede {
  max-width: 700px;
  margin: 0;
  color: #fff;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.65;
}

.terms-page .terms-updated {
  margin: 26px 0 0;
  color: #f1ddff;
  font-size: 13px;
  letter-spacing: .04em;
}

.terms-page .terms-intro-subtitle {
  margin: 28px 0 8px;
  color: #fff;
  font-size: clamp(20px, 2vw, 27px);
  letter-spacing: -.02em;
  line-height: 1.2;
}

.terms-page .terms-intro-detail {
  max-width: 700px;
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.7;
}

.terms-page .terms-summary {
  padding: 28px 30px 30px;
  border-top: 5px solid #17131d;
  background: #e6ff00;
  color: #17131d;
  box-shadow: 12px 12px 0 rgb(23 19 29 / 14%);
}

.terms-page .summary-label {
  margin: 0 0 13px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.terms-page .terms-summary ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-page .terms-summary li {
  position: relative;
  padding-left: 19px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.terms-page .terms-summary li::before {
  position: absolute;
  top: .56em;
  left: 0;
  width: 8px;
  height: 8px;
  background: #a855f7;
  content: "";
}

.terms-page .terms-clause {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: clamp(28px, 5vw, 76px);
  padding-top: clamp(52px, 7vw, 92px);
  padding-bottom: clamp(54px, 7vw, 92px);
  border-bottom: 1px solid var(--terms-line);
  background-color: #f7f7f5;
}

.terms-page .terms-clause-tint { background-color: #efedf0; }

.terms-page .clause-number {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border-radius: 50%;
  background: #17131d;
  color: #e6ff00;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .06em;
}

.terms-page .clause-content { max-width: 850px; }
.terms-page .clause-content .terms-eyebrow { color: #8e42d8; }

.terms-page .clause-content h2 {
  margin: 0 0 22px;
  color: #17131d;
  font-size: clamp(27px, 3vw, 42px);
  font-weight: 750;
  letter-spacing: -.04em;
  line-height: 1.14;
}

.terms-page .clause-content p:not(.terms-eyebrow) {
  max-width: 810px;
  margin: 0 0 18px;
  color: #49454f;
  font-size: 16px;
  line-height: 1.78;
}

.terms-page .clause-content p:last-child { margin-bottom: 0; }
.terms-page .terms-text-link {
  color: #6425a3;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #a855f7;
  text-underline-offset: 3px;
}

.terms-page .terms-policy { background-color: #17131d; color: #fff; }
.terms-page .terms-policy .clause-number { background: #e6ff00; color: #17131d; }
.terms-page .terms-policy .clause-content h2 { color: #fff; }
.terms-page .terms-policy .clause-content p:not(.terms-eyebrow) { color: #ded9e4; }
.terms-page .terms-policy .clause-content .terms-eyebrow { color: #d4a6ff; }

.terms-page .policy-link,
.terms-page .terms-contact-link {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  margin-top: 20px;
  padding: 0 20px;
  background-color: #e6ff00;
  color: #17131d;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.terms-page .policy-link span:last-child,
.terms-page .terms-contact-link span { font-size: 20px; }
.terms-page .policy-link:hover,
.terms-page .terms-contact-link:hover { background-color: #fff; }
.terms-page .policy-note { margin-top: 18px !important; font-size: 13px !important; }

.terms-page .terms-contact {
  grid-template-columns: 74px minmax(0, 1fr) auto;
  align-items: start;
  border-bottom: 0;
  background: #a855f7;
  color: #fff;
}
.terms-page .terms-contact .clause-number { background: #e6ff00; color: #17131d; }
.terms-page .terms-contact .clause-content h2 { color: #fff; }
.terms-page .terms-contact .clause-content p:not(.terms-eyebrow) { color: #fff; }
.terms-page .terms-contact .clause-content .terms-eyebrow { color: #f2ddff; }
.terms-page .terms-contact-link { margin-top: 48px; background-color: #17131d; color: #fff; white-space: nowrap; }
.terms-page .terms-contact-link:hover { background-color: #3d2e4b; }
.terms-page .terms-noscript-pixel { position: absolute; width: 1px; height: 1px; }
.terms-page a:focus-visible { outline: 3px solid #17131d; outline-offset: 4px; }
.terms-page .terms-policy a:focus-visible { outline-color: #fff; }

@media (max-width: 900px) {
  .terms-page .terms-intro { grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr); gap: 34px; padding-inline: clamp(28px, 6vw, 60px); }
  .terms-page .terms-clause { padding-inline: clamp(28px, 6vw, 60px); }
  .terms-page .terms-contact { grid-template-columns: 64px minmax(0, 1fr); }
  .terms-page .terms-contact-link { grid-column: 2; justify-self: start; margin-top: 2px; }
}

@media (max-width: 620px) {
  .terms-page { font-size: 15px; }
  .terms-page .terms-intro { grid-template-columns: 1fr; gap: 32px; min-height: 0; padding: 58px 24px 52px; }
  .terms-page .terms-intro h1 { max-width: 480px; font-size: clamp(39px, 12vw, 58px); }
  .terms-page .terms-lede { font-size: 16px; }
  .terms-page .terms-summary { padding: 22px 22px 24px; }
  .terms-page .terms-clause { grid-template-columns: 44px minmax(0, 1fr); gap: 17px; padding: 43px 24px 48px; }
  .terms-page .clause-number { width: 42px; height: 42px; font-size: 12px; }
  .terms-page .clause-content h2 { margin-bottom: 16px; font-size: 28px; }
  .terms-page .clause-content p:not(.terms-eyebrow) { font-size: 15px; line-height: 1.72; }
  .terms-page .terms-contact { grid-template-columns: 44px minmax(0, 1fr); }
  .terms-page .terms-contact-link { grid-column: 2; min-height: 50px; }
}
