/* Mega navigation */
.site-nav{gap:24px}.site-nav>a,.mega-trigger,.nav-dropdown summary{font-size:16px;font-weight:600}.nav-services{height:100%;display:flex;align-items:center}.mega-trigger{height:100%;display:flex;align-items:center;gap:7px;padding:0;border:0;border-bottom:2px solid transparent;background:transparent;color:#fff;cursor:pointer}.mega-trigger>i,.nav-dropdown summary>i{color:var(--green);font-size:9px;transition:transform .25s}.mega-trigger[aria-expanded="true"]>i,.nav-dropdown[open] summary>i{transform:rotate(180deg)}.mega-trigger:hover,.mega-trigger[aria-expanded="true"]{border-bottom-color:var(--green)}
.mega-menu{position:fixed;top:88px;right:0;left:0;z-index:90;background:#fff;color:var(--text);border-top:1px solid var(--border);box-shadow:0 30px 70px rgba(0,21,47,.2);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,visibility .25s,transform .35s var(--ease);max-height:calc(100vh - 88px);overflow-y:auto}.site-header.scrolled .mega-menu{top:76px;max-height:calc(100vh - 76px)}.mega-menu.open{opacity:1;visibility:visible;transform:none}.mega-shell{width:100%;min-height:590px;display:grid;grid-template-columns:minmax(235px,20vw) minmax(540px,1fr) minmax(260px,25vw)}
.mega-tabs{padding:28px 0;background:#f3f6f5;border-right:1px solid var(--border)}.mega-overline{display:block;padding:0 clamp(22px,3vw,48px) 18px;color:#71808d;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.mega-tab{width:100%;min-height:59px;display:grid;grid-template-columns:23px 1fr 14px;align-items:center;gap:12px;padding:0 clamp(22px,3vw,48px);border:0;border-left:3px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:.2s}.mega-tab>i:first-child{color:#7a8b99;font-size:13px}.mega-tab>i:last-child{justify-self:end;color:var(--green);font-size:9px;opacity:0;transform:translateX(-5px)}.mega-tab span{font-size:14px;font-weight:700}.mega-tab:hover{background:#e7eeeb}.mega-tab.active{border-left-color:var(--green);background:var(--navy);color:#fff}.mega-tab.active>i:first-child{color:var(--green)}.mega-tab.active>i:last-child{opacity:1;transform:none}.mega-all{height:50px;display:flex!important;align-items:center;justify-content:space-between;margin:20px clamp(22px,3vw,48px) 0;padding:0 17px;border:1px solid #cbd5d2;color:var(--navy)!important;font-size:11px!important;font-weight:800}.mega-all::after{display:none!important}.mega-all i{color:var(--green)}
.mega-panels{padding:34px clamp(28px,3vw,52px);overflow:hidden}.mega-panel{display:none}.mega-panel.active{display:block;animation:mega-in .3s var(--ease)}.mega-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.mega-panel-head>span{color:var(--green);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.mega-panel-head p{max-width:350px;margin:0;color:var(--muted);font-size:12px;text-align:right}.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;padding-top:8px}.mega-links>a{min-height:94px;display:grid!important;grid-template-columns:34px 1fr;gap:13px;align-items:start;padding:18px 5px;border-bottom:1px solid var(--border)!important;color:var(--text)!important;transition:padding .25s,background .25s}.mega-links>a::after{display:none!important}.mega-links>a:hover{padding-left:12px;background:var(--off-white)}.mega-links>a>i{width:30px;height:30px;display:grid;place-items:center;background:#e7f4eb;color:var(--navy);font-size:12px}.mega-links strong{display:block;margin-bottom:4px;font-size:16px;line-height:1.35}.mega-links span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.mega-spotlight{padding:30px clamp(24px,2.5vw,40px);background:#eaf0fb;border-left:1px solid #d6deed;display:flex;flex-direction:column}.mega-spotlight>span{color:#5d7089;font-size:14px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.spotlight-mark{height:220px;margin:22px 0;display:flex;align-items:flex-end;padding:25px;background:linear-gradient(145deg,#00235a,#0757c9);color:var(--green);font-size:72px;font-weight:800;letter-spacing:-.08em;position:relative;overflow:hidden}.spotlight-mark::after{content:"";position:absolute;width:170px;height:170px;right:-40px;top:-50px;border:1px solid rgba(255,255,255,.35);transform:rotate(45deg)}.mega-spotlight h3{margin:0 0 10px;color:var(--navy);font-size:20px;line-height:1.25}.mega-spotlight p{margin:0 0 18px;color:#00235a;font-size:14px;line-height:1.55}.mega-spotlight>a{display:flex!important;align-items:center;gap:12px;color:var(--navy)!important;font-size:11px!important;font-weight:800}.mega-spotlight>a::after{display:none!important}.mega-spotlight>a i{color:var(--green)}
.nav-dropdown{position:relative}.nav-dropdown summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;color:#fff}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown>div{position:absolute;top:37px;left:50%;width:265px;padding:10px;background:#fff;color:var(--text);box-shadow:0 18px 45px rgba(0,21,47,.18);transform:translateX(-50%)}.nav-dropdown>div a{display:block;height:auto!important;padding:11px 12px;border-bottom:1px solid var(--border)!important;font-size:12px!important}.nav-dropdown>div a::after{display:none!important}.nav-dropdown>div a:hover{background:#edf6f0}.nav-dropdown>div a:last-child{border:0!important}@keyframes mega-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Content-rich footer */
.site-footer{position:relative;overflow:hidden;padding:0 0 30px;background:radial-gradient(circle at 12% 8%,rgba(74,186,106,.09),transparent 28%),linear-gradient(135deg,#00235a 0%,#002052 38%,#001638 100%)}.site-footer>.container{position:relative;z-index:2}.footer-art{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.footer-grid-art{position:absolute;width:520px;height:520px;right:-110px;top:-90px;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:38px 38px;transform:perspective(600px) rotateY(-20deg) rotateZ(7deg);mask-image:linear-gradient(135deg,#000,transparent 75%)}.footer-art>i{position:absolute;display:block;width:620px;height:1px;right:-130px;top:180px;background:linear-gradient(90deg,transparent,rgba(74,186,106,.65),transparent);transform:rotate(-22deg);animation:footer-signal 7s ease-in-out infinite}.footer-art>i:nth-of-type(2){top:270px;right:-20px;width:460px;animation-delay:-2.2s;opacity:.65}.footer-art>i:nth-of-type(3){top:355px;right:-180px;width:720px;animation-delay:-4.4s;opacity:.42}.footer-art>b{position:absolute;width:9px;height:9px;border:2px solid var(--green);background:#00235a;transform:rotate(45deg);box-shadow:0 0 14px rgba(74,186,106,.55);animation:footer-node 3s ease-in-out infinite}.footer-art>b:nth-of-type(1){right:16%;top:115px}.footer-art>b:nth-of-type(2){right:7%;top:305px;animation-delay:-1s}.footer-art>b:nth-of-type(3){right:28%;top:380px;animation-delay:-2s}.footer-statement{min-height:285px;display:flex;align-items:center;justify-content:space-between;gap:60px;border-bottom:1px solid #294262}.footer-statement h2{margin:0;color:#fff;font-size:clamp(36px,4vw,52px);line-height:1.08;letter-spacing:-.045em}.footer-statement .button{flex:none}.footer-main{display:grid;grid-template-columns:minmax(260px,.8fr) 2.2fr;gap:75px;padding:75px 0}.footer-brand p{max-width:350px}.footer-email{display:inline-flex;align-items:center;gap:14px;margin:4px 0 25px;color:#fff;font-size:15px;font-weight:700}.footer-email i{color:var(--green);font-size:11px}.footer-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 35px}.footer-col h3{margin-bottom:16px}.footer-col a{line-height:1.45}.footer-offices{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #294262;padding:34px 0;gap:30px}.footer-offices>div+div{border-left:1px solid #294262;padding-left:30px}.footer-offices span{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.footer-offices p{margin:9px 0 0;color:#8fa3b7;font-size:13px;line-height:1.55}.footer-bottom{padding-top:27px}.footer-bottom>span:nth-child(2){color:#9cafc0}@keyframes footer-signal{0%,100%{translate:12% 0;opacity:.2}50%{translate:-12% 0;opacity:.8}}@keyframes footer-node{0%,100%{scale:.8;opacity:.45}50%{scale:1.25;opacity:1}}

@media(max-width:1180px){.site-nav{gap:16px}.site-nav>a,.mega-trigger,.nav-dropdown summary{font-size:16px}.header-cta{display:none}.mega-shell{grid-template-columns:220px minmax(500px,1fr) 250px}.mega-tabs,.mega-panels,.mega-spotlight{padding-inline:24px}.mega-tab{padding-inline:22px}.footer-main{grid-template-columns:1fr;gap:45px}.footer-brand{max-width:500px}}
@media(max-width:900px) and (min-width:851px){.mega-shell{grid-template-columns:210px 1fr}.mega-spotlight{display:none}}
@media(max-width:850px){.site-nav{overflow-y:auto;justify-content:flex-start}.nav-services{height:auto;display:block}.mega-trigger,.nav-dropdown summary,.site-nav>a:not(.header-cta){width:100%;min-height:55px;height:auto;display:flex;justify-content:space-between;align-items:center;padding:0 4px;border:0;border-bottom:1px solid #29496d;color:#fff;font-size:17px}.mega-menu,.site-header.scrolled .mega-menu{position:static;top:auto;width:100%;max-height:0;overflow:hidden;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:max-height .55s var(--ease)}.mega-menu.open{max-height:5000px;overflow:visible}.mega-shell{min-height:0;display:block}.mega-tabs{padding:12px 0}.mega-overline{padding:12px 18px}.mega-tab{min-height:52px;padding-inline:18px}.mega-all{margin:15px 18px}.mega-panels{padding:20px 18px}.mega-panel-head{display:block}.mega-panel-head p{margin-top:7px;text-align:left}.mega-links{grid-template-columns:1fr}.mega-links>a{min-height:82px}.mega-spotlight{padding:22px 18px}.spotlight-mark{height:180px}.nav-dropdown>div{position:static;width:100%;padding:5px 0;background:rgba(255,255,255,.06);color:#fff;box-shadow:none;transform:none}.nav-dropdown>div a{color:#fff!important;border-color:rgba(255,255,255,.1)!important}.footer-statement{align-items:flex-start;flex-direction:column;justify-content:center}.footer-nav-grid{grid-template-columns:repeat(2,1fr)}.footer-offices{grid-template-columns:1fr 1fr}.footer-offices>div+div{border-left:0;padding-left:0}}
@media(max-width:560px){.footer-statement{min-height:340px}.footer-main{padding:58px 0}.footer-nav-grid{grid-template-columns:1fr 1fr;gap:38px 24px}.footer-offices{grid-template-columns:1fr}.footer-offices>div{padding:0 0 20px;border-bottom:1px solid #294262}.footer-bottom>span:nth-child(2){display:none}.mega-links span{font-size:11px}}

/* Kinetic footer artwork */
.footer-kinetic{opacity:1}.footer-watermark{position:absolute;right:-1vw;top:-95px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);font-size:clamp(300px,40vw,620px);font-weight:800;line-height:1;letter-spacing:-.12em;user-select:none;animation:watermark-breathe 7s ease-in-out infinite}.footer-scan{position:absolute;top:0;right:0;width:55%;height:170px;background:linear-gradient(180deg,transparent,rgba(74,186,106,.08),transparent);filter:blur(4px);animation:footer-scan-down 8s ease-in-out infinite}.footer-bars{position:absolute;right:4%;top:70px;width:min(42vw,600px);height:270px;display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;opacity:.55;mask-image:linear-gradient(90deg,transparent,#000 28%,#000)}.footer-bars i{display:block;width:3px;height:var(--bar-height,45%);background:linear-gradient(180deg,rgba(255,255,255,.12),var(--green));transform-origin:bottom;animation:footer-bar 3.8s ease-in-out infinite}.footer-bars i:nth-child(1){--bar-height:24%;animation-delay:-.2s}.footer-bars i:nth-child(2){--bar-height:52%;animation-delay:-1.8s}.footer-bars i:nth-child(3){--bar-height:34%;animation-delay:-2.7s}.footer-bars i:nth-child(4){--bar-height:78%;animation-delay:-.9s}.footer-bars i:nth-child(5){--bar-height:46%;animation-delay:-3.2s}.footer-bars i:nth-child(6){--bar-height:92%;animation-delay:-1.4s}.footer-bars i:nth-child(7){--bar-height:64%;animation-delay:-2.2s}.footer-bars i:nth-child(8){--bar-height:38%;animation-delay:-.5s}.footer-bars i:nth-child(9){--bar-height:84%;animation-delay:-3.5s}.footer-bars i:nth-child(10){--bar-height:56%;animation-delay:-1.1s}.footer-bars i:nth-child(11){--bar-height:72%;animation-delay:-2.5s}.footer-bars i:nth-child(12){--bar-height:30%;animation-delay:-.1s}@keyframes watermark-breathe{0%,100%{opacity:.45;transform:translate3d(0,0,0)}50%{opacity:.9;transform:translate3d(-14px,8px,0)}}@keyframes footer-scan-down{0%,15%{transform:translateY(-180px);opacity:0}50%{opacity:1}85%,100%{transform:translateY(900px);opacity:0}}@keyframes footer-bar{0%,100%{transform:scaleY(.45);opacity:.35}50%{transform:scaleY(1);opacity:1}}@media(max-width:850px){.footer-watermark{right:-70px;top:20px;font-size:330px}.footer-bars{right:0;width:70vw;opacity:.35}}@media(max-width:560px){.footer-watermark{right:-80px;top:100px;font-size:270px}.footer-bars{display:none}}
.footer-statement{
    display: none;
}.footer-newsletter{margin-top:28px;padding:0;border:0;background:transparent;max-width:350px}.footer-newsletter h3{font-size:18px;line-height:1.25;letter-spacing:-.02em;margin:0;color:#fff}.footer-brand .footer-newsletter p{font-size:12px;line-height:1.6;color:#aebfcd;margin:10px 0 18px}.footer-newsletter label{display:block;font-size:11px;color:#cad8e2;margin-bottom:8px}.newsletter-input-row{display:flex;border:1px solid #ffffff35;border-radius:6px;overflow:hidden;background:#001638}.newsletter-input-row:focus-within{outline:2px solid var(--green);outline-offset:3px}.newsletter-input-row input{font:inherit;font-size:12px;color:#fff;background:transparent;border:0;outline:none;min-width:0;width:100%;padding:13px 12px}.newsletter-input-row input::placeholder{color:#95a9bd}.newsletter-input-row button{flex:none;width:44px;background:var(--green);color:#001638;border:0;cursor:pointer;font-size:14px}.newsletter-input-row button:hover{background:#78d28e}.newsletter-input-row button:disabled{opacity:.65;cursor:wait}.footer-newsletter small{display:block;font-size:10px;line-height:1.6;color:#95a9bd;margin-top:12px}.footer-newsletter small a{color:#c1d7ca;text-decoration:underline;text-underline-offset:3px}.footer-brand .footer-newsletter .newsletter-status{margin:12px 0 0;color:#a2e8b4;font-size:12px}.footer-newsletter .newsletter-status:empty{display:none}.footer-brand .footer-newsletter .newsletter-status[data-error=true]{color:#ffc6b8}
@media(max-width:560px){.footer-newsletter{max-width:100%;padding:0}}
/* Compact footer credentials */
.footer-certifications{padding:0 0 32px;display:flex;align-items:center;gap:35px}
.footer-certifications>p{flex:0 0 155px;font-size:10px;font-weight:700;line-height:1.7;letter-spacing:.12em;text-transform:uppercase;color:#a9c4b4;margin:0}
.footer-certification-grid{display:flex;flex:1;align-items:center;justify-content:space-between;gap:25px;min-width:0}
.footer-certification-grid>div{display:flex;align-items:center;justify-content:center;min-width:0;height:70px}
.footer-certification-grid img{display:block;width:auto;height:auto;max-width:145px;max-height:62px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.75}
.footer-certification-grid>div:nth-child(-n+2) img{max-height:68px}
.footer-certification-grid>div:nth-child(3) img{max-height:65px}
.footer-certification-grid>div:nth-child(5) img{filter:grayscale(1);border-radius:50%;max-height:62px;opacity:.85}
@media(max-width:1050px){.footer-certifications{align-items:flex-start;flex-direction:column;gap:20px}.footer-certifications>p{flex:auto}.footer-certification-grid{width:100%;gap:20px}.footer-certification-grid img{max-width:120px}}
@media(max-width:750px){.footer-certification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 25px}.footer-certification-grid>div{height:65px}.footer-certification-grid img{max-width:100%;max-height:55px}.footer-certification-grid>div:nth-child(-n+3) img{max-height:60px}.footer-certification-grid>div:nth-child(5) img{max-height:55px}.footer-certifications{padding-bottom:28px}}
.footer-certification-grid>div:nth-child(3) img{width:65px;height:65px;filter:none;opacity:1}
/* Secondary dropdowns follow the mega menu's typography and flat dividers. */
.nav-dropdown>div{width:290px;padding:14px 22px;border:1px solid var(--border);border-radius:0;background:#fff;color:var(--text);box-shadow:0 24px 55px rgba(0,21,47,.18);z-index:95}
.nav-dropdown>div a{display:flex;align-items:center;gap:13px;min-height:60px;padding:17px 5px;border-bottom:1px solid var(--border)!important;border-radius:0;color:var(--text)!important;font-size:16px!important;font-weight:700;line-height:1.35;transition:padding .25s,background .25s}
.nav-dropdown>div a:last-child{border-bottom:0!important}
.nav-dropdown .nav-item-arrow{flex:0 0 20px;color:var(--green);font-size:19px;font-weight:400;line-height:1;transition:transform .25s}
.nav-dropdown .nav-item-label{flex:1}
.nav-dropdown>div a:hover,.nav-dropdown>div a:focus-visible,.nav-dropdown>div a[aria-current=page]{padding-left:12px;background:var(--off-white)}
.nav-dropdown>div a:hover .nav-item-arrow,.nav-dropdown>div a:focus-visible .nav-item-arrow{transform:translateX(3px)}
.nav-dropdown>div a:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media(min-width:851px){.site-nav>.nav-dropdown:last-of-type>div{left:auto;right:0;transform:none}}
@media(max-width:850px){
 .nav-dropdown>div{width:100%;padding:6px 18px;margin:0;border:0;border-radius:0;background:rgba(255,255,255,.06);box-shadow:none}
 .nav-dropdown>div a{min-height:60px;color:#fff!important;font-size:16px!important;border-color:rgba(255,255,255,.1)!important}
 .nav-dropdown>div a:hover,.nav-dropdown>div a:focus-visible,.nav-dropdown>div a[aria-current=page]{background:rgba(255,255,255,.05)}
}
@media(prefers-reduced-motion:reduce){.nav-dropdown>div a,.nav-dropdown .nav-item-arrow{transition:none}}
/* Draw navigation arrows in CSS to avoid text-encoding substitutions. */
.nav-dropdown .nav-item-arrow{position:relative;display:block;width:20px;height:16px}
.nav-dropdown .nav-item-arrow::before{content:'';position:absolute;left:2px;top:7px;width:13px;height:1.5px;background:currentColor}
.nav-dropdown .nav-item-arrow::after{content:'';position:absolute;right:4px;top:4px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
/* Compact secondary menus with a distinct active-page treatment. */
.nav-dropdown>div a{font-size:14px!important;min-height:54px}
.nav-dropdown>div a[aria-current=page]{background:#eaf5ee;color:#00235a!important;border-radius:8px;padding-left:12px;border-bottom-color:transparent!important}
.nav-dropdown>div a[aria-current=page] .nav-item-arrow{color:#318c4c}
@media(max-width:850px){.nav-dropdown>div a{font-size:14px!important}.nav-dropdown>div a[aria-current=page]{background:#eaf5ee;color:#00235a!important}}
/* Consistent text-only dropdown items across default, hover and active states. */
.nav-dropdown>div a{padding-left:12px;padding-right:12px;border-radius:8px;transition:background .2s,color .2s}
.nav-dropdown>div a:hover,.nav-dropdown>div a:focus-visible,.nav-dropdown>div a[aria-current=page]{padding-left:12px;background:#eaf5ee;color:#00235a!important;border-radius:8px;border-bottom-color:transparent!important}
@media(max-width:850px){.nav-dropdown>div a:hover,.nav-dropdown>div a:focus-visible,.nav-dropdown>div a[aria-current=page]{background:#eaf5ee;color:#00235a!important}}
