/* Shared navigation shell for visitors and signed-in users. */
.site-shell{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1600px;min-height:calc(100vh - 165px)}
.site-sidebar{background:#eaf0f4;border-right:1px solid #c6d4de;min-width:0}
.site-navigation{display:block;min-height:0;padding:1.4rem 1rem;background:transparent}
.site-navigation a{display:block;margin:0;padding:.65rem .8rem;border-left:4px solid transparent;border-radius:4px;line-height:1.4;overflow-wrap:anywhere}
.site-navigation a.is-current{background:#d4e5f0;border-left-color:#ad3b20;color:#103d5e;font-weight:750;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.site-navigation a:hover{background:#dce8ef}
.site-navigation .navigation-heading{font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:#40596b;line-height:1.5;margin:0 0 .5rem .8rem}
.navigation-group{margin-bottom:1.4rem}
.site-navigation details{background:transparent;border:0;border-radius:0;padding:0;margin:.8rem 0}
.site-navigation summary{padding:.6rem .7rem;font-size:1rem;color:#183344;border-top:1px solid #b8cbd7}
.site-navigation details details{margin:.25rem 0 .25rem .75rem}
.site-navigation details details summary{border:0;font-size:.9rem}
.site-navigation .access-hint{margin:.15rem .8rem .65rem}
.navigation-account{border-top:1px solid #b8cbd7;margin:1.2rem .4rem 0;padding:1rem .4rem 0;overflow-wrap:anywhere}
.navigation-account strong,.navigation-note{display:block}
.navigation-note{font-size:.85rem;color:#40596b;margin:.25rem .8rem .6rem}
.navigation-account .navigation-note{margin:0 0 .25rem}
.site-navigation form{margin:0}
.site-main{width:100%;padding:2rem clamp(1rem,3vw,2.5rem)}
.site-main>h1{max-width:32ch}
.site-main>p{max-width:80ch}
.site-main .browse-views{display:flex;flex-wrap:wrap;gap:.4rem;min-height:0;background:transparent;padding:.35rem 0 1rem;margin:0 0 1rem;border-bottom:1px solid #b8cbd7;flex-basis:auto}
.browse-views a{display:inline-block;margin:0;padding:.65rem 1rem;border:1px solid #8fa5b4;border-radius:5px;color:#0e406a;background:#fff;text-decoration:none;font-weight:600}
.browse-views a[aria-current=page]{background:#0e406a;border-color:#0e406a;color:#fff;text-decoration:underline;text-underline-offset:3px}
.browse-views a:hover{text-decoration:underline;text-decoration-thickness:2px}
.mobile-navigation-bar{display:none}
[hidden]{display:none!important}
@media(max-width:800px){
 .site-shell{display:block;min-height:0}
 .site-sidebar{border:0;border-bottom:1px solid #b8cbd7}
 .site-navigation{padding:1rem}
 .site-main{padding:1.25rem 1rem}
 .mobile-navigation-bar{display:block;background:#eaf0f4;padding:.4rem 1rem}
 .mobile-navigation-bar button{min-width:6rem}
 .site-header{padding:1rem;gap:1rem;flex-wrap:wrap}
 .browse-views a{padding:.65rem .8rem}
}
@media print{.site-sidebar,.mobile-navigation-bar,.browse-views{display:none!important}.site-shell{display:block}.site-main{padding:0}}

.calendar-controls:empty{display:none}

/* Keep content anchored at the top as navigation disclosures change height. */
.site-shell{align-items:start;overflow-anchor:none}
.site-main,.public-main{align-self:start;margin-top:0;margin-bottom:0}
.site-sidebar{align-self:stretch}
.site-main .page-sections{display:flex;flex-wrap:wrap;gap:.75rem;min-height:0;padding:.5rem 0;background:transparent}
.site-main .page-sections a{display:inline-block;padding:.4rem .6rem}
.mode-help dt{font-weight:700;margin-top:.75rem}.mode-help dd{margin:.25rem 0 .75rem}
section[id]{scroll-margin-top:1rem}
