/* Public reading and discovery, using the established brand palette. */
.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.directory-heading p{max-width:330px;color:#596271;line-height:1.8}.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.programme-tile{border:1px solid #dce2e4;background:white;color:var(--secondary);text-decoration:none;transition:transform .2s;overflow:hidden;border-radius:8px}.programme-tile:hover{transform:translateY(-4px)}.programme-tile img{width:100%;height:200px;object-fit:cover}.programme-tile>div{padding:26px}.programme-tile h3{font-family:var(--fh);font-size:1.2rem;font-weight:700}.programme-tile p{font-size:.95rem;line-height:1.8;color:#596271}.programme-tile .eyebrow{color:var(--primary)}.detail-hero{padding:125px 0 70px;background-size:cover;background-position:center;position:relative;color:white}.detail-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,37,.94),rgba(14,26,37,.55))}.detail-hero .container{position:relative}.detail-hero h1,.publication-header h1{font-family:var(--fh);font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1.15;max-width:920px;margin:20px 0}.detail-hero p{max-width:700px;line-height:1.75;font-size:1.2rem;color:#e3ede9}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;margin-bottom:40px;align-items:center}.breadcrumbs a{color:inherit;text-underline-offset:4px}.breadcrumbs span[aria-current]{opacity:.8}.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:70px;align-items:start}.detail-lead{font-size:1.2rem;line-height:1.9;color:#43505e;max-width:740px}.detail-subtitle{font-size:1.6rem;font-family:var(--fh);margin:45px 0 24px;font-weight:700}.approach-list{list-style:none;padding:0}.approach-list li{display:flex;gap:24px;padding:24px 0;border-top:1px solid #dce2e4}.approach-list li>span{color:var(--primary);font-family:var(--fh);font-weight:700}.approach-list p{margin:0;color:#43505e;line-height:1.8}.detail-aside{padding:30px;background:#eff4f1;border-top:4px solid var(--primary);border-radius:4px}.detail-aside h2{font-family:var(--fh);font-size:1.5rem;font-weight:700;line-height:1.4}.detail-aside p{color:#43505e;line-height:1.8}.detail-aside img{width:100%;height:auto;border-radius:4px;margin-bottom:24px}.detail-aside .btn-primary-custom{display:flex;justify-content:center;white-space:normal}.aside-link{display:block;color:var(--secondary);margin-top:22px;text-underline-offset:4px}.related-section{border-top:1px solid #dce2e4}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.related-card{text-decoration:none;display:flex;flex-direction:column;gap:16px}.related-card h3{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--secondary);line-height:1.4}.related-card p{color:#596271;line-height:1.7}.related-card .card-link{margin-top:auto}.programme-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.programme-links a{padding:22px;border:1px solid #dce2e4;border-radius:4px;display:flex;justify-content:space-between;gap:20px;color:var(--secondary);text-decoration:none;font-weight:600}.programme-links a:hover{border-color:var(--primary)}.publication-header{padding:125px 0 50px;border-bottom:1px solid #dce2e4}.topic-label{color:#226744;font-weight:600;text-underline-offset:4px}.publication-byline{color:#596271;margin-top:25px}.source-note{background:#eff4f1;border-left:4px solid #226744;padding:30px;margin:36px 0}.source-note h2{font-size:1.3rem;font-family:var(--fh);font-weight:700}.source-note p{line-height:1.8;color:#43505e}.share-controls{display:flex;flex-wrap:wrap;gap:12px}.share-controls button{color:var(--secondary);border-color:#77838e}.share-controls p{flex-basis:100%;overflow-wrap:anywhere}.topic-filter{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px;background:#eff4f1;border-radius:6px;margin-bottom:20px}.topic-filter label{font-weight:600;color:var(--secondary)}.topic-filter select{padding:12px 35px 12px 14px;border:1px solid #bdc7ca;border-radius:4px;background:white;max-width:100%;color:var(--secondary)}.topic-filter a{color:var(--secondary);text-underline-offset:4px}.results-count{color:#596271;font-size:.9rem;margin-bottom:26px}.preview-note{background:#fff2e9;color:#754012;padding:12px 20px;border:1px solid #e8c6ac;font-size:.85rem;line-height:1.6}.preview-note a{color:inherit}.local-preview-banner{position:relative;margin-top:80px}.section-light .pub-meta{color:#596271}#publications{scroll-margin-top:110px}
@media(max-width:991px){.programme-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{gap:30px;grid-template-columns:1fr}.detail-aside{max-width:600px}.directory-heading{display:block}}
@media(max-width:575px){.programme-grid,.related-grid,.programme-links{grid-template-columns:1fr}.detail-hero{padding:115px 0 45px}.publication-header{padding:110px 0 35px}.breadcrumbs{margin-bottom:26px}.detail-lead{font-size:1.05rem}.source-note{padding:22px}.source-note .btn-primary-custom{white-space:normal}.topic-filter select{width:100%}.pub-meta{line-height:1.6}.detail-aside{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-aos]{opacity:1!important;transform:none!important}.programme-tile:hover{transform:none}}

.enquiry-intent{position:relative;margin-top:100px}.local-preview-banner+.enquiry-intent{margin-top:20px}

.programme-tile,.programme-tile>[id]{scroll-margin-top:110px}

/* Explicit CTA states override inherited light-section span colours. */
.btn-primary-custom,.section-light .btn-primary-custom,.section-light-2 .btn-primary-custom {background:#b83d12;color:#fff!important}
.btn-primary-custom *,.section-light .btn-primary-custom *,.section-light-2 .btn-primary-custom *{color:#fff!important}
.btn-primary-custom:hover,.btn-primary-custom:focus-visible{background:#96320f;color:#fff!important}
.btn-primary-custom:focus-visible{outline:3px solid #101828;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.btn-primary-custom:disabled,.btn-primary-custom[aria-disabled="true"]{background:#78361c;color:#fff!important;opacity:1;cursor:not-allowed;transform:none;box-shadow:none}
.pub-card:focus-visible{outline:3px solid #101828;outline-offset:4px}
.publication-context{margin:32px 0;padding:26px;background:#eff4f1;border-left:4px solid #226744}
.publication-context h2{font-family:var(--fh);font-size:1.35rem;font-weight:700}
.publication-context p,.publication-connection{line-height:1.8;color:#43505e}
.publication-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:1px solid #dce2e4;padding-top:24px}
.publication-facts dt{font-size:.8rem;font-weight:700;color:#43505e}.publication-facts dd{margin:5px 0 0;color:#101828}
@media(max-width:575px){.publication-facts{grid-template-columns:1fr}}

.pub-card .pub-tag{color:#83300f!important}.pub-card .card-link{color:#8b310f!important}

/* Compact navigation and a publication-first reading flow. */
.programme-switcher {padding:22px 0;border-bottom:1px solid #e1e5e9;}
.programme-switcher ul {display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 0;padding:0;}
.programme-switcher a {display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #cbd3db;border-radius:24px;color:#173854;font-size:.9rem;text-decoration:none;}
.programme-switcher a[aria-current="page"] {background:#173854;color:#fff;border-color:#173854;}
.programme-switcher a:hover {border-color:#b83d12;}
.programme-switcher a:focus-visible {outline:3px solid #b83d12;outline-offset:3px;}
.publication-reading {padding:38px 0 50px;}
.publication-reading article {max-width:900px;margin:auto;}
.publication-reading .publication-context {margin-top:28px;padding:20px 0 0;border-top:1px solid #cbd3db;background:transparent;}
.publication-reading .publication-context h2 {font-size:1.25rem;margin-bottom:10px;}
.publication-reading .publication-context p {margin-bottom:10px;}
.publication-reading .source-note {margin-top:20px;}
.publication-reading .publication-context {border-left:0;}

/* Footer: readable contact information and quieter navigation hierarchy. */
.site-footer {padding-top:52px;}
.footer-grid {display:grid;grid-template-columns:1.25fr .6fr .6fr .7fr 1.3fr;gap:28px;padding-bottom:42px;}
.footer-grid > * {min-width:0;}
.footer-logo img {height:40px;margin-bottom:18px;}
.footer-tagline {max-width:300px;color:#bec7d3;margin-bottom:20px;}
.footer-heading {margin-bottom:14px;color:#e7c355;letter-spacing:2px;}
.footer-links li {margin-bottom:4px;}
.site-footer .footer-links a {display:inline-flex;align-items:center;min-height:36px;color:#bec7d3;line-height:1.55;overflow-wrap:normal;word-break:normal;}
.footer-contact .footer-links a {display:inline-block;min-height:0;padding:7px 0;overflow-wrap:anywhere;}
.footer-contact .footer-links li {margin-bottom:8px;}
.footer-address {color:#bec7d3;font-size:.9rem;line-height:1.65;max-width:270px;}
.footer-social-label {font-size:.8rem;color:#bec7d3;margin-bottom:10px;}
.site-footer .social-btn {width:44px;height:44px;color:#bec7d3;}
.site-footer a:hover {color:#fff;}
.site-footer a:focus-visible {outline:3px solid #e7c355;outline-offset:4px;border-radius:3px;color:#fff;}
.site-footer .footer-copy,.site-footer .footer-copy a {color:#bec7d3;line-height:1.8;}
.footer-bottom {padding:22px 0;border-color:rgba(255,255,255,.12);}
@media(max-width:1199px) {
 .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;}
 .footer-brand {grid-column:1/3;grid-row:1;}
 .footer-contact {grid-column:3;grid-row:1;}
}
@media(max-width:991px) {
 .footer-grid {gap:28px;}
 .footer-brand {grid-column:1/-1;grid-row:auto;}
 .footer-contact {grid-column:1/-1;grid-row:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;}
 .footer-contact .footer-links {display:grid;grid-template-columns:1.2fr 1fr;gap:4px 24px;}
 .footer-contact .footer-address {grid-column:1/-1;max-width:none;}
}
@media(max-width:575px) {
 .site-footer {padding-top:36px;}
 .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;padding-bottom:28px;}
 .footer-contact .footer-links {display:block;}
 .footer-tagline {max-width:100%;}
 .footer-contact .footer-links a {font-size:.9rem;}
 .footer-bottom {padding:20px 0;}
}
/* Tighter footer rhythm and balanced use of the available width. */
.site-footer {padding-top:32px;}
.footer-grid {grid-template-columns:1.3fr repeat(3,1fr) 260px;gap:32px;padding-bottom:26px;}
.footer-logo img {margin-bottom:12px;}
.footer-tagline {margin-bottom:12px;line-height:1.6;}
.footer-heading {margin-bottom:8px;}
.footer-social-label {margin-bottom:8px;}
.footer-contact .footer-links li {margin-bottom:4px;}
.footer-address {max-width:none;}
.footer-bottom {padding:16px 0;}
@media(max-width:1199px) {.footer-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px;}}
@media(max-width:991px) {.footer-grid {gap:22px;}.footer-contact {padding-top:18px;}}
@media(max-width:575px) {
 .site-footer {padding-top:28px;}
 .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;padding-bottom:22px;}
 .footer-brand,.footer-contact {grid-column:1/-1;}
 .footer-heading {letter-spacing:1.5px;}
 .site-footer .footer-links a {min-height:40px;}
 .footer-contact .footer-links a {min-height:0;}
 .footer-bottom {padding:14px 0;}
}
/* Keep Contact alongside Engage rather than creating a separate footer tier. */
@media (min-width:576px) and (max-width:991px) {
 .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr)) 240px;gap:22px 16px;}
 .footer-brand {grid-column:1/-1;}
 .footer-contact {grid-column:auto;grid-row:auto;}
}
@media (max-width:991px) {
 .footer-contact {border-top:0;padding-top:0;}
 .footer-contact .footer-links {display:block;}
 .footer-contact .footer-address {grid-column:auto;}
}
@media (max-width:575px) {
 .footer-grid {grid-template-columns:.85fr 1.15fr;gap:20px 16px;}
 .footer-brand {grid-column:1/-1;}
 .footer-contact {grid-column:auto;grid-row:auto;}
 .footer-contact .footer-links a {font-size:.875rem;}
}

/* Transient notices keep explicit, keyboard-accessible dismissal. */
.site-notice {display:flex;align-items:flex-start;gap:16px;}
.site-notice[hidden],.site-messages[hidden] {display:none;}
.notice-content {flex:1;min-width:0;overflow-wrap:anywhere;}
.notice-dismiss {flex:none;width:44px;height:44px;margin:-8px -8px -8px 0;padding:0;border:0;background:transparent;color:inherit;font-size:1.5rem;line-height:1;}
.notice-dismiss:focus-visible {outline:3px solid #101828;outline-offset:2px;}
