/* Give two-column sections flexible tracks on compact desktop screens. */
@media (min-width: 961px) and (max-width: 1399px) {
  .section-shell:is(.demo-hero__inner, .blog-hero__inner, .platform-page-hero__inner,
    .product-hero__inner, .imr-leadership__inner, .riss-member-experience__inner,
    .messaging-member, .assist-execution, .security-standard__inner, .about-focus__inner,
    .pha-product-member__inner, .dental-intelligence) {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    column-gap: clamp(24px, 3vw, 42px);
  }
  .about-story.section-shell { grid-template-columns: 90px minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px; }
  .about-principles__heading { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 36px; }
  .section-shell :is(.demo-form-card, .blog-hero-feature, .platform-command-stage, .assist-hero-stage,
    .dental-hero-stage, .assist-execution-map, .imr-readiness-radar) { min-width: 0; max-width: 100%; }
}
@media (min-width: 961px) and (max-width: 1140px) {
  header.site-header .brand__name { white-space: nowrap; font-size: 13px; }
  header.site-header .site-nav { gap: 13px; }
  header.site-header .site-nav > a, header.site-header .platform-mega__trigger { white-space: nowrap; font-size: 13px; }
  .site-nav .platform-mega__panel { max-width: min(76vw, 830px); }
}
@media (max-width: 700px) {
  .section-shell:is(.security__inner,.pha-layout,.provider-layout,.imr-layout,.dental-layout,.messaging-layout,.assist-layout,.security-page-hero__inner),
  .module-overview__intro, .requirements-heading, .demo-contact__grid { grid-template-columns: minmax(0,1fr); }
  .section-shell > *, .requirements-heading > *, .module-overview__intro > *, .demo-contact__grid > * { min-width: 0; }
  .demo-contact__grid strong { overflow-wrap: anywhere; }
  .site-footer a { overflow-wrap: break-word; }
}
@media (max-width: 420px) {
  .requirements-heading h2, .security-copy h2, .module-overview__intro h2,
  .platform-foundation__grid h3, .security-page-hero h1, #outpatient-ai-title {
    font-size: clamp(35px,10.7vw,45px);
  }
  .demo-form-card form, .demo-form-card label, .demo-form-card :is(input,select,textarea) { min-width: 0; max-width: 100%; }
  .requirements-heading h2 { padding-inline-start: 0; }
  .section-shell .warrior-compose__controls { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .requirements-heading__aside { grid-template-columns: minmax(0,1fr); }
  .requirements-heading__aside p { max-width: 100%; }
}
@media (max-width: 420px) {
  .deck-security .security-copy h2, .security-page-hero .security-page-hero__copy h1 {
    font-size: clamp(35px,10.7vw,45px);
    line-height: 1.08;
  }
}
@media (min-width: 961px) and (max-width: 1140px) {
  .section-shell.dental-layout { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 24px; }
  .dental-layout .dental-panel { width: 100%; min-width: 0; }
}
form select:not([multiple]):not([size]) {
  appearance: none;
  padding-inline-end: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23465e75' stroke-width='1.8'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 16px;
}
@media (forced-colors: active) {
  form select:not([multiple]):not([size]) { appearance: auto; background-image: none; }
}

@media (min-width: 1400px) {
  .product-hero__inner:has(.assist-hero-stage) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .product-hero__inner .assist-hero-stage { min-width: 0; max-width: 100%; }
}

/* A swipe that starts on a marketing illustration belongs to the page. */
:is(.phone-shell, .member-schedule-phone, .schedule-phone, .pha-phone,
    .module-pha-phone, .ptt-phone, .riss-member-phone, .pha-product-phone,
    .messaging-member-phone) {
  touch-action: pan-y pinch-zoom;
}
:is(.phone-shell, .member-schedule-phone, .schedule-phone, .pha-phone,
    .module-pha-phone, .ptt-phone, .riss-member-phone, .pha-product-phone,
    .messaging-member-phone) :is(iframe, .chat, .phone-thread) {
  pointer-events: none !important;
}
@media (hover: none), (pointer: coarse), (max-width: 767px) {
  :is(.phone-shell, .member-schedule-phone, .schedule-phone, .pha-phone,
      .module-pha-phone, .ptt-phone, .riss-member-phone, .pha-product-phone,
      .messaging-member-phone) * { pointer-events: none !important; }
}
