:root{--paper:#f5f3ed;--ink:#30362c;--muted:#5d6356;--line:#d7d9cf;--olive:#3d4737;--gutter:clamp(1rem,4vw,4.5rem);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:auto;object-fit:cover}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #967242;outline-offset:5px}p{font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400}h2{font-size:clamp(2.2rem,4.8vw,5.5rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:1.7rem}h3{font-weight:400;font-size:clamp(1.4rem,2vw,2rem);line-height:1.3}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}.eyebrow{font-size:.65rem;letter-spacing:.16em;line-height:1.6;font-weight:500;margin-bottom:1.7rem}.small{font-size:.7rem;line-height:1.7;letter-spacing:.06em}.section-pad{padding:80px var(--gutter)}.header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5;gap:1rem}.brand{font-size:1.7rem;letter-spacing:-.085em;display:inline-flex;align-items:center;min-height:44px;font-weight:600}.brand span{font-weight:400}.brand i{font-size:.65rem;letter-spacing:0;font-style:normal;align-self:flex-start;margin:7px 0 0 4px}.desktop-nav,.header-cta{display:none}.menu-toggle,.close-menu,.close-content{border:0;background:transparent;width:48px;height:48px;display:grid;place-content:center;gap:7px;flex-shrink:0}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink)}.skip-link{position:fixed;top:-100px;left:1rem;background:white;padding:1rem;z-index:100}.skip-link:focus{top:1rem}.hero{min-height:100svh;display:flex;flex-direction:column}.hero-intro{padding:44px var(--gutter) 34px}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--olive);margin-right:8px}.hero h1{font-size:clamp(2.8rem,12.5vw,5rem);line-height:1.02;letter-spacing:-.065em;margin:0 0 28px}.hero-bottom p{font-size:.875rem;line-height:1.8}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:16px 22px;border:1px solid transparent;font-size:.8rem;line-height:1.4}.dark{background:var(--olive);color:var(--paper)}.light{background:var(--paper);color:var(--ink)}.button span{font-size:1.2rem}.hero-actions{display:grid;gap:8px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;font-size:.8rem;border-bottom:1px solid var(--ink)}.mobile-project{justify-self:start}.hero-image{position:relative;min-height:300px;margin:0 var(--gutter);aspect-ratio:4/3}.hero-image>img{position:absolute;height:100%;object-position:50% 50%}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:40px 18px 18px;display:flex;justify-content:space-between;color:#fff;font-size:.55rem;letter-spacing:.1em}.image-stamp{position:absolute;top:20px;right:20px;display:grid;place-content:center;text-align:center;width:84px;height:84px;border-radius:50%;background:#f5f3edec;font-family:Georgia,serif;font-size:1.1rem;transform:rotate(9deg)}.hero-foot{display:flex;justify-content:space-between;padding:15px var(--gutter);font-size:.55rem;letter-spacing:.1em}.hero-foot a{min-height:44px;display:flex;align-items:center;gap:25px}.hero-foot>span{display:none}.about{border-top:1px solid var(--line)}.about-copy p{color:var(--muted)}.section-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.section-heading>p{font-size:.875rem;color:var(--muted)}.projects{background:#eaece3}.project-grid{display:grid;gap:44px}.project-card{display:block;text-align:left;border:0;padding:0;background:none;width:100%;min-width:0}.project-photo{position:relative;overflow:hidden}.project-photo.tall{aspect-ratio:4/5}.project-photo.wide{aspect-ratio:16/10}.project-photo.portrait{aspect-ratio:3/4}.project-photo img{height:100%;transition:transform .5s}.round-arrow{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--paper);font-size:1.4rem}.project-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.55rem;letter-spacing:.08em;margin:20px 0 10px}.project-card h3{margin-bottom:6px}.project-card>p{font-size:.8rem;color:var(--muted);margin:0}.project-note{align-self:center;text-align:center;padding:30px 0}.line-flower{font-size:5rem;line-height:1.3;font-weight:100}.project-note>p{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,3rem);line-height:1.25;margin:24px 0}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{display:grid;grid-template-columns:26px 1fr 28px;gap:10px;align-items:center;min-height:48px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span:first-child{font-size:.65rem}summary h3{margin:0;font-size:clamp(1.3rem,3vw,3rem)}.detail-icon{font-size:1.7rem;text-align:right}details[open] .detail-icon{transform:rotate(45deg)}details>p{margin:18px 0 0 36px;max-width:600px;font-size:.9rem;color:var(--muted)}.material-story{position:relative;min-height:460px;display:flex;align-items:flex-end;color:white;padding:45px var(--gutter);isolation:isolate}.material-story>img{position:absolute;inset:0;height:100%;z-index:-2}.material-story:after{content:'';position:absolute;inset:0;background:#1c211b65;z-index:-1}.material-story h2{font-size:clamp(2.3rem,5vw,5.5rem);margin:0}.timeline{list-style:none;padding:0;margin:0;display:grid}.timeline li{padding:0 0 32px 30px;margin-left:8px;border-left:1px solid #b6bdad;position:relative}.timeline li:before{content:'';position:absolute;width:7px;height:7px;background:var(--olive);border-radius:50%;top:5px;left:-4px}.timeline li:last-child{padding-bottom:0}.timeline li>span{font-size:.7rem}.timeline h3{font-size:1.2rem;margin:18px 0 10px}.timeline p{font-size:.875rem;color:var(--muted);margin:0}.transformation{background:#eaece3;display:grid;gap:30px}.transformation>div>p{font-size:.9rem;max-width:400px;color:var(--muted)}.transformation label{font-size:.75rem}.transformation input{display:block;width:100%;min-height:48px;accent-color:var(--olive);margin:8px 0;touch-action:pan-y}.comparison-image{position:relative;aspect-ratio:4/3;--split:50%}.comparison-image>img,.comparison-before,.comparison-before img{position:absolute;inset:0;height:100%;width:100%}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-before img{object-fit:cover}.compare-label{position:absolute;top:16px;background:var(--paper);padding:8px 12px;font-size:.6rem;letter-spacing:.1em}.before-label{left:12px}.after-label{right:12px}.compare-line{position:absolute;left:clamp(24px,var(--split),calc(100% - 24px));top:0;bottom:0;width:2px;background:white;pointer-events:none}.compare-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--paper);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}.quote{text-align:center}.quote blockquote{font-size:clamp(1.9rem,4.4vw,4.8rem);line-height:1.22;letter-spacing:-.03em;margin:30px 0}.quote>p:last-child{font-size:.6rem;letter-spacing:.15em}.testimonials{border-top:1px solid var(--line)}.testimonial-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:16px;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter);padding-bottom:12px;scrollbar-width:none}.testimonial-grid::-webkit-scrollbar{display:none}.testimonial-card{flex:0 0 84vw;max-width:340px;scroll-snap-align:center;scroll-snap-stop:always;border:1px solid var(--line);background:var(--paper);padding:24px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;transition:transform .3s,box-shadow .3s}.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:24px}.testimonial-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;transition:all .25s ease}.testimonial-dots .dot.active{background:var(--olive);transform:scale(1.3)}.testimonial-stars{color:#967242;letter-spacing:2px;font-size:.9rem}.testimonial-card blockquote{font-family:Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.6;margin:0;color:var(--ink)}.testimonial-author{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:14px}.testimonial-author img{width:48px;height:48px;border-radius:50%;object-fit:cover}.testimonial-author h3{font-size:.95rem;margin:0 0 2px}.testimonial-author p{font-size:.72rem;color:var(--muted);margin:0}.contact{background:var(--olive);color:var(--paper);display:grid;gap:36px}.contact h2{font-size:clamp(2.4rem,4.6vw,5rem)}.contact>div>p{max-width:440px}.contact .form-note{font-size:.8rem;color:#d5d9cd}.form-grid{display:grid;gap:20px}form label{display:block;font-size:.75rem;line-height:1.5}form label span{color:#d5d9cd}input,select,textarea{width:100%;min-width:0;min-height:50px;border:1px solid #8a9382;border-radius:0;background:transparent;color:inherit;padding:12px;margin-top:8px;font-size:1rem}input::placeholder,textarea::placeholder{color:#d0d5c8;opacity:1}select option{color:var(--ink);background:var(--paper)}textarea{min-height:140px;resize:vertical}form>label{margin:20px 0}form>.button{width:100%}#form-status{font-size:.85rem;margin:12px 0 0}.footer{padding:55px var(--gutter) 20px}.footer-top{display:grid;gap:30px}.footer-top p{font-size:.8rem;margin-top:15px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-top nav a{display:flex;align-items:center;min-height:44px;font-size:.8rem}.footer-contact-box{display:flex;flex-direction:column;gap:16px}.footer-info-list p{margin:0 0 12px;font-size:.8rem;line-height:1.5}.footer-info-link{display:inline-block;color:var(--ink);font-weight:500;margin-top:2px;border-bottom:1px solid var(--line)}.footer-info-link:hover{border-bottom-color:var(--ink)}.maps-badge{background:var(--olive);color:var(--paper);padding:6px 12px;border-radius:3px;font-size:.75rem;display:inline-block;margin-top:6px;border:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;font-size:.55rem;line-height:1.8;letter-spacing:.05em}.footer-bottom a{min-height:44px;display:flex;align-items:center}.mobile-menu{border:0;background:var(--paper);color:var(--ink);max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:max(16px,env(safe-area-inset-top)) var(--gutter) max(20px,env(safe-area-inset-bottom));overflow-y:auto;box-sizing:border-box}.mobile-menu[open]{display:flex;flex-direction:column;animation:appear .25s cubic-bezier(0.16,1,0.3,1)}.menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:6px}.close-menu{border:1px solid var(--line);border-radius:50%;background:transparent;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--ink);transition:all .2s ease;cursor:pointer}.close-menu:hover,.close-menu:active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mobile-menu nav{display:flex;flex-direction:column;gap:0;margin:6px 0 16px}.mobile-menu nav a{font-size:1rem;font-weight:500;min-height:46px;padding:8px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(215,217,207,0.6);color:var(--ink);letter-spacing:.02em;transition:all .2s ease;text-decoration:none}.mobile-menu nav a .menu-num{font-size:.68rem;letter-spacing:.1em;color:var(--muted);font-family:monospace,sans-serif;margin-right:12px;width:24px;display:inline-block}.mobile-menu nav a .menu-text{flex-grow:1;font-family:Georgia,serif;font-size:1.1rem}.mobile-menu nav a .menu-arrow{font-size:.85rem;color:var(--muted);opacity:.5;transition:transform .2s ease,opacity .2s ease}.mobile-menu nav a:hover,.mobile-menu nav a:active{color:var(--olive);padding-left:6px}.mobile-menu nav a:hover .menu-arrow,.mobile-menu nav a:active .menu-arrow{opacity:1;transform:translateX(4px);color:var(--olive)}.mobile-menu nav a:hover .menu-num,.mobile-menu nav a:active .menu-num{color:var(--olive)}.mobile-menu-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:10px}.mobile-menu-foot .button{border-radius:4px;font-size:.85rem;font-weight:500;letter-spacing:.03em}.mobile-quick-contact{display:flex;flex-direction:column;gap:6px;background:#eaece3;padding:10px 12px;border-radius:8px;border:1px solid rgba(215,217,207,0.8)}.contact-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--paper);border-radius:6px;text-decoration:none;color:var(--ink);transition:background .2s ease,transform .15s ease;border:1px solid rgba(215,217,207,0.5)}.contact-item:hover,.contact-item:active{background:#ffffff;transform:translateY(-1px)}.contact-icon{font-size:1rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#eaece3;border-radius:50%;flex-shrink:0}.contact-details{display:flex;flex-direction:column;flex-grow:1}.contact-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.contact-val{font-size:.8rem;font-weight:500;color:var(--ink)}.contact-arrow{font-size:.75rem;color:var(--muted)}dialog::backdrop{background:#18201499}.content-dialog{border:0;background:var(--paper);color:var(--ink);width:calc(100% - 24px);max-width:900px;max-height:90svh;padding:60px 20px 25px}.close-content{position:absolute;top:8px;right:8px}.content-dialog h2{font-size:clamp(2rem,5vw,4rem)}.content-dialog img{max-height:480px;object-fit:cover;margin-bottom:24px}.content-dialog p{font-size:1rem}.dialog-gallery{display:grid;gap:16px}.dialog-gallery img{aspect-ratio:4/3;margin:0}.locked{overflow:hidden}@keyframes appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
:root{--paper:#f5f3ed;--ink:#30362c;--muted:#5d6356;--line:#d7d9cf;--olive:#3d4737;--gutter:clamp(1rem,4vw,4.5rem);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:auto;object-fit:cover}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #967242;outline-offset:5px}p{font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400}h2{font-size:clamp(2.2rem,4.8vw,5.5rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:1.7rem}h3{font-weight:400;font-size:clamp(1.4rem,2vw,2rem);line-height:1.3}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}.eyebrow{font-size:.65rem;letter-spacing:.16em;line-height:1.6;font-weight:500;margin-bottom:1.7rem}.small{font-size:.7rem;line-height:1.7;letter-spacing:.06em}.section-pad{padding:80px var(--gutter)}.header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5;gap:1rem}.brand{font-size:1.7rem;letter-spacing:-.085em;display:inline-flex;align-items:center;min-height:44px;font-weight:600}.brand span{font-weight:400}.brand i{font-size:.65rem;letter-spacing:0;font-style:normal;align-self:flex-start;margin:7px 0 0 4px}.desktop-nav,.header-cta{display:none}.menu-toggle,.close-menu,.close-content{border:0;background:transparent;width:48px;height:48px;display:grid;place-content:center;gap:7px;flex-shrink:0}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink)}.skip-link{position:fixed;top:-100px;left:1rem;background:white;padding:1rem;z-index:100}.skip-link:focus{top:1rem}.hero{min-height:100svh;display:flex;flex-direction:column}.hero-intro{padding:44px var(--gutter) 34px}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--olive);margin-right:8px}.hero h1{font-size:clamp(2.8rem,12.5vw,5rem);line-height:1.02;letter-spacing:-.065em;margin:0 0 28px}.hero-bottom p{font-size:.875rem;line-height:1.8}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:16px 22px;border:1px solid transparent;font-size:.8rem;line-height:1.4}.dark{background:var(--olive);color:var(--paper)}.light{background:var(--paper);color:var(--ink)}.button span{font-size:1.2rem}.hero-actions{display:grid;gap:8px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;font-size:.8rem;border-bottom:1px solid var(--ink)}.mobile-project{justify-self:start}.hero-image{position:relative;min-height:300px;margin:0 var(--gutter);aspect-ratio:4/3}.hero-image>img{position:absolute;height:100%;object-position:50% 50%}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:40px 18px 18px;display:flex;justify-content:space-between;color:#fff;font-size:.55rem;letter-spacing:.1em}.image-stamp{position:absolute;top:20px;right:20px;display:grid;place-content:center;text-align:center;width:84px;height:84px;border-radius:50%;background:#f5f3edec;font-family:Georgia,serif;font-size:1.1rem;transform:rotate(9deg)}.hero-foot{display:flex;justify-content:space-between;padding:15px var(--gutter);font-size:.55rem;letter-spacing:.1em}.hero-foot a{min-height:44px;display:flex;align-items:center;gap:25px}.hero-foot>span{display:none}.about{border-top:1px solid var(--line)}.about-copy p{color:var(--muted)}.section-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.section-heading>p{font-size:.875rem;color:var(--muted)}.projects{background:#eaece3}.project-grid{display:grid;gap:44px}.project-card{display:block;text-align:left;border:0;padding:0;background:none;width:100%;min-width:0}.project-photo{position:relative;overflow:hidden}.project-photo.tall{aspect-ratio:4/5}.project-photo.wide{aspect-ratio:16/10}.project-photo.portrait{aspect-ratio:3/4}.project-photo img{height:100%;transition:transform .5s}.round-arrow{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--paper);font-size:1.4rem}.project-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.55rem;letter-spacing:.08em;margin:20px 0 10px}.project-card h3{margin-bottom:6px}.project-card>p{font-size:.8rem;color:var(--muted);margin:0}.project-note{align-self:center;text-align:center;padding:30px 0}.line-flower{font-size:5rem;line-height:1.3;font-weight:100}.project-note>p{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,3rem);line-height:1.25;margin:24px 0}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{display:grid;grid-template-columns:26px 1fr 28px;gap:10px;align-items:center;min-height:48px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span:first-child{font-size:.65rem}summary h3{margin:0;font-size:clamp(1.3rem,3vw,3rem)}.detail-icon{font-size:1.7rem;text-align:right}details[open] .detail-icon{transform:rotate(45deg)}details>p{margin:18px 0 0 36px;max-width:600px;font-size:.9rem;color:var(--muted)}.material-story{position:relative;min-height:460px;display:flex;align-items:flex-end;color:white;padding:45px var(--gutter);isolation:isolate}.material-story>img{position:absolute;inset:0;height:100%;z-index:-2}.material-story:after{content:'';position:absolute;inset:0;background:#1c211b65;z-index:-1}.material-story h2{font-size:clamp(2.3rem,5vw,5.5rem);margin:0}.timeline{list-style:none;padding:0;margin:0;display:grid}.timeline li{padding:0 0 32px 30px;margin-left:8px;border-left:1px solid #b6bdad;position:relative}.timeline li:before{content:'';position:absolute;width:7px;height:7px;background:var(--olive);border-radius:50%;top:5px;left:-4px}.timeline li:last-child{padding-bottom:0}.timeline li>span{font-size:.7rem}.timeline h3{font-size:1.2rem;margin:18px 0 10px}.timeline p{font-size:.875rem;color:var(--muted);margin:0}.transformation{background:#eaece3;display:grid;gap:30px}.transformation>div>p{font-size:.9rem;max-width:400px;color:var(--muted)}.transformation label{font-size:.75rem}.transformation input{display:block;width:100%;min-height:48px;accent-color:var(--olive);margin:8px 0;touch-action:pan-y}.comparison-image{position:relative;aspect-ratio:4/3;--split:50%}.comparison-image>img,.comparison-before,.comparison-before img{position:absolute;inset:0;height:100%;width:100%}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-before img{object-fit:cover}.compare-label{position:absolute;top:16px;background:var(--paper);padding:8px 12px;font-size:.6rem;letter-spacing:.1em}.before-label{left:12px}.after-label{right:12px}.compare-line{position:absolute;left:clamp(24px,var(--split),calc(100% - 24px));top:0;bottom:0;width:2px;background:white;pointer-events:none}.compare-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--paper);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}.quote{text-align:center}.quote blockquote{font-size:clamp(1.9rem,4.4vw,4.8rem);line-height:1.22;letter-spacing:-.03em;margin:30px 0}.quote>p:last-child{font-size:.6rem;letter-spacing:.15em}.testimonials{border-top:1px solid var(--line)}.testimonial-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:16px;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter);padding-bottom:12px;scrollbar-width:none}.testimonial-grid::-webkit-scrollbar{display:none}.testimonial-card{flex:0 0 84vw;max-width:340px;scroll-snap-align:center;scroll-snap-stop:always;border:1px solid var(--line);background:var(--paper);padding:24px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;transition:transform .3s,box-shadow .3s}.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:24px}.testimonial-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;transition:all .25s ease}.testimonial-dots .dot.active{background:var(--olive);transform:scale(1.3)}.testimonial-stars{color:#967242;letter-spacing:2px;font-size:.9rem}.testimonial-card blockquote{font-family:Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.6;margin:0;color:var(--ink)}.testimonial-author{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:14px}.testimonial-author img{width:48px;height:48px;border-radius:50%;object-fit:cover}.testimonial-author h3{font-size:.95rem;margin:0 0 2px}.testimonial-author p{font-size:.72rem;color:var(--muted);margin:0}.contact{background:var(--olive);color:var(--paper);display:grid;gap:36px}.contact h2{font-size:clamp(2.4rem,4.6vw,5rem)}.contact>div>p{max-width:440px}.contact .form-note{font-size:.8rem;color:#d5d9cd}.form-grid{display:grid;gap:20px}form label{display:block;font-size:.75rem;line-height:1.5}form label span{color:#d5d9cd}input,select,textarea{width:100%;min-width:0;min-height:50px;border:1px solid #8a9382;border-radius:0;background:transparent;color:inherit;padding:12px;margin-top:8px;font-size:1rem}input::placeholder,textarea::placeholder{color:#d0d5c8;opacity:1}select option{color:var(--ink);background:var(--paper)}textarea{min-height:140px;resize:vertical}form>label{margin:20px 0}form>.button{width:100%}#form-status{font-size:.85rem;margin:12px 0 0}.footer{padding:55px var(--gutter) 20px}.footer-top{display:grid;gap:30px}.footer-top p{font-size:.8rem;margin-top:15px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-top nav a{display:flex;align-items:center;min-height:44px;font-size:.8rem}.footer-contact-box{display:flex;flex-direction:column;gap:16px}.footer-info-list p{margin:0 0 12px;font-size:.8rem;line-height:1.5}.footer-info-link{display:inline-block;color:var(--ink);font-weight:500;margin-top:2px;border-bottom:1px solid var(--line)}.footer-info-link:hover{border-bottom-color:var(--ink)}.maps-badge{background:var(--olive);color:var(--paper);padding:6px 12px;border-radius:3px;font-size:.75rem;display:inline-block;margin-top:6px;border:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;font-size:.55rem;line-height:1.8;letter-spacing:.05em}.footer-bottom a{min-height:44px;display:flex;align-items:center}.mobile-menu{border:0;background:var(--paper);color:var(--ink);max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:max(20px,env(safe-area-inset-top)) var(--gutter) max(24px,env(safe-area-inset-bottom));overflow-y:auto}.mobile-menu[open]{display:flex;flex-direction:column;animation:appear .2s ease-out}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-menu nav{display:grid;gap:0;margin:16px 0 24px}.mobile-menu nav a{font-size:clamp(1.15rem,3.8vw,1.4rem);min-height:48px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:500;letter-spacing:.01em}.mobile-menu nav a:hover{color:var(--olive);padding-left:4px;transition:all .2s}.mobile-menu-foot{margin-top:auto;display:flex;flex-direction:column;gap:18px}.mobile-quick-contact{display:flex;flex-direction:column;gap:8px;background:#eaece3;padding:14px 16px;border-radius:4px;font-size:.8rem}.mobile-quick-contact a{color:var(--ink);font-weight:500;display:flex;align-items:center;gap:6px}.mobile-quick-contact span{color:var(--muted);font-weight:400}dialog::backdrop{background:#18201499}.content-dialog{border:0;background:var(--paper);color:var(--ink);width:calc(100% - 24px);max-width:900px;max-height:90svh;padding:60px 20px 25px}.close-content{position:absolute;top:8px;right:8px}.content-dialog h2{font-size:clamp(2rem,5vw,4rem)}.content-dialog img{max-height:480px;object-fit:cover;margin-bottom:24px}.content-dialog p{font-size:1rem}.dialog-gallery{display:grid;gap:16px}.dialog-gallery img{aspect-ratio:4/3;margin:0}.locked{overflow:hidden}@keyframes appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:640px){.hero-actions{display:flex;align-items:center;gap:24px}.hero-actions .button{min-width:220px}.hero-image{aspect-ratio:16/10}.form-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:1/-1}.content-dialog{padding:65px 40px 40px}.dialog-gallery{grid-template-columns:1fr 1fr}}
@media(min-width:768px){.section-pad{padding-top:110px;padding-bottom:110px}.hero h1{font-size:clamp(4rem,9vw,7rem)}.mobile-break{display:none}.hero-foot>span{display:flex;align-items:center}.about{display:grid;grid-template-columns:1fr 3fr;gap:40px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:36px}.section-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.section-heading>p{max-width:300px}.project-grid{grid-template-columns:1.15fr 1fr;column-gap:7vw;row-gap:65px}.project-card.offset{padding-top:140px}.project-card.third{grid-column:2;grid-row:2}.project-note{grid-column:1;grid-row:2}.timeline{grid-template-columns:repeat(4,1fr);gap:24px}.timeline li{border-left:0;border-top:1px solid #b6bdad;margin:0;padding:25px 0 0}.timeline li:before{top:-4px;left:0}.transformation{grid-template-columns:1fr 1.2fr;align-items:center;gap:7vw}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;overflow-x:visible;scroll-snap-type:none;margin-left:0;margin-right:0;padding:0}.testimonial-card{flex:none;max-width:none}.testimonial-dots{display:none}.contact{grid-template-columns:1fr 1fr;gap:7vw}.footer-top{grid-template-columns:1.5fr 1fr 1.2fr}.footer-top>div:last-child{grid-column:auto}.material-story{min-height:620px}.comparison-image{aspect-ratio:4/3}}
@media(min-width:1024px){.header{height:96px}.brand{font-size:1.9rem}.desktop-nav{display:flex;gap:24px}.desktop-nav a{font-size:.75rem;display:flex;align-items:center;min-height:44px}.header-cta{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--ink);font-size:.75rem;min-height:44px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;grid-template-rows:1fr auto;min-height:calc(100svh - 96px)}.hero-intro{padding:70px 0 50px var(--gutter);position:relative;z-index:1;align-self:center}.hero h1{font-size:clamp(4.3rem,6.7vw,8.8rem);width:100%;padding-right:24px;margin-bottom:36px}.hero .eyebrow{margin-bottom:36px}.hero-image{margin:28px var(--gutter) 0 0;aspect-ratio:auto;min-height:610px}.hero-bottom p{max-width:340px}.hero-actions{display:block}.mobile-project{display:none}.hero-actions .button{width:210px;margin-top:24px}.hero-foot{grid-column:1/-1}.image-stamp{top:auto;bottom:75px;right:25px;width:105px;height:105px;font-size:1.35rem}.hero-image>img{object-position:55% center}.section-pad{padding-top:130px;padding-bottom:130px}.material-story>div{margin-left:10vw}details{padding:28px 0}summary{grid-template-columns:70px 1fr 44px}details>p{margin-left:80px}.comparison-image{aspect-ratio:4/3}}
@media(min-width:1536px){.section-pad{padding-top:150px;padding-bottom:150px}.hero-intro{padding-top:100px;padding-bottom:90px}.hero-image{min-height:740px}.desktop-nav{gap:35px}.hero-bottom p{font-size:1rem}.hero h1{max-width:1000px}.image-caption{padding:50px 28px 24px;font-size:.65rem}}
@media(hover:hover){a:hover{color:#7d805e}.button:hover{background:#59634e;color:white}.project-card:hover img{transform:scale(1.035)}.journal-card:hover h3{text-decoration:underline;text-underline-offset:5px}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}}
.compare-line>span{pointer-events:auto;touch-action:none;cursor:ew-resize}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.quote blockquote br{display:none}
@media(min-width:768px){.quote blockquote br{display:initial}}
@media(min-width:1024px){.hero .mobile-break{display:initial}}

@media(min-width:768px) and (max-width:1279px){.form-grid{grid-template-columns:1fr}}

/* Full supplied brand lockup, with a genuinely transparent background. */
.brand{flex-shrink:0;min-width:44px;max-width:calc(100% - 64px);justify-content:center}
.brand .brand-logo{width:165px;max-width:100%;height:auto;object-fit:contain}
.footer-wordmark{display:flex;justify-content:center;align-items:center;background:transparent;margin:40px 0 24px;padding:24px 0}
.footer-wordmark img{width:min(100%,960px);height:auto;object-fit:contain}
@media(min-width:768px){.footer-top .brand-logo{width:220px}}
@media(min-width:1024px){.header .brand-logo{width:250px;height:auto}}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:99;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#25D366;color:#ffffff;box-shadow:0 4px 20px rgba(0,0,0,0.22);text-decoration:none;transition:all .3s cubic-bezier(0.16,1,0.3,1)}.wa-float:hover{background:#20ba5a;transform:translateY(-4px) scale(1.08);box-shadow:0 8px 24px rgba(37,211,102,0.45);color:#ffffff}.wa-icon{width:30px;height:30px;flex-shrink:0}@media(max-width:640px){.wa-float{bottom:20px;right:20px;width:50px;height:50px}.wa-icon{width:26px;height:26px}}

