@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-700.ttf) format('truetype');
}

:root{--ink:#080d1e;--green:#005e4e;--muted:#586c88;--pale:#eff8f5;--line:#deece7;--gutter:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.45 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}.wrap{width:calc(100% - var(--gutter) - var(--gutter));max-width:1440px;margin-inline:auto}img,svg{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #279b80;outline-offset:5px}p,h1,h2,h3{margin:0}p{color:var(--muted);font-weight:400}h1,h2,h3{letter-spacing:-.04em}h1{font-size:clamp(36px,3.8vw,54px);line-height:1.06;font-weight:600}h2{font-size:clamp(26px,2.5vw,32px);line-height:1.15;font-weight:600}h3{font-size:16px;line-height:1.3;font-weight:500}.eyebrow{color:var(--green);font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;margin-bottom:10px}.header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:block;width:97px;height:34px;flex:0 0 auto;background:url('logo.svg') center/contain no-repeat}.header nav{display:flex;align-items:center;gap:28px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 25px;border:1px solid var(--green);border-radius:6px;color:#fff;background:linear-gradient(120deg,#006252,#005344);font-size:14px;font-weight:500;transition:box-shadow .2s,transform .2s}.button:hover{box-shadow:0 5px 14px #005d4c20;transform:translateY(-1px)}.button span{font-size:21px;line-height:1}.outline{background:transparent;color:var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:32px;position:relative;isolation:isolate;padding:30px 0 36px;align-items:center}.hero-copy{min-width:0}.hero h1 em{font-style:normal;color:var(--green)}.intro{font-size:clamp(18px,1.6vw,21px);line-height:1.4;margin-top:14px}.actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.contours{position:absolute;z-index:-1;pointer-events:none;right:0;top:-20px;width:65%;height:100%;object-fit:fill;opacity:.45}.chart{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.chart>.eyebrow{margin-bottom:3px}.chart>svg{display:block;width:100%;height:auto;aspect-ratio:610/330;max-height:340px;overflow:visible}.chart-label{font-family:inherit;font-size:14px;fill:#06151d;font-weight:400}.growth-steps{display:none}.stages{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:16px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}.stage{text-align:center;min-width:0}.stage h3{margin:6px 0}.stage p{font-size:14px}.icon-disc{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--pale)}svg.icon,.icon-disc svg{width:34px;height:34px;stroke:var(--green);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.flow-arrow{font-size:25px;color:#546782;text-align:center}.band{background:linear-gradient(110deg,#f0f8f5,#f0f8f6 75%,#f4faf7)}.services{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:16px;padding:25px 0}.services>div{padding-top:10px}.services article{min-width:0;padding:22px;background:#ffffffed;border-radius:8px}.services .icon{display:block}.services h3{margin:12px 0 8px}.services article p{font-size:15px;line-height:1.45}.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.7fr);gap:clamp(24px,3vw,48px);padding:25px 0;align-items:center}.why>div>p:last-child{max-width:290px;margin-top:12px;font-size:16px}.venn{width:min(100%,360px);justify-self:center;aspect-ratio:312/182}.venn svg{display:block;width:100%;height:auto;font-family:inherit}.strategy{border-left:1px solid #bccbda;padding:28px 0 28px 30px;color:var(--ink);font-size:16px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1.5}.strategy span{display:block;width:49px;height:2px;background:var(--green);margin-top:15px}.impact{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:24px;align-items:center;padding:27px 0;border-top:1px solid var(--line)}.metric{min-width:0;border-left:1px solid #cbd4df;padding-left:clamp(16px,2.5vw,38px)}.metric strong{font-size:36px;font-weight:600;letter-spacing:-.045em;line-height:1.1}.metric p{font-size:16px;line-height:1.35;margin-top:8px}.founder{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;padding:24px 0;align-items:center}.portrait{display:block;width:200px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px}.founder h2{font-size:25px}.founder .eyebrow{margin-bottom:5px}.founder .role{color:var(--green);font-size:15px;font-weight:400;margin:4px 0 10px}.founder p:last-child{font-size:16px;line-height:1.5;max-width:740px}.process{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(4,minmax(0,1fr));gap:28px;padding:27px 0}.process>div{padding-top:8px}.process h2{font-size:28px}.number{display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--pale);color:var(--green);font-size:15px;font-weight:500;margin-bottom:6px}.process article{position:relative;min-width:0}.process article:not(:last-child):after{content:'→';position:absolute;right:-19px;top:12px;font-size:24px;color:#536987}.process h3{margin-bottom:5px}.process article p{font-size:14px;max-width:185px}.contact{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 30px;border-radius:8px;background:linear-gradient(115deg,#006252,#005344);color:#fff}.contact>div{min-width:0}.contact .eyebrow,.contact p{color:#f1fbf7}.contact .eyebrow{margin-bottom:5px}.contact h2{font-size:30px;margin-bottom:5px}.contact p{font-size:15px}.light{flex-shrink:0;background:#f8fcfa;color:var(--ink);min-width:147px;border-color:#dceae6;box-shadow:0 3px 7px #002c3320}.light span{color:var(--green)}footer{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:22px 0;font-size:14px;color:var(--muted)}footer .logo{width:75px;height:26px}footer nav{display:flex;flex-wrap:wrap;gap:24px;margin-left:auto}.copyright{border-left:1px solid #bac9d9;padding-left:24px}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.hero{gap:22px}.hero h1{font-size:clamp(32px,4.2vw,44px)}.eyebrow{font-size:14px}.services{grid-template-columns:repeat(3,minmax(0,1fr))}.services>div{grid-column:1/-1;padding:0 0 4px}.services>div h2 br{display:none}.services article{padding:20px}.stages{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);gap:10px}.stage p{font-size:14px}.why{gap:22px}.strategy{font-size:14px;padding-left:20px}.impact{gap:16px}.process{gap:22px}.process h2{font-size:25px}.process article:not(:last-child):after{right:-16px}.copyright{border:0;padding:0}}
@media(max-width:800px){.header{min-height:72px;position:relative}.menu{display:flex;align-items:center;gap:12px;background:white;border:1px solid #d6e7e0;border-radius:5px;padding:10px 12px;min-height:44px;color:var(--green);font-size:14px}.header nav{display:none;position:absolute;top:65px;right:0;left:0;z-index:10;padding:20px;background:white;border:1px solid var(--line);box-shadow:0 12px 25px #00382a10;border-radius:8px;font-size:16px}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.hero{grid-template-columns:1fr;gap:28px;padding:24px 0 30px}.hero h1{font-size:clamp(34px,7.5vw,48px)}.hero .desktop{display:none}.intro{font-size:18px;max-width:480px}.contours{top:auto;bottom:0;width:100%;height:52%}.chart{max-width:610px;width:100%;justify-self:center}.stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}.stages>div:first-child{grid-column:1/-1}.stages h2 br{display:none}.flow-arrow{display:none}.services article{padding:18px}.services h3{font-size:16px}.services article p{font-size:14px}.why{grid-template-columns:1fr 1fr;gap:25px}.strategy{grid-column:1/-1;min-height:0;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;text-align:center}.strategy br{display:none}.strategy span{margin:12px auto 0}.impact{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}.impact>div:first-child{grid-column:1/-1}.impact h2 br{display:none}.metric{padding-left:14px}.metric p{font-size:14px}.founder{grid-template-columns:180px minmax(0,1fr);gap:24px}.portrait{width:180px}.founder h2{font-size:23px}.process{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.process>div{grid-column:1/-1;padding:0}.process h2 br{display:none}.process article:after{display:none}.contact{padding:24px;flex-wrap:wrap}.contact h2{font-size:28px}footer nav{margin-left:0}.copyright{width:100%}}
@media(max-width:560px){.hero h1{font-size:clamp(31px,8.7vw,44px)}.actions{gap:12px}.actions .button{flex:1;padding-inline:12px}.chart>svg{display:none}.growth-steps{display:grid;list-style:none;counter-reset:growth;padding:0;margin:12px 0 0;gap:0}.growth-steps li{counter-increment:growth;display:flex;align-items:center;gap:14px;position:relative;min-height:52px;font-size:15px}.growth-steps li:before{content:counter(growth,decimal-leading-zero);display:grid;place-items:center;background:#e5f4ed;border:1px solid #cce9dd;color:var(--green);font-size:14px;font-weight:600;width:34px;height:34px;flex:0 0 auto;border-radius:50%;z-index:1}.growth-steps li:not(:last-child):after{content:'';position:absolute;left:17px;top:39px;width:1px;height:25px;background:#b2d8c8}.stage p{font-size:14px}.stage h3{font-size:15px}.icon-disc{width:56px;height:56px}.services{grid-template-columns:1fr;gap:14px}.services article{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:16px;padding:22px}.services h3{margin:0 0 6px;font-size:17px}.services article p{grid-column:2;font-size:16px}.services .icon{grid-row:1/3}.services article p br{display:none}.why{grid-template-columns:1fr}.why>div>p:last-child{max-width:none}.venn{width:min(100%,340px)}.strategy{grid-column:auto}.metric strong{font-size:clamp(27px,7.5vw,34px)}.metric p{font-size:14px;overflow-wrap:anywhere}.founder{grid-template-columns:1fr;gap:20px}.portrait{width:min(100%,260px);height:auto;aspect-ratio:1;justify-self:center}.founder h2{font-size:25px}.founder p:last-child{font-size:16px}.process{grid-template-columns:1fr 1fr;gap:25px 20px}.process article p{font-size:14px}.contact{flex-direction:column;align-items:stretch;padding:24px}.contact .button{width:100%}.contact p{font-size:16px}footer{gap:16px}footer nav{width:100%;gap:24px}.eyebrow{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Revisions from the supplied website brief. */
.hero-band{background:radial-gradient(ellipse at 78% 55%,#eaf7f080 0,transparent 58%),#fff;border-bottom:1px solid #e3efe9}
.hero-band .contours{top:0;right:0;width:70%;height:100%;opacity:.7;mask-image:linear-gradient(to right,transparent,#000 20%);-webkit-mask-image:linear-gradient(to right,transparent,#000 20%)}
.hero-band .outline{background:#ffffffa6}
.metric-context{display:block;color:var(--muted);font-size:14px;line-height:1.5;margin-top:6px}
@media(min-width:801px){
 .stages{padding-block:64px;border-top:0}
 .services{padding-block:64px;align-items:center}
 .services article{padding-block:30px;align-self:stretch}
 .why{padding-block:64px}
 .impact{padding-block:40px}
}
@media(max-width:800px){
 .process,.contact{text-align:center}
 .process article p{margin-inline:auto}
 footer{justify-content:center;text-align:center}
 footer nav{justify-content:center;margin-inline:0;width:100%}
 .copyright{text-align:center}
}
@media(max-width:560px){
 .impact{grid-template-columns:1fr}
 .metric{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1fr);column-gap:16px;border-left:0;border-top:1px solid var(--line);padding:16px 0 0}
 .metric strong{grid-row:1/3;font-size:32px;align-self:center}
 .metric p{font-size:15px;margin:0}
 .metric-context{grid-column:2;font-size:14px;margin-top:4px}
 footer>span:not(.copyright){width:100%}
}

@media(max-width:800px){.hero-band .contours{top:auto;bottom:0;width:100%;height:55%;opacity:.55}}

/* Unified, locally bundled type and balanced banner spacing. */
body,button,input,select,textarea,svg text{font-family:'DM Sans',Arial,sans-serif}
body{font-size:17px;line-height:1.5}
.header{min-height:72px}
.header nav,.button,.menu{font-size:16px}
.hero{padding-top:12px;padding-bottom:28px;align-items:start}
.hero-copy{padding-top:18px}
.chart{align-self:center}
.hero-band{background:radial-gradient(ellipse at 78% 64%,#dff3e978,transparent 53%),linear-gradient(100deg,#fff 35%,#f6fbf8 78%,#fff);border-bottom:1px solid #e0eee8}
.hero-band .contours{opacity:.6;mask-image:linear-gradient(to right,transparent,#000 28%,#000 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 28%,#000 88%,transparent)}
.eyebrow,.services .eyebrow,.founder .eyebrow{font-size:14px;letter-spacing:.14em}
h3,.services h3,.process h3,.stage h3{font-size:18px;font-weight:600}
.services article p,.stage p,.process article p,.metric p,.contact p,.founder .role,.growth-steps li{font-size:16px;line-height:1.5}
.why>div>p:last-child,.founder p:last-child{font-size:17px;line-height:1.55}
.metric-context,footer{font-size:14px}
.chart-label{font-size:16px}
.impact{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.impact>div:first-child{grid-column:1/-1}
.metric{padding-left:24px}
.services article{display:flex;flex-direction:column}
.services article p{max-width:26ch}
@media(max-width:800px){
 .hero{padding-top:12px;gap:24px}
 .hero-copy{padding-top:8px}
 .impact{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .metric{padding-left:16px}
 .services article{display:block}
}
@media(max-width:560px){
 .hero h1{font-size:clamp(32px,8.5vw,44px)}
 .hero .eyebrow{font-size:13px}
 .actions .button{padding-inline:10px}
 .services article{display:grid}
 .services article p{max-width:none}
 .impact{grid-template-columns:1fr;gap:22px}
 .metric{padding:16px 0 0}
 .metric strong{font-size:34px}
 .metric p{font-size:16px}
 .metric-context{font-size:14px}
 .header nav{top:65px}
}

/* Align mobile content to shared gutters and top-aligned rows. */
@media(max-width:800px){
 .stages{align-items:start}
 .stage{display:grid;grid-template-rows:64px auto auto;justify-items:center;align-content:start;row-gap:8px}
 .stage h3{margin:0;line-height:1.3}
 .stage p{margin:0;width:100%;max-width:15ch}
 .process>div:first-child{width:100%;text-align:center;justify-self:stretch}
 .process>div:first-child .eyebrow,.process>div:first-child h2{text-align:center;width:100%;max-width:none;margin-inline:0}
 .process article{align-self:start;text-align:center}
}
@media(max-width:560px){
 :root{--gutter:24px}
 .stage{grid-template-rows:56px auto auto}
 .founder{justify-items:center;text-align:center;gap:22px}
 .founder>div{width:100%;min-width:0}
 .founder .eyebrow,.founder h2,.founder .role,.founder p:last-child{text-align:center}
 .founder p:last-child{max-width:38ch;margin-inline:auto}
 .portrait{width:min(100%,260px);height:auto;aspect-ratio:1;object-fit:contain}
 .process{align-items:start;column-gap:20px}
 .process article p{max-width:18ch;margin-inline:auto}
 .metric{grid-template-columns:minmax(115px,.8fr) minmax(0,1fr);column-gap:14px}
 .metric strong{font-size:clamp(28px,7.3vw,34px);white-space:nowrap}
}
