:root{--ivory:#f4f1e8;--paper:#fbfaf5;--ink:#101a1c;--navy:#17324a;--navy-soft:#29485f;--green:#72d66b;--green-dark:#39773c;--rule:#ccd0c5;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max:1408px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--green-dark);outline-offset:4px}.site-header{width:min(calc(100% - 96px),var(--max));border-bottom:1px solid var(--rule);z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;margin:0 auto;display:grid;position:relative}.brand{letter-spacing:-.02em;align-items:center;gap:12px;width:max-content;font-size:15px;font-weight:750;display:inline-flex}.brand-mark{flex:none;width:38px;height:38px;display:block}nav{align-items:center;gap:34px;display:flex}nav a{color:#405054;font-size:13px;font-weight:650}nav a:hover{color:var(--ink)}.header-cta{border-bottom:1px solid var(--ink);justify-self:end;align-items:center;gap:10px;padding:5px 0;font-size:13px;font-weight:700;display:inline-flex}.hero{width:min(calc(100% - 96px),var(--max));grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:center;gap:clamp(64px,9vw,150px);min-height:690px;margin:0 auto;padding:74px 0 82px;display:grid;position:relative;overflow:hidden}.hero-grid{opacity:.32;background-image:radial-gradient(var(--navy-soft) .8px,transparent .8px);background-size:15px 15px;width:360px;height:250px;position:absolute;inset:42px 0 auto auto;-webkit-mask-image:linear-gradient(135deg,#0000 10%,#000 72%,#0000);mask-image:linear-gradient(135deg,#0000 10%,#000 72%,#0000)}.hero-copy{z-index:1;position:relative}.eyebrow{color:var(--navy-soft);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 26px;font-size:11px;font-weight:800;line-height:1;display:flex}.eyebrow>span{background:var(--green-dark);width:25px;height:2px}h1{max-width:900px;font:400 clamp(58px,6.4vw,106px)/.93 var(--serif);letter-spacing:-.057em;text-wrap:balance;margin:0}.hero-intro{color:#435153;max-width:680px;margin:35px 0 0;font-size:clamp(17px,1.45vw,21px);line-height:1.58}.hero-actions{flex-wrap:wrap;align-items:center;gap:30px;margin-top:42px;display:flex}.button{justify-content:center;align-items:center;gap:22px;min-height:54px;padding:0 23px;font-size:13px;font-weight:800;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:var(--navy)}.text-link{border-bottom:1px solid var(--ink);gap:14px;padding:7px 0;font-size:13px;font-weight:750;display:inline-flex}.hero-aside{z-index:1;align-self:end;padding-bottom:3px;position:relative}.signal-card{border-top:1px solid var(--ink);grid-template-columns:13px 1fr;column-gap:12px;padding:24px 0 28px;display:grid}.signal-dot{background:var(--green);border:2px solid var(--green-dark);border-radius:50%;width:10px;height:10px;margin-top:3px;box-shadow:0 0 0 5px #72d66b3b}.signal-card p,.signal-card strong{grid-column:2;margin:0}.signal-card p{color:#5e6b6d;font-size:12px}.signal-card strong{font:400 23px/1.25 var(--serif);margin-top:5px}.aside-note{border-top:1px solid var(--rule);color:#536164;margin:0;padding:25px 0;font-size:14px;line-height:1.65}.coordinates{border-top:1px solid var(--rule);color:#687577;letter-spacing:.14em;justify-content:space-between;padding-top:17px;font-size:9px;font-weight:800;display:flex}.proof-strip{min-height:130px;padding:28px max(48px,calc((100vw - var(--max))/2));background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:40px;display:flex}.proof-strip>p{color:#c5d3d9;letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px;font-weight:750}.proof-links{align-items:center;gap:clamp(35px,5vw,82px);display:flex}.proof-links a{gap:7px;min-width:210px;display:grid}.proof-links a:hover span{color:var(--green)}.proof-links span{font:400 24px/1 var(--serif);transition:color .18s}.proof-links small{color:#9eb0b8;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.proof-divider{background:#fff3;width:1px;height:47px}.section{padding:120px max(48px,calc((100vw - var(--max))/2))}.section-heading{grid-template-columns:.58fr 1.18fr .68fr;align-items:end;gap:56px;display:grid}.section-heading .eyebrow{align-self:start;padding-top:9px}.section-heading h2,.work h2,.closing h2{font:400 clamp(43px,4.4vw,70px)/1.02 var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:0}.section-heading>p:last-child{color:#536164;margin:0 0 5px;font-size:14px;line-height:1.7}.service-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:76px;display:grid}.service-card{border-right:1px solid var(--rule);flex-direction:column;min-height:385px;padding:28px 34px 30px 0;display:flex}.service-card+.service-card{padding-left:34px}.service-card:last-child{border-right:0;padding-right:0}.service-number{color:var(--green-dark);letter-spacing:.14em;font-size:10px;font-weight:850}.service-card h3{max-width:340px;font:400 30px/1.14 var(--serif);letter-spacing:-.03em;margin:58px 0 20px}.service-card p{color:#536164;max-width:355px;margin:0;font-size:14px;line-height:1.7}.service-card small{color:#627072;letter-spacing:.1em;text-transform:uppercase;margin-top:auto;font-size:9px;font-weight:800}.service-link{border-bottom:1px solid var(--ink);gap:14px;width:max-content;margin-top:22px;padding-bottom:5px;font-size:11px;font-weight:800;display:inline-flex}.service-link:hover{color:var(--green-dark)}.work{background:var(--ink);color:var(--paper)}.work-intro{grid-template-columns:.58fr 1.18fr .68fr;align-items:end;gap:56px;display:grid}.eyebrow-light{color:#9fb0b4}.eyebrow-light>span{background:var(--green)}.work-intro>p:last-child{color:#a8b6b9;margin:0 0 5px;font-size:14px;line-height:1.7}.case-studies{grid-template-columns:1fr 1fr;gap:18px;margin-top:75px;display:grid}.case-study{background:#142125;border:1px solid #405055;flex-direction:column;min-height:390px;padding:31px 33px;display:flex}.case-study-accent{background:var(--navy)}.case-meta,.case-footer{justify-content:space-between;gap:25px;display:flex}.case-meta{color:#91a5aa;letter-spacing:.13em;font-size:9px;font-weight:800}.case-study h3{font:400 clamp(34px,3vw,48px)/1 var(--serif);margin:76px 0 18px}.case-study>p{color:#b9c5c7;max-width:570px;margin:0;font-size:14px;line-height:1.7}.case-footer{color:#9fb0b4;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #506268;margin-top:auto;padding-top:23px;font-size:10px;font-weight:700}.case-footer a{color:var(--paper)}.case-footer a:hover{color:var(--green)}.approach-heading{grid-template-columns:.58fr 1.86fr}.approach-list{border-top:1px solid var(--ink);margin-top:80px}.approach-list article{border-bottom:1px solid var(--rule);grid-template-columns:.35fr .9fr 1.2fr;align-items:center;gap:50px;min-height:150px;display:grid}.approach-list article>span{background:var(--green);width:31px;height:31px;color:var(--ink);border-radius:50%;place-items:center;font-size:11px;font-weight:850;display:grid}.approach-list h3{font:400 24px/1.2 var(--serif);margin:0}.approach-list p{color:#536164;max-width:580px;margin:0;font-size:14px;line-height:1.7}.closing{background:var(--navy);min-height:610px;color:var(--paper);text-align:center;flex-direction:column;align-items:center;padding:115px max(48px,50vw - 500px);display:flex;position:relative;overflow:hidden}.closing .eyebrow{margin-bottom:32px}.closing h2{max-width:900px}.closing>p:not(.eyebrow){color:#c0cdd2;max-width:570px;margin:28px auto 38px;font-size:16px;line-height:1.65}.button-light{z-index:2;background:var(--green);color:var(--ink);position:relative}.button-light:hover{background:#8ee788}.contour{border:1px solid #72d66b2e;border-radius:50%;position:absolute}.contour-one{width:780px;height:780px;bottom:-560px;left:-400px}.contour-two{width:670px;height:670px;top:-480px;right:-360px;box-shadow:0 0 0 45px #72d66b09,0 0 0 90px #72d66b06}footer{min-height:110px;padding:30px max(48px,calc((100vw - var(--max))/2));border-top:1px solid var(--rule);grid-template-columns:1fr 1fr 1fr;align-items:center;display:grid}.footer-brand{font-size:14px}.footer-brand .brand-mark{width:34px;height:34px}footer p{color:#627072;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}footer p:nth-child(2){justify-self:center}footer p:last-child{justify-self:end}.not-found{min-height:100vh;width:min(calc(100% - 96px),var(--max));grid-template-rows:auto 1fr;margin:0 auto;padding:28px 0 80px;display:grid}.not-found>div{align-self:center;max-width:850px;padding:80px 0}.not-found h1{max-width:820px;font-size:clamp(54px,7vw,104px)}.not-found>div>p:not(.eyebrow){color:#536164;max-width:520px;margin:30px 0 38px;font-size:17px;line-height:1.65}.not-found .button{width:max-content}.service-page{background:var(--paper)}.service-hero{min-height:680px;padding:34px max(48px,calc((100vw - var(--max))/2)) 96px;background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.service-hero-grid{width:520px;height:400px;right:max(20px,calc((100vw - var(--max))/2));opacity:.18;background-image:linear-gradient(#72d66b4d 1px,#0000 1px),linear-gradient(90deg,#72d66b4d 1px,#0000 1px);background-size:32px 32px;position:absolute;top:70px;-webkit-mask-image:linear-gradient(135deg,#0000,#000 50%,#0000);mask-image:linear-gradient(135deg,#0000,#000 50%,#0000)}.service-breadcrumb{z-index:1;color:#9fb0b4;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;font-weight:750;display:flex;position:relative}.service-breadcrumb a:hover{color:var(--green)}.service-breadcrumb>span:last-child{color:#d9e2e2}.service-hero-layout{z-index:1;grid-template-columns:minmax(0,1.55fr) minmax(260px,.55fr);align-items:end;gap:clamp(70px,10vw,170px);min-height:500px;display:grid;position:relative}.service-hero h1{max-width:980px;font-size:clamp(54px,6vw,94px)}.service-lede{color:#c8d4d7;max-width:820px;margin:34px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.65}.service-promise{border-top:1px solid #ffffff73;align-self:end;padding:25px 0 4px}.service-promise span{color:var(--green);letter-spacing:.15em;font-size:9px;font-weight:850}.service-promise p{color:#d1dcde;font:400 21px/1.45 var(--serif);margin:16px 0 0}.service-section{padding:115px max(48px,calc((100vw - var(--max))/2))}.service-overview{grid-template-columns:.85fr 1.15fr;gap:clamp(65px,10vw,155px);display:grid}.service-overview h2,.service-section-heading h2,.detail-panel h2,.related-services h2{font:400 clamp(39px,4vw,62px)/1.04 var(--serif);letter-spacing:-.043em;text-wrap:balance;margin:0}.service-overview-copy{padding-top:4px}.service-overview-copy p{color:#445355;max-width:700px;margin:0;font-size:17px;line-height:1.78}.service-overview-copy p+p{margin-top:28px}.capabilities{background:var(--ivory)}.service-section-heading{grid-template-columns:.55fr 1.45fr;align-items:start;gap:60px;display:grid}.service-section-heading .eyebrow{padding-top:10px}.capability-grid{border-top:1px solid var(--ink);border-left:1px solid var(--rule);grid-template-columns:repeat(2,1fr);margin-top:75px;display:grid}.capability-grid article{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;min-height:295px;padding:28px 38px 34px;display:flex}.capability-grid article>span{color:var(--green-dark);letter-spacing:.14em;font-size:9px;font-weight:850}.capability-grid h3{font:400 29px/1.15 var(--serif);letter-spacing:-.025em;margin:62px 0 16px}.capability-grid p{color:#536164;max-width:520px;margin:0;font-size:14px;line-height:1.72}.service-details{grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0;display:grid}.detail-panel{background:var(--paper);border:1px solid var(--rule);min-height:610px;padding:84px clamp(35px,5vw,76px)}.detail-panel-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.detail-panel h2{max-width:530px;font-size:clamp(38px,3.8vw,56px)}.detail-panel ul{border-top:1px solid var(--rule);margin:55px 0 0;padding:0;list-style:none}.detail-panel-dark ul{border-color:#415156}.detail-panel li{border-bottom:1px solid var(--rule);color:#4d5d5f;padding:20px 0 20px 32px;font-size:14px;line-height:1.55;position:relative}.detail-panel-dark li{color:#c1ced0;border-color:#415156}.detail-panel li:before{content:"→";color:var(--green-dark);font-weight:800;position:absolute;left:0}.detail-panel-dark li:before{color:var(--green)}.related-services{background:var(--paper)}.related-services h2{max-width:800px}.related-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr);margin-top:65px;display:grid}.related-grid a{border-right:1px solid var(--rule);grid-template-columns:1fr auto;align-content:space-between;min-height:190px;padding:25px 30px 28px 0;display:grid}.related-grid a+a{border-right:0;padding-left:30px}.related-grid small{color:#637174;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:9px;font-weight:800}.related-grid span{max-width:480px;font:400 25px/1.2 var(--serif);align-self:end}.related-grid b{color:var(--green-dark);align-self:end}.related-grid a:hover span{color:var(--navy)}.service-closing{min-height:570px}@media (max-width:1000px){.site-header,.hero{width:min(calc(100% - 48px),var(--max))}.site-header{grid-template-columns:1fr auto}nav{display:none}.hero{grid-template-columns:1fr;gap:70px;min-height:auto;padding:90px 0 70px}.hero-aside{max-width:520px}.section-heading,.work-intro{grid-template-columns:1fr 1.6fr}.section-heading>p:last-child,.work-intro>p:last-child{grid-column:2}.service-card{min-height:420px}.approach-list article{grid-template-columns:.2fr .8fr 1.2fr}.service-hero-layout{grid-template-columns:1fr;gap:60px;padding-top:110px}.service-promise{max-width:560px}}@media (max-width:760px){.site-header{min-height:76px}.header-cta{background:var(--ink);color:#fff;border:0;justify-content:center;width:38px;height:38px;padding:0;font-size:0}.header-cta span{font-size:16px}.hero{padding-top:70px}h1{font-size:clamp(52px,15vw,78px)}.proof-strip{flex-direction:column;align-items:flex-start}.proof-links{justify-content:space-between;width:100%}.proof-links a{min-width:0}.section{padding-top:86px;padding-bottom:86px}.section-heading,.work-intro,.approach-heading{grid-template-columns:1fr;gap:20px}.section-heading>p:last-child,.work-intro>p:last-child{grid-column:auto;max-width:560px}.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card,.service-card:last-child{border-right:0;border-bottom:1px solid var(--rule);min-height:310px;padding:28px 0}.service-card h3{margin-top:45px}.case-studies{grid-template-columns:1fr}.approach-list article{grid-template-columns:45px 1fr;gap:12px 20px;min-height:0;padding:35px 0}.approach-list p{grid-column:2}.closing{min-height:550px;padding-top:90px;padding-bottom:90px}footer{grid-template-columns:1fr auto;gap:24px}footer p:nth-child(2){display:none}.service-hero{min-height:auto;padding-top:25px;padding-bottom:75px}.service-hero-layout{min-height:0;padding-top:90px}.service-breadcrumb{white-space:nowrap;overflow:hidden}.service-overview,.service-section-heading{grid-template-columns:1fr;gap:35px}.service-section{padding-top:82px;padding-bottom:82px}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:250px}.service-details{grid-template-columns:1fr;padding:0}.detail-panel{min-height:0;padding-top:72px;padding-bottom:72px}.related-grid{grid-template-columns:1fr}.related-grid a,.related-grid a+a{border-right:0;border-bottom:1px solid var(--rule);padding:25px 0}}@media (max-width:520px){.site-header,.hero{width:calc(100% - 40px)}.section,.proof-strip,.closing,footer{padding-left:20px;padding-right:20px}.hero-actions{flex-direction:column;align-items:flex-start}.button{width:100%}.proof-links{flex-direction:column;align-items:flex-start;gap:24px}.proof-divider{width:100%;height:1px}.case-study{min-height:410px;padding:26px 22px}.case-footer{flex-direction:column;align-items:flex-start;gap:12px}.not-found{width:calc(100% - 40px)}.not-found .button{width:100%}.service-hero,.service-section{padding-left:20px;padding-right:20px}.service-hero h1{font-size:clamp(48px,14vw,66px)}.service-promise p{font-size:19px}.capability-grid article{padding-left:22px;padding-right:22px}.detail-panel{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
