:root{--black:#060606;--header:#000;--ink:#23232c;--muted:#7c7c80;--band:#a3abb0;--line:#e5e5e5;--paper:#fff;--accent:#ff3600;--gold:#ffab00;--font:Roboto, "Helvetica Neue", Arial, sans-serif;--wrap:min(1140px, calc(100% - 2.5rem))}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-height:100dvh;font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--font);letter-spacing:.02em;color:var(--ink);margin:0 0 .6em;font-weight:400;line-height:1.2}p{margin:0 0 1em}.wrap{width:var(--wrap);margin-inline:auto}.skip{background:var(--black);color:#fff;z-index:40;padding:.4rem .7rem;position:absolute;top:-3rem;left:.75rem}.skip:focus{top:.75rem}.topbar{background:var(--header);color:#fff;font-size:13px}.topbar .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:42px;display:flex}.topbar a,.topbar span{color:#fff;align-items:center;gap:.35rem;display:inline-flex}.topbar svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:13px;height:13px}.topbar-l,.topbar-r{flex-wrap:wrap;align-items:center;gap:.2rem 1.1rem;display:flex}.site-header{background:var(--header);color:#fff;z-index:20;position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.brand{color:#fff;letter-spacing:.28em;text-transform:uppercase;font-size:1.05rem;font-weight:500}.brand:hover{color:#fff}.header-contact{color:#fff;align-items:center;gap:.7rem;font-size:.92rem;display:inline-flex}.header-contact:hover{color:#fff}.mail-orb{border:1px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;transition:background .3s;display:grid}.header-contact:hover .mail-orb{background:#fff}.header-contact:hover .mail-orb svg{stroke:#000}.mail-orb svg{stroke:#fff;fill:none;stroke-width:1.6px;width:18px;height:18px}.menu-btn{color:#fff;font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #fff;min-height:40px;padding:0 .75rem;font-size:.8rem;display:none}.drawer{display:none}.hero-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:3rem;padding:4.5rem 0 2.4rem;display:grid}.hero-copy h1{letter-spacing:.04em;text-transform:uppercase;color:#111;margin:0;font-size:clamp(2.6rem,5.4vw,4.35rem);font-weight:300;line-height:.95}.hero-copy h1 span{display:block}.hero-copy .intro{color:var(--muted);max-width:42ch;padding-top:.4rem;font-size:.95rem;line-height:1.75}.hero-photo{width:100%}.hero-photo img{width:100%;height:auto}.section{padding:4.2rem 0}.section-band{background:var(--band);color:#fff;text-align:center;padding:4.2rem 1rem}.section-band h2{color:#fff;letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:400}.about h2{letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.4rem;font-size:1.35rem;font-weight:400}.about .lead{margin-bottom:1.1rem;font-size:.98rem}.about .body{color:var(--muted);max-width:88ch}.quote{letter-spacing:.18em;text-transform:uppercase;margin:2.2rem 0 0;font-size:1.05rem;font-weight:400}.quote:before{content:"[";color:var(--gold);margin-right:.35rem}.quote:after{content:"]";color:var(--gold);margin-left:.35rem}.owners{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin:.35rem 0 0 1.1rem;font-size:.72rem}.expertise .kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.78rem}.expertise h2{text-transform:uppercase;letter-spacing:.04em;max-width:22ch;font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:500}.expertise p{color:var(--muted)}.services{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;display:grid}.services h3{font-size:1.05rem;font-weight:500}.services p{color:var(--muted);margin:0;font-size:.92rem}.works{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.4rem;display:grid}.work{min-width:0}.work .kind{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem;font-size:.72rem}.work img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:opacity .5s ease-out}.work:hover img{opacity:.9}.work figcaption,.work span{margin-top:.55rem;font-size:.92rem;display:block}.cta{background:var(--black);color:#fff;padding:4rem 0}.cta .box{justify-content:space-between;align-items:center;gap:2rem;display:flex}.cta h2{color:#fff;max-width:22ch;margin:0 0 .6rem;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:400}.cta p{color:#b5b5b5;max-width:46ch;margin:0}.btn{color:#fff;font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #fff;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.4rem;font-size:.78rem;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.btn:hover{color:var(--black);background:#fff}.btn-fill{background:var(--black);border-color:var(--black);color:#fff}.btn-fill:hover{background:var(--accent);border-color:var(--accent);color:#fff}.site-footer{background:var(--black);color:#9a9a9a;font-size:12px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;display:flex}.site-footer a{color:#cfcfcf;margin-left:1rem}.site-footer a:hover{color:#fff}.foot-nav{color:#888;background:#111;padding:.55rem 0;font-size:12px}.foot-nav .wrap{flex-wrap:wrap;gap:.4rem 1.1rem;display:flex}.foot-nav a{color:#bbb}.page{padding:3.2rem 0 4.5rem}.page h1{margin-bottom:.4rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400}.lede{color:var(--muted);margin-bottom:1.6rem}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem 1.1rem;display:grid}.gallery h2{color:var(--accent);margin:0 0 .5rem;font-size:.95rem;font-weight:500}.gallery img{aspect-ratio:4/3;object-fit:cover;background:#f3f3f3;width:100%;transition:opacity .5s ease-out}.gallery article:hover img{opacity:.9}.craft-list{gap:1.4rem;display:grid}.craft{border-bottom:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);align-items:center;gap:1.2rem;padding-bottom:1.2rem;display:grid}.craft img{object-fit:cover;background:#f3f3f3;width:160px;height:120px;transition:opacity .5s ease-out}.craft:hover img{opacity:.9}.craft h2{margin:0;font-size:1.15rem}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;display:grid}.contact-grid h1{letter-spacing:.04em;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);font-weight:300}.contact-grid .rule{background:var(--accent);width:110px;height:2px;margin:.4rem 0 1.2rem}.meta h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .2rem;font-size:.78rem}.meta p{margin:0}form{gap:.85rem;max-width:28rem;display:grid}label{letter-spacing:.04em;gap:.25rem;font-size:.82rem;display:grid}input,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #d5d5d5;padding:.7rem .8rem}textarea{resize:vertical;min-height:7rem}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.legal{max-width:68ch}.legal h2{margin-top:1.6em;font-size:1.15rem}ol.points{padding-left:1.2rem}ol.points li{margin:0 0 .9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=900px){.hero-copy,.services,.works,.gallery,.contact-grid,.cta .box,.craft{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{display:none}.menu-btn{align-items:center;display:inline-flex}.header-contact{display:none}.drawer.is-open{background:var(--header);color:#fff;flex-direction:column;gap:.7rem;padding:.4rem 1.25rem 1.2rem;display:flex}.drawer a{color:#fff;align-items:center;min-height:40px;display:flex}}@media (width<=560px){.gallery{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){html.js [data-reveal]{opacity:0;transform:translateY(10px)}html.js [data-reveal].is-in{animation:.55s cubic-bezier(.22,.52,.25,.93) both mc-in;animation-delay:var(--d,0s)}}@keyframes mc-in{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js [data-reveal]{opacity:1;transform:none}}
