@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171817;--paper:#fff;--copper:#c38b62;--muted:#666863;--line:#deded9;--wash:#f5f5f2;--dark-muted:#bebfb8;--pad:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:5px}.skip{position:fixed;left:16px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.header{height:100px;padding:0 var(--pad);display:flex;align-items:center;gap:28px;background:var(--ink);color:white;border-bottom:1px solid #ffffff1f;position:sticky;top:0;z-index:10}.brand{display:inline-flex;flex-direction:column;line-height:1.2;flex-shrink:0}.brand-name{font:800 21px/1.12 'Manrope',Arial,sans-serif;letter-spacing:.025em}.brand-name>span{display:block;font-size:15px;letter-spacing:.075em}.brand-tag{margin-top:9px;font-size:10px;letter-spacing:.1em;color:var(--copper)}nav{display:flex;gap:24px;margin-left:auto}nav a{font-size:14px;color:#d1d1cd;white-space:nowrap}nav a:hover,.header-phone:hover{color:var(--copper)}.header-phone{font-size:14px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--copper);color:var(--ink);font-size:14px;font-weight:700;padding:17px 23px;transition:background .2s,transform .2s}.button:hover{background:#dfaa7d;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.small{padding:13px 18px;gap:18px}.menu-button{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;min-height:650px}.hero-copy{padding:72px 45px 32px var(--pad);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.15em;color:#8b5a38;margin-bottom:22px}.hero .eyebrow,.contact .eyebrow{color:var(--copper)}h1,h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(52px,5.3vw,82px)}h1 em{font-style:normal;color:var(--copper)}.hero-description{color:#c9c9c2;max-width:420px;margin:27px 0 30px;font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff50;padding:10px 0}.hero-note{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;width:100%;margin-top:auto;padding-top:55px;color:#a4a59e;font-size:10px;letter-spacing:.1em}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{position:absolute;object-position:center 52%}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.hero-photo figcaption{position:absolute;z-index:1;bottom:30px;left:32px;right:32px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:#fff}.hero-photo figcaption span:first-child{font-size:11px;letter-spacing:.15em}.service-strip{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:28px var(--pad);border-bottom:1px solid var(--line);font-size:13px}.service-strip span{display:flex;align-items:center;gap:12px}.service-strip span:before{content:'+';color:#996a47;font-size:20px}.section{padding:95px var(--pad)}h2{font-size:clamp(38px,4vw,58px)}.section>p:not(.eyebrow){margin:24px 0;max-width:520px;color:var(--muted)}.contact{background:var(--ink);color:white}.contact>p:not(.eyebrow){color:#c9c9c2}footer{padding:38px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px}footer p{color:var(--muted)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading>p{color:var(--muted);max-width:365px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:55px 1fr 1.1fr 45px;align-items:center;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.service-number{color:#95623f;font-size:13px}.service-list h3{font:500 clamp(21px,2.3vw,30px)/1.3 'Manrope',Arial,sans-serif;letter-spacing:-.035em}.service-list p{font-size:15px;color:var(--muted);max-width:400px}.service-list a{display:grid;place-items:center;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;font-size:22px;transition:background .2s}.service-list a:hover{background:var(--copper);border-color:var(--copper)}.work{background:var(--wash)}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:42px 28px}.project{grid-column:span 2;min-width:0}.project-wide{grid-column:span 3}.photo-button{display:block;position:relative;padding:0;border:0;background:#deded9;cursor:zoom-in;width:100%;overflow:hidden}.project .photo-button{height:410px}.photo-button img{transition:transform .5s}.photo-button:hover img{transform:scale(1.035)}.photo-open{position:absolute;right:16px;bottom:16px;width:40px;height:40px;display:grid;place-items:center;background:white;color:var(--ink);font-size:22px}.project figcaption{padding-top:17px}.project h3{font:500 21px/1.4 'Manrope',Arial,sans-serif;letter-spacing:-.025em}.project figcaption>span{font-size:11px;letter-spacing:.1em;color:#76604e;display:block;margin-top:6px}.project-wide img{object-position:center 49%}.more-projects{margin-top:45px}.more-projects summary{cursor:pointer;list-style:none;border-top:1px solid #cecec8;border-bottom:1px solid #cecec8;padding:20px 0;display:flex;justify-content:space-between;font-size:15px;font-weight:600}.more-projects summary::-webkit-details-marker{display:none}.more-projects summary>span{font-size:24px;line-height:1}.more-projects[open] summary>span{transform:rotate(45deg)}.additional-gallery{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;gap:25px}.additional-gallery .project{grid-column:auto}.additional-gallery .photo-button{height:310px}.additional-gallery h3{font-size:17px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}.build-photo .photo-button{height:590px}.build-photo img{object-position:center 45%}.build-photo figcaption{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-top:14px}.about h2{font-size:clamp(36px,3.5vw,50px)}.about-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px}.area{display:flex;align-items:center;gap:25px;margin:30px 0;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.area-number{font:500 65px/1 'Manrope',Arial,sans-serif;letter-spacing:-.07em}.area-number>span{font-size:19px;letter-spacing:0;color:#8b5a38;margin-left:8px}.area p{font-size:14px;color:var(--muted);line-height:1.5}.about .text-link{border-color:#bebeb8}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:center}.contact h2{font-size:clamp(38px,4vw,57px)}.contact>div>p:not(.eyebrow){color:#c9c9c2;margin:26px 0 30px;max-width:485px}.contact-details{border-left:1px solid #ffffff24;padding-left:55px}.contact-label{font-size:11px;letter-spacing:.13em;color:var(--copper);display:block}.large-phone{font:500 clamp(25px,3vw,42px)/1.5 'Manrope',Arial,sans-serif;letter-spacing:-.035em;white-space:nowrap;display:block;margin:8px 0 25px}.large-phone:hover{color:var(--copper)}.contact-area{display:grid;grid-template-columns:90px 1fr;gap:15px}.contact-area p{color:#deded7;font-size:15px;line-height:1.7}.contact-details .contact-tip{font-size:13px;color:#a8a9a3;line-height:1.7;margin:25px 0 0}.lightbox{border:0;max-width:96vw;width:1100px;max-height:95dvh;background:#171817;color:white;padding:20px 24px;overflow:auto}.lightbox::backdrop{background:#000e}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.close-photo{background:none;border:1px solid #777;color:white;padding:8px 13px;cursor:pointer;font-size:14px;white-space:nowrap}.close-photo span{font-size:23px;margin-left:12px}.lightbox img{width:100%;height:72dvh;object-fit:contain}.lightbox-bottom{font-size:10px;letter-spacing:.13em;margin-top:15px;color:#bbb}.lightbox-top p{font-size:16px}body:has(.lightbox[open]){overflow:hidden}
@media(min-width:1600px){body{max-width:2000px;margin:auto}.hero{min-height:760px}}
@media(max-width:1150px){.header{gap:20px}.header-phone{display:none}nav{gap:18px}.hero-copy{padding-top:55px;padding-right:30px}.hero{min-height:640px}.hero-actions{gap:18px}}
@media(max-width:800px){html{scroll-padding-top:85px}.header{height:85px;gap:15px}.header>.button{margin-left:auto}.menu-button{display:flex;gap:8px;border:0;background:none;color:white;padding:10px 0;order:2;font-size:14px}.brand-name{font-size:18px}.brand-name>span{font-size:13px}.brand-tag{font-size:8px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--ink);padding:15px var(--pad) 25px;border-top:1px solid #ffffff20;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:10px 0;font-size:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px var(--pad) 30px}.hero h1{font-size:clamp(48px,9vw,72px)}.hero-description{max-width:530px;font-size:16px}.hero-note{padding-top:38px}.hero-photo{height:500px}.hero-photo img{object-position:center 45%}.service-strip{justify-content:flex-start;gap:12px 25px;padding-top:22px;padding-bottom:22px}.section{padding:65px var(--pad)}footer{align-items:flex-start;flex-wrap:wrap}footer .brand{width:100%}}
@media(max-width:430px){.header .small{font-size:12px;padding:12px;gap:9px}.menu-button{font-size:0}.menu-button span{font-size:20px}.hero-photo{height:400px}.hero-note{font-size:9px}.hero-actions{gap:16px}.button{gap:20px}.text-link{gap:10px}h2{font-size:38px}}
@media(max-width:1000px){.about{gap:40px}.contact{gap:45px}.contact-details{padding-left:30px}.additional-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project .photo-button{height:350px}.build-photo .photo-button{height:590px}}
@media(max-width:800px){.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:35px}.section-heading>p{max-width:530px}.service-list article{grid-template-columns:30px 1fr 44px;gap:8px 18px;padding:22px 0}.service-list h3{font-size:24px}.service-list p{grid-column:2;max-width:470px;font-size:14px}.service-list a{grid-column:3;grid-row:1 / span 2}.service-number{align-self:start;padding-top:4px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.project,.project-wide{grid-column:span 1}.project .photo-button{height:340px}.project h3{font-size:18px}.about{grid-template-columns:1fr;gap:35px}.build-photo .photo-button{height:420px}.about-copy{max-width:620px}.contact{grid-template-columns:1fr;gap:40px}.contact-details{padding:30px 0 0;border-left:0;border-top:1px solid #ffffff24}.large-phone{font-size:36px}.contact-area{grid-template-columns:95px 1fr}.lightbox{padding:16px}.lightbox-top p{font-size:14px}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}.project .photo-button{height:390px}.additional-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.additional-gallery .photo-button{height:230px}.additional-gallery h3{font-size:16px}.additional-gallery figcaption>span{font-size:10px;letter-spacing:.04em}.service-list article{column-gap:12px}.service-list h3{font-size:22px}.service-list p{grid-column:2 / span 2;padding-right:42px}.service-list a{grid-row:1}.build-photo .photo-button{height:420px}.contact h2 br{display:none}.lightbox img{height:65dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-photo img{object-position:center 65%}

.header{height:176px;gap:20px}.header .brand-logo{width:255px}.brand-logo img{width:100%;height:auto;object-fit:contain}html{scroll-padding-top:186px}@media(max-width:800px){.header{height:126px;gap:12px}.header .brand-logo{width:175px}nav{top:126px}html{scroll-padding-top:136px}}@media(max-width:360px){.header{gap:10px}.header .brand-logo{width:150px}}

.contact-email{overflow-wrap:anywhere}.contact-email:hover{color:var(--copper)}

.header-phone-label{display:block;font-size:12px;line-height:1.5;color:var(--copper);margin-bottom:2px}
