@charset "UTF-8";
:root{--ink:#152c26;--paper:#f9faf7;--lime:#d5f57a;--line:#dce3dd;--muted:#57665e;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #658b21;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.04}h2{font-size:clamp(2.5rem,4.6vw,4.7rem)}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}p{color:var(--muted)}.wrap{width:min(1360px,90%);margin-inline:auto}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;color:inherit;margin-bottom:28px}.section{padding-top:110px;padding-bottom:110px}.skip{position:fixed;z-index:10;top:-100px;left:20px;background:var(--lime);padding:12px}.skip:focus{top:10px}.demo{padding:8px 5%;background:var(--ink);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.07em;display:flex;justify-content:center;gap:20px}.demo span{font-weight:400;letter-spacing:0}.demo a{text-decoration:underline;text-underline-offset:3px}.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:2.5rem;font-weight:900;letter-spacing:-.065em}.brand strong>span{font-size:.6rem;vertical-align:top;margin:6px 0 0 5px;display:none}.brand-name{font-size:.65rem;font-weight:700;letter-spacing:.17em;margin-top:7px}.header nav{display:flex;gap:32px;font-size:.9rem}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 24px;font-size:.9rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:1.25rem;line-height:1}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#284d40}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e4ff9d}.hero{position:relative;min-height:760px;isolation:isolate;background:#142b25;color:white;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo img{object-position:55% 55%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,26,20,.95) 0%,rgba(8,26,20,.85) 27%,rgba(8,26,20,.18) 70%),linear-gradient(0deg,rgba(8,26,20,.6),transparent 28%)}.hero-content{padding-block:65px 130px}.hero .eyebrow{color:#e3eecf;margin-bottom:30px}.hero h1{font-size:clamp(4rem,6.8vw,7rem);max-width:800px}.hero h1 em{color:var(--lime)}.hero-copy{color:#e4e8e2;font-size:1.05rem;line-height:1.65;margin:30px 0}.hero-phone{display:block;margin-top:16px;font-size:.85rem;width:fit-content;border-bottom:1px solid #91a098}.hero-caption{position:absolute;bottom:30px;left:5%;font-size:.7rem;letter-spacing:.1em;display:flex;gap:20px;align-items:center}.hero-caption span{font-size:.85rem;letter-spacing:0;border-left:1px solid #89988b;padding-left:20px}.scroll-link{position:absolute;bottom:27px;right:5%;font-size:.8rem;display:flex;gap:30px;align-items:center}.scroll-link span{font-size:1.5rem}.trust{display:flex;justify-content:space-between;align-items:center;padding-block:32px;border-bottom:1px solid var(--line);gap:40px}.trust-rating{display:flex;align-items:center;gap:25px}.trust-rating>strong{font-size:4rem;letter-spacing:-.07em;line-height:1.1}.trust-rating>strong span{font-size:2.5rem}.trust-rating>span{font-size:1rem;line-height:1.5}.trust-rating small{font-size:.75rem;color:var(--muted)}.trust-arrow{font-size:1.5rem!important;margin-left:14px}.trust>p{font-size:.95rem}.trust>p strong{font-weight:400;color:var(--ink)}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading>p:last-child{margin-top:28px;max-width:340px}.service-list{padding-top:5px}.service-list details{border-bottom:1px solid var(--line)}.service-list details:first-child{border-top:1px solid var(--line)}summary{display:flex;gap:20px;align-items:center;list-style:none;padding:24px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary h3{font-weight:400;font-size:1.35rem;line-height:1.25;flex:1}.service-num{font-size:.8rem;color:var(--muted);width:24px}.toggle{position:relative;width:24px;height:24px;flex-shrink:0}.toggle:before,.toggle:after{content:"";position:absolute;left:5px;top:11px;width:14px;height:1px;background:var(--ink)}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}summary:hover h3{color:#5c782f}.service-detail{padding:0 30px 26px 44px;font-size:1rem}.service-detail a{display:inline-block;margin-top:18px;font-size:.85rem;font-weight:700;border-bottom:1px solid #8d9c8e}.work{background:#eaf0e7}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:50px}.work-heading>p{max-width:380px}.project-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}.project-main img{aspect-ratio:1.35;height:auto}.project-side{margin-top:85px}.project-side img{aspect-ratio:.92;height:auto}.project-grid figure{overflow:hidden}.project-grid img{transition:filter .35s}.project-grid figure:hover img{filter:brightness(1.06)}figcaption{font-size:.85rem;padding-top:18px}.project-main figcaption{display:flex;justify-content:space-between;gap:16px}.project-main figcaption span:last-child{font-size:.7rem;letter-spacing:.09em}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #8f9c90;padding-bottom:7px;font-size:.9rem}.work .text-link{margin-top:38px}.reputation{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.reputation .text-link{margin-top:32px}.quote-mark{display:block;color:#85a25c;font-family:Georgia,serif;font-size:6rem;line-height:.7}.quote blockquote{margin:0;font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.35;letter-spacing:-.025em}.quote figcaption{display:flex;flex-direction:column;margin-top:20px;font-size:.85rem}.quote figcaption strong{font-weight:700}.quote figcaption span{color:var(--muted);margin-top:3px}.quote figcaption a{font-size:.75rem;text-decoration:underline;text-underline-offset:3px;margin-top:10px}.contact{background:var(--ink);color:var(--paper);overflow:hidden}.contact-inner{padding-top:95px;display:grid;grid-template-columns:1.2fr 1fr;gap:130px}.contact h2{font-size:clamp(3rem,5.5vw,5.5rem)}.contact h2 em{color:var(--lime)}.contact p{color:#c2cec2;max-width:420px;margin-top:25px}.contact .button{margin-top:30px}.contact-details{padding-top:12px;align-self:center;min-width:0}.contact-details>.eyebrow{display:block;color:#bdcbbd;margin-bottom:22px}.contact-phone{font-size:clamp(1.6rem,2.8vw,2.8rem);letter-spacing:-.04em;display:block}.contact-email{font-size:1.05rem;display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.contact-details p{font-size:.9rem;margin-top:35px}.socials{display:flex;gap:25px;margin-top:24px;font-size:.85rem}.footer-wordmark{font-size:clamp(2.8rem,11.3vw,12rem);font-weight:900;letter-spacing:-.06em;line-height:1.1;white-space:nowrap;text-align:center;color:#2e463a;margin-top:90px;padding-inline:4%;padding-bottom:5px}.footer{padding-block:25px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem}.footer a{text-decoration:underline;text-underline-offset:3px}.mobile-contact{display:none}
@media(min-width:1700px){.hero-content{padding-top:85px}.hero{min-height:820px}.hero-caption{left:calc((100vw - 1360px)/2)}}
@media(max-width:1100px){.header nav{gap:18px}.header-cta{font-size:.8rem;padding:13px 18px}.services{gap:55px}.reputation{gap:50px}.contact-inner{gap:65px}.hero{min-height:710px}.hero h1{font-size:6rem}.trust-arrow{display:none}.project-grid{gap:25px}}
@media(max-width:800px){.demo{font-size:.65rem;gap:8px;flex-wrap:wrap;line-height:1.4}.header{min-height:92px;gap:15px}.header nav{display:none}.brand strong{font-size:2.2rem}.header-cta{font-size:.8rem;gap:20px;max-width:230px;min-height:48px}.hero{min-height:690px}.hero-content{padding-top:58px;padding-bottom:110px}.hero h1{font-size:clamp(3.4rem,10vw,5rem)}.hero-copy{font-size:1rem;max-width:340px}.hero-photo img{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(8,26,20,.92),rgba(8,26,20,.6) 60%,rgba(8,26,20,.32)),linear-gradient(0deg,rgba(8,26,20,.7),transparent 45%)}.hero-caption{display:block;bottom:25px;max-width:75%}.hero-caption span{display:block;border:0;padding:3px 0 0;font-size:.75rem}.scroll-link{font-size:0;gap:0}.trust{align-items:start;padding-block:25px}.trust-rating{gap:18px}.trust-rating>strong{font-size:3rem}.trust-rating>strong span{font-size:1.8rem}.trust-rating>span{font-size:.85rem}.trust-rating small{font-size:.7rem;max-width:200px;display:block}.trust>p{display:none}.section{padding-block:70px}.services,.reputation{grid-template-columns:1fr;gap:40px}.section-heading>p:last-child{max-width:500px}.eyebrow{margin-bottom:20px}.work-heading{display:block;margin-bottom:35px}.work-heading>p{margin-top:25px}.project-grid{grid-template-columns:1fr 1fr;gap:20px}.project-side{margin-top:50px}.project-main figcaption{display:block}.project-main figcaption span{display:block}.project-main img{aspect-ratio:.85}.project-side img{aspect-ratio:.85}.quote{margin-top:15px}.quote blockquote{font-size:1.9rem}.contact-inner{padding-top:70px;grid-template-columns:1fr;gap:45px}.contact-details{border-top:1px solid #486049;padding-top:30px}.contact-phone{font-size:2rem}.footer-wordmark{margin-top:65px}.footer{flex-direction:column;gap:9px;padding-bottom:95px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:.7fr 1.3fr;padding:10px 5% calc(10px + env(safe-area-inset-bottom));background:#f9faf7;box-shadow:0 -4px 20px #152c2614;gap:10px}.mobile-contact a{padding:12px 7px;text-align:center;font-size:.85rem;font-weight:700;background:var(--ink);color:white}.mobile-contact a:last-child{background:var(--lime);color:var(--ink)}}
@media(max-width:400px){.header-cta{max-width:190px;font-size:.75rem;gap:12px;padding:12px}.brand strong{font-size:1.9rem}.brand-name{font-size:.57rem}.hero h1{font-size:3.2rem}.hero{min-height:650px}.project-grid{grid-template-columns:1fr}.project-side{margin-top:0}.project-main img,.project-side img{aspect-ratio:1.1}.service-detail{padding-left:0}summary{gap:12px}summary h3{font-size:1.2rem}}

/* Brand mark and expanded project portfolio */
.brand img{width:92px;height:44px;object-fit:contain}.brand-name{font-size:.61rem;letter-spacing:.2em;margin-top:6px;text-align:center}.project-grid{grid-template-columns:1.05fr .95fr;gap:48px 36px}.project-card{min-width:0}.project-card>img{aspect-ratio:1.56;height:auto}.project-featured{grid-column:1/-1;width:72%}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-pair>div{position:relative;overflow:hidden}.project-pair img{aspect-ratio:1.12;height:auto}.project-pair-tall img{aspect-ratio:.8}.photo-label{position:absolute;z-index:1;left:10px;top:10px;background:rgba(21,44,38,.88);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.12em;padding:6px 8px}.project-card figcaption{display:flex;justify-content:space-between;gap:16px}.project-card figcaption strong{font-weight:700}.project-card figcaption span{font-size:.66rem;letter-spacing:.09em;color:var(--muted);text-align:right}
@media(max-width:1100px){.project-grid{gap:34px 20px}.project-featured{width:78%}}
@media(max-width:800px){.brand img{width:78px;height:auto}.brand-name{font-size:.52rem}.hero-copy{max-width:390px}.hero-copy br{display:none}.project-grid{grid-template-columns:1fr;gap:34px}.project-featured{width:100%;grid-column:auto}.project-card figcaption{display:block}.project-card figcaption span{display:block;text-align:left;margin-top:3px}}
@media(max-width:400px){.brand img{width:68px}.brand-name{font-size:.47rem}.project-pair{gap:5px}.photo-label{font-size:.55rem;left:6px;top:6px}}

/* Isolated portfolio layout; avoids legacy project-grid rules. */
.portfolio-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px 36px;align-items:start}.portfolio-grid .project-card{overflow:visible}.portfolio-grid .project-featured{grid-column:1/-1;width:72%}.portfolio-grid .project-pair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px}.portfolio-grid .project-pair>div{min-width:0;position:relative;overflow:hidden}.portfolio-grid .project-card img{display:block;width:100%;object-fit:cover}.portfolio-grid .project-card>img{aspect-ratio:1.56;height:auto}.portfolio-grid .project-pair img{aspect-ratio:1.12;height:auto}.portfolio-grid .project-pair-tall img{aspect-ratio:.8}.portfolio-grid figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:15px}.portfolio-grid figcaption strong,.portfolio-grid figcaption span{display:block}.portfolio-grid figcaption span{margin-left:auto}
@media(max-width:1100px){.portfolio-grid{gap:34px 20px}.portfolio-grid .project-featured{width:78%}}
@media(max-width:800px){.portfolio-grid{grid-template-columns:1fr;gap:34px}.portfolio-grid .project-featured{width:100%;grid-column:auto}.portfolio-grid figcaption{display:block}.portfolio-grid figcaption span{margin:3px 0 0;text-align:left}}
@media(max-width:400px){.portfolio-grid .project-pair{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
