.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.expanded-header { height:140px; position:relative; z-index:20; background:#fff; border-bottom:1px solid #dce5ea; box-shadow:0 6px 24px #0b344005; }
.expanded-header::after { content:""; position:absolute; left:0; right:0; top:85px; border-top:1px solid #e4eaed; pointer-events:none; }
.expanded-header .header-inner { position:relative; width:min(1220px,calc(100% - 64px)); height:100%; display:block; }
.expanded-header .brand { position:absolute; left:0; top:19px; gap:12px; color:#0b3440; font-size:28px; letter-spacing:-.055em; }
.expanded-header .brand-mark { width:31px; height:39px; }
.expanded-header .brand,.expanded-header .brand > span { min-width:0; }
.expanded-header .brand small { color:#456779; font-size:13px; font-weight:500; letter-spacing:.035em; line-height:1.3; margin-top:5px; white-space:normal; }
.expanded-header .main-nav { display:block; position:static; padding:0; border:0; background:none; box-shadow:none; }
.expanded-header .main-nav > a.nav-finder {
    position:absolute; right:0; top:15px; display:flex; align-items:center; justify-content:space-between; gap:22px;
    min-height:52px; padding:11px 20px; border:1px solid #0b3440; border-radius:8px;
    background:#0b3440; color:#fff; font-size:15px; font-weight:700;
    box-shadow:0 5px 14px #0b34400f; transition:background .2s,box-shadow .2s;
}
.nav-finder > span { width:30px; height:30px; display:grid; place-items:center; border-radius:5px; background:transparent; color:#fff; }
.expanded-header .main-nav > a.nav-finder:hover { background:#155364; border-color:#155364; box-shadow:0 7px 20px #0b344021; }
.header-search {
    position:absolute; left:50%; top:17px; transform:translateX(-50%); width:min(35%,425px);
    display:flex; align-items:center; height:48px; border:1px solid #cedce5; border-radius:8px; background:#f5f8fa;
    transition:border-color .2s,box-shadow .2s;
}
.header-search:focus-within { border-color:#287889; box-shadow:0 0 0 3px #e6f2f5; background:#fff; }
.header-search input { min-width:0; flex:1; width:100%; border:0; background:none; padding:11px 14px 11px 4px; color:#0b3440; font-size:15px; outline:none; }
.header-search input::placeholder { color:#708493; opacity:1; }
.header-search input:focus-visible { outline:2px solid #087f91; outline-offset:-3px; border-radius:5px; }
.header-search button { flex-shrink:0; width:46px; height:44px; border:0; background:none; color:#0b3440; border-radius:7px; display:grid; place-items:center; }
.header-search button:hover { background:#eaf4f5; }
.nav-sections { list-style:none; padding:86px 0 0; margin:0; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.nav-section { margin:0; padding:0; }
.nav-trigger {
    display:flex; align-items:center; justify-content:center; gap:12px; position:relative;
    min-height:53px; padding:12px 8px; border:0; background:none; color:#103d55;
    font-size:14px; font-weight:650; line-height:1.4; transition:color .18s;
}
.nav-trigger::after { content:""; position:absolute; bottom:0; left:8px; right:8px; height:3px; border-radius:3px 3px 0 0; background:#0d6175; transform:scaleX(0); transition:transform .18s; }
.nav-trigger:hover,.nav-trigger[aria-expanded=true] { color:#0d3d44; }
.nav-trigger:hover::after,.nav-trigger[aria-expanded=true]::after { transform:scaleX(1); }
.nav-chevron { flex-shrink:0; color:#456779; transition:transform .18s; }
.nav-trigger[aria-expanded=true] .nav-chevron { transform:rotate(180deg); color:#0d6175; }
.mega-panel {
    position:absolute; top:139px; left:0; right:0; z-index:30; max-height:calc(100vh - 159px); max-height:calc(100dvh - 159px);
    overflow-y:auto; overscroll-behavior:contain; background:#fff; border:1px solid #dce5ea;
    border-top:3px solid #0d6175; border-radius:0 0 16px 16px;
    box-shadow:0 24px 60px #092f3726; padding:30px 32px 0;
}
.mega-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:27px; }
.mega-kicker { display:block; color:#456779; font-size:13px; font-weight:600; letter-spacing:.08em; line-height:1.7; }
.mega-heading h2 { margin-top:7px; color:#0b3440; font-size:28px; font-weight:650; line-height:1.25; letter-spacing:-.035em; }
.mega-heading p { max-width:680px; margin-top:9px; color:#53687b; font-size:15px; line-height:1.7; }
.mega-close { display:grid; place-items:center; flex-shrink:0; width:46px; height:48px; border:1px solid #dce5ea; border-radius:8px; background:#fff; color:#0b3440; }
.mega-close:hover { background:#eef5f7; }
.mega-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr); gap:30px; }
.mega-column { min-width:0; }
.mega-column h3 { padding-bottom:13px; border-bottom:1px solid #dce5ea; color:#456779; font-size:13px; font-weight:650; line-height:1.6; letter-spacing:.06em; text-transform:uppercase; }
.mega-column ul { list-style:none; padding:8px 0 0; margin:0; }
.mega-column li { padding:0; margin:0; }
.mega-column a { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:62px; padding:12px 9px; margin-inline:-9px; border-radius:8px; color:#103d55; transition:background .15s; }
.mega-column a > span { min-width:0; overflow-wrap:break-word; }
.mega-column a strong { display:block; font-size:15px; font-weight:600; line-height:1.5; letter-spacing:-.015em; }
.mega-column a small { display:block; color:#53687b; font-size:13px; font-weight:400; line-height:1.7; margin-top:3px; }
.mega-column a > svg { color:#708493; flex-shrink:0; }
.mega-column a:hover,.mega-column a[aria-current=page] { background:#eaf4f5; color:#0b3440; }
.mega-column a[aria-current=page] strong { text-decoration:underline; text-underline-offset:4px; }
.nav-recommendation {
    align-self:stretch; min-width:0; display:flex; flex-direction:column; align-items:flex-start;
    padding:24px; border:1px solid #dce5ea; border-radius:12px; background:linear-gradient(145deg,#f6fafb,#eaf4f5);
}
.nav-recommendation-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:18px; border-radius:10px; background:#e3f1f4; color:#0b3440; }
.nav-recommendation h3 { max-width:280px; margin-top:10px; color:#0b3440; font-size:24px; font-weight:650; line-height:1.3; letter-spacing:-.03em; }
.nav-recommendation p { max-width:280px; margin-top:12px; color:#53687b; font-size:15px; line-height:1.75; }
.nav-recommendation a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding-top:16px; margin-top:auto; color:#0b3440; font-size:14px; font-weight:650; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.mega-overview { display:flex; align-items:center; gap:12px; min-height:58px; padding:18px 0; margin-top:26px; border-top:1px solid #dce5ea; color:#0d6175; font-size:14px; font-weight:600; }
.expanded-header .menu-close-icon,.expanded-header .menu-toggle-label { display:none; }
.expanded-header a:focus-visible,.expanded-header button:focus-visible { outline:3px solid #087f91; outline-offset:4px; }
.expanded-header .nav-finder:focus-visible { outline-offset:5px; }
.skip-link { z-index:100; }

.navigation-fallback { width:min(1220px,calc(100% - 64px)); margin:0 auto 16px; color:#0b3440; overflow-wrap:anywhere; }
.navigation-fallback > details { border:1px solid #dce5ea; border-radius:8px; background:#f6f8f8; }
.navigation-fallback summary { min-height:48px; padding:13px 16px; font-size:15px; font-weight:600; line-height:1.6; cursor:pointer; }
.navigation-fallback-content { padding:0 16px 16px; }
.navigation-fallback-search { display:grid; grid-template-columns:minmax(0,1fr) 46px; gap:8px; margin-block:5px 20px; }
.navigation-fallback-search label { grid-column:1/-1; font-size:14px; font-weight:600; }
.navigation-fallback-search input { min-width:0; width:100%; min-height:46px; padding:10px 12px; border:1px solid #cedce5; border-radius:6px; background:#fff; font-size:16px; }
.navigation-fallback-search button { display:grid; place-items:center; min-width:46px; min-height:48px; border:1px solid #cedce5; border-radius:6px; background:#fff; color:#0b3440; }
.navigation-fallback-groups > details { border-top:1px solid #dce5ea; }
.navigation-fallback-groups > details > summary { padding-inline:2px; }
.navigation-fallback-column { margin:13px 0 4px; color:#53687b; font-size:13px; font-weight:600; }
.navigation-fallback ul { list-style:none; padding:0; margin:0; }
.navigation-fallback a { display:flex; align-items:center; min-height:46px; padding:10px 8px; border-radius:6px; font-size:14px; line-height:1.6; }
.navigation-fallback a:hover { background:#eaf4f5; text-decoration:underline; text-underline-offset:3px; }
.navigation-fallback .navigation-fallback-featured { margin-top:8px; background:#eaf4f5; font-weight:600; }
.navigation-fallback .navigation-fallback-overview { margin-bottom:12px; text-decoration:underline; text-underline-offset:3px; }
.navigation-fallback .navigation-fallback-finder { margin-top:12px; border:1px solid #cedce5; font-weight:600; justify-content:space-between; }
.navigation-fallback summary:focus-visible,.navigation-fallback input:focus-visible { outline:3px solid #087f91; outline-offset:3px; }
.filter-tabs a { display:inline-flex; align-items:center; white-space:nowrap; }
.library-toolbar > form { min-width:0; }
.search-field input { min-width:0; flex:1; }
.search-field .icon-button { display:grid; place-items:center; padding:4px; min-height:28px; min-width:28px; }
.search-field:focus-within { outline:2px solid #087f91; outline-offset:3px; }

@media (min-width:1051px) { .expanded-header .menu-toggle { display:none; } }
@media (max-width:1150px) and (min-width:1051px) {
    .expanded-header .header-inner,.navigation-fallback { width:calc(100% - 64px); }
    .expanded-header .brand { font-size:25px; }
    .header-search { width:33%; left:54%; }
    .nav-trigger { font-size:13px; gap:9px; padding-inline:4px; }
    .mega-grid { gap:24px; }
    .mega-panel { padding-inline:26px; }
}
@media (max-width:1050px) {
    html.mobile-navigation-open, html.mobile-navigation-open body { overflow:hidden; overflow-anchor:none; }
    html.mobile-navigation-open body { padding-top:80px; }
    html.mobile-navigation-open .expanded-header { position:fixed; top:0; left:0; right:0; }
    .expanded-header { height:80px; }
    .expanded-header::after { display:none; }
    .expanded-header .header-inner { width:calc(100% - 36px); display:flex; align-items:center; justify-content:space-between; gap:14px; }
    .expanded-header .brand { position:static; gap:10px; font-size:25px; }
    .expanded-header .brand-mark { width:28px; height:36px; }
    .expanded-header .brand small { font-size:13px; letter-spacing:0; margin-top:4px; }
    .expanded-header .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; flex-shrink:0; width:52px; height:52px; padding:4px; border:1px solid #cedce5; border-radius:8px; background:#fff; color:#0b3440; }
    .expanded-header .menu-toggle-label { display:block; font-size:13px; line-height:1.3; font-weight:500; }
    .expanded-header .menu-toggle[aria-expanded=true] > svg:first-child { display:none; }
    .expanded-header .menu-toggle[aria-expanded=true] .menu-close-icon { display:block; }
    .expanded-header .main-nav {
        display:none; position:absolute; top:79px; left:-18px; right:-18px;
        max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); padding:22px 24px 26px;
        overflow-y:auto; overscroll-behavior:contain; background:#fff;
        border-top:1px solid #e4eaed; border-bottom:1px solid #cedce5; box-shadow:0 22px 40px #0b344024;
    }
    .expanded-header .main-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .header-search { position:static; transform:none; width:100%; height:50px; margin-bottom:16px; }
    .header-search input { font-size:16px; padding:11px 4px 11px 15px; }
    .header-search button { height:48px; width:48px; }
    .nav-sections { display:block; padding:0; margin:0; }
    .nav-section { border-bottom:1px solid #dce5ea; }
    .nav-trigger { width:100%; justify-content:space-between; gap:20px; min-height:58px; padding:17px 2px; font-size:16px; text-align:left; }
    .nav-trigger::after { display:none; }
    .nav-trigger[aria-expanded=true] { color:#0d6175; }
    .nav-chevron { width:14px; height:14px; }
    .mega-panel { position:static; max-height:none; overflow:visible; padding:4px 0 20px; border:0; border-radius:0; box-shadow:none; background:transparent; }
    .mega-heading { margin-bottom:20px; padding:0 2px; }
    .mega-heading h2,.mega-heading .mega-kicker,.mega-close { display:none; }
    .mega-heading p { margin:0; color:#53687b; font-size:14px; line-height:1.75; }
    .mega-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
    .mega-column h3 { padding-bottom:10px; font-size:13px; letter-spacing:.025em; }
    .mega-column ul { padding-top:7px; }
    .mega-column a { min-height:58px; padding:12px 6px; margin-inline:-6px; gap:11px; }
    .mega-column a strong { font-size:15px; }
    .mega-column a small { font-size:13px; }
    .mega-column a > svg { width:14px; height:14px; }
    .nav-recommendation { grid-column:1/-1; display:block; position:relative; min-height:0; padding:19px 20px; }
    .nav-recommendation-icon { position:absolute; top:18px; right:18px; width:36px; height:36px; margin:0; }
    .nav-recommendation h3 { max-width:calc(100% - 46px); margin-top:7px; font-size:21px; }
    .nav-recommendation p { max-width:none; margin-top:8px; font-size:14px; }
    .nav-recommendation a { display:inline-flex; min-height:48px; margin:0; padding-top:12px; font-size:14px; }
    .mega-overview { min-height:48px; padding-block:13px; margin-top:18px; font-size:14px; }
    .expanded-header .main-nav > a.nav-finder { position:static; justify-content:space-between; margin-top:22px; padding:13px 14px 13px 18px; min-height:56px; font-size:15px; }
    .navigation-fallback { width:calc(100% - 36px); }
}
@media (max-width:500px) {
    .expanded-header .brand { font-size:24px; }
    .expanded-header .main-nav { padding-inline:22px; }
    .mega-grid { grid-template-columns:minmax(0,1fr); gap:23px; }
    .nav-recommendation { grid-column:auto; }
    .mega-column a { min-height:60px; }
}
@media (max-width:700px) { .library-toolbar > form { width:100%; } }
@media (max-width:360px) {
    .expanded-header .header-inner { gap:10px; }
    .expanded-header .brand { font-size:22px; gap:8px; }
    .expanded-header .brand-mark { width:25px; }
    .expanded-header .brand small { font-size:13px; max-width:180px; }
    .expanded-header .main-nav { padding-inline:19px; }
}
@media (prefers-reduced-motion:reduce) {
    .nav-trigger,.nav-trigger::after,.nav-chevron,.header-search,.mega-column a,.expanded-header .main-nav > a.nav-finder { transition:none; }
}

.mobile-finder-link { display:none; }
.nav-finder > span { background:transparent; color:#fff; }
@media(max-width:1050px) {
 .mobile-finder-link { display:grid; place-items:center; width:44px; height:44px; border-radius:8px; background:#0b3440; color:#fff; margin-left:auto; flex-shrink:0; }
 .expanded-header .header-inner { gap:10px; }
 .expanded-header .brand { font-size:24px; }
 .expanded-header .brand small { max-width:200px; font-size:13px; line-height:1.25; }
 .expanded-header .menu-toggle { width:46px; height:48px; }
}
@media(max-width:500px) {
 .expanded-header .brand { font-size:21px; gap:7px; }
 .expanded-header .brand-mark { width:27px; height:35px; }
 .expanded-header .brand small { max-width:175px; letter-spacing:0; }
}
@media(max-width:375px) { .expanded-header .brand { font-size:20px; } .expanded-header .header-inner { width:calc(100% - 28px); gap:7px; } .expanded-header .brand small { max-width:160px; } }
