:root{--ink:#17201e;--cream:#f1eee5;--paper:#faf9f5;--rust:#c95632;--moss:#5f7356;--line:rgba(23,32,30,.16);--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:5}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,5vw,5rem);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.1rem;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:var(--cream);font:1.25rem Georgia,serif}.nav{display:flex;align-items:center;gap:2rem;font-size:.84rem;font-weight:700}.nav a:not(.nav-contact){opacity:.75}.nav-contact{background:var(--ink);color:#fff;padding:.65rem 1rem}.menu-toggle{display:none;background:none;border:0;font:700 .8rem var(--sans)}.hero{min-height:670px;padding:clamp(2.5rem,7vw,7rem) clamp(1.2rem,5vw,5rem) 2rem;position:relative;overflow:hidden;background:var(--cream);display:grid;grid-template-columns:1.2fr .8fr;align-items:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 74%);opacity:.55}.hero-copy{position:relative;z-index:1;max-width:780px}.eyebrow{font:500 .67rem var(--mono);letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:.55rem;margin:0 0 1.3rem}.eyebrow span{width:24px;height:1px;background:currentColor}.eyebrow.dark{color:var(--rust)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.8rem,8.2vw,8rem);max-width:820px;line-height:.9;letter-spacing:-.085em;margin-bottom:1.8rem;font-weight:800}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.1em}.hero-text{max-width:590px;font-size:clamp(1rem,1.4vw,1.18rem);color:#48504d}.hero-actions{display:flex;gap:.8rem;margin-top:2.2rem}.button{font-size:.86rem;font-weight:800;padding:1rem 1.1rem;display:inline-flex;gap:1.5rem;align-items:center}.button-primary{background:var(--rust);color:#fff}.button-quiet{border:1px solid var(--line)}.hero-art{height:420px;margin:0;position:relative;overflow:hidden;border:1px solid rgba(23,32,30,.15);background:#d4dfd3}.hero-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(1.06)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,27,24,.52))}.hero-art figcaption{position:absolute;z-index:1;left:1.1rem;bottom:1rem;color:#fff;font:500 .65rem/1.4 var(--mono);letter-spacing:.12em}.hero-bottom{position:absolute;bottom:1.5rem;left:clamp(1.2rem,5vw,5rem);font:500 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;gap:.7rem}.section{padding:clamp(4rem,9vw,8rem) clamp(1.2rem,5vw,5rem)}.section-intro{max-width:720px}.section-intro h2,.about h2,.work h2,.contact h2{font-size:clamp(2.4rem,5vw,5rem);line-height:.98;letter-spacing:-.07em;margin-bottom:1.4rem}.section-intro>p:last-child,.work-heading>p:last-child{max-width:560px;color:#55605a}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:280px;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2f2ec;display:flex;flex-direction:column}.service-card.rust{background:var(--rust);color:#fff}.service-card.moss{background:var(--moss);color:#fff}.number{font:500 .65rem var(--mono);opacity:.68}.service-icon{font-size:2.3rem;margin:auto 0 1rem}.service-card h3{font-size:1.1rem;letter-spacing:-.04em;margin-bottom:.5rem}.service-card p{font-size:.86rem;line-height:1.45;margin-bottom:0;opacity:.78}.about{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.about-visual{height:410px;background:#c85c3a;position:relative;overflow:hidden}.workshop-window{position:absolute;inset:0 17%;background:#1c2927;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14% 10%;border-left:14px solid #dd7350;border-right:14px solid #dd7350}.workshop-window i{background:#a4c0b6}.about-stamp{position:absolute;right:8%;bottom:7%;width:80px;height:80px;border-radius:50%;background:var(--cream);color:var(--ink);display:grid;place-content:center;text-align:center;line-height:.8;font:2rem Georgia,serif}.about-copy .eyebrow{color:#c8d2ca}.about-copy>p:not(.eyebrow){color:#ccd4ce;max-width:520px}.about-copy .small{font-size:.86rem;color:#9fac9f}.text-link{font-size:.88rem;font-weight:800;border-bottom:1px solid #9fac9f;padding-bottom:.3rem;display:inline-flex;gap:3rem;margin-top:1rem}.work{background:#e8e4d9}.work-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end}.work-heading .eyebrow,.work-heading h2{grid-column:1}.work-heading>p:last-child{grid-column:2;grid-row:1 / span 2;margin-bottom:0}.gallery{margin-top:3.5rem;display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:1rem}.gallery-item{height:330px;margin:0;position:relative;overflow:hidden;background:#6d7f65}.gallery-item.g-wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--cream);padding:.35rem .5rem;font:500 .63rem var(--mono);letter-spacing:.08em}.gallery-item figcaption span{margin-left:.7rem}.contact{background:var(--rust);padding:clamp(4rem,9vw,8rem) clamp(1.2rem,5vw,5rem);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:end}.contact-copy p{max-width:520px;color:#ffe8d9}.contact-card{background:var(--cream);color:var(--ink);padding:clamp(1.5rem,4vw,3rem)}.phone{font-size:clamp(1.5rem,3vw,2.7rem);line-height:1.05;letter-spacing:-.07em;font-weight:800;display:block;padding-bottom:2rem;border-bottom:1px solid var(--line)}.phone span,.contact-row span{display:block;font:500 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.65rem}.phone b{float:right}.contact-row{margin:1.7rem 0;font-size:.94rem}.contact-row strong{font-weight:600}.map-link{display:inline-flex;gap:2rem;font-size:.82rem;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:.25rem}footer{padding:2rem clamp(1.2rem,5vw,5rem);display:flex;justify-content:space-between;align-items:center;gap:1rem;font:500 .67rem var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:#bbc3bd}footer .brand{color:var(--cream);font:800 1.1rem var(--sans);letter-spacing:-.04em;text-transform:none}@media(max-width:780px){.site-header{height:68px}.menu-toggle{display:flex;align-items:center;gap:.45rem}.menu-toggle span,.menu-toggle:after{content:"";display:block;width:15px;height:1px;background:var(--ink);box-shadow:0 5px 0 var(--ink)}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:1.3rem;gap:1rem;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{display:block;min-height:auto;padding-bottom:5rem}.hero-art{height:270px;margin-top:3rem}.hero-bottom{bottom:1.2rem;font-size:.55rem}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:235px}.about,.contact{grid-template-columns:1fr}.about-visual{height:280px}.work-heading{display:block}.work-heading>p:last-child{margin-top:1rem}.gallery{grid-template-columns:1fr;gap:.7rem}.gallery-item,.gallery-item.g-wide{height:230px;grid-column:auto}.contact{align-items:stretch}footer{display:grid;grid-template-columns:1fr 1fr}footer .brand{grid-column:1/-1}}@media(max-width:430px){h1{font-size:3.65rem}.hero-actions{flex-direction:column;align-items:flex-start}.button{width:max-content}.service-grid{grid-template-columns:1fr}.site-header{padding-inline:1rem}.section,.contact,.hero{padding-inline:1rem}}
