/* Shared primary navigation */
.site-header{position:sticky;top:0;z-index:30;height:104px;padding:0 clamp(24px,5vw,90px);gap:32px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(16,43,69,.09);box-shadow:0 4px 24px rgba(16,43,69,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header .brand{width:218px;padding-right:28px;border-right:1px solid #dce4eb;flex-shrink:0}
.site-header .brand img{display:block;width:100%;height:auto}
.site-header #nav{display:flex;position:static;flex-direction:row;align-items:center;gap:clamp(18px,2.2vw,36px);padding:0;background:transparent;box-shadow:none;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;letter-spacing:.15px}
.site-header #nav>a{position:relative;display:flex;align-items:center;min-height:48px;white-space:nowrap;color:#45596a;border:0;transition:color .2s ease}
.site-header #nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:#215d87;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header #nav>a:hover,.site-header #nav>a[aria-current]{color:#102b45}
.site-header #nav>a:hover::after,.site-header #nav>a[aria-current]::after{transform:scaleX(1)}
.site-header #nav>.nav-cta{gap:20px;margin-left:8px;padding:13px 20px;background:#102b45;color:white;border:1px solid #102b45;border-radius:3px;box-shadow:0 5px 14px #102b4512;transition:background .2s,box-shadow .2s}
.site-header #nav>.nav-cta:hover{background:#215d87;box-shadow:0 6px 18px #102b4525}
.site-header .nav-cta span{font-size:20px;font-weight:400;line-height:1}
.site-header .menu{display:none}
.skip{z-index:50}
@media(max-width:1100px){
.site-header{height:88px;padding:0 24px;gap:20px}
.site-header .brand{width:190px;padding-right:20px}
.site-header #nav{gap:17px;font-size:12px}
.site-header #nav>.nav-cta{padding:11px 14px;gap:12px;margin-left:0}
}
@media(max-width:1150px){
html{scroll-padding-top:100px}
.site-header{height:82px;padding:0 6%;justify-content:space-between}
.site-header .brand{width:184px;padding:0;border:0}
.site-header .menu{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;min-width:100px;padding:9px 12px;border:1px solid #d8e1e8;border-radius:3px;background:transparent;color:#102b45;font-size:12px;letter-spacing:.6px}
.menu-icon{display:block;position:relative;width:18px;height:14px}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:18px;height:1px;background:currentColor;transition:transform .2s,top .2s}
.menu-icon::before{top:3px}.menu-icon::after{top:10px}
.menu[aria-expanded=true] .menu-icon::before{top:7px;transform:rotate(45deg)}
.menu[aria-expanded=true] .menu-icon::after{top:7px;transform:rotate(-45deg)}
.site-header #nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 82px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px 6% 26px;box-shadow:0 18px 24px #102b4514;border-bottom:1px solid #d8e1e8;font-size:16px}
.site-header #nav.open{display:flex}
.site-header #nav>a:not(.nav-cta){min-height:58px;border-bottom:1px solid #edf1f5}
.site-header #nav>a:not(.nav-cta)::after{right:auto;width:30px;bottom:10px}
.site-header #nav>.nav-cta{margin:20px 0 0;padding:14px 18px;justify-content:space-between;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.site-header *,.site-header *::before,.site-header *::after{transition:none!important}}
/* Accessible project navigation */
.site-header .project-menu{position:relative;align-self:stretch;display:flex;align-items:center}
.site-header .project-menu-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#45596a;padding:0;min-height:48px;white-space:nowrap;font:inherit;letter-spacing:inherit}
.site-header .project-menu-toggle>span{font-size:17px;transition:transform .2s}
.site-header .project-menu.current .project-menu-toggle{color:#102b45;box-shadow:inset 0 -2px #215d87}
.site-header .project-submenu{display:none;position:absolute;top:100%;left:-20px;width:260px;padding:8px;background:#fff;border:1px solid #d9e3eb;border-top:3px solid #215d87;box-shadow:0 18px 35px #102b4522;border-radius:0 0 5px 5px;z-index:40}
.site-header .project-menu.is-open .project-submenu{display:block}
.site-header .project-menu.is-open .project-menu-toggle>span{transform:rotate(180deg)}
.site-header .project-submenu>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 12px;color:#233e54;font-size:13px;border:0;border-radius:2px;white-space:nowrap}
.site-header .project-submenu>a:hover,.site-header .project-submenu>a[aria-current=page]{background:#eaf1f7;color:#164e76}
@media(max-width:1150px){.site-header .project-menu{display:block;align-self:auto;border-bottom:1px solid #edf1f5}.site-header .project-menu-toggle{width:100%;justify-content:space-between;min-height:58px;font-size:16px}.site-header .project-menu.current .project-menu-toggle{box-shadow:none;color:#215d87}.site-header .project-submenu{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid #215d87;background:#f3f7fa;margin:0 0 14px;padding:4px}.site-header .project-submenu>a{white-space:normal}}
/* Refined type and direct project link */
.site-header{box-shadow:0 5px 25px #102b4508}
.site-header #nav{font-size:14px;letter-spacing:.1px;gap:clamp(18px,2vw,32px)}
.site-header #nav>a,.site-header .project-menu-toggle{font-weight:500;color:#344e62}
.site-header .project-menu-toggle{position:relative;min-height:48px;line-height:1.65}
.site-header .project-menu.current .project-menu-toggle{box-shadow:none}
.site-header .project-menu-toggle::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;background:#215d87;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-header .project-menu.current .project-menu-toggle::after,.site-header .project-menu-toggle:hover::after,.site-header .project-menu-toggle:focus-visible::after{transform:scaleX(1)}
.site-header #nav>.nav-cta{border-radius:4px}
@media(min-width:1151px) and (max-width:1100px){.site-header #nav{font-size:13px;gap:16px}.site-header .brand{width:180px}}
@media(max-width:1150px){.site-header #nav{font-size:17px;gap:0}.site-header .project-menu-toggle{font-size:17px;min-height:58px}.site-header .project-submenu{display:block}.site-header .project-submenu>a{font-size:14px}.site-header .project-menu-toggle::after{width:30px;right:auto;bottom:10px}}
