/* The same program navigation on every page: click, touch and keyboard. */
.program-dropdown { position:relative; color:#27344f; }
.program-dropdown summary { display:flex; align-items:center; gap:7px; min-height:48px; padding:12px 0; font-size:13px; font-weight:600; cursor:pointer; list-style:none; }
.program-dropdown summary::-webkit-details-marker { display:none; }
.program-dropdown summary svg { transition:transform .18s ease-out; }
.program-dropdown[open] summary svg { transform:rotate(180deg); }
.program-dropdown summary:hover,.program-dropdown[open] summary { color:var(--royal); }
.program-dropdown summary:focus-visible { outline:2px solid var(--royal); outline-offset:4px; }
.program-dropdown-panel { position:absolute; top:calc(100% + 8px); left:-20px; width:310px; background:white; padding:10px; box-shadow:0 14px 36px #03132e26; }
.nav .program-dropdown-panel a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:56px; padding:14px; color:#03132e; font-size:15px; text-transform:none; font-stretch:100%; font-weight:700; text-decoration:none; border:0; }
.program-dropdown-panel small { font-size:12px; font-weight:500; color:#4b5870; white-space:nowrap; }
.nav .program-dropdown-panel a:hover,.nav .program-dropdown-panel a:focus-visible,.nav .program-dropdown-panel a[aria-current="page"] { background:#eaf0fb; color:#243582; }
.nav .program-dropdown-panel a[aria-current="page"] span { text-decoration:underline; text-underline-offset:5px; }
.nav .program-dropdown-panel .program-dropdown-all { border-top:1px solid #dce3ef; margin-top:6px; color:#243582; }
@media(max-width:959px){
 .nav-open .nav { max-height:calc(100dvh - 90px); overflow-y:auto; overscroll-behavior:contain; gap:0; }
 .program-dropdown { width:100%; border-bottom:1px solid #03132e20; }
 .program-dropdown summary { justify-content:space-between; min-height:52px; font-size:26px; font-weight:900; font-stretch:62%; text-transform:uppercase; }
 .program-dropdown-panel { position:static; width:100%; box-shadow:none; background:#f2f5fb; padding:4px 8px; margin-bottom:12px; }
 .nav-open .nav .program-dropdown-panel a { font-size:16px; min-height:50px; padding:12px 10px; font-weight:650; }
 .program-dropdown-panel small { font-size:13px; }
}
@media(prefers-reduced-motion:reduce){.program-dropdown summary svg{transition:none;}}

/* Keep the expanded desktop navigation comfortably on one line. */
@media (min-width:960px) { .nav { flex-shrink:0; } .nav > a { white-space:nowrap; } }
@media (min-width:960px) and (max-width:1100px) { .nav { gap:12px; } .nav .pill { padding-inline:12px; } }
