:root{--pearl:#f8f8f6;--white:#fff;--black:#090909;--graphite:#686866;--mist:#e7e7e3;--line:#d8d8d4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pearl);color:var(--black);font-family:Arial,Helvetica,sans-serif}.appbar{height:68px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(248,248,246,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.brand,.menu{color:var(--black);text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.24em}.brand span{margin-left:10px;color:#999}.menu i{font-style:normal;margin-left:8px}.hero{height:calc(100svh - 68px);min-height:670px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 36%,#fff 0,#f8f8f6 43%,#efefec 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.92%,rgba(0,0,0,.08) 50%,transparent 50.08%)}.edition{position:absolute;top:3.2%;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.42em;white-space:nowrap}.hero-title{position:absolute;top:10%;left:50%;transform:translateX(-50%);width:94%;text-align:center;z-index:1}.hero-title p{font:10px Arial;letter-spacing:.48em;margin:0 0 1.5vh}.hero h1{margin:0;font:500 clamp(48px,8vw,112px)/.78 Georgia,'Times New Roman',serif;letter-spacing:-.075em}.portrait{position:absolute;bottom:0;object-fit:contain;object-position:bottom;filter:saturate(.82) contrast(1.03);z-index:3}.portrait.xing{height:71%;left:1%}.portrait.yan{height:65%;right:-1%}.faculty-name{position:absolute;z-index:5;display:grid;gap:6px}.faculty-name span{font-size:8px;letter-spacing:.3em;color:var(--graphite)}.faculty-name b{font:16px Georgia,serif;letter-spacing:.02em}.xing-name{left:4%;top:43%}.yan-name{right:4%;top:43%;text-align:right}.hero-meta{position:absolute;left:50%;bottom:22%;transform:translateX(-50%);display:flex;gap:20px;font-size:9px;letter-spacing:.24em;z-index:6;white-space:nowrap}.hero-meta span+span:before{content:"·";margin-right:20px}.primary{position:absolute;bottom:11%;left:50%;transform:translateX(-50%);height:56px;min-width:260px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;background:var(--black);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.22em;font-size:10px;z-index:7}.hero-note{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);font:italic 13px Georgia,serif;color:var(--graphite);white-space:nowrap}.index{font-size:9px!important;letter-spacing:.35em!important;text-transform:uppercase;color:var(--graphite)!important;margin-bottom:55px!important}.intro,.programme,.access,.faculty,.pathway,.schedule{padding:110px 7vw;border-bottom:1px solid var(--line)}h2{font:400 clamp(48px,7vw,96px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0}h2 em{color:#777;font-weight:400}.intro>p:last-of-type{max-width:650px;margin:40px 0 65px;font:19px/1.7 Georgia,serif;color:var(--graphite)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--black);border-bottom:1px solid var(--black)}.metrics div{padding:34px 2vw;border-right:1px solid var(--line);display:grid;gap:10px}.metrics div:last-child{border:0}.metrics b{font:52px Georgia,serif}.metrics span{text-transform:uppercase;letter-spacing:.15em;font-size:9px}.programme{background:var(--black);color:#fff}.programme .index{color:#999!important}.programme-list article{display:grid;grid-template-columns:50px 1fr 1fr;gap:4vw;align-items:center;padding:30px 0;border-top:1px solid #333}.programme-list article:last-child{border-bottom:1px solid #333}.programme-list b{font:11px Georgia,serif;color:#888}.programme-list h3{font:32px Georgia,serif;margin:0}.programme-list p{color:#aaa;line-height:1.6}.access h2{max-width:900px}.access-note{color:var(--graphite);margin:28px 0 55px;line-height:1.6}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.price-card{min-height:520px;padding:40px;border:1px solid var(--black);display:flex;flex-direction:column}.price-card>div{display:grid;gap:8px}.price-card span{font:28px Georgia,serif}.price-card small{font-size:9px;letter-spacing:.22em}.price-card h3{font:74px Georgia,serif;margin:60px 0 25px}.price-card sup{font:12px Arial;vertical-align:top;letter-spacing:.2em}.price-card ul{list-style:none;padding:0;margin:0}.price-card li{padding:15px 0;border-bottom:1px solid var(--line);color:var(--graphite)}.price-card a{margin-top:auto;color:inherit;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.2em;display:flex;justify-content:space-between}.price-card.inverse{background:var(--black);color:#fff}.price-card.inverse li{color:#aaa;border-color:#333}.later{text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);margin:30px 0 0}.faculty{display:grid;grid-template-columns:.6fr 1fr 1fr;gap:5vw}.faculty .index{grid-row:1/3}.faculty article{border-top:1px solid var(--black);padding-top:20px}.faculty article>span{font-size:9px;letter-spacing:.28em}.faculty article h2{font-size:44px;margin:30px 0}.faculty article p{line-height:1.8;color:var(--graphite)}.pathway{background:#ededeb}.pathway h2{margin-bottom:42px}.pathway>p:last-child{max-width:780px;font:20px/1.7 Georgia,serif;color:#555}.schedule h2{margin-bottom:60px}.timeline{display:grid;grid-template-columns:110px 1fr;max-width:850px;margin-left:auto}.timeline span,.timeline b{padding:22px 0;border-top:1px solid var(--line)}.timeline span{font:18px Georgia,serif}.timeline b{font-size:11px;letter-spacing:.16em;text-transform:uppercase}footer{padding:50px 6vw 110px;background:var(--black);color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.2em;text-transform:uppercase}footer a{color:#fff}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(20px);transition:.8s ease}.reveal.seen{opacity:1;transform:none}
@media(max-width:700px){.appbar{height:58px}.hero{height:calc(100svh - 58px);min-height:690px}.hero-title{top:8%}.hero h1{font-size:clamp(48px,15vw,68px);line-height:.8}.portrait.xing{height:55%;left:-17%}.portrait.yan{height:51%;right:-19%}.xing-name,.yan-name{top:40%}.faculty-name b{font-size:12px}.hero-meta{bottom:20%;gap:8px;font-size:8px}.hero-meta span+span:before{margin-right:8px}.primary{bottom:10%;width:82%}.hero-note{bottom:2.5%;font-size:11px}.intro,.programme,.access,.faculty,.pathway,.schedule{padding:78px 6vw}.index{margin-bottom:38px!important}h2{font-size:46px}.metrics{grid-template-columns:1fr}.metrics div{grid-template-columns:80px 1fr;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.metrics div:last-child{border-bottom:0}.metrics b{font-size:42px}.programme-list article{grid-template-columns:30px 1fr}.programme-list article p{grid-column:2}.programme-list h3{font-size:25px}.price-grid{grid-template-columns:1fr}.price-card{min-height:470px;padding:30px}.price-card h3{font-size:64px;margin:45px 0 20px}.later{line-height:1.7}.faculty{grid-template-columns:1fr}.faculty .index{grid-row:auto}.faculty article h2{font-size:42px}.timeline{grid-template-columns:80px 1fr}.schedule{padding-bottom:130px}footer{display:grid;padding-bottom:125px}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between}.mobile-cta span{display:grid}.mobile-cta small{text-transform:uppercase;font-size:7px;letter-spacing:.12em}.mobile-cta b{font:21px Georgia,serif}.mobile-cta a{background:var(--black);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:9px;padding:16px 22px}}

.appbar-actions{display:flex;align-items:center;gap:2rem}.portal-link{color:var(--black);text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.2em}
@media(max-width:700px){.appbar-actions{gap:1rem}.portal-link{font-size:8px;letter-spacing:.12em}}
.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:980px){.price-grid{grid-template-columns:1fr}.price-card{min-height:470px}}
