/* Scoped refinements: preserve staff and student result interfaces. */
.home-refined .hero h1{line-height:1.04;letter-spacing:-.065em;animation:none; margin-block:28px 16px}
.home-refined .feature h2{line-height:1.08;letter-spacing:-.055em}
.home-refined .heroaside p{line-height:1.5;letter-spacing:-.015em}
.home-refined .editorial>h2,.home-refined .cta h2{line-height:1.04;letter-spacing:-.055em}
body[data-course-browser] .course-intro h1{line-height:1.02;letter-spacing:-.06em}
body[data-course-browser] .course-intro p{line-height:1.6}
body[data-course-browser] .category-grid{gap:24px}
body[data-course-browser] .category-copy{gap:20px;padding:24px}
body[data-course-browser] .category-copy strong{line-height:1.14;letter-spacing:-.035em}
body[data-course-browser] .category-copy b{grid-column:1/-1;font-size:14px;text-align:left;letter-spacing:0}
body[data-course-browser] .category-photo img{animation:none}
body[data-course-browser] .category-card{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
body[data-course-browser] .category-card:hover{box-shadow:0 16px 32px #10101018}
body[data-course-browser] .course-list-panel{scroll-margin-top:140px; padding:clamp(22px,4vw,48px)}
body[data-course-browser] .course-list-heading{align-items:center;gap:24px}
body[data-course-browser] .course-list-heading h2{line-height:1.12;letter-spacing:-.035em}
body[data-course-browser] .course-list-heading button{min-width:64px;min-height:44px;font-size:14px;flex-shrink:0}
body[data-course-browser] .course-name{grid-template-columns:minmax(0,1fr) auto;gap:18px;min-height:88px;padding-block:22px}
body[data-course-browser] .course-name strong{font-size:18px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
body[data-course-browser] .course-name b{font-size:23px}
body[data-course-browser] .course-name:hover strong{text-decoration:underline;text-underline-offset:5px}
.course-more{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;min-width:140px;margin:32px auto 0;padding:10px 24px;border:1px solid #fff;border-radius:999px;background:#fff;color:#111;font:700 16px Arial,sans-serif;cursor:pointer;transition:transform .2s ease,background .2s ease}
.course-more span{font-size:26px;font-weight:400;line-height:1}
.course-more:hover{background:var(--mint);transform:translateY(-2px)}
.course-more[hidden],body[data-course-browser] .course-list-panel[hidden]{display:none!important}
body[data-course-browser] :is(.category-card,.course-name,.course-more,#closeCourseList):focus-visible{outline:3px solid #9933c7;outline-offset:5px}
body[data-course-browser] .course-list-panel :focus-visible{outline-color:#e4aaff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body[data-course-browser] .program-carousel{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d24cff #333;gap:0;max-width:100%;padding:0 0 12px}
body[data-course-browser] .program-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(64px,auto));scroll-snap-align:start;scroll-snap-stop:always;align-content:start}
body[data-course-browser] .program-page .course-name{animation:none;min-height:64px;padding:14px 16px;grid-template-columns:minmax(0,1fr) auto;gap:10px}
body[data-course-browser] .program-page .course-name strong{font-size:17px;line-height:1.35}
.program-controls{display:flex;align-items:center;justify-content:center!important;gap:16px;margin:0 0 16px}
body[data-course-browser] .program-carousel{scrollbar-width:none;padding-bottom:0}
body[data-course-browser] .program-carousel::-webkit-scrollbar{display:none}
.program-arrow{border:1px solid #777;border-radius:50%;width:48px;height:48px;background:#fff;color:#111;font-size:25px;cursor:pointer;transition:background .2s,transform .2s}
.program-arrow:hover:enabled{background:var(--mint);transform:translateX(2px)}
.program-arrow:disabled{opacity:.35;cursor:default}
.program-arrow:focus-visible,.program-carousel:focus-visible{outline:3px solid #e4aaff;outline-offset:3px}
.program-position,.program-hint{font-size:14px;line-height:1.4;color:#ddd}
.program-hint{text-align:center;margin:12px 0 0}
@media(max-width:650px){body[data-course-browser] .program-page{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(72px,auto))}body[data-course-browser] .program-page .course-name:nth-child(n){padding:12px 8px;min-height:72px;gap:5px}body[data-course-browser] .program-page .course-name:nth-child(even){border-left:1px solid #555}body[data-course-browser] .program-page .course-name strong{font-size:15px;line-height:1.35}body[data-course-browser] .program-page .course-name b{font-size:17px}body[data-course-browser] .course-list-panel{padding:24px 14px}.program-controls{justify-content:space-between}.program-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:no-preference){body[data-course-browser] .course-name{animation:catalogue-entry .24s ease both}@keyframes catalogue-entry{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:650px){
 .home-refined .hero{padding-block:48px 58px}
 .home-refined .hero h1{font-size:clamp(48px,14vw,70px);line-height:1.08;letter-spacing:-.055em}
 .home-refined .feature h2{font-size:clamp(42px,12vw,60px);line-height:1.14}
 body[data-course-browser] .category-grid{gap:20px}
 body[data-course-browser] .category-copy{padding:22px}
 body[data-course-browser] .category-copy strong{font-size:28px}
 body[data-course-browser] .course-list-panel{scroll-margin-top:70px}
 body[data-course-browser] .course-list-heading{align-items:flex-start}
 body[data-course-browser] .course-list-heading h2{font-size:34px}
 body[data-course-browser] .course-name strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){body[data-course-browser] *, .home-refined .hero h1{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
