:root{--navy:#18184c;--amber:#ffab01;--cyan:#00aeef;--red:#ff163f;--sky:#e6f7fe;--rose:#fff0f3;--sun:#fff4d9;--content-width:1440px;--gutter:clamp(24px,6vw,86px);--rule:#d9deeb}
header,.wrap{max-width:var(--content-width);padding-left:var(--gutter);padding-right:var(--gutter)}
header{gap:24px}nav{gap:24px}nav a{white-space:nowrap}.brand{flex-shrink:0}
.draft-bar{background:var(--navy);color:#fff}.draft-bar a{color:#fff}
#main[data-page=home]{background:linear-gradient(var(--sun),var(--sun)) top/100% 740px no-repeat}
.hero{background:var(--sun);gap:6%;padding-top:55px;padding-bottom:65px;grid-template-columns:1.08fr 1fr;align-items:center}
.hero h1{font-size:clamp(3rem,5.15vw,4.7rem);line-height:1.1;letter-spacing:-.055em}
.brand-word{position:relative;isolation:isolate;white-space:nowrap}
.brand-word:after{content:'';position:absolute;left:-3%;bottom:2%;height:23%;width:106%;background:var(--amber);z-index:-1;transform-origin:left}
.hero-collage{padding-bottom:65px}.hero-photo{border:6px solid var(--cyan);border-radius:90px 8px 8px 8px}.inset-photo{border:7px solid var(--amber);bottom:15px;border-radius:8px}.collage-caption{bottom:-18px;color:var(--navy)}
.hero-collage:after{content:'';position:absolute;right:-12px;top:22px;width:13px;height:105px;background:var(--red);border-radius:0 5px 5px 0}
.photo-slot img{filter:saturate(.88) contrast(1.035) sepia(.045)}
.ribbon{padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:0;background:var(--navy)}
.ribbon span{padding:24px 15px;text-align:center;font-size:14px;font-weight:600;letter-spacing:0;background:var(--amber);color:var(--navy)}
.ribbon span:before{display:none}.ribbon span:nth-child(2){background:var(--cyan)}.ribbon span:nth-child(3){background:var(--red);color:#10102e}.ribbon span:nth-child(4){background:var(--navy);color:#fff}
.button,.nav-cta{border-radius:5px}.hero .button:not(.outline){background:var(--navy);color:white}.hero .button.outline{background:#fff8;border-color:#18184c55}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px!important;letter-spacing:.12em;line-height:1.6}
.eyebrow:before{content:'';display:block;width:20px;height:3px;background:var(--cyan);flex:none}
.hero .eyebrow:before,.dark .eyebrow:before{background:var(--amber)}
.page-hero{background:var(--sky);border-bottom:0;position:relative}
.page-hero:after{content:'';position:absolute;bottom:0;left:var(--gutter);width:85px;height:5px;background:var(--cyan)}
[data-page=programmes] .page-hero,[data-page=involved] .page-hero{background:var(--sun)}
[data-page=programmes] .page-hero:after,[data-page=involved] .page-hero:after{background:var(--amber)}
[data-page=impact] .page-hero,[data-page=team] .page-hero{background:var(--rose)}
[data-page=impact] .page-hero:after,[data-page=team] .page-hero:after{background:var(--red)}
.page-hero.with-photo{gap:6%;grid-template-columns:1.08fr 1fr;padding-top:50px;padding-bottom:60px}
.page-intro-photo{border-radius:6px 60px 6px 6px;box-shadow:9px 9px 0 #00aeef33}
[data-page=programmes] .page-intro-photo,[data-page=involved] .page-intro-photo{box-shadow:9px 9px 0 #ffab0140}
[data-page=impact] .page-intro-photo{box-shadow:9px 9px 0 #ff163f26}
.grid>.card{min-width:0}.grid>.image-card{display:flex;flex-direction:column;border-bottom:3px solid var(--cyan);padding-bottom:25px}
.grid>.image-card:nth-child(3n+2){border-color:var(--amber)}.grid>.image-card:nth-child(3n){border-color:var(--red)}
.image-card>.photo-slot{flex:none;width:100%}.image-card>a:last-child,.image-card>button:last-child{margin-top:auto;align-self:flex-start}
.image-card .number{font-size:12px;color:var(--navy)}.image-card h3{min-height:1.2em}.image-card .badge{align-self:flex-start}
.grid>.card:not(.image-card){border-top:3px solid var(--cyan)}.grid>.card:not(.image-card):nth-child(3n+2){border-top-color:var(--amber)}.grid>.card:not(.image-card):nth-child(3n){border-top-color:var(--red)}
.tint{background:var(--sky)}.dark{background:var(--navy)}.dark .photo-slot{border-bottom:5px solid var(--amber)}
.metrics{border:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.metrics .card,.metrics .card:first-child{padding:24px 18px;border:0!important;background:var(--navy);color:white;border-radius:4px}
.metrics .card:nth-child(2){background:var(--amber);color:var(--navy)}.metrics .card:nth-child(3){background:var(--cyan);color:var(--navy)}.metrics .card:nth-child(4){background:var(--red);color:#10102e}
.metrics .metric{color:inherit;font-size:clamp(1.7rem,3.1vw,2.75rem)}.metrics h3{color:inherit;font-weight:600;margin-bottom:0;line-height:1.55}
.row{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);column-gap:40px;align-items:start}.row>div{min-width:0}.row .index{color:var(--navy);font-weight:600}.service-with-photo .row{align-items:start}
.team-section{background:white}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.team-card{min-width:0}.team-portrait{position:relative;aspect-ratio:4/5;display:grid;place-items:center;background:var(--navy);color:#fff;overflow:hidden;border-radius:5px 40px 5px 5px;margin-bottom:22px}
.team-card:nth-child(2) .team-portrait{background:var(--cyan);color:var(--navy)}.team-card:nth-child(3) .team-portrait{background:var(--amber);color:var(--navy)}.team-card:nth-child(4) .team-portrait{background:var(--red);color:#10102e}
.team-portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.team-initials{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.05em;font-weight:600}
.team-portrait small{position:absolute;bottom:18px;font-size:11px;letter-spacing:.04em}.team-card h3{font-size:19px;margin:0 0 10px;line-height:1.4}.team-card p{font-size:13px;line-height:1.65;margin:0}.team-card p span{display:block}
.cta-band{background:var(--amber);border:0}.cta-band h2{max-width:730px}.dark .cta-band{background:transparent}
footer{background:#edf1f8;border-top:4px solid var(--navy)}
@keyframes brand-stroke{from{transform:scaleX(.15);opacity:.3}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:no-preference){html:not(.keyboard-navigation) .brand-word:after{animation:brand-stroke 900ms var(--ease-out) 120ms both}}
@media(min-width:761px) and (max-width:1100px){nav{gap:16px;font-size:13px}.hero h1{font-size:3.35rem}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.team-grid{gap:18px}.team-card h3{font-size:17px}.row{column-gap:25px}.ribbon span{font-size:12px}}
@media(max-width:760px){#main[data-page=home]{background:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:36px;padding-bottom:55px}.hero h1{font-size:clamp(2.8rem,11.5vw,3.6rem)}.hero .eyebrow{font-size:10px!important;gap:7px}.hero .eyebrow:before{width:12px}.hero-collage{padding-bottom:60px}.hero-photo{border-width:4px}.inset-photo{border-width:5px;bottom:23px}.collage-caption{bottom:0}.hero-collage:after{right:-7px;width:8px;height:70px}.ribbon{grid-template-columns:1fr 1fr}.ribbon span{font-size:11px;padding:19px 10px}.page-hero.with-photo{grid-template-columns:1fr;gap:30px;padding-top:36px;padding-bottom:45px}.page-intro-photo{width:calc(100% - 8px)}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics .card,.metrics .card:first-child{padding:22px 15px}.metrics h3{font-size:12px}.team-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.team-card h3{font-size:17px}.team-card p{font-size:12px}.team-portrait{border-top-right-radius:30px;margin-bottom:15px}.team-portrait small{font-size:10px}.row{grid-template-columns:24px minmax(0,1fr);column-gap:15px}.row>div:last-child{grid-column:2}.section-heading{align-items:start}.cta-band{padding-block:45px}}
.ribbon span:nth-child(3),.metrics .card:nth-child(4),.team-card:nth-child(4) .team-portrait{color:#10102e}
/* A real event image gives the team page context without assigning identities to portraits. */
[data-page="team"] .team-group-photo{aspect-ratio:16/7;margin:30px 0 38px}
@media(max-width:760px){[data-page="team"] .team-group-photo{aspect-ratio:4/3;margin:25px 0 30px}}
