/* Definitive mobile navigation. Services uses a separate panel so it can never
   overlap the main navigation links. This file must remain the last stylesheet. */
.lux-mobile-mega-head{display:none}

@media (max-width:900px){
 html{max-width:100%;overflow-x:clip!important}
 body{max-width:100%;overflow-x:clip!important}
 body.menu-open{position:fixed!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important;touch-action:none}
 /* Safari treats fixed children of a filtered element as locally positioned.
    Removing the desktop blur keeps both mobile drawers attached to the viewport. */
 .lux-header{position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;transform:none!important}
 .lux-nav,.lux-nav-inner{transform:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .shell{box-sizing:border-box;width:min(calc(100% - 32px),760px)!important;max-width:100%!important}
 img,svg,video,iframe{max-width:100%}

 /* Compact but complete contact header. */
 .lux-top-inner{box-sizing:border-box!important;width:100%!important;max-width:100%!important}
 .lux-contact{min-width:0!important;line-height:1.4!important}
 .lux-contact>a,.lux-contact>span{min-width:0!important;white-space:normal!important}
 .lux-contact>a{overflow-wrap:anywhere!important}
 .lux-contact>span b{margin-right:4px!important}
 .lux-top-actions,.lux-top-actions>a{box-sizing:border-box!important;min-width:0!important}

 /* Main slide-in drawer. */
 .lux-main-nav{
  box-sizing:border-box!important;display:flex!important;position:fixed!important;z-index:1006!important;
  top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:min(430px,94vw)!important;height:100vh!important;height:100dvh!important;max-height:none!important;
  margin:0!important;padding:0 22px max(26px,env(safe-area-inset-bottom))!important;
  flex-direction:column!important;align-items:stretch!important;gap:0!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
  background:#fff!important;box-shadow:-24px 0 64px rgba(27,61,45,.2)!important;
  transform:translate3d(105%,0,0)!important;opacity:0!important;visibility:hidden!important;
  pointer-events:none!important;will-change:transform!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transition:transform .44s cubic-bezier(.22,1,.36,1),opacity .24s ease,visibility .44s!important;
 }
 .lux-main-nav.open{transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
 /* Expanded submenus must make the drawer scroll. Without this, the flex
    container shrinks the Services row and its button overlaps Locations. */
 .lux-main-nav>.lux-mobile-nav-head,
 .lux-main-nav>a,
 .lux-main-nav>.lux-services,
 .lux-main-nav>.lux-gallery-menu,
 .lux-main-nav>.lux-mobile-contact{flex:0 0 auto!important}
 .lux-mobile-nav-head{
  box-sizing:border-box!important;display:flex!important;position:sticky!important;top:0!important;z-index:6!important;
  align-items:center!important;justify-content:space-between!important;gap:16px!important;
  min-height:calc(92px + env(safe-area-inset-top))!important;margin:0 0 6px!important;
  padding:max(18px,env(safe-area-inset-top)) 0 14px!important;background:#fff!important;
 }
 .lux-mobile-doctor-brand{display:block!important;min-width:0!important;text-decoration:none!important;color:#343c38!important}
 .lux-mobile-doctor-brand strong{display:block!important;font:17px/1.2 Georgia,'Times New Roman',serif!important;letter-spacing:.045em!important;text-transform:uppercase!important;white-space:normal!important}
 .lux-mobile-doctor-brand strong em{color:#e99500!important;font-style:normal!important}
 .lux-mobile-doctor-brand small{display:block!important;margin-top:7px!important;color:#75827b!important;font:700 8px/1.35 'DM Sans',Arial,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;white-space:normal!important}
 .lux-mobile-nav-head button{flex:0 0 48px!important;width:48px!important;height:48px!important;font-size:31px!important}
 .lux-main-nav>a,.lux-main-nav>.lux-services>button{
  box-sizing:border-box!important;display:flex!important;position:relative!important;align-items:center!important;
  width:100%!important;height:auto!important;min-height:62px!important;margin:0!important;padding:15px 6px!important;
  border:0!important;border-bottom:1px solid #e2eae5!important;background:transparent!important;
  color:#24483a!important;-webkit-text-fill-color:#24483a!important;font-family:'DM Sans',Arial,sans-serif!important;
  font-size:17px!important;font-weight:750!important;line-height:1.4!important;letter-spacing:0!important;
  text-align:left!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important;
  transform:none!important;opacity:1!important;visibility:visible!important;transition:color .2s,background .2s!important;
 }
 .lux-main-nav>a:hover,.lux-main-nav>a:focus-visible,.lux-main-nav>.lux-services>button:hover,.lux-main-nav>.lux-services>button:focus-visible{
  padding-left:6px!important;background:#f5faf6!important;color:#bd7200!important;-webkit-text-fill-color:#bd7200!important;
 }
 .lux-main-nav>a::after,.lux-main-nav>.lux-services>button::after{display:none!important}
 .lux-main-nav>.lux-services{display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;transform:none!important;opacity:1!important;visibility:visible!important}
 .lux-main-nav>.lux-services>button{justify-content:space-between!important}
 .lux-main-nav>.lux-services>button span{flex:0 0 auto!important;margin-left:12px!important;color:#bd7200!important;-webkit-text-fill-color:#bd7200!important;font-size:24px!important;line-height:1!important}

 /* Services is a second full-height drawer layer, never part of main-link flow. */
 .lux-services>.lux-mega{
  box-sizing:border-box!important;display:flex!important;position:fixed!important;z-index:9!important;
  top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:min(430px,94vw)!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  flex-direction:column!important;grid-template-columns:none!important;overflow:hidden!important;
  background:#f8fbf9!important;box-shadow:none!important;opacity:1!important;visibility:hidden!important;
  pointer-events:none!important;transform:translate3d(105%,0,0)!important;will-change:transform!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transition:transform .4s cubic-bezier(.22,1,.36,1),visibility .4s!important;
 }
 .lux-services.active>.lux-mega{visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0)!important}
 .lux-mobile-mega-head{
  box-sizing:border-box!important;display:flex!important;position:relative!important;z-index:2!important;
  flex:0 0 auto!important;align-items:center!important;justify-content:space-between!important;
  min-height:calc(82px + env(safe-area-inset-top))!important;padding:max(15px,env(safe-area-inset-top)) 20px 15px!important;border-bottom:1px solid #dce7df!important;background:#fff!important;
 }
 .lux-mobile-mega-head button,.lux-mobile-mega-head a{
  display:inline-flex!important;align-items:center!important;min-height:46px!important;border:0!important;border-radius:23px!important;
  font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;font-weight:750!important;text-decoration:none!important;
 }
 .lux-mobile-mega-head button{gap:8px!important;padding:0 16px!important;background:#edf5ef!important;color:#214b3c!important}
 .lux-mobile-mega-head button span{font:32px/1 Arial,sans-serif!important;margin-top:-3px!important}
 .lux-mobile-mega-head>a{padding:0 17px!important;background:#ffab08!important;color:#fff!important}
 .lux-mega-intro{display:none!important}
 .lux-mega-grid{
  box-sizing:border-box!important;display:block!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:22px 20px max(36px,env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
 }
 .lux-mega-column{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0 0 28px!important;padding:0!important}
 .lux-mega-column:last-child{margin-bottom:0!important}
 .lux-mega-column h3{
  box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 5px!important;
  padding:0 0 12px!important;border-bottom:2px solid #dbe7df!important;color:#b86e00!important;
  font-family:'DM Sans',Arial,sans-serif!important;font-size:14px!important;font-weight:850!important;line-height:1.45!important;
  letter-spacing:.075em!important;text-transform:uppercase!important;white-space:normal!important;overflow-wrap:anywhere!important;
 }
 .lux-mega-column h3 a{display:block!important;color:inherit!important;text-decoration:none!important;white-space:normal!important}
 .lux-mega-column>a{
  box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) 24px!important;align-items:center!important;
  width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;padding:12px 2px!important;
  border-bottom:1px solid #e0e9e3!important;color:#294b3e!important;text-decoration:none!important;
  font-family:'DM Sans',Arial,sans-serif!important;font-size:15.5px!important;font-weight:650!important;line-height:1.45!important;
  letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
 }
 .lux-mega-column>a span{
  display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border-radius:50%!important;
  background:#eaf3ed!important;color:#32644f!important;font:700 22px/1 Arial,sans-serif!important;opacity:1!important;
 }

 .lux-mobile-contact{box-sizing:border-box!important;width:100%!important;min-width:0!important}
 .lux-mobile-contact>a{box-sizing:border-box!important;width:100%!important;min-width:0!important}
 .lux-mobile-contact span,.lux-mobile-contact small{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}

 /* Global mobile containment for all page types. */
 .service-group,.service-list,.service-content-panel,.directory-grid article,.location-card,.contact-form,.gallery-card,
 .eh-service-card,.aw-principles article,.aw-credential-grid article,.wow-footer-grid,.wow-footer-contact,.wow-credentials,.wow-footer-bottom{
  box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
 }
 .service-page-switcher,.service-category-tabs{max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important}
 .service-page-switcher>a,.service-category-tabs>button,.service-list button{white-space:normal!important;line-height:1.45!important}
 .service-list button{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
 .service-content-panel,.service-content-panel *,.wow-footer a,.wow-footer p,.wow-footer span,.wow-footer small{min-width:0!important;overflow-wrap:anywhere!important}
}

@media (max-width:560px){
 .shell{width:calc(100% - 28px)!important}
 .lux-main-nav,.lux-services>.lux-mega{width:100vw!important}
 .lux-main-nav{padding-inline:18px!important}
 .lux-main-nav>a,.lux-main-nav>.lux-services>button{min-height:58px!important;padding-block:13px!important;font-size:16px!important}
 .lux-mobile-mega-head{padding-inline:16px!important}
 .lux-mobile-mega-head button,.lux-mobile-mega-head a{font-size:14px!important}
 .lux-mega-grid{padding:18px 17px max(30px,env(safe-area-inset-bottom))!important}
 .lux-mega-column{margin-bottom:25px!important}
 .lux-mega-column h3{font-size:13px!important}
 .lux-mega-column>a{min-height:50px!important;padding-block:11px!important;font-size:15px!important}
 .service-page-switcher>a,.service-category-tabs>button{flex-basis:min(78vw,260px)!important}
 .service-content-panel{padding-inline:19px!important}
 .service-content-panel h2{font-size:clamp(34px,11vw,43px)!important;line-height:1.08!important}
 .directory-grid article{padding-inline:22px!important}
 .clinic-assistant-panel{max-width:calc(100vw - 24px)!important}
}

@media (prefers-reduced-motion:reduce){
 .lux-main-nav,.lux-services>.lux-mega,.lux-main-nav *{transition:none!important;animation:none!important}
}
