:root{--sn-h:48px}
.sectionnav-progress{position:fixed;left:0;right:0;top:var(--hdr);z-index:57;height:2px;pointer-events:none;opacity:0;transition:opacity var(--dur) var(--ease-signal)}
.sectionnav-progress.is-shown{opacity:1}
.sectionnav-progress i{display:block;height:100%;background:var(--signal-ink);transform:scaleX(0);transform-origin:0 50%}
.sectionnav{display:none}
@media (max-width:959px){
.sectionnav{display:block;position:fixed;left:0;right:0;top:var(--hdr);z-index:56;color:var(--text);
background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 10px 24px -18px rgba(11,15,20,.4);
transform:translateY(-100%);opacity:0;visibility:hidden;
transition:transform var(--dur) var(--ease-signal),opacity var(--dur) var(--ease-signal),visibility 0s linear var(--dur)}
.sectionnav.is-shown{transform:none;opacity:1;visibility:visible;transition-delay:0s}
.sectionnav-progress{top:calc(var(--hdr) + var(--sn-h) - 2px)}
.sectionnav-progress:not(.is-shown){transition:none}
.sectionnav__toggle{display:flex;align-items:center;gap:.75rem;width:100%;min-height:var(--sn-h);margin:0;padding:.35rem var(--gutter);border:0;background:none;color:inherit;font:500 1rem/1.3 var(--f-sans);text-align:left;cursor:pointer}
.sectionnav__count{flex:none;font:500 .8125rem/1 var(--f-mono);letter-spacing:.06em;color:var(--signal-ink);font-variant-numeric:tabular-nums}
.sectionnav__count:empty{display:none}
.sectionnav__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sectionnav__chev{flex:none;width:8px;height:8px;margin:-4px 2px 0 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur-fast) var(--ease-signal)}
.sectionnav.is-open .sectionnav__chev{transform:translateY(4px) rotate(-135deg)}
.sectionnav__toggle:focus-visible{outline-offset:-3px}
.sectionnav__menu{list-style:none;margin:0;padding:.25rem 0 .75rem;max-height:min(70vh,calc(100vh - var(--hdr) - var(--sn-h) - 1rem));overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);background:var(--white)}
.sectionnav__menu a{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:baseline;min-height:44px;padding:.65rem var(--gutter);color:var(--body);text-decoration:none;font-size:1rem;line-height:1.4;border-left:2px solid transparent}
.sectionnav__num{font:500 .8125rem/1 var(--f-mono);color:var(--muted)}
.sectionnav__menu a:hover{background:var(--paper);color:var(--text)}
.sectionnav__menu a[aria-current]{border-left-color:var(--signal-ink);color:var(--text);font-weight:550}
.sectionnav__menu a[aria-current] .sectionnav__num{color:var(--signal-ink)}
.sectionnav__menu a:focus-visible{outline-offset:-3px}
html.has-sectionnav [data-section],html.has-sectionnav main [id]{scroll-margin-top:calc(var(--hdr) + var(--sn-h) + 20px)}
html.has-sectionnav main :focus{scroll-margin-top:calc(var(--hdr) + var(--sn-h) + 16px)}
}
.menu-open .sectionnav,.menu-open .sectionnav-progress{visibility:hidden}
@media print{.sectionnav,.sectionnav-progress{display:none!important}}
html.save-data .sectionnav,html.save-data .sectionnav-progress{transition:none}
@media (max-height:500px){html.has-notice .sectionnav,html.has-notice .sectionnav-progress{visibility:hidden}}
@media (forced-colors:active){
.sectionnav-progress i{forced-color-adjust:none;background:Highlight}
.sectionnav__menu a{border-left-color:Canvas}
.sectionnav__menu a[aria-current]{border-left-color:Highlight}
}
