:root{--ink:#1f1f1f;--night:#17304d;--green:#1f4d3a;--bronze:#b58b5a;--paper:#f6f3ed;--line:#d8d1c5;--muted:#716e68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.7rem}.site-header{height:84px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(31,31,31,.12);position:sticky;top:0;background:rgba(246,243,237,.94);backdrop-filter:blur(14px);z-index:5}.brand img{width:137px;display:block}.main-menu{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.main-menu a:not(.nav-cta):hover,.text-link:hover{color:var(--bronze)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;cursor:pointer}.nav-cta{background:var(--ink);color:#fff;padding:12px 18px}.menu-button{display:none;border:0;background:none;font:inherit}.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);min-height:calc(100vh - 84px);padding-left:clamp(24px,8vw,145px)}.hero-copy{align-self:center;padding:60px 8vw 60px 0}.eyebrow{margin:0 0 17px;color:var(--bronze);font-size:11px;font-weight:700;letter-spacing:.15em}.hero h1,.section h2,.other-services h2,.contact h2{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:-.045em;line-height:.99;margin:0}.hero h1{font-size:clamp(55px,6.6vw,104px);max-width:740px}.hero h1 em,.contact h2 em{font-weight:500;color:var(--green)}.hero-text{max-width:505px;font-size:18px;margin:28px 0 35px;color:#55524d}.hero-actions{display:flex;align-items:center;gap:30px}.button{padding:17px 21px;font-weight:700}.button-primary{background:var(--green);color:#fff}.button span,.text-link span{font-size:22px;line-height:0}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px;display:inline-flex;gap:7px;align-items:center}.hero-visual{min-height:600px;position:relative;overflow:hidden;background:#dbd7cc}.panel{position:absolute}.panel-a{background:#3d443c;inset:0 42% 0 0}.panel-b{background:#b4a28b;inset:18% 0 0 42%}.panel-c{background:#ede6db;inset:0 0 42% 65%}.hero-visual:before{content:"";position:absolute;z-index:1;width:47%;height:72%;background:linear-gradient(135deg,#252a28,#766850);bottom:0;left:13%;box-shadow:20px -15px 0 #d9cfbd}.hero-visual:after{content:"";position:absolute;z-index:2;width:39%;height:20%;border:12px solid #d6cab5;border-bottom:0;top:24%;right:13%;transform:skewY(-7deg)}.visual-label{position:absolute;z-index:3;top:25px;left:28px;color:#fff;font-size:10px;letter-spacing:.13em}.visual-label small{font-size:9px;letter-spacing:.04em}.hero-tag{position:absolute;z-index:3;bottom:28px;right:28px;background:#f6f3ed;padding:14px 18px;font-size:12px;font-weight:700}.hero-tag span{color:var(--bronze);margin-right:13px}.strip{background:var(--night);color:#fff;padding:42px clamp(24px,8vw,145px)}.strip p{max-width:760px;margin:0;font:clamp(24px,3vw,41px)/1.15 "Playfair Display",serif;letter-spacing:-.03em}.section{padding:clamp(76px,10vw,140px) clamp(24px,8vw,145px)}.section-heading h2{font-size:clamp(41px,5vw,69px)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:54px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:244px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px;display:grid;grid-template-columns:42px 1fr 24px;gap:10px;transition:.25s}.service-card:hover{background:var(--ink);color:#fff}.service-card.featured{background:var(--green);color:#fff}.service-card.quiet{grid-column:span 2;min-height:160px}.number{color:var(--bronze);font-size:12px;font-weight:700}.service-card h3{font:500 clamp(24px,2.2vw,34px)/1.05 "Playfair Display",serif;margin:25px 0 13px}.service-card p{font-size:14px;color:inherit;opacity:.73;max-width:310px;margin:0}.arrow{align-self:end;font-size:24px}.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:11vw;background:#e9e3d9}.process h2{font-size:clamp(41px,4.6vw,64px)}.process-aside>p:last-child{max-width:430px;color:#56534d;margin-top:24px}.steps{margin:0;padding:0;list-style:none}.steps li{display:grid;grid-template-columns:60px 1fr;gap:20px;border-top:1px solid #c6bfb3;padding:24px 0}.steps span{font-size:12px;color:var(--bronze);font-weight:700}.steps h3{margin:0 0 7px;font-size:19px}.steps p{margin:0;color:#68645d;font-size:14px}.project-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center}.project-image{height:min(53vw,640px);position:relative;overflow:hidden}.project-image:before,.project-image:after{content:"";position:absolute}.project-image.warm{background:#c3ac90}.project-image:before{inset:0 47% 0 0;background:#39453c}.project-image:after{width:52%;height:68%;background:#e8dfd1;bottom:-4%;right:8%;box-shadow:-40px 35px 0 #826e55}.project-image span{position:absolute;z-index:1;bottom:22px;left:22px;color:#fff;font-size:10px;letter-spacing:.12em}.project-copy h2{font-size:clamp(39px,4.4vw,63px)}.project-copy>p:not(.eyebrow){color:#625e57;margin:24px 0 30px;max-width:480px}.gallery{background:#1f1f1f;color:#f8f5ef}.section-heading.row{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading.row>p{max-width:350px;color:#bdb7ac;margin:0;font-size:14px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px;margin-top:54px}.gallery-card{margin:0}.placeholder-image{height:335px;position:relative;background:#5a6259}.gallery-card.large .placeholder-image{height:430px}.image-1{background:linear-gradient(135deg,#334036 0 39%,#c9baa5 39% 70%,#e8e2d6 70%)}.image-2{background:linear-gradient(135deg,#8a7359 0 50%,#e7dbca 50%)}.image-3{background:linear-gradient(135deg,#263338 0 35%,#978b7d 35% 72%,#d8ccba 72%)}.placeholder-image:after{content:"";position:absolute;inset:21% 17%;border:9px solid rgba(255,255,255,.55);border-bottom-width:30px}.placeholder-image span{position:absolute;bottom:17px;left:18px;z-index:1;font-size:12px;color:#fff}.gallery-card h3{font:500 24px "Playfair Display",serif;margin:16px 0 1px}.gallery-card p{margin:0;font-size:12px;color:#aba69d}.detail-services{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}.detail-services>div{border-top:2px solid var(--bronze);padding-top:20px}.detail-services h3{font:500 30px/1.1 "Playfair Display",serif;margin:0 0 15px}.detail-services div>p:last-child{margin:0;color:#69655f}.other-services{padding:clamp(70px,9vw,130px) clamp(24px,8vw,145px);background:var(--green);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.other-services h2{font-size:clamp(39px,4.7vw,65px)}.other-list{align-self:end}.other-list a{padding:19px 0;border-top:1px solid rgba(255,255,255,.35);font:500 clamp(22px,2.3vw,32px) "Playfair Display",serif;display:flex;justify-content:space-between}.other-list a:last-child{border-bottom:1px solid rgba(255,255,255,.35)}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}.about-mark{font:clamp(56px,9vw,134px)/.74 "Playfair Display",serif;letter-spacing:-.08em;color:var(--bronze)}.about-mark em{color:var(--night)}.about h2{font-size:clamp(39px,4.8vw,67px)}.about div>p:not(.eyebrow){max-width:585px;color:#605c56}.contact{background:#e8e0d3;padding:clamp(75px,10vw,140px) clamp(24px,8vw,145px);display:grid;grid-template-columns:.85fr 1.15fr;gap:11vw}.contact h2{font-size:clamp(50px,5.7vw,83px)}.contact-heading>p:not(.eyebrow){max-width:390px;color:#625e58;margin:25px 0}.contact-email{font:600 22px "Playfair Display",serif;border-bottom:1px solid;padding-bottom:5px}.socials{display:flex;gap:20px;margin-top:24px;font-size:13px;font-weight:700}.socials a{text-decoration:underline;text-underline-offset:4px}.quote-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{font-size:12px;font-weight:700}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{width:100%;margin-top:7px;border:0;border-bottom:1px solid #a79f93;background:transparent;padding:10px 0;font:16px "DM Sans",sans-serif;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--green)}.quote-form textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:9px;font-weight:400!important}.consent input{margin:4px 0 0}.quote-form .button{align-self:flex-start;margin-top:8px}.form-note{font-size:11px;color:#736e66;margin:0}footer{background:var(--night);padding:35px clamp(24px,5vw,78px);color:#d9d4cc;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}footer p{margin:0}.footer-brand img{width:112px}footer>a:last-child{font-weight:700}@media(max-width:820px){.site-header{height:72px}.menu-button{display:block;font-weight:700}.main-menu{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.main-menu.open{display:flex}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:80px 24px 55px}.hero-visual{min-height:440px}.service-grid,.project-feature,.process,.about,.contact,.other-services{grid-template-columns:1fr}.service-card.quiet{grid-column:auto}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card.large{grid-column:span 2}.detail-services{grid-template-columns:1fr;gap:35px}.section-heading.row{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.contact{gap:58px}footer{align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(52px,14vw,75px)}}@media(max-width:500px){.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-visual{min-height:370px}.gallery-grid{grid-template-columns:1fr}.gallery-card.large{grid-column:auto}.gallery-card.large .placeholder-image,.placeholder-image{height:310px}.section{padding:74px 24px}}
