.university-card { overflow: hidden; }
.university-card.has-cover { padding: 0; }
.university-card-body { padding: 19px; }
.university-cover { height: 155px; position: relative; background: #dbe7f1; overflow: hidden; }
.university-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.university-cover::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, #071d33cc); }
.university-cover span { position: absolute; z-index: 1; left: 15px; bottom: 12px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.uni-logo { width: 45px; height: 45px; border-radius: 12px; object-fit: contain; background: #102f50; padding: 6px; }
.uni-table-name { display: flex; align-items: center; gap: 10px; }
.uni-table-name .uni-logo, .uni-table-name .uni-mark { width: 38px; height: 38px; border-radius: 9px; flex: 0 0 auto; }
.image-credit { display: block; font-size: 10px; color: var(--muted); margin: -7px 0 13px; text-decoration: none; }
.image-credit:hover { color: var(--navy2); text-decoration: underline; }
.program-modal { width: min(980px, 100%); }
.program-requirements { margin-top: 22px; border-top: 1px solid var(--border); padding-top: 22px; }
.program-requirements-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.program-requirements-head h3 { margin: 4px 0; }
.program-requirements-head p { margin: 0; color: var(--muted); font-size: 13px; }
.eyebrow { color: var(--teal); font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.review-toggle { display: flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 12px; font-weight: 750; color: var(--navy2); }
.program-requirement-phase { margin-top: 20px; }
.program-requirement-phase h4 { margin: 0 0 9px; padding-bottom: 7px; border-bottom: 1px solid var(--border); }
.program-requirement-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.program-requirement-card { border: 1px solid var(--border); border-radius: 11px; padding: 13px; background: #fff; }
.program-requirement-title { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.program-requirement-title h5 { width: 100%; margin: 3px 0 0; font-size: 14px; }
.program-requirement-card p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 8px 0 0; }
.program-requirement-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 10px; font-size: 10px; color: var(--muted); }
.program-requirement-meta a { color: var(--navy2); }
.program-requirement-value { color: var(--navy2); font-weight: 800; }
.review-pill { padding: 3px 6px; border-radius: 6px; background: #fff4df; color: #9a5b00; font-size: 10px; font-weight: 800; }
@media (max-width: 680px) { .program-requirements-head { display: block; } .review-toggle { margin-top: 12px; } .program-requirement-list { grid-template-columns: 1fr; } }
