@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#12303f;--ink:#14323e;--jade:#168f7d;--mint:#c8e5dc;--paper:#f8f7f2;--line:#dce2df;--muted:#60716f;--white:#fff;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.nav,.button,.eyebrow{font-family:Manrope,Arial,sans-serif}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(44px,5.8vw,84px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:26px}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--mint);color:var(--navy)}:focus-visible{outline:3px solid var(--jade);outline-offset:6px}.wrap{width:min(1280px,calc(100% - 104px));margin-inline:auto}.section{padding:104px 0}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.19em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:24px}.eyebrow:before{content:'';width:25px;height:1px;background:var(--jade)}.eyebrow.light{color:var(--mint)}.eyebrow.light:before{background:var(--mint)}.lead{font-size:18px;line-height:1.8;max-width:610px;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--jade);color:white;padding:16px 24px;font-size:13px;font-weight:650;border:1px solid transparent;transition:background .2s,transform .2s;min-height:54px}.button:hover{background:#0f7566;transform:translateY(-2px)}.button.light{background:var(--mint);color:var(--navy)}.button.outline{background:transparent;border-color:#bbc9c6;color:var(--navy)}.button.outline:hover{background:#e9efea}.text-link{display:inline-flex;gap:30px;align-items:center;font-family:Manrope,Arial,sans-serif;font-size:13px;font-weight:700;border-bottom:1px solid var(--jade);padding-bottom:7px;margin-top:26px}.arrow{display:inline-block;font-size:21px;font-weight:400;line-height:1}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:36px}.skip{position:fixed;left:15px;top:-100px;background:var(--navy);color:white;padding:12px 24px;z-index:100}.skip:focus{top:15px}.site-header{height:100px;background:rgba(248,247,242,.97);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(18,48,63,.09);backdrop-filter:blur(15px)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.brand{display:block;width:205px;flex-shrink:0}.brand img{width:100%;height:auto}.nav{display:flex;gap:29px;align-items:center;font-size:12px;font-weight:650}.nav a:not(.nav-cta){position:relative;padding:14px 0}.nav a[aria-current=page]:after,.nav a:not(.nav-cta):hover:after{content:'';position:absolute;left:0;bottom:5px;height:2px;width:18px;background:var(--jade)}.nav-cta{padding:12px 18px;border:1px solid #bac7c4;display:flex;gap:24px;align-items:center}.nav-cta:hover{background:var(--mint);border-color:var(--mint)}.menu-toggle{display:none;background:none;border:1px solid var(--line);width:46px;height:44px;font-size:22px;color:var(--navy)}
.home-hero{background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:76px 0 64px;position:relative;z-index:2;padding-right:35px}.home-hero h1{font-size:clamp(54px,5.6vw,82px);font-weight:500}.home-hero h1 em{font-style:normal;color:var(--mint)}.hero-copy>p{font-size:16px;color:#bdcdce;max-width:430px;margin-top:28px;line-height:1.85}.hero-copy .actions{margin-top:33px}.hero-copy .text-link{color:#e9f1ec;margin:0;border-color:#54716f}.hero-image{position:relative;margin-right:calc((1280px - 100vw)/2);min-width:0}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:62% center;position:absolute;inset:0}.hero-image:before{content:'';position:absolute;left:0;top:0;bottom:0;width:90px;background:linear-gradient(90deg,var(--navy),transparent);z-index:1}.hero-index{font-size:10px;letter-spacing:.16em;color:#a3b7b8;display:flex;gap:16px;align-items:center;margin-top:54px}.hero-index span{width:45px;height:1px;background:#55716f}.hero-note{position:absolute;bottom:35px;left:40px;z-index:2;color:#fff;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.intro-strip{background:var(--mint);padding:24px 0}.intro-strip .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.intro-strip span{font-size:12px;font-weight:600}.intro-strip .strip-link{font-size:12px;display:flex;gap:24px;align-items:center;white-space:nowrap}.section-header{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:46px}.section-header h2{max-width:630px}.section-header>p{max-width:350px;font-size:14px;line-height:1.9}.section-header .text-link{white-space:nowrap}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-grid .body-copy p+p{margin-top:22px}.numberline{display:flex;gap:42px;margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.numberline strong{font-family:Manrope,sans-serif;font-size:32px;font-weight:500;display:block;line-height:1.3;letter-spacing:-.04em}.numberline span{font-size:11px;color:var(--muted)}.services-section{background:#eeefea}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfd9d4;border-left:1px solid #cfd9d4}.service-card{display:flex;flex-direction:column;min-height:292px;padding:29px 25px 24px;border-right:1px solid #cfd9d4;border-bottom:1px solid #cfd9d4;transition:background .25s}.service-card:hover{background:var(--navy);color:white}.service-card .service-no{font-size:10px;letter-spacing:.13em;color:#82948b;margin-bottom:38px}.service-card h3{font-size:22px;letter-spacing:-.03em;max-width:230px}.service-card p{font-size:12px;line-height:1.8;margin-top:15px;max-width:230px}.service-card:hover p{color:#bccfca}.service-card .arrow{align-self:flex-end;margin-top:auto;padding-top:17px;color:var(--jade)}.service-card:hover .arrow{color:var(--mint)}.clients{background:#fff;padding:50px 0 60px;border-block:1px solid var(--line)}.clients-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.clients-top p{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.clients-top span{font-size:11px;color:var(--muted)}.logos{display:grid;grid-template-columns:repeat(9,1fr);gap:22px;align-items:center}.logos img{width:100%;height:62px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}.logos img:hover{filter:none;opacity:1}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.engagement{border-top:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:50px 1fr;gap:20px}.engagement>.count{font-size:11px;color:var(--jade);letter-spacing:.1em}.engagement .tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--jade);margin-bottom:15px}.engagement h3{font-size:27px;max-width:480px}.engagement p{font-size:14px;margin-top:20px;line-height:1.85}.engagement .detail{font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:22px}.approach-band{background:var(--navy);color:white}.approach-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:100px}.approach-band .lead{color:#bdcdce;font-size:16px}.process-row{border-top:1px solid #36505b;padding:25px 0;display:grid;grid-template-columns:35px 1fr;gap:22px}.process-row>span{font-size:11px;color:var(--mint)}.process-row h3{font-size:21px;letter-spacing:-.02em}.process-row p{font-size:13px;color:#b1c6c7;margin-top:10px}.cta{background:var(--mint);padding:70px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta h2{max-width:700px;font-size:clamp(34px,3.8vw,52px)}.cta .eyebrow{margin-bottom:18px}.cta .button{background:var(--navy);white-space:nowrap}.site-footer{background:#0c2532;color:#fff;padding:65px 0 24px}.footer-top{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.1fr;gap:55px}.footer-brand img{width:210px;filter:brightness(0) invert(1)}.footer-brand p{color:#a5b9bd;font-size:12px;max-width:250px;margin-top:17px}.footer-title{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#c8e5dc;margin:12px 0 22px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:12px;color:#c3d0d1}.footer-links a:hover{color:var(--mint)}.footer-top address{font-style:normal;color:#c3d0d1;font-size:12px;line-height:1.9}.footer-top address+address{margin-top:17px}.footer-bottom{border-top:1px solid #29424d;display:flex;justify-content:space-between;gap:30px;padding-top:24px;margin-top:58px;color:#93aaaf;font-size:10px}.footer-bottom a:hover{color:white}.page-hero{padding:76px 0 72px;background:#ebefea;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero .wrap{position:relative;z-index:2}.page-hero h1{max-width:980px}.page-hero .lead{max-width:640px;font-size:17px}.page-hero .watermark{position:absolute;width:470px;height:470px;right:-80px;bottom:-240px;transform:rotate(-24deg);border:60px solid #dce8df;pointer-events:none}.breadcrumbs{display:flex;gap:12px;font-size:10px;letter-spacing:.06em;color:var(--muted);margin-bottom:32px}.breadcrumbs a:hover{color:var(--jade)}.intro-title{max-width:480px}.statement{font-size:24px;line-height:1.7;color:var(--navy);letter-spacing:-.025em}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.mission{padding:45px;background:#edf1ec;border-top:3px solid var(--jade)}.mission h3{font-size:32px;margin-bottom:22px}.mission p{font-size:16px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:55px}.principle{border-top:1px solid var(--line);padding-top:28px}.principle span{font-size:11px;color:var(--jade)}.principle h3{font-size:23px;margin-top:24px}.principle p{font-size:14px;margin-top:18px}.image-banner{height:360px;overflow:hidden;position:relative}.image-banner img{height:100%;width:100%;object-fit:cover;object-position:center 70%}.image-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#12303fbb,transparent)}.image-banner .banner-label{position:absolute;bottom:35px;left:52px;color:white;font-size:10px;letter-spacing:.18em;z-index:2}.service-detail-grid{display:grid;grid-template-columns:300px 1fr;gap:90px}.service-sidebar{border-top:1px solid var(--line);align-self:start;position:sticky;top:130px}.service-sidebar a{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}.service-sidebar a[aria-current=page]{font-weight:700;color:var(--jade)}.service-content h2{font-size:39px;margin:0 0 27px}.service-content p+p{margin-top:20px}.service-content h3{font-size:25px;margin:40px 0 20px}.deliverables{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:25px 0 0}.deliverables li{border-top:1px solid var(--line);padding:17px 0;font-size:14px;display:flex;gap:15px;align-items:baseline}.deliverables li:before{content:'↗';color:var(--jade)}.service-fit{margin-top:40px;padding:30px;background:#e8efe9}.service-fit p{font-size:14px}.service-fit .eyebrow{margin-bottom:12px}.filter-bar{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap}.filter-bar button{border:1px solid #c8d3ce;background:transparent;padding:10px 17px;font-size:11px;color:var(--navy)}.filter-bar button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.experience-list{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.experience-list .engagement{padding:35px 0 45px}.profile-note{font-size:12px;max-width:720px;margin-top:30px;border-left:2px solid var(--jade);padding-left:20px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 35px}.team-card .portrait{height:340px;background:#e4e9e3;overflow:hidden;position:relative}.team-card img{height:100%;width:100%;object-fit:cover;object-position:center 25%;filter:grayscale(1);transition:filter .35s,transform .5s}.team-card:hover img{filter:grayscale(0);transform:scale(1.035)}.team-card .team-role{font-size:10px;letter-spacing:.13em;color:var(--jade);text-transform:uppercase;margin-top:24px}.team-card h3{font-size:24px;margin-top:10px}.team-card p{font-size:13px;margin-top:14px}.bio-toggle{background:none;border:0;border-bottom:1px solid var(--jade);padding:0 0 5px;font-size:12px;font-weight:600;color:var(--navy);margin-top:18px}.bio{margin-top:15px}.bio p{margin-top:13px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact-title{font-size:36px;max-width:400px}.office{padding-top:25px;margin-top:30px;border-top:1px solid var(--line)}.office h3{font-size:20px}.office p,.office address{font-size:14px;font-style:normal;line-height:1.9;color:var(--muted);margin-top:12px}.office-links{display:flex;flex-direction:column;gap:10px;font-size:14px;margin-top:25px}.office-links a{color:var(--jade);overflow-wrap:anywhere}.office a:hover{text-decoration:underline}.hours{margin-top:30px;font-size:12px;color:var(--muted)}.form-panel{background:#fff;border:1px solid var(--line);padding:42px}.form-panel h2{font-size:29px}.form-panel>p{font-size:13px;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:30px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:600}.optional{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{border:1px solid #d4dfd9;background:#fafbf8;border-radius:0;color:var(--navy);padding:12px;font-size:13px;width:100%;min-height:48px}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--jade);border-color:var(--jade)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);line-height:1.8;margin-top:24px}.consent input{margin-top:5px;accent-color:var(--jade);width:16px;height:16px;flex-shrink:0}.consent a{text-decoration:underline}.form-panel .button{margin-top:24px;width:100%;justify-content:space-between}.form-note{font-size:10px!important;color:var(--muted);line-height:1.8;margin-top:13px!important}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq{max-width:900px;margin:auto}.faq h2{margin-bottom:35px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-family:Manrope,sans-serif;font-size:16px;font-weight:600;cursor:pointer;padding-right:30px}.faq details p{font-size:14px;max-width:720px;margin-top:17px}.legal{max-width:820px}.legal h2{font-size:25px;margin:35px 0 16px}.legal p,.legal li{font-size:14px}.legal p+p{margin-top:18px}.legal a{text-decoration:underline}.not-found{padding:120px 0;max-width:750px}.not-found p{margin-top:24px}.reveal{animation:enter .7s var(--ease) both}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}
@media(min-width:1384px){.hero-image{margin-right:calc((1280px - 100vw)/2)}}@media(max-width:1383px){.hero-image{margin-right:-52px}}@media(min-width:1700px){.hero-image{margin-right:calc((1280px - 100vw)/2)}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:18px}.brand{width:180px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:260px}.about-grid,.approach-grid{gap:55px}.footer-top{gap:30px}.hero-image{margin-right:-32px}.home-hero h1{font-size:65px}.hero-copy{padding-right:20px}.contact-grid{gap:45px}.service-detail-grid{gap:50px;grid-template-columns:250px 1fr}.logos{gap:18px;grid-template-columns:repeat(5,1fr)}.logos img{height:55px}.team-card .portrait{height:290px}}
@media(max-width:800px){.site-header{height:80px}.brand{width:178px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:24px 32px 32px;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #12303f10}.nav.open{display:flex}.nav a:not(.nav-cta){padding:13px 0}.nav-cta{margin-top:12px;justify-content:space-between}.nav a[aria-current=page]:after{bottom:7px}.section{padding:70px 0}.hero-grid{min-height:0;grid-template-columns:1fr 1fr}.hero-copy{padding:60px 0 52px;grid-column:1/-1;max-width:600px}.home-hero h1{font-size:clamp(52px,8vw,74px)}.hero-image{position:absolute;inset:0 0 0 40%;margin:0;opacity:.24}.hero-image:before{width:80%;background:linear-gradient(90deg,var(--navy),transparent)}.hero-copy>p{color:#d0dedb}.hero-note{display:none}.hero-index{margin-top:42px}.intro-strip span{font-size:11px}.about-grid,.approach-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.section-header{gap:30px;align-items:flex-start}.section-header>p{max-width:270px}.team-grid{grid-template-columns:repeat(2,1fr)}.team-card .portrait{height:340px}.experience-grid{gap:35px}.engagement{grid-template-columns:30px 1fr;gap:12px}.engagement h3{font-size:23px}.footer-top{grid-template-columns:1.4fr 1fr;gap:35px}.cta-inner{gap:30px}.cta h2{font-size:36px}.page-hero{padding:55px 0}.mission-grid{gap:25px}.mission{padding:30px}.principles{gap:30px}.service-detail-grid{grid-template-columns:1fr;gap:40px}.service-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.service-content{grid-row:1}.image-banner{height:290px}.contact-grid{gap:50px}.form-panel{padding:30px}.experience-list{gap:0 35px}.clients-top{gap:20px}.logos{grid-template-columns:repeat(3,1fr);gap:27px}.logos img{height:55px}.hero-index{color:#becdc8}.page-hero .lead{font-size:16px}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.header-inner{gap:20px}.home-hero h1{font-size:54px;letter-spacing:-.055em}.hero-copy{padding:48px 0}.hero-copy>p{font-size:14px;max-width:330px}.hero-copy .actions{gap:22px}.button{font-size:12px;padding:14px 19px;gap:20px}.text-link{font-size:12px}.hero-copy .text-link{font-size:11px}.hero-index{font-size:8px;gap:10px}.intro-strip .wrap{align-items:flex-start;flex-direction:column;gap:10px}.section{padding:58px 0}.section-header{flex-direction:column;gap:22px;margin-bottom:32px}.section-header>p{max-width:none}.section-header .text-link{margin-top:0}.about-grid{gap:27px}.numberline{gap:37px;margin-top:30px}.services-grid{grid-template-columns:1fr 1fr}.service-card{min-height:275px;padding:22px 17px}.service-card h3{font-size:20px}.service-card p{font-size:11px}.service-card .service-no{margin-bottom:28px}.clients{padding:35px 0}.clients-top{flex-direction:column;align-items:flex-start;gap:8px}.logos{gap:20px}.logos img{height:48px}.experience-grid,.experience-list{grid-template-columns:1fr;gap:0}.engagement{padding:27px 0}.engagement h3{font-size:25px}.cta-inner{flex-direction:column;align-items:flex-start}.cta{padding:48px 0}.cta h2{font-size:36px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 25px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:320px}.footer-top>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.footer-top>div:last-child .footer-title{grid-column:1/-1;margin-bottom:8px}.footer-top address+address{margin-top:0}.footer-bottom{flex-direction:column;gap:10px;margin-top:40px}.page-hero h1{font-size:43px}.page-hero{padding:40px 0 48px}.breadcrumbs{margin-bottom:25px}.page-hero .watermark{width:300px;height:300px;right:-170px;bottom:-180px}.statement{font-size:22px}.mission-grid,.principles{grid-template-columns:1fr}.mission{padding:28px}.principles{margin-top:35px;gap:35px}.principle h3{margin-top:16px}.image-banner .banner-label{left:20px;font-size:8px}.image-banner{height:230px}.service-sidebar{grid-template-columns:1fr}.service-content h2{font-size:32px}.deliverables{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr;gap:40px}.team-card .portrait{height:365px}.team-card h3{font-size:26px}.form-panel{padding:25px 20px;margin-inline:-4px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-title{font-size:33px}.faq summary{font-size:15px}.eyebrow{font-size:10px;letter-spacing:.16em}.lead{font-size:16px}.filter-bar{gap:8px}.filter-bar button{font-size:10px;padding:9px 13px}}
.service-content>.button{margin-top:30px}.footer-links a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
