/* Keep narrow windows readable without hiding overflowing content. */
.messenger, .site-window, .site-paper, .messenger-paper,
.site-paper :where(section, article, aside, div, ul, ol, dl),
.messenger :where(.desk-brand, .brand, .messenger-person > div) {
  min-width: 0;
}
.site-paper :where(p, li, dd, dt, a, h1, h2, h3, h4),
.messenger :where(p, h1, h2, h3, a, button) {
  word-break: normal;
  overflow-wrap: break-word;
}
.site-paper :where(img, video, svg) { max-width: 100%; }
.site-paper img { height: auto; }
.site-paper :where(.platform-table-wrap, .service-comparison-wrap) {
  width: 100%; max-width: 100%; overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.site-paper :where(.button, .text-link), .remote-access-button {
  max-width: 100%; white-space: normal; height: auto; line-height: 1.4;
}
.site-paper .price-card { display: flex; flex-direction: column; align-items: stretch; }
.site-paper .price-card > * { min-width: 0; max-width: 100%; grid-column: auto; grid-row: auto; }
.site-paper .price-card .button { justify-content: center; }
.site-paper :where(.scope-grid, .promise-grid, .workflow-section, .checkup-layout) {
  grid-template-columns: minmax(0, 1fr); gap: 22px;
}
.site-paper .highlight { white-space: normal; }
.messenger-site-header { flex-wrap: wrap; }
.messenger-site-header .desk-brand { flex: 1 1 auto; }
.messenger-site-header .brand { white-space: normal; line-height: 1.2; }
.page-buttons a, .desk-shortcuts a { min-width: 0; line-height: 1.4; }
.messenger-person { flex-wrap: wrap; }
.messenger-person .chat-connection { overflow-wrap: normal; }
.site-paper :where(.demo-header, .demo-bottom, .price-callout, .ai-promise-brief, .lab-card-bottom) {
  flex-wrap: wrap; gap: 12px;
}
.site-paper .flow-row { flex-wrap: wrap; }
.site-paper .flow-row p { flex: 1 1 150px; }
.site-paper .segmented { display: flex; flex-wrap: wrap; max-width: 100%; }
.site-paper .segmented button { flex: 1 1 auto; white-space: normal; }
@media (max-width: 600px) {
  .site-paper, #chat-scroll.messenger-paper { scrollbar-gutter: auto; }
  .site-paper :where(h1, h2, h3) { text-wrap: pretty; }
  .site-paper :where(.intro-card, .lab-card, .service-wide, .platform-choice, .price-card, .savings-example, .inquiry-panel) { padding: 16px; }
  .site-paper .inquiry-panel h2 { padding-right: 0; }
  .site-paper .service-detail-grid article { padding: 16px 0; }
  .site-paper .price { font-size: clamp(2rem, 10vw, 3rem); }
  .site-paper :where(.button, .text-link) { gap: 10px; }
  .site-paper .remote-downloads .button { padding: 12px; text-align: center; justify-content: center; }
  .desk-dialog-body { overflow-wrap: break-word; }
  .desk-dialog :where(h2, p, a) { min-width: 0; max-width: 100%; }
  .page-statusbar { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .messenger-site-header .desk-brand { flex-basis: 100%; }
  .messenger-site-header .remote-access-button { width: 100%; min-height: 40px; }
  .page-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-buttons a { font-size: 12px; }
  body[data-page=home] .messenger-person .chat-connection { max-width: none; margin-left: 0; flex-basis: 100%; text-align: left; }
}
/* Short landscape screens and enlarged text must remain scrollable. */
@media (max-height: 540px) {
  body[data-page=home] { position: static; height: auto; min-height: 100dvh; overflow: auto; }
  body[data-page=home] #main { display: block; }
  body[data-page=home] .home-conversation { display: block; }
  body[data-page=home] .messenger { display: flex; min-height: 0; }
  body[data-page=home] #chat-scroll.messenger-paper { flex: none; height: 230px; min-height: 180px; }
  body:not([data-page=home]) { height: auto; min-height: 100dvh; overflow: auto; }
  .site-window { height: auto; min-height: calc(100dvh - 8px); }
  .site-paper { flex: none; overflow: visible; }
}
