/* GIX HIG layer (Oct 2026). Palette kept; --gix-teal-text is the darker teal used only where text contrast needs it. */
:root{--gix-navy:#061530;--gix-teal:#4fb3a0;--gix-teal-text:#2c7a6b;--gix-focus:#4fb3a0}
/* Batch 2: mobile menu button */
.gix-menu-btn,.gix-menu-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;margin:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:10px;-webkit-tap-highlight-color:rgba(79,179,160,.25)}
.gix-menu-btn i,.gix-menu-close i{pointer-events:none}
.gix-menu-btn .fa-bars{font-size:24px;color:#fff}
.mobilemenu > .gix-menu-btn{width:44px;height:44px;float:right}
.gix-menu-close .fa-times{font-size:22px}
html.gix-lock,html.gix-lock body{overflow:hidden;overscroll-behavior:contain}
.mobile-nav-menu-wrapper{overscroll-behavior:contain}
/* Batch 3: tap targets (44pt touch minimum; ~32px pointer comfort on desktop) */
.page-numbers{display:inline-flex !important;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px !important;margin:0 4px !important;border-radius:10px;box-sizing:border-box}
.dif-link a[data-gix-lead]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:999px;background:var(--gix-teal-text);color:#fff !important;font-weight:600;text-decoration:none;line-height:1.2}
.dif-link a[data-gix-lead]:hover{background:#246457}
.dif-link a[data-gix-lead] i{color:#fff !important}
.gix-navmenumobile a{display:flex !important;align-items:center;min-height:48px;padding:12px 0 !important;box-sizing:border-box}
.mobile-nav-menu-wrapper .gixbtn_default,.header .gixbtn_default{min-height:44px;display:inline-flex !important;align-items:center;justify-content:center;box-sizing:border-box}
.gix-navmenu > li > a{display:inline-flex;align-items:center;min-height:32px;padding-top:6px;padding-bottom:6px}
.filter-button,.filter-toggle-btn{min-height:44px !important;box-sizing:border-box}
.filter-container label{display:flex !important;align-items:center;gap:10px;min-height:44px;margin:0 !important;cursor:pointer}
.filter-container input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}
.custom-logo-link{display:inline-block;line-height:0;min-height:44px;flex-shrink:0}
.custom-logo-link img,.custom-logo{max-width:none;height:auto}
@media (max-width:767px){.menu-footer-container li,.menu-footer-container li a{min-height:44px !important}}
@media (pointer:coarse){
  .leaflet-control-zoom a{width:44px !important;height:44px !important;line-height:44px !important;font-size:22px !important}
  .footer a,.footer button{min-height:44px}
  .footer .biz-details a,.footer a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
}
.hero_btns .gixbtn_default,.hero_btns .gixbtn_border{min-height:44px;display:inline-flex !important;align-items:center;justify-content:center;box-sizing:border-box}
.team-contact a,.linkedinicon a{display:inline-flex !important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.page-breadcrumbs a,.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.contact_content a,.footer span > a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
.wpcf7-list-item label{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer}
.wpcf7-list-item input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin-top:2px}
/* Batch 4: no sideways scrolling */
html,body{overflow-x:clip}
.head-image.row.no-gutters,.row.no-gutters > .head-image{margin-left:0 !important;margin-right:0 !important;max-width:100%}
.head-image{max-width:100%;box-sizing:border-box}
img,video,iframe,svg{max-width:100%}
/* Batch 5: contrast (WCAG AA 4.5:1 text). Bright teal stays on dark surfaces; darker teal on light. */
.post-tag,.contact_content a{color:var(--gix-teal-text)}
.footer .cn-text,.footer span.cn-text,.footer1-widget span{color:#a7b0bf}
.footer a[href^="mailto:"]{color:var(--gix-teal) !important}
.next.page-numbers,.prev.page-numbers{color:#4a5568 !important}
.secdesc{color:var(--gix-teal)}
/* Batch 6: respect Reduce Motion (iOS/macOS accessibility setting) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition-duration:.001ms !important;transition-delay:0s !important;scroll-behavior:auto !important}
  html{scroll-behavior:auto !important}
  .textdefault,.sectionwhy_heading > h2,.dif-list,[class*="animate__"]{opacity:1 !important;transform:none !important;visibility:visible !important}
  .mobile-nav-menu-wrapper{transition:none !important}
}
/* Batch 7: keyboard - skip link and consistent focus ring */
.gix-skip{position:absolute;left:12px;top:-100px;z-index:100001;padding:12px 18px;min-height:44px;border-radius:10px;background:#fff;color:#061530 !important;font-weight:700;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.35)}
.gix-skip:focus{top:12px;outline:3px solid var(--gix-focus);outline-offset:2px}
main#content:focus{outline:none}
:focus-visible{outline:3px solid var(--gix-focus) !important;outline-offset:3px !important;border-radius:6px}
.post-card-download:focus-visible,.gixl-go:focus-visible{outline-color:#061530 !important}
:focus:not(:focus-visible){outline:none}
/* P2: tablet hero height, readable line length helpers, map attribution on phones */
@media (min-width:768px) and (max-width:1199px){.hero_banner_wrapper{padding:170px 0 110px !important}}
@media (max-width:767px){.hero_banner_wrapper{padding-bottom:96px !important}}
.gix-measure{max-width:70ch}
.gix-measure.gix-center{margin-left:auto !important;margin-right:auto !important}
@media (max-width:600px){
  #map .leaflet-control-attribution.gix-attr-collapsed{max-width:44px;height:28px;overflow:hidden;white-space:nowrap;padding:0;border-radius:6px 0 0 0;cursor:pointer;color:transparent;position:relative}
  #map .leaflet-control-attribution.gix-attr-collapsed::before{content:"ⓘ";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#333;font-size:16px}
}
/* P3: safe areas (viewport-fit=cover), type polish, touch affordances, form validation */
.header .container,.header .container-fluid,#masthead > div{padding-left:max(var(--bs-gutter-x,12px),env(safe-area-inset-left));padding-right:max(var(--bs-gutter-x,12px),env(safe-area-inset-right))}
main .container,section .container,.footer .container,.gix-net,.gix-agents{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.footer{padding-bottom:env(safe-area-inset-bottom)}
.mobile-nav-menu-wrapper{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);padding-left:max(20px,env(safe-area-inset-left))}
.gixl-ov{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)) !important}
.formBtn{line-height:1.2 !important}
.post-card-title{font-size:17px !important;line-height:1.3 !important}
.gix-form .gix-field-error{display:block;margin-top:6px;color:#b42318;font-size:14px;line-height:1.3}
.gix-form [aria-invalid="true"]{border-color:#b42318 !important;box-shadow:0 0 0 1px #b42318}
@media (hover:none){.post-card:hover,.gixbtn_default:hover,.gixbtn_border:hover{transform:none}}
