/* XAN Office v1.0.85 — Release Candidate quality guard.
   Scope: accessibility, mobile interaction safety, overflow containment and fixed-layer reliability only.
   No color redesign, no generic card/grid reset. */

.xan-skip-link-v185{position:fixed;left:12px;top:12px;z-index:2147483600;transform:translateY(-180%);background:#041F40;color:#fff!important;padding:10px 14px;border-radius:10px;text-decoration:none;font:400 14px/1.2 Poppins,Arial,sans-serif}
.xan-skip-link-v185:focus{transform:none;outline:3px solid #fff;outline-offset:2px}
.xan-skip-target-v185{display:block;position:relative;width:1px;height:1px;overflow:hidden;scroll-margin-top:90px}

:where(.xan-header,.xan-mobile-dock,.xan-project-page,.xan-map-page,.xan-blog-page,.xan-office-page,.xan-consultant-page) :where(a,button,input,select,textarea):focus-visible{outline:2px solid #055970!important;outline-offset:3px!important}
:where(.xan-map-page,.xan-project-page) :where(button,a){-webkit-tap-highlight-color:transparent}
html.xan-mobile-nav-open,html.xan-project-filter-open,html.xan-compare-open{overflow:hidden!important}

.xan-project-page,.xan-map-page,.xan-blog-page,.xan-office-page,.xan-consultant-page{min-width:0;max-width:100%}
.xan-project-page :where(img,video,iframe),.xan-map-page :where(img,video),.xan-blog-page :where(img,video,iframe),.xan-office-page :where(img,video),.xan-consultant-page :where(img,video){max-width:100%}
.xan-blog-page .xan-single-prose-v127,.xan-blog-page .xan-single-prose-v127 :where(p,li,h2,h3,h4,a){overflow-wrap:anywhere;word-break:normal}

.xan-compare-modal-v164,.xan-favorite-modal-v164{overscroll-behavior:contain}
.xan-compare-dialog-v164,.xan-favorite-dialog-v164{max-height:min(90vh,90dvh);overflow:auto;overscroll-behavior:contain}
.xan-compare-body-v164,.xan-favorite-body-v164{min-width:0}

.xan-map-results-v151{overscroll-behavior:contain}
.xan-map-result-v151[aria-selected="true"]{outline:2px solid rgba(5,89,112,.34);outline-offset:-2px}
.xan-map-detail-v152,.xan-map-nearby-v182{overscroll-behavior:contain}
.xan-map-toolbar-v151{max-width:calc(100% - 24px)}

@media(max-width:1024px){
  .xan-nav-toggle,.xan-mobile-dock a,.xan-map-toolbar-v151 button,.xan-map-mobile-close-v151,.xan-map-detail-close-v152,.xan-map-nearby-v182 button,.xan-project-page button,.xan-inner-site .xan-btn{min-height:44px}
  .xan-nav.is-open{overscroll-behavior:contain}
  .xan-project-filter-open body{overscroll-behavior:none}
  .xan-map-sidebar-v151.is-open{overscroll-behavior:contain}
}

@media(max-width:820px){
  .xan-map-toolbar-v151{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;gap:8px!important;padding-bottom:3px}
  .xan-map-toolbar-v151::-webkit-scrollbar{display:none}
  .xan-map-toolbar-v151>button{flex:0 0 auto!important;white-space:nowrap!important}
  .xan-map-nearby-v182,.xan-map-detail-v152{max-height:min(72vh,72dvh)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .xan-map-results-v151{max-height:min(58vh,58dvh);overflow-y:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:640px){
  body.xan-inner-site :where(input,select,textarea),body.xan-project-page :where(input,select,textarea),body.xan-map-page :where(input,select,textarea),body.xan-blog-page :where(input,select,textarea),body.xan-office-page :where(input,select,textarea),body.xan-consultant-page :where(input,select,textarea){font-size:16px!important}
  .xan-compare-dialog-v164,.xan-favorite-dialog-v164{max-height:min(88vh,88dvh)!important}
  .xan-map-toolbar-v151{max-width:calc(100vw - 20px)}
}

@media(prefers-reduced-motion:reduce){
  .xan-skip-link-v185,.xan-map-page *,.xan-project-page .xan-compare-modal-v164 *,.xan-project-page .xan-favorite-modal-v164 *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
