/* Readable business copy, with monospace reserved for technical annotations. */
.lead:not(.hero__sub) {
  font-size: clamp(1.125rem, 1.8vw, 1.5rem);
  font-weight: 400;
  line-height: 1.6;
}
.concept .lead { max-width: 42ch; }
.solutions__intro .lead { font-size: 1.125rem; }
.hero .hero__sub {
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: none;
  line-height: 1.65;
}
.mono { font-size: .8125rem; letter-spacing: .04em; line-height: 1.5; }
.tag, .field label, .crumbs, .rail__item, .stat__l,
.link-card__tag, .link-card__go, .case-panel__foot .mono, .form-status {
  font-family: var(--font-display);
  font-size: .8125rem;
  letter-spacing: .01em;
  text-transform: none;
  line-height: 1.5;
}
.field label { font-size: .875rem; font-weight: 500; }
.crumbs, .rail__item { color: var(--c-grey-2); }
#contact p.mono {
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.8;
}
#contact p.mono a { display: inline-block; }
.link-card__tag { display: inline-block; }
.faq-compact__answer { font-size: 1rem; line-height: 1.65; }
.faq-compact__item summary { font-size: 1rem; }
.footer--compact small, .footer-compact__contact span { font-size: .8125rem; }

/* Keep the existing 21st.dev feature composition; enlarge its useful details. */
.solution-panel__top, .workflow-preview__heading div > span,
.workflow-track small, .workflow-connect span, .knowledge-sources span,
.workflow-note, .document-steps small { font-size: .8125rem; line-height: 1.5; }
.workflow-track span, .document-steps span { font-size: .875rem; line-height: 1.5; }
.knowledge-answer p { font-size: .875rem; line-height: 1.65; }
.workflow-track { column-gap: 12px; }
.solution-panel__top { flex-wrap: wrap; }

/* Separate mobile diagram captions from the moving artwork, without hiding it. */
.wire__labels { position: absolute; inset: 0; pointer-events: none; }
.wire .tag {
  position: absolute;
  font-family: var(--font-mono);
  font-size: .8125rem;
  line-height: 1.45;
  letter-spacing: 0;
  padding: .4em .6em;
}
.wire__label--apps { top: 10%; right: 5%; }
.wire__label--api { top: 42%; left: 4%; }
.wire__label--data { bottom: 9%; left: 8%; }
.wire__label--cloud { bottom: 27%; right: 5%; }
@media (max-width: 640px) {
  .wire__labels {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
  }
  .wire .tag { position: static; min-width: 0; align-items: flex-start; }
  .wire .tag::before { margin-top: .3em; }
}
