:root{--ink:#171a19;--muted:#747a77;--line:#d9ddda;--paper:#f4f5f3;--green:#a8ff3e;--dark:#202522;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,245,243,.92);backdrop-filter:blur(14px);z-index:20}.brand{font-size:1.5rem;font-weight:800;letter-spacing:-.06em}.pulse{color:#6cc600;font-size:1.8rem;margin-right:.25rem}.site-header nav{display:flex;gap:2rem;font-size:.85rem;font-weight:600}.site-header nav a:hover{color:#4e8f00}.menu{display:none;border:1px solid var(--line);background:none;padding:.6rem .8rem;font:inherit}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.08fr .92fr;padding:7vw 5vw 5vw;overflow:hidden}.eyebrow,.section-number{font-size:.7rem;font-weight:800;letter-spacing:.18em;color:#628f2d}.hero h1,.statement h2,.section-head h2,.beach h2,.camp-card h2,.contact h2{font-size:clamp(2.8rem,5.6vw,6.2rem);line-height:.98;letter-spacing:-.065em;margin:1.4rem 0 2rem}.hero h1 em,.beach h2 em{font-style:normal;color:#648f32}.lead{font-size:1.1rem;line-height:1.7;max-width:650px;color:#565d59}.actions{display:flex;gap:1rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);padding:1rem 1.4rem;font-weight:700;font-size:.85rem;cursor:pointer}.primary{background:var(--ink);color:white}.primary:hover{background:#426b13}.ghost:hover{background:white}.hero-visual{position:relative;min-height:480px}.ring{position:absolute;width:430px;height:430px;border:55px solid var(--green);border-radius:50%;right:-50px;top:20px;box-shadow:0 0 80px rgba(168,255,62,.28)}.grid{position:absolute;inset:60px 0 0 20%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}.score{position:absolute;z-index:2;right:4%;top:32%;background:rgba(32,37,34,.94);color:white;padding:2rem;width:230px}.score span,.score small{display:block;font-size:.58rem;letter-spacing:.12em;color:#bfc5c1}.score strong{font-size:5.5rem;line-height:1;color:var(--green)}.statement,.services,.camps,.contact{padding:8vw 5vw}.statement{background:white}.statement h2{font-size:clamp(2.3rem,4.5vw,5rem)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-left:34%;line-height:1.8;color:#545a57}.services{background:#e8eae7}.section-head{display:flex;justify-content:space-between;align-items:flex-start}.section-head h2{font-size:clamp(2.3rem,4.5vw,5rem);margin-top:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #bcc1bd}.service-grid article{padding:3rem 3rem 3rem 0;border-bottom:1px solid #bcc1bd}.service-grid article:nth-child(even){padding-left:3rem;border-left:1px solid #bcc1bd}.service-grid span{font-size:.7rem;color:#6d746f}.service-grid h3{font-size:1.65rem;margin:1.4rem 0}.service-grid p{line-height:1.7;color:#5e6561}.service-grid a{display:inline-block;margin-top:1.2rem;font-size:.8rem;font-weight:700}.beach{padding:8vw 5vw;background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.beach h2{font-size:clamp(2.5rem,4.8vw,5.3rem)}.beach p:not(.section-number){max-width:600px;line-height:1.8;color:#bdc4c0}.light{margin-top:2rem;background:white;color:var(--ink)}.court{min-height:500px;border:2px solid rgba(168,255,62,.7);position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#4d6f38,#19241b)}.court:before,.court:after{content:"";position:absolute;background:rgba(255,255,255,.65)}.court:before{width:2px;height:100%;left:50%}.court:after{height:2px;width:100%;top:50%}.court b{z-index:2;text-align:center;font-size:1.25rem;letter-spacing:.15em;background:var(--dark);padding:1.5rem}.camp-card{margin-top:3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5vw 0;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.camp-card h2{font-size:clamp(2.3rem,4.6vw,5rem);margin-bottom:1.3rem}.camp-card p{max-width:650px;line-height:1.7}.contact{background:#d6d9d6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2{font-size:clamp(2.6rem,4.7vw,5.2rem)}.contact p{line-height:1.7;max-width:560px}.contact form{display:grid;gap:1.3rem}.contact label{font-size:.72rem;font-weight:700;letter-spacing:.08em}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:.5rem;border:0;border-bottom:1px solid #8a918c;background:transparent;padding:.8rem 0;font:inherit;border-radius:0}.contact textarea{resize:vertical}.contact button{width:max-content}footer{padding:3rem 5vw;background:#151816;color:white;display:flex;justify-content:space-between;align-items:center;font-size:.75rem}footer p{color:#aab0ac}@media(max-width:820px){.site-header{height:70px}.menu{display:block}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:1.5rem 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:18vw}.hero-visual{min-height:380px}.ring{width:300px;height:300px;border-width:42px}.two-col{margin-left:0;grid-template-columns:1fr}.section-head,.camp-card{display:block}.service-grid,.beach,.contact-grid{grid-template-columns:1fr}.service-grid article:nth-child(even){padding-left:0;border-left:0}.court{min-height:340px;margin-top:3rem}footer{align-items:flex-start;flex-direction:column;gap:.5rem}.actions{flex-direction:column;align-items:stretch}.hero h1{font-size:clamp(2.7rem,13vw,4.5rem)}}
/* Efficacy identity and assessment */
.brand-logo{position:relative;display:block;width:180px;height:50px;overflow:hidden;background:#91b09b;flex:0 0 auto}.brand-logo img{position:absolute;width:257px;height:257px;max-width:none;left:-39px;top:-104px}.assessment{padding:8vw 5vw;background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.assessment h2{font-size:clamp(2.5rem,4.8vw,5.3rem);line-height:.98;letter-spacing:-.065em;margin:1.4rem 0 2rem}.assessment>div>p:not(.section-number){max-width:650px;line-height:1.8;color:#bdc4c0}.assessment-flow{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #56605a;border-left:1px solid #56605a}.assessment-flow article{min-height:190px;padding:2rem;border-right:1px solid #56605a;border-bottom:1px solid #56605a;display:flex;flex-direction:column}.assessment-flow span{font-size:.65rem;color:var(--green)}.assessment-flow strong{font-size:1.75rem;margin:auto 0 .65rem}.assessment-flow small{font-size:.78rem;line-height:1.5;color:#bfc5c1}footer .brand-logo{width:145px;height:41px}footer .brand-logo img{width:207px;height:207px;left:-31px;top:-84px}@media(max-width:820px){.brand-logo{width:145px;height:41px}.brand-logo img{width:207px;height:207px;left:-31px;top:-84px}.assessment{grid-template-columns:1fr}.assessment-flow{margin-top:2rem}.site-header nav{max-height:calc(100vh - 70px);overflow:auto}}
.bio-copy{max-width:900px;margin-left:24%;font-size:1rem;line-height:1.85;color:#545a57}.bio-copy p{margin:0 0 1.25rem}.bio-copy .bio-method{margin-top:2rem;color:var(--ink);font-weight:800;letter-spacing:.06em}@media(max-width:820px){.bio-copy{margin-left:0}}
.experience-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-strip article{padding:2rem;border-right:1px solid var(--line)}.experience-strip article:last-child{border-right:0}.experience-strip strong,.experience-strip span{display:block}.experience-strip strong{font-size:2rem;letter-spacing:-.04em}.experience-strip span{margin-top:.65rem;font-size:.76rem;line-height:1.5;color:var(--muted)}.starting-points{padding:8vw 5vw;background:#f4f5f3}.starting-grid{display:grid;grid-template-columns:repeat(5,1fr);margin:2rem 0 3rem;border-top:1px solid #bcc1bd;border-bottom:1px solid #bcc1bd}.starting-grid article{min-height:220px;padding:2rem 1.5rem;border-right:1px solid #bcc1bd}.starting-grid article:last-child{border-right:0}.starting-grid span{font-size:.7rem;color:#628f2d}.starting-grid p{margin-top:3rem;line-height:1.65;font-weight:600}.contact-details{margin-top:2.5rem;border-top:1px solid #9ca29e;max-width:560px}.contact-details p{display:grid;grid-template-columns:110px 1fr;margin:0;padding:1rem 0;border-bottom:1px solid #9ca29e}.contact-details span{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-details a{text-decoration:underline;text-underline-offset:.2em}@media(max-width:1000px){.starting-grid{grid-template-columns:repeat(2,1fr)}.starting-grid article{border-bottom:1px solid #bcc1bd}.starting-grid article:nth-child(even){border-right:0}}@media(max-width:820px){.experience-strip{grid-template-columns:1fr 1fr}.experience-strip article:nth-child(even){border-right:0}.experience-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.starting-grid{grid-template-columns:1fr}.starting-grid article{min-height:auto;border-right:0}.starting-grid p{margin-top:1.5rem}.contact-details p{grid-template-columns:1fr;gap:.35rem}}
.faq{padding:8vw 5vw;background:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq h2{font-size:clamp(2.3rem,4.5vw,5rem);line-height:.98;letter-spacing:-.065em;margin:1.4rem 0 2rem}.faq-intro>p:not(.section-number){max-width:460px;line-height:1.7;color:#5e6561}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;padding:1.5rem 3rem 1.5rem 0;font-weight:700;line-height:1.5;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:.25rem;top:1.15rem;font-size:1.8rem;font-weight:400;color:#628f2d}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 3rem 1.5rem 0;line-height:1.75;color:#5e6561}@media(max-width:820px){.faq{grid-template-columns:1fr}.faq summary{padding-right:2.5rem}.faq details p{padding-right:0}}
.inner-hero{padding:7vw 5vw 6vw;background:var(--dark);color:white}.inner-hero .back-link{display:inline-block;margin-bottom:4rem;font-size:.8rem;color:#c7cec9}.inner-hero h1{max-width:1000px;margin:1.2rem 0 2rem;font-size:clamp(3rem,6vw,6.5rem);line-height:.96;letter-spacing:-.065em}.inner-hero h1 em{font-style:normal;color:var(--green)}.inner-hero .lead{color:#c3cac6}.service-directory{padding:7vw 5vw;background:white}.directory-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;margin-bottom:5rem}.directory-intro h2{margin:0;font-size:clamp(2.3rem,4.5vw,5rem);line-height:.98;letter-spacing:-.065em}.directory-intro p{margin:0;max-width:700px;line-height:1.8;color:#5e6561}.service-detail{scroll-margin-top:100px;display:grid;grid-template-columns:90px .8fr 1.2fr;gap:3vw;padding:3.5rem 0;border-top:1px solid var(--line)}.service-detail>span{font-size:.7rem;color:#628f2d}.service-detail h2{margin:0;font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.04em}.service-detail h3{margin:0 0 1rem;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.service-detail p,.service-detail li{line-height:1.75;color:#5e6561}.service-detail ul{padding-left:1.2rem;margin:1rem 0 0}.services-cta{padding:7vw 5vw;background:#d6d9d6;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.services-cta h2{margin:0;font-size:clamp(2.3rem,4.5vw,5rem);line-height:.98;letter-spacing:-.065em}@media(max-width:820px){.directory-intro,.service-detail{grid-template-columns:1fr}.service-detail{gap:1rem}.service-detail>span{margin-bottom:.5rem}.services-cta{display:block}.services-cta .button{margin-top:2rem}}
/* Graphite and teal Efficacy visual system */
:root{--ink:#1b2225;--muted:#687377;--line:#d4dddc;--paper:#f3f6f5;--green:#20d2c3;--dark:#182023;--white:#fff}.site-header{background:rgba(243,246,245,.94)}.brand-logo svg path{stroke:#16a99d}.section-number,.eyebrow,.service-detail>span,.starting-grid span{color:#0d8f87}.assessment .section-number{color:#55eadf}.hero h1 em,.inner-hero h1 em{color:#0fa99e}.primary:hover{background:#087d76}.site-header nav a:hover{color:#087d76}.ring{border-color:#20d2c3;box-shadow:0 0 90px rgba(32,210,195,.22)}.score strong{color:#55eadf}.assessment{background:#182023}.services-cta,.contact{background:#dbe5e3}.brand-logo svg path{stroke:#16a99d}footer .brand-logo svg path{stroke:#55eadf}
/* Compact, centrally placed programme banner */
.funding-banner{padding:.3rem 1rem .25rem}.funding-banner>a{max-width:760px}.funding-banner img{width:100%;height:auto;max-height:none}.funding-banner p{margin:.2rem 0 0;font-size:.75rem}@media(max-width:820px){.funding-banner{padding:.25rem .5rem .2rem}.funding-banner>a{max-width:100%}.funding-banner img{max-height:none}.funding-banner p{font-size:.7rem}}
/* Refined wordmark: original site type with the Efficacy pulse */
.brand-logo,.site-header .brand-logo,footer .brand-logo{width:auto;height:auto;overflow:visible;background:transparent;display:inline-flex;align-items:center;gap:.45rem}.brand-logo svg,.site-header .brand-logo svg,footer .brand-logo svg{position:static;width:48px;height:30px;overflow:visible;flex:0 0 auto}.brand-logo svg path{fill:none;stroke:#6f9b79;stroke-width:2.35;stroke-linecap:square;stroke-linejoin:miter}.brand-logo span{font-size:1.5rem;font-weight:800;letter-spacing:-.06em;line-height:1;color:var(--ink)}footer .brand-logo svg path{stroke:#a8ff3e}footer .brand-logo span{color:white}
/* Funding visibility, bilingual navigation and accessibility */
.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.8rem 1rem;background:#fff;color:#111;border:3px solid #111;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.funding-banner{background:#fff;text-align:center;border-bottom:1px solid #d9ddda;padding:.55rem 1rem .45rem}.funding-banner>a{display:block;max-width:1600px;margin:0 auto}.funding-banner img{display:block;width:100%;height:auto;max-height:150px;object-fit:contain;margin:0 auto}.funding-banner p{margin:.35rem 0 0;font-size:.875rem;line-height:1.4;color:#303b48}.funding-banner p a{text-decoration:underline;text-underline-offset:.18em}.languages{display:inline-flex;align-items:center;gap:.4rem;padding-left:.4rem}.languages a{font-weight:800}.languages a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}.site-header nav{align-items:center}.site-header nav,.contact label{font-size:.875rem}.contact label{display:block}.service-grid article>a{text-decoration:underline;text-underline-offset:.2em}.section-number,.eyebrow{color:#466d22}.assessment .section-number{color:#a8ff3e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #215e9b;outline-offset:4px}.button:focus-visible{outline-color:#a8ff3e}.contact input,.contact select,.contact textarea{min-height:44px}.programme-page{max-width:1120px;margin:0 auto;padding:7vw 5vw}.programme-page h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.02;letter-spacing:-.055em;max-width:1000px}.programme-page h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.08;letter-spacing:-.04em;margin-top:4rem}.programme-page h3{font-size:1.5rem;margin-top:3rem}.programme-page p{font-size:1.05rem;line-height:1.8;max-width:780px}.programme-lead{font-size:1.25rem!important}.programme-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd4d0;margin:3rem 0}.programme-facts div{background:#fff;padding:1.5rem}.programme-facts dt{font-size:.875rem;font-weight:800;color:#4b534e;margin-bottom:.6rem}.programme-facts dd{margin:0;font-size:1rem;line-height:1.5}.programme-page #english{border-top:1px solid #cfd4d0;margin-top:5rem;padding-top:5rem}.compact-header nav{display:flex;gap:1.5rem;margin-left:auto}
@media(max-width:1180px){.site-header .menu{display:block}.site-header nav#nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:1.5rem 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav#nav.open{display:flex}.languages{padding:1rem 0 0;border-top:1px solid var(--line);width:100%}}
@media(max-width:820px){.funding-banner{padding:.4rem .6rem}.funding-banner img{max-height:80px}.funding-banner p{font-size:.8rem}.programme-facts{grid-template-columns:1fr}.programme-page{padding-top:4rem}.compact-header nav{position:static!important;display:flex!important;flex-direction:row!important;padding:0!important;border:0!important}.compact-header{gap:1rem}.compact-header .brand-logo span{font-size:1.2rem}.compact-header .brand-logo svg{width:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Private assessment workspace entry */
footer{flex-wrap:wrap;gap:1.5rem}.coach-access{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;max-width:100%}.coach-tool{min-height:48px;gap:.65rem;border-color:#72817a;color:#fff;text-align:center;line-height:1.4}.coach-tool svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.coach-tool:hover{background:#293630;border-color:#a8ff3e}.coach-access small{font-size:.75rem;line-height:1.5;color:#b8c2bc}@media(max-width:820px){.coach-access{width:100%;margin-top:1rem}.coach-tool{width:100%;max-width:360px}}
