.full-site header nav{align-items:center}
.nav-item{position:relative;display:flex;align-items:center;gap:2px}
.nav-caret{all:unset;box-sizing:border-box;cursor:pointer;width:24px;height:30px;display:grid;place-items:center;border-radius:6px;color:#154477}
.nav-caret::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.nav-caret:focus-visible{outline:2px solid #0063c6;outline-offset:1px}
.nav-menu{position:absolute;top:calc(100% + 12px);left:-18px;z-index:60;min-width:250px;padding:18px 22px;background:#fff;border:1px solid #dce6e9;border-radius:16px;box-shadow:0 18px 40px rgba(14,47,83,.14);display:none}
.nav-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-menu.wide{grid-template-columns:repeat(3,max-content);gap:4px 34px;left:-40px}
.has-menu:hover .nav-menu,.has-menu.open .nav-menu{display:block}
.has-menu:hover .nav-menu.wide,.has-menu.open .nav-menu.wide{display:grid}
.has-menu:hover .nav-caret::before,.has-menu.open .nav-caret::before{transform:translateY(2px) rotate(225deg)}
.nav-group p{margin:0 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#507b0a}
.full-site header .nav-menu a{display:block;padding:7px 0;font-size:14.5px;line-height:1.35;color:#154477;white-space:nowrap;text-decoration:none;box-shadow:none}
.full-site header .nav-menu a:hover{color:#0063c6;text-decoration:underline}
.full-site header .nav-menu .nav-all{grid-column:1/-1;border-top:1px solid #e3eaee;margin-top:10px;padding-top:12px;font-weight:700}
.mobile-nav .mnav{grid-column:1/-1;border-bottom:1px solid var(--line,#dce4e8)}
.mobile-nav .mnav summary{padding:13px 0;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mobile-nav .mnav summary::-webkit-details-marker{display:none}
.mobile-nav .mnav summary::after{content:"+";font-weight:700;font-size:20px;color:#154477}
.mobile-nav .mnav[open] summary::after{content:"-"}
.mobile-nav .mnav>div{display:grid;padding:0 0 10px 14px}
.mobile-nav .mnav>div p{margin:10px 0 2px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#507b0a}
.mobile-nav .mnav>div a{padding:9px 0;font-size:15px;border-bottom:0}
