:root{--ink:#17191b;--muted:#62666b;--line:#dfe2e5;--paper:#fff;--soft:#f5f6f7;--blue:#0068d9;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.055em;line-height:1.06}h1{}h2{}h3{letter-spacing:-.035em}p+p{margin-top:1em}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header{position:sticky;top:0;z-index:5;border-bottom:1px solid #e7e8e9;background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-weight:750;letter-spacing:-.08em;line-height:1}.brand-label{line-height:1.2;max-width:70px;font-weight:600;letter-spacing:-.02em}.navlinks{display:flex;gap:32px;align-items:center;font-weight:500}.navlinks a[aria-current=page]{color:var(--blue)}.navlinks .contact-link{background:var(--ink);color:#fff;padding:9px 19px;border-radius:100px}.menu{display:none;background:none;border:1px solid var(--line);border-radius:50px;padding:8px 16px}.eyebrow{font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:25px}.hero{padding:96px 0 68px;text-align:center}.hero h1{max-width:1000px;margin:auto}.hero h1 span{color:var(--muted)}.hero .lead{max-width:605px;margin:28px auto 0;line-height:1.55;color:var(--muted);letter-spacing:-.025em}.actions{display:flex;gap:25px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border-radius:99px;padding:13px 25px;font-weight:500;min-height:48px}.button:hover{color:white;background:#0055b4}.text-link{color:var(--blue)}.text-link::after{content:' ↗';margin-left:5px}.sector-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:62px;text-align:left}.sector{background:var(--soft);padding:30px 32px 34px}.sector .num{color:var(--muted);margin-bottom:32px;display:block}.sector p{line-height:1.5;color:var(--muted);margin-top:14px;max-width:280px}.section{padding:105px 0}.section.soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.prose{color:var(--muted);letter-spacing:-.02em}.prose strong{color:var(--ink);font-weight:500}.prose .text-link{display:inline-block;margin-top:25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:44px}.section-head h2{max-width:670px}.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:42px}.logo-cell{min-height:170px;padding:35px;display:flex;align-items:center;justify-content:center;background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.logo-cell img{width:100%;height:90px;object-fit:contain}.logo-cell span{font-weight:600;letter-spacing:-.045em;text-align:center}.cta{text-align:center;padding:100px 20px;background:var(--ink);color:white;border-radius:30px;margin:36px auto 90px}.cta h2{max-width:760px;margin:auto}.cta p{color:#b7babf;margin:24px auto 28px;max-width:550px}.cta .button{background:#fff;color:var(--ink)}footer{border-top:1px solid var(--line);padding:35px 0}.footer-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-links{display:flex;gap:26px;}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:var(--muted);margin-top:35px}.page-hero{padding:86px 0 65px;max-width:880px}.page-hero .lead{color:var(--muted);max-width:700px;margin-top:26px}.service-row{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:35px;border-top:1px solid var(--line);padding:43px 0}.service-row .num{color:var(--muted)}.service-row p{color:var(--muted);}.service-row h2{}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:48px 0 60px;border-top:1px solid var(--line)}.stat strong{display:block;font-weight:600;letter-spacing:-.055em;line-height:1.2}.stat p{color:var(--muted);margin-top:15px}.caption{color:var(--muted);margin-top:22px}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.quote{padding:32px;background:white;border-radius:var(--radius)}blockquote{margin:0;line-height:1.45;letter-spacing:-.025em}blockquote:before{content:'“';display:block;color:#969ba2;line-height:.8;margin-bottom:20px}.attribution{color:var(--muted);margin-top:25px}.attribution strong{display:block;color:var(--ink);font-weight:600}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:95px}.portrait{aspect-ratio:4/4.7;width:100%;object-fit:cover;background:var(--soft);border-radius:20px;margin-bottom:26px;filter:grayscale(1)}.team-card p{color:var(--muted);margin-top:16px}.team-card h2{}.team-card details{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;}.team-card summary{cursor:pointer;min-height:35px}.team-card details p{}.contact-page{min-height:65vh;padding:100px 0}.contact-page .split{align-items:center}.contact-page .lead{color:var(--muted);margin-top:28px;max-width:550px}.contact-card{background:var(--soft);border-radius:28px;padding:48px}.contact-card h2{}.email{letter-spacing:-.035em;display:inline-block;border-bottom:1px solid #b9bec4;margin:30px 0;color:var(--blue)}.contact-card p{color:var(--muted)}.not-found{padding:120px 0;text-align:center}.not-found p{margin:25px 0;color:var(--muted)}@media(min-width:1500px){.hero{padding-top:110px}}@media(max-width:900px){.split{gap:45px}.quotes{grid-template-columns:1fr}.team-grid{gap:20px}.logo-cell{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.service-row{grid-template-columns:35px 1fr 1.2fr;gap:20px}.sector{padding:25px}.sector h3{}.hero{padding-top:70px}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.nav{height:72px}.brand-mark{}.menu{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:72px;padding:20px;background:white;border-bottom:1px solid var(--line);flex-direction:column;gap:0;align-items:stretch}.navlinks.open{display:flex}.navlinks a{padding:14px 15px}.navlinks .contact-link{margin-top:8px;text-align:center}.hero{padding:58px 0 50px}.hero h1{}.hero .lead{}.eyebrow{margin-bottom:22px}.sector-strip{grid-template-columns:1fr;margin-top:43px}.sector{padding:25px}.sector .num{margin-bottom:16px}.sector p{max-width:none}.section{padding:64px 0}.split{grid-template-columns:1fr;gap:30px}.prose{}.section-head{align-items:start;flex-direction:column;gap:20px}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-cell{min-height:125px;padding:23px}.logo-cell img{height:65px}.cta{margin:20px auto 60px;padding:60px 25px;border-radius:23px}.cta p{}.footer-top{align-items:start;flex-direction:column;gap:30px}.footer-links{gap:22px;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding:60px 0 45px}.page-hero .lead{}.service-row{grid-template-columns:30px 1fr;padding:30px 0;gap:12px}.service-row p{grid-column:2;}.service-row h2{}.stats{gap:28px 22px;padding:35px 0}.stat strong{}.stat p{}.team-grid{grid-template-columns:1fr;gap:50px;padding-bottom:60px}.portrait{aspect-ratio:1/1;object-position:center 25%}.contact-page{padding:60px 0}.contact-card{padding:30px}.quote{padding:28px}.actions{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Original copy, reflowed without editorial changes. */
.brand-mark{letter-spacing:-.075em}.original-hero{padding:95px 0 95px}.original-hero h1{max-width:1100px}.original-hero h1 .welcome{display:block;letter-spacing:.03em;font-weight:500;color:var(--muted);line-height:1.5;margin-bottom:24px}.original-hero .lead{max-width:720px;margin-top:35px}.original-hero .lead p+p{margin-top:20px}.split h2{line-height:1.12}.section .sector-strip{margin-top:40px}.sector{background:white;padding:35px}.sector h3{}.sector-strip{background:var(--line);border-radius:0;border-left:0;border-right:0}.sector p{max-width:none}.service-hero{max-width:1080px}.service-hero h1{line-height:1.13}.services{padding-bottom:80px}.service-row h2{line-height:1.15}.impact-intro{color:var(--muted);margin-bottom:24px}.stats{padding:0 0 40px;border-top:0;gap:26px}.stat{border-top:1px solid var(--line);padding-top:22px}.stat p{color:var(--ink);margin:0}.testimonials{margin-top:90px}.quotes{display:block;margin-top:50px}.quote{margin:0;border-radius:0;background:transparent;padding:45px 0;display:grid;grid-template-columns:1fr 260px;gap:70px;border-top:1px solid var(--line)}blockquote{line-height:1.75;letter-spacing:-.015em}blockquote:before{display:none}.attribution{margin:0;padding-top:5px;line-height:1.7;font-weight:500;color:var(--ink);}.founder{display:grid;grid-template-columns:340px 1fr;gap:95px;padding:58px 0 70px;border-top:1px solid var(--line)}.founder-visual h2{}.founder .portrait{aspect-ratio:1/1.1;border-radius:14px;object-position:center 35%;margin-bottom:25px}.founder-copy{color:var(--muted);}.founder-copy p:has(em){color:var(--ink);margin-top:30px;font-weight:600}.founder-copy p:first-child{margin-top:0}.founder-copy em{font-style:normal}.founders{padding-bottom:30px}.contact-original{text-align:center;max-width:900px}.contact-original .lead{margin:38px auto 32px;max-width:650px}.contact-original a:not(.button){color:var(--blue)}.contact-page{padding:110px 0 130px}.contact-original h1{}@media(max-width:900px){.founder{grid-template-columns:260px 1fr;gap:45px}.quote{grid-template-columns:1fr;gap:25px}.original-hero{padding:70px 0}.original-hero h1{}}@media(max-width:650px){.original-hero{padding:52px 0 58px}.original-hero h1{}.original-hero .lead{margin-top:26px}.original-hero h1 .welcome{}.split h2{}.sector{padding:28px 0}.sector-strip{gap:1px}.sector .num{margin-bottom:20px}.founder{grid-template-columns:1fr;gap:35px;padding:35px 0 50px}.founder .portrait{aspect-ratio:1.05/1}.founder-copy{}.quote{padding:30px 0}.testimonials{margin-top:60px}.stats{grid-template-columns:1fr;gap:22px}.stat p{}.contact-page{padding:70px 0 85px}.service-row>div{grid-column:2}.service-row h2{}.section .sector-strip{margin-top:30px}}
.founder .portrait{width:75%;height:auto}

/* A light touch of the original F4F blue and yellow. */
:root {
  --blue: #007b94;
  --brand-blue: #0097b2;
  --brand-yellow: #ffcc00;
  --soft: #f3f9fb;
}
.brand-mark { color: var(--blue); }
.navlinks .contact-link { background: var(--blue); color: #fff; }
.navlinks .contact-link:hover,
.button:hover { background: #00667b; color: #fff; }
.navlinks .contact-link[aria-current=page] { color: #fff; }
.original-hero h1::after,
.page-hero h1::after,
.contact-original h1::after {
  content: "";
  display: block;
  width: 52px;
  height: 4px;
  margin-top: 30px;
  border-radius: 4px;
  background: var(--brand-yellow);
}
.original-hero h1::after,
.contact-original h1::after { margin-left: auto; margin-right: auto; }
.original-hero h1 .welcome { color: var(--blue); }
.sector-strip { border-color: #dce9ed; background: #dce9ed; }
.sector:first-child { background: #f5fafc; }
.sector:nth-child(2) { background: #fffdf3; }
.sector:last-child { background: #f8fbfc; }
.sector .num,
.service-row .num { color: var(--blue); }
.stat { border-top: 2px solid #a9d9e2; }
.stat:nth-child(even) { border-top-color: #efdc91; }
.attribution { color: #006b81; }
.founder-visual h2 { color: #006b81; }
footer { border-top-color: #dce9ed; }
@media(max-width:650px) {
  .sector { padding-left: 20px; padding-right: 20px; }
  .original-hero h1::after,
  .page-hero h1::after,
  .contact-original h1::after { margin-top: 24px; width: 42px; height: 3px; }
}

/* One wordmark everywhere; explain the name in the homepage heading. */
.brand-mark {
  
  
  font-weight: 700;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
}
.original-hero h1 .welcome {
  
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.15;
  margin-bottom: 16px;
}

/* Contact card, following the supplied Bitin Brass Band reference. */
.form-page { padding: 46px 0 80px; background: #fcfcfc; }
.form-wrap { max-width: 1160px; }
.contact-card-white { background: #fff; border-radius: 24px; padding: 44px 46px; box-shadow: 0 5px 30px rgba(24,35,45,.055); }
.form-heading h1 {  letter-spacing: -.045em; line-height: 1.12; }
.form-intro { margin-top: 20px;  color: var(--muted); max-width: 800px; line-height: 1.55; }
.form-intro p+p { margin-top: 6px; }
.enquiry-form { margin-top: 34px; }
.form-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 30px 28px; }
.field { min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; color: #595c60;  font-weight: 400; margin-bottom: 12px; line-height: 1.4; letter-spacing: -.025em; }
.field-hint { color: var(--muted);  margin: -4px 0 12px; }
.field input,.field textarea { display: block; width: 100%; min-height: 60px; border: 1px solid #d9dadd; border-radius: 9px; background: #fff; color: var(--ink); padding: 15px 18px; font: inherit;  line-height: 1.5; box-shadow: 0 2px 3px rgba(0,0,0,.07); }
.field input::placeholder,.field textarea::placeholder { color: #81858a; opacity: 1; }
.field textarea { resize: vertical; min-height: 175px; }
.field input:focus,.field textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.form-note { color: var(--muted);  margin-top: 25px; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 20px; }
.form-actions .button { border: 0; border-radius: 8px; padding: 14px 26px; min-height: 56px;  font-weight: 600; background: #285d99; box-shadow: 0 3px 8px rgba(24,55,90,.16); cursor: pointer; }
.form-actions .button:hover { background: #204c7e; }
.form-actions .button:disabled { opacity: .65; cursor: wait; }
.form-actions a {  color: var(--blue); }
.form-status:empty { display: none; }
.form-status { margin-top: 24px; padding: 14px 16px; background: #fff9df; border-left: 3px solid var(--brand-yellow);  }
@media(max-width:650px) {
 .form-page { padding: 24px 0 45px; }
 .form-wrap { width: calc(100% - 28px); }
 .contact-card-white { padding: 28px 22px; border-radius: 18px; }
 .form-heading h1 {  }
 .form-intro {  }
 .form-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .field label {  margin-bottom: 9px; }
 .field input,.field textarea {  min-height: 54px; padding: 13px 14px; }
 .field textarea { min-height: 160px; }
 .form-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
 .form-actions .button { width: auto; }
}

/* Exactly three type sizes, shared by every page and breakpoint. */
:root {
 --text-headline: clamp(2rem, 4vw, 3rem);
 --text-body: 1.125rem;
 --text-quote: 1rem;
}
html { font-size: 100%; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: var(--text-body); }
*, *::before, *::after { font-family: inherit; font-size: inherit; }
h1, h2, h3, .brand-mark, .original-hero h1 .welcome { font-size: var(--text-headline); }
blockquote, .attribution { font-size: var(--text-quote); }
blockquote p + p { margin-top: 1.5em; }
.founder-quote { color: var(--muted); margin-top: 1em; line-height: 1.75; }
.original-hero h1 { max-width: 1050px; }
.brand-mark { font-variant-numeric: lining-nums; white-space: nowrap; }
h1, h2, h3 { overflow-wrap: break-word; }
.logo-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:650px) { .logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Founder names use the body scale as clear portrait captions. */
.founder .portrait { margin-bottom: 18px; }
.founder-visual h2 { font-size: var(--text-body); font-weight: 600; letter-spacing: -.02em; line-height: 1.4; width: 75%; text-wrap: balance; }

/* Tighter transition from the Portfolio introduction to the impact summary. */
.portfolio-hero { padding-bottom: 32px; }
@media(max-width:650px) { .portfolio-hero { padding-bottom: 24px; } }
