:root{--blue:#3266ff;--navy:#10244a;--green:#66f172;--ink:#26334a;--muted:#667085;--pale:#f4f7ff;--white:#fff;--line:#e4e9f2}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Roboto,Arial,sans-serif;line-height:1.6}.container{width:min(1160px,calc(100% - 40px));margin:auto}.team-hero{background:linear-gradient(135deg,#10244a,#3266ff);color:#fff;padding:90px 0 82px;overflow:hidden;position:relative}.team-hero:after{content:"";position:absolute;width:430px;height:430px;border:70px solid rgba(102,241,114,.16);border-radius:50%;right:-100px;top:-160px}.team-hero-inner{position:relative;z-index:1}.team-hero h1{font:800 clamp(3rem,7vw,5.6rem)/.98 'Work Sans',sans-serif;margin:5px 0 22px;max-width:760px}.team-hero p:last-child{font-size:1.2rem;max-width:760px;color:rgba(255,255,255,.88)}.eyebrow{font:700 .82rem 'Work Sans',sans-serif;text-transform:uppercase;letter-spacing:.11em;color:var(--blue);margin:0 0 8px}.eyebrow.light{color:var(--green)}.team-section{padding:76px 0}.team-section.alt{background:var(--pale)}.section-heading{max-width:720px;margin-bottom:36px}.section-heading h2,.join-team h2,.volunteer-band h2{font:800 clamp(2rem,4vw,3.25rem)/1.05 'Work Sans',sans-serif;color:var(--navy);margin:4px 0 12px}.people-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.person{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(16,36,74,.07)}.person img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.person>div{padding:20px}.person h3,.role-grid h3{font:700 1.12rem 'Work Sans',sans-serif;color:var(--navy);margin:0 0 5px}.role{color:var(--blue);font-weight:500;margin:0}.people-grid.compact{grid-template-columns:repeat(3,1fr)}.text-card{min-height:140px;display:flex;align-items:end;border-top:5px solid var(--green)}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;position:relative}.role-grid article:before{content:"";position:absolute;left:0;top:22px;width:4px;height:34px;background:var(--blue);border-radius:0 4px 4px 0}.role-grid p{margin:4px 0 0;color:var(--muted)}.volunteer-band{background:var(--navy);color:#fff;padding:75px 0}.volunteer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.volunteer-band h2{color:#fff}.volunteer-band p{color:rgba(255,255,255,.78)}.volunteer-names{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.volunteer-names span{background:rgba(255,255,255,.08);padding:11px 13px;border-radius:8px}.join-team{padding:65px 0}.join-team .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.join-team .container>div{max-width:700px}.button{display:inline-block;text-decoration:none;white-space:nowrap}@media(max-width:950px){.people-grid{grid-template-columns:repeat(3,1fr)}.role-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.team-hero{padding:65px 0}.people-grid,.people-grid.compact,.role-grid,.volunteer-grid{grid-template-columns:1fr}.volunteer-names{grid-template-columns:repeat(2,1fr)}.join-team .container{display:block}.join-team .button{margin-top:20px}}

/* Expanded team biographies */
.people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.people-grid.single { grid-template-columns:minmax(0,760px); }
.person { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 32px rgba(22,48,96,.09); height:100%; }
.person img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center; }
.person-body { padding:24px; }
.person-body h3 { margin:0 0 4px; }
.person-body .role { color:#3266ff; font-family:'Work Sans',sans-serif; font-weight:700; margin:0 0 14px; }
.person-body p:last-child { margin-bottom:0; }
@media(max-width:900px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.people-grid,.people-grid.single{grid-template-columns:1fr;}.person-body{padding:20px;}}

/* Shared site footer */
.site-footer{background:#595959;color:#fff;font-size:16px}.site-footer .footer-grid{display:grid;grid-template-columns:15% 45% 20% 20%;padding-top:50px;padding-bottom:50px}.footer-brand{padding-right:80px}.footer-brand img{display:block;width:120px;height:auto}.footer-social p{max-width:390px;margin:0 0 20px}.social-links{display:flex;gap:16px}.social-links a{display:flex;width:30px;height:30px;color:#fff}.social-links svg{width:100%;height:100%;fill:currentColor}.footer-links{display:flex;flex-direction:column;align-items:flex-start}.footer-links h2{margin:0 0 16px;color:#fff;font:700 1.25rem 'Work Sans',sans-serif}.footer-links a,.footer-bottom a{color:#fff;text-decoration:none}.footer-links a{margin-bottom:8px}.footer-links a:hover,.footer-links a:focus,.footer-bottom a:hover,.footer-bottom a:focus,.social-links a:hover,.social-links a:focus{color:#66f172}.footer-info{padding-top:44px}.footer-bottom{padding:12px 20px;text-align:center}.footer-bottom p{margin:0;font-size:14px}.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}
@media(max-width:1024px) and (min-width:701px){.site-footer .footer-grid{grid-template-columns:repeat(3,1fr);padding:30px}.footer-brand{grid-column:1/-1;padding:0 0 28px;text-align:center}.footer-brand img{margin:auto}.footer-social,.footer-links{align-items:center;text-align:center}.footer-info{padding-top:0}}
@media(max-width:700px){.site-footer .footer-grid{grid-template-columns:1fr;padding:35px 20px;text-align:center}.footer-brand{padding:0 0 20px}.footer-brand img{width:150px;margin:auto}.footer-social,.footer-links{align-items:center}.footer-social{margin-bottom:20px}.social-links{justify-content:center}.footer-info{padding-top:20px}.footer-bottom{padding:20px}}

/* Organisational chart */
.org-level{
  position:relative;
  padding:64px 0 72px;
  overflow:visible;
}
.org-level + .org-level::before{
  content:"";
  position:absolute;
  z-index:2;
  top:-28px;
  left:50%;
  width:2px;
  height:56px;
  background:var(--blue);
  transform:translateX(-50%);
}
.org-level .section-heading{
  position:relative;
  width:max-content;
  max-width:min(720px,100%);
  margin:0 auto 46px;
  padding:18px 30px;
  border:1px solid #d9e2fb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,36,74,.08);
  text-align:center;
}
.org-level.alt .section-heading{background:var(--navy);border-color:var(--navy)}
.org-level.alt .section-heading h2{color:#fff}
.org-level.alt .section-heading>p:not(.eyebrow){color:rgba(255,255,255,.78)}
.org-level .section-heading h2{font-size:clamp(1.75rem,3vw,2.5rem)}
.org-level .section-heading::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-30px;
  width:2px;
  height:30px;
  background:#a9bceb;
  transform:translateX(-50%);
}
.profile-hint{font-size:.9rem;margin:14px 0 0!important;color:var(--muted)!important}
.profile-hint span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:5px;border-radius:50%;background:var(--green);color:var(--navy);font-weight:800}
.people-grid,
.people-grid.single{
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,210px));
  justify-content:center;
  gap:30px 22px;
  max-width:1138px;
  margin-inline:auto;
}
.people-grid::before{
  content:"";
  position:absolute;
  top:-18px;
  left:max(105px,calc((100% - 1138px)/2 + 105px));
  right:max(105px,calc((100% - 1138px)/2 + 105px));
  height:2px;
  background:#a9bceb;
}
.people-grid.single::before{display:none}
.person{
  position:relative;
  width:100%;
  min-height:282px;
  overflow:hidden;
  border:0;
  border-radius:16px;
  background:var(--navy);
  box-shadow:0 8px 24px rgba(16,36,74,.14);
  isolation:isolate;
  outline:none;
}
.person::before{
  content:"";
  position:absolute;
  z-index:3;
  top:-18px;
  left:50%;
  width:2px;
  height:18px;
  background:#a9bceb;
}
.person img{
  width:100%;
  height:210px;
  aspect-ratio:auto;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.person-body{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  min-height:82px;
  max-height:100%;
  padding:16px 17px 18px;
  color:#fff;
  background:linear-gradient(180deg,rgba(16,36,74,.08),rgba(16,36,74,.98) 30%);
  transform:translateY(0);
  transition:min-height .35s ease,background .35s ease;
}
.person-body h3{color:#fff;font-size:1rem;line-height:1.2;margin:0 0 3px}
.person-body .role{color:var(--green);font-size:.83rem;line-height:1.3;margin:0}
.person-body>p:last-child{
  max-height:0;
  margin:0;
  overflow:hidden;
  opacity:0;
  font-size:.82rem;
  line-height:1.42;
  transition:max-height .4s ease,margin .35s ease,opacity .25s ease;
}
.person:hover,
.person:focus-visible{box-shadow:0 14px 34px rgba(16,36,74,.25)}
.person:hover img,
.person:focus-visible img{transform:scale(1.045);filter:brightness(.42)}
.person:hover .person-body,
.person:focus-visible .person-body{min-height:100%;background:rgba(16,36,74,.92)}
.person:hover .person-body>p:last-child,
.person:focus-visible .person-body>p:last-child{max-height:220px;margin-top:12px;opacity:1}
.person:focus-visible{outline:4px solid var(--green);outline-offset:4px}

@media(max-width:700px){
  .org-level{padding:52px 0}
  .org-level .section-heading{width:100%;margin-bottom:38px;padding:16px 18px}
  .people-grid,.people-grid.single{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .people-grid::before{left:25%;right:25%;top:-14px}
  .person{min-height:242px}
  .person img{height:170px}
  .person::before{top:-14px;height:14px}
}
@media(max-width:430px){
  .people-grid,.people-grid.single{grid-template-columns:minmax(0,260px)}
  .people-grid::before{display:none}
}
@media(hover:none){
  .person{min-height:unset;background:#fff}
  .person img{height:auto;aspect-ratio:1/1}
  .person-body{position:relative;min-height:0;background:var(--navy)}
  .person-body>p:last-child{max-height:none;margin-top:12px;opacity:1}
}
@media(prefers-reduced-motion:reduce){.person img,.person-body,.person-body>p:last-child{transition:none}}

/* Design-system audit: this is a primary brand field, not a navy substitute. */
.team-hero { background: var(--blue); }
