@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#18221c;--forest:#173d2a;--green:#2d6648;--lime:#c9de72;--cream:#f5f3eb;--white:#fff;--muted:#68736b;--line:#d9ded8;--shadow:0 22px 60px rgba(17,40,27,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:DM Sans,sans-serif;line-height:1.65}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3.3rem,7.4vw,7rem)}h2{font-size:clamp(2.2rem,4.8vw,4.4rem)}h3{font-size:1.55rem}em{font-weight:400;color:var(--lime)}.site-header{height:92px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);color:#fff;transition:.3s}.site-header.scrolled,.site-header.solid{height:76px;background:#f5f3ebf5;color:var(--ink);box-shadow:0 5px 24px #0a1e1214;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope;font-weight:700;line-height:1.05;letter-spacing:-.02em}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff}.brand small{display:block;font-family:DM Sans;text-transform:uppercase;font-size:.58rem;letter-spacing:.12em;font-weight:600;margin-top:7px;opacity:.66}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:600}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--lime);transition:.25s}.site-header nav a:hover:after,.site-header nav a.active:after{right:0}.nav-cta{border:1px solid currentColor;border-radius:2px;padding:.72rem 1.15rem}.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:1.7rem}.hero{height:min(940px,100vh);min-height:700px;position:relative;color:#fff;display:flex;align-items:center;padding:110px max(7vw,28px) 100px;overflow:hidden}.hero-image{position:absolute;inset:0;background:url(/assets/hero-CSbKj9BG.jpeg) 52% 48%/cover no-repeat;animation:heroZoom 12s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08170ee0,#08190f94 48%,#08140e1a 80%),linear-gradient(0deg,rgba(8,20,13,.55),transparent 50%)}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1)}}.hero-content{position:relative;width:min(860px,85%);z-index:2}.hero-content h1{max-width:850px;margin:.5rem 0 1.6rem}.hero-content .lead{max-width:700px;font-size:1.02rem;letter-spacing:.02em}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:var(--green);margin-bottom:1rem}.eyebrow.light{color:var(--lime)}.hero-actions,.reference-cta>div{display:flex;gap:12px;margin-top:2.1rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.45rem;border-radius:2px;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:700;transition:.25s}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--lime);color:var(--ink)}.button.ghost{border:1px solid rgba(255,255,255,.6);color:#fff}.trust-strip{position:absolute;bottom:0;right:0;z-index:2;display:flex;background:#123422eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.4rem 4vw;gap:3vw}.trust-strip span{font-size:.77rem;text-transform:uppercase;letter-spacing:.07em}.trust-strip b{display:block;color:var(--lime);font-family:Manrope;font-size:1.2rem;text-transform:none}.section{padding:clamp(5rem,10vw,9rem) max(7vw,28px)}.intro{display:grid;grid-template-columns:.35fr 1.3fr 1fr;gap:5vw;align-items:start}.section-label{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.25em;font-size:.68rem;color:var(--muted);border-left:1px solid var(--line);padding-left:1.2rem}.intro h2{margin:0}.intro-text{padding-top:2.5rem;color:var(--muted);font-size:1.02rem}.intro-text strong{color:var(--ink)}.text-link{display:inline-flex;gap:1.5rem;color:var(--forest);font-weight:700;border-bottom:1px solid var(--forest);padding-bottom:.25rem;margin-top:1rem}.services{background:#e9ece5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:4rem}.section-head h2{margin:0}.section-head>p{max-width:430px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c6cec7;border-left:1px solid #c6cec7}.service-card{padding:2.3rem 2rem;background:#ffffff47;border-right:1px solid #c6cec7;border-bottom:1px solid #c6cec7;position:relative;transition:.35s}.service-card:hover,.service-card.featured{background:var(--forest);color:#fff;transform:translateY(-8px);box-shadow:var(--shadow)}.service-card>span{position:absolute;top:1rem;right:1.2rem;color:#829188;font-size:.7rem}.service-icon{font-size:2.5rem;color:var(--green);margin-bottom:2.4rem}.service-card:hover .service-icon,.service-card.featured .service-icon{color:var(--lime)}.service-card p,.service-card li{font-size:.9rem;color:var(--muted)}.service-card:hover p,.service-card:hover li,.service-card.featured p,.service-card.featured li{color:#cbd7cf}.service-card ul{list-style:none;padding:1rem 0 0;border-top:1px solid rgba(120,140,125,.35)}.service-card li{padding:.35rem 0}.service-card li:before{content:"✓";color:var(--lime);padding-right:.6rem}.work-preview{display:grid;grid-template-columns:.9fr 1.35fr;background:var(--forest);color:#fff;min-height:680px}.work-copy{padding:clamp(5rem,9vw,8rem) max(5vw,35px);align-self:center}.work-copy p:not(.eyebrow){color:#c5d1c9;max-width:520px}.work-tiles{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;padding:12px 12px 12px 0}.work-tiles img{width:100%;height:100%;object-fit:cover;min-height:500px}.work-tiles img+img{object-position:70% center}.testimonials{background:#fff}.rating{text-align:right}.rating b{font-family:Manrope;font-size:2.2rem;display:block}.rating span,.stars{color:#d09b2e;letter-spacing:.15em}.rating small{display:block;color:var(--muted)}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{margin:0;padding:2.2rem;background:var(--cream);border-top:3px solid var(--forest)}.quote blockquote{margin:1.2rem 0 2rem;font-family:Manrope;font-size:1.05rem;line-height:1.7}.quote figcaption{display:flex;flex-direction:column}.quote figcaption span{color:var(--muted);font-size:.82rem}.faq{display:grid;grid-template-columns:.8fr 1.3fr;gap:8vw}.faq-title p:not(.eyebrow){color:var(--muted);max-width:420px}.accordion details{border-top:1px solid #cbd0ca;padding:1.4rem 0}.accordion details:last-child{border-bottom:1px solid #cbd0ca}.accordion summary{cursor:pointer;list-style:none;font-family:Manrope;font-weight:700;font-size:1.08rem;display:flex;justify-content:space-between;gap:20px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:1.5rem;font-weight:400;transition:.25s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:var(--muted);padding-right:3rem;margin:1rem 0 0}.contact{background:var(--forest);color:#fff;padding:clamp(5rem,8vw,8rem) max(7vw,28px);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.contact-copy p:not(.eyebrow){color:#c7d3ca}.contact-cards{display:grid;gap:10px}.contact-cards>a,.contact-cards>div{background:#ffffff12;border:1px solid rgba(255,255,255,.12);padding:1.3rem 1.6rem;display:grid;grid-template-columns:100px 1fr auto;align-items:center;transition:.25s}.contact-cards>a:hover{background:var(--lime);color:var(--ink)}.contact-cards small{text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.contact-cards b{font-family:Manrope}.contact-cards span{font-size:.72rem;color:#b8c7bc}.contact-cards>a:hover span{color:var(--ink)}footer{background:#0d1f14;color:#d8e0da;padding:3rem max(7vw,28px);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem}footer .brand img{width:48px;height:48px}footer p{margin:0;color:#9eaca2}footer nav{display:flex;gap:1.5rem;font-size:.8rem}footer>small{grid-column:1/-1;border-top:1px solid #27372c;padding-top:1.4rem;color:#839087}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.reference-hero{min-height:530px;background:linear-gradient(90deg,#07180ee0,#07180e4d),url(/assets/6842cce84cd9daf93eddff38-OuL8I4AV.jpeg) center 43%/cover;color:#fff;display:flex;align-items:end;padding:150px max(7vw,28px) 70px}.reference-hero>div{max-width:770px}.reference-hero h1{margin:.2rem 0 1rem}.reference-hero p:last-child{max-width:620px;font-size:1.08rem}.gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:3rem}.gallery-intro h2{margin:0}.gallery-intro p{color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2rem}.filters button{font:inherit;border:1px solid #bbc4bd;background:transparent;padding:.7rem 1rem;cursor:pointer;color:var(--ink)}.filters button.active,.filters button:hover{background:var(--forest);color:#fff;border-color:var(--forest)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;gap:14px}.gallery-item{position:relative;margin:0;overflow:hidden;background:#dce1db;cursor:zoom-in}.gallery-item[hidden]{display:none}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1.2rem 1.1rem;background:linear-gradient(transparent,#08160dd9);color:#fff;display:flex;justify-content:space-between;align-items:end}.gallery-item figcaption span{font-family:Manrope;font-weight:700}.gallery-item figcaption small{color:var(--lime)}.gallery-item.crop-top img{object-position:center 18%}.gallery-item.crop-right img{object-position:75% center}.gallery-item.crop-left img,.gallery-item.pos-left img{object-position:20% center}.reference-cta{padding:7rem max(7vw,28px);background:var(--forest);color:#fff;text-align:center}.reference-cta h2{max-width:800px;margin:0 auto}.reference-cta>div{justify-content:center}.lightbox{position:fixed;inset:0;background:#050f09f0;z-index:100;display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:2rem;top:1rem;color:#fff;background:none;border:0;font-size:3rem;cursor:pointer}@media(max-width:1050px){.site-header nav{gap:1rem}.service-grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:50px 1fr}.intro-text{grid-column:2}.contact{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr auto}footer p{display:none}}@media(max-width:760px){h1{font-size:clamp(3rem,15vw,4.7rem)}h2{font-size:clamp(2.15rem,10vw,3.3rem)}.site-header{height:74px;padding:0 20px}.brand img{width:46px;height:46px}.site-header nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--cream);color:var(--ink);padding:1.5rem 24px 2rem;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.site-header.menu-open{background:var(--cream);color:var(--ink)}.site-header.menu-open nav{display:flex}.menu-toggle{display:block}.hero{min-height:760px;padding-left:24px;padding-right:24px}.hero-content{width:100%}.hero-actions{flex-direction:column;align-items:flex-start}.trust-strip{left:0;right:0;justify-content:space-around;padding:1rem 10px;gap:5px}.trust-strip span{font-size:.56rem}.trust-strip b{font-size:.9rem}.section{padding:5rem 24px}.intro{grid-template-columns:1fr}.section-label{display:none}.intro-text{grid-column:auto;padding:0}.section-head,.gallery-intro{display:block}.section-head>p{margin-top:1.5rem}.service-grid,.work-preview{grid-template-columns:1fr}.work-tiles{padding:0 12px 12px;min-height:420px}.work-tiles img{min-height:400px}.quote-grid,.faq{grid-template-columns:1fr}.contact{padding:5rem 24px}.contact-cards>a,.contact-cards>div{grid-template-columns:1fr;gap:.4rem}.contact-cards span{margin-top:.3rem}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}.gallery{grid-template-columns:1fr;grid-auto-rows:330px}.gallery-item.wide{grid-column:auto}.gallery-item.tall{grid-row:auto}.reference-hero{min-height:500px}.reference-cta{padding:5rem 24px}.reference-cta>div{flex-direction:column}.rating{text-align:left;margin-top:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;transition:none}}:root{--ink:#111;--forest:#151515;--green:#444;--lime:#fff;--cream:#f4f4f2;--muted:#696969;--line:#d8d8d6;--shadow:0 22px 60px rgba(0,0,0,.14)}em{color:#d8d8d8}.site-header.scrolled,.site-header.solid{background:#fafaf9f7;box-shadow:0 5px 24px #00000014}.site-header nav a:not(.nav-cta):after{background:currentColor}.hero{min-height:760px;padding-top:175px;padding-bottom:105px}.hero-shade{background:linear-gradient(90deg,#000000e6,#0000009e 48%,#00000024 80%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 50%)}.eyebrow{color:#4b4b4b}.eyebrow.light{color:#e5e5e5}.button.primary{background:#fff;color:#111}.trust-strip{background:#121212f0}.trust-strip b{color:#fff}.services{background:#e9e9e7}.service-grid,.service-card{border-color:#c9c9c7}.service-card li:before{color:#fff}.contact-copy p:not(.eyebrow){color:#c8c8c8}.contact-cards>a:hover{background:#fff;color:#111}.gallery-item figcaption small{color:#e1e1e1}.gallery-item{background:#ddd}@media(max-width:760px){.hero{min-height:800px;padding-top:150px;padding-bottom:120px}.hero-content{align-self:flex-start;margin-top:40px}.site-header.menu-open{background:#f4f4f2}}
