.programme-finder.section-wrap{padding:0;background:var(--paper)}
.finder-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;background:var(--paper);margin:0;padding:90px var(--gutter) 65px}
.finder-heading h1,.finder-heading h2{font-size:clamp(58px,6.8vw,96px);line-height:1.06;letter-spacing:-.025em;color:var(--blue);margin:0}
.finder-introduction>p{font-size:17px;line-height:1.75;max-width:43ch;margin:0;color:var(--muted)}
.finder-introduction>.text-link{color:var(--blue);border-color:currentColor;font-size:13px;margin-top:26px}
.finder-introduction>.text-link:hover{color:var(--red)}
.finder-directory{scroll-margin-top:var(--header-h);background:var(--paper)}
.finder-tools{padding:36px var(--gutter) 0;display:flex;flex-direction:column;gap:24px;background:var(--pale)}
.finder-modes{display:flex;flex-wrap:wrap;gap:0 28px;border-bottom:1px solid var(--line)}
.finder-modes button{background:none;border:0;border-bottom:3px solid transparent;padding:13px 0 17px;display:inline-flex;align-items:center;gap:8px;min-height:48px;font:650 14px Manrope,sans-serif;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}
.finder-modes button span{font-size:11px;font-variant-numeric:tabular-nums;min-width:18px}
.finder-modes button[aria-pressed="true"]{color:var(--blue);border-color:var(--red)}
.finder-modes button:hover{color:var(--red)}
.finder-mobile-filter{display:none}
.finder-mobile-filter label{display:block;font-size:13px;font-weight:700;color:var(--blue);margin-bottom:10px}
.finder-mobile-filter select{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid #a8abc0;border-radius:4px;background:var(--paper);color:var(--blue);font-size:16px;line-height:1.5}
.finder-result-count{font-size:12px;color:var(--muted);padding:20px var(--gutter) 22px;margin:0;max-width:none;background:var(--pale);font-variant-numeric:tabular-nums}
.programme-option{border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px);background:var(--paper)}
.programme-option:last-child{border-bottom:1px solid var(--line)}
.programme-option[hidden]{display:none!important}
.programme-option>summary{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:30px;padding:25px var(--gutter);list-style:none;cursor:pointer;scroll-margin-top:calc(var(--header-h) + 16px);transition:background .2s}
.programme-option>summary::-webkit-details-marker{display:none}
.programme-option>summary:after{display:none}
.programme-option:not([open])>summary:hover{background:var(--pale)}
.programme-thumb{display:block;width:110px;height:78px;overflow:hidden;background:var(--pale)}
.programme-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease-out}
.programme-option>summary:hover .programme-thumb img{transform:scale(1.06)}
.programme-summary-title h2,.programme-summary-title h3{font:600 clamp(24px,2.3vw,34px)/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:var(--blue);max-width:34ch;text-transform:none}
.programme-summary-title p{font-size:13px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.programme-summary-title,.programme-preview-copy{min-width:0}
.programme-expand{display:flex;align-items:center;gap:22px;color:var(--blue);font-size:12px}
.course-expand-icon{width:40px;height:40px;padding:9px;border:1px solid currentColor;border-radius:50%;transition:transform .25s ease-out,background .2s}
.programme-option[open]{--ink:#fff;--muted:#dbe0f4;--line:#ffffff40;background:var(--blue);color:#fff;border-top-color:var(--blue)}
.programme-option[open] .programme-summary-title h2,.programme-option[open] .programme-summary-title h3,.programme-option[open] .programme-expand{color:white}
.programme-option[open] .course-expand-icon{transform:rotate(45deg);background:var(--red);border-color:var(--red)}
.programme-option[open]>summary:focus-visible{outline-color:white;outline-offset:-7px}
.programme-option[open] a:focus-visible{outline-color:white}
.programme-preview{display:grid;grid-template-columns:1fr 1.04fr;gap:6vw;align-items:start;padding:12px var(--gutter) 52px}
.programme-editorial-photo{margin:0;overflow:hidden;position:relative;background:var(--pale)}
.programme-editorial-photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.programme-editorial-photo figcaption{font-size:11px;line-height:1.5;padding:12px 0;color:var(--muted)}
.programme-option .programme-editorial-photo{background:transparent}
.programme-preview-description{font-size:18px;line-height:1.7;max-width:48ch;margin:0 0 22px}
.programme-duration{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.6;margin:0 0 27px}
.programme-duration>span{font-size:12px;font-weight:700;color:var(--blue)}
.programme-outline{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0}
.programme-outline h3,.programme-outline h4,.programme-planning h3,.programme-planning h4{font:700 14px/1.5 Manrope,sans-serif;margin:0 0 14px;color:var(--blue)}
.programme-outline ul{padding:0;list-style:none;margin:0}
.programme-outline li{font-size:13px;line-height:1.65;padding:10px 0;border-top:1px solid var(--line)}
.programme-planning{border-top:1px solid var(--line);padding:24px 0;margin:22px 0 0}
.programme-planning p{font-size:15px;line-height:1.7;max-width:48ch;margin-bottom:16px}
.programme-option .programme-duration>span,.programme-option .programme-outline h3,.programme-option .programme-outline h4,.programme-option .programme-planning h3,.programme-option .programme-planning h4{color:#fff}
.programme-option .text-link{color:white;border-color:#a9b4eb}
.programme-option .text-link:hover{border-color:white}
.programme-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:26px}
.programme-actions .button{min-height:49px;font-size:13px;padding:13px 20px}
.programme-registration{margin-top:26px;font-size:11px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}
.programme-registration p{margin:3px 0}
.programme-registration span{font-weight:700;margin-right:8px;color:var(--ink)}
.finder-help{font-size:16px;line-height:1.7;margin:0;max-width:none;padding:34px var(--gutter) 50px;display:flex;flex-wrap:wrap;gap:6px 16px;background:var(--pale)}
.finder-help a{display:inline-flex;align-items:center;gap:12px;color:var(--blue);text-decoration:underline;text-underline-offset:6px;font-weight:600}

@keyframes course-open{from{opacity:.85;transform:translateY(7px)}to{opacity:1;transform:none}}
.motion-ready .programme-option[open] .programme-preview{animation:course-open .28s ease-out both}
.programme-detail-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7vw;padding-top:25px;padding-bottom:65px}
.programme-detail-hero h1{color:var(--blue);font-size:clamp(42px,5vw,76px);line-height:1.1;letter-spacing:-.025em}
.programme-detail-mode{color:var(--red);font-size:14px;font-weight:700;margin-top:22px}
.programme-detail-description{font-size:17px;line-height:1.75;max-width:48ch;margin:22px 0}
.programme-detail-hero .button{margin-top:14px}
.programme-detail-facts{padding-top:30px;padding-bottom:30px;border-block:1px solid var(--line);display:grid;grid-template-columns:.7fr 1fr 1.1fr;gap:35px}
.programme-detail-facts dt{font-size:12px;color:var(--muted);margin-bottom:12px}
.programme-detail-facts dd{font-size:18px;font-weight:600;line-height:1.5;margin:0}
.programme-detail-body{display:grid;grid-template-columns:1.7fr 1fr;gap:9vw}
.programme-detail-body h2{font-size:clamp(32px,3.4vw,50px);color:var(--blue);line-height:1.15}
.programme-detail-body .programme-outline{margin-top:35px}
.programme-detail-body .programme-outline li{font-size:15px}
.programme-entry,.programme-official{margin-top:42px;border-top:1px solid var(--line);padding-top:28px}
.programme-entry h3,.programme-official h3{font:700 20px/1.4 Manrope,sans-serif;margin-bottom:16px}
.programme-entry p,.programme-official>p{font-size:15px;line-height:1.8;max-width:65ch;margin-bottom:14px}
.programme-official .programme-registration{font-size:13px}
.programme-advice{align-self:start;position:sticky;top:calc(var(--header-h) + 40px);border-top:2px solid var(--red);padding-top:25px}
.programme-advice>p{margin:22px 0;font-size:15px;line-height:1.8}
.programme-advice .button{max-width:100%}
.programme-detail-back{padding-top:0;padding-bottom:60px}
.campus-city{background:var(--pale);padding-top:90px}
.campus-city-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;padding:0 var(--gutter) 55px}
.campus-city-heading h2{font-size:clamp(48px,6.8vw,96px);line-height:1.06;letter-spacing:-.025em;color:var(--blue)}
.campus-city-heading p{font-size:17px;line-height:1.75;max-width:40ch;margin:0 0 25px}
.campus-city-image{--campus-reveal:1;position:relative;overflow:hidden;margin:0;height:clamp(400px,58vw,820px);background:#c9d9e9}
.campus-city-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.motion-ready .campus-city-image img{transform:scale(calc(1.06 - var(--campus-reveal)*.06));transform-origin:50% 68%}
.campus-city-caption{display:flex;justify-content:space-between;gap:20px;margin:0;padding:17px var(--gutter);font-size:11px;line-height:1.6;color:var(--muted)}
.campus-city-caption>span:first-child{color:var(--blue);font-weight:700}
.brand>img{width:54px;height:54px;flex-shrink:0}
.programme-detail-hero{background:var(--blue);color:white;padding-top:58px;padding-bottom:65px}
.programme-detail-hero h1,.programme-detail-mode{color:white}
.programme-detail-mode{border-bottom:3px solid var(--red);padding-bottom:12px;display:table}
.programme-detail-description{color:#e0e5ff}
.programme-detail-facts{background:var(--pale)}

@media(min-width:1650px){.finder-heading,.finder-directory{--gutter:max(70px,calc((100vw - 1510px)/2))}
}

@media(max-width:1000px){.finder-heading{padding-top:65px;padding-bottom:50px;gap:40px}
.finder-heading h1,.finder-heading h2{font-size:clamp(55px,7.2vw,72px)}
.finder-introduction>p{font-size:15px}
.finder-modes{gap:0 20px}
.finder-modes button{font-size:12px}
.programme-option>summary{grid-template-columns:90px minmax(0,1fr) auto;gap:24px}
.programme-thumb{width:90px;height:72px}
.programme-summary-title h2,.programme-summary-title h3{font-size:26px}
.programme-preview{gap:35px}
.programme-outline{grid-template-columns:1fr;gap:20px}
.programme-preview-description{font-size:16px}
.programme-expand{gap:16px}
.programme-detail-body{gap:45px}
.programme-detail-facts dd{font-size:16px}
.programme-detail-hero{gap:35px}
.campus-city-heading{gap:40px}
}

@media(min-width:701px) and (max-width:1100px){
.finder-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.finder-modes button{justify-content:space-between;text-align:left;font-size:13px}
.programme-expand>span{display:none}
.programme-option>summary{grid-template-columns:90px minmax(0,1fr) 44px}
.course-expand-icon{width:44px;height:44px}
}

@media(max-width:700px){.finder-heading{grid-template-columns:1fr;gap:25px;padding:50px var(--gutter) 40px}
.finder-heading h1,.finder-heading h2{font-size:clamp(52px,13.6vw,74px)}
.finder-introduction>p{font-size:15px;max-width:39ch}
.finder-introduction>.text-link{margin-top:22px}
.finder-tools{padding-top:23px;gap:20px}
.finder-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.finder-modes button{font-size:13px;padding:12px 0;min-height:48px}
.programme-finder[data-finder-ready] .finder-mobile-filter{display:block}
.programme-finder[data-finder-ready] .finder-modes{display:none}
.finder-result-count{padding-top:14px;padding-bottom:22px;font-size:13px}
.programme-option>summary{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"image expand" "title title";padding:24px var(--gutter);gap:16px;align-items:start}
.programme-thumb{grid-area:image;width:88px;height:66px}
.programme-summary-title{grid-area:title}
.programme-summary-title h2,.programme-summary-title h3{font-size:clamp(20px,5.3vw,25px);line-height:1.3;letter-spacing:-.02em;max-width:30ch;text-wrap:pretty}
.programme-summary-title p{font-size:13px;margin-top:8px}
.programme-expand{grid-area:expand;align-self:center}
.programme-expand>span{display:none}
.course-expand-icon{width:44px;height:44px;padding:11px}
.programme-preview{grid-template-columns:1fr;gap:22px;padding:0 var(--gutter) 38px}
.programme-editorial-photo img{aspect-ratio:4/3;max-height:390px}
.programme-editorial-photo figcaption{font-size:11px;padding:9px 0 0}
.programme-preview-description{font-size:16px}
.programme-duration{font-size:14px}
.programme-outline{grid-template-columns:1fr;gap:24px}
.programme-outline li{font-size:14px;padding:10px 0}
.programme-outline h3,.programme-outline h4,.programme-planning h3,.programme-planning h4{font-size:15px;margin-bottom:10px}
.programme-registration{font-size:11px}
.programme-actions{gap:22px}
.finder-help{font-size:14px;padding-top:28px;padding-bottom:36px}
.programme-detail-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:36px;padding-bottom:36px}
.programme-detail-hero h1{font-size:clamp(40px,10vw,65px)}
.programme-detail-description{font-size:16px}
.programme-detail-mode{font-size:13px}
.programme-detail-facts{grid-template-columns:1fr;gap:22px;padding-block:26px}
.programme-detail-facts>div{display:grid;grid-template-columns:95px 1fr;gap:18px}
.programme-detail-facts dd{font-size:15px}
.programme-detail-facts dt{margin:3px 0}
.programme-detail-body{display:block}
.programme-detail-body h2{font-size:37px}
.programme-advice{position:static;margin-top:45px}
.programme-detail-back{padding-top:0}
.campus-city{padding-top:55px}
.campus-city-heading{display:block;padding-bottom:32px}
.campus-city-heading h2{font-size:clamp(46px,12vw,72px);margin-bottom:25px}
.campus-city-heading p{font-size:15px}
.campus-city-image{height:auto;aspect-ratio:1;min-height:0;max-height:none}
.campus-city-image img{object-position:24% center}
.campus-city-caption{flex-direction:column;gap:5px;font-size:10px}
.brand>img{width:43px;height:43px}
}

@media(max-width:380px){
.finder-modes{gap:0 16px}
.finder-modes button{font-size:12px}
.brand>img{width:36px;height:36px}
.finder-heading h1,.finder-heading h2{font-size:clamp(43px,13.6vw,52px)}
}

@media(prefers-reduced-motion:reduce){.campus-city-image img,.course-expand-icon,.programme-thumb img{transform:none!important}
.programme-option>summary,.finder-modes button,.programme-thumb img{transition:none}
.programme-option[open] .programme-preview{animation:none!important}
}
