:root{--ink:#182021;--text:#263031;--muted:#626c6c;--accent:#e3f87d;--line:#dce0db;--paper:#f4f5f1;--white:#fff;--max:1280px;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--white);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #5f7406;outline-offset:6px}::selection{color:var(--ink);background:var(--accent)}[hidden]{display:none!important}.container{width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);padding:10px 20px}.skip-link:focus{top:12px}.site-header{background:#fff;position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;gap:13px;align-items:center;flex-shrink:0;line-height:1}.brand-mark{font-size:3.2rem;letter-spacing:-.24rem;font-weight:900}.brand-dot{color:#8aa627}.brand-detail{border-left:1px solid #aeb5ae;padding-left:13px;font-weight:700;font-size:.85rem;letter-spacing:.07em;line-height:1.45}.brand-detail span{display:block;font-size:.65rem;letter-spacing:.08em;margin-top:4px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:.91rem;font-weight:500}.desktop-nav a{padding:14px 0;position:relative}.desktop-nav a:after{content:'';height:2px;background:var(--ink);bottom:6px;left:0;right:100%;position:absolute;transition:right .2s}.desktop-nav a:hover:after{right:0}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:17px 23px;min-height:56px;font-size:.95rem;font-weight:600;line-height:1.35;transition:background .2s,transform .2s}.button span{font-size:1.4rem;font-weight:400;line-height:1}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#354344;transform:translateY(-2px)}.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#edffac;transform:translateY(-2px)}.header-cta{font-size:.875rem;padding:15px 20px;min-height:50px}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:700px;background:#333f3f;color:#fff;display:flex;flex-direction:column;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center 59%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,18,19,.86) 0%,rgba(10,18,19,.65) 35%,rgba(10,18,19,.15) 73%),linear-gradient(0deg,rgba(10,18,19,.6),transparent 30%)}.hero-content{padding-top:90px;padding-bottom:72px;flex:1}.eyebrow{display:flex;align-items:center;gap:18px;font-size:.76rem;font-weight:600;letter-spacing:.12em;margin:0 0 28px;line-height:1.5}.hero-eyebrow{color:#f1f3ec}.small-rule{height:2px;width:31px;background:var(--accent);display:inline-block;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.6rem,6.1vw,5.65rem);line-height:1.03;letter-spacing:-.06em;font-weight:500;margin:0 0 27px;max-width:900px}h1 span{color:var(--accent)}.hero-description{font-size:1.1rem;line-height:1.6;color:#eef1ed;max-width:490px;margin-bottom:31px}.hero-bottom{padding-top:24px;padding-bottom:25px;border-top:1px solid rgba(255,255,255,.28);display:flex;align-items:center;gap:24px;font-size:.81rem;position:relative}.muted-light{color:#a9b5b2;padding:0 9px}.hero-materials{font-size:.7rem;letter-spacing:.1em;margin-left:auto}.hero-materials span{padding:0 9px;color:var(--accent)}.image-caption{font-size:.75rem;color:#f1f3ed;background:rgba(0,0,0,.32);padding:3px 6px}.expertise-strip{background:var(--accent)}.strip-inner{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.9rem;font-weight:500}.strip-inner>span:nth-child(even){color:#738033;font-weight:400}.section-pad{padding-block:112px}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:58px}.section-number{color:#737d71;font-size:.75rem;letter-spacing:.01em}.section-heading .eyebrow{margin-bottom:24px}h2{font-size:clamp(2.35rem,3.8vw,3.45rem);line-height:1.12;font-weight:500;letter-spacing:-.045em;margin-bottom:0}.section-intro{max-width:460px;margin:0 0 5px;color:var(--muted);font-size:1.05rem;line-height:1.75}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.service{padding:35px 42px 38px 0;border-bottom:1px solid var(--line)}.service:nth-child(even){padding-left:42px;padding-right:0;border-left:1px solid var(--line)}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.service-top svg{width:34px;height:34px;stroke:#657e21}.service-number{color:#80877b;font-size:.8rem;letter-spacing:.07em}.service h3{font-size:1.45rem;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin-bottom:14px}.service p{max-width:475px;color:var(--muted);font-size:1rem;line-height:1.75;margin-bottom:22px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{background:var(--paper);padding:5px 11px;font-size:.8rem;line-height:1.5}.approach-section{background:var(--ink);color:#fff}.approach-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:110px}.approach-heading .eyebrow{color:#c6ccc6}.approach-heading .section-number{color:var(--accent)}.approach-heading h2 span{color:var(--accent)}.approach-heading>p:not(.eyebrow){margin:26px 0 30px;max-width:380px;color:#c3cdca;font-size:1.05rem}.text-link{display:inline-flex;gap:23px;align-items:center;border-bottom:1px solid #818d78;padding-bottom:9px;font-size:.92rem}.text-link:hover{color:var(--accent)}.text-link span{font-size:1.35rem}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:27px;padding:27px 0;border-bottom:1px solid #46514e}.steps li:first-child{padding-top:0}.steps li:last-child{padding-bottom:0;border:0}.step-number{font-size:.8rem;color:var(--accent);padding-top:5px}.steps h3{font-size:1.4rem;font-weight:500;line-height:1.3;letter-spacing:-.015em;margin-bottom:11px}.steps p{font-size:1rem;line-height:1.7;color:#c3cdca;margin:0}.contact-section{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:105px}.contact-section h2{font-size:clamp(2.6rem,4.3vw,4rem)}.contact-section h2 span{color:#657a21}.contact-description{font-size:1.08rem;line-height:1.7;color:var(--muted);margin:26px 0}.email-helper{font-size:.8rem;color:var(--muted);margin-top:16px;max-width:380px}.contact-details{padding-top:39px}.contact-row{display:block;border-bottom:1px solid #cfd5ca;padding:0 0 22px;margin-bottom:29px}.contact-label{display:block;font-size:.75rem;font-weight:500;letter-spacing:.1em;color:#5f695e;margin-bottom:12px}.contact-value{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.4;font-weight:400;letter-spacing:-.03em;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-value>span{font-size:1.65rem;transition:transform .2s}.contact-row:hover .contact-value>span{transform:translate(3px,-3px)}.contact-address{padding-top:1px}.contact-address address{font-size:1rem;line-height:1.75;font-style:normal}.business-only{display:block;font-size:.85rem;color:var(--muted);margin-top:19px}.site-footer{background:#fff}.footer-main{padding:44px 0;display:flex;justify-content:space-between;align-items:center;gap:32px}.footer-brand .brand-mark{font-size:2.8rem}.footer-main p{font-size:.85rem;color:var(--muted);margin:0}.back-top{font-size:.85rem;display:flex;gap:18px;align-items:center}.back-top span{font-size:1.35rem}.footer-bottom{border-top:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;padding-top:20px;padding-bottom:23px;font-size:.76rem;color:var(--muted)}
@media(min-width:1600px){.hero{min-height:740px}.hero-content{padding-top:100px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.desktop-nav{gap:20px}.header-inner{gap:22px}.header-cta{gap:16px}.brand-detail span{font-size:.625rem}.hero{min-height:670px}.hero-content{padding-top:80px}.hero-materials{display:none}.image-caption{margin-left:auto}.section-heading{gap:45px}.approach-layout,.contact-layout{gap:60px}.strip-inner{gap:12px;font-size:.85rem}.section-pad{padding-block:90px}}
@media(max-width:850px){.header-inner{min-height:88px}.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none;border:1px solid var(--line);min-width:44px;min-height:44px;padding:10px;cursor:pointer}.menu-toggle span{height:1px;width:20px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{padding:12px 32px 24px;border-top:1px solid var(--line);display:grid;gap:4px}.mobile-nav a{padding:12px 0;font-size:1rem}.section-heading{grid-template-columns:1fr;gap:24px}.section-intro{max-width:620px}.approach-layout{grid-template-columns:1fr;gap:45px}.approach-heading>p:not(.eyebrow){max-width:600px}.contact-layout{gap:45px}.service{padding-right:27px}.service:nth-child(even){padding-left:27px}.strip-inner{flex-wrap:wrap;justify-content:center;gap:10px 22px;padding-block:20px}.strip-inner>span:nth-child(even){display:none}.footer-main p{display:none}.hero h1{font-size:4.7rem}.contact-section .button{gap:16px;font-size:.88rem}.contact-value{font-size:1.3rem}}
@media(max-width:600px){:root{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:14px}.brand{gap:11px}.brand-mark{font-size:2.8rem}.brand-detail{font-size:.75rem;padding-left:11px}.brand-detail span{font-size:.625rem}.header-cta{display:none}.menu-toggle{margin-left:auto}.mobile-nav{padding-inline:20px}.hero{min-height:690px}.hero-content{padding-top:66px;padding-bottom:48px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(10,18,19,.88),rgba(10,18,19,.43)),linear-gradient(0deg,rgba(10,18,19,.65),transparent 40%)}.hero-eyebrow{font-size:.69rem;gap:12px;letter-spacing:.075em;margin-bottom:30px}.small-rule{width:23px}.hero h1{font-size:clamp(2.95rem,10.5vw,4rem);letter-spacing:-.055em;line-height:1.07;margin-bottom:25px}.hero-description{font-size:1rem;margin-bottom:28px;line-height:1.75}.hero-bottom{font-size:.76rem;display:flex;gap:10px;flex-wrap:wrap;padding-top:19px;padding-bottom:19px;align-items:flex-start}.image-caption{font-size:.75rem;margin-left:0}.hero-bottom>span:first-child{flex-basis:100%}.muted-light{padding-inline:6px}.strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;padding-block:23px;font-size:.81rem;line-height:1.5;text-align:left}.section-pad{padding-block:68px}.section-heading{margin-bottom:35px;gap:22px}.eyebrow{font-size:.72rem;margin-bottom:23px;gap:13px}h2{font-size:2.4rem;line-height:1.15}.section-intro{font-size:1rem;line-height:1.7}.services-grid{grid-template-columns:1fr}.service,.service:nth-child(even){padding:29px 0 32px;border-left:0}.service-top{margin-bottom:18px}.service h3{font-size:1.38rem}.service p{margin-bottom:20px}.service-number{font-size:.75rem}.service-top svg{width:31px;height:31px}.approach-layout{gap:38px}.approach-heading>p:not(.eyebrow){font-size:1rem;margin-block:22px 25px}.steps li{gap:21px;padding-block:26px}.steps h3{font-size:1.25rem}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-section h2{font-size:2.75rem}.contact-description{font-size:1rem;margin-block:23px}.contact-section .button{font-size:.92rem;padding:17px 20px;gap:27px}.contact-details{padding-top:24px}.contact-value{font-size:1.6rem}.contact-row{margin-bottom:25px;padding-bottom:21px}.contact-address{padding-top:4px}.footer-main{padding-block:32px}.footer-brand .brand-mark{font-size:2.55rem}.footer-brand .brand-detail{font-size:.7rem}.back-top{gap:10px;font-size:.76rem}.footer-bottom{font-size:.75rem;flex-wrap:wrap;gap:9px 25px;padding-block:20px}.footer-bottom>span:last-child{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep regular labels readable across viewport sizes. */
.tags span,.contact-label,.back-top,.footer-main p,.text-link,.strip-inner,.email-helper,.business-only{font-size:.875rem}.brand-detail span{font-size:.75rem}.footer-brand .brand-detail{font-size:.8rem}.hero-bottom{font-size:.875rem}
