.location-field[data-astro-cid-fzq24pvj]{min-width:0;margin-bottom:22px;position:relative}.location-field[data-astro-cid-fzq24pvj] label[data-astro-cid-fzq24pvj]{margin-bottom:0}.location-field[data-astro-cid-fzq24pvj] input[data-astro-cid-fzq24pvj]{margin:0}.location-field[data-astro-cid-fzq24pvj] small[data-astro-cid-fzq24pvj]{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.5;display:block}.location-field[data-astro-cid-fzq24pvj] ul[data-astro-cid-fzq24pvj]{z-index:10;overscroll-behavior:contain;background:var(--paper);border:1px solid #c9c3b8;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:67px;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0002}.location-field[data-astro-cid-fzq24pvj] ul[data-astro-cid-fzq24pvj][hidden]{display:none}.location-field[data-astro-cid-fzq24pvj] li{cursor:pointer;align-items:center;min-height:44px;padding:12px 10px;font-size:12px;display:flex}.location-field[data-astro-cid-fzq24pvj] li:hover,.location-field[data-astro-cid-fzq24pvj] li[aria-selected=true]{background:var(--ink);color:var(--paper)}.sr-only[data-astro-cid-fzq24pvj]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}:root{--paper:#f5f2eb;--oak:#be9a70;--ink:#30312d;--muted:#6d6b64;--line:#d8d3c9;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--oak);outline-offset:5px}h1,h2,h3,p{margin:0}em{color:#a67d4f;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:2.8px;font-size:10px;font-weight:600}.section{padding:105px 6.5%}header{justify-content:space-between;align-items:center;height:108px;padding:0 5%;display:flex}header :is(img,.brand-logo){width:175px;height:auto}nav{gap:38px;font-size:11px;display:flex}nav a:hover{color:#967046}.header-contact{border:0;border-bottom:1px solid var(--oak);background:0 0;padding:10px 0;font-size:11px}.header-contact span{padding-left:35px}.hero{color:#fff;height:min(820px,100svh - 108px);min-height:600px;margin:0 20px;position:relative;overflow:hidden}.hero-image,.hero-shade{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-image{animation:1.8s ease-out both hero-in}.hero-content{padding:95px 5.2% 90px;position:relative}.hero .eyebrow{color:#e1d6c4}.hero h1{letter-spacing:-3px;margin:30px 0 24px;font-size:clamp(70px,7.5vw,120px);line-height:.95}.hero-content>p:not(.eyebrow){color:#efeee8;font-size:13px;line-height:1.9}.button{border:0;justify-content:space-between;align-items:center;gap:42px;padding:21px 25px;font-size:11px;transition:background .3s,transform .3s;display:inline-flex}.button:hover{background:var(--oak);color:var(--ink);transform:translateY(-3px)}.light{background:var(--paper);color:var(--ink);margin-top:34px}.dark{background:var(--ink);color:var(--paper)}.button span{font-size:20px}.hero-bottom{color:#eee;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:30px;left:5.2%;right:5.2%}.hero-bottom a span{margin-left:22px}.hero-index{writing-mode:vertical-rl;letter-spacing:1px;gap:22px;font-size:10px;display:flex;position:absolute;top:52%;right:4%}.hero-index span{font-size:8px}.intro{grid-template-columns:1fr 2.1fr;gap:50px;display:grid}.intro>.eyebrow{padding-top:10px}.intro-copy{max-width:720px;color:var(--muted);grid-template-columns:1fr 1fr;gap:35px;margin:32px 0;font-size:12px;line-height:1.9;display:grid}.text-link{border:0;border-bottom:1px solid var(--oak);background:0 0;gap:45px;padding:0 0 10px;font-size:11px;display:inline-flex}.section-top{justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px;display:flex}.section-top>p{color:var(--muted);font-size:11px;line-height:1.8}.section-top h2{margin-top:23px}.service{border-top:1px solid var(--line);grid-template-columns:.3fr 1.3fr 1.2fr 50px;align-items:center;gap:35px;padding:32px 0;display:grid}.service:last-child{border-bottom:1px solid var(--line)}.number{color:#967046;font-size:10px}.service h3{font-size:31px}.service p{color:var(--muted);max-width:330px;font-size:11px;line-height:1.9}.service button{border:1px solid var(--line);background:0 0;border-radius:50%;width:43px;height:43px;font-size:20px;transition:all .3s}.service button:hover{background:var(--ink);color:var(--paper)}.projects{background:#eae6dd}.project-grid{grid-template-columns:1fr 1fr 1fr;gap:28px;display:grid}.project-image{height:390px;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.project-image button{background:var(--paper);opacity:0;border:0;justify-content:space-between;padding:15px;font-size:10px;transition:all .3s;display:flex;position:absolute;bottom:15px;left:15px;right:15px;transform:translateY(10px)}.project:hover button,.project:focus-within button{opacity:1;transform:none}.project-caption{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.project h3{font-size:28px}.project-caption span{color:var(--muted);font-size:9px}.project>p{color:var(--muted);letter-spacing:.5px;margin-top:8px;font-size:9px}small{font-size:9px}.approach{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;display:grid}.approach-image{min-height:700px;position:relative}.approach-image img{object-fit:cover;filter:brightness(.7);width:100%;height:100%;position:absolute;inset:0}.approach-image>span{letter-spacing:1px;font-size:10px;position:absolute;bottom:30px;left:35px}.approach-content{padding:85px 12%}.approach .eyebrow,.approach em{color:#d5b68d}.approach .eyebrow{font-size:9px}.approach h2{margin:28px 0;font-size:clamp(39px,3.6vw,58px)}.approach-content>p:not(.eyebrow){color:#c6c6be;font-size:11px;line-height:1.9}ol{margin:35px 0 0;padding:0;list-style:none}li{border-top:1px solid #55564f;gap:20px;padding:23px 0;display:flex}li>span{color:var(--oak);padding-top:7px;font-size:9px}li h3{font-size:23px}li p{color:#c6c6be;margin-top:8px;font-size:10px;line-height:1.8}.faq{grid-template-columns:1fr 1.2fr;gap:65px;display:grid}.faq h2{margin-top:25px}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;justify-content:space-between;gap:20px;font-size:12px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{color:#967046;font-size:19px}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);padding:20px 30px 0 0;font-size:11px;line-height:1.9}.closing{text-align:center;border-top:1px solid var(--line);padding-top:90px;padding-bottom:100px}.closing h2{margin:30px 0 35px;font-size:clamp(55px,6vw,90px)}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding:40px 6.5% 100px;font-size:9px;display:flex}footer :is(img,.brand-logo){width:125px;height:auto}footer p{font-size:10px}.floating-contact{z-index:5;background:var(--paper);color:var(--ink);border:1px solid #d5c2a8;border-radius:50px;align-items:center;gap:12px;padding:15px 23px;font-size:11px;transition:transform .3s;display:flex;position:fixed;bottom:25px;right:26px;box-shadow:0 5px 25px #0002}.floating-contact:hover{transform:translateY(-4px)}.floating-contact svg{width:25px;height:25px}dialog{background:var(--paper);width:min(570px,100%);max-width:100%;height:100dvh;max-height:100%;color:var(--ink);border:0;margin:0;padding:0;position:fixed;inset:0 0 0 auto}dialog[open]{animation:.4s ease-out drawer-in}dialog::backdrop{backdrop-filter:blur(5px);background:#1b201c88}.drawer{padding:35px 45px}.drawer-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.drawer-top .eyebrow{letter-spacing:1.5px;font-size:8px}.drawer-top button{background:0 0;border:0;padding:10px;font-size:22px}.drawer h2{margin:40px 0 15px;font-size:64px}.drawer>p{color:var(--muted);font-size:12px}form{margin-top:30px}label{margin-bottom:22px;font-size:10px;display:block}input,select,textarea{width:100%;color:var(--ink);outline-offset:4px;background:0 0;border:0;border-bottom:1px solid #c9c3b8;border-radius:0;padding:12px 0;font-size:12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--oak)}.form-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.form-note{color:var(--muted);margin:10px 0 22px;font-size:10px;line-height:1.7}form>.button{width:100%}#form-result{margin-top:25px;font-size:12px;line-height:1.8}#form-result textarea{font-size:11px}.skip{z-index:20;background:var(--paper);padding:15px;position:absolute;top:-100px}.skip:focus{top:10px}@keyframes hero-in{0%{transform:scale(1.055)}to{transform:scale(1)}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=900px){header{height:90px}header :is(img,.brand-logo){width:145px}nav{gap:20px}.hero{height:720px;margin:0 12px}.hero-content{padding:100px 7%}.hero h1{font-size:88px}.section{padding:75px 6%}.intro{grid-template-columns:1fr;gap:28px}.services{padding-top:0}.service{grid-template-columns:25px 1fr 1fr 40px;gap:20px}.service h3{font-size:26px}.project-grid{gap:18px}.project-image{height:300px}.project h3{font-size:23px}.approach-content{padding:65px 9%}.approach-image{min-height:680px}.faq{gap:35px}.hero-index,footer p{display:none}}@media (width<=600px){header{height:84px;padding:0 6%}header :is(img,.brand-logo){width:138px}nav{display:none}.header-contact{font-size:10px}.header-contact span{padding-left:18px}.hero{height:calc(90svh - 84px);min-height:610px;margin:0 8px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#161c17b8,#161c1730),linear-gradient(#0000,#161c1766)}.hero-content{padding:90px 7% 80px}.hero .eyebrow{letter-spacing:1.8px;font-size:8px}.hero h1{letter-spacing:-2px;font-size:clamp(52px,15vw,76px)}.hero-content>p:not(.eyebrow){font-size:12px}.hero-bottom{bottom:25px;left:7%;right:7%}.hero-bottom>span{display:none}.hero-bottom>a{justify-content:space-between;width:100%;display:flex}.section{padding:65px 7%}h2{letter-spacing:-1px;font-size:43px}.intro-copy{grid-template-columns:1fr;gap:16px;font-size:12px}.services{padding-top:0}.section-top{flex-direction:column;align-items:start;gap:20px;margin-bottom:30px}.service{grid-template-columns:20px 1fr 36px;gap:12px;padding:25px 0}.service h3{font-size:28px}.service p{grid-area:2/2;font-size:11px}.service button{grid-area:1/3;width:35px;height:35px}.project-grid{grid-template-columns:1fr;gap:35px}.project.offset{padding-top:0}.project-image{height:420px}.project-image button{opacity:1;transform:none}.project h3{font-size:29px}.approach{grid-template-columns:1fr}.approach-image{min-height:410px}.approach-content{padding:55px 7%}.approach h2{font-size:43px}.approach-content>p:not(.eyebrow){font-size:12px}li p{font-size:11px}.faq{grid-template-columns:1fr;gap:25px}.closing h2{font-size:58px}footer{grid-template-columns:1fr 1fr;padding:32px 7% 105px;display:grid}footer>a:last-child{text-align:right}footer>span{grid-row:2}.floating-contact{padding:14px 18px;bottom:18px;right:18px}.drawer{padding:25px}.drawer h2{margin-top:30px;font-size:58px}.form-row{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}html{scroll-padding-top:110px}header{z-index:10;width:100%;height:112px;color:var(--paper);gap:70px;padding:0 5%;transition:width .45s,height .45s,top .45s,padding .45s,gap .45s,background .35s,box-shadow .35s,border-radius .45s;position:fixed;top:0;left:50%;transform:translate(-50%)}header :is(img,.brand-logo){filter:brightness(0)invert();transition:width .45s,filter .35s}header nav{gap:38px;transition:gap .45s}header nav a:hover{color:#dfc6a5}header .header-contact{color:inherit;white-space:nowrap;border-color:#d5b68d}header.is-scrolled{width:min(860px,100% - 40px);height:76px;color:var(--ink);backdrop-filter:blur(16px);background:#f5f2ebf5;border-radius:5px;gap:34px;padding:0 30px;top:18px;box-shadow:0 8px 40px #0002}header.is-scrolled :is(img,.brand-logo){filter:none;width:125px}header.is-scrolled nav{gap:25px}header.is-scrolled nav a:hover{color:#967046}header.is-scrolled .header-contact span{padding-left:20px}.hero{width:100%;height:100svh;min-height:700px;margin:0}.hero-content{padding:clamp(170px,24vh,260px) 6.5% 110px}.hero-shade{background:linear-gradient(#13181488,#0000 30%),linear-gradient(90deg,#131814b8,#13181416),linear-gradient(#0000 65%,#13181466)}.hero-bottom{bottom:35px;left:6.5%;right:6.5%}.project.offset{padding-top:0}.project-grid{align-items:start}@media (width<=900px){header{gap:25px;height:100px}header.is-scrolled{gap:24px;padding:0 24px}header.is-scrolled nav{gap:18px}.hero-content{padding:190px 7% 100px}}@media (width<=600px){header{gap:20px;height:96px;padding:0 7%}header :is(img,.brand-logo){width:138px}header.is-scrolled{gap:20px;width:calc(100% - 28px);height:66px;padding:0 20px;top:12px}header.is-scrolled :is(img,.brand-logo){width:112px}.hero{height:100svh;min-height:650px;margin:0}.hero-content{padding:175px 7% 100px}.hero-bottom{bottom:30px;left:7%;right:7%}.hero-shade{background:linear-gradient(#161c1788,#0000 28%),linear-gradient(90deg,#161c17b8,#161c1730),linear-gradient(#0000,#161c1766)}}.mobile-dock,.mobile-gallery-hint{display:none}@media (width<=600px){html{scroll-padding-top:88px}body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}header{height:88px;padding:0 24px}header :is(img,.brand-logo){width:128px}header .header-contact{min-height:44px;font-size:11px}header .header-contact span{padding-left:12px}header.is-scrolled{border-radius:4px;width:calc(100% - 32px);height:62px;padding:0 18px;top:10px}header.is-scrolled :is(img,.brand-logo){width:105px}.mobile-dock{z-index:15;padding:8px 12px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(20px);background:#f5f2ebfa;border-top:1px solid #d8d3c9;grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 35px #00000008}.mobile-dock a,.mobile-dock button{letter-spacing:.2px;min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.mobile-dock a>span{height:24px;font-size:25px;font-weight:400;line-height:24px}.mobile-dock button{background:var(--ink);color:var(--paper)}.mobile-dock svg{width:23px;height:23px}.mobile-dock a.active{color:#88623a;background:#eae5db}.floating-contact{display:none}.hero{height:calc(100svh - 82px - env(safe-area-inset-bottom));align-items:flex-end;min-height:590px;display:flex}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(#18201b88 0%,#18201b0a 32%,#18201b99 60%,#18201bd9 100%)}.hero-content{width:100%;padding:135px 26px 93px}.hero .eyebrow{letter-spacing:1.8px;max-width:250px;font-size:8px;line-height:1.7}.hero h1{letter-spacing:-1.9px;margin:22px 0 18px;font-size:clamp(55px,15.5vw,82px);line-height:.98}.hero-content>p:not(.eyebrow){color:#e9e6df;font-size:12px;line-height:1.8}.hero .button{width:100%;min-height:58px;margin-top:25px;padding:16px 20px;font-size:12px}.hero-bottom{bottom:27px;left:26px;right:26px}.hero-bottom a{letter-spacing:.5px;font-size:9px}.hero-bottom a span{font-size:18px}.section{padding:57px 26px}.eyebrow{letter-spacing:2px;font-size:9px}h2{letter-spacing:-1.1px;font-size:43px}.intro{gap:24px}.intro h2 br{display:none}.intro-copy{gap:16px;margin:23px 0;font-size:13px;line-height:1.85}.intro-copy p:nth-child(2){display:none}.text-link{align-items:center;min-height:44px;padding:6px 0;font-size:11px}.services{padding-top:0;padding-bottom:56px}.services .section-top{gap:10px;margin-bottom:22px}.service{grid-template-columns:22px 1fr 44px;gap:10px;padding:24px 0}.service h3{letter-spacing:-.4px;font-size:27px;line-height:1.05}.service p{padding-top:3px;font-size:12px;line-height:1.75}.service button{width:44px;height:44px}.service .number{align-self:start;padding-top:9px}.projects{padding-left:0;padding-right:0;overflow:hidden}.projects>.section-top{gap:20px;margin-bottom:28px;padding:0 26px}.projects .section-top>p{font-size:12px}.projects small{font-size:9px}.projects .section-top h2{margin-top:18px;font-size:48px}.mobile-gallery-hint{letter-spacing:.6px;color:var(--muted);justify-content:space-between;margin:0 26px 14px;font-size:9px;display:flex}.mobile-gallery-hint span{color:#88623a}.project-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--oak) transparent;gap:16px;padding:0 26px 20px;scroll-padding-left:26px;display:flex;overflow-x:auto}.project{scroll-snap-align:start;flex:0 0 86%;min-width:0}.project-image{aspect-ratio:4/5;height:auto}.project-image button{min-height:46px;padding:13px;font-size:10px;bottom:12px;left:12px;right:12px}.project-caption{gap:8px;margin-top:18px}.project h3{font-size:27px}.project>p{margin-top:7px;font-size:9px;line-height:1.6}.js .project.reveal{opacity:1;transform:none}.approach-image{height:330px;min-height:0}.approach-image img{object-position:center 40%}.approach-image>span{font-size:9px;bottom:24px;left:26px}.approach-content{padding:49px 26px 40px}.approach h2{margin:22px 0;font-size:43px}.approach-content>p:not(.eyebrow){font-size:13px;line-height:1.85}ol{margin-top:27px}li{gap:17px;padding:23px 0}li>span{font-size:10px}li h3{font-size:26px}li p{font-size:12px;line-height:1.75}.faq{gap:20px}.faq h2{margin-top:18px}.faq summary{align-items:center;min-height:44px;font-size:12px;line-height:1.6}.faq details{padding:14px 0}.faq details p{padding-top:12px;font-size:12px}.closing{padding-top:54px;padding-bottom:58px}.closing .eyebrow{font-size:8px}.closing h2{margin:24px 0 29px;font-size:52px}.closing .button{width:100%;min-height:58px;padding:16px 20px;font-size:12px}footer{gap:24px;padding:30px 26px 34px}footer :is(img,.brand-logo){width:115px}footer span{font-size:8px}footer>a:last-child{font-size:10px}dialog{overscroll-behavior:contain;width:100%;height:100dvh;max-height:100dvh}dialog[open]{animation:.35s ease-out mobile-drawer-in}.drawer{padding:calc(18px + env(safe-area-inset-top)) 26px calc(32px + env(safe-area-inset-bottom))}.drawer-top{background:var(--paper);z-index:1;padding-bottom:8px;position:sticky;top:0}.drawer-top .eyebrow{letter-spacing:1.1px;font-size:7px}.drawer-top button{width:44px;height:44px;font-size:21px}.drawer h2{margin:28px 0 16px;font-size:52px;line-height:.98}.drawer>p{font-size:13px}form{margin-top:28px}label{margin-bottom:24px;font-size:11px}input,select,textarea{min-height:48px;padding:13px 0;font-size:16px}textarea{min-height:115px}.form-row{gap:0}form>.button{min-height:58px;font-size:12px}.form-note{margin-bottom:20px;font-size:11px;line-height:1.65}#form-result textarea{min-height:180px;font-size:14px}}@keyframes mobile-drawer-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=600px) and (height<=700px){.hero{min-height:530px}.hero-content{padding-top:118px;padding-bottom:78px}.hero h1{margin:17px 0;font-size:54px}.hero .button{margin-top:18px}.hero-bottom{bottom:20px}}.hero-image{transform:scale(var(--hero-scale,1));transform-origin:50%;will-change:transform;animation:none}@media (prefers-reduced-motion:reduce){.hero-image{will-change:auto;transform:none}}.approach-image img{object-position:48% center;filter:brightness(.95)}@media (width<=600px){.approach-image img{object-position:center center}}.closing{background:var(--ink);color:var(--paper);border-top-color:var(--ink)}.closing .eyebrow,.closing em{color:#d5b68d}.closing .button{background:var(--paper);color:var(--ink)}.closing .button:hover{background:var(--oak);color:var(--ink)}.brand-splash{display:none}.splash-active{overflow:hidden}.splash-active .brand-splash{z-index:100;pointer-events:auto;background:#252622;flex-direction:column;justify-content:center;align-items:center;gap:30px;animation:.2s both splash-enter;display:flex;position:fixed;inset:0}.splash-logo{width:clamp(200px,27vw,340px);animation:1s cubic-bezier(.22,.7,.25,1) .15s both splash-logo-wipe;overflow:hidden}.splash-logo img{filter:brightness(0)invert();width:100%;height:auto;display:block}.splash-caption{color:#c9ab85;letter-spacing:2.6px;text-transform:uppercase;font-size:8px;animation:.6s .65s both splash-caption-in}.splash-active .brand-splash.is-leaving{pointer-events:none;animation:.7s cubic-bezier(.76,0,.24,1) both splash-exit}@keyframes splash-enter{0%{opacity:0}to{opacity:1}}@keyframes splash-logo-wipe{0%{clip-path:inset(0 100% 0 0);transform:translateY(8px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes splash-caption-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-exit{0%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@media (prefers-reduced-motion:reduce){.splash-active .brand-splash{display:none}.splash-active{overflow:auto}}.mobile-header-label,.mobile-services,.mobile-hero-title,.gallery-controls{display:none}@media (width<=600px){:root{--mobile-gutter:24px}html{scroll-padding-top:80px}header{height:82px;padding:0 var(--mobile-gutter)}header .header-contact{display:none}.mobile-header-label{letter-spacing:1.2px;text-transform:uppercase;color:inherit;opacity:.85;font-size:8px;display:block}header :is(img,.brand-logo){width:118px}header.is-scrolled{width:calc(100% - 28px);height:58px;padding:0 16px;top:10px}header.is-scrolled :is(img,.brand-logo){width:100px}.mobile-header-label{text-align:right;max-width:100px;line-height:1.6}.desktop-hero-title{display:none}.mobile-hero-title{display:block}.hero{min-height:600px}.hero-content{padding:125px var(--mobile-gutter) 80px}.hero .eyebrow{letter-spacing:1.5px;max-width:235px;font-size:8px}.hero h1{letter-spacing:-2px;margin:24px 0;font-size:clamp(55px,16vw,84px);line-height:.92}.hero-content>p:not(.eyebrow){max-width:260px;font-size:13px}.hero-content .button{min-height:58px;margin-top:25px;padding:17px 20px;font-size:12px}.hero-bottom{bottom:23px;left:24px;right:24px}.hero-image{object-position:46% center}.hero-shade{background:linear-gradient(#18201b88,#18201b00 25%,#18201b66 45%,#18201bd9 100%)}.mobile-dock{padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:4px}.mobile-dock a,.mobile-dock button{min-height:56px}.mobile-dock a.active{background:0 0;position:relative}.mobile-dock a.active:before{content:"";background:var(--oak);height:2px;position:absolute;top:-7px;left:30%;right:30%}.mobile-dock a>span{font-size:23px}.mobile-dock button{border-radius:2px}.intro{gap:18px;padding:44px 24px 32px}.intro h2{font-size:38px;line-height:1.08}.intro-copy{margin:20px 0 10px;font-size:13px}.intro .text-link{display:none}.services{padding:15px 24px 48px}.services>.section-top{gap:9px;margin-bottom:19px}.services>.section-top>p:last-child{font-size:12px}.service{display:none}.mobile-services{display:block}.mobile-services details{border-top:1px solid var(--line);border-bottom:0;padding:0}.mobile-services details:last-child{border-bottom:1px solid var(--line)}.mobile-services summary{grid-template-columns:20px 1fr 32px;align-items:center;gap:12px;min-height:86px;padding:16px 0;display:grid}.mobile-services summary h3{letter-spacing:-.6px;font-size:28px;line-height:1.04}.mobile-services .mobile-service-number{color:#967046;font-size:9px}.mobile-services .mobile-service-toggle{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:20px;transition:transform .2s;display:grid}.mobile-services details[open] .mobile-service-toggle{background:#eae5db;transform:rotate(45deg)}.mobile-services details[open] .mobile-service-number{transform:none}.mobile-service-body{padding:0 0 23px 32px}.mobile-services details p{color:var(--muted);padding:0 12px 12px 0;font-size:13px;line-height:1.8}.mobile-service-body .text-link{justify-content:space-between;gap:30px;width:100%;min-height:48px;font-size:11px}.mobile-service-body .text-link span{font-size:19px}.projects{padding-top:43px;padding-bottom:32px}.projects>.section-top{gap:15px;margin-bottom:20px;padding:0 24px}.projects .section-top h2{margin-top:16px;font-size:45px}.projects .section-top>p{font-size:11px;line-height:1.8}.mobile-gallery-hint{margin:0 24px 13px}.project-grid{scrollbar-width:none;gap:14px;padding:0 24px 10px;scroll-padding-left:24px;position:relative}.project-grid::-webkit-scrollbar{display:none}.project{flex-basis:calc(100% - 14px)}.project-image{aspect-ratio:4/4.65}.project-image button{min-height:46px}.project-caption{margin-top:16px}.project h3{font-size:28px}.project>p{font-size:10px}.gallery-controls{border-top:1px solid #cbc4b7;justify-content:space-between;align-items:center;margin:19px 24px 0;padding-top:14px;display:flex}.gallery-position{letter-spacing:1px;font-size:12px}.gallery-position>span{color:var(--muted);font-size:10px}.gallery-dots{gap:0;display:flex}.gallery-dots button{background:0 0;border:0;place-items:center;width:36px;height:44px;display:grid}.gallery-dots button span{background:#b5afa3;border-radius:50%;width:5px;height:5px;transition:width .2s}.gallery-dots button[aria-pressed=true] span{background:var(--ink);border-radius:4px;width:20px}.gallery-next{background:0 0;border:1px solid #bdb4a4;border-radius:50%;width:44px;height:44px;font-size:21px}.approach{position:relative}.approach-image{height:280px}.approach-image>span{font-size:8px;left:24px}.approach-content{padding:38px 24px 34px}.approach h2{margin:20px 0;font-size:40px}.approach-content>p:not(.eyebrow){font-size:12px;line-height:1.8}.approach ol{border-left:1px solid #686352;margin:27px 0 0 11px}.approach li{border:0;gap:14px;padding:0 0 30px 22px;position:relative}.approach li:last-child{padding-bottom:0}.approach li:before{content:"";background:#d5b68d;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-4px}.approach li>span{font-size:9px}.approach li h3{font-size:25px;line-height:1.1}.approach li p{margin-top:9px;font-size:12px;line-height:1.8}.faq{padding:43px 24px}.faq h2{font-size:40px}.faq summary{min-height:52px;font-size:13px}.faq details p{font-size:13px}.closing{padding:46px 24px 48px}.closing h2{font-size:48px}.closing .button{min-height:60px}footer{padding:26px 24px 32px}.drawer h2{max-width:300px;font-size:47px}.drawer{padding-left:24px;padding-right:24px}.drawer .form-note{font-size:11px}}@media (width<=350px){.mobile-services summary h3{font-size:25px}.mobile-service-body{padding-left:0}.hero h1{font-size:53px}.project h3{font-size:25px}.drawer h2{font-size:42px}.approach h2{font-size:35px}}:root{--paper:#f1efe8;--ink:#262925;--muted:#62665e;--line:#c7c8bd;--oak:#b3956f}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500}em{color:inherit;font-style:normal}h2{letter-spacing:-2px;font-size:clamp(35px,3.4vw,55px);line-height:1.12}.hero h1{letter-spacing:-4px;margin:27px 0 24px;font-size:clamp(58px,6.5vw,104px);font-weight:600;line-height:1.04}.hero h1 em{color:#d3bc9b}.hero-content>p:not(.eyebrow){max-width:460px;font-size:14px;line-height:1.8}.hero-content{padding-top:clamp(175px,24vh,260px)}.hero .eyebrow{letter-spacing:2px;font-size:10px}.button{padding:20px 25px;font-size:12px;font-weight:600}.button:hover{transform:none}.eyebrow{letter-spacing:2px;font-weight:600}.intro{border-bottom:1px solid var(--line);padding-bottom:75px}.intro-copy{font-size:13px;line-height:1.9}.intro-copy p:first-child{color:var(--ink)}.services{padding-top:55px}.service{border-top-color:var(--line);grid-template-columns:.2fr 1.4fr 1.2fr 46px;padding:29px 0}.service h3{letter-spacing:-.7px;font-size:25px;font-weight:500;line-height:1.2}.service p{font-size:12px;line-height:1.8}.service button{border-radius:2px}.projects{background:var(--ink);color:var(--paper)}.projects .section-top>p,.project>p,.project-caption>span{color:#bfc3b7}.projects .eyebrow{color:#c6ad8b}.projects .project-image button{background:var(--paper);color:var(--ink)}.project h3{letter-spacing:-.6px;font-size:21px;line-height:1.3}.project-caption{align-items:start;gap:18px}.project-image img{transition:transform .6s}.project:hover img{transform:scale(1.02)}.approach{color:var(--ink);background:#e4e3d9}.approach .eyebrow{color:#726149}.approach h2{letter-spacing:-1.8px;font-size:clamp(33px,3.2vw,51px)}.approach em{color:var(--ink)}.approach-content>p:not(.eyebrow),.approach li p{color:var(--muted);font-size:12px}.approach li{border-top-color:#bfc1b5}.approach li h3{letter-spacing:-.4px;font-size:20px;font-weight:600}.approach li>span{color:#716046}.approach-image>span{color:#fff;background:#262925b3;padding:8px 10px;bottom:25px;left:25px}.faq summary{font-weight:500}.closing{background:#20231f}.closing em{color:inherit}.drawer h2{letter-spacing:-2px;font-size:52px;line-height:1.08}header.is-scrolled{border-radius:2px}.floating-contact{background:var(--ink);color:var(--paper);border-color:#555b50;border-radius:3px}.js .reveal{transition:opacity .45s;transform:none}@media (width<=900px){.hero h1{letter-spacing:-3px;font-size:68px}.service h3{font-size:22px}.project h3{font-size:19px}}@media (width<=600px){.hero{min-height:625px}.hero-content{padding-top:140px;padding-bottom:88px}.hero h1{letter-spacing:-1.9px;margin:24px 0 20px;font-size:clamp(39px,10.7vw,61px);line-height:1.08}.hero-content>p:not(.eyebrow){max-width:320px;font-size:13px;line-height:1.75}.hero .eyebrow{letter-spacing:1.6px;font-size:8px}.hero .button{margin-top:25px;font-size:12px}.hero-image{object-position:43% center}h2{letter-spacing:-1.3px;font-size:34px}.intro{padding-top:42px;padding-bottom:32px}.intro h2{letter-spacing:-1.4px;font-size:36px;line-height:1.13}.intro-copy{font-size:13px}.intro h2 br,.intro-copy p:nth-child(2){display:block}.intro-copy{gap:14px}.services{padding-top:35px;padding-bottom:42px}.mobile-services summary h3{letter-spacing:-.65px;font-size:23px;font-weight:500;line-height:1.2}.mobile-services summary{grid-template-columns:20px 1fr 30px;gap:10px;min-height:80px}.mobile-services .mobile-service-toggle{border-radius:2px;width:30px;height:30px}.mobile-service-body .text-link{font-weight:600}.mobile-services details p{font-size:12px;line-height:1.8}.projects .section-top h2{letter-spacing:-1.5px;max-width:280px;font-size:37px;line-height:1.12}.mobile-gallery-hint,.mobile-gallery-hint span{color:#c4b79f}.project h3{font-size:20px;line-height:1.25}.project>p{font-size:9px}.gallery-controls{border-color:#565d50}.gallery-position>span{color:#bfc3b7}.gallery-dots button span{background:#68705f}.gallery-dots button[aria-pressed=true] span{background:#d3bc9b}.gallery-next{color:var(--paper);border-color:#68705f;border-radius:2px}.approach h2{letter-spacing:-1.3px;font-size:34px;line-height:1.15}.approach li h3{font-size:19px;font-weight:600}.approach ol{border-color:#a8ae9e}.approach li:before{background:#857251;border-radius:0}.approach li>span{color:#716046}.approach-image>span{padding:7px 9px;font-size:8px;bottom:20px;left:24px}.faq h2{letter-spacing:-1.2px;font-size:34px}.closing h2{letter-spacing:-1.6px;font-size:41px;line-height:1.13}.drawer h2{letter-spacing:-1.6px;font-size:40px;line-height:1.1}.mobile-dock a.active{color:var(--ink)}.mobile-dock button{font-weight:600}}@media (width<=350px){.hero h1{letter-spacing:-1.5px;font-size:35px}.hero-content{padding-left:22px;padding-right:22px}.hero .eyebrow{font-size:7px}.mobile-services summary h3{font-size:21px}.intro h2{font-size:32px}.projects .section-top h2{font-size:33px}.closing h2,.drawer h2{font-size:36px}}main h2{letter-spacing:-2.5px;font-size:clamp(40px,4.3vw,68px);font-weight:700;line-height:1.06}.intro h2{font-size:clamp(42px,4.5vw,72px)}.projects h2{max-width:690px}.approach h2{letter-spacing:-2.2px;font-size:clamp(38px,3.8vw,61px);font-weight:700;line-height:1.08}.faq h2{font-size:clamp(38px,3.8vw,60px)}.closing h2{letter-spacing:-3px;font-size:clamp(48px,6vw,90px);font-weight:700;line-height:1.04}@media (width<=600px){main h2,.intro h2{letter-spacing:-1.6px;font-size:40px;line-height:1.08}.projects .section-top h2{letter-spacing:-1.8px;max-width:330px;font-size:42px;line-height:1.06}.approach h2{letter-spacing:-1.5px;font-size:38px;line-height:1.08}.faq h2{letter-spacing:-1.5px;font-size:38px}.closing h2{letter-spacing:-1.9px;font-size:46px;line-height:1.06}}@media (width<=350px){main h2,.intro h2,.projects .section-top h2{letter-spacing:-1.4px;font-size:35px}.approach h2,.faq h2{letter-spacing:-1.2px;font-size:33px}.closing h2{letter-spacing:-1.5px;font-size:39px}}.brand-logo{display:block;overflow:visible}.logo-bar{transform:translate(0)}@media (hover:hover) and (prefers-reduced-motion:no-preference){a:hover>.brand-logo .logo-bar-left{animation:.44s cubic-bezier(.25,.6,.3,1) both logo-bar-left}a:hover>.brand-logo .logo-bar-right{animation:.44s cubic-bezier(.25,.6,.3,1) both logo-bar-right}}@media (prefers-reduced-motion:no-preference){a:focus-visible>.brand-logo .logo-bar-left{animation:.44s cubic-bezier(.25,.6,.3,1) both logo-bar-left}a:focus-visible>.brand-logo .logo-bar-right{animation:.44s cubic-bezier(.25,.6,.3,1) both logo-bar-right}}@keyframes logo-bar-left{0%,to{transform:translate(0)}40%{transform:translate(-18px)}}@keyframes logo-bar-right{0%,to{transform:translate(0)}40%{transform:translate(18px)}}.faq-intro{max-width:330px;color:var(--muted);margin-top:24px;font-size:12px;line-height:1.9}@media (width<=600px){.faq-intro{margin-top:19px;font-size:13px}}@media (width>=901px){.faq{align-items:start}.faq>div:first-child{align-self:start;position:sticky;top:125px}}.js .reveal{opacity:0;transition:opacity .65s ease var(--reveal-delay,0s),transform .75s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0s);transform:translateY(24px)}.js .reveal.visible{opacity:1;transform:translate(0,0)}@media (width<=600px){.js .reveal{transform:translateY(16px)}.js .reveal.visible{transform:translate(0,0)}.js .project.reveal{opacity:1;transition:none;transform:none}}@media (prefers-reduced-motion:reduce){.js .reveal,.js .reveal.visible{opacity:1;transition:none;transform:none}}.enquiry-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}button:disabled{opacity:.6;cursor:wait}.project-image .work-open{opacity:1;text-align:left;width:100%;height:100%;color:var(--ink);background:0 0;border:0;padding:0;display:block;position:absolute;inset:0;transform:none}.project-image .work-open>span{background:var(--paper);opacity:0;justify-content:space-between;align-items:center;padding:16px;font-size:11px;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:15px;left:15px;right:15px;transform:translateY(8px)}.work-open b{font-size:19px;font-weight:400}.project:hover .work-open>span,.work-open:focus-visible>span{opacity:1;transform:none}.projects .project-image .work-open{background:0 0}.work-modal{background:var(--paper);width:min(1400px,94vw);max-width:none;height:auto;max-height:94dvh;color:var(--ink);overscroll-behavior:contain;margin:auto;padding:0;inset:0;overflow:auto}.work-modal[open]{animation:.4s cubic-bezier(.2,.7,.2,1) work-expand}.work-modal::backdrop{backdrop-filter:blur(8px);background:#151a15bf}.work-shell{padding:32px}.work-top{justify-content:space-between;align-items:start;gap:24px;display:flex}.work-top h2{letter-spacing:-1.5px;margin-top:14px;font:600 clamp(25px,3vw,45px)/1.1 Manrope,sans-serif}.work-top .eyebrow{color:#78654b;font-size:9px}.work-close{border:1px solid var(--line);background:0 0;flex-shrink:0;width:48px;height:48px;font-size:21px}.work-description{justify-content:space-between;align-items:start;gap:30px;margin:22px 0;font-size:12px;line-height:1.8;display:flex}.work-description p{max-width:600px;color:var(--muted)}.work-description>span{color:var(--muted);white-space:nowrap;font-size:9px}.work-track{scroll-snap-type:x proximity;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--oak) transparent;gap:18px;padding-bottom:12px;display:flex;position:relative;overflow-x:auto}.work-track figure{scroll-snap-align:start;flex:0 0 84%;min-width:0;margin:0}.work-track img{object-fit:cover;background:#d6d3c9;width:100%;height:clamp(260px,47vh,650px);display:block}.work-track figcaption{letter-spacing:.5px;color:var(--muted);padding-top:12px;font-size:10px}.work-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}.work-controls{align-items:center;gap:18px;display:flex}.work-controls button{border:1px solid var(--line);background:0 0;width:44px;height:44px;font-size:20px}.work-controls>span{letter-spacing:1px;white-space:nowrap;font-size:11px}.work-scroll-hint{color:var(--muted);font-size:10px}.work-bottom>.button{gap:25px;padding:15px 20px;font-size:11px}::view-transition-group(work-preview){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}@keyframes work-expand{0%{opacity:0;transform:translateY(22px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.project-image .work-open>span{opacity:1;padding:13px;bottom:12px;left:12px;right:12px;transform:none}.work-modal{width:100%;height:100dvh;max-height:100dvh;margin:0;inset:0}.work-shell{padding:calc(18px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom))}.work-top h2{letter-spacing:-1px;margin-top:12px;font-size:29px}.work-top .eyebrow{letter-spacing:1.3px;font-size:7px}.work-close{width:44px;height:44px}.work-description{flex-direction:column;gap:9px;margin:20px 0;font-size:12px}.work-description>span{white-space:normal;font-size:8px}.work-track{gap:12px;margin-right:-20px;padding-right:20px}.work-track figure{flex-basis:94%}.work-track img{height:42svh;min-height:250px}.work-track figcaption{font-size:9px}.work-bottom{flex-wrap:wrap;gap:16px}.work-bottom>.button{width:100%;min-height:54px}.work-scroll-hint{max-width:100px;font-size:9px;line-height:1.6}.work-controls{gap:12px}}@media (prefers-reduced-motion:reduce){.work-modal[open],::view-transition-group(work-preview){animation:none}}.contact-choice>p{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.7}.whatsapp-contact{color:#234b32;background:#e4eadd;border:1px solid #bdcdb6;align-items:center;gap:15px;min-height:82px;padding:18px;transition:background .2s;display:flex}.whatsapp-contact:hover{background:#d6e3ce}.whatsapp-contact>svg{flex-shrink:0;width:29px;height:29px}.whatsapp-contact>span:nth-child(2){flex:1}.whatsapp-contact strong{font-size:12px;font-weight:600;line-height:1.5;display:block}.whatsapp-contact small{color:#45604a;margin-top:4px;font-size:10px;display:block}.whatsapp-contact>span:last-child{font-size:22px}.contact-divider{letter-spacing:.4px;color:var(--muted);align-items:center;gap:14px;margin:25px 0 0;font-size:10px;display:flex}.contact-divider:before,.contact-divider:after{content:"";background:var(--line);flex:1;height:1px}@media (width<=600px){.contact-choice>p{font-size:13px}.whatsapp-contact{gap:12px;min-height:86px;padding:17px 15px}.whatsapp-contact strong{font-size:13px}.whatsapp-contact small{font-size:10px}}
