@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#f4f3ef;--ink:#111;--muted:#666;--line:#d9d7d1;--dark:#111;--light:#fff;--accent:#d9b43b;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}p{max-width:720px}.site-header{position:sticky;top:0;z-index:20;background:rgba(244,243,239,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);min-height:94px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between}.brand{font-size:1rem;font-weight:900;letter-spacing:-.04em}.brand span{font-weight:500}.nav{display:flex;align-items:center;gap:1.4rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nav a{padding:.4rem 0}.nav a.active{border-bottom:2px solid var(--ink)}.nav-cta{background:var(--ink);color:var(--light);padding:.75rem 1rem!important;border:0!important}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem}.hero{min-height:82vh;display:flex;align-items:end;padding:8vw 6vw;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18)),url('assets/hero.jpg') center/cover no-repeat;background-color:#252525;color:white}.hero-content{max-width:900px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#777}.hero .eyebrow,.page-hero .eyebrow,.dark .eyebrow,.final-cta .eyebrow{color:#aaa}.hero h1,.page-hero h1{font-size:clamp(3rem,8vw,7.8rem);line-height:.9;letter-spacing:-.07em;margin:.5rem 0 1.5rem;font-weight:900}.hero h1 em{font-style:normal;font-weight:400}.hero-copy{font-size:1.2rem;max-width:680px;color:#ddd}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-block;background:var(--accent);color:#111;padding:1rem 1.25rem;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);cursor:pointer}.button-outline{background:transparent;color:inherit;border-color:currentColor}.section{max-width:var(--max);margin:auto;padding:8rem 5vw}.section-heading{max-width:800px;margin-bottom:3.5rem}.section-heading h2,.split-section h2,.location-band h2,.final-cta h2,.legal-page h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.98;letter-spacing:-.055em;margin:.5rem 0 1.2rem}.centered{text-align:center;margin-left:auto;margin-right:auto}.centered p{margin-left:auto;margin-right:auto}.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--bg);padding:2.5rem;min-height:300px;display:flex;flex-direction:column;transition:transform .2s,background .2s}.card:hover{transform:translateY(-4px);background:#fff}.card span{font-size:.75rem;color:#888;font-weight:800}.card h3{font-size:1.45rem;letter-spacing:-.04em;margin-top:auto;margin-bottom:.7rem}.card p{color:var(--muted);font-size:.95rem}.card b{font-size:.78rem;margin-top:1rem}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:7rem max(5vw,calc((100% - 1240px)/2));background:#fff}.split-section.dark{background:var(--dark);color:white}.split-section p{color:#aaa}.check-list{list-style:none;padding:0;margin:2rem 0}.check-list li{padding:.8rem 0;border-bottom:1px solid rgba(128,128,128,.25)}.check-list li:before{content:'— ';color:var(--accent)}.project-grid,.gallery-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 5vw}.project-placeholder{min-height:360px;background:#d8d6d0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777;text-align:center}.project-placeholder span{font-size:.7rem;letter-spacing:.15em}.project-placeholder strong{font-size:1.5rem;margin-top:.5rem}.center{text-align:center;margin-top:2rem}.text-link{font-weight:900;font-size:.8rem;letter-spacing:.08em}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.steps>div{border-top:2px solid var(--ink);padding-top:1.3rem}.steps strong{font-size:.8rem}.steps h3{font-size:1.2rem}.steps p{color:var(--muted);font-size:.9rem}.location-band{text-align:center;padding:7rem 5vw;background:#deddd7}.location-band p{margin-left:auto;margin-right:auto}.location-band h2{max-width:1000px;margin-left:auto;margin-right:auto}.location-band .button{margin-top:1.5rem}.final-cta{background:var(--dark);color:#fff;text-align:center;padding:8rem 5vw}.final-cta h2{max-width:900px;margin-left:auto;margin-right:auto}.final-cta p{margin-left:auto;margin-right:auto;color:#aaa}.final-cta .actions{justify-content:center}.page-hero{background:#151515;color:#fff;padding:10rem 6vw 7rem}.page-hero>p{max-width:750px;color:#aaa}.page-hero h1{max-width:1100px}.feature-image{min-height:520px;background:#d8d6d0;display:flex;align-items:center;justify-content:center;color:#777;font-size:.75rem;letter-spacing:.15em}.narrow{max-width:900px}.narrow h2{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.filter{border:1px solid var(--ink);background:transparent;padding:.7rem 1rem;font-size:.75rem;font-weight:800;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff}.gallery-grid{padding:0;grid-template-columns:repeat(2,1fr)}.gallery-item h3{margin:.9rem 0 .2rem}.gallery-item p{margin-top:0;color:var(--muted);font-size:.9rem}.quote-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:5rem}.quote-layout form{display:grid;gap:1.2rem}.quote-layout label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.quote-layout input,.quote-layout select,.quote-layout textarea{display:block;width:100%;margin-top:.4rem;border:1px solid #bbb;background:#fff;padding:1rem;font:inherit}.quote-layout textarea{resize:vertical}.form-note{font-size:.85rem;color:#777}.form-message{font-size:.9rem}.quote-side{background:#151515;color:#fff;padding:3rem;align-self:start}.quote-side p{color:#aaa}.quote-side .button-outline{color:#fff}.contact-number{margin-top:3rem}.footer{background:#fff;color:#111;padding:5rem 5vw 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;position:relative}.footer p,.footer a{color:#555;font-size:.85rem}.footer h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.footer>div>a{display:block;margin:.45rem 0}.footer .brand{color:#fff}.footer-bottom{grid-column:1/-1;border-top:1px solid #d9d7d1;padding-top:1.5rem;margin-top:2rem}.legal-page{min-height:70vh}
.hero-content{position:relative;z-index:1}.hero-lockup{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:4rem;max-width:1180px;width:100%}.hero-logo-panel{width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 50px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.22);overflow:hidden}.hero-logo-panel img{display:block;width:auto;max-width:205px;max-height:205px;height:auto;object-fit:contain}.footer .logo-footer{background:#fff;padding:.35rem}.footer-bottom a{color:#111}.footer h4{color:#111}.footer{border-top:1px solid #e5e3dd}.footer-bottom{color:#666}
@media(max-width:900px){.site-header{min-height:82px}.logo{height:68px}.logo-footer{height:82px}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);padding:1rem 5vw;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.cards.four,.cards.three,.steps{grid-template-columns:repeat(2,1fr)}.split-section,.quote-layout{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr 1fr}.footer-bottom{grid-column:1/-1}}
@media(max-width:900px){}
@media(max-width:600px){.hero{min-height:78vh;padding:7rem 6vw 5rem}.hero h1,.page-hero h1{font-size:clamp(3rem,15vw,5rem)}.page-hero{padding:7rem 6vw 5rem}.section{padding:5rem 6vw}.cards.four,.cards.three,.steps,.project-grid,.gallery-grid{grid-template-columns:1fr}.card{min-height:250px;padding:2rem}.feature-image{min-height:320px}.split-section{padding:5rem 6vw}.footer{grid-template-columns:1fr;padding:4rem 6vw 2rem}.footer-bottom{grid-column:auto}.actions .button{width:100%;text-align:center}.quote-side{padding:2rem}}

.logo{height:78px;width:auto;display:block}.hero.hero-image{background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22)),url('assets/ikea-after.webp')}.image-frame{overflow:hidden;background:#ddd}.image-frame img{display:block;width:100%;height:100%;object-fit:cover}.image-frame.tall{min-height:520px}.image-frame.landscape{min-height:420px}.project-card{background:#fff;border:1px solid var(--line);overflow:hidden}.project-card .pair{display:grid;grid-template-columns:1fr 1fr}.project-card .pair img{width:100%;height:260px;object-fit:cover;display:block}.project-card .pair>div{position:relative}.project-card .tag{position:absolute;left:.8rem;top:.8rem;background:#111;color:#fff;padding:.35rem .5rem;font-size:.62rem;font-weight:800;letter-spacing:.1em}.project-card .project-copy{padding:1.4rem}.project-card h3{margin:.1rem 0 .4rem;font-size:1.2rem}.project-card p{margin:0;color:var(--muted);font-size:.9rem}.project-grid.projects{grid-template-columns:repeat(2,1fr)}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.service-feature img{width:100%;height:520px;object-fit:cover}.logo-footer{height:92px;width:auto}.subtle{color:var(--muted)}.service-badge{display:inline-block;padding:.45rem .65rem;background:#111;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.quote-layout .button{margin-top:.5rem}
.hero-content{position:relative;z-index:1}.hero-lockup{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:4rem;max-width:1180px;width:100%}.hero-logo-panel{width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 50px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.22);overflow:hidden}.hero-logo-panel img{display:block;width:auto;max-width:205px;max-height:205px;height:auto;object-fit:contain}.footer .logo-footer{background:#fff;padding:.35rem}.footer-bottom a{color:#111}.footer h4{color:#111}.footer{border-top:1px solid #e5e3dd}.footer-bottom{color:#666}
@media(max-width:900px){.project-grid.projects{grid-template-columns:1fr}.service-feature{grid-template-columns:1fr}.service-feature img{height:380px}}

/* Brand subheader: exact artwork from the supplied logo, separated from the VW mark. */
.brand-subheader{background:#fff;color:#111;border-bottom:1px solid #e5e3dd}
.brand-subheader-inner{max-width:1400px;margin:0 auto;padding:1rem 5vw;min-height:200px;display:flex;align-items:center;justify-content:space-between;gap:3rem}
.brand-text{display:block;width:360px;height:auto;object-fit:contain}
.vw-mark{width:222px;height:184px;object-fit:contain;display:block}
/* The hero is intentionally logo-free. */
.hero-lockup{display:block;max-width:1180px;width:100%}
.hero-content{max-width:900px}
.hero-logo-panel{display:none}
@media(max-width:900px){
  .brand-subheader-inner{min-height:170px;padding:1rem 5vw;gap:1.5rem}
  .brand-text{width:290px}
  .vw-mark{width:170px;height:140px}
}
@media(max-width:600px){
  .brand-subheader-inner{min-height:145px;padding:.8rem 6vw;gap:1rem}
  .brand-text{width:205px}
  .vw-mark{width:130px;height:108px}
}

@media(min-width:901px){.site-header{justify-content:center}.nav{margin:0 auto}}
@media(max-width:900px){.site-header{justify-content:flex-end}.menu-toggle{margin-left:auto}}

.social-links a{display:block;margin:.45rem 0}.social-links a:hover{text-decoration:underline}
