.desktop-nav .nav-services{position:relative}
.nav-services summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font:inherit;line-height:1.5;white-space:nowrap;padding:9px 0}
.nav-services summary::-webkit-details-marker{display:none}
.nav-services summary>svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.4;transition:transform .2s}
.nav-services[open] summary>svg{transform:rotate(180deg)}
.nav-services summary:focus-visible{outline-offset:1px}
.services-dropdown{position:absolute;top:calc(100% + 15px);right:-17px;width:380px;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain;padding:23px;background:#f4f7fc;color:#243e62;border:1px solid #d6e0ef;border-radius:11px;box-shadow:0 16px 45px #071a3830;z-index:40}
.services-dropdown>p{font-size:.75rem;font-weight:600;line-height:1.7;letter-spacing:.075em;color:#536a8a;margin-bottom:16px}
.desktop-nav .services-dropdown>a{display:flex;align-items:center;justify-content:space-between;gap:23px;margin:0;padding:16px 0;min-height:0;border-radius:0;white-space:normal;line-height:1.5;color:#254d83;font-size:1rem}
.desktop-nav .services-dropdown>a::after{content:none}
.desktop-nav .services-dropdown>a:hover{background:transparent;color:#416daf}
.desktop-nav .services-dropdown>a+a:not(.all-expertise){border-top:1px solid #dce5f1}
.desktop-nav .services-dropdown>a[aria-current="page"]>span{font-weight:700}
.services-dropdown>a>span{display:block}
.services-dropdown small{display:block;font-size:.8125rem;font-weight:450;line-height:1.75;color:#536a8a;margin-top:8px}
.services-dropdown>a>svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.4}
.desktop-nav .services-dropdown>.all-expertise{font-size:.8125rem;font-weight:450;border-top:1px solid #dce5f1;padding-top:16px;margin-top:10px;color:#536a8a}
.mobile-menu nav>a.mobile-service-link{font-size:1rem;line-height:1.6;color:#416daf;padding:16px 0 19px 32px;letter-spacing:-.02em;font-weight:550}
.mobile-menu nav>a.mobile-service-link[aria-current]{color:#254d83}
.expertise-body li>a{text-decoration:underline;text-decoration-color:#9db6d6;text-underline-offset:5px}
.expertise-body li>a:hover{color:#345f9f}
@media(min-width:1024px){
 .nav-services summary{padding:13px 18px;min-height:48px;color:var(--nav-text);border-radius:3px;font-size:.875rem;font-weight:600;letter-spacing:-.015em}
 .nav-services[open] summary,.nav-services summary:hover,.nav-services.is-current summary,.nav-services:has([aria-current]) summary{color:var(--nav-active)}
 .nav-services.is-current summary{box-shadow:inset 0 -2px 0 var(--nav-active)}
 .site-header.on-dark .services-dropdown{background:#15233a;border-color:#ffffff24;box-shadow:0 16px 45px #07101f66}
 .site-header.on-dark .services-dropdown>p{color:#7f98bd}
 .site-header.on-dark .services-dropdown>a{color:#d2e1f7}
 .site-header.on-dark .services-dropdown>a:hover{color:#fff}
 .site-header.on-dark .services-dropdown>a+a:not(.all-expertise){border-color:#ffffff20}
 .site-header.on-dark .services-dropdown small{color:#8fa5c4}
 .site-header.on-dark .services-dropdown>.all-expertise{border-color:#ffffff20;color:#9db3d2}
}
@media(prefers-reduced-motion:reduce){.nav-services summary>svg{transition-duration:.12s}}
/* Products is a distinct category, sharing the established menu language. */
.mobile-products{padding:24px 0 20px;border-bottom:1px solid var(--line)}
.mobile-products>span{display:block;font-size:.875rem;line-height:1.8;color:#657fa2;margin-bottom:14px}
.mobile-products>a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1.125rem;line-height:1.8;letter-spacing:-.02em;color:#315d99}
.mobile-products>a>svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.4;flex-shrink:0}
.mobile-products>a[aria-current="page"]{font-weight:700}
@media(min-width:1024px) and (max-width:1199px){.site-header{grid-template-columns:minmax(154px,1fr) auto minmax(174px,1fr);gap:14px}.site-header .brand{width:154px}.desktop-nav{gap:4px}.desktop-nav a{padding-inline:14px}.nav-services summary{padding-inline:14px}.site-header .header-contact{gap:12px;padding-left:14px}}
@media(min-width:761px) and (max-width:1023px){.desktop-nav,.header-contact{display:none}.menu-toggle{display:block}.menu-toggle span:last-child{top:26px}.site-header{min-height:90px;padding-top:22px;padding-bottom:22px}.site-header.compact{min-height:80px;padding-top:17px;padding-bottom:17px}}
