@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');:root{--ink:#172520;--deep:#11231f;--cream:#f2f0e9;--paper:#e8e7df;--accent:#c59b63;--line:rgba(23,37,32,.2);--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--accent);padding:.7rem 1rem;z-index:20}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:absolute;width:100%;z-index:5;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:11px;font-weight:600;letter-spacing:.04em}.brand small{display:block;color:rgba(255,255,255,.62);font:400 9px var(--mono);text-transform:uppercase;letter-spacing:.12em}.brand-mark{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font-family:var(--serif);font-style:italic;font-size:20px}.main-nav{display:flex;gap:29px;align-items:center;font-size:12px;letter-spacing:.05em}.main-nav a:not(.nav-cta){opacity:.85}.main-nav a:hover,.text-link:hover{color:var(--accent)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:11px 16px}.nav-cta span,.button span,.footer-contact span{color:var(--accent);margin-left:17px}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{min-height:760px;background:var(--deep);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=85') center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,19,.92) 0%,rgba(10,22,19,.63) 42%,rgba(10,22,19,.18) 100%)}.hero-content{position:relative;padding-top:75px}.eyebrow,.section-label{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.13em}.eyebrow span{color:var(--accent);padding:0 10px}.hero h1{font:500 clamp(3.5rem,9vw,7.7rem);line-height:.97;letter-spacing:-.065em;margin:27px 0 56px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}.hero-bottom{display:flex;align-items:end;gap:60px}.hero-bottom p{max-width:310px;margin:0;font-size:14px;color:rgba(255,255,255,.76)}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:215px;padding:15px 18px;border:1px solid var(--accent);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:.25s}.button:hover{background:var(--accent);color:var(--deep)}.button-light{color:#fff}.scroll-cue{position:absolute;bottom:30px;right:40px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.13em;writing-mode:vertical-rl;color:rgba(255,255,255,.7)}.scroll-cue span{display:inline-block;background:var(--accent);height:38px;width:1px;margin-bottom:13px}.section{padding:145px 0}.section-label{display:flex;gap:20px;color:#7d837e}.section-label span:first-child{color:var(--accent)}h2{font-size:clamp(2.7rem,5vw,5rem);font-weight:500;line-height:1.01;letter-spacing:-.07em;margin:0}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin:66px 0 0 16%}.intro-text{padding-top:6px;max-width:430px}.lead{font-size:18px;line-height:1.45;margin:0 0 27px}.intro-text p:not(.lead){color:#69716c;font-size:13px}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:8px;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.text-link span{margin-left:19px;color:var(--accent)}.projects{background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 1.3fr;align-items:end}.project-grid{display:grid;grid-template-columns:1.18fr .88fr .88fr;gap:23px;margin-top:88px;align-items:start}.project-card{position:relative}.project-card-offset{margin-top:95px}.project-image{background-position:center;background-size:cover;filter:saturate(.7)}.image-one{height:475px;background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1100&q=80')}.image-two{height:330px;background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80')}.image-three{height:245px;background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=800&q=80')}.project-meta{display:flex;justify-content:space-between;padding:14px 0 8px;border-bottom:1px solid var(--line);font:10px var(--mono);text-transform:uppercase;color:#7a817b;letter-spacing:.1em}.project-card h3{font-size:20px;font-weight:500;margin:14px 0 0}.project-card p{margin:2px 0;color:#78807a;font-size:12px}.services-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:11%;margin-top:70px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:35px 1fr 30px;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.service-list article>span:first-child,.service-arrow,.process-list li>span{font:11px var(--mono);color:var(--accent)}.service-list h3{margin:0 0 5px;font-size:19px;font-weight:500}.service-list p{margin:0;color:#707973;font-size:13px}.service-arrow{text-align:right}.process{background:var(--deep);color:var(--cream)}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.light-label{color:rgba(255,255,255,.5)}.process h2{margin:58px 0 28px}.process-intro{max-width:280px;color:rgba(255,255,255,.62);font-size:13px}.process-list{list-style:none;padding:0;margin:5px 0 0;border-top:1px solid rgba(255,255,255,.2)}.process-list li{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2)}.process-list h3{margin:0 0 4px;font-size:16px;font-weight:500}.process-list p{margin:0;color:rgba(255,255,255,.56);font-size:12px}.faq-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:12%;margin-top:70px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:15px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font:20px var(--mono);color:var(--accent);transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{color:#707973;font-size:13px;max-width:550px;margin:15px 0 0}.contact{position:relative;color:#fff;min-height:690px;display:flex;align-items:center;overflow:hidden}.contact-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=85') center/cover}.contact-overlay{position:absolute;inset:0;background:rgba(15,32,28,.82)}.contact-content{position:relative}.contact h2{margin:52px 0 55px}.contact-form{max-width:500px;display:grid;grid-template-columns:1fr 1fr;gap:18px 25px}.contact-form label{display:grid;gap:8px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}.contact-form input,.contact-form select{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);color:#fff;padding:11px 0;outline:0;border-radius:0}.contact-form input:focus,.contact-form select:focus{border-color:var(--accent)}.contact-form select option{color:var(--ink)}.contact-form input::placeholder{color:rgba(255,255,255,.7)}.contact-form .button{grid-column:1/-1;margin-top:17px;justify-self:start}.form-note{grid-column:1/-1;margin:0;color:var(--accent);font-size:12px}.site-footer{background:#0b1916;color:rgba(255,255,255,.7);padding:54px 0 23px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}.brand-footer{color:#fff;justify-self:start}.footer-top p{margin:0;font:12px var(--mono);line-height:1.7}.footer-contact{justify-self:end;color:#fff;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);margin-top:65px;padding-top:17px;font:10px var(--mono);color:rgba(255,255,255,.42)}.footer-bottom a:hover{color:var(--accent)}@media(max-width:760px){.container{width:min(100% - 36px,600px)}.site-header{height:70px;padding:0 18px}.menu-toggle{display:grid;gap:5px;padding:10px}.menu-toggle i{display:block;width:23px;height:1px;background:#fff}.main-nav{position:absolute;top:70px;left:0;right:0;display:none;background:var(--deep);padding:20px 18px 26px;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.main-nav .nav-cta{margin-top:12px;padding:13px}.hero{min-height:690px}.hero-overlay{background:linear-gradient(90deg,rgba(10,22,19,.84),rgba(10,22,19,.25))}.hero-content{padding-top:62px}.hero h1{font-size:clamp(3.5rem,16vw,5.3rem);margin:22px 0 36px}.hero-bottom{display:block}.hero-bottom p{margin-bottom:25px}.scroll-cue{right:16px;bottom:19px}.section{padding:87px 0}.intro-copy,.section-heading,.services-layout,.process-layout,.faq-layout{display:block;margin-left:0}.intro-copy{margin-top:43px}.intro-text{margin-top:33px}.projects .section-heading h2{margin-top:40px}.project-grid{display:block;margin-top:55px}.project-card-offset,.project-card-small{margin-top:50px}.image-one{height:390px}.image-two{height:310px}.image-three{height:280px}.services-layout{margin-top:42px}.services-layout h2{margin-bottom:50px}.process h2{margin:40px 0 22px}.process-list{margin-top:52px}.faq-layout{margin-top:40px}.faq-layout h2{margin-bottom:44px}.contact{min-height:700px}.contact h2{font-size:clamp(2.7rem,12vw,4rem);margin:40px 0}.contact-form{display:block}.contact-form label{margin-bottom:23px}.contact-form .button{margin-top:12px}.footer-top{display:block}.footer-top p{margin:28px 0}.footer-contact{display:inline-block}.footer-bottom{display:grid;gap:9px;margin-top:44px}.footer-bottom a{margin-top:9px}.hero-image{background-position:62% center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.contact-form .button{background:var(--accent);border-color:var(--accent);color:var(--deep);font-weight:700}.contact-form .button span{color:var(--deep)}.contact-form .button:hover{background:#e0bb85;border-color:#e0bb85}.location{padding-top:120px}.location-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;align-items:center;margin-top:65px}.location-copy p{max-width:280px;color:#707973;font-size:13px;margin:30px 0 20px}.map-frame{height:390px;background:#d8d8d0;border:1px solid var(--line);overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.65) contrast(.95)}@media(max-width:760px){.location{padding-top:20px}.location-layout{display:block;margin-top:42px}.location-copy{margin-bottom:40px}.map-frame{height:300px}}@media(max-width:760px){.process-list li{display:grid;grid-template-columns:27px 1fr;gap:20px;align-items:start}.process-list li>span{display:block;margin-bottom:0}.process-layout{margin-left:auto;margin-right:auto}}.map-frame .leaflet-container{width:100%;height:100%;font-family:var(--sans);filter:saturate(.65) contrast(.95)}.map-frame .leaflet-control-attribution{font-size:10px;line-height:1.4}.map-frame .leaflet-control-attribution a{color:#3e6255;text-decoration:underline}.whatsapp-float{z-index:3000!important}.footer-socials{display:flex;gap:18px;align-items:center;justify-self:end}.footer-socials a{font:10px var(--mono);color:#fff}.footer-socials a:hover{color:var(--accent)}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:10;width:54px;height:54px;display:grid;place-items:center;background:#25d366;color:#fff;border-radius:50%;box-shadow:0 8px 25px rgba(0,0,0,.25);transition:transform .2s}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float svg{width:27px;height:27px;fill:currentColor}@media(max-width:760px){.footer-socials{display:flex;flex-wrap:wrap;gap:12px;justify-self:start;margin-top:20px}.whatsapp-float{right:18px;bottom:18px}}
