@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#eeede7;--ink:#252b25;--muted:#696e65;--line:#d2d4c9;--green:#425842;--acid:#d5e3b2;--dark:#29372d;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}::selection{background:var(--acid);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:5px}.page-width{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;line-height:1.5}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;width:min(1440px,100%);margin:auto;padding:0 56px;gap:30px}.wordmark{display:inline-flex;align-items:baseline;gap:6px;font-family:'Manrope',Arial,sans-serif;font-size:23px;letter-spacing:-1px;font-weight:800;line-height:1}.wordmark span{font-size:11px;letter-spacing:1px;font-weight:700}.wordmark i{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:1px}.site-header nav{display:flex;align-items:center;gap:38px;font-size:12px}.site-header nav a:hover{color:var(--green)}.nav-cta{border-bottom:1px solid var(--ink);padding-block:7px;display:flex;gap:35px}.nav-cta span{font-size:18px;line-height:1}.menu-toggle{display:none}.hero-intro{padding-top:54px;padding-bottom:38px}.hero .eyebrow{display:flex;gap:10px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}h1{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:clamp(52px,6.45vw,96px);letter-spacing:-5.5px;line-height:1.11;margin-top:26px}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1 em{font-size:1.08em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:30px}.hero-bottom p{font-size:13px;line-height:1.7;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:12px;font-weight:500;border-bottom:1px solid var(--line);padding:10px 0}.text-link span{font-size:19px;line-height:1;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.hero-image{height:clamp(380px,42vw,640px);margin-inline:20px;position:relative;background:#c4c9b9;overflow:hidden}.hero-image img{object-position:center 56%}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#13241b66);pointer-events:none}.hero-image figcaption{position:absolute;bottom:27px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;z-index:1;color:white;font-size:9px;letter-spacing:2px}.hero-image figcaption span:last-child{text-transform:uppercase;letter-spacing:1px;color:#ffffffdb}.service-index{display:grid;grid-template-columns:repeat(4,1fr);padding-top:27px;padding-bottom:29px;border-bottom:1px solid var(--line)}.service-index a{padding-inline:24px;border-right:1px solid var(--line);display:flex;align-items:center;gap:17px;font-size:12px}.service-index a:first-child{padding-left:0}.service-index a:last-child{border:0;padding-right:0}.service-index span{font-size:9px;color:var(--muted)}.service-index b{margin-left:auto;font-weight:400;color:var(--green);font-size:16px}.introduction{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-block:125px 115px}.introduction>.eyebrow{padding-top:12px}.introduction h2{margin-bottom:28px}.introduction p{max-width:500px;color:var(--muted);font-size:15px}.introduction p.small-copy{margin-top:17px;font-size:11px}h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:clamp(33px,3.5vw,52px);line-height:1.16;letter-spacing:-2px}h2 em{font-size:1.12em}.service-section{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(45px,7.7vw,112px);align-items:center;padding-bottom:118px}.service-visual{height:560px;position:relative;overflow:hidden;background:#d7d3c7}.photo-visual img{object-position:43% center}.service-visual figcaption{position:absolute;bottom:20px;left:24px;color:#fff;font-size:8px;letter-spacing:1.6px;text-shadow:0 1px 5px #000}.service-copy h2{margin:24px 0}.service-copy p{color:var(--muted);font-size:14px;max-width:380px;line-height:1.85}.accent-dot{color:var(--green)}.service-tags{list-style:none;margin:25px 0 28px;padding:0;font-size:11px;color:var(--muted)}.service-tags li{padding-block:8px;border-bottom:1px solid var(--line);max-width:350px}.service-tags li:before{content:'+';margin-right:13px;color:var(--green)}.video-section{background:var(--dark);color:var(--paper);padding-block:90px}.video-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.video-section .eyebrow{color:var(--acid)}.video-section h2{font-size:60px}.video-section p,.video-section .service-tags{color:#c2c9bd}.video-section .service-tags li,.video-section .text-link{border-color:#52604f}.video-section .service-tags li:before{color:var(--acid)}.video-visual{height:480px;position:relative;overflow:hidden}.video-visual img{object-position:59% center}.video-visual:after{content:'';position:absolute;inset:0;background:#18261a19;pointer-events:none}.frame-corner{position:absolute;width:26px;height:26px;border-color:#fff9;z-index:1}.top-left{top:24px;left:24px;border-top:1px solid;border-left:1px solid}.bottom-right{right:24px;bottom:24px;border-right:1px solid;border-bottom:1px solid}.visual-label{position:absolute;left:45px;top:39px;font-size:9px;letter-spacing:2px;z-index:1;text-shadow:0 1px 6px #000}.video-visual figcaption{position:absolute;bottom:36px;left:36px;right:36px;font-size:8px;letter-spacing:1.5px;z-index:1;text-shadow:0 1px 6px #000}.scanning-section{padding-top:120px}.scan-visual{background:#dce0d3;min-height:510px;display:flex;flex-direction:column;color:var(--dark);overflow:hidden}.scan-top,.scan-bottom{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;font-size:8px;letter-spacing:1.5px;gap:12px}.scan-mode-label{border:1px solid #9da991;padding:3px 8px;font-size:8px}.scan-stage{background:var(--dark);margin:0 25px;flex:1;min-height:360px;display:grid;place-items:center;overflow:hidden}.scan-stage svg{width:100%;height:100%;max-height:360px}.plan{transform:translate(47px,70px) rotate(-27deg) skewX(18deg) scale(.8);transform-origin:center;transition:transform .7s ease}.wall-height{transition:opacity .3s}.scan-stage.is-plan .plan{transform:none}.scan-stage.is-plan .wall-height{opacity:0}.scan-toggle{border:0;background:transparent;padding:6px 0;letter-spacing:0;font-size:10px;border-bottom:1px solid #9da991}.scan-toggle span{margin-left:14px}.tour-section{padding-bottom:120px}.tour-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;margin-bottom:44px;align-items:end}.tour-heading h2{margin-top:24px}.tour-description h3{font-size:15px;font-weight:500;margin-bottom:12px}.tour-description p{font-size:13px;color:var(--muted);max-width:380px;margin-bottom:13px}.tour-visual{height:440px;position:relative;overflow:hidden}.tour-visual img{object-position:center 55%}.tour-visual:after{content:'';position:absolute;inset:0;background:#1f2b2133}.tour-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff9c;border-radius:50%;width:156px;height:156px;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;backdrop-filter:blur(5px);background:#24362c22;font-size:46px;font-weight:400;letter-spacing:-2px}.tour-badge span{font-size:6px;letter-spacing:1.6px}.tour-visual figcaption{position:absolute;left:28px;bottom:22px;color:white;z-index:1;font-size:8px;letter-spacing:1.4px}.approach-section{padding-block:88px 92px;background:#e3e5da}.approach-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px}.approach-heading .eyebrow{padding-top:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.steps article{border-top:1px solid #bdc6b4;padding-top:20px}.steps span{font-size:9px;letter-spacing:1.5px;color:var(--green)}.steps h3{font-weight:500;font-size:20px;letter-spacing:-.5px;margin-top:19px}.steps p{font-size:12px;max-width:310px;color:var(--muted);margin-top:10px}.project-section{padding-block:112px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.project-section h2{font-size:60px;margin:25px 0}.project-section>div>p{font-size:13px;max-width:300px;color:var(--muted)}.project-form{padding-top:8px}.project-form>label,.project-form legend{display:block;font-size:11px;font-weight:500;margin-bottom:9px}.project-form>input,.project-form>textarea{width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #afb7a7;border-radius:0;color:var(--ink);font-size:12px;resize:vertical}.project-form input::placeholder,.project-form textarea::placeholder{color:#83897d}.project-form fieldset{border:0;margin:28px 0;padding:0;min-inline-size:0}.project-form legend{padding:0;margin-bottom:12px}.service-options{display:flex;flex-wrap:wrap;gap:8px}.service-options label{position:relative;cursor:pointer}.service-options input{position:absolute;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.service-options span{display:block;padding:7px 12px;border:1px solid #c3c8bb;font-size:10px;transition:background .15s,color .15s}.service-options input:checked+span{background:var(--dark);color:var(--paper);border-color:var(--dark)}.service-options input:focus-visible+span{outline:2px solid var(--green);outline-offset:3px}.button{margin-top:25px;width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--dark);color:var(--paper);border:1px solid var(--dark);padding:15px 20px;font-size:12px;transition:background .2s}.button:hover{background:var(--green)}.button span{font-size:18px}.project-form .form-note{font-size:10px;color:var(--muted);margin-top:11px;line-height:1.6}.form-status{font-size:11px;min-height:20px;color:var(--green);margin-top:8px}.contact-details{margin-top:30px;font-size:14px}.contact-details a{border-bottom:1px solid var(--line);padding-bottom:5px}.site-footer{border-top:1px solid var(--line);padding-block:40px 25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:20px}.site-footer>p{font-size:11px;color:var(--muted)}.site-footer>div{display:flex;flex-direction:column;align-items:end;gap:6px;font-size:10px;color:var(--muted)}.site-footer .image-note{grid-column:1/-1;margin-top:25px;font-size:9px;color:#767b6f}.skip-link{position:fixed;top:-100px;left:15px;background:var(--dark);color:white;padding:12px 20px;z-index:10}.skip-link:focus{top:12px}
@media(min-width:1600px){.hero-image{max-width:1560px;margin-inline:auto}}
@media(max-width:1050px){.page-width{width:calc(100% - 72px)}.site-header{padding-inline:36px}h1{letter-spacing:-3px}.service-index a{padding-inline:15px;gap:10px;font-size:11px}.introduction{padding-block:90px;grid-template-columns:.8fr 1.5fr}.service-section{gap:48px;padding-bottom:85px}.service-visual{height:470px}.video-layout{gap:45px}.video-visual{height:440px}.service-copy h2{font-size:37px;letter-spacing:-1.5px}.scanning-section{padding-top:85px}.scan-top,.scan-bottom{padding-inline:15px}.scan-stage{margin-inline:15px}.scan-bottom{letter-spacing:1px;font-size:7px}.scan-toggle{font-size:9px}.tour-heading{gap:48px}.project-section{gap:60px}.project-section h2{font-size:52px}}
@media(max-width:700px){html{scroll-padding-top:24px}.page-width{width:calc(100% - 44px)}.site-header{height:80px;padding-inline:22px;position:relative}.wordmark{font-size:20px}.wordmark span{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:18px;background:none;border:0;padding:10px 0;font-size:12px}.site-header nav{display:none;position:absolute;left:0;right:0;top:80px;z-index:5;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #252b2510;align-items:stretch;gap:16px}.site-header nav.is-open{display:flex;flex-direction:column}.nav-cta{max-width:190px}.hero-intro{padding-top:36px;padding-bottom:28px}.eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:clamp(39px,8.5vw,59px);letter-spacing:-2.5px;margin-top:23px;line-height:1.17}h1 em{font-size:1.06em}.hero-bottom{margin-top:27px;gap:17px;align-items:end}.hero-bottom p{font-size:11px;max-width:160px}.hero-bottom .text-link{font-size:10px;gap:16px}.hero-image{height:380px;margin-inline:10px}.hero-image img{object-position:55% center}.hero-image figcaption{bottom:18px;left:17px;right:17px;font-size:7px;letter-spacing:1px;align-items:start;gap:20px}.hero-image figcaption span:last-child{font-size:6px;max-width:100px;text-align:right}.service-index{grid-template-columns:1fr 1fr;padding-block:16px;gap:0}.service-index a{padding:13px 15px!important;font-size:10px;gap:10px}.service-index a:nth-child(odd){padding-left:0!important}.service-index a:nth-child(even){border-right:0;padding-right:0!important}.service-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}.introduction{display:block;padding-block:70px 58px}.introduction>.eyebrow{margin-bottom:26px;padding:0}.introduction h2{font-size:36px;letter-spacing:-1.7px;margin-bottom:22px}.introduction p{font-size:13px}.introduction p.small-copy{font-size:10px}.service-section{grid-template-columns:1fr;gap:34px;padding-bottom:65px}.service-visual{height:380px}.service-copy h2{font-size:38px;margin:17px 0 20px}.service-copy p{font-size:13px;max-width:none}.service-tags{margin:20px 0;font-size:10px}.service-tags li{max-width:none}.text-link{font-size:11px;gap:35px}.video-section{padding-block:55px}.video-layout{grid-template-columns:1fr;gap:35px}.video-section h2{font-size:46px}.video-visual{height:350px}.video-visual figcaption{left:22px;bottom:26px;font-size:6px}.visual-label{left:30px;font-size:8px}.scanning-section{padding-top:65px}.scan-visual{min-height:420px}.scan-stage{min-height:290px}.scan-stage svg{max-height:300px}.scan-top,.scan-bottom{padding:16px 20px}.scan-bottom{font-size:7px}.scan-toggle{font-size:10px}.tour-section{padding-bottom:65px}.tour-heading{grid-template-columns:1fr;gap:30px;margin-bottom:28px}.tour-heading h2{font-size:38px;margin-top:18px}.tour-description p{max-width:none}.tour-visual{height:350px}.tour-badge{width:130px;height:130px;font-size:40px}.tour-badge span{font-size:5px}.tour-visual figcaption{left:18px;right:18px;font-size:6px;letter-spacing:1px}.approach-section{padding-block:58px}.approach-heading{grid-template-columns:1fr;gap:25px}.approach-heading .eyebrow{padding:0}.approach-heading h2{font-size:35px;letter-spacing:-1.6px}.steps{grid-template-columns:1fr;gap:28px;margin-top:38px}.steps article{padding-top:15px}.steps h3{font-size:19px;margin-top:10px}.steps p{max-width:none;margin-top:8px}.project-section{grid-template-columns:1fr;gap:36px;padding-block:65px 50px}.project-section h2{font-size:46px;margin:20px 0}.project-section>div>p{max-width:none}.service-options span{font-size:10px;padding:8px 10px}.site-footer{grid-template-columns:1fr 1fr;gap:28px;padding-top:30px}.site-footer>p{display:none}.site-footer>div{font-size:9px}.site-footer .image-note{display:block;font-size:8px;margin-top:6px}.form-note{max-width:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
