:root{--ink:#111214;--paper:#f6f3ee;--white:#fff;--red:#d9232e;--red-dark:#a9141d;--steel:#686b70;--line:#d8d3ca;--shadow:0 20px 55px rgba(17,18,20,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}img{display:block;width:100%;object-fit:cover}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:var(--ink);color:#fff;font-size:.82rem;letter-spacing:.04em}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{text-decoration:none}.site-header{position:sticky;top:0;z-index:20;background:rgba(246,243,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.03em;font-size:1.25rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--red);color:#fff;font-size:.9rem;letter-spacing:.03em;clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{text-decoration:none;font-weight:750;font-size:.92rem}.nav-links a:hover{color:var(--red)}.nav-links .nav-cta{background:var(--red);color:#fff;padding:12px 18px}.menu-button{display:none;border:0;background:none;font-size:1.7rem}.hero{min-height:680px;display:grid;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(15,16,18,.94) 0%,rgba(15,16,18,.76) 52%,rgba(15,16,18,.18) 100%),linear-gradient(135deg,#35383e,#111214);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-10%;top:-20%;width:52%;height:140%;background:repeating-linear-gradient(115deg,transparent 0 28px,rgba(217,35,46,.14) 28px 52px);transform:skewX(-8deg)}.hero .wrap{position:relative;z-index:1;padding:96px 0 84px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:36px;height:3px;background:currentColor}.hero h1,.page-hero h1{max-width:880px;margin:18px 0 20px;font-size:clamp(3.1rem,7vw,6.6rem);line-height:.93;letter-spacing:-.065em;text-transform:uppercase}.hero h1 span,.page-hero h1 span{color:var(--red)}.hero p{max-width:650px;font-size:1.2rem;color:#e4e4e4}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;background:var(--red);color:#fff;text-decoration:none;font-weight:900;border:2px solid var(--red);letter-spacing:.02em}.button:hover{background:var(--red-dark);border-color:var(--red-dark)}.button.ghost{background:transparent;border-color:#fff}.button.ghost:hover{background:#fff;color:var(--ink)}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{padding:24px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-item strong{display:block;font-size:1.08rem}.trust-item span{color:var(--steel);font-size:.9rem}.section{padding:96px 0}.section.dark{background:var(--ink);color:#fff}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.section h2{margin:10px 0 0;font-size:clamp(2.35rem,5vw,4.5rem);line-height:1;letter-spacing:-.055em;text-transform:uppercase}.section-head p{color:var(--steel);font-size:1.05rem}.dark .section-head p{color:#bfc0c3}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.service-card{grid-column:span 4;min-height:360px;background:#fff;padding:32px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;border-top:5px solid transparent;box-shadow:0 1px 0 rgba(0,0,0,.08)}.service-card:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:var(--shadow)}.service-card.featured{grid-column:span 8;background:var(--red);color:#fff}.service-no{font-size:.8rem;font-weight:900;letter-spacing:.14em}.service-card h3{font-size:2rem;line-height:1.02;letter-spacing:-.04em;margin:0 0 12px;text-transform:uppercase}.service-card p{margin:0;color:var(--steel)}.service-card.featured p{color:#fff}.arrow{font-size:1.6rem}.project-band{display:grid;grid-template-columns:1.08fr .92fr;background:#27292d;color:#fff}.project-copy{padding:70px}.project-copy p{color:#c9c9ca}.project-image{min-height:520px;background:linear-gradient(145deg,#555b62,#161719);background-size:cover;background-position:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #444}.step{padding:30px 24px;border-right:1px solid #444}.step:last-child{border:0}.step b{color:var(--red);font-size:.78rem;letter-spacing:.12em}.step h3{margin:14px 0 8px;font-size:1.1rem;text-transform:uppercase}.step p{margin:0;color:#bdbec1;font-size:.92rem}.cta-band{background:var(--red);color:#fff;padding:72px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:0}.cta-band .button{background:var(--ink);border-color:var(--ink);white-space:nowrap}.site-footer{background:#0c0d0e;color:#fff;padding:54px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.site-footer h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:#aaa}.site-footer a{display:block;text-decoration:none;margin:8px 0}.legal{border-top:1px solid #2c2d30;margin-top:40px;padding-top:22px;color:#8e9094;font-size:.82rem}.page-hero{background:var(--ink);color:#fff;padding:100px 0 70px}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.page-intro{max-width:760px;font-size:1.18rem;color:#c8c9cb}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px}.content-grid h2{font-size:2.6rem}.checklist{list-style:none;padding:0}.checklist li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:750}.checklist li:before{content:"✓";color:var(--red);font-weight:900;margin-right:12px}.side-card{background:#fff;padding:34px;box-shadow:var(--shadow);align-self:start;border-top:6px solid var(--red)}.side-card h3{font-size:1.6rem;margin-top:0}.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo{min-height:330px;background:#2a2d30 center/cover no-repeat}.contact-list{display:grid;gap:14px;margin:26px 0}.contact-list a{text-decoration:none;font-weight:900;font-size:1.15rem}
@media(max-width:860px){.wrap{width:min(100% - 28px,1180px)}.topbar .wrap{justify-content:center}.topbar span:last-child{display:none}.menu-button{display:block}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:22px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero{min-height:630px}.hero .wrap{padding:76px 0 66px}.trust-grid,.section-head,.content-grid,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.section{padding:72px 0}.service-card,.service-card.featured{grid-column:span 12;min-height:280px}.project-band{grid-template-columns:1fr}.project-copy{padding:48px 26px}.project-image{min-height:360px}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid #444}.cta-band .wrap{align-items:flex-start;flex-direction:column}.photo-row{grid-template-columns:1fr}.photo{min-height:280px}}
@media(max-width:520px){.hero h1{font-size:3rem}.topbar{font-size:.72rem}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid #444!important}.actions .button{width:100%}.brand{font-size:1.05rem}}
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.city{text-decoration:none;background:#fff;border-left:4px solid var(--red);padding:18px 20px;font-weight:850;box-shadow:0 1px 0 rgba(0,0,0,.08)}.service-area-copy{max-width:820px}.location-services{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}.location-service{background:#fff;padding:28px;border-top:4px solid var(--red)}.location-service h3{margin:0 0 8px;text-transform:uppercase}@media(max-width:860px){.location-services{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.city-grid{grid-template-columns:1fr}}
.nav-links a.active{color:var(--red)}.work-preview{background:#ece8e1}.home-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.home-gallery a{position:relative;overflow:hidden;min-height:380px;background:#222;text-decoration:none}.home-gallery img{height:100%;position:absolute;inset:0;transition:transform .35s ease}.home-gallery a:hover img{transform:scale(1.035)}.home-gallery span{position:absolute;left:20px;bottom:20px;background:var(--red);color:#fff;padding:10px 14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.projects-hero{background:linear-gradient(90deg,rgba(17,18,20,.96),rgba(17,18,20,.64)),url('/projects/kitchen-black-stone-island.webp') center/cover}.gallery-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter-button{border:1px solid var(--line);background:#fff;padding:12px 18px;font:inherit;font-weight:850;cursor:pointer}.filter-button:hover,.filter-button.active{background:var(--red);border-color:var(--red);color:#fff}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.gallery-item{margin:0;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}.gallery-item[hidden]{display:none}.gallery-item.wide{grid-column:span 2}.gallery-open{display:block;border:0;padding:0;width:100%;background:#222;cursor:zoom-in;overflow:hidden}.gallery-open img{height:340px;transition:transform .35s ease}.gallery-item.wide .gallery-open img{height:430px}.gallery-open:hover img{transform:scale(1.025)}.gallery-item figcaption{display:flex;flex-direction:column;padding:18px 20px}.gallery-item figcaption b{text-transform:uppercase}.gallery-item figcaption span{color:var(--steel);font-size:.9rem}.lightbox{width:min(1100px,94vw);max-height:92vh;padding:0;border:0;background:#111;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(0,0,0,.86)}.lightbox img{max-height:82vh;object-fit:contain}.lightbox p{margin:0;padding:14px 56px 14px 18px}.lightbox-close{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.75);color:#fff;font-size:2rem;line-height:1;cursor:pointer}@media(max-width:860px){.home-gallery{grid-template-columns:1fr}.home-gallery a{min-height:320px}.project-gallery{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:span 2}.gallery-open img,.gallery-item.wide .gallery-open img{height:320px}}@media(max-width:580px){.project-gallery{grid-template-columns:1fr}.gallery-item.wide{grid-column:span 1}.gallery-open img,.gallery-item.wide .gallery-open img{height:300px}.filter-button{flex:1 1 45%}}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-grid article{background:#fff;padding:28px;border-top:4px solid var(--red)}.story-grid span{color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.story-grid h3{margin:10px 0 8px;text-transform:uppercase}.contact-panel{max-width:780px;background:#fff;padding:36px;border-top:6px solid var(--red);box-shadow:var(--shadow)}.contact-panel h2{font-size:clamp(2rem,4vw,3.5rem)}@media(max-width:860px){.story-grid{grid-template-columns:1fr}}
