[id]{scroll-margin-top:100px}
nav{gap:1.2rem;font-size:1rem}
.nav-group{position:relative}
.nav-group summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;min-height:44px}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:"";width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px}
.nav-group[open] summary::after{transform:rotate(225deg);margin-top:4px}
.submenu{position:absolute;top:100%;left:0;width:310px;max-height:70vh;overflow:auto;padding:.5rem;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 28px #0b39541a;border-radius:8px}
.submenu a{display:block;padding:.7rem .85rem;line-height:1.4}
.submenu a:hover,.submenu a:focus-visible{background:var(--sand);color:var(--navy)}
nav>a:not(.nav-cta){padding:.6rem 0}
nav a:focus-visible,nav summary:focus-visible,.menu:focus-visible{outline:2px solid var(--petrol);outline-offset:4px}
@media(max-width:1200px){
.topbar{height:64px}.menu{display:block;min-height:44px}
nav{display:none;position:absolute;top:64px;left:0;right:0;padding:1rem 5vw;background:var(--white);flex-direction:column;align-items:stretch;gap:.25rem;border-bottom:1px solid var(--line);max-height:calc(100dvh - 64px);overflow-y:auto}
nav.open{display:flex}
.nav-group summary{justify-content:space-between;padding:.6rem 0}
.submenu{position:static;width:100%;max-height:none;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;padding:0 0 0 .5rem;margin:.25rem 0 .75rem}
.nav-cta{text-align:center;margin-top:.5rem}
[id]{scroll-margin-top:84px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
