:root{--aero-green:#0c733c;--aero-light:#5ac18a}html{scroll-behavior:smooth;scroll-padding-top:155px}body.static-site{margin:0;color:#5d5d5d;background:white;font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.7}*{box-sizing:border-box}img{max-width:100%;height:auto}a{color:#0c733c}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #257ec1;outline-offset:4px}h1,h2,h3,h4,h5,h6{font-family:Montserrat,Arial,sans-serif}h1{font-size:36px}h2{font-size:28px}h3{font-size:24px}p{line-height:1.7}.skip-link{position:absolute;left:12px;top:-100px;z-index:200;background:white;padding:10px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 8px #0002}.header-inner{max-width:1200px;min-height:138px;margin:auto;padding:20px 16px;display:flex;align-items:center;justify-content:space-between;gap:40px}.site-logo{flex-shrink:0}.site-logo img{display:block;width:180px;height:90px;object-fit:contain}#main-menu>ul{display:flex;gap:20px;margin:0;padding:0;align-items:center;list-style:none}#main-menu a{font-family:Montserrat,Arial,sans-serif;font-size:15px;color:#0c733c;text-transform:uppercase;white-space:nowrap}#main-menu a:hover{color:#000}#main-menu li{list-style:none}.menu-toggle{display:none}.menu-pair{display:flex;align-items:center}.submenu-toggle{font-size:12px;padding:6px;margin:0;background:transparent;color:#0c733c;line-height:1;border:0;cursor:pointer}.has-submenu{position:relative}.submenu{display:none;position:absolute;top:100%;left:-14px;width:345px;margin:0;padding:10px 0;background:white;box-shadow:0 5px 20px #0002;border-top:3px solid #5ac18a}.submenu li a{display:block;white-space:normal!important;font-size:13px!important;padding:8px 16px}.has-submenu:hover .submenu,.has-submenu:focus-within .submenu,.has-submenu.is-open .submenu{display:block}.button,.small-button{background:#0c733c;border:1px solid white;border-radius:10px;color:white!important;font-family:Montserrat,Arial,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.3px;padding:14px 24px;display:inline-block;cursor:pointer;text-decoration:none}.button:hover,.small-button:hover{background:#084f29;color:white}.small-button{padding:9px 16px}.static-title{background:linear-gradient(110deg,#103e2e,#23845a);color:white;padding:48px 24px;margin-bottom:45px}.static-title>div{max-width:1200px;margin:auto}.static-title h1{color:white;font-size:36px;line-height:1.3}.static-title a{color:white}.static-title+div.elementor{padding-bottom:40px}main{overflow:clip}.elementor-7 .elementor-element-c91172d{margin-top:0!important}.elementor-7 .elementor-element-c91172d>.elementor-container{max-width:none!important}.elementor-7 .elementor-element-c91172d .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0}.aero-hero{width:100%;position:relative;min-height:540px;height:clamp(540px,40vw,770px);background:#124b35;isolation:isolate}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-position:center;background-size:cover;opacity:0;visibility:hidden;transition:opacity .6s}.hero-slide.active{opacity:1;visibility:visible}.hero-slide:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#001c2055,transparent 70%)}.hero-content{position:relative;width:min(1200px,88%);margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:100px}.hero-title{color:white;font-family:Montserrat,Arial,sans-serif;font-size:clamp(32px,3vw,56px);font-weight:700;line-height:1.15;background:#5ac18a88;border-radius:10px;padding:12px;max-width:620px}.hero-action{text-align:center;color:white;max-width:420px}.hero-action .button{background:#43d660;border:2px solid #a2deb3;min-width:300px;font-weight:700}.hero-action p{margin-top:24px;color:white;font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:4px}.hero-controls{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2}.hero-controls button{background:#083f2cd9;color:white;border:1px solid white;border-radius:5px;padding:6px 13px;line-height:1.3;cursor:pointer}.information-boxes h3,.information-boxes p{color:white}.information-boxes a{color:white}.information-boxes .elementor-widget-container{text-align:center}.elementor-7>.elementor-section:nth-child(3){max-width:1500px;margin-left:auto;margin-right:auto}.elementor-testimonial__header{display:flex;align-items:center;gap:20px}.elementor-testimonial__name{font-size:25px;font-style:normal;font-weight:600}.elementor-testimonial__title{display:block;font-size:18px}.elementor-testimonial__text{font-size:17px;line-height:1.75}.elementor-testimonial__image img{max-width:100px}.elementor-widget-reviews{padding:30px}.elementor-widget-reviews .swiper-wrapper{display:block!important;transform:none!important;height:auto!important}.elementor-widget-reviews .swiper-slide{width:100%!important}.elementor-widget-reviews .elementor-swiper-button,.elementor-widget-reviews .swiper-pagination{display:none}.elementor-widget-image-carousel .swiper-wrapper{display:flex;gap:30px;align-items:center;justify-content:center;transform:none!important}.elementor-widget-image-carousel .swiper-slide{width:auto!important;max-width:28%}.elementor-widget-image-carousel img{width:240px;max-height:140px;object-fit:contain}.elementor-widget-image-carousel .elementor-swiper-button,.elementor-widget-image-carousel .swiper-pagination{display:none}.teacher-thumb img{width:100%;aspect-ratio:1;object-fit:cover}.teacher{overflow:hidden;border-radius:8px}.teacher-meta{padding:20px 10px}.teacher-meta h3{font-size:22px}.static-enquiry{width:min(680px,100%);margin:0 auto;color:inherit}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.enquiry-fields label{display:block;font-size:14px;color:inherit;font-weight:600}.enquiry-fields .full{grid-column:1/-1}.enquiry-fields input,.enquiry-fields textarea{background:white;border:1px solid #b7d4c6;border-radius:6px;padding:12px;color:#27372e;width:100%;margin:4px 0 0;font:16px Arial,sans-serif}.enquiry-fields input{height:48px}.enquiry-fields textarea{min-height:130px;resize:vertical}.form-explainer{font-size:14px;color:inherit}.static-enquiry .form-status{font-size:14px}.static-enquiry a{color:inherit;text-decoration:underline}.static-cta{background:#f5f8f6;display:flex;align-items:center;justify-content:space-between;padding:40px max(5vw,24px);gap:30px}.static-cta h2{font-size:24px;font-weight:400;margin:0}.static-cta h2 span{color:#0c733c}.newsletter{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:1200px;margin:auto;padding:45px 20px}.newsletter h2{font-size:20px;font-weight:400}.newsletter p{font-size:14px}.newsletter .button{flex-shrink:0}.site-footer{background-size:cover;color:white}.site-footer h2{font-size:21px;color:white}.site-footer a{color:#9fe0ba}.footer-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:60px;padding:65px 20px}.footer-grid p,.footer-grid li{font-size:15px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin-bottom:10px}.footer-bottom{border-top:1px solid #ffffff30;padding:22px max(5vw,24px);display:flex;justify-content:space-between;gap:20px;font-size:14px}.footer-bottom nav{display:flex;gap:20px}.classic-content,.article-content,.archive-content,.course-layout,.profile-layout{max-width:1200px;margin:0 auto 60px;padding:0 24px}.classic-content .classic-content{padding:0}.classic-content h2,.classic-content h3{margin-top:30px}.article-content{max-width:1050px}.article-content>.classic-content{padding:0}.article-cover{max-height:520px;width:100%;object-fit:cover;margin-bottom:35px}.static-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.static-card{box-shadow:0 2px 15px #0001;border:1px solid #e3eee7;border-radius:8px;overflow:hidden;background:white;display:flex;flex-direction:column}.static-card>a>img{width:100%;height:240px;object-fit:cover}.card-copy{padding:24px;flex:1}.card-copy h2{font-size:21px;line-height:1.45}.card-copy p{font-size:15px}.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:50px}.profile-layout>.classic-content,.profile-layout article>.classic-content{padding:0}.profile-layout aside img{border-radius:8px;width:100%;object-fit:cover}.profile-layout aside h2{font-size:24px;margin-top:25px}.skill{margin-bottom:20px}.skill meter{display:block;width:100%;height:20px}.course-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:45px}.course-layout .classic-content{padding:0}.course-cover{width:100%;max-height:450px;object-fit:cover;margin-bottom:30px}.course-details{background:#eef7f0;padding:26px;border-radius:8px;align-self:start}.course-details h2{font-size:24px}.course-details h3{font-size:18px}.course-details li{font-size:15px}.static-logos{display:flex;align-items:center;justify-content:center;gap:30px}.static-logos img{max-width:27%}.static-review{padding:30px}.static-review img{max-width:100px}.static-review cite{display:block;font-size:24px}.static-review cite span{display:block;font-size:16px}.video-placeholder{background:#e9f6ec;text-align:center;padding:45px;border-radius:8px}.static-site .elementor-widget-video .elementor-wrapper{aspect-ratio:auto}.static-site .elementor-widget-container .wpcf7{display:none}
@media(max-width:1100px){.header-inner{min-height:110px;gap:20px}#main-menu>ul{gap:12px}#main-menu a{font-size:12px}.site-logo img{width:160px;height:80px}.hero-content{gap:25px}.hero-action .button{min-width:240px}.information-boxes .elementor-widget-container{padding:25px!important}.static-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){html{scroll-padding-top:100px}.header-inner{min-height:92px;padding:10px 20px;flex-wrap:wrap}.site-logo img{height:70px;width:140px}.menu-toggle{display:block;background:#0c733c;color:white;border:0;border-radius:5px;padding:10px 14px;cursor:pointer}.menu-toggle span{margin-left:6px}#main-menu{display:none;width:100%}#main-menu.is-open{display:block}#main-menu>ul{display:block}#main-menu a{font-size:14px;display:block;padding:10px}#main-menu .submenu{position:static;width:100%;box-shadow:none;border-top:0;padding-left:12px}.menu-pair{justify-content:space-between}.submenu-toggle{padding:14px}.has-submenu:hover .submenu{display:none}.has-submenu.is-open .submenu,.has-submenu:focus-within .submenu{display:block}.aero-hero{height:600px;min-height:500px}.hero-content{padding:50px 0 70px;flex-direction:column;justify-content:center;gap:25px}.hero-title{font-size:34px;text-align:center;max-width:95%}.hero-action p{letter-spacing:2px;font-size:14px}.information-boxes .elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important}.information-boxes .elementor-column{width:100%!important}.elementor-7 .elementor-element-4aa2b141{margin-bottom:45px!important}.static-title{padding:30px 22px}.static-title h1{font-size:28px}.static-cta,.newsletter,.footer-bottom{flex-direction:column;text-align:center}.footer-grid{grid-template-columns:1fr;gap:25px;padding:40px 25px}.footer-bottom nav{justify-content:center}.static-grid{grid-template-columns:1fr}.enquiry-fields{grid-template-columns:1fr}.profile-layout,.course-layout{grid-template-columns:1fr;gap:30px}.profile-layout aside{max-width:300px;margin:auto}.elementor-widget-image-carousel .swiper-wrapper{gap:12px}.elementor-widget-reviews{padding:15px}.elementor-testimonial__header{flex-wrap:wrap}.elementor-testimonial__name{font-size:22px}.elementor-testimonial__title{font-size:15px}.elementor-testimonial__text{font-size:16px}.static-site .elementor-heading-title{overflow-wrap:anywhere}.static-site .e-con{--container-max-width:100%;max-width:100%}.static-site .elementor-widget-image-box .elementor-image-box-wrapper,.static-site .elementor-widget-icon-box .elementor-icon-box-wrapper{display:block}.static-site .elementor-image-box-img{max-width:100%;margin:0 auto 20px!important}.static-site .elementor-image-box-content{max-width:100%}}
@media(max-width:480px){.information-boxes .elementor-container{grid-template-columns:1fr!important}.hero-title{font-size:30px}.aero-hero{height:550px}.static-cta h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{transition:none}}
/* Layout adjustments for the standalone contact section and rating icons. */
.elementor-7 .elementor-element-472114f{--flex-direction:column;--align-items:center}.elementor-7 .elementor-element-472114f>.e-con-inner{flex-direction:column;align-items:center}.elementor-7 .elementor-element-472114f .elementor-widget-shortcode{width:min(680px,100%);max-width:100%}.elementor-7 .elementor-element-472114f .elementor-widget-heading{width:100%;text-align:center}.elementor-testimonial__rating{display:none}.elementor-testimonial__name:after{content:' ★★★★★';display:inline-block;color:#0c733c;font-size:16px;letter-spacing:2px}.static-site .elementor-testimonial__header{margin-bottom:20px}
@media(max-width:780px){.static-site .elementor-element-472114f{padding:35px 20px!important}.static-site .elementor-element-472114f .elementor-widget-container{padding:0!important}}
/* Keep text-only service pages readable without their former editor runtime. */
.elementor-2973,.elementor-2987,.elementor-2997,.elementor-3008,.elementor-3017,.elementor-3063,.elementor-3069,.elementor-3075{max-width:1200px;margin:0 auto;padding:0 24px 45px}.static-enquiry{background:#fffffff2;color:#18432d;border-radius:8px;padding:24px}.static-enquiry p,.static-enquiry label,.static-enquiry a{color:#18432d!important}.static-enquiry .button{color:white!important}.site-header{isolation:isolate}
.classic-content .columns{float:none!important;width:100%!important;max-width:none!important;padding:0!important}.classic-content:after{content:'';display:block;clear:both}.course-layout article>section{clear:both;margin-top:35px}.course-layout article>section h2{font-size:26px}.profile-layout .classic-content .columns{float:none!important;width:100%!important}
/* Improve footer text contrast against the dark green background. */
.static-site .site-footer,.static-site .site-footer p,.static-site .site-footer li,.static-site .site-footer .footer-bottom,.static-site .site-footer .footer-bottom span{color:#e7f0eb}.static-site .site-footer h2{color:#ffffff}.static-site .site-footer a{color:#c6efd7}.static-site .site-footer a:hover,.static-site .site-footer a:focus-visible{color:#ffffff}
/* Larger, readable navigation and a persistent mobile header. */
@media(max-width:780px){
 html{scroll-padding-top:112px}
 body.static-site{font-size:17px;line-height:1.75}
 .static-site .site-header{position:sticky!important;top:0!important;z-index:1000;width:100%;background:#fff;box-shadow:0 2px 10px #0002}
 .static-site .header-inner{min-height:108px;padding:10px 16px;gap:12px}
 .static-site .site-logo img{width:190px;height:88px;max-width:100%;object-fit:contain}
 .static-site .menu-toggle{font-size:17px;line-height:1.4;padding:12px 16px;min-height:48px}
 .static-site #main-menu{max-height:calc(100dvh - 108px);overflow-y:auto;overscroll-behavior:contain}
 .static-site #main-menu a{font-size:17px;line-height:1.5;padding:12px 10px;white-space:normal}
 .static-site #main-menu .submenu li a{font-size:16px!important;padding:11px 14px}
 .static-site .submenu-toggle{min-width:44px;min-height:44px;font-size:16px}
 .static-site .classic-content,.static-site .elementor-widget-text-editor,.static-site .elementor-icon-box-description,.static-site .elementor-image-box-description,.static-site .card-copy p,.static-site .course-details li,.static-site .site-footer p,.static-site .site-footer li{font-size:17px;line-height:1.75}
 .static-site .footer-bottom{font-size:16px}
 .static-site .footer-grid h2{font-size:24px}
 .static-site .newsletter p,.static-site .form-explainer,.static-site .form-status{font-size:16px}
 .static-site .button,.static-site .small-button{font-size:14px;line-height:1.5;min-height:46px}
 .static-site .hero-action .button{min-width:0;max-width:100%}
 .static-site .enquiry-fields label{font-size:16px}
}
@media(max-width:360px){.static-site .site-logo img{width:165px}.static-site .menu-toggle{padding:12px}.static-site .header-inner{padding-inline:12px}}
@media(min-width:1101px){.static-site .header-inner{max-width:1400px;min-height:150px;gap:36px}.static-site .site-logo img{width:220px;height:110px}.static-site #main-menu>ul{gap:22px}.static-site #main-menu a{font-size:17px}}
@media(min-width:781px) and (max-width:1100px){.static-site .site-logo img{width:185px;height:90px}.static-site #main-menu a{font-size:14px}.static-site #main-menu>ul{gap:12px}}
/* Let the sticky header follow the full document rather than one viewport. */
html{height:auto;min-height:100%}body.static-site{height:auto!important;min-height:100vh}

/* Campaign Monitor newsletter */
.newsletter{align-items:flex-start}.newsletter>div{flex:1}.newsletter-form{flex:1.4;width:100%;max-width:650px;text-align:left}.newsletter-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.newsletter-form label{display:block;font-size:16px;font-weight:600;color:#3d5145}.newsletter-fields input{width:100%;min-height:48px;background:#fff;border:1px solid #9db9a8;border-radius:6px;padding:12px;font:17px Arial,sans-serif;color:#27372e}.newsletter-consent{display:flex;gap:10px;align-items:center;margin-top:18px}.newsletter-consent input{width:20px;height:20px;flex-shrink:0;accent-color:#0c733c}.newsletter-consent label{margin:0}.newsletter .newsletter-privacy{font-size:15px;margin:10px 0 18px}.newsletter-privacy a{text-decoration:underline}.newsletter-form .button{font-size:15px;min-height:48px}@media(max-width:780px){.newsletter{align-items:stretch}.newsletter h2{font-size:26px}.newsletter-fields{grid-template-columns:1fr}.newsletter-form{max-width:none}.newsletter-form .button{width:100%}}

.enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.static-enquiry button:disabled{opacity:.65;cursor:wait}

/* Use the Oxford green palette for every button hover state. */
body.static-site button:hover,body.static-site button:focus,body.static-site button:active,body.static-site input[type="submit"]:hover,body.static-site input[type="button"]:hover,body.static-site .button:hover,body.static-site .button:focus,body.static-site .small-button:hover,body.static-site .small-button:focus,body.static-site .elementor-button:hover,body.static-site .elementor-button:focus,body.static-site a[class*="button"]:hover,body.static-site a[class*="btn"]:hover,body.static-site [role="button"]:hover{background-color:#084f29!important;background-image:none!important;border-color:#084f29!important;color:#fff!important;box-shadow:none!important}
body.static-site .submenu-toggle:hover,body.static-site .submenu-toggle:focus{background-color:#e4f3e9!important;color:#084f29!important}
body.static-site button:focus-visible,body.static-site a:focus-visible,body.static-site input:focus-visible,body.static-site textarea:focus-visible{outline-color:#0c733c!important}

/* Review: consistent hierarchy, contrast and comfortable reading. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.static-site .button,.static-site .small-button,.static-site .elementor-button{font-size:14px;line-height:1.4;font-weight:600;letter-spacing:.2px;min-height:46px;border-radius:6px;transition:background-color .18s ease,color .18s ease}
.static-site .hero-action .button{background:#0c733c;border-color:#fff;font-size:15px;max-width:100%;min-width:0;padding:15px 24px;box-shadow:0 3px 12px #0002}
.static-site .hero-title{background:#084f29c9;line-height:1.2}
.static-site .hero-action p{text-shadow:0 1px 4px #000;letter-spacing:2px}
.static-site .information-boxes .elementor-column>.elementor-element-populated{background-color:#145b40!important;background-blend-mode:multiply}
.static-site .information-boxes h3{font-size:25px;line-height:1.3}.static-site .information-boxes p{font-size:17px;line-height:1.75}
.static-site .static-card .card-copy h2{font-size:22px!important;line-height:1.4!important;margin:0 0 16px!important;font-weight:600}
.static-site .static-card .card-copy p{font-size:16px;line-height:1.7;color:#526159}
.static-site .static-card{transition:box-shadow .18s ease;border-color:#dce7df}.static-site .static-card:focus-within,.static-site .static-card:hover{box-shadow:0 6px 22px #163c2720}
.static-site .static-card .small-button{margin-top:12px}
.static-site .article-content p,.static-site .classic-content p{line-height:1.8}.static-site .article-content{max-width:960px}
.static-site[data-page="/our-services/"] .elementor-icon-box-title,.static-site[data-page="/our-services/"] .elementor-icon-box-title a{color:#0c733c!important;font-size:19px!important;line-height:1.45!important;font-weight:600}
.static-site[data-page="/our-services/"] .elementor-icon-box-description{text-align:left;font-size:17px!important;line-height:1.8!important;color:#46574d!important}
.static-site .site-footer a:hover,.static-site .site-footer a:focus-visible{text-decoration:underline}
.static-site #main-menu a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#0c733c}
.static-site .newsletter{border-top:1px solid #e4ece7}.static-site .newsletter h2{font-size:26px;line-height:1.4;color:#173f2c}.static-site .newsletter p{color:#526159}
.static-site .static-cta h2{font-size:25px;line-height:1.5}.static-site .static-cta h2 span{display:block;font-size:17px}
.static-site .static-enquiry{border-radius:10px}.static-site .form-status:not(:empty){padding:12px 14px;border-left:4px solid #0c733c;background:#edf7f0;color:#173f2c}
@media(max-width:780px){.static-site .static-card .card-copy h2{font-size:23px!important}.static-site .static-title h1{font-size:29px!important;line-height:1.3!important}.static-site .information-boxes .elementor-container{grid-template-columns:1fr!important}.static-site .hero-title{font-size:32px}.static-site .hero-action{width:100%;padding:0 14px}.static-site .hero-action .button{width:100%;max-width:340px}.static-site .hero-controls button{min-width:44px;min-height:44px}.static-site .newsletter{padding:36px 20px}.static-site .footer-bottom{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.static-site *{transition:none!important}}
