.program-page section { scroll-margin-top: 110px; }
.program-page h2, .program-page h3 { margin-top: 0; }
.program-page .program-code { color: #1F2F84; font-size: 20px; font-weight: 500; }
.program-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.program-nav .mini_bt { white-space: normal; text-align: left; max-width: 100%; }
.program-research { margin-top: 30px; }
.program-page .textside ul, .program-page .vac_item_body ul { padding-left: 24px; }
.program-page li + li { margin-top: 12px; }
.program-disclosure { margin-bottom: 20px; }
.program-disclosure .vac_item_head { display: grid; grid-template-columns: minmax(0, 1fr) 24px; list-style: none; }
.program-disclosure summary::-webkit-details-marker { display: none; }
.program-disclosure summary:focus-visible, .program-nav a:focus-visible { outline: 2px solid #1F2F84 !important; outline-offset: 3px; }
.program-disclosure .vac_name { margin-bottom: 0; }
.program-plus { color: #1F2F84; font-size: 28px; line-height: 1; text-align: center; }
.program-disclosure[open] .program-plus { transform: rotate(45deg); }
.program-disclosure .vac_item_body { margin-top: 12px; line-height: 1.5; }
.program-publications { padding-left: 24px; margin-bottom: 0; }
.program-publications li + li { margin-top: 28px; }
.program-publications p { overflow-wrap: anywhere; }
.program-page .doc_btns { flex-wrap: wrap; gap: 10px; }
.program-page .team_grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.program-page .team_name { margin-bottom: 0; }
.program-page .team_pos { line-height: 1.5; overflow-wrap: anywhere; }
.program-page .program-role { color: #1F2F84; font-weight: 500; }
@media (max-width: 991px) {
    .program-page .team_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .program-page section { scroll-margin-top: 85px; }
    .program-nav { padding-right: 55px; }
    .program-page .team_grid { grid-template-columns: minmax(0, 1fr); }
    .program-page .vac_item_body { padding: 24px 20px; }
    .program-page .textbox { padding: 24px 20px; }
}
