/* Mobile ergonomics shared by the existing page families. */
html { scroll-padding-top: 88px; }
.plain-nav .plain-menu { cursor: pointer; }
.plain-mobile { max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior-y: contain; }
.plain-mobile .plain-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.contact-wrap > .contact-form-column { grid-column: 2; grid-row: 1; min-width: 0; }
.contact-wrap > .contact-aside { grid-column: 1; grid-row: 1; min-width: 0; }

@media (max-width: 820px) {
  form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), textarea, select):not(.sr-only):not([name=website]) {
    font-size: 16px;
    max-width: 100%;
    min-width: 0;
  }
  form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]), select):not(.sr-only):not([name=website]) { min-height: 48px; }
  form textarea { min-height: 144px; resize: vertical; }
  form :is(input[type=radio], input[type=checkbox]) { flex-shrink: 0; width: 18px; height: 18px; }
  form .radio-option { min-height: 48px; }
  :is(.button, .btn, .plain-contact, button[type=submit]) {
    min-height: 48px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
  }
  .preview-footer-inner > div { min-width: 0; }
  .preview-footer a {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-block: 0;
    padding-block: 8px;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .preview-footer-bottom { overflow-wrap: anywhere; }
  :is(.image-tools, .request-dialog) .icon-button,
  :is(.image-dialog, .request-dialog) .dialog-close { min-width: 44px; min-height: 44px; }
  :is(.hero-actions, .hero-ctas, .actions, .submit-row) { min-width: 0; }
  .plain-brand { min-height: 44px; }
  .plain-links > a,
  .plain-nav-actions .plain-lang a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }
  .plain-nav-actions .plain-lang a { min-width: 44px; }
  .ab-home .hero-actions .text-link,
  .proof-hero .actions .text-link,
  .case-link,
  .analytics-env-card > a,
  .founder-actions > a,
  .hero-note > .js-booking-link,
  .post-eyebrow .mono-link,
  .note-gate-actions button,
  .note-drift-toggle button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .receipt-block summary { display: flex; align-items: center; min-height: 44px; }
  label:has(> #estate-report) { min-height: 44px; }
}
@media (max-width: 760px) {
  .contact-wrap > .contact-form-column,
  .contact-wrap > .contact-aside { grid-column: auto; grid-row: auto; }
}
@media (max-width: 720px) {
  .plain-menu { width: 44px; height: 44px; flex: 0 0 44px; }
  .plain-mobile > a { display: flex; align-items: center; min-height: 48px; }
  .plain-mobile { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
}
@media (max-width: 400px) {
  h1, h2, h3 { overflow-wrap: anywhere; }
  :is(.hero-actions, .hero-ctas, .actions, .submit-row) > :is(.button, .btn) { width: 100%; justify-content: center; }
  .form-card { padding: 20px; }
}
@media (max-width: 360px) {
  .ab-home .hero h1 { font-size: 34px; max-width: none; }
}
