/* Shared header/footer based on the supplied homepage; programme logo retained. */
body.hub-site-chrome .site-header {
    height: 84px;
    padding-inline: clamp(24px, 4vw, 56px);
    gap: 22px;
    background: rgba(255,255,255,0.97);
    border-bottom-color: rgba(10, 70, 101, 0.12);
    box-shadow: 0 8px 28px rgba(19, 61, 86, 0.06);
}

body.hub-site-chrome .brand {
    min-width: 255px;
    gap: 11px;
}

body.hub-site-chrome .site-header .brand-mark {
    width: 60px;
    height: 54px;
    flex: 0 0 60px;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background-color: transparent;
    background-image: url("../images/master-logo-mark-transparent.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

body.hub-site-chrome .brand-mark svg,
body.hub-site-chrome .brand-mark::before {
    display: none !important;
    content: none !important;
}

body.hub-site-chrome .brand-text strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.02;
    color: #062f61;
}

body.hub-site-chrome .brand-text small {
    margin-top: 2px;
    font-size: 13px;
    color: #0a4a60;
}

body.hub-site-chrome .main-nav {
    gap: clamp(17px, 2.1vw, 31px);
    font-size: 14px;
    color: #062f61;
}

body.hub-site-chrome .main-nav a {
    position: relative;
}

body.hub-site-chrome .main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 5px;
    height: 2px;
    background: #08786c;
    transition: right .2s ease;
}

body.hub-site-chrome .main-nav a:hover::after,
body.hub-site-chrome .main-nav a:focus-visible::after {
    right: 0;
}


body.hub-site-chrome .site-header .brand-mark{background-size:contain}
body.hub-site-chrome .site-footer .brand-mark{width:54px;height:48px;flex:0 0 54px;border:0;border-radius:0;box-shadow:none;background:transparent url("../images/master-logo-mark-transparent.png") center/contain no-repeat}
body.hub-site-chrome .site-footer .footer-inner{padding:0 28px}
@media(max-width:760px){body.hub-site-chrome .site-footer .footer-inner{grid-template-columns:1fr}}
@media(max-width:700px){body.hub-site-chrome .site-footer{padding:42px 20px 30px}}

body.hub-site-chrome .site-footer .footer-btn{border-radius:999px;padding:14px 22px}

/* Programme hub: scoped overrides, leaving other pages unchanged. */
body.programmes-hub-page #programmes-content{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65}
body.programmes-hub-page .programmes-hero{max-width:1040px;grid-template-columns:minmax(0,1fr);padding:56px 32px 64px}
body.programmes-hub-page .programmes-hero-copy{min-height:0;padding:40px 44px}
body.programmes-hub-page .programmes-hero-copy h1{max-width:850px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,40px);line-height:1.15;letter-spacing:normal}
body.programmes-hub-page .programmes-hero-copy p:not(.hero-kicker){max-width:850px;font-size:16px;line-height:1.65}
body.programmes-hub-page .hero-kicker{font-size:14px;line-height:1.55}
body.programmes-hub-page .programme-type-link{grid-template-columns:96px minmax(0,1fr);min-height:110px;gap:16px;padding:16px 44px 16px 16px}
body.programmes-hub-page .programme-type-icon{width:96px;height:76px;border-radius:15px}
body.programmes-hub-page .programme-type-icon svg{width:90px;height:60px;fill:none;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.programmes-hub-page .programme-type-label{font-size:18px;line-height:1.3;font-weight:700}
body.programmes-hub-page .programme-type-copy small{font-size:14px;line-height:1.5;font-weight:400}
body.programmes-hub-page .programme-type-link:focus-visible{outline:3px solid #08786c;outline-offset:3px}
@media(max-width:760px){body.programmes-hub-page .programmes-hero{padding:32px 20px 40px}body.programmes-hub-page .programmes-hero-copy{padding:28px 24px}body.programmes-hub-page .programme-type-nav{grid-template-columns:1fr}}
