/* Mobile-only patch. This stylesheet is loaded with media="(max-width: 768px)". */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
body.menu-open { overflow: hidden; touch-action: none; }

.navbar-container { min-width: 0; }
.brand-logo { min-width: 0; max-width: calc(100% - 54px); }
.brand-logo > div:last-child { min-width: 0; }
.brand-logo .js-doctor-name,
.brand-logo .js-doctor-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-toggle { display: block !important; flex: 0 0 44px; width: 44px; height: 44px; position: relative; z-index: 1302; }

/* The drawer is moved to <body> by navigation-standalone.js on mobile. */
body > .nav-menu {
  position: fixed !important;
  top: var(--header-height) !important;
  right: 0 !important;
  left: auto !important;
  width: min(320px, 88vw) !important;
  max-width: 88vw !important;
  height: calc(100dvh - var(--header-height)) !important;
  padding: 1.25rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: .55rem !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  opacity: 1 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(100%, 0, 0) !important;
  transition: transform .25s ease, visibility .25s ease !important;
  box-shadow: -12px 0 30px rgba(0, 0, 0, .18) !important;
  z-index: 1301 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body > .nav-menu.open {
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body > .nav-menu .nav-link { display: block; width: 100%; padding: .8rem .85rem; border-radius: .6rem; }
.mobile-menu-header { display: flex !important; align-items: center; justify-content: space-between; padding-bottom: .8rem; margin-bottom: .25rem; border-bottom: 1px solid var(--color-border); }
.mobile-menu-close { border: 0; background: transparent; font-size: 1.8rem; line-height: 1; padding: .25rem; cursor: pointer; }

.nav-backdrop {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(12, 22, 20, .48) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1300 !important;
  transition: opacity .25s ease, visibility .25s ease !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.nav-backdrop.open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }

main, section, .container, .hero-grid, .services-grid, .footer-grid { min-width: 0; max-width: 100%; }
img, video, iframe { max-width: 100%; height: auto; }
.services-grid > *, .hero-grid > *, .footer-grid > * { min-width: 0; max-width: 100%; }

@media (max-width: 480px) {
  .services-grid, .articles-grid, .process-steps, .footer-grid { grid-template-columns: 1fr !important; }
}
