@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/lato-400.ttf') format('truetype')}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/lato-700.ttf') format('truetype')}
body,button,input,select,textarea{font-family:Lato,Arial,sans-serif}
.institution{background:#f3f7f9;color:var(--ink);border-top:4px solid var(--sky);padding:9px 0;font-size:13px}
.utility{display:flex;align-items:center;justify-content:space-between;gap:20px}.utility nav{display:flex;gap:22px}.utility a{text-decoration:none;color:var(--teal)}
.identity-band{background:var(--navy)}.branding{gap:28px;padding-block:26px}.uns-logo{display:block;flex:none;line-height:0}.uns-logo img{display:block;width:190px;height:auto;max-width:100%}.programme-identity{min-width:0}.identity-band .site-title{color:#fff;font-size:32px;font-weight:700}.identity-band .tagline{color:#fff;font-size:16px}
.menu{gap:0 25px}.menu a{color:var(--ink);font-size:15px;min-height:48px}.menu a:hover,.menu a:focus-visible{color:var(--teal)}.menu .sub-menu{min-width:250px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 16px #17242a12}.menu .sub-menu a{font-size:14px;padding-block:10px;line-height:1.5}.submenu-toggle{display:none}
.hero-grid{grid-template-columns:1.05fr 1fr;gap:60px;padding-block:58px;align-items:center}.hero h1{font-size:clamp(34px,4vw,54px);font-weight:700;letter-spacing:-.02em}.hero-photo{margin:0;min-width:0}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-photo figcaption{font-size:13px;line-height:1.45;margin-top:12px;color:var(--muted)}.hero-aside p{font-family:Lato,Arial,sans-serif}.eyebrow{font-weight:700}.button{font-weight:700}.button:hover{background:var(--faculty);color:#fff}.quick-links{border-top:4px solid var(--yellow);padding-inline:12px}.quick-links a{font-size:16px;border-color:#ffffff55;min-height:64px}.quick-links a:hover{background:#ffffff12}.archive-link{font-size:15px;font-weight:700;white-space:nowrap}
.site-footer{border-top:5px solid var(--faculty);color:#fff}.footer-grid{grid-template-columns:1.6fr 1fr 1fr}.site-footer h2{font-size:18px;line-height:1.4;margin:0 0 18px;color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:8px}.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #ffffff55;display:flex;gap:16px;justify-content:space-between}.footer-bottom a{white-space:nowrap}
.legacy-person{border-bottom:1px solid var(--line);padding-block:20px}.legacy-person img{max-width:220px}.legacy-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.legacy-gallery figure{margin:0}.legacy-gallery img{width:100%;height:auto}
@media(max-width:1000px){.hero-grid{gap:30px}.menu{gap:0 20px}.identity-band .site-title{font-size:29px}}
@media(max-width:800px){.utility{gap:12px}.utility nav{gap:14px}.institution{font-size:12px}.branding{gap:22px;padding-block:22px}.uns-logo img{width:150px}.identity-band .site-title{font-size:26px}.identity-band .tagline{font-size:14px}.hero-grid{grid-template-columns:1fr;padding-block:36px;gap:28px}.hero h1{font-size:38px}.hero-copy{max-width:100%}.hero-photo img{aspect-ratio:16/10}.hero-photo figcaption{font-size:12px}.menu>li{position:relative}.menu>li>a{padding-right:48px}.menu .sub-menu{display:none;box-shadow:none;min-width:0;border:none;background:var(--paper);padding:4px 14px}.menu li.submenu-open>.sub-menu{display:block}.submenu-toggle{display:block;position:absolute;right:0;top:0;width:44px;min-height:44px;height:44px;padding:0;background:transparent;color:var(--ink);font-size:24px;border:0}.submenu-toggle:focus-visible{outline-color:var(--teal)}.quick-links{padding-inline:12px}.quick-links a{min-width:50%;flex-basis:50%;border-bottom:1px solid #ffffff44}.quick-links a:last-child{border-bottom:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>section:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.archive-link{display:inline-block;margin-top:14px}}
@media(max-width:560px){.utility>span{font-size:11px}.utility nav{gap:12px;font-size:11px}.branding{gap:20px;padding-block:22px}.uns-logo img{width:130px}.identity-band .site-title{font-size:23px}.identity-band .tagline{font-size:12px;line-height:1.45}.hero h1{font-size:34px}.eyebrow{font-size:10px;letter-spacing:.08em}.quick-links a{font-size:14px;padding-inline:8px;min-height:65px}.footer-grid{gap:24px}.legacy-gallery{grid-template-columns:1fr}}
.hero .eyebrow{color:var(--ink)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
