/* Terms of Service: long-form legal text in the framed column */
/* Sections carry no vertical padding (their measured height is content only); spacing between them is margin */
.tos {
  display: flex; flex-direction: column; gap: 20px;
  padding: 0 60px; margin: 0 0 52px;
}
.tos--intro { margin-top: 80px; gap: 24px; }
.tos--intro .t-display { color: var(--ink); max-width: 1280px; }
.tos__group { display: flex; flex-direction: column; gap: 20px; }
.tos > .t-title + * { margin-top: 4px; }
.tos--title-only { margin-bottom: 24px; }
.tos--cont { margin-bottom: 20px; }
.tos--last-cont { margin-bottom: 52px; }

.tos p, .tos li { max-width: 1280px; }
.tos__text, .tos__text li {
  font-size: 16px; line-height: 25px; letter-spacing: -0.16px; font-weight: 500; color: var(--ink-60);
}
.tos__list { display: flex; flex-direction: column; gap: 20px; }
.tos strong { font-weight: 500; color: var(--ink); }
.tos__text a, .tos .t-lead a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.tos .t-small { margin-top: 4px; font-size: 16px; line-height: 24px; }

/* Need help block */
.tos--support { margin-bottom: 80px; }
.support {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 24px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line);
}
.support__main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.support__icon { width: 40px; height: 40px; object-fit: cover; flex: none; }
.support__copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.support__title { font-size: 16px; line-height: 25px; letter-spacing: -0.16px; font-weight: 500; color: var(--ink); }
.support__text { font-size: 14px; line-height: 21px; letter-spacing: -0.28px; font-weight: 400; color: var(--muted); }
.support__text a { color: var(--ink); font-weight: 500; transition: color 0.2s var(--ease); }
.support__text a:hover { text-decoration: underline; }
.support .btn { flex: none; }

@media (max-width: 1199px) {
  .tos { padding-inline: 40px; }
  .tos--intro .t-display { font-size: 48px; line-height: 53px; }
  .tos .t-title { font-size: 20px; line-height: 27px; letter-spacing: -0.6px; }
  .support { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 810px) and (max-width: 1199px) {
  /* Source keeps extra room under Article 2 at tablet width */
  .tos[data-rebuild-section="4"] { padding-bottom: 95px; margin-bottom: 0; }
}
@media (max-width: 809px) {
  .tos { padding-inline: 20px; }
  .tos--intro { margin-top: 48px; }
  .tos--intro .t-display { font-size: 40px; line-height: 44px; letter-spacing: -1.6px; }
  .tos--support { margin-bottom: 48px; }
  .support { flex-direction: column; align-items: stretch; }
  .support__main { flex-direction: column; }
  .support .btn { width: 100%; }
}
