@import "https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&display=swap";:root{--paper:#f7f7f2;--white:#fff;--ink:#243c33;--green:#254d3d;--green-deep:#1e3b30;--sage:#e4e9de;--muted:#586650;--line:#dbded5;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", serif;--sans:Satoshi, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--gutter:clamp(22px, 5.25vw, 84px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;max-width:100%;display:block}svg{flex-shrink:0}button{border:0}button:disabled{cursor:not-allowed}p,h1,h2,h3,figure{margin:0}ul{margin:0;padding:0;list-style:none}h1,h2,h3{text-wrap:balance}h1,h2{letter-spacing:-.04em;font-weight:500}h2{font-family:var(--serif);font-size:clamp(32px,3.3vw,48px);line-height:1.5}h3{font-weight:500}p{overflow-wrap:break-word}::selection{color:#183628;background:#cedbc8}:focus-visible{outline-offset:5px;outline:2px solid #8a6238}a,button{touch-action:manipulation}.container{width:100%;max-width:1600px;padding-inline:var(--gutter);margin-inline:auto}.site-main{width:100%;max-width:100%;overflow-x:clip}.section-space{padding-block:128px}.section-kicker{letter-spacing:.12em;color:var(--muted);margin-bottom:22px;font-size:12px}.section-heading{margin-bottom:46px}.section-heading-split{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.section-intro{color:var(--muted);padding-bottom:8px;font-size:14px;line-height:2}.tiny-line{background:currentColor;flex-shrink:0;width:25px;height:1px;display:inline-block}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:28px;min-height:54px;padding:15px 25px;font-size:14px;line-height:1.4;transition:background .25s,transform .25s,color .25s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#18382b}.button-light{color:#1e3b30;background:#f2f0e5}.button-light:hover{background:#fff}.button-outline{border-color:var(--line);color:var(--ink);background:0 0}.button-outline:hover{background:var(--sage)}.button svg,.text-link svg{transition:transform .25s}.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.text-link{background:0 0;border-bottom:1px solid;align-items:center;gap:22px;width:fit-content;padding:0 0 5px;font-size:13px;line-height:1.6;display:inline-flex}.skip-link{z-index:1000;color:var(--ink);background:#fff;padding:12px 20px;position:fixed;top:10px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;backdrop-filter:blur(14px);background:#f7f7f2f7;border-bottom:1px solid #243c3317;height:102px;position:sticky;top:0}.header-inner{max-width:1600px;height:100%;padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:24px;margin:auto;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;line-height:1;display:flex}.brand-mark{width:37px;height:43px}.brand-wordmark{letter-spacing:.15em;white-space:nowrap;font-size:25px;font-weight:600}.brand-wordmark>span{letter-spacing:.38em;margin-top:8px;font-size:8px;display:block}.brand-divider{background:var(--line);width:1px;height:27px;margin:0 3px 0 7px}.brand-local{letter-spacing:.08em;font-size:11px}.desktop-nav{align-items:center;gap:32px;display:flex}.desktop-nav a{white-space:nowrap;padding:8px 0;font-size:13px;position:relative}.desktop-nav a:after{content:"";background:var(--green);width:0;height:1px;transition:width .3s;position:absolute;bottom:4px;left:0}.desktop-nav a:hover:after{width:100%}.header-contact{white-space:nowrap;border:1px solid #a6b4a5;align-items:center;gap:18px;padding:10px 17px;font-size:12px;transition:background .25s;display:flex}.header-contact:hover{background:var(--sage)}.menu-toggle{background:0 0;padding:10px;display:none}.mobile-nav{display:none}.mobile-nav[hidden]{display:none!important}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:66px;min-height:720px;padding-top:48px;padding-bottom:66px;display:grid}.hero-copy{padding:20px 0 8px;position:relative}.hero-location{letter-spacing:.1em;color:#657667;align-items:center;gap:12px;margin-bottom:38px;font-size:11px;display:flex}.hero h1{font-family:var(--serif);letter-spacing:-.055em;width:100%;max-width:64rem;font-size:clamp(40px,4.55vw,70px);line-height:1.5}.hero h1 span{white-space:nowrap;display:block}.hero-description{color:var(--muted);letter-spacing:.035em;margin-top:28px;font-size:14px;line-height:2.1}.hero-actions{align-items:center;gap:32px;margin-top:36px;display:flex}.hero-actions .text-link{border:0;gap:13px;font-size:12px}.hero-footnote{letter-spacing:.08em;color:#7e8979;align-items:center;gap:10px;margin-top:62px;font-size:11px;display:flex}.hero-visual{align-self:stretch;min-width:0;padding-top:0;position:relative}.hero-image-wrap{background:#e5e2d7;border-radius:160px 0 0;height:100%;min-height:560px;max-height:620px;overflow:hidden}.hero-image-wrap img{object-position:51% center;height:100%;min-height:560px;max-height:620px;transition:transform 1.2s}.hero-image-wrap:hover img{transform:scale(1.035)}.hero-visual figcaption{color:var(--muted);letter-spacing:.03em;justify-content:space-between;gap:18px;padding-top:14px;font-size:10px;display:flex}.hero-visual figcaption span:last-child{color:var(--muted);font-size:9px}.hero-image-rule{background:#afbcaa;width:1px;height:84px;display:block;position:absolute;bottom:72px;left:-18px}.values-marquee{border-block:1px solid var(--line);background:#eeefe7;padding:23px 0;position:relative;overflow:hidden}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.marquee-set{font-family:var(--serif);color:#5e745f;letter-spacing:.08em;align-items:center;gap:55px;padding-right:55px;font-size:22px;display:flex}.marquee-dot{background:#788e73;width:5px;height:5px;transform:rotate(45deg)}.marquee-pause{right:var(--gutter);background:#eeefe7;border:1px solid #c8d0c1;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.values-marquee:before,.values-marquee:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#eeefe7,#0000);width:5%;position:absolute;inset:0 auto 0 0}.values-marquee:after{left:auto;right:0;transform:rotate(180deg)}.marquee-pause{z-index:2}@keyframes marquee{to{transform:translate(-50%)}}.services-bento{grid-template-rows:260px 260px;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:18px;display:grid}.service-card{text-align:left;isolation:isolate;border-radius:2px;padding:36px;transition:box-shadow .3s;position:relative;overflow:hidden}.service-card:hover{box-shadow:0 15px 35px #18382b10}.service-card-large{color:#fff;background:#a3aa92;grid-area:span 2/span 8;align-items:flex-end;display:flex}.service-card-large>img{object-position:center 57%;z-index:-2;height:100%;transition:transform .8s;position:absolute;inset:0}.service-card-large:hover>img{transform:scale(1.045)}.service-photo-shade{z-index:-1;background:linear-gradient(#0000 35%,#17261aba);position:absolute;inset:0}.service-card-content{z-index:2;flex-direction:column;align-items:flex-start;display:flex;position:relative}.service-small-title{letter-spacing:.05em;opacity:.8;margin-bottom:11px;font-size:11px}.service-card-title{font-family:var(--serif);letter-spacing:.035em;margin-bottom:13px;font-size:29px;line-height:1.4}.service-card-description{opacity:.8;max-width:240px;font-size:12px;line-height:1.9}.service-arrow{z-index:3;border:1px solid #ffffff70;border-radius:50%;place-items:center;width:43px;height:43px;transition:transform .4s,background .4s;display:grid;position:absolute;bottom:31px;right:28px}.service-card:hover .service-arrow{background:#ffffff15;transform:rotate(45deg)}.service-card-renovation{background:#e0e6d8;grid-column:span 4;align-items:center;display:flex}.service-card-renovation .service-card-description{max-width:180px}.service-card-renovation .service-arrow,.service-card-partial .service-arrow{border-color:#8b9e8580}.service-card-partial{background:#ebe7dc;grid-column:span 4;align-items:center;display:flex}.service-card-partial .service-card-content{max-width:65%}.service-card-partial .service-card-description{max-width:170px}.service-detail-image{object-fit:cover;opacity:.78;border-radius:0 0 0 120px;width:43%;height:78%;transition:transform .7s;position:absolute;top:-10%;right:-5%}.service-card-partial:hover .service-detail-image{transform:scale(1.07)}.architectural-lines{opacity:.5;border:1px solid #b6c3ab;border-top:0;border-radius:0 0 56px 56px;width:115px;height:170px;position:absolute;top:0;right:25px}.architectural-lines i{border:1px solid #b6c3ab;border-top:0;border-radius:0 0 50px 50px;position:absolute;inset:15px}.architectural-lines i:nth-child(2){inset:30px}.architectural-lines i:nth-child(3){inset:45px}.photo-reference{letter-spacing:.06em;background:#1e35264d;padding:3px 8px;font-size:9px;position:absolute;top:20px;right:24px}.service-note{color:var(--muted);justify-content:space-between;align-items:center;gap:24px;margin-top:25px;font-size:11px;display:flex}.service-note .text-link{color:var(--ink);flex-shrink:0;gap:16px;font-size:11px}.philosophy{isolation:isolate;background:#e9ede2;position:relative;overflow:hidden}.philosophy:before{content:"";z-index:-1;background:radial-gradient(at 15% 20%,#f9faf355,#0000 55%),radial-gradient(at 95% 80%,#a6b99c33,#0000 45%);position:absolute;inset:0}.philosophy-inner{text-align:center}.philosophy .section-kicker{margin-bottom:40px}.philosophy-statement{letter-spacing:-.025em;font-size:clamp(30px,3.75vw,55px);line-height:1.7}.philosophy-word{display:inline-block}.inline-photo{vertical-align:middle;border-radius:40px;width:106px;height:55px;margin:-8px 15px 0;display:inline-block;overflow:hidden}.inline-photo img{object-position:50% 50%;height:100%}.philosophy-description{color:var(--muted);margin:33px auto 26px;font-size:13px;line-height:2}.philosophy .text-link{font-size:12px}.space-accordion{gap:18px;height:520px;display:flex}.space-panel{background:#c7c7b9;flex:1;min-width:0;transition:flex .8s cubic-bezier(.22,.7,.2,1);position:relative;overflow:hidden}.space-panel.is-active{flex:2.2}.space-panel>img{object-position:center;height:100%;transition:transform .9s}.space-panel:hover>img{transform:scale(1.05)}.space-panel-action{color:#fff;text-align:left;background:linear-gradient(#0000 32%,#17221eb0);border:0;flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;padding:32px;display:flex;position:absolute;inset:0}.space-panel-action:focus-visible{outline-offset:-6px;outline:3px solid #fff}.space-number{font-family:var(--sans);letter-spacing:.2em;opacity:.85;font-size:12px}.space-panel-caption{flex-direction:column;gap:9px;max-width:100%;padding-right:40px;display:flex}.space-panel-caption>span:first-child{letter-spacing:.13em;font-size:11px}.space-panel-caption strong{font-size:25px;font-family:var(--serif);word-break:keep-all;font-weight:400;line-height:1.5}.space-more{opacity:0;align-items:center;gap:12px;height:20px;margin-top:8px;font-size:11px;transition:opacity .3s;display:flex}.is-active .space-more{opacity:1}.space-circle{border:1px solid #ffffff90;border-radius:50%;place-items:center;width:35px;height:35px;display:grid;position:absolute;bottom:36px;right:26px}.image-disclosure{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.8}.process-section{background:#edece3;padding-bottom:135px}.process-layout{grid-template-columns:1fr 1.14fr;gap:110px;display:grid}.process-intro{align-self:start;padding-top:24px;position:sticky;top:160px}.process-intro>p:not(.section-kicker){color:var(--muted);margin:28px 0;font-size:13px;line-height:2.1}.process-intro .text-link{font-size:12px}.process-stack{padding-bottom:0}.process-card{transform-origin:top;background:#f9f9f3;border:1px solid #dcdfd1;min-height:350px;margin-bottom:24px;padding:35px 38px;position:relative;box-shadow:0 8px 20px #334a2c04}.process-card:nth-child(2n){background:#e1e6d8}.process-card:last-child{margin-bottom:0}.process-card-top{color:#7b8774;justify-content:space-between;align-items:flex-start;font-size:11px;display:flex}.process-number{color:#a5b09a;letter-spacing:-.03em;font-size:35px;font-weight:400;line-height:1}.process-icon{color:#60805b;margin-top:8px;margin-bottom:22px}.process-card h3{font-family:var(--serif);margin-bottom:16px;font-size:25px}.process-card>p{color:var(--muted);font-size:12px;line-height:2}.process-detail{color:var(--muted);border-top:1px solid #dce0d0;align-items:center;gap:12px;margin-top:24px;padding-top:18px;font-size:10px;display:flex}.process-detail .tiny-line{width:15px}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.guide-card{min-width:0;display:block}.guide-image{background:var(--sage);height:265px;position:relative;overflow:hidden}.guide-image img{height:100%;transition:transform .75s}.guide-card:hover .guide-image img{transform:scale(1.05)}.guide-image-label{letter-spacing:.05em;background:#f7f7edeb;padding:3px 10px;font-size:10px;position:absolute;bottom:15px;left:15px}.guide-meta{color:#829079;justify-content:space-between;gap:15px;margin-top:23px;font-size:10px;display:flex}.guide-card h3{letter-spacing:-.02em;margin-top:12px;font-size:19px;line-height:1.65}.guide-card>p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.9}.guide-read{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:22px;padding-top:14px;font-size:11px;display:flex}.guide-read svg{transition:transform .3s}.guide-card:hover .guide-read svg{transform:translate(3px,-3px)}.faq-section{grid-template-columns:.9fr 1.2fr;gap:100px;padding-top:35px;padding-bottom:145px;display:grid}.faq-intro{color:var(--muted);margin:24px 0;font-size:13px;line-height:2}.faq-section .text-link{font-size:12px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;font-size:13px;line-height:1.8;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{transition:transform .3s}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details[open] summary{color:#476c3c}.faq-list details>p{color:var(--muted);padding:0 26px 25px 0;font-size:12px;line-height:2.1}.contact-section{isolation:isolate;color:#f4f3e9;background:#244635;padding:110px 0;position:relative;overflow:hidden}.contact-section:before{content:"";z-index:-1;background:radial-gradient(at 85% 100%,#6c805336,#0000 65%);position:absolute;inset:0}.contact-inner{grid-template-columns:1.2fr 1fr;align-items:center;gap:90px;display:grid}.contact-section .section-kicker{color:#aaba9e;letter-spacing:.08em;font-size:11px}.contact-copy h2{color:#faf9ef;font-size:clamp(35px,4.4vw,62px);line-height:1.45}.contact-copy>p:not(.section-kicker){color:#bac6af;margin-top:24px;margin-bottom:30px;font-size:12px;line-height:2.1}.contact-orbit{z-index:-1;border:1px solid #b9c9a414;border-radius:50%;width:600px;height:600px;position:absolute;top:40%;left:38%}.contact-orbit:before,.contact-orbit:after{content:"";border:1px solid #b9c9a414;border-radius:50%;position:absolute;inset:45px}.contact-orbit:after{inset:90px}.contact-details{border-left:1px solid #adc09f33;max-width:440px;padding-left:35px}.contact-phone{flex-direction:column;align-items:flex-start;display:flex}.contact-phone>span:first-child{color:#c0ceb4;align-items:center;gap:10px;font-size:12px;display:flex}.contact-phone strong{font-family:var(--sans);letter-spacing:.02em;white-space:nowrap;margin-top:8px;font-size:clamp(25px,3.15vw,43px);font-weight:400;line-height:1.8}.contact-phone>span:last-child{color:#b5c4a8;align-items:center;gap:10px;font-size:10px;display:flex}.contact-address{border-top:1px solid #adc09f33;gap:13px;margin-top:30px;padding-top:30px;display:flex}.contact-address>svg{color:#c0ceb4;margin-top:4px}.contact-address h3{margin-bottom:9px;font-size:15px;font-weight:400}.contact-address p{color:#b5c4a8;font-size:12px;line-height:2}.contact-copy-address{color:#d2ddc7;background:0 0;border-bottom:1px solid #b5c4a8;align-items:center;gap:12px;margin-top:14px;padding:0;font-size:10px;display:flex}.contact-service-area{color:#9aae8c;margin-top:23px;font-size:9px;line-height:1.9}.copy-feedback{min-height:19px;margin-top:7px;font-size:11px;display:block}.site-footer{color:#4b6147;background:#e8eade;padding-top:50px}.footer-top{justify-content:space-between;align-items:center;gap:35px;padding-bottom:40px;display:flex}.footer-brand{letter-spacing:.12em;font-size:30px;font-family:var(--serif);line-height:1.5}.footer-brand>span{font-family:var(--sans);letter-spacing:.06em;color:#8c9783;margin-top:10px;font-size:10px;display:block}.footer-links{gap:25px;font-size:11px;display:flex}.footer-links a:hover{color:#0c3220}.footer-phone{letter-spacing:.05em;font-size:23px;line-height:1.6}.footer-phone span{letter-spacing:0;color:#8c9783;font-size:9px;display:block}.footer-bottom{color:#87947e;border-top:1px solid #d5dbc9;justify-content:space-between;gap:20px;padding-top:19px;padding-bottom:20px;font-size:9px;line-height:1.9;display:flex}.site-dialog{background:var(--paper);color:var(--ink);border:0;width:600px;max-width:min(600px,100vw - 32px);max-height:calc(100dvh - 60px);padding:0;overflow-y:auto;box-shadow:0 20px 100px #0b1c2850}.site-dialog::backdrop{backdrop-filter:blur(5px);background:#10271cb5}.dialog-close{z-index:3;width:40px;height:40px;color:var(--ink);background:#f7f7f2ed;border-radius:50%;place-items:center;display:grid;position:absolute;top:15px;right:15px}.dialog-close:hover{background:#e2e8d9}.brief-dialog-content{padding:44px}.brief-dialog-content .section-kicker{margin-bottom:12px;font-size:10px}.brief-dialog-content h2{margin-bottom:25px;font-size:30px;line-height:1.55}.brief-dialog-content fieldset{border:0;margin:0 0 22px;padding:0}.brief-dialog-content legend,.brief-dialog-content label{font-size:12px}.brief-type-options{gap:10px;margin-top:10px;display:flex}.brief-type-options label{border:1px solid var(--line);text-align:center;cursor:pointer;flex:1;padding:10px 4px}.brief-type-options label.is-selected{border-color:var(--green);background:var(--sage)}.brief-type-options input{opacity:0;width:1px;height:1px;position:absolute}.brief-type-options label:has(input:focus-visible){outline-offset:3px;outline:2px solid #8a6238}.brief-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.brief-dialog-content form>label,.brief-form-grid label{flex-direction:column;gap:7px;margin-bottom:19px;display:flex}.brief-dialog-content input:not([type=radio]),.brief-dialog-content select,.brief-dialog-content textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d3dacb;border-radius:0;min-height:45px;padding:10px 12px;font-size:14px}.brief-dialog-content textarea{resize:vertical;line-height:1.85}.brief-privacy{color:#7e8976;margin:3px 0 22px;font-size:10px;line-height:1.85}.brief-submit{width:100%}.brief-result>p{color:var(--muted);margin-bottom:18px;font-size:12px}.brief-result-actions{gap:12px;margin-top:20px;display:flex}.brief-result-actions .button{flex:1;gap:10px;padding:14px 10px;font-size:12px}.brief-back{margin-top:20px;font-size:12px}.space-dialog{width:1020px;max-width:min(1020px,100vw - 40px)}.space-dialog-content{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.space-dialog-content>img{object-position:center;height:100%;min-height:540px}.space-dialog-content>div{padding:65px 40px 40px}.space-dialog-content h2{margin-bottom:20px;font-size:29px}.space-dialog-content>div>p:not(.section-kicker):not(.image-disclosure){color:var(--muted);font-size:13px;line-height:2}.space-dialog-content ul{gap:14px;margin-top:25px;font-size:12px;display:grid}.space-dialog-content li{align-items:center;gap:10px;display:flex}.space-dialog-content .image-disclosure{margin-top:35px;margin-bottom:25px}.space-dialog-content .button{gap:15px;padding:15px 18px;font-size:12px}.page-intro{max-width:1200px;padding-top:95px;padding-bottom:60px}.page-intro h1{font-family:var(--serif);max-width:1000px;font-size:clamp(36px,4.3vw,58px);line-height:1.5}.page-intro>p:not(.section-kicker){color:var(--muted);max-width:620px;margin-top:24px;font-size:14px;line-height:2}.guides-index-grid{padding-bottom:120px}.breadcrumb{color:var(--muted);align-items:center;gap:14px;margin-bottom:35px;font-size:11px;display:flex}.breadcrumb a:hover{color:var(--green)}.article-shell{max-width:1180px;padding:65px var(--gutter) 100px;margin:0 auto}.article-header{max-width:860px}.article-category{letter-spacing:.1em;color:#74856a;margin-bottom:16px;font-size:11px}.article-header h1{font-family:var(--serif);max-width:900px;margin-bottom:20px;font-size:clamp(29px,3.5vw,46px);line-height:1.6}.article-lead{color:#71806a;max-width:760px;font-size:15px;line-height:2}.article-byline{color:#8a947d;border-bottom:1px solid var(--line);gap:25px;margin-top:20px;padding-bottom:33px;font-size:11px;display:flex}.article-layout{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:70px;margin-top:45px;display:grid}.article-prose h2{font-family:var(--sans);letter-spacing:-.02em;margin:38px 0 17px;font-size:23px;line-height:1.7}.article-prose section:first-child h2{margin-top:0}.article-prose p{color:#63725b;margin-bottom:18px;font-size:15px;line-height:2.2}.article-prose li{color:#63725b;margin-bottom:10px;padding-left:18px;font-size:14px;line-height:2;position:relative}.article-prose li:before{content:"·";position:absolute;left:0}.article-sidebar{border-left:1px solid var(--line);padding-left:24px;position:sticky;top:130px}.article-sidebar>p{margin-bottom:16px;font-size:12px}.article-sidebar a{color:#7c8872;margin-bottom:15px;font-size:11px;line-height:1.9;display:block}.article-sidebar a:hover{color:var(--green)}.article-callout{background:#e8edde;border:1px solid #d8dfcf;margin-top:50px;padding:25px 28px}.article-callout h2{font-size:23px;font-family:var(--serif);margin-bottom:14px}.article-callout p{color:#75836a;margin-bottom:17px;font-size:12px;line-height:2}.article-callout .button{gap:14px;min-height:45px;padding:12px 16px;font-size:12px}.article-related{border-top:1px solid var(--line);margin-top:60px;padding-top:60px}.article-related h2{margin-bottom:20px;font-size:26px}.article-related a{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:17px 0;font-size:13px;display:flex}.privacy-content{max-width:830px;margin:auto;padding:70px 24px 100px}.privacy-content h1{font-family:var(--serif);margin-bottom:35px;font-size:42px;line-height:1.5}.privacy-content h2{margin:30px 0 15px;font-size:23px}.privacy-content p{color:#6c7a61;font-size:14px;line-height:2.1}.not-found{text-align:center;min-height:65vh;padding:90px 24px}.not-found .error-numeral{font-family:var(--serif);color:#9aaa87;font-size:90px}.not-found h1{font-family:var(--serif);margin:15px 0;font-size:35px}.not-found p{color:var(--muted);margin:15px 0 30px}@media (width>=1601px){.hero{gap:85px}.hero h1{font-size:74px}.section-space{padding-block:160px}.hero-visual{max-height:650px}.hero-image-wrap,.hero-image-wrap img{min-height:600px;max-height:650px}.hero{min-height:805px}.process-card{min-height:370px}}@media (width<=1199px){.desktop-nav{gap:21px}.brand-local,.brand-divider{display:none}.hero{gap:34px;min-height:650px}.hero-image-wrap,.hero-image-wrap img{min-height:500px;max-height:550px}.hero h1{font-size:clamp(39px,4.5vw,57px)}.hero-location{margin-bottom:27px}.hero-actions{gap:20px}.hero-actions .button{gap:20px;padding:16px 20px}.hero-footnote{margin-top:45px}.services-bento{grid-template-rows:235px 235px;gap:16px}.service-card{padding:27px}.service-card-title{font-size:27px}.service-card-description{font-size:11px}.service-arrow{width:36px;height:36px;bottom:25px;right:20px}.service-card-renovation .service-card-description{max-width:155px}.process-layout{gap:65px}.process-card{padding:28px 30px}.process-card h3{font-size:22px}.space-accordion{height:460px}.space-panel-action{padding:26px}.space-panel-caption strong{font-size:21px}.space-panel-caption{padding-right:28px}.space-circle{width:32px;height:32px;bottom:28px;right:18px}.guide-image{height:230px}.faq-section{gap:70px}.contact-inner{gap:55px}.footer-links{gap:18px}.footer-brand{font-size:26px}.footer-phone{font-size:21px}.section-space{padding-block:110px}.faq-section{padding-top:15px}}@media (width<=999px){:root{--gutter:36px}.site-header{height:84px}.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{place-items:center;display:grid}.mobile-nav{background:var(--paper);padding:15px var(--gutter) 25px;border-bottom:1px solid var(--line);display:block;position:absolute;top:83px;left:0;right:0;box-shadow:0 18px 25px #1d322310}.mobile-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;font-size:14px;display:flex}.hero{gap:30px;min-height:560px;padding-top:35px;padding-bottom:50px}.hero h1{font-size:clamp(31px,4.4vw,43px)}.hero-image-wrap,.hero-image-wrap img{border-top-left-radius:110px;min-height:430px;max-height:460px}.hero-description{margin-top:21px;font-size:12px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:24px}.hero-actions .button{min-height:47px;font-size:12px}.hero-footnote{margin-top:28px;font-size:9px}.hero-location{margin-bottom:24px;font-size:9px}.hero-visual figcaption{font-size:9px;display:block}.hero-visual figcaption span:last-child{margin-top:3px;font-size:8px;display:block}.section-heading-split{align-items:flex-start}.section-intro{padding-top:41px;font-size:12px}.services-bento{grid-template-rows:410px 250px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card-large{grid-area:span 1/span 2}.service-card-renovation,.service-card-partial{grid-column:span 1}.service-card-renovation .service-card-description{max-width:215px}.service-card{padding:30px}.service-card-large .service-card-title{font-size:34px}.service-card-description{font-size:12px}.service-card-partial .service-card-content{max-width:70%}.service-note{flex-direction:column;align-items:flex-start;gap:14px}.section-space{padding-block:90px}.philosophy-statement{font-size:37px}.space-accordion{gap:12px;height:425px}.space-panel.is-active{flex:1.6}.space-panel-caption strong{font-size:20px}.space-panel-action{padding:20px}.space-more{font-size:10px}.space-circle{display:none}.space-panel-caption{padding-right:0}.process-layout{grid-template-columns:.9fr 1.1fr;gap:35px}.process-intro{position:static}.process-intro h2{font-size:31px}.process-intro>p:not(.section-kicker){font-size:12px}.process-card h3{font-size:20px}.process-card{min-height:340px;padding:25px}.process-card>p{font-size:12px}.process-detail{gap:8px;font-size:9px}.guide-grid{gap:20px}.guide-image{height:195px}.guide-card h3{font-size:16px}.guide-card>p{font-size:11px}.guide-meta{flex-direction:column;gap:3px}.faq-section{grid-template-columns:.8fr 1.2fr;gap:35px;padding-top:10px}.faq-section h2{font-size:31px}.faq-list summary{font-size:12px}.contact-inner{gap:35px}.contact-copy h2{font-size:38px}.contact-details{padding-left:25px}.contact-phone strong{font-size:27px}.contact-copy>p:not(.section-kicker){font-size:11px}.footer-top{flex-wrap:wrap;align-items:flex-start}.footer-links{order:3;justify-content:flex-start;gap:35px;width:100%}.footer-bottom{flex-wrap:wrap;gap:8px 25px}.footer-bottom span:first-child{width:100%}.article-layout{grid-template-columns:1fr;gap:30px}.article-sidebar{border-left:0;border-block:1px solid var(--line);flex-wrap:wrap;grid-row:1;gap:10px;padding:20px 0;display:flex;position:static}.article-sidebar>p{width:100%;margin:0}.article-sidebar a{margin:0 12px 0 0}.article-shell{padding-top:45px}.space-dialog-content{grid-template-columns:1fr 1fr}.space-dialog-content>div{padding:60px 28px 30px}.space-dialog-content h2{font-size:25px}}@media (width<=639px){:root{--gutter:24px}body{font-size:14px}.site-header{height:76px}.header-inner{gap:10px}.brand{gap:8px}.brand-mark{width:30px;height:35px}.brand-wordmark{letter-spacing:.03em;font-size:18px}.brand-wordmark>span{margin-top:6px;font-size:7px}.header-contact{gap:7px;min-height:39px;padding:9px 10px;font-size:10px}.header-contact svg{width:14px}.menu-toggle{margin-right:-7px;padding:7px}.mobile-nav{top:75px}.hero{grid-template-columns:1fr;gap:34px;min-height:0;padding-top:44px;padding-bottom:42px}.hero-copy{padding:0}.hero h1{letter-spacing:-.045em;font-size:clamp(31px,8.7vw,48px);line-height:1.45}.hero-location{margin-bottom:21px;font-size:10px}.hero-description{margin-top:23px;font-size:14px;line-height:2}.hero-actions{flex-direction:row;align-items:center;gap:24px;margin-top:26px}.hero-actions .button{gap:19px;min-height:49px;padding:15px 20px;font-size:12px}.hero-actions .text-link{gap:8px;font-size:11px}.hero-footnote{margin-top:29px;font-size:10px}.hero-visual{padding:0}.hero-image-wrap{border-radius:110px 0 0;height:370px;min-height:0;max-height:none}.hero-image-wrap img{object-position:50% center;border-radius:0;height:100%;min-height:0;max-height:none}.hero-visual figcaption{align-items:center;gap:8px;padding-top:11px;font-size:9px;display:flex}.hero-visual figcaption span:last-child{margin-top:0;font-size:8px}.hero-image-rule{height:65px;bottom:48px;left:-10px}.values-marquee{padding:18px 0}.marquee-set{gap:30px;padding-right:30px;font-size:18px}.marquee-dot{width:4px;height:4px}.section-space{padding-block:76px}.section-kicker{letter-spacing:.06em;margin-bottom:17px;font-size:10px}h2{font-size:32px;line-height:1.5}.section-heading{margin-bottom:32px}.section-heading-split{display:block}.section-intro{margin-top:20px;padding-top:0;padding-bottom:0;font-size:12px}.desktop-break{display:none}.section-heading-split>.text-link{margin-top:21px;font-size:12px}.services-bento{grid-template-rows:350px 230px 230px;grid-template-columns:1fr;gap:14px}.service-card-large,.service-card-renovation,.service-card-partial{grid-area:span 1/span 1}.service-card{padding:29px}.service-card-large .service-card-title{font-size:30px}.service-card-large .service-card-content{max-width:calc(100% - 45px)}.service-card-title{font-size:27px}.service-small-title{font-size:10px}.service-card-description{font-size:14px}.service-card-renovation .service-card-description{max-width:205px}.service-arrow{bottom:30px;right:25px}.service-card-partial .service-card-content{max-width:69%}.service-card-partial .service-card-description{max-width:170px}.service-note{margin-top:20px;font-size:10px;line-height:1.9}.service-note .text-link{font-size:11px}.philosophy{padding-block:78px}.philosophy .section-kicker{margin-bottom:24px}.philosophy-statement{letter-spacing:-.05em;font-size:clamp(22px,6vw,32px);line-height:1.95}.inline-photo{width:64px;height:35px;margin:-5px 8px 0}.philosophy-description{margin-top:25px;font-size:11px;line-height:2}.philosophy .text-link{font-size:11px}.space-accordion{flex-direction:column;gap:17px;height:auto;display:flex}.space-panel,.space-panel.is-active{flex:none;height:335px}.space-panel>img{object-position:center 52%}.space-panel-action{padding:25px}.space-panel-caption strong{white-space:normal;font-size:25px}.space-panel-caption>span:first-child{font-size:10px}.space-more{opacity:1;font-size:11px}.space-circle{display:grid;bottom:29px;right:25px}.image-disclosure{margin-top:16px;font-size:9px}.process-layout{display:block}.process-intro{margin-bottom:35px;padding-top:0}.process-intro h2{font-size:32px}.process-intro>p:not(.section-kicker){margin:22px 0;font-size:12px}.process-card{min-height:0;margin-bottom:16px;padding:28px}.process-card h3{font-size:23px}.process-card>p{font-size:14px}.process-card-top{font-size:11px}.process-number{font-size:32px}.process-icon{width:40px;height:40px;margin-top:5px;margin-bottom:20px}.process-detail{margin-top:22px;padding-top:18px;font-size:10px}.guide-grid{grid-template-columns:1fr;gap:37px}.guide-image{height:245px}.guide-meta{flex-direction:row;margin-top:19px;font-size:10px}.guide-card h3{margin-top:10px;font-size:20px}.guide-card>p{margin-top:10px;font-size:14px}.guide-read{margin-top:19px;font-size:11px}.faq-section{padding-top:15px;display:block}.faq-section h2{font-size:32px}.faq-intro{margin:20px 0;font-size:12px}.faq-section .section-heading{margin-bottom:33px}.faq-list summary{gap:20px;padding:21px 0;font-size:14px;line-height:1.8}.faq-list details>p{padding-right:0;font-size:14px}.contact-section{padding:70px 0}.contact-inner{grid-template-columns:1fr;gap:52px}.contact-copy h2{font-size:42px;line-height:1.5}.contact-copy>p:not(.section-kicker){margin-top:22px;font-size:12px}.contact-details{border-left:0;max-width:none;padding:0}.contact-phone strong{margin-top:9px;font-size:38px}.contact-phone>span:first-child{font-size:12px}.contact-address{margin-top:28px;padding-top:25px}.contact-service-area{margin-top:22px;font-size:10px}.contact-orbit{top:20%;left:20%}.footer-top{gap:28px;padding-bottom:30px}.footer-brand{font-size:29px}.footer-brand>span{font-size:10px}.footer-phone{font-size:22px}.footer-phone span{font-size:9px}.footer-links{justify-content:space-between;gap:0;font-size:10px}.footer-bottom{gap:8px 18px;padding-bottom:22px;font-size:8px}.footer-bottom span:nth-child(2){max-width:78%}.site-footer{padding-top:40px}.site-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}.brief-dialog-content{padding:37px 23px 27px}.brief-dialog-content h2{margin-bottom:24px;font-size:26px}.dialog-close{width:35px;height:35px;top:8px;right:9px}.brief-dialog-content .section-kicker{max-width:85%;font-size:9px}.brief-type-options{gap:7px}.brief-type-options label{padding:11px 3px;font-size:11px}.brief-form-grid{gap:12px}.brief-dialog-content input:not([type=radio]),.brief-dialog-content select,.brief-dialog-content textarea{padding:10px;font-size:16px}.brief-privacy{font-size:10px}.brief-result-actions .button{gap:7px;font-size:11px}.brief-result textarea{font-size:13px!important}.space-dialog{max-width:calc(100vw - 24px)}.space-dialog-content{display:block}.space-dialog-content>img{object-position:center;height:260px;min-height:0}.space-dialog-content>div{padding:26px}.space-dialog-content h2{font-size:27px}.space-dialog-content .section-kicker{margin-bottom:12px}.space-dialog-content .image-disclosure{margin-top:23px;margin-bottom:22px}.page-intro{padding-top:55px;padding-bottom:40px}.page-intro h1{font-size:36px}.page-intro>p:not(.section-kicker){margin-top:21px;font-size:13px}.guides-index-grid{padding-bottom:80px}.article-shell{padding-top:32px;padding-bottom:65px}.breadcrumb{gap:10px;margin-bottom:28px;font-size:10px}.article-header h1{font-size:30px;line-height:1.6}.article-lead{font-size:13px}.article-byline{gap:15px;font-size:10px}.article-layout{margin-top:30px}.article-prose h2{margin-top:30px;font-size:21px}.article-prose p{font-size:14px;line-height:2.05}.article-callout{padding:22px}.article-callout h2{font-size:23px}.article-related a{font-size:12px}.privacy-content{padding-top:45px}.privacy-content h1{font-size:33px}.privacy-content h2{font-size:23px}.privacy-content p{font-size:13px}.not-found h1{font-size:29px}}@media (width<=359px){:root{--gutter:20px}.header-contact{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:30px}.hero-actions{gap:16px}.hero-actions .button{gap:14px;padding:14px 15px;font-size:11px}.hero-actions .text-link{gap:5px;font-size:10px}.hero-image-wrap{height:320px}.hero-visual figcaption{display:block}.hero-visual figcaption span:last-child{margin-top:4px}.hero-footnote{font-size:9px}.philosophy-statement{font-size:21px}.inline-photo{width:55px;height:29px}.contact-copy h2{font-size:37px}.contact-phone strong{font-size:33px}.brief-form-grid{grid-template-columns:1fr;gap:0}.service-card{padding:25px}.service-card-description{font-size:14px}.footer-top{gap:25px}.footer-phone{font-size:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none;transform:none}.marquee-pause{display:none}.process-intro{position:static}}@media print{.site-header,.site-footer,.site-dialog,.contact-section,.marquee-pause,.article-sidebar{display:none}.site-main{overflow:visible}.article-shell{padding:0}.article-layout{display:block}.article-prose p{color:#111}.article-callout{break-inside:avoid}a{text-decoration:underline}body{color:#111;background:#fff}}
