@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--forest:#203b32;--ink:#21342b;--copper:#a9744f;--cream:#f7f6f0;--line:#d9ded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select,textarea,summary{outline-offset:5px}header{height:106px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand{display:block;line-height:1.1}.brand>span{font-size:32px;letter-spacing:.03em;font-weight:600}.brand-dot{color:var(--copper)}.brand small{display:block;font-size:12px;letter-spacing:.28em;margin-top:5px}nav{display:flex;gap:30px;font-size:14px}nav a:hover{color:var(--copper)}.nav-cta{border:1px solid var(--ink);padding:12px 18px;font-size:14px}.menu{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:690px}.hero-text{background:var(--forest);color:var(--cream);padding:68px 11% 26px;display:flex;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(52px,5.6vw,86px);letter-spacing:-.035em;margin-bottom:28px}em{font-weight:400;color:var(--copper)}.hero h1 em{color:#dbba94}.hero-description{max-width:350px;font-size:16px;color:#d8dfd7;line-height:1.7;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border:0;font-size:14px;font-weight:600;width:fit-content;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:var(--cream);color:var(--forest)}.light:hover{background:#e5d3b8}.dark{background:var(--forest);color:white}.hero-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:50px;font-size:12px;color:#becbc2}.hero-bottom span:last-child{letter-spacing:.12em;font-size:10px}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#10261dbb);padding:60px 30px 28px;color:white;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.photo-label span{font-size:11px;letter-spacing:.14em;max-width:250px}.photo-label small{font-size:12px;white-space:nowrap}.ribbon{display:flex;justify-content:space-around;align-items:center;padding:25px 5%;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.16em}.ribbon i{color:var(--copper);font-size:23px;font-style:normal}.section{padding:100px 7%}h2{font-size:clamp(38px,3.5vw,54px);letter-spacing:-.025em;margin-bottom:28px}.expertise{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.section-intro{max-width:460px}.section-intro>p:last-child{max-width:360px;color:#647066}.service-list article{display:flex;gap:30px;border-top:1px solid var(--line);padding:24px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.number{color:var(--copper);font-size:14px;padding-top:4px}h3{font-size:21px;font-weight:500;line-height:1.4;margin-bottom:10px}.service-list p{font-size:15px;color:#647066;margin-bottom:0;max-width:460px}.tags{display:flex;gap:8px;margin-top:16px}.tags span{font-size:12px;padding:3px 10px;background:#e8ebe3;border-radius:20px}.inspiration{background:#e9ede7}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end}.gallery-heading>p{max-width:300px;color:#647066;margin-bottom:32px}.filters{display:flex;gap:6px;margin:10px 0 30px;flex-wrap:wrap}.filters button{border:1px solid #c3cec2;background:none;padding:10px 20px;border-radius:30px;font-size:14px;color:var(--ink)}.filters button.active{background:var(--forest);color:white;border-color:var(--forest)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{background:none;text-align:left;border:0;padding:0;color:var(--ink)}.project-card[hidden]{display:none}.project-card img{width:100%;height:330px;object-fit:cover;transition:filter .3s}.project-card:hover img{filter:brightness(.93)}.card-meta{display:block;font-size:11px;letter-spacing:.12em;margin-top:20px;color:#647066}.project-card h3{font-family:'Playfair Display',Georgia,serif;font-size:26px;margin:8px 0 10px}.card-link{font-size:13px;border-bottom:1px solid #879383;padding-bottom:3px}.gallery-note{font-size:12px;color:#647066;margin:32px 0 0;max-width:630px}.approach{background:var(--forest);color:var(--cream)}.approach .eyebrow{color:#c9b297}.approach h2 em{color:#dbba94}.approach-top{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:30px;align-items:start}.approach-top h2{font-size:44px}.approach-top>p:last-child{color:#c3d0c7;padding-top:10px;font-size:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:50px}.steps article{border-top:1px solid #607268;padding-top:26px}.steps span{font-size:12px;letter-spacing:.1em;color:#dbba94}.steps h3{margin-top:18px;font-size:20px}.steps p{color:#c3d0c7;font-size:14px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--copper)}details[open] summary:after{content:'−'}details p{font-size:15px;color:#647066;margin:15px 26px 0 0}.contact{margin:0 5% 75px;background:#e5e9df;display:grid;grid-template-columns:1.25fr 1fr;gap:80px;padding:64px 5%}.contact>div>p:last-child{max-width:400px;color:#647066}.contact h2{font-size:44px}form{display:flex;flex-direction:column}label{font-size:14px;margin-bottom:7px}input,select,textarea{background:#f7f6f0;border:1px solid #c8d0c4;padding:12px;margin-bottom:17px;color:var(--ink);width:100%;border-radius:0}textarea{resize:vertical}form .button{background:var(--forest);color:white;width:100%}form .button:hover{background:#314f3f}.form-note{font-size:12px;color:#647066;margin:12px 0 0}#form-status{font-size:14px;margin:8px 0 0}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 5%;border-top:1px solid var(--line);gap:20px}footer p,footer>span{font-size:12px;color:#647066;margin:0}dialog{max-width:850px;width:90%;padding:0;border:0;color:var(--ink);background:var(--cream);max-height:90vh;overflow:auto}dialog::backdrop{background:#10271de0}dialog img{width:100%;height:340px;object-fit:cover}dialog>div{padding:30px}dialog h2{font-size:34px}dialog .eyebrow{margin-bottom:12px}dialog .modal-desc{color:#647066}.close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:white;border-radius:50%;font-size:19px}dialog .button{margin-top:10px}a:hover.nav-cta{background:var(--forest);color:white}
@media(min-width:1600px){header,.hero,.ribbon,.section,footer{max-width:1800px;margin-left:auto;margin-right:auto}.hero{min-height:800px}}
@media(max-width:1050px){nav{gap:18px}.nav-cta{display:none}.hero{grid-template-columns:48% 52%;min-height:620px}.hero-text{padding:50px 10% 25px}.hero-bottom{flex-direction:column;gap:5px}.photo-label{padding:45px 20px 20px;flex-direction:column;align-items:flex-start;gap:10px}.expertise{gap:30px;grid-template-columns:2fr 3fr}.section{padding:75px 6%}.approach-top{grid-template-columns:1fr 2fr}.approach-top>p:last-child{grid-column:2}.steps{gap:22px}.project-card img{height:250px}.contact{gap:40px}.faq{gap:25px}}
@media(max-width:700px){html{scroll-padding-top:20px}header{height:86px;padding:0 6%;position:relative}.brand>span{font-size:27px}.brand small{font-size:10px}.menu{display:block;border:1px solid var(--line);background:none;padding:9px 14px;font-size:14px}nav{display:none;position:absolute;top:86px;left:0;right:0;z-index:4;background:var(--cream);padding:24px 6%;box-shadow:0 10px 15px #14251c22}nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column}.hero-text{padding:45px 7% 30px}.hero h1{font-size:62px;line-height:1.1}.hero-description{max-width:400px}.hero-bottom{flex-direction:row;padding-top:35px}.hero-bottom span:last-child{display:none}.hero-photo{height:390px}.photo-label{flex-direction:row;align-items:flex-end}.photo-label span{max-width:190px}.ribbon{flex-wrap:wrap;gap:14px;padding:20px 5%;font-size:10px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:60px 7%}.expertise,.faq{display:block}.section-intro{margin-bottom:35px}.service-list article{gap:20px}.gallery-heading{display:block}.gallery-heading>p{max-width:100%}.gallery{grid-template-columns:1fr;gap:40px}.project-card img{height:350px}.filters{gap:8px}.filters button{padding:8px 14px;font-size:13px}.approach-top{display:block}.approach-top h2{font-size:39px}.steps{grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.steps h3{font-size:18px}.steps p{font-size:14px}.faq>div:first-child{margin-bottom:35px}.contact{display:block;margin:0 4% 50px;padding:40px 7%}.contact h2{font-size:39px}.contact form{margin-top:35px}footer{flex-direction:column;align-items:flex-start;padding:30px 7%;gap:20px}dialog img{height:240px}dialog>div{padding:24px}dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-details{display:flex;flex-direction:column;gap:21px;margin-top:35px}.contact-details a{width:fit-content;max-width:100%;overflow-wrap:anywhere}.contact-details span{display:block;font-size:12px;letter-spacing:.12em;color:#647066}.contact-details strong{font-size:19px;font-weight:500}.contact-whatsapp{border-bottom:1px solid #879383;font-size:14px;padding-bottom:4px}form .whatsapp{margin-top:12px;background:transparent;color:var(--forest);border:1px solid var(--forest)}form .whatsapp:hover{background:#d4dfce}.footer-contact{display:flex;flex-direction:column;gap:5px}.footer-contact a{font-size:13px;overflow-wrap:anywhere}form .button{white-space:normal;text-align:center}.contact h2{overflow-wrap:normal}

.tags a{font-size:12px;padding:3px 10px;background:#e8ebe3;border-radius:20px;text-decoration:underline;text-underline-offset:3px}.footer-services{display:flex;flex-wrap:wrap;gap:8px 16px;margin:5px 0}.mobile-home{display:none}.service-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:var(--cream)}.service-hero>div{padding:65px 12%}.service-hero h1{font-size:clamp(40px,4vw,62px)}.service-hero h1 em{color:#dbba94}.service-hero p:not(.eyebrow){color:#d8dfd7}.service-hero>img{width:100%;height:100%;min-height:580px;object-fit:cover}.service-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;padding:80px 7%;align-items:start}.service-copy{margin-bottom:42px}.service-copy h2{font-size:30px;line-height:1.25;margin-bottom:18px}.service-copy p{color:#647066;line-height:1.8}.service-check{position:sticky;top:30px;background:#e5e9df;padding:30px}.service-check h2{font-size:32px}.service-check ul{padding-left:20px;margin-bottom:25px}.service-check li{margin-bottom:12px}.other-services{border-top:1px solid var(--line);padding:40px 7% 55px}.other-services>a{display:inline-block;padding:10px 22px;border:1px solid var(--line);margin:0 10px 10px 0}.other-services>a:hover{background:var(--forest);color:white}.hero .eyebrow{line-height:1.7}
@media(max-width:700px){.mobile-home{display:block;font-size:14px}.service-hero{display:flex;flex-direction:column}.service-hero>div{padding:45px 7%}.service-hero>img{height:330px;min-height:0}.service-layout{display:block;padding:50px 7%}.service-check{position:static;margin-top:30px}.service-copy h2{font-size:28px}.service-hero h1{font-size:43px}.other-services{padding:35px 7%}.other-services>a{font-size:14px}}

.service-areas{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;border-top:1px solid var(--line)}.service-areas p:not(.eyebrow){color:#647066}.city-tags{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.city-tags span{padding:8px 16px;border:1px solid #c8d0c4;border-radius:30px;font-size:14px}.city-tags .city-primary{background:var(--forest);color:white;border-color:var(--forest)}.service-location{padding:25px 7%;margin:0;border-bottom:1px solid var(--line);color:#647066}@media(max-width:700px){.service-areas{display:block}.service-areas>div:first-child{margin-bottom:28px}.service-location{font-size:14px}}
