/* Shared navigation, loaded after the visual theme. */
.menu-toggle,.mobile-toc{display:none}
#main-navigation a[aria-current]{text-decoration:underline;text-underline-offset:6px;font-weight:750}
.subnav>.wrap{display:flex;flex-wrap:wrap;gap:12px 30px;padding-top:12px;padding-bottom:12px}
.subnav a:first-child{font-weight:750}
.crumb{line-height:1.7}.section.wrap{padding-left:24px;padding-right:24px}
.page-toc a,.mobile-toc a{display:block;padding:8px 0}
.legal-framework summary{font-weight:700;cursor:pointer;line-height:1.6}
h2[id],section[id]{scroll-margin-top:150px}
@media(max-width:1100px){
 header .nav{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto;background:#007ca4;color:white;border:0;border-radius:6px;padding:12px 18px;font:inherit;cursor:pointer}
 body.nav-ready header #main-navigation{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}
 body.nav-ready header #main-navigation.is-open{display:flex}header #main-navigation a{padding:12px 8px}
}
@media(max-width:650px){
 .article-layout .page-toc{display:none}.mobile-toc{display:block;grid-column:1/-1;background:#eef6f7;padding:16px;margin-bottom:24px;border-radius:8px}.mobile-toc summary{font-weight:700;cursor:pointer}.mobile-toc nav{padding-top:12px}
 .subnav>.wrap{gap:8px 20px}.subnav a{font-size:13px}.crumb{font-size:12px}
}
@media print{.menu-toggle,.mobile-toc,.subnav{display:none!important}}

#case-workshop fieldset[hidden]{display:none!important}.hours-chart{white-space:normal;margin-top:24px}.hours-chart>div{margin:12px 0}.hours-bar{height:14px;border-radius:4px;max-width:100%}.hours-bar.needed{background:#007ca4}.hours-bar.available{background:#9e3e86}

/* Detailed section navigation: native links plus independent disclosure buttons. */
header .nav{position:relative}header #main-navigation{gap:4px;align-items:center}.nav-group{position:relative}.nav-group-heading{display:flex;align-items:center;gap:0}.nav-group-heading>a{padding:18px 5px;white-space:nowrap;font-size:14px}.submenu-toggle{font:inherit;border:0;background:transparent;color:var(--deep,#16354a);cursor:pointer;padding:14px 7px;min-width:30px;min-height:44px}.submenu-toggle[aria-expanded=true] span{display:inline-block;transform:rotate(180deg)}.nav-panel{position:absolute;top:100%;right:0;z-index:100;background:#fff;color:#243745;border:1px solid #d3e1e5;border-top:4px solid #21677a;border-radius:0 0 10px 10px;box-shadow:0 12px 28px #16354a24;width:340px;max-width:calc(100vw - 48px);padding:20px;max-height:70vh;overflow:auto}.nav-group:first-child .nav-panel,.nav-group:nth-child(2) .nav-panel{left:0;right:auto}.nav-panel[hidden]{display:none!important}.nav-panel-wide{width:650px}.nav-panel-top{border-bottom:1px solid #d3e1e5;padding-bottom:12px;margin-bottom:14px}.nav-panel-columns{display:grid;grid-template-columns:1fr;gap:22px}.nav-panel-wide .nav-panel-columns{grid-template-columns:1fr 1fr}.nav-panel-column p{font-size:13px;font-weight:750;color:#21677a;margin:0 0 10px}.nav-panel ul{list-style:none;margin:0;padding:0}.nav-panel li{margin:0}header #main-navigation .nav-panel a{display:block;padding:8px 4px;font-size:14px;line-height:1.45;white-space:normal}.nav-panel a:hover{background:#eef4f5}.submenu-toggle:focus-visible,#main-navigation a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #21677a;outline-offset:2px}
body:not(.nav-ready) .submenu-toggle{display:none}body:not(.nav-ready) .nav-group:focus-within .nav-panel[hidden],body:not(.nav-ready) .nav-group:hover .nav-panel[hidden]{display:block!important}
@media(max-width:1250px){header .nav{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto;background:#21677a;color:white;border:0;border-radius:6px;padding:12px 18px;font:inherit;cursor:pointer}body.nav-ready header #main-navigation{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}body.nav-ready header #main-navigation.is-open{display:flex}.nav-group{border-top:1px solid #d3e1e5}.nav-group-heading{justify-content:space-between}.nav-group-heading>a{flex:1;padding:14px 8px!important;font-size:16px}.submenu-toggle{min-width:48px;padding:14px}.nav-panel,.nav-panel-wide{position:static;width:100%;max-width:none;max-height:none;box-shadow:none;border-radius:0;border-top-width:2px;padding:18px}.nav-panel-wide .nav-panel-columns{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.nav-ready) header #main-navigation{display:block;width:100%}}
@media(max-width:650px){.nav-panel-wide .nav-panel-columns{grid-template-columns:1fr}.nav-panel{padding:14px}}
@media print{#main-navigation,.nav-panel{display:none!important}}
