@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f6f3ec;--green:#283d32;--ink:#26372e;--muted:#697166;--line:#d8d9cd;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #bd8f50;outline-offset:6px}img{display:block;width:100%;height:auto;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,5.6vw,88px)}h2{font-size:clamp(38px,4vw,60px)}h3{font-weight:500;font-size:21px;letter-spacing:-.02em}em{font-weight:400}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;font-family:var(--serif);font-size:27px;letter-spacing:.055em;line-height:1.15}.brand-small{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.34em;margin-bottom:5px}.brand-caption{font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:.25em;margin-top:6px}nav{display:flex;align-items:center;gap:34px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:white;padding:18px 26px;font-size:12px;font-weight:500;border:1px solid var(--green);transition:background .2s,transform .2s}.button:hover{background:#405c4b;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#dedfce}.button.small{padding:14px 20px}.menu{display:none}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;line-height:1.5;margin-bottom:25px}.hero{position:relative;min-height:690px;height:calc(100svh - 106px);max-height:1000px;color:white;display:flex;align-items:center}.hero-img{position:absolute;inset:0;height:100%;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,29,23,.72),rgba(17,29,23,.3) 55%,rgba(17,29,23,.06)),linear-gradient(0deg,rgba(17,29,23,.4),transparent 30%)}.hero-copy{position:relative;padding:55px 7%;max-width:1050px}.hero-copy h1{font-size:clamp(58px,6.4vw,98px)}.hero-copy>p:not(.eyebrow){margin:28px 0 32px;font-size:15px;line-height:1.8;color:#f1eee7}.hero-bottom{position:absolute;bottom:38px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em}.image-note{position:absolute;right:14px;top:15px;writing-mode:vertical-rl;font-size:8px;opacity:.85;letter-spacing:.06em}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro .eyebrow{padding-top:10px}.intro p:not(.eyebrow){max-width:590px;margin:26px 0;color:var(--muted)}.text-link{display:inline-flex;gap:45px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link:hover{color:#96743e;border-color:#96743e}.services{background:#e9ecdf}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading>p{color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px}.image-wrap{position:relative;overflow:hidden}.service-card img{aspect-ratio:1.5;transition:transform .65s}.service-card:hover img{transform:scale(1.035)}.round-arrow{position:absolute;right:20px;bottom:20px;border-radius:50%;background:var(--paper);width:40px;height:40px;text-align:center;line-height:40px}.card-heading{display:flex;justify-content:space-between;align-items:center;padding-top:17px}.card-heading span{font-size:10px;opacity:.6}.services>.text-link{margin-top:40px}.feature{display:grid;grid-template-columns:1fr 1fr;background:#283d32;color:var(--paper)}.feature>img{height:100%;min-height:610px;object-position:48%}.feature>div{padding:90px 14%}.feature p:not(.eyebrow){margin:30px 0;color:#cfd7ca}.feature .text-link{border-color:#a8b6a5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.steps h3{margin:32px 0 12px}.steps p{color:var(--muted);font-size:14px}.inspiration-banner{position:relative;height:550px;color:white;display:flex;align-items:center}.inspiration-banner>img{position:absolute;inset:0;height:100%}.inspiration-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172d23b8,#172d2310)}.inspiration-banner>div{position:relative;z-index:1;padding:0 7%}.inspiration-banner .button{margin-top:30px}.cta{background:#e9ecdf;text-align:center;padding:100px 20px}.cta .button{margin-top:35px}.cta h2{font-size:clamp(46px,5vw,74px)}footer{background:#1e3027;color:var(--paper);padding:60px 7% 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:60px}.footer-top p{font-family:var(--serif);font-size:23px;line-height:1.35}.footer-top>a:last-child{font-size:12px}.footer-bottom{border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#b9c4b6;font-size:9px}.page-heading{padding-bottom:45px}.page-heading>p:not(.eyebrow){max-width:620px;color:var(--muted);margin-top:28px}.all-services{padding-top:20px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.detail-hero>div{padding:95px 12% 80px 14%;align-self:center}.detail-hero h1{font-size:clamp(46px,4.7vw,70px)}.detail-hero p:not(.eyebrow){color:var(--muted);margin:28px 0}.detail-hero>img{height:100%;min-height:650px}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:80px}.detail-body>div>p{color:var(--muted)}.detail-list{list-style:none;padding:0;margin:30px 0}.detail-list li{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.muted{font-size:11px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 20px;font-size:12px;border-radius:30px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.gallery{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.gallery figure{margin:0}.gallery figure[hidden]{display:none}.gallery figure:nth-child(3n+1) img{aspect-ratio:1.2}.gallery img{aspect-ratio:1.5}.gallery-open{border:0;padding:0;background:none;position:relative;width:100%;display:block;overflow:hidden}.gallery-open span{position:absolute;right:18px;bottom:18px;background:var(--paper);padding:10px 16px;font-size:11px}.gallery figcaption{margin-top:12px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact h1{font-size:clamp(45px,4.8vw,70px)}.contact>div>p:not(.eyebrow){margin:30px 0;max-width:430px;color:var(--muted)}.email{word-break:break-all}.contact-img{margin-top:45px;aspect-ratio:1.4}.contact form{background:#eeeee4;padding:36px}.contact form h2{font-size:30px;letter-spacing:-.035em;margin-bottom:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;margin-bottom:20px}label>span{color:#7c6549}.optional{color:var(--muted)}input,select,textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid #aeb8a9;background:transparent;border-radius:0;font-size:13px;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #718268;outline-offset:4px}.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.consent input{width:15px;flex-shrink:0;margin-top:4px}.consent span{color:var(--muted)}.consent a{text-decoration:underline}.submit{width:100%}.form-note{font-size:10px;color:var(--muted);margin-top:18px}.honey{display:none}.prose{max-width:950px;margin:auto;min-height:70vh}.prose h1{margin-bottom:35px}.prose h2{font-size:30px;margin:35px 0 15px}.prose p{color:var(--muted)}.prose a{text-decoration:underline}dialog{border:0;padding:15px;background:var(--paper);max-width:1000px;width:90vw;color:var(--ink)}dialog::backdrop{background:#101d15df}dialog img{max-height:78vh;object-fit:contain}dialog p{font-size:12px;padding:10px 0 0}.close-dialog{position:absolute;right:24px;top:24px;border:0;background:var(--paper);font-size:25px;width:40px;height:40px}.skip{position:fixed;top:-100px;left:15px;padding:10px;background:var(--paper);z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.section,header,footer{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:900px){header{height:90px}.brand{font-size:23px}nav{gap:20px}nav .small{display:none}.hero{height:740px;min-height:600px}.hero-copy h1{font-size:68px}.intro{grid-template-columns:1fr;gap:10px}.section{padding:70px 6%}.feature>div{padding:65px 10%}.feature>img{min-height:520px}.feature h2{font-size:42px}.detail-hero{min-height:560px}.detail-hero>div{padding:60px 10%}.detail-hero>img{min-height:560px}.contact{gap:5%}.contact form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.contact h1{font-size:48px}.footer-top{flex-wrap:wrap}.detail-body{gap:40px}}
@media(max-width:600px){header{height:88px;padding:0 6%}.brand{font-size:23px}.brand-caption{font-size:6px}.menu{display:flex;gap:12px;border:0;background:none;font-size:12px;align-items:center;color:var(--ink)}nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:24px}nav .small{display:flex}.hero{height:720px;min-height:0;max-height:calc(100svh - 88px)}.hero-copy{padding:40px 6% 65px}.hero-copy h1{font-size:48px;line-height:1.12}.hero-copy .eyebrow{font-size:8px;letter-spacing:.16em}.hero-copy>p:not(.eyebrow){font-size:13px;max-width:300px}.hero-shade{background:linear-gradient(90deg,#14241dc4,#14241d3d),linear-gradient(0deg,#14241d88,transparent)}.hero-img{object-position:62% center}.hero-bottom{left:6%;right:6%;bottom:23px;font-size:6px}.hero-bottom a{display:none}.image-note{font-size:7px}.section{padding:55px 6%}.intro{gap:0}h2{font-size:38px}.eyebrow{font-size:9px;margin-bottom:20px}.intro p:not(.eyebrow){font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:13px}.section-heading>.text-link{margin-top:25px}.service-grid{gap:28px 16px}.service-card img{aspect-ratio:.92}.card-heading{gap:10px;padding-top:12px}.card-heading h3{font-size:15px;line-height:1.35}.card-heading>span{display:none}.round-arrow{width:30px;height:30px;line-height:30px;right:10px;bottom:10px}.feature{grid-template-columns:1fr}.feature>img{min-height:0;height:370px}.feature>div{padding:50px 6%}.feature h2{font-size:45px}.steps{grid-template-columns:1fr;gap:30px}.steps h3{margin-top:15px}.inspiration-banner{height:460px}.inspiration-banner h2{font-size:39px}.cta{padding:65px 6%}.cta h2{font-size:45px}.footer-top{align-items:flex-start;flex-direction:column;padding-bottom:35px;gap:30px}.footer-top p{font-size:24px}.footer-bottom{flex-direction:column;gap:10px}footer{padding:45px 6% 25px}.page-heading h1{font-size:48px}.detail-hero{grid-template-columns:1fr}.detail-hero>div{padding:55px 6%}.detail-hero h1{font-size:51px}.detail-hero>img{height:380px;min-height:0}.detail-body{grid-template-columns:1fr;gap:30px}.gallery{grid-template-columns:1fr;padding-top:0;gap:25px}.gallery img,.gallery figure:nth-child(3n+1) img{aspect-ratio:1.3}.filters{gap:8px}.filters button{padding:9px 14px;font-size:11px}.contact{grid-template-columns:1fr;gap:40px}.contact h1{font-size:50px}.contact-img{max-height:260px}.contact form{padding:25px 20px}.prose h1{font-size:48px}.all-services{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:600px){.hero-copy h1{font-size:clamp(36px,10.8vw,48px)}.hero{max-height:none;height:690px}.hero-copy{padding-right:5%}}

/* Architectural timber-grain identity */
header .brand,.footer-top .brand{flex-direction:row;align-items:center;gap:14px;flex-shrink:0}.brand-wordmark{display:flex;flex-direction:column}.brand-emblem{width:66px;height:66px;object-fit:contain;flex-shrink:0}.footer-top .brand-emblem{width:60px;height:60px}
@media(max-width:1100px){header{padding-left:4%;padding-right:4%}nav{gap:22px}header .brand{font-size:23px;gap:10px}.brand-emblem{width:58px;height:58px}}
@media(max-width:600px){header{height:96px;padding-left:5%;padding-right:5%}header .brand{font-size:21px;gap:9px}.brand-emblem{width:53px;height:53px}.brand-small{font-size:8px}.brand-caption{font-size:5.5px;letter-spacing:.19em}nav{top:96px}.menu{font-size:11px;gap:8px}.footer-top .brand{font-size:25px}}
@media(max-width:350px){header .brand{font-size:18px;gap:7px}.brand-emblem{width:45px;height:45px}.brand-caption{font-size:5px}.menu{font-size:10px;gap:5px}}

.footer-contact{display:flex;flex-direction:column;gap:7px;font-size:12px}.footer-contact>a:first-child{font-size:19px;letter-spacing:.035em}.consult-phone{margin-top:22px;font-size:12px;color:var(--muted)}.consult-phone a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.contact-phone{font-family:var(--serif);font-size:clamp(29px,3vw,39px);line-height:1.3;white-space:nowrap}.contact-phone>span:first-child{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:.16em;margin-bottom:10px;color:var(--muted)}.contact-phone>span:last-child{font-family:Arial,sans-serif;font-size:23px;margin-left:10px}.contact-phone:hover,.footer-contact a:hover{color:#a8834f}@media(max-width:600px){.consult-phone a{display:block;margin-top:6px}}

/* Vector arrows retain the same clean stroke on every device. */
.icon-arrow{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:-.2em;color:inherit;overflow:visible}.button>span:last-child,.text-link>span:last-child{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.round-arrow{display:grid;place-items:center;line-height:1}.round-arrow .icon-arrow{width:17px;height:17px}.detail-list li>span{display:inline-flex;align-items:center}.hero-bottom .icon-arrow{width:13px;height:13px;margin-left:6px}.gallery-open>span{display:inline-flex;align-items:center;gap:10px}.contact-phone .icon-arrow{width:21px;height:21px}.footer-contact .icon-arrow,.consult-phone .icon-arrow{width:15px;height:15px;margin-left:4px}@media(max-width:600px){.round-arrow .icon-arrow{width:15px;height:15px}}

.service-area-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 16px;padding:9px 20px;background:var(--green);color:var(--paper);font-size:11px;line-height:1.6;letter-spacing:.045em;text-align:center}.service-area-bar>span:first-child{font-size:8px;letter-spacing:.18em;color:#d2bd97}.area-divider{margin:0 10px;color:#b7a07a}@media(max-width:600px){.service-area-bar{padding:8px 12px;gap:2px;font-size:10px}.service-area-bar>span:first-child{flex-basis:100%;font-size:7px}.area-divider{margin:0 7px}}
