:root{--green:#19a94b;--green-dark:#107e38;--ink:#1b211e;--muted:#606d64;--line:#dce4de;--soft:#f2f6f3;--white:#fff;--gutter:clamp(24px,5.5vw,88px);--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green-dark);outline-offset:6px}button{cursor:pointer}::selection{background:#c7f2d3;color:var(--ink)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:16px}.skip-link:focus{top:10px}
.site-header{height:110px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{width:164px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:42px}nav a{font-size:14px;font-weight:500;padding:12px 0;position:relative}nav a:not(.nav-contact):after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after{transform:scaleX(1)}.nav-contact{margin-left:30px;border:1px solid var(--ink);padding:13px 26px;transition:background .2s}.nav-contact:hover{background:var(--soft)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:710px}.hero-copy{padding:76px 4vw 35px var(--gutter);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.13em;color:var(--green-dark);text-transform:uppercase;margin:0 0 32px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{width:27px;height:2px;background:var(--green);flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(54px,5.9vw,92px);line-height:1.025;margin:0}em{font-family:var(--serif);font-weight:400}h1 em{color:var(--green)}.hero-description{font-size:17px;color:var(--muted);line-height:1.7;max-width:480px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 23px;font-size:14px;font-weight:600;line-height:1.45;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green-dark);color:white}.button-green:hover{background:#08632a}.quiet-link{font-size:14px;padding:6px 0;border-bottom:1px solid var(--ink);display:inline-block}.quiet-link:hover{color:var(--green-dark);border-color:var(--green-dark)}.hero-footnote{margin:auto 0 0;padding-top:55px;display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:12px;letter-spacing:.075em;color:var(--muted)}.hero-footnote span{color:#aeb7b1}.hero-photo{position:relative;overflow:hidden;min-height:710px;background:var(--soft)}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.photo-caption{position:absolute;left:0;bottom:0;background:var(--green);color:#0a321b;padding:34px 40px 36px;width:min(84%,400px)}.photo-caption>span{font-size:12px;letter-spacing:.15em;font-weight:600}.photo-caption p{font-family:var(--serif);font-size:35px;line-height:1.14;letter-spacing:-.025em;margin:17px 0 0}.photo-index{position:absolute;top:29px;right:27px;padding:9px 13px;background:#ffffffeb;font-size:12px;letter-spacing:.075em}.brand-promise{padding:28px var(--gutter);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand-promise p{margin:0;font-size:19px;letter-spacing:-.01em}.brand-promise em{color:var(--green-dark)}.brand-promise>span{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.section-pad{padding:105px var(--gutter)}.section-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:38px}.section-top .eyebrow{margin:0}.section-aside{font-size:14px;line-height:1.5;color:var(--muted);margin:0}h2{font-size:clamp(42px,4.3vw,66px);line-height:1.08;margin:0}h2 em{color:var(--green-dark)}.expertise-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:9vw}.section-intro{position:sticky;top:165px;align-self:start}.section-intro>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:335px;margin:28px 0}.service-list{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:29px 1fr;gap:20px;padding:31px 0;border-bottom:1px solid var(--line)}.service-number{font-size:13px;color:var(--green-dark);padding-top:6px;font-weight:500}.service h3{font-size:24px;font-weight:500;letter-spacing:-.025em;line-height:1.2;margin:0 0 15px}.service p{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:17px}.service .service-tags{font-size:12px;letter-spacing:.04em;color:var(--green-dark);font-weight:600;margin-bottom:0;line-height:1.7}.service-tags span{padding:0 5px}
.focus{background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:7.5vw;align-items:center}.focus-image{height:640px;position:relative}.focus-image img{width:100%;height:100%;object-fit:cover}.focus-image>span{position:absolute;bottom:24px;left:24px;padding:12px 17px;background:white;font-size:12px;letter-spacing:.1em}.focus-copy>.eyebrow{margin-bottom:26px}.focus-copy>p:not(.eyebrow){margin:26px 0;color:var(--muted);font-size:17px;line-height:1.65;max-width:395px}.focus-types{margin-top:30px}.focus-types article{border-top:1px solid #cdd8cf;padding:21px 0 2px}.focus-types h3{font-size:18px;font-weight:500;letter-spacing:-.015em;margin-bottom:9px}.focus-types p{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:20px}
.approach{padding-bottom:110px}.approach h2{margin-bottom:48px}.process-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);gap:24px}.process-tabs button{text-align:left;padding:20px 0 22px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:24px;letter-spacing:-.025em;color:#748078;display:flex;align-items:center;gap:18px}.process-tabs button span{font-size:13px;font-family:var(--sans);letter-spacing:0}.process-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}.process-tabs button[aria-selected="true"] span{color:var(--green-dark)}.process-tabs button:hover{color:var(--green-dark)}.process-panel{display:grid;grid-template-columns:1fr 1fr;gap:7.5vw;padding:42px 0 0;min-height:305px}.process-panel[hidden]{display:none}.panel-label{font-size:12px;letter-spacing:.1em;color:var(--green-dark);margin-bottom:23px;font-weight:600}.process-panel h3{font-size:36px;line-height:1.12;letter-spacing:-.03em;font-weight:400;margin-bottom:0}.process-panel>div>p:not(.panel-label){font-size:17px;line-height:1.7;color:var(--muted);max-width:500px}.process-panel ul{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:12px}.process-panel li{display:flex;gap:14px;font-size:15px;line-height:1.5}.process-panel li:before{content:"";display:block;width:15px;height:1px;background:var(--green);margin-top:11px;flex-shrink:0}
.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:7.5vw}.about-copy>p{font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:22px}.about-copy>p.large-copy{font-size:26px;line-height:1.4;letter-spacing:-.02em;color:var(--ink)}.independence-note{border-left:3px solid var(--green);margin-top:32px;padding-left:23px}.independence-note h3{font-size:16px;font-weight:600;margin-bottom:10px}.independence-note p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}
.contact{background:var(--green);display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;color:#0a321b}.contact .eyebrow{color:#123e22}.contact h2{font-size:clamp(45px,5vw,76px);line-height:1.06}.contact h2 em{color:#0a321b}.contact-details{padding-top:45px;max-width:410px}.contact-details>p{font-size:18px;line-height:1.7;margin-bottom:27px}.button-ink{color:#fff;background:var(--ink)}.button-ink:hover{background:#0b321c}.contact .person{display:flex;flex-direction:column;gap:6px;margin-top:37px;margin-bottom:21px}.person strong{font-size:17px;font-weight:600}.person span{font-size:14px}.contact-link{display:block;font-size:19px;margin:10px 0;width:fit-content}.contact-link:hover{text-decoration:underline}.contact a:focus-visible{outline-color:var(--ink)}
.site-footer{padding:55px var(--gutter) 28px}.footer-top{display:grid;grid-template-columns:185px 1fr auto;align-items:center;gap:65px}.footer-brand{display:block;width:150px}.footer-brand img{width:100%;height:auto}.footer-top>p{margin:0;font-size:17px;line-height:1.5}.footer-top>p em{color:var(--green-dark)}.footer-nav{display:flex;gap:24px;font-size:14px}.footer-nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:36px;font-size:12px;color:var(--muted)}.footer-bottom a{color:var(--green-dark)}
@media(min-width:1700px){body{max-width:1920px;margin-inline:auto}.hero{min-height:800px}.hero-photo{min-height:800px}.hero-copy{padding-top:100px}}
@media(max-width:1150px){nav{gap:28px}.nav-contact{margin-left:10px}.hero-copy{padding-top:60px}.hero{min-height:720px}.hero-photo{min-height:720px}.hero-actions{gap:15px}.hero-footnote{font-size:12px;gap:9px}.expertise-layout{gap:6vw}.focus{gap:5vw}.focus-image{height:600px}.photo-caption{padding:30px}.brand-promise>span{display:none}.footer-top{gap:35px}.footer-nav{gap:16px}}
@media(max-width:900px){.site-header{height:95px}.brand{width:145px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:46px 25px 30px var(--gutter)}h1{font-size:clamp(48px,6vw,70px)}.hero .eyebrow{font-size:12px;letter-spacing:.06em}.hero .eyebrow span{display:none}.hero-description{font-size:16px}.hero-footnote{line-height:1.6}.hero-footnote span{display:none}.hero-photo{min-height:690px}.hero{min-height:690px}.photo-caption{padding:25px;width:90%}.photo-caption p{font-size:30px}.photo-caption>span{font-size:12px}.section-pad{padding:80px var(--gutter)}.service{gap:12px}.service h3{font-size:22px}.expertise-layout{grid-template-columns:.85fr 1.15fr;gap:4vw}.service-tags span{padding:0 2px}.focus{grid-template-columns:1fr;gap:45px}.focus-image{height:460px}.focus-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.focus-copy>.eyebrow{grid-column:1/-1}.focus-types{grid-column:2;grid-row:2/4;margin-top:0}.focus-copy>p:not(.eyebrow){grid-column:1}.process-tabs button{font-size:21px;gap:12px}.about{gap:5vw}.contact{gap:5vw}.footer-top{grid-template-columns:150px 1fr;gap:25px}.footer-nav{grid-column:1/-1;margin-top:5px}}
@media(max-width:700px){html{scroll-padding-top:88px}.site-header{height:88px}.brand{width:134px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;font-size:14px;min-height:44px;padding:10px 0 10px 10px}.menu-toggle span{display:grid;gap:6px;width:20px}.menu-toggle i{display:block;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;top:87px;left:0;right:0;background:white;padding:18px var(--gutter) 27px;border-bottom:1px solid var(--line);box-shadow:0 12px 16px #1b211e0a}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px}nav a{font-size:17px;padding:12px 0}.nav-contact{margin:10px 0 0;padding:13px 18px;text-align:center}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px var(--gutter) 32px}.hero .eyebrow{margin-bottom:27px;font-size:12px;letter-spacing:.09em}.hero .eyebrow span{display:block;width:20px}h1{font-size:clamp(48px,10.7vw,72px);line-height:1.05}.hero-description{max-width:510px;font-size:16px;margin:25px 0}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-actions .button{padding:16px 20px}.hero-footnote{padding-top:33px;gap:9px;font-size:12px}.hero-footnote span{display:block}.hero-photo{min-height:410px;height:410px}.hero-photo>img{object-position:center 42%}.photo-caption{padding:25px 28px;width:285px}.photo-caption p{font-size:29px;margin-top:12px}.photo-index{top:20px;right:20px}.brand-promise{padding:25px var(--gutter)}.brand-promise p{font-size:17px;line-height:1.5}.brand-promise em{display:block}.section-pad{padding:65px var(--gutter)}.section-top{margin-bottom:30px}.section-aside{display:none}.expertise-layout{grid-template-columns:1fr;gap:37px}.section-intro{position:static}.section-intro h2 br:nth-child(2){display:none}h2{font-size:43px}.section-intro>p{max-width:470px;margin:23px 0}.service{grid-template-columns:25px 1fr;gap:12px;padding:28px 0}.service h3{font-size:23px}.service p{font-size:16px}.focus{gap:35px}.focus-image{height:350px}.focus-image>span{font-size:12px;bottom:17px;left:17px}.focus-copy{display:block}.focus-types{margin-top:28px}.focus-copy>p:not(.eyebrow){max-width:450px}.approach h2{margin-bottom:32px}.process-tabs{gap:12px}.process-tabs button{font-size:17px;gap:12px;flex-direction:column;align-items:flex-start;padding:16px 0}.process-tabs button span{font-size:12px}.process-panel{grid-template-columns:1fr;gap:25px;padding-top:32px;min-height:415px}.process-panel h3{font-size:32px}.panel-label{margin-bottom:17px}.process-panel>div>p:not(.panel-label){font-size:16px;margin-bottom:15px}.process-panel ul{margin-top:18px;gap:10px}.about{grid-template-columns:1fr;gap:30px}.about .eyebrow{margin-bottom:26px}.about-copy>p.large-copy{font-size:24px}.about-copy>p{font-size:16px}.contact{grid-template-columns:1fr;gap:28px}.contact h2{font-size:clamp(44px,10.7vw,60px)}.contact-details{padding-top:0;max-width:460px}.contact-details>p{font-size:17px}.contact .button{padding:16px 19px}.contact .person{margin-top:30px}.site-footer{padding:36px var(--gutter) 25px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-brand{width:145px}.footer-top>p{font-size:17px}.footer-nav{grid-column:auto;gap:27px;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:14px;margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-details .button + .contact-link{margin-top:32px}
