/* Мобильная навигация и читаемость. Подключается последней на всех публичных страницах. */
@media (max-width: 760px) {
  html { scroll-padding-top: 18px; }
  body { -webkit-text-size-adjust: 100%; }
  body .studio-header.header .contact-top { font-size: 12px; min-height: 44px; }
  body .studio-header.header nav { font-size: 13px; }
  .header-readings > summary { min-height: 44px; }
  .studio-header .reading-menu { width: min(350px, calc(100vw - 40px)); max-height: calc(100svh - 150px); overflow-y: auto; overscroll-behavior: contain; }
  .hero-connected .hero-stages { font-size: 12px; }
  .hero-connected .hero-stages li { padding-left: 10px; }
  .hero-connected .hero-bottom { font-size: 12px; }
  #process .process-explorer.is-interactive .process-selector { position: static; margin: 24px 0 14px; padding: 6px; }
  #process .process-panel { scroll-margin-top: 18px; }
  .case-dialog { max-height: calc(100dvh - 16px); overscroll-behavior: contain; }
  .case-navigation { overflow-x: auto; overscroll-behavior-x: contain; }
  .case-navigation button, .case-page-nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .case-readmore { min-height: 44px; align-items: center; }
  .contact .contact-grid { gap: 32px; }
  .contact .contact-expectation { margin-top: 24px; }
  .footer a { display: inline-flex; align-items: center; min-height: 44px; }
  .case-page .header { display: grid; grid-template-columns: minmax(0, 1fr) auto; height: auto; min-height: 78px; padding-block: 16px 8px; gap: 8px 12px; }
  .case-page .header nav { display: flex; grid-column: 1 / -1; grid-row: 2; justify-content: space-between; gap: 14px; font-size: 13px; }
  .case-page .header nav a { display: flex; align-items: center; min-height: 44px; }
  .case-page .header .contact-top { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 12px; font-size: 12px; white-space: nowrap; }
  .case-page .header .brand small { display: none; }
  .guide-hero h1, .case-page-hero h1 { overflow-wrap: anywhere; }
  .decision-table { -webkit-overflow-scrolling: touch; }
}
@media (max-width: 350px) {
  body .studio-header.header nav { font-size: 12px; }
  .hero-connected .hero-aside p { font-size: 15px; padding-right: 60px; }
  .hero-connected .eyebrow { font-size: 8px; letter-spacing: .06em; }
  .hero-connected .hero-stages { font-size: 11px; }
  .case-page .header .brand { font-size: 19px; gap: 6px; }
}
@media (pointer: coarse) {
  #brief-form input:not([type=checkbox]), #brief-form textarea, #brief-form select { font-size: 16px; }
}
