/* Desktop, reference 2560 x 1440. Preserve generous full desktop typography. */
body{font-size:16px;line-height:1.6}main p,main li,main dd,main dt,main td,main th{font-size:16px;line-height:1.65}
main h1{font-size:clamp(42px,2.4vw,55px);line-height:1.17}main h2{font-size:clamp(29px,1.6vw,36px)}main h3{font-size:23px}
.page-banner h1,.course-directory-banner h1,.bc-fees-hero h1,.contact-hero h1,.course-hero-redesign h1{font-size:clamp(43px,2.4vw,55px)}
.page-banner,.course-directory-banner,.bc-fees-hero,.contact-hero{padding:56px 0}
.header-course-search{display:flex;align-items:stretch;gap:0}.header-course-search input{flex:1 1 auto;min-width:0;width:0}.header-course-search button,.header-actions .header-login{height:42px;min-height:42px;font-size:13px}
.course-filters{padding:0!important}.course-filter-header{padding:13px 15px}.course-filter-header h2{font-size:18px}.course-filters fieldset{padding:13px 15px}.course-filters legend{font-size:15px}
.course-result{padding:22px}.course-result h3{font-size:21px}.course-result [class*="tuition"]{font-size:14px!important}.bc-tuition-amount{font-size:28px!important}
/* v20: restore course card breathing room; full-width aligned filter dividers. */
.course-result{padding:28px!important;margin-bottom:16px!important;row-gap:12px!important}
.course-result h3{margin:5px 0 9px!important}
.course-result dl{margin-top:15px!important}
.course-result .bc-result-fee{display:flex;align-items:baseline;gap:10px;margin:12px 0!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;line-height:1.5}
.course-result .bc-result-fee strong{font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.5;letter-spacing:0}
.course-action-card .bc-fee-callout strong,.course-action-card .bc-tuition-amount{font-family:Arial,Helvetica,sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.45;letter-spacing:0}
.course-filters{padding:0!important;overflow:hidden}
.course-filters .course-filter-header{box-sizing:border-box;padding:15px!important;margin:0!important;border-bottom:1px solid #dfe4e8!important}
.course-filters fieldset{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0!important;padding:15px!important;border:0!important;border-bottom:1px solid #dfe4e8!important}
.course-filters fieldset:last-child{border-bottom:0!important}
.course-filters fieldset legend{box-sizing:border-box;float:left;display:block;width:100%;margin:0 0 10px!important;padding:0!important;border:0!important}
.course-filters fieldset legend+*{clear:both}
.course-filters fieldset::after{content:'';display:block;clear:both}
.course-filters label{margin:7px 0!important}


/* v21: desktop 1920–3199 CSS px: prevent enlarged masthead/navigation. */
.topbar-inner{min-height:32px;padding-block:4px;font-size:12px}
.site-header .masthead{min-height:74px;padding-block:10px;gap:18px}
.site-header .brand{display:inline-flex;align-items:center;gap:12px}
.site-header .brand img{width:53px;height:53px;object-fit:contain}
.site-header .brand strong{font-size:27px;line-height:1.1}
.site-header .brand small{font-size:10px;margin-top:4px}
.site-header .header-actions{display:flex;align-items:center;gap:12px}
.site-header .header-course-search{display:flex;align-items:stretch;box-sizing:border-box;flex:0 0 290px;width:290px;height:40px;padding:0;margin:0;gap:0;border:1px solid #cbd4dd}
.site-header .header-course-search input{box-sizing:border-box;flex:1 1 auto;min-width:0;width:0;height:38px;margin:0;padding:8px 11px;border:0;border-radius:0;font-size:13px}
.site-header .header-course-search button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 76px;height:38px;min-height:38px;padding:0 10px;margin:0;border:0;border-radius:0;font-size:12px}
.site-header .header-login{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:40px;min-height:40px;padding:0 17px;margin:0;font-size:12px;line-height:1}
.site-header .nav-row{min-height:46px;gap:clamp(15px,1.35vw,25px)}
.site-header .nav-row a{font-size:12.5px;white-space:nowrap}

/* v22: restore the widescreen masthead's visual weight, without resizing page content. */
.site-header .masthead{min-height:112px;padding-block:15px;gap:30px}
.site-header .brand{gap:17px}
.site-header .brand img{width:76px;height:76px}
.site-header .brand strong{font-size:39px;line-height:1.05}
.site-header .brand small{font-size:12px;margin-top:7px}
.site-header .header-actions{gap:17px}
.site-header .header-course-search{flex:0 0 405px;width:405px;height:53px}
.site-header .header-course-search input{height:51px;padding:10px 16px;font-size:16px}
.site-header .header-course-search button{flex:0 0 100px;height:51px;min-height:51px;font-size:15px}
.site-header .header-login{height:53px;min-height:53px;padding:0 25px;font-size:15px}
.site-header .nav-row{min-height:62px;gap:clamp(24px,1.7vw,40px)}
.site-header .nav-row a{font-size:16px}
