/* Mobile navigation: one directory, aligned controls and a stable contact area. */
@media(max-width:1180px){
 .site-header[data-mobile-calibrated]{z-index:1300}
 .site-header[data-mobile-calibrated]>.container{width:calc(100% - 40px);max-width:none;padding-inline:0}
 .site-header[data-mobile-calibrated] .header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
 .site-header[data-mobile-calibrated] .header-logo{display:flex;align-items:center;min-height:48px;margin:0;flex:0 1 auto}
 .site-header[data-mobile-calibrated] .header-logo img{height:46px!important;width:auto;max-width:180px;object-fit:contain}
 .site-header[data-mobile-calibrated] .header-actions{margin-left:auto;display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;gap:0}
 .site-header[data-mobile-calibrated] .header-actions>.lang-switcher{display:none!important}
 .site-header[data-mobile-calibrated] .header-nav{display:none!important}
 .site-header[data-mobile-calibrated] .menu-toggle{position:relative;display:block!important;width:48px;height:48px;min-width:48px;min-height:48px;flex:none;margin:0;padding:0;border:1px solid #c8d5ca;border-radius:3px;background:#f7f8f2;color:#203f39;cursor:pointer;box-sizing:border-box}
 .site-header[data-mobile-calibrated] .menu-toggle>span{position:absolute;display:block;width:21px;height:2px;left:50%;top:50%;margin:0;border:0;border-radius:1px;background:currentColor!important;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .15s ease}
 .site-header[data-mobile-calibrated] .menu-toggle>span:nth-child(1){transform:translate(-50%,calc(-50% - 6px))}
 .site-header[data-mobile-calibrated] .menu-toggle>span:nth-child(3){transform:translate(-50%,calc(-50% + 6px))}
 .site-header[data-mobile-calibrated] .menu-toggle.open>span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
 .site-header[data-mobile-calibrated] .menu-toggle.open>span:nth-child(2){opacity:0}
 .site-header[data-mobile-calibrated] .menu-toggle.open>span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}
 .site-header[data-mobile-calibrated].transparent:not(.scrolled) .menu-toggle{background:#f8f8f3;color:#203f39;border-color:#e0e6db}
 .gp-mobile-open .site-header[data-mobile-calibrated]{background:#f8f8f3!important;box-shadow:0 1px 0 #d8dfd3;backdrop-filter:none}
 .mobile-nav.gp-mobile-menu{position:fixed;inset:var(--gp-mobile-top,76px) 0 0;z-index:1250;display:flex;flex-direction:column;gap:0;padding:0;background:#f8f8f3;color:#203f39;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;overscroll-behavior:contain}
 .mobile-nav.gp-mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .gp-mobile-menu .gp-mobile-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}
 .gp-mobile-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
 .gp-mobile-topline>span{font:700 .68rem/1.4 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#567460}
 .gp-mobile-menu .mobile-nav__lang{display:flex;align-items:center;gap:0;justify-content:flex-start;margin:0;padding:0;border:1px solid #cbd6c9;border-radius:3px;font-size:.75rem;letter-spacing:.02em}
 .gp-mobile-menu .mobile-nav__lang a{display:grid;place-items:center;width:44px;min-height:44px;padding:0!important;border:0!important;font:650 .78rem/1 Manrope,sans-serif;text-align:center;color:#526b5b!important;text-decoration:none}
 .gp-mobile-menu .mobile-nav__lang a.active{background:#203f39;color:#f8f8f3!important}
 .gp-mobile-menu .gp-mobile-title{font:500 clamp(1.75rem,6vw,2.3rem)/1.12 Spectral,Georgia,serif;letter-spacing:-.025em;color:#203f39;margin:0 0 14px;text-wrap:balance;outline-offset:6px}
 .gp-mobile-menu .gp-mobile-all{display:inline-flex;align-items:center;gap:15px;min-height:44px;padding:4px 0 12px;margin:0 0 12px;font:650 .84rem/1.4 Manrope,sans-serif;color:#315d4c!important;text-align:left;border:0!important;text-decoration:underline;text-underline-offset:5px}
 .gp-mobile-menu .mobile-nav__practice{margin:0;padding:0;border:0;border-top:1px solid #cbd6c9}
 .gp-mobile-menu .mobile-nav__practice-head{display:block;margin:0;padding:0}
 .gp-mobile-menu .mobile-nav__practice-head button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;min-width:0;min-height:76px;margin:0;padding:17px 0;border:0;border-radius:0;background:transparent;color:#203f39;font:inherit;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer}
 .gp-mobile-menu .mobile-nav__practice-head button::before,.gp-mobile-menu .mobile-nav__practice-head button::after{content:none!important;display:none!important}
 .gp-mobile-group-label{display:block;font:550 1.18rem/1.25 Spectral,Georgia,serif;letter-spacing:-.015em}
 .gp-mobile-group-hint{display:block;font:400 .77rem/1.5 Manrope,sans-serif;color:#5a7160;margin-top:6px;letter-spacing:0}
 .gp-mobile-chevron{display:block;justify-self:center;width:19px;height:19px;transition:transform .18s ease}
 .gp-mobile-menu .mobile-nav__practice.is-open .gp-mobile-chevron{transform:rotate(180deg)}
 .gp-mobile-menu .mobile-nav__practice-panel{display:none;max-height:none!important;overflow:visible;opacity:1;margin:0;padding:0 0 18px 0;transition:none}
 .gp-mobile-menu .mobile-nav__practice.is-open .mobile-nav__practice-panel{display:grid;max-height:none;padding:0 0 18px}
 .gp-mobile-menu .mobile-nav__sub{display:flex!important;align-items:center!important;justify-content:space-between;gap:16px;width:100%;min-height:48px!important;padding:12px 12px 12px 16px!important;margin:0;border:0!important;border-left:2px solid #d8e0d3!important;border-radius:0;background:transparent;color:#203f39!important;font:500 .96rem/1.45 Manrope,sans-serif!important;letter-spacing:0!important;text-align:left!important;text-transform:none!important;white-space:normal;text-decoration:none}
 .gp-mobile-menu .mobile-nav__sub::before{content:none!important;display:none!important}
 .gp-mobile-menu .mobile-nav__sub::after{content:'↗';font-size:.85rem;color:#6b856e}
 .gp-mobile-menu .mobile-nav__sub[aria-current="page"]{background:#e9efe4;border-left-color:#496f52!important;font-weight:750!important}
 .gp-mobile-menu .mobile-nav__sub:active,.gp-mobile-menu .mobile-nav__practice-head button:active{background:#eaf0e5}
 .gp-mobile-provider{font:400 .72rem/1.65 Manrope,sans-serif;color:#5a7160;margin:10px 0 0;padding-left:16px}
 .gp-mobile-menu .gp-mobile-utilities{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-top:1px solid #cbd6c9;padding-top:12px;margin-top:0}
 .gp-mobile-menu .gp-mobile-utilities a{display:flex;align-items:center;min-height:48px;padding:10px 0;border:0;color:#315746;font:600 .9rem/1.45 Manrope,sans-serif;text-align:left;text-decoration:none}
 .gp-mobile-footer{flex:0 0 auto;display:grid;gap:4px;padding:14px max(20px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#edf1e7;border-top:1px solid #cbd6c9}
 .gp-mobile-menu .gp-mobile-footer a.nav-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;margin:0;padding:13px 18px;border:0;border-radius:2px;background:#203f39;color:#f8f8f3;font:650 .9rem/1.5 Manrope,sans-serif;text-align:left;text-decoration:none}
 .gp-mobile-menu .gp-mobile-phone{display:flex;justify-content:center;align-items:center;gap:10px;min-height:44px;margin:0;padding:5px 0;border:0;color:#42614c;font:500 .8rem/1.5 Manrope,sans-serif;text-align:center;text-decoration:none}
 .gp-mobile-menu a:focus-visible,.gp-mobile-menu button:focus-visible,.site-header[data-mobile-calibrated] .menu-toggle:focus-visible{outline:3px solid #9f8d56;outline-offset:3px}
 .gp-mobile-open .scroll-top-button{display:none}
}
@media(min-width:1181px){.mobile-nav.gp-mobile-menu{display:none!important}}
@media(max-height:600px) and (max-width:1180px){.site-header[data-mobile-calibrated] .header-inner{height:64px}.gp-mobile-menu .gp-mobile-title{font-size:1.6rem}.gp-mobile-menu .gp-mobile-scroll{padding-top:12px}.gp-mobile-topline{margin-bottom:10px}.gp-mobile-menu .mobile-nav__practice-head button{min-height:64px;padding-block:12px}.gp-mobile-footer{padding-top:8px}.gp-mobile-menu .gp-mobile-phone{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-nav.gp-mobile-menu,.gp-mobile-chevron,.site-header[data-mobile-calibrated] .menu-toggle>span{transition:none!important}}

/* 2026-11-02: single native scroll surface; no nested scroll or fixed footer. */
@media(max-width:1180px){
 .mobile-nav.gp-mobile-menu{inset:auto!important;top:var(--gp-mobile-top,76px)!important;left:0!important;right:0!important;bottom:auto!important;height:calc(100vh - var(--gp-mobile-top,76px))!important;height:calc(100dvh - var(--gp-mobile-top,76px))!important;max-height:none!important;min-height:0!important;display:block!important;overflow-x:hidden!important;overflow-y:auto!important;touch-action:pan-y!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:#173e38;color:#f3f5ee;transform:none;transition:opacity .18s ease,visibility .18s;}
 .gp-mobile-menu .gp-mobile-scroll{display:block;flex:none;min-height:auto;overflow:visible!important;padding:24px 24px 0;}
 .gp-mobile-topline{margin-bottom:32px}.gp-mobile-topline>span{color:#b8cbc1;font-size:.65rem;letter-spacing:.16em}
 .gp-mobile-menu .mobile-nav__lang{border:0;border-radius:0;gap:2px}.gp-mobile-menu .mobile-nav__lang a{color:#b8cbc1!important;background:transparent!important}.gp-mobile-menu .mobile-nav__lang a.active{color:#f3f5ee!important;box-shadow:inset 0 -2px #bfd0a5}
 .gp-mobile-menu .gp-mobile-title{font:500 clamp(1.65rem,7vw,2.3rem)/1.15 Manrope,sans-serif;letter-spacing:-.045em;color:#f3f5ee;margin-bottom:10px}
 .gp-mobile-menu .gp-mobile-all{color:#c3d6bb!important;font-size:.85rem;margin-bottom:24px;text-decoration:none;padding-bottom:0}
 .gp-mobile-menu .mobile-nav__practice{border-top:1px solid #44655c}
 .gp-mobile-menu .mobile-nav__practice-head button{min-height:78px;padding:22px 0;color:#f3f5ee;grid-template-columns:minmax(0,1fr) 24px;gap:14px}
 .gp-mobile-group-label{font:500 clamp(1.18rem,5.4vw,1.6rem)/1.25 Manrope,sans-serif;letter-spacing:-.035em}.gp-mobile-group-hint{display:none}
 .gp-mobile-chevron{color:#c3d6bb;width:22px;height:22px}
 .gp-mobile-menu .mobile-nav__practice-panel,.gp-mobile-menu .mobile-nav__practice.is-open .mobile-nav__practice-panel{padding-bottom:20px}
 .gp-mobile-menu .mobile-nav__sub{border:0!important;padding:13px 4px!important;color:#d9e5da!important;font:400 .96rem/1.5 Manrope,sans-serif!important;min-height:50px!important;}
 .gp-mobile-menu .mobile-nav__sub::after{content:'→';color:#b4cda7}.gp-mobile-menu .mobile-nav__sub[aria-current="page"]{background:#285147!important;color:#f3f5ee!important}
 .gp-mobile-menu .mobile-nav__sub:active,.gp-mobile-menu .mobile-nav__practice-head button:active{background:#285147}
 .gp-mobile-provider{padding-left:0;color:#b8cbc1}
 .gp-mobile-menu .gp-mobile-utilities{border-top:1px solid #44655c;grid-template-columns:1fr;gap:0;padding-top:16px}
 .gp-mobile-menu .gp-mobile-utilities a{color:#d9e5da;font-weight:400;min-height:48px}
 .gp-mobile-menu .gp-mobile-footer{display:grid;position:static;flex:none;border:0;background:transparent;margin:24px 24px 0;padding:0 0 calc(32px + env(safe-area-inset-bottom));gap:12px}
 .gp-mobile-menu .gp-mobile-footer a.nav-cta{border:1px solid #b6c7ac;background:#dbe4cc;color:#173e38;min-height:56px;padding:16px 18px;font-size:.95rem;border-radius:0}
 .gp-mobile-menu .gp-mobile-phone{display:flex!important;color:#c6d8c4;font-size:.85rem;min-height:48px}
 .gp-mobile-menu a:focus-visible,.gp-mobile-menu button:focus-visible{outline:2px solid #dbe4cc;outline-offset:3px}
 .site-header[data-mobile-calibrated] .menu-toggle{border:0;background:transparent!important;border-radius:0}
}

@media(max-width:1180px){.mobile-nav.gp-mobile-menu{scroll-behavior:auto!important}.gp-mobile-menu .gp-mobile-title:focus{outline:none!important}}
