.programme-detail{background:#fff;color:#17354d;min-height:65vh}
.programme-detail a:focus-visible{outline:3px solid #c5a052;outline-offset:3px}
.programme-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;color:#fff;background:#103a5b;border-bottom:4px solid #c7a052}
.programme-banner::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#0b2b49f2,#123c5dcc),var(--programme-banner-image,linear-gradient(125deg,#143b5f,#125b58)) center/cover no-repeat}
.programme-banner::after{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-90px;top:-250px;border:1px solid #e1c37765;border-radius:50%;box-shadow:0 0 0 70px #e1c37712,0 0 0 140px #e1c3770b}
.programme-banner .uni-shell{width:min(1200px,calc(100% - 40px));margin-inline:auto;padding-block:1.45rem 1.55rem}
.programme-banner a{color:#f1d89c;font-size:.85rem;font-weight:700;text-decoration:none}.programme-banner a:hover{text-decoration:underline}
.programme-banner .programme-banner-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0 0 .65rem;color:#e7c876;font-size:.79rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.programme-banner-kicker span{padding:.24rem .55rem;border:1px solid #e7c87680;border-radius:3px;color:#fff;letter-spacing:.05em}
.programme-banner h1{max-width:1000px;margin:0;color:#fff;font:600 clamp(1.9rem,4vw,3.3rem)/1.13 Georgia,serif;letter-spacing:-.02em;text-wrap:balance}
.programme-page-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,270px);gap:clamp(2rem,4vw,4.5rem);align-items:start;padding-block:clamp(2rem,4vw,3.5rem) 4rem}
.programme-article{min-width:0}
.programme-article-heading{margin-bottom:1.65rem;padding-bottom:1.05rem;border-bottom:2px solid #d4b16c}
.programme-article-heading:empty{display:none}
.programme-kicker{margin:0 0 .65rem;color:#08705b;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.programme-kicker span{padding:0 .45rem;color:#a3afb4}
.programme-article-heading h1{max-width:850px;margin:0;color:#153d65;font:600 clamp(2rem,3.5vw,3.1rem)/1.13 Georgia,serif;letter-spacing:-.025em;text-wrap:balance}
.programme-subtitle{margin:.8rem 0 0;color:#526879;font-size:1.05rem}
.programme-department-link{margin:.8rem 0 0}.programme-department-link a{color:#08705b;text-underline-offset:4px}
.programme-feature-image{margin:0 0 2.3rem;overflow:hidden;background:#e7edeb}.programme-feature-image img{display:block;width:100%;max-height:430px;aspect-ratio:16/8;object-fit:cover}
.programme-mobile-contents{display:none}
.programme-content-section,.programme-info-panel{scroll-margin-top:2rem;margin-bottom:1.4rem}
.programme-content-section h2,.programme-info-panel h2,.programme-admissions h2{margin:0 0 .7rem;padding-bottom:.5rem;border-bottom:1px solid #d6e0df;color:#184675;font:600 clamp(1.45rem,2.2vw,2rem)/1.2 Georgia,serif}
.programme-content-section p,.programme-info-panel p{max-width:80ch;margin:.75rem 0 0;color:#344c5b;font-size:1rem;line-height:1.8}
.programme-requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-block:2rem}
.programme-requirement-grid--single{grid-template-columns:1fr}
.programme-info-panel{margin:0;padding:1.3rem 1.45rem;background:#f5f8f8;border-top:3px solid #c8a258}.programme-info-panel h2{font-size:1.5rem}
.programme-info-panel dl{margin:0}.programme-info-panel dl>div{display:grid;grid-template-columns:minmax(95px,.65fr) 1fr;gap:1rem;padding:.68rem 0;border-bottom:1px solid #dce5e5}.programme-info-panel dl>div:last-child{border:0}
.programme-info-panel dt{color:#637784;font-size:.86rem}.programme-info-panel dd{margin:0;color:#153c5a;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}
.programme-section-image{display:block;width:100%;max-height:480px;object-fit:cover;margin:1rem 0 1.4rem}
.programme-section-list{padding-left:1.4rem;color:#344c5b;line-height:1.5}.programme-section-list li+li{margin-top:.2rem}
.programme-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #dce5e5}.programme-table-scroll table{width:100%;border-collapse:collapse;min-width:450px}.programme-table-scroll th,.programme-table-scroll td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid #dce5e5}.programme-table-scroll th{background:#153e65;color:#fff}
.programme-section-link{color:#08705b;font-weight:750;text-underline-offset:4px}
.programme-content-section .programme-section-note{margin-top:.8rem;color:#667984;font-size:.84rem;font-style:italic}
.programme-curriculum-note{padding:1rem 1.25rem;border-left:4px solid #bc934c;background:#fcf8ed;color:#334d5d}.programme-curriculum-note strong{color:#8a601e;font-size:.95rem}.programme-content-section .programme-curriculum-note p{margin:.35rem 0 .5rem;font-size:.91rem;line-height:1.6}.programme-curriculum-note a{color:#155475;font-size:.85rem;font-weight:750;text-underline-offset:3px}
.programme-content-section .programme-semester-summary{margin:1rem 0 1.5rem;color:#526c7a;font-size:.86rem;font-weight:700}
.programme-scheme-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.25rem 0 1.7rem}.programme-scheme-stats>div{padding:.8rem 1rem;border:1px solid #dce5e5;border-top:3px solid #c8a258;background:#f6f9f8}.programme-scheme-stats strong{display:block;color:#17456d;font:700 1.45rem/1.15 Georgia,serif}.programme-scheme-stats span{display:block;margin-top:.25rem;color:#526c7a;font-size:.76rem;font-weight:700}
.programme-semester-list{display:grid;grid-template-columns:minmax(0,1fr);gap:1.8rem;min-width:0}.programme-study-year{min-width:0}.programme-study-year>h3{margin:0 0 .85rem;padding-bottom:.45rem;border-bottom:2px solid #c8a258;color:#17456d;font:700 1.35rem/1.2 Georgia,serif}.programme-semester{min-width:0;margin-bottom:1rem;border:1px solid #dce5e5;background:#fff}.programme-semester h4{margin:0;padding:.8rem 1rem;border-left:4px solid #c8a258;background:#eaf1f3;color:#17456d;font:700 1.1rem/1.25 Arial,sans-serif}
.programme-semester .programme-table-scroll{border:0}.programme-semester table{min-width:600px}.programme-semester td:not(:first-child),.programme-semester th:not(:first-child){text-align:right;white-space:nowrap}.programme-semester tfoot th,.programme-semester tfoot td{background:#f3f6f6;color:#173e5f;font-weight:800}.programme-year-total{margin:.4rem 0 0!important;padding:.65rem 1rem;background:#edf4f3;color:#17456d!important;text-align:right;font-size:.88rem!important}.programme-profile-note{font-size:.82rem!important;color:#687b82!important}
.programme-admissions{scroll-margin-top:2rem;margin-top:2.7rem;padding:1.8rem 2rem;background:#133c60;border-top:4px solid #c8a258;color:#fff}.programme-admissions h2{border-color:#ffffff48;color:#fff}.programme-admissions p{max-width:65ch;color:#e2eaf0;line-height:1.7}.programme-admissions>div{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1.4rem}.programme-admissions a{color:#f1d58e;font-weight:750;text-underline-offset:4px}
.programme-admissions>a{display:inline-flex;margin-top:.7rem;padding:.7rem 1.1rem;background:#c8a258;color:#123958;font-size:.88rem;text-decoration:none}.programme-admissions>a:hover{background:#e4c27c;color:#123958}
.programme-sidebar{position:sticky;top:1rem;min-width:0}.programme-page-nav,.programme-related{display:flex;flex-direction:column;margin-bottom:1.25rem;border:1px solid #d9e4e6;border-top:0;background:#fff}
.programme-page-nav h2,.programme-related h2{margin:0;padding:.85rem 1rem;border-bottom:3px solid #c8a258;background:#174a78;color:#fff;font:700 1.08rem/1.2 Arial,sans-serif}
.programme-page-nav a,.programme-related a{display:flex;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;border-bottom:1px solid #e4ebeb;color:#234d6b;font-size:.88rem;font-weight:650;line-height:1.4;text-decoration:none}.programme-page-nav a:last-child,.programme-related a:last-child{border-bottom:0}.programme-page-nav a:hover,.programme-related a:hover{background:#edf4f2;color:#08705b}
.programme-sidebar-apply{display:flex;justify-content:space-between;gap:1rem;padding:.95rem 1rem;background:#0d6b57;color:#fff;font-size:.9rem;font-weight:750;text-decoration:none}.programme-sidebar-apply:hover{background:#0a5849;color:#fff}
@media(max-width:900px){.programme-page-shell{grid-template-columns:minmax(0,1fr) 220px;gap:1.5rem}.programme-requirement-grid{grid-template-columns:1fr;gap:1rem}}
@media(max-width:700px){.programme-banner .uni-shell{padding-block:1.2rem 1.3rem}.programme-page-shell{grid-template-columns:1fr;gap:0;padding-block:1.5rem 2.5rem}.programme-article-heading h1{font-size:clamp(1.85rem,7vw,2.5rem)}.programme-mobile-contents{display:block;margin:-.25rem 0 1.5rem;border:1px solid #d9e4e6}.programme-mobile-contents summary{padding:.8rem 1rem;background:#174a78;color:#fff;font-weight:750;cursor:pointer}.programme-mobile-contents nav{display:grid}.programme-mobile-contents a{padding:.7rem 1rem;border-top:1px solid #e4ebeb;color:#234d6b;text-decoration:none}.programme-sidebar{position:static;margin-top:1rem}.programme-page-nav{display:none}.programme-related{margin-bottom:1rem}.programme-info-panel{padding:1.1rem}.programme-admissions{padding:1.4rem}.programme-feature-image img{aspect-ratio:16/10}.programme-scheme-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.programme-scheme-stats>div{padding:.6rem}.programme-scheme-stats strong{font-size:1.2rem}.programme-scheme-stats span{font-size:.67rem}}
@media(prefers-reduced-motion:no-preference){.programme-page-nav a,.programme-related a,.programme-sidebar-apply{transition:background-color .18s ease,color .18s ease}}
