/* Shared responsive typography: labels, controls and metadata stay compact. */
/* Eyebrows have their own global size; do not enlarge other labels or badges. */
:is(body,.editor-styles-wrapper) :is(.wbs-eyebrow,.is-style-wbs-eyebrow){font-size:var(--wbs-font-size-eyebrow,15px)!important}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/cormorant-garamond-latin-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
body,.editor-styles-wrapper{font-family:var(--wbs-font-body);font-size:var(--wbs-font-size-body);font-weight:var(--wbs-font-weight-body);line-height:var(--wbs-line-height-body)}
:is(body,.editor-styles-wrapper) :is(h1,h2,h3,h4,h5,h6){font-family:var(--wbs-font-heading)!important;font-weight:var(--wbs-font-weight-heading)!important;overflow-wrap:break-word}
:is(body,.editor-styles-wrapper) :is(h1,h2,h3,h4,h5,h6) :is(strong,b){font-family:inherit;font-weight:inherit}
:is(body,.editor-styles-wrapper) h1{font-size:var(--wbs-font-size-h1)!important}
:is(body,.editor-styles-wrapper) h2{font-size:var(--wbs-font-size-h2)!important}
:is(body,.editor-styles-wrapper) h3{font-size:var(--wbs-font-size-h3)!important}
:is(body,.editor-styles-wrapper) :is(h4,h5,h6){font-size:var(--wbs-font-size-h4)!important}
:is(.wbs-page-content,.wbs-course-search,.editor-styles-wrapper) p:not(:where(.has-small-font-size,.is-style-wbs-small,.is-style-wbs-eyebrow,.wbs-eyebrow,.wbs-course-glance *,.wbs-course-card__duration,.wbs-profile-card__role,.wbs-course-catalogue__results,.wbs-policy-last-updated,.wbs-policy-effective-date,.wbs-award-year)){font-family:var(--wbs-font-body);font-size:var(--wbs-font-size-body)!important;line-height:var(--wbs-line-height-body)!important;font-weight:400}
:is(.wbs-page-content,.editor-styles-wrapper) :is(.wbs-course-details,.wbs-course-accordion,.wbs-sixth-pathway-card) li{font-size:var(--wbs-font-size-body);line-height:var(--wbs-line-height-body)}
:is(.wbs-course-glance__label,.wbs-course-glance dt,.wbs-course-badge,.wbs-primary-menu a,.wbs-button,.wp-block-button__link,button,label,summary){font-family:var(--wbs-font-label);font-weight:500}
body :is(.wbs-eyebrow,.wbs-label,.is-style-wbs-eyebrow,.wbs-badge,.wbs-primary-menu a,.wbs-nav-link,.wbs-text-link,.wbs-site-name,.wbs-profile-card__role,.wbs-profile-card__details summary,.wbs-course-filters legend,.wbs-progression__step,.wbs-skip-link,.wbs-preview-label,label,.wbs-field-label,summary,th){font-weight:500}
.wbs-site-header__menu-row{border-top:0}
body .wbs-site-header .wbs-site-header__inner{margin-inline:auto}
body .wbs-site-header #wbs-primary-menu a[href$="/contact-us/"]{border:0;min-height:0}
.wbs-site-header .wbs-site-branding{align-items:center;display:flex;flex:0 1 auto;gap:14px;min-width:0;white-space:nowrap}
.wbs-site-header .wbs-site-branding .custom-logo-link{flex:0 0 auto}
.wbs-site-header .wbs-site-branding .custom-logo{flex:0 0 auto}
.wbs-site-header .wbs-site-brand-name{color:var(--wbs-on-dark);font-family:var(--wbs-font-heading);font-size:18px;font-weight:var(--wbs-font-weight-heading);letter-spacing:.055em;line-height:1;text-transform:uppercase}
body:not(:has(.wbs-mockup-hero)) .wbs-site-header .wbs-site-brand-name{color:var(--wbs-color-text)}
@media(min-width:1089px){
 .wbs-site-header__top{min-height:7rem;padding-block:.75rem}
 .wbs-site-header .wbs-site-branding .custom-logo{max-height:5.75rem!important;width:auto;height:auto}
 .wbs-site-header__menu-row{min-height:3.75rem;padding-block:.375rem}
 body .wbs-site-header #wbs-primary-menu{gap:.25rem;align-items:center;flex-wrap:wrap}
 body .wbs-site-header #wbs-primary-menu a{font-family:var(--wbs-font-label);font-size:17px;padding:.625rem .7rem}
}
body .wbs-site-footer .wbs-site-footer__grid{padding-block:3.5rem;row-gap:2.5rem}
body .wbs-site-footer :is(p,a,address){font-size:18px!important;line-height:1.6;overflow-wrap:anywhere}
body .wbs-site-footer__grid h3{font-size:24px!important}
body .wbs-site-footer .wbs-footer-navigation li+li{margin-block-start:1.1rem}
body .wbs-site-footer .custom-logo{max-width:12rem}
body .wbs-site-footer__social-links svg{height:1.75rem;width:1.75rem;flex-basis:1.75rem}
body .wbs-site-footer__legal :is(p,a,span){font-size:14px!important}
@media(max-width:1088px){body .wbs-site-footer :is(p,a,address){font-size:17px!important}body .wbs-site-footer__legal :is(p,a,span){font-size:14px!important}}
body .wbs-sixth-pathway-card .wbs-course-glance__editable{align-items:start!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.wbs-sixth-pathway-card .wbs-course-glance__editable>.wp-block-group{margin-block-start:0!important;align-self:start;min-width:0}
.wbs-sixth-pathway-card .wbs-course-glance__editable .wbs-course-glance__label{margin-top:0!important;min-height:2.8em;line-height:1.4}
@media(max-width:767px){body .wbs-sixth-pathway-card .wbs-course-glance__editable{gap:.75rem}body .wbs-sixth-pathway-card .wbs-course-glance__editable .wbs-course-glance__label{min-height:4.2em;font-size:12px;overflow-wrap:anywhere}}
.wbs-mockup-pathways.wbs-experience-strip{padding-inline:0}
.wbs-experience-strip>.wp-block-columns{width:min(100%,var(--wbs-content-width));max-width:var(--wbs-content-width);padding-inline:var(--wbs-gutter);margin-inline:auto!important;box-sizing:border-box}
.wbs-experience-strip .has-text-align-center{text-align:left!important}
.wbs-course-search{padding-block:3rem}
.wbs-course-search .wbs-page-header{background:var(--wbs-color-canvas);color:var(--wbs-color-structural);padding-block:1rem 2rem}
.wbs-course-search h1{color:var(--wbs-color-structural)}
.wbs-course-search .wbs-course-list{margin-block:2rem}
.wbs-programme-glance__grid{align-items:start}
.wbs-programme-glance__grid>.wp-block-group{margin-block-start:0!important}
/* Summary labels are metadata, not enlarged paragraph copy. */
body.page-id-29 .wbs-sixth-programme-facts p.wbs-sixth-programme-fact__label{font-family:var(--wbs-font-label);font-size:14px!important;font-weight:500;line-height:1.4!important;min-height:2.8em}
body.page-id-29 .wbs-sixth-programme-facts p.wbs-sixth-programme-fact__value{font-size:17px!important;line-height:1.5!important}
/* Keep the filter controls' width/vertical spacing; transfer the left inset to the right. */
body:is(.page-id-28,.page-id-30) .wbs-course-filters{padding-inline-start:0;padding-inline-end:calc(2 * var(--wbs-card-padding))}
body:is(.page-id-28,.page-id-30) .wbs-course-filters legend{padding-inline:0}
/* Widen only the Team introduction; retain its existing centring and outer gutters. */
body.page-id-31 .wbs-team-listing__intro,
body.page-id-31 .wbs-team-listing__description{max-width:900px}
body.page-id-31 .wbs-team-listing .wbs-profile-card__role{text-transform:uppercase}
/* Native editable Team introduction: its own Group controls width and padding. */
.wbs-page-content .wbs-team-editable-intro > :is(h1,h2,h3,h4,h5,h6,p){max-width:none}
.wbs-page-content .wbs-team-editable-intro + .wbs-team-listing{padding-block-start:0}
/* One shared desktop anchor for header and heroes; existing vertical spacing is untouched. */
@media(min-width:1089px){
 body{--wbs-wide-desktop:min(90%,1680px)}
 body.home .wbs-site-header .wbs-site-header__inner,
 body .wbs-site-header .wbs-site-header__inner,
 body .wbs-mockup-hero .wbs-mockup-hero-inner{width:var(--wbs-wide-desktop);max-width:1680px;padding-inline:0;margin-inline:auto}
 body .wbs-site-header .wbs-primary-navigation{width:100%}
 body .wbs-site-header #wbs-primary-menu{width:100%;justify-content:space-between}
 /* Two desktop zones: isolated logo, then right-aligned navigation and search. */
 body.home .wbs-site-header .wbs-site-header__inner,
 body .wbs-site-header .wbs-site-header__inner{display:grid;grid-template-columns:max-content minmax(0,1fr) 44px;column-gap:24px;align-items:center;min-height:172px}
 body .wbs-site-header .wbs-site-header__top{display:contents}
 body .wbs-site-header .wbs-site-branding{grid-column:1;grid-row:1}
 body .wbs-site-header .wbs-site-search{grid-column:3;grid-row:1;justify-self:end}
 body .wbs-site-header .wbs-site-header__menu-row{grid-column:2;grid-row:1;width:min(100%,1120px);margin-inline-start:auto}
 body .wbs-site-header #wbs-primary-menu{column-gap:24px;row-gap:8px}
 .wbs-mockup-hero-inner > .wbs-mockup-hero-copy{width:700px;max-width:100%}
 .wbs-mockup-hero .wbs-mockup-hero-copy h1{max-width:700px}
 .wbs-mockup-hero .wbs-mockup-hero-inner > h1{width:700px;max-width:100%}
 .wbs-mockup-hero .wbs-mockup-hero-copy p{max-width:600px}
 body .wbs-site-footer .wbs-site-footer__grid,
 body .wbs-site-footer .wbs-site-footer__legal > .wbs-container,
 body .wbs-site-footer .wbs-site-footer__legal{width:100%;max-width:1480px;margin-inline:auto}
 body.home:has(.wbs-mockup-home) .wbs-site-footer .wbs-site-footer__grid,
 body .wbs-site-footer .wbs-site-footer__grid,
 body .wbs-site-footer .wbs-site-footer__legal p{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
 body .wbs-site-footer .wbs-site-footer__legal a{grid-column:2}
}
@media(max-width:1088px){.wbs-site-header .wbs-site-brand-name{font-size:15px;letter-spacing:.045em}}
@media(max-width:480px){.wbs-site-header .wbs-site-branding{gap:10px}.wbs-site-header .wbs-site-brand-name{font-size:12.5px;letter-spacing:.035em}}
@media(max-width:360px){.wbs-site-header .wbs-site-branding{gap:8px}.wbs-site-header .wbs-site-brand-name{font-size:11px;letter-spacing:0}}
/* Homepage-only brand-title refinement; all page headings and other headers are unchanged. */
body.home .wbs-site-header .wbs-site-brand-name{font-size:20px;font-weight:500}
@media(max-width:1088px){body.home .wbs-site-header .wbs-site-brand-name{font-size:17px}}
@media(max-width:480px){body.home .wbs-site-header .wbs-site-brand-name{font-size:14px}}
@media(max-width:360px){body.home .wbs-site-header .wbs-site-brand-name{font-size:12px}}
@media(min-width:1280px){
 body.home:has(.wbs-mockup-home) .wbs-site-footer .wbs-site-footer__grid,
 body.home .wbs-site-footer .wbs-site-footer__grid,
 body .wbs-site-footer .wbs-site-footer__grid,
 body .wbs-site-footer .wbs-site-footer__legal p{grid-template-columns:minmax(192px,.8fr) 400px minmax(190px,.8fr) minmax(250px,1fr)}
 body .wbs-site-footer .wbs-site-footer__legal a{grid-column:4}
}
/* Shared Sixth Form component: remove nested WordPress width constraints at their source. */
body .wbs-sixth-pathway-section > .wbs-sixth-pathway-layout{width:100%!important;max-width:none!important;margin-inline:auto!important}
body .wbs-sixth-pathway-layout > :not(.wbs-sixth-programme-facts){max-width:var(--wbs-content-width);margin-inline:auto}
body .wbs-sixth-pathway-layout .wbs-sixth-programme-facts{display:grid;width:100%!important;max-width:none!important;margin-inline:0!important;grid-template-columns:1fr!important;column-gap:32px;row-gap:16px}
body .wbs-sixth-programme-facts .wbs-sixth-programme-fact{display:grid;grid-template-rows:subgrid;grid-row:span 2;min-width:0;overflow-wrap:anywhere}
@media(min-width:480px){body .wbs-sixth-pathway-layout .wbs-sixth-programme-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:768px){body .wbs-sixth-pathway-layout .wbs-sixth-programme-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:1089px){body .wbs-sixth-pathway-layout .wbs-sixth-programme-facts{grid-template-columns:repeat(8,minmax(0,max-content))!important;justify-content:space-between;padding-inline:40px}}
