.tsw-grid {
  display: grid;
  gap: var(--tsw-space-lg);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.tsw-price-grid {
  display: grid;
  gap: var(--tsw-space-md);
}

.tsw-narrow {
  max-width: var(--tsw-container-narrow);
}

.tsw-note {
  margin-block-start: var(--tsw-space-lg);
  color: var(--tsw-text-faint);
  font-size: var(--tsw-text-sm);
}

.tsw-faq {
  margin-block-start: var(--tsw-space-lg);
}

.tsw-faq tsw-disclosure:first-child {
  border-block-start: var(--tsw-border-w) solid var(--tsw-border);
}

.tsw-prose > * + * {
  margin-block-start: var(--tsw-space-md);
}

.tsw-prose h3 {
  margin-block-start: var(--tsw-space-xl);
  font-size: var(--tsw-text-lg);
}

.tsw-prose p,
.tsw-prose li {
  color: var(--tsw-text-muted);
  max-width: var(--tsw-measure);
}

.tsw-steps {
  list-style: none;
  padding: 0;
  margin: var(--tsw-space-lg) 0 0;
  display: grid;
  gap: var(--tsw-space-lg);
  counter-reset: none;
}

.tsw-steps li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--tsw-space-md);
  align-items: start;
}

.tsw-steps__n {
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: var(--tsw-radius-full);
  background: var(--tsw-accent-soft);
  color: var(--tsw-accent-ink);
  font-family: var(--tsw-font-mono);
  font-size: var(--tsw-text-sm);
  font-weight: 700;
  flex: none;
}

.tsw-steps h3 {
  margin-block-end: var(--tsw-space-2xs);
  font-size: var(--tsw-text-lg);
}

.tsw-steps p {
  color: var(--tsw-text-muted);
  max-width: var(--tsw-measure);
}

@media (prefers-color-scheme: dark) {
  :root {
    --tsw-accent-soft: #3a2c0c;
  }
}
