/* Google Sans reading scale: 17px desktop body, 16px phone body,
   16px navigation/actions, and a 14px minimum for supporting text.
   Sizes use rem so browser text-size preferences remain effective. */
body{font-family:"Google Sans","Segoe UI",Arial,sans-serif;font-size:1.0625rem;line-height:1.7;font-optical-sizing:auto;font-kerning:normal}
h1,h2,h3{font-family:inherit;font-weight:600;letter-spacing:-.025em;text-wrap:pretty}
p{ text-wrap:pretty }
.body-lead{font-size:1.125rem;line-height:1.75;max-width:68ch}
.text-muted,.programme-card p,.notice-card p,.programme-detail p,.candidate-card p,.service-update-box p,.contact-page .body-lead,.visit-card>p,.postal p{font-size:1rem;line-height:1.75;max-width:68ch}
.eyebrow,.programme-label,.notice-category,.detail-label,.about-label{font-size:.875rem;font-weight:600;letter-spacing:.065em;line-height:1.6}
.brand-copy p{font-size:1.125rem;font-weight:650;letter-spacing:.025em;line-height:1.45}
.brand-copy>span{font-size:.9375rem;line-height:1.5}
.header-assistance{font-size:.875rem;line-height:1.6}
.header-assistance a{font-size:1rem}
.navbar .nav-link{font-size:1rem;font-weight:500;line-height:1.5;padding:17px 16px!important}
.navbar .nav-item:first-child .nav-link{padding-right:25px!important}
.nav-help{font-size:.9375rem;font-weight:500}
.utility{font-size:.875rem;line-height:1.6}
.utility-inner{min-height:38px}
.service-strip{font-size:.9375rem;line-height:1.65}
.service-strip strong,.service-strip a{font-size:.875rem}
.service-strip strong{letter-spacing:.04em}
.service-strip .container{min-height:45px}
.btn,.text-link,.section-heading>.text-link,.programme-card .text-link{font-size:1rem;font-weight:600;line-height:1.5}
.btn{min-height:46px;padding:12px 21px}
.slide-copy h1{font-size:clamp(2.6rem,3.5vw,3.25rem);font-weight:600;line-height:1.15;letter-spacing:-.03em}
.slide-copy h2{font-size:clamp(2.125rem,2.9vw,2.5rem);font-weight:600;line-height:1.18;letter-spacing:-.025em}
.slide-copy .eyebrow{font-size:.875rem;letter-spacing:.055em;line-height:1.65}
.slide-copy p{font-size:1.0625rem;line-height:1.7;max-width:35ch}
.slide-copy .btn{font-size:1rem}
.gallery-label,.slide-count,.slider-pause{font-size:.875rem;line-height:1.5}
.slider-button{width:44px;height:44px}
.slider-pause{padding:9px 5px;min-height:44px}
.slider-pause .icon{width:18px;height:18px}
.carousel-toolbar>.container{min-height:72px}
.shortcut-grid strong{font-size:1.0625rem;line-height:1.4;font-weight:600}
.shortcut-grid small{font-size:.9375rem;line-height:1.55;color:#596b7d;margin-top:5px}
.section-title{font-size:clamp(1.875rem,2.8vw,2.375rem);line-height:1.25;letter-spacing:-.025em;font-weight:600}
.programme-card h3{font-size:1.375rem;line-height:1.4;max-width:none;font-weight:600}
.programme-detail h2,.candidate-card h2,.service-update-box h2{font-size:1.375rem;line-height:1.4;font-weight:600}
.notice-card h3{font-size:1.375rem;line-height:1.4;font-weight:600}
.focus-list,.support-note{font-size:1rem;line-height:1.7}
.review-date,.breadcrumb{font-size:.9375rem;line-height:1.6}
.contact-banner .eyebrow{font-size:.875rem}
.contact-banner h2{font-size:1.875rem;line-height:1.3;font-weight:600}
.contact-banner p{font-size:1rem;line-height:1.7}
.site-footer{font-size:1rem;color:#c5d2e0}
.footer-brand{font-size:1.875rem;letter-spacing:.035em}
.footer-description,.footer-address,.site-footer .row a{font-size:.9375rem;line-height:1.7}
.footer-tagline,.site-footer h3,.footer-bottom{font-size:.875rem;line-height:1.6}
.site-footer h3{font-weight:600;letter-spacing:.035em}
.footer-bottom{color:#bacbdb}
.page-heading h1{font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.2;letter-spacing:-.025em;font-weight:600}
.page-heading p{font-size:1.0625rem;line-height:1.7;max-width:68ch}
.mission-card h3{font-size:1.375rem;line-height:1.55}
.values-grid h3{font-size:1.0625rem;line-height:1.5}
.values-grid span{font-size:.875rem}
.support-note h2{font-size:1.375rem;line-height:1.4}
.contact-methods h3,.postal span,.copy-feedback{font-size:.875rem;line-height:1.6}
.contact-methods a{font-size:1.125rem;line-height:1.6}
.visit-card h2{font-size:1.5rem;line-height:1.35}
@media(min-width:992px){.hero-slide{height:560px;min-height:560px}.slide-copy{padding-top:26px;padding-bottom:26px}.slide-copy h2{font-size:clamp(2.125rem,2.9vw,2.5rem)}}
@media(min-width:1500px){.hero-slide{height:580px;min-height:580px}}
@media(min-width:992px) and (max-width:1199.98px){.navbar .nav-link{font-size:.9375rem;padding-left:12px!important;padding-right:12px!important}.nav-help{font-size:.875rem}.brand-copy p{font-size:1rem}.header-assistance a{font-size:.9375rem}}
@media(max-width:991.98px){.navbar .nav-link,.navbar .nav-item:first-child .nav-link{font-size:1rem;padding:12px 0!important}.mobile-nav-label{font-size:1rem}.nav-help{font-size:1rem}.section-heading>.text-link{font-size:1rem}.programme-card .text-link{font-size:1rem}.brand-copy p{font-size:1.0625rem}.slide-copy h1,.slide-copy h2{font-size:2.375rem;line-height:1.2}.slide-copy .eyebrow{font-size:.875rem}.slide-copy p{font-size:1.0625rem}.slider-pause{font-size:.875rem}}
@media(max-width:767.98px){
 body{font-size:1rem;line-height:1.7}
 .body-lead{font-size:1.0625rem}
 .brand-row{gap:14px;min-height:128px;padding-top:15px;padding-bottom:15px}
 .logo-link img{width:140px}
 .brand-copy{padding-left:13px}
 .brand-copy p{font-size:.875rem;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:600}
 .brand-copy>span{display:none}
 .utility-contact{font-size:.875rem;flex-wrap:wrap;gap:4px 16px;justify-content:center;padding:7px 0}
 .utility-inner{min-height:38px}
 .service-strip .container{gap:6px 9px;padding-top:11px;padding-bottom:11px;font-size:.875rem;line-height:1.6}
 .service-strip strong,.service-strip a{font-size:.875rem}
 .service-strip .container>span:not(.service-dot){flex:1 1 60%}
 .slide-copy{min-height:420px;padding:29px 23px 32px}
 .slide-copy h1,.slide-copy h2{font-size:2.125rem;line-height:1.2;margin-bottom:18px}
 .slide-copy .eyebrow{font-size:.875rem;letter-spacing:.04em;margin-bottom:17px}
 .slide-copy p{font-size:1rem;line-height:1.75;margin-bottom:23px}
 .slide-copy .btn{font-size:1rem;padding:12px 19px}
 .carousel-toolbar>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding-top:15px;padding-bottom:15px}
 .gallery-label{grid-column:1/-1;font-size:.875rem;line-height:1.55}
 .carousel-indicators{margin:0;justify-content:flex-start;gap:9px}
 .carousel-indicators [data-bs-target]{width:8px;height:8px}
 .carousel-indicators .active{width:25px}
 .slide-count{font-size:.875rem;justify-self:end}
 .slider-controls{gap:8px;justify-self:start}
 .slider-pause{font-size:.875rem;justify-self:end;gap:6px;padding-right:0}
 .slider-pause .icon{width:17px;height:17px}
 .shortcut-grid strong{font-size:1rem}.shortcut-grid small{font-size:.9375rem}
 .section-title{font-size:1.875rem;line-height:1.3}
 .programme-card h3{font-size:1.375rem;line-height:1.35}
 .programme-label,.eyebrow,.notice-category,.detail-label{font-size:.875rem;letter-spacing:.05em}
 .notice-card h3{font-size:1.25rem}.notice-card p{font-size:1rem}
 .contact-banner h2{font-size:1.625rem;line-height:1.35}.contact-banner p{font-size:1rem}
 .contact-banner .btn{font-size:1rem}
 .site-footer h3{font-size:.875rem;letter-spacing:.025em}
 .site-footer .row a,.footer-description,.footer-address{font-size:.9375rem}
 .footer-bottom{font-size:.875rem;line-height:1.7}
 .footer-bottom>span{margin-top:10px}
 .page-heading h1{font-size:2rem;line-height:1.25}
 .page-heading p{font-size:1rem}.breadcrumb{font-size:.875rem}
 .mission-card h3{font-size:1.25rem;line-height:1.6}
 .values-grid h3{font-size:1rem}.values-grid>div{gap:10px}
 .programme-detail h2,.candidate-card h2,.service-update-box h2{font-size:1.25rem;line-height:1.45}
 .support-note,.focus-list{font-size:1rem}
 .contact-methods a{font-size:1.0625rem}
 .contact-actions .btn{font-size:1rem}
 .visit-card>p,.postal p{font-size:1rem}
}
@media(max-width:359.98px){.brand-row{gap:11px}.logo-link img{width:108px}.brand-copy{padding-left:11px}.contact-methods .contact-separator{display:none}.contact-methods a{display:block}.values-grid{grid-template-columns:1fr}.slide-copy h1,.slide-copy h2{font-size:2rem}.slide-copy{min-height:450px}}
