/* AG mobile navigation: logo, a clear route list and a quieter contact area. */
.menu-toggle-label{display:none!important}
html:has(#mobile-menu[open]){overflow:hidden}
#mobile-menu{padding:0;margin:0;inset:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;background:#052c4c;color:#fff;overscroll-behavior:contain;overflow:auto}
#mobile-menu[open]{animation:menu-enter .36s cubic-bezier(.2,.7,.2,1) both}
#mobile-menu.is-closing{animation:menu-leave .24s ease-in both}
#mobile-menu::backdrop{background:#052c4c99}
#mobile-menu .menu-head{position:sticky;top:0;z-index:2;min-height:100px;padding:20px clamp(22px,5vw,72px);background:#052c4c;border-bottom:1px solid #ffffff25}
.menu-logo{display:block;width:156px;flex-shrink:0}
.menu-logo img{display:block;width:100%;height:auto}
#mobile-menu .menu-close{width:46px;height:46px;min-height:46px;border:1px solid #ffffff4a;border-radius:50%;display:grid;place-items:center;padding:0;background:transparent;transition:background .2s,transform .2s}
#mobile-menu .menu-close svg{width:24px;height:24px}
#mobile-menu .menu-close:hover{background:#ffffff18;transform:rotate(90deg)}
#mobile-menu :focus-visible{outline:3px solid #ffb18a;outline-offset:4px}
#mobile-menu .menu-body{max-width:1300px;margin:0 auto;padding:30px clamp(22px,5vw,72px) 35px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:9vw;align-items:start}
.mobile-nav-main{min-width:0}
#mobile-menu .menu-body,#mobile-menu .mobile-nav-main,#mobile-menu .mobile-primary,#mobile-menu .menu-contact{background:#052c4c}
#mobile-menu .mobile-nav-label{font:500 .8125rem/1.7 var(--body);color:#b9cee0;margin:0 0 17px}
#mobile-menu .mobile-primary{display:flex;flex-direction:column;align-items:stretch;gap:0}
#mobile-menu .mobile-nav-row{min-width:0;min-height:58px;border-bottom:1px solid #ffffff22;margin:0;position:relative;animation:menu-row-enter .38s cubic-bezier(.2,.7,.2,1) both}
#mobile-menu .mobile-nav-row:nth-child(2){animation-delay:30ms}#mobile-menu .mobile-nav-row:nth-child(3){animation-delay:60ms}#mobile-menu .mobile-nav-row:nth-child(4){animation-delay:90ms}#mobile-menu .mobile-nav-row:nth-child(5){animation-delay:120ms}#mobile-menu .mobile-nav-row:nth-child(6){animation-delay:150ms}#mobile-menu .mobile-nav-row:nth-child(7){animation-delay:180ms}#mobile-menu .mobile-nav-row:nth-child(8){animation-delay:210ms}
#mobile-menu .mobile-primary>a,#mobile-menu .mobile-services>summary{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0;font:700 2.2rem/1.15 var(--display);letter-spacing:-.025em;text-decoration:none;color:#fff;min-height:62px;transition:color .2s,padding .2s}
#mobile-menu .mobile-nav-number{font:500 .6875rem/1 var(--body);letter-spacing:.04em;color:#a9bfd2}
#mobile-menu .mobile-nav-row>.ui-icon,#mobile-menu .mobile-services>summary>.ui-icon{width:21px;height:21px;color:#9cb5ca}
#mobile-menu .mobile-primary>a:hover,#mobile-menu .mobile-primary>a:focus-visible,#mobile-menu .mobile-services>summary:hover{color:#ffb18a;padding-inline:5px}
#mobile-menu .mobile-primary>[aria-current=page]{color:#ffb18a}
#mobile-menu .mobile-services>summary.current{color:#ffb18a;text-decoration:none}
#mobile-menu .mobile-nav-price{font:600 .8125rem/1 var(--body);letter-spacing:0;background:#ffffff12;border:1px solid #ffffff36;padding:9px 10px;border-radius:7px;white-space:nowrap}
#mobile-menu .mobile-services{position:relative;padding:0;width:100%}
#mobile-menu .mobile-services>summary{cursor:pointer}
#mobile-menu .mobile-services.is-expanding{overflow:hidden}
.mobile-service-list{padding:9px 0 20px 39px}
#mobile-menu .mobile-service-all{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0 15px;font:500 .875rem/1.65 var(--body);color:#b9cee0;text-decoration:none}
#mobile-menu .mobile-service{display:grid;grid-template-columns:36px minmax(0,1fr) 17px;gap:12px;align-items:center;min-height:55px;padding:9px 0;font:500 1rem/1.6 var(--body);color:#fff;text-decoration:none;letter-spacing:0}
.mobile-service-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff2e;border-radius:9px;background:#ffffff08}
.mobile-service-icon svg{width:20px;height:20px}
#mobile-menu .mobile-service>.ui-icon,.mobile-service-all>.ui-icon{width:17px;height:17px;color:#a9bfd2}
#mobile-menu .mobile-service:hover,#mobile-menu .mobile-service[aria-current=page],#mobile-menu .mobile-service-all:hover{color:#ffb18a}
.menu-contact{min-width:0;padding-top:30px}
.menu-art{max-width:330px;aspect-ratio:1.25;display:grid;place-items:center;margin-bottom:32px;border-radius:50% 50% 24% 50%;background:radial-gradient(ellipse at 50% 65%,#315c7b 0,#1b4768 45%,#0d3756 75%)}
.menu-art .owl{display:block;width:95%;height:auto}
#mobile-menu .menu-email{font:500 clamp(1rem,2vw,1.3rem)/1.7 var(--body);overflow-wrap:anywhere;display:block;text-underline-offset:6px}
.menu-phone{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:1rem;margin-top:18px}
.menu-phone svg{width:18px;height:18px}
.menu-contact small{display:block;font-size:.6875rem;line-height:1.7;color:#b9cee0;margin-top:4px}
#mobile-menu .menu-location{font-size:.8125rem;line-height:1.7;color:#b9cee0;margin-top:17px}
.menu-social{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px;font-size:.8125rem}
.menu-social a{display:flex;align-items:center;gap:8px;text-decoration:none}
.menu-social svg{width:16px;height:16px}
@keyframes menu-enter{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
@keyframes menu-leave{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-14px)}}
@keyframes menu-row-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:1190px){.menu-toggle{flex-direction:row;width:auto;min-width:86px;height:46px;min-height:46px;gap:11px!important;padding:8px 12px!important;border:1px solid #cbd8e2;border-radius:999px}.menu-toggle .menu-toggle-label{display:block!important;width:auto;height:auto;background:transparent;font:600 .8125rem/1 var(--body);color:var(--blue)}.menu-toggle .ui-icon{width:23px;height:23px}.menu-toggle:hover{background:var(--soft)}}
@media(max-width:700px){
 #mobile-menu .menu-head{min-height:88px;padding:17px 22px;padding-top:max(17px,env(safe-area-inset-top))}.menu-logo{width:142px}
 #mobile-menu .menu-body{display:block;padding:20px 24px max(28px,env(safe-area-inset-bottom))}
 #mobile-menu .mobile-nav-label{font-size:.75rem;margin-bottom:10px}
 #mobile-menu .mobile-primary>a,#mobile-menu .mobile-services>summary{font-size:1.9rem;min-height:53px;gap:10px;grid-template-columns:22px minmax(0,1fr) auto;padding-block:9px}
 #mobile-menu .mobile-nav-row{min-height:53px}.mobile-service-list{padding-left:32px}
 #mobile-menu .mobile-nav-price{font-size:.75rem;padding:7px 9px}
 .menu-contact{margin-top:23px;padding-top:0}.menu-art{display:none}
 #mobile-menu .menu-contact .mobile-nav-label{margin-bottom:5px}
 #mobile-menu .menu-email{font-size:1rem}.menu-phone{margin-top:9px;font-size:.875rem}.menu-contact small{font-size:.625rem}
 #mobile-menu .menu-location{margin-top:10px;font-size:.75rem}.menu-social{margin-top:12px;font-size:.75rem;gap:22px}
 .whatsapp-contact{width:52px;height:52px;min-height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:0 4px 16px #075e542b}
 .whatsapp-contact .whatsapp-icon{width:28px;height:28px}
 .access-toggle{width:44px;height:44px;min-height:44px;right:20px;bottom:calc(78px + env(safe-area-inset-bottom));box-shadow:0 3px 12px #00336620}
 .access-toggle>.ui-icon{width:27px;height:27px}
}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .menu-body{display:block}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .menu-art{display:none}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-nav-number{display:none}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-primary>a,html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-services>summary{grid-template-columns:minmax(0,1fr) auto}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-primary>a>span:nth-child(2),html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-services>summary>span:nth-child(2){overflow-wrap:anywhere}
html:is([data-text-scale="150"],[data-text-scale="200"]) #mobile-menu .mobile-service-list{padding-left:0}
@media(prefers-reduced-motion:reduce){#mobile-menu[open],#mobile-menu.is-closing,#mobile-menu .mobile-nav-row{animation:none!important}#mobile-menu .menu-close,#mobile-menu .mobile-primary>a,#mobile-menu .mobile-services>summary{transition:none!important}}
