@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#151c25;--lime:#006039;--muted:#667078;--line:#dce0e2;--paper:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #006039;outline-offset:5px}header,section,.technology-strip,footer{padding-left:max(6vw,24px);padding-right:max(6vw,24px)}header{min-height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.1px;white-space:nowrap}.brand span{color:#006039;padding:0 3px}.brand .brand-dot{padding:0}nav{display:flex;gap:30px;font-size:14px}.nav-contact{font-size:14px;border-bottom:1px solid;padding-bottom:4px}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:55px;padding-top:78px;padding-bottom:76px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 28px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.1;letter-spacing:-2.4px;margin:0;font-weight:600}h1{font-size:clamp(42px,4.7vw,74px)}em{font-style:normal;color:#006039}h1 em{display:inline-block}.intro{font-size:20px;color:#525e67;max-width:530px;margin:28px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 22px;font-size:14px;font-weight:700;border:1px solid transparent;cursor:pointer;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.lime{background:var(--lime);color:var(--ink)}.lime:hover{background:#004d2e}.outline{border-color:#aab1b5}.outline:hover{background:#eef5f1}.dark{background:var(--ink);color:#fff}.hero-note{font-size:12px;color:var(--muted);margin-top:26px}.hero-panel{background:var(--ink);color:#f7f8f4;padding:28px 30px 20px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;border-radius:4px}.panel-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px;color:#b6c0c7}.panel-type{font-family:Manrope,Arial,sans-serif;font-size:clamp(60px,6.5vw,96px);letter-spacing:-5px;line-height:1.05;font-weight:500;padding:24px 0}.panel-type span{color:var(--lime)}.panel-bottom{border-top:1px solid #46505b;display:flex;align-items:center;justify-content:space-between;padding-top:18px;font-size:13px;color:#cad0d5}.stack-mark{font-size:55px;line-height:1;color:var(--lime)}.technology-strip{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-block:1px solid var(--line);padding-top:26px;padding-bottom:26px;color:#6b747b;font-size:17px;font-weight:500}.section{padding-top:95px;padding-bottom:95px}.section-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:20px 80px;margin-bottom:50px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}h2{font-size:clamp(32px,3.3vw,49px);letter-spacing:-1.8px}.section-heading>p:last-child{align-self:end;color:var(--muted);margin:0;font-size:17px}.specialism-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.specialism-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:22px}.number{font-size:12px;color:var(--muted)}h3{font-size:23px;letter-spacing:-.7px}.specialism-grid p{font-size:15px;margin:0;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tags span{font-size:12px;border:1px solid #cbded3;padding:3px 8px;border-radius:3px}.featured{background:#eef5f1}.approach{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.approach .eyebrow{color:#bac2c7}.approach em{color:var(--lime)}.approach-intro{max-width:430px;color:#b6c0c7;margin-top:30px;font-size:17px}.steps article{border-top:1px solid #48505a;padding:28px 0;display:flex;gap:24px}.steps article:last-child{border-bottom:1px solid #48505a}.steps article>span{color:var(--lime);font-size:13px}.steps p{color:#b6c0c7;font-size:15px;margin-bottom:0}.candidate{display:grid;grid-template-columns:1fr 2fr;gap:80px;background:#f1f6f3}.candidate-label>span{font-family:Manrope,Arial,sans-serif;font-size:180px;line-height:1.1;font-weight:500;color:#a9c6b6}.candidate>div>p:not(.eyebrow){max-width:620px;font-size:18px;color:#51665c}.candidate-values{display:flex;gap:25px;flex-wrap:wrap;border-block:1px solid #cbded3;margin:28px 0;padding:18px 0;font-size:14px}.conversation{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.conversation>div>p:last-child{max-width:420px;color:var(--muted);font-size:18px}.conversation form{display:flex;flex-direction:column;gap:10px}.conversation label,legend{font-size:14px;font-weight:500}fieldset{border:0;padding:0;margin:0 0 14px}.audience{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.audience label{display:flex;gap:8px;align-items:center}input:not([type=radio]),select,textarea{padding:12px;border:1px solid #cbd1d4;background:#fff;border-radius:3px;width:100%;margin-bottom:8px;color:var(--ink)}textarea{resize:vertical}input[type=radio]{accent-color:#006039;width:17px;height:17px}.form-note{font-size:12px;color:var(--muted);margin:3px 0}#form-status{font-size:14px;margin:0;color:#006039}footer{border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:13px;color:var(--muted)}@media(min-width:1600px){header,section,.technology-strip,footer{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}@media(max-width:1000px){nav{gap:16px}.hero{gap:28px}.hero-panel{min-height:380px}.hero-actions .button{width:100%}.specialism-grid{grid-template-columns:repeat(2,1fr)}.approach,.conversation{gap:40px}.candidate{gap:35px}.section-heading{gap:25px}.brand{font-size:22px}}@media(max-width:700px){header{min-height:82px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}nav{order:3;width:100%;justify-content:space-between;font-size:12px;gap:10px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:32px}h1{font-size:46px;letter-spacing:-2px}.eyebrow{font-size:11px;margin-bottom:20px}.intro{font-size:18px}.hero-actions .button{width:auto}.hero-panel{min-height:360px}.panel-type{font-size:75px}.technology-strip{font-size:14px;justify-content:flex-start;gap:15px 25px}.section{padding-top:55px;padding-bottom:55px}.section-heading,.approach,.candidate,.conversation{grid-template-columns:1fr;gap:28px}.section-heading{margin-bottom:30px}.specialism-grid{grid-template-columns:1fr}.specialism-grid article{padding:25px}.candidate-label>span{display:none}.candidate-values{gap:16px}.candidate>div>p:not(.eyebrow){font-size:16px}.conversation{gap:35px}footer{flex-wrap:wrap}footer p{display:none}h2{font-size:36px}.hero-note{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Deep green palette with readable accents on dark surfaces. */
.lime{color:#fff}.panel-type span,.stack-mark,.approach em,.steps article>span{color:#8fc7ac}

.brand span{padding:0}

/* Green surfaces replace the charcoal panels. */
.hero-panel,.approach,.dark{background:#006039}
.panel-top,.panel-bottom,.approach .eyebrow,.approach-intro,.steps p{color:#e0eee6}
.panel-bottom,.steps article,.steps article:last-child{border-color:#4c9071}
.panel-type span,.stack-mark,.approach em,.steps article>span{color:#d2eadc}
.dark:hover{background:#004d2e}

/* Lighter surfaces with restrained green accents. */
.hero-panel{background:#f2f4f3;color:var(--ink);border:1px solid #dce3df}
.panel-top,.panel-bottom{color:#53665b}
.panel-type span,.stack-mark{color:#006039}
.panel-bottom{border-color:#ccd8d0}
.approach{background:#fff;color:var(--ink);border-block:1px solid var(--line)}
.approach .eyebrow,.approach-intro,.steps p{color:#667078}
.approach em,.steps article>span{color:#006039}
.steps article,.steps article:last-child{border-color:#dce0e2}
.candidate{background:#f5f6f5}
.featured{background:#f6f8f7}
