/* OSwrite C2-C v0.2a1: local fallback typography and tablet CTA refinement.
   Phrase boxes wrap internally if enlarged beyond their available width. */
main > section:not(.hero) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}
@supports (word-break: auto-phrase) {
  main > section:not(.hero) { word-break: auto-phrase; }
}
main > section:not(.hero) :is(h2,h3,h4) { text-wrap: balance; }
main > section:not(.hero) a {
  text-wrap: balance;
  /* Emergency wrapping only for enlarged links; headings use phrase boundaries. */
  overflow-wrap: anywhere;
  max-inline-size: 100%;
  min-inline-size: 0;
}
main > section:not(.hero) :is(p,li,dd):not(.method-summary__steps) {
  text-wrap: pretty;
}
main > section:not(.hero) .ty-phrase {
  display: inline-block;
  max-inline-size: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  vertical-align: top;
}
main > section:not(.hero) :is(.ty-link-label,.ty-flow) { min-inline-size: 0; }
/* Retire the case study's arbitrary per-character wrapping. */
.cases .case-card__title,
.cases .case-card__details dd { overflow-wrap: break-word; }

/* Keep cards flexible when text grows, without changing their design. */
.services .services__grid { grid-template-columns: minmax(0,1fr); }
.services .service-card { min-width: 0; }
main > section:not(.hero) :is(li,.out-of-scope__block,.author-summary__body) {
  min-inline-size: 0;
}
@media (min-width: 768px) {
  .services .services__grid--pair { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.target-audience .section-lead,
.contact-cta .section-lead { max-width: 46em; margin-inline: auto; }

@media (max-width: 359px) {
  .services .service-card { padding-inline: 20px; }
  .cases__grid .case-card { padding-inline: 16px; }
  .cases__grid .case-card:nth-child(2) .case-card__title { font-size: 20px; }
}

/* Short semantic units remain usable without auto-phrase/balance support. */
.contact-cta .section-heading {
  letter-spacing: -.025em;
  max-inline-size: 24em;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .contact-cta .section-heading { font-size: clamp(28px,8.2vw,32px); }
}
@media (max-width: 359px) {
  .cases .section-heading { font-size: 26px; letter-spacing: -.025em; }
}
/* Existing two-column tablet CTA: enough label width, same hierarchy. */
@media (min-width: 600px) and (max-width: 999px) {
  .hero--c2-c.hero--finish .hero__cta .btn {
    padding-inline: 24px;
    gap: 20px;
    font-size: 1rem;
  }
}
