:root{--paper:#f4f2ed;--ink:#242421;--muted:#625f57;--bronze:#75553b;--line:#ccc8bf;--dark:#242825;--white:#fff;--measure:1370px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
a{color:inherit;text-underline-offset:5px}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}
::selection{background:var(--bronze);color:white}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:600;letter-spacing:-.055em}
p{line-height:1.65}
.container{width:min(var(--measure),calc(100% - 8vw));margin-inline:auto}
.skip{position:fixed;top:-100px;left:1rem;background:var(--ink);color:var(--paper);padding:1rem;z-index:20}
.skip:focus{top:1rem}
.site-header{padding:1.25rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}
.brand{width:155px;flex:none}
.brand img{mix-blend-mode:multiply}
.site-header nav{display:flex;gap:2rem;font-size:.85rem}
.site-header a{text-decoration:none}
.site-header nav a,.contact-link{padding-block:.8rem}
.contact-link{display:flex;gap:2rem;font-size:.85rem;font-weight:bold;border-bottom:1px solid var(--ink)}
.contact-link span{font-size:1.15rem}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;font-weight:bold;color:var(--bronze)}
.hero{display:grid;grid-template-columns:3fr 1fr;align-items:end;gap:3rem;padding-block:5rem 4.5rem}
.hero h1{font-size:clamp(3.1rem,6.85vw,7.2rem);line-height:1.02;margin-top:1.5rem;letter-spacing:-.06em}
.hero-copy{max-width:19rem;padding-bottom:.4rem}
.hero-copy p{font-size:.9rem;color:var(--muted)}
.text-link{display:inline-flex;justify-content:space-between;gap:2rem;font-size:.85rem;font-weight:bold;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.6rem}
.hero-copy .text-link{margin-top:2rem}
.hero-project>img{height:clamp(340px,49vw,730px);object-fit:cover;object-position:center 65%}
.hero-project figcaption{display:flex;justify-content:space-between;gap:1rem;padding-block:1.15rem;font-size:.7rem;color:var(--muted);border-bottom:1px solid var(--line)}
.intro{display:grid;grid-template-columns:1fr 3fr;column-gap:4rem;padding-block:7rem 4rem}
.intro .eyebrow{padding-top:.65rem}
.intro h2{font-size:clamp(2.4rem,4.2vw,4.5rem);line-height:1.08}
.intro>p:last-child{grid-column:2;max-width:36rem;margin-top:1.6rem;color:var(--muted);font-size:.95rem}
.project-pair{display:grid;grid-template-columns:1.22fr .78fr;gap:13%;align-items:start}
.project .image-wrap{overflow:hidden;background:#ded9cf}
.project img{width:100%;height:100%;object-fit:cover}
.project-tall .image-wrap{aspect-ratio:3/4}
.project-offset{margin-top:9rem}
.project-offset .image-wrap{aspect-ratio:3/5}
.project figcaption{padding-top:1rem}
.material{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.project h3{font-size:1.1rem;letter-spacing:-.025em;font-weight:normal;margin-top:.5rem;line-height:1.35}
.project-wide{width:83%;margin-block:5rem;margin-left:auto}
.project-wide .image-wrap{aspect-ratio:16/10}
.second-pair{grid-template-columns:.76fr 1.24fr;align-items:center;gap:15%}
.project-small .image-wrap{aspect-ratio:1}
.project-large .image-wrap{aspect-ratio:3/4;max-height:760px}
.services{padding-block:8rem}
.section-head{display:grid;grid-template-columns:1fr 3fr;gap:4rem;margin-bottom:4rem}
.section-head h2{font-size:clamp(2.4rem,4.2vw,4.5rem);line-height:1.08}
.section-head .eyebrow{padding-top:.6rem}
.service-row{display:grid;grid-template-columns:.5fr 1.7fr 1.3fr;gap:3rem;border-top:1px solid var(--line);padding-block:2.5rem}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-number{font-size:.75rem;color:var(--bronze);padding-top:.45rem}
.service-row h3{font-size:clamp(1.6rem,2.7vw,2.6rem);line-height:1.12;letter-spacing:-.04em}
.service-row p{font-size:.9rem;color:var(--muted);max-width:29rem}
.service-row .text-link{margin-top:1.5rem}
.industrial{background:var(--dark);color:var(--paper);padding-block:6rem 7rem}
.industrial .eyebrow,.industrial .material{color:#c7ab8f}
.industrial-heading{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem}
.industrial-heading h2{font-size:clamp(3rem,4.8vw,5rem);line-height:1}
.industrial-heading p:last-child{font-size:.9rem;max-width:18rem;color:#c6c8c3}
.industrial-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:7%}
.industrial-grid .image-wrap{aspect-ratio:4/3}
.industrial-tall{margin-top:6rem}
.industrial-tall .image-wrap{aspect-ratio:4/5}
.shop{padding-block:8rem;display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:center}
.shop-photo img{aspect-ratio:4/3;object-fit:cover}
.shop-photo figcaption{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:1rem}
.shop-copy h2{font-size:clamp(2.3rem,3.4vw,3.6rem);line-height:1.08;margin-top:1.5rem}
.shop-copy p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-top:1.5rem}
.shop-copy .text-link{margin-top:1.8rem}
.contact{border-top:1px solid var(--line);padding-block:5rem;background:#e7e3da}
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:end}
.contact h2{font-size:clamp(3.2rem,5.3vw,5.8rem);line-height:1.02;margin-block:1.5rem}
.contact-grid>div>p:last-of-type{max-width:29rem;font-size:.95rem;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:4rem;background:var(--ink);color:var(--paper);font-size:.85rem;padding:1.2rem 1.4rem;text-decoration:none;margin-top:2rem}
.button:hover{background:var(--bronze)}
address{font-style:normal;display:grid;gap:1rem;padding-bottom:.2rem;align-items:start;justify-items:start;font-size:.9rem}
address .phone{font-size:clamp(1.35rem,2.2vw,2.2rem);letter-spacing:-.04em;text-decoration:none}
address>p{margin-block:1rem;color:var(--muted)}
.site-footer{display:flex;justify-content:space-between;gap:2rem;padding-block:2rem 5rem;font-size:.7rem;color:var(--muted)}
.preview-note{position:fixed;z-index:10;bottom:1rem;left:1rem;display:flex;align-items:center;gap:1rem;padding:.6rem .65rem .6rem 1rem;border:1px solid #aaa398;background:var(--paper);box-shadow:0 4px 18px #24242112;font-size:.65rem;color:var(--muted)}
.preview-note>span{font-weight:bold;color:var(--ink)}
.preview-note button{border:0;background:transparent;color:var(--ink);width:44px;height:44px;font-size:1.15rem;cursor:pointer}
.preview-note[hidden]{display:none}
@media(max-width:950px){.site-header nav{gap:1.2rem}.hero{grid-template-columns:1fr;padding-block:3.5rem 3rem;gap:2rem}.hero h1{font-size:clamp(3.2rem,8.8vw,6rem)}.hero-copy{max-width:36rem;display:flex;align-items:end;gap:3rem}.hero-copy p{flex:1}.hero-copy .text-link{flex:none;margin:0}.intro,.section-head{grid-template-columns:1fr 3fr;gap:2rem}.service-row{grid-template-columns:.3fr 1.5fr 1.4fr;gap:1.7rem}.industrial-heading{grid-template-columns:1fr 2fr}.industrial-heading p:last-child{grid-column:2}.shop{gap:7%}.shop-copy h2{font-size:2.4rem}}
@media(max-width:650px){.container{width:calc(100% - 2.5rem)}.site-header{padding:1rem 1.25rem;gap:1rem;flex-wrap:wrap}.brand{width:122px}.contact-link{font-size:.72rem;gap:1rem}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:.72rem;gap:1rem;border-top:1px solid var(--line);padding-top:.2rem}.hero{padding-block:2.5rem;gap:1.5rem}.eyebrow{font-size:.6rem;letter-spacing:.1em}.hero h1{font-size:clamp(2.75rem,9.5vw,4rem);margin-top:1.1rem}.hero-copy{display:block}.hero-copy p{font-size:.9rem}.hero-copy .text-link{margin-top:1.25rem}.hero-project>img{height:auto;aspect-ratio:4/3;object-position:center}.hero-project figcaption{font-size:.6rem;gap:1.5rem}.hero-project figcaption span:last-child{display:none}.intro{display:block;padding-block:3.5rem 2rem}.intro h2{font-size:2.3rem;margin-top:1rem}.intro>p:last-child{font-size:.9rem;margin-top:1.2rem}.project-pair,.second-pair{grid-template-columns:1fr;gap:2.5rem}.project-offset{margin-top:0;width:78%;margin-left:auto}.project-offset .image-wrap{aspect-ratio:3/4}.project-wide{width:100%;margin-block:2.5rem}.project-wide .image-wrap{aspect-ratio:4/3}.project-small{width:82%}.project-large{width:100%}.project h3{font-size:1rem}.services{padding-block:4rem}.section-head{display:block;margin-bottom:2rem}.section-head h2{font-size:2.3rem;margin-top:1rem}.service-row{grid-template-columns:2rem 1fr;gap:1rem;padding-block:1.8rem}.service-row>div{grid-column:2}.service-row h3{font-size:1.75rem}.service-row p{font-size:.9rem}.service-row .text-link{margin-top:1rem}.industrial{padding-block:3.5rem}.industrial-heading{display:block;margin-bottom:2rem}.industrial-heading h2{font-size:3rem;margin-block:1rem}.industrial-heading p:last-child{max-width:100%}.industrial-grid{grid-template-columns:1fr;gap:2.5rem}.industrial-tall{margin-top:0;width:80%;margin-left:auto}.shop{display:block;padding-block:4rem}.shop-copy{margin-top:2rem}.shop-copy h2{font-size:2.3rem;margin-top:1rem}.contact{padding-block:3.5rem}.contact-grid{display:block}.contact h2{font-size:3.2rem}.contact address{margin-top:3rem}.site-footer{flex-wrap:wrap;gap:1rem;padding-block:1.5rem 6rem}.site-footer p:last-child{width:100%}.preview-note{bottom:.6rem;left:.6rem;right:.6rem;justify-content:space-between;gap:.6rem;padding-left:.75rem;font-size:.65rem}.preview-note button{flex:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
