/* V19: every rule is gated; ordinary mobile and desktop retain V18 styles.
 * Keep the desktop composition, with bounded imagery and larger touch controls.
 * svh is deliberately not used for the hero: a scaled phone viewport can be tall. */
html.mobile-desktop-mode { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.mobile-desktop-mode .hero-section { min-height: 0; }
html.mobile-desktop-mode .hero-grid {
  width: calc(100% - 170px); max-width: 1280px;
  min-height: 0; padding-block: 24px; gap: 24px;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center;
}
html.mobile-desktop-mode .hero-copy { min-width: 0; }
html.mobile-desktop-mode .hero-copy > h1 { font-size: clamp(58px,6vw,78px); line-height: 1.04; margin-bottom: 14px; }
html.mobile-desktop-mode .hero-copy > .hero-tagline { font-size: 22px; line-height: 1.35; margin-bottom: 14px; }
html.mobile-desktop-mode .hero-qualification { padding: 12px; margin-bottom: 14px; }
html.mobile-desktop-mode .hero-qualification strong { font-size: 19px; }
html.mobile-desktop-mode .hero-qualification div > span { font-size: 16px; line-height: 1.4; }
html.mobile-desktop-mode .hero-specialty { gap: 7px; flex-wrap: wrap; }
html.mobile-desktop-mode .hero-specialty > span { font-size: 15px; letter-spacing: 0; padding: 7px 9px; }
html.mobile-desktop-mode .hero-copy > .hero-mantra { font-size: 23px; margin-bottom: 12px; }
html.mobile-desktop-mode .hero-copy > .hero-experience { font-size: 18px; margin-bottom: 14px; width: auto; }
html.mobile-desktop-mode .hero-actions { flex-wrap: wrap; gap: 10px; }
html.mobile-desktop-mode .hero-actions > a { flex: 1 1 170px; white-space: normal; text-align: center; }
html.mobile-desktop-mode .hero-specialist-links { gap: 8px; margin-top: 14px; }
html.mobile-desktop-mode .hero-specialist-links a { padding: 12px; overflow-wrap: anywhere; }
html.mobile-desktop-mode .hero-specialist-links :is(span,strong) { font-size: 17px; }
html.mobile-desktop-mode .hero-specialist-links small { font-size: 15px; }
html.mobile-desktop-mode .hero-visual { min-width: 0; }
html.mobile-desktop-mode .hero-photo-frame { height: clamp(510px,58vw,720px); border-radius: 80px 80px 22px 22px; }
html.mobile-desktop-mode .hero-photo-frame > img { object-position: center 38%; }
html.mobile-desktop-mode .hero-photo-details .hero-hours-badge { left: 12px; max-width: calc(100% - 24px); padding: 13px; gap: 8px; }
html.mobile-desktop-mode .hero-photo-details .hero-hours-badge strong { font-size: 21px; }
html.mobile-desktop-mode .hero-photo-details .hero-hours-badge small { font-size: 19px; }
html.mobile-desktop-mode .hero-photo-details .hero-location-card strong { font-size: 20px; }
html.mobile-desktop-mode .hero-photo-details .hero-location-card small { font-size: 15px; }
html.mobile-desktop-mode :is(.primary-button,.secondary-button,.doctor-cta,.doctor-info-link) {
  min-height: 60px; font-size: 18px; padding: 14px 18px; white-space: normal;
}
html.mobile-desktop-mode .contact-rail { left: 8px; padding: 5px; }
html.mobile-desktop-mode .contact-rail a { width: 56px; height: 56px; }
html.mobile-desktop-mode .contact-rail a :is(svg,img) { width: 31px; height: 31px; }
html.mobile-desktop-mode :is(.menu-trigger,.desktop-theme-toggle,.swipe-controls button,.review-arrow) { min-width: 60px; min-height: 60px; }
html.mobile-desktop-mode .static-mobile-menu-panel { width: min(640px,88vw); }
html.mobile-desktop-mode .static-menu-close { width: 60px; height: 60px; flex-basis: 60px; }
html.mobile-desktop-mode .static-menu-content { gap: 14px; grid-template-rows: minmax(330px,1fr) auto auto auto auto; overflow-y: auto; overscroll-behavior-y: contain; }
html.mobile-desktop-mode .static-menu-content .static-menu-links { grid-template-rows: repeat(5,minmax(62px,1fr)); }
html.mobile-desktop-mode .static-menu-content .static-menu-links a { font-size: 26px; }
html.mobile-desktop-mode .static-menu-content :is(.static-menu-actions a,.static-theme-switch button,.static-menu-socials a) { min-height: 64px; }
html.mobile-desktop-mode .static-menu-content :is(.static-menu-actions a strong,.static-theme-switch button,.static-menu-hours) { font-size: 18px; }
html.mobile-desktop-mode .static-menu-content .static-menu-socials small { font-size: 15px; }
html.mobile-desktop-mode .home-treatment-stack.swipe-track { grid-auto-columns: minmax(330px,46%); }
html.mobile-desktop-mode .home-treatment-stack .home-treatment-copy p { font-size: 19px; }
html.mobile-desktop-mode .doctor-card-body { min-width: 0; }
html.mobile-desktop-mode .doctor-card-body h3 .name-degrees { display: block; margin-top: 7px; }
html.mobile-desktop-mode .map-grid .map-frame.tooth-map-frame,
html.mobile-desktop-mode .home-contact-match .home-map-frame.tooth-map-frame { height: clamp(540px,62vw,700px); min-height: 0; }
html.mobile-desktop-mode .booking-workspace { grid-template-columns: 230px minmax(0,1fr); }
html.mobile-desktop-mode .booking-survey { padding: 26px; }
html.mobile-desktop-mode .booking-progress li { font-size: 17px; }
html.mobile-desktop-mode .booking-survey :is(label,.field-label,.step-help) { font-size: 20px; }
html.mobile-desktop-mode .booking-survey :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea) { font-size: 22px; min-height: 64px; }
html.mobile-desktop-mode .survey-two-col { grid-template-columns: 1fr; gap: 0; }
html.mobile-desktop-mode .specialist-choices label > span { min-height: 74px; }
html.mobile-desktop-mode .specialist-choices small { font-size: 17px; }
html.mobile-desktop-mode .quick-concerns button { min-height: 60px; font-size: 18px; }
html.mobile-desktop-mode .pain-scale { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
html.mobile-desktop-mode .pain-scale label span { min-height: 60px; font-size: 21px; }
html.mobile-desktop-mode .survey-small { font-size: 17px; }
html.mobile-desktop-mode .assistant-button { min-height: 70px; }
