/* Keep content within its grid/flex track; let long labels wrap naturally. */
main, main section, .service-list, .service-row > *, .row-end > *,
.offer-card, .visibility-promo > *, .visibility-promo-action,
.footer-grid > *, .field-pair > *, .three-grid > *, .story-summary {
  min-width: 0;
}
.service-row { grid-template-columns: 120px minmax(0, 1fr) 190px; }
.row-end > span { min-width: 0; overflow-wrap: anywhere; }
.row-end strong { overflow-wrap: anywhere; }
img, video, canvas { max-width: 100%; }
input, select, textarea { min-width: 0; max-width: 100%; }
@media (min-width: 761px) and (max-width: 1000px) {
  .service-row { grid-template-columns: 75px minmax(0, 1fr) 150px; }
}
@media (max-width: 760px) {
  .service-row { grid-template-columns: minmax(0, 1fr); gap: 15px; padding: 28px 0; }
  .service-row .index { grid-column: 1; }
  .service-row h3 { font-size: clamp(26px, 7vw, 34px); overflow-wrap: anywhere; }
  .service-row p { padding-right: 0; font-size: 14px; }
  .service-row .row-end { grid-column: 1; width: 100%; min-width: 0; gap: 20px; }
  .service-row .row-end > span { flex: 1; font-size: 11px; letter-spacing: .04em; }
  .service-row .row-end strong { font-size: 26px; line-height: 1.3; }
  .service-row .row-end small { font-size: 12px; line-height: 1.65; }
  .service-row .row-end b { flex: 0 0 28px; text-align: right; }
  .service-row[href="/ai-search-readiness/"] .row-end strong { font-size: 20px; }
  h1, h2, h3, h4, p, .email, .text-link, .source-notes a, .footer-nav a {
    overflow-wrap: anywhere;
  }
  .button { max-width: 100%; min-width: 0; white-space: normal; }
  .actions { flex-wrap: wrap; min-width: 0; }
  .contact-links { min-width: 0; }
  .contact-links a { overflow-wrap: anywhere; }
  .visibility-promo { width: auto; max-width: calc(100% - 44px); }
  .visibility-promo-action { width: 100%; min-width: 0; }
  .visibility-offer-grid { grid-template-columns: minmax(0, 1fr); }
  .offer-grid, .three-grid, .field-pair, .footer-grid { min-width: 0; }
  .detail-table { max-width: 100%; }
  .detail-table table, .article-body table { width: 100%; table-layout: fixed; }
  .detail-table th, .detail-table td, .article-body th, .article-body td {
    min-width: 0; overflow-wrap: anywhere; padding: 10px 7px;
  }
  .digital-art .orb { left: 50%; transform: translateX(-50%); width: min(230px, 90%); height: auto; aspect-ratio: 1; }
  .hero .contours { max-width: 100%; }
  .hero { overflow: clip; }
}
@media (max-width: 360px) {
  header { margin-left: 10px; margin-right: 10px; padding-left: 10px; padding-right: 10px; }
  .header-mail { margin-right: 10px; }
  .brand span { display: none; }
  .menu { gap: 7px; }
  .hero h1 { font-size: 43px; }
  .offer-head h1 { font-size: 42px; }
  .article-hero h1 { font-size: 36px; }
}
