@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#332d29;--taupe:#b7a090;--paper:#f8f5ef;--sand:#eee6dc;--dark:#554238;--accent:#96705b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.serif{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(3.2rem,7vw,7.4rem);letter-spacing:-.035em}h2{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.025em}h3{font-size:clamp(1.6rem,2.5vw,2.4rem)}.eyebrow,.small,.nav,.link,.filters{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.eyebrow{color:var(--accent);display:block;margin-bottom:1.4rem}.wrap{width:min(1380px,calc(100% - 8vw));margin:auto}.narrow{max-width:780px}.header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid #d6c9be}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{white-space:nowrap;text-align:center;font:2rem/1 'Libre Caslon Display',Georgia,serif;letter-spacing:.025em}.brand small{display:block;font:600 .63rem/1.8 'DM Sans',sans-serif;letter-spacing:.25em;margin-top:.35rem}.nav{display:flex;gap:1.5rem;align-items:center;letter-spacing:.1em}.nav a{padding:.5rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current]{border-color:var(--accent)}.menu{display:none;border:0;background:transparent;font-size:1.4rem}.hero{min-height:600px;display:grid;grid-template-columns:50% 50%;background:var(--sand)}.hero-copy{padding:clamp(3rem,6vw,7rem) max(4vw,calc((100vw - 1380px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy p{max-width:570px;font-size:1.07rem}.hero-img{height:100%;min-height:600px}.hero-img img{height:100%;object-position:center}.link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:.55rem;margin-top:1.2rem}.link:hover{color:var(--accent)}.section{padding:clamp(5rem,9vw,9rem) 0}.section.tight{padding:5rem 0}.section.sand{background:var(--sand)}.section.dark{background:var(--dark);color:#fffaf5}.intro{text-align:center;max-width:890px;margin:0 auto 4rem}.intro p{max-width:670px;margin:1rem auto 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:#fffdf9}.card img{height:clamp(260px,30vw,430px)}.card-body{padding:2rem}.card-body p{max-width:440px}.card .small{color:var(--accent)}.band{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.band img{height:550px}.band .copy{max-width:600px}.text-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:1.3rem;margin-top:4rem}.step{border-top:1px solid #9f8979;padding-top:1.1rem}.step .number{color:var(--accent);display:block;margin-bottom:1.5rem}.step h3{font-size:1.75rem}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project img{height:360px}.project h3{margin:1.2rem 0 .3rem}.project .small{color:var(--accent);line-height:1.6;letter-spacing:.08em}.project:hover img{opacity:.86}.cta{text-align:center;padding:6rem 2rem}.cta h2{max-width:850px;margin:0 auto 1rem}.button{display:inline-block;background:var(--dark);color:white;padding:1rem 1.6rem;margin-top:1.3rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.dark .button{background:#fff9f2;color:var(--dark)}.button:hover{background:var(--accent);color:white}.footer{background:#e5dbd0;padding:4.5rem 0 2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer .brand{text-align:left}.footer a{display:block;margin:.4rem 0}.footer-bottom{border-top:1px solid #c2b2a3;margin-top:4rem;padding-top:1.5rem;font-size:.78rem}.page-head{padding:6rem 0 4rem;max-width:1050px}.page-head p{max-width:720px;font-size:1.1rem}.filters{display:flex;gap:1rem;margin-bottom:2.5rem}.filters button{border:1px solid #b9a89a;background:transparent;color:var(--ink);padding:.8rem 1.2rem;letter-spacing:.12em;text-transform:uppercase}.filters button.active{background:var(--dark);color:white}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gallery img{height:500px}.gallery img:first-child{grid-column:span 2;height:min(65vw,720px)}.project-title{max-width:950px}.scope{padding-top:1rem;border-top:1px solid #bdab9a}.service-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:2rem;padding:2.7rem 0;border-top:1px solid #c4b5a7}.service-row h3{margin:0}.service-row p{margin:0}.portrait{object-position:center 25%}.brochure{font-size:.85rem}.split-cta{display:flex;gap:1.5rem;flex-wrap:wrap}.muted{color:#6b5f56}@media(max-width:1050px){.header-inner{min-height:84px}.menu{display:block}.nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:1.5rem 6vw;box-shadow:0 10px 20px #332d291c;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.text-columns{grid-template-columns:repeat(2,1fr)}.grid,.projects{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.brand{font-size:1.55rem}.brand small{font-size:.52rem}.hero{grid-template-columns:1fr}.hero-copy{padding:4.5rem 20px}.hero-img{min-height:0;height:430px}.hero-img img{height:100%}.section{padding:4.5rem 0}.grid,.grid.two,.projects,.band,.footer-grid,.text-columns,.service-row{grid-template-columns:1fr}.band img{height:360px}.card img,.project img{height:320px}.service-row{gap:.5rem;padding:2rem 0}.page-head{padding:4.5rem 0 2rem}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{grid-column:auto;height:350px}.footer-grid{gap:2rem}}
/* Keep original project photographs intact in their galleries. */
.gallery{align-items:start}.gallery img,.gallery img:first-child{height:auto;max-height:none;object-fit:contain;background:var(--sand)}
.project img,.card img{object-position:center}.hero-img img{object-position:center}
@media(max-width:700px){.gallery img,.gallery img:first-child{height:auto}}
.about-hero{align-items:stretch}.about-hero .hero-copy{padding-top:4rem;padding-bottom:4rem;justify-content:flex-start}.about-hero h1{font-size:clamp(3.4rem,5.4vw,6rem);margin-bottom:1rem}.about-hero .hero-copy>p{margin-bottom:2rem}.about-story{max-width:610px;padding-top:1.6rem;border-top:1px solid #c8b9ab}.about-story .eyebrow{margin-bottom:.8rem}.about-story h2{font-size:clamp(2rem,3vw,3.2rem);margin-bottom:1rem}.about-story p{margin-bottom:1rem}.about-hero .hero-img{min-height:0}.about-hero .hero-img img{height:100%;object-position:center 35%}@media(max-width:700px){.about-hero .hero-copy{padding-top:3rem;padding-bottom:2.5rem}.about-hero .hero-img{height:460px}}
/* More restrained editorial headline scale across the site. */
h1{font-size:clamp(2.9rem,5.4vw,5.5rem)}h2{font-size:clamp(2.3rem,3.8vw,3.9rem)}h3{font-size:clamp(1.5rem,2.1vw,2.1rem)}.about-hero h1{font-size:clamp(2.9rem,4.6vw,4.9rem)}.about-story h2{font-size:clamp(2rem,2.7vw,2.8rem)}
.vision-intro{background:#f3f0eb}.vision-intro-grid{display:grid;grid-template-columns:42% 1fr;gap:5vw;align-items:center}.vision-intro-grid>img{height:650px;width:100%;object-fit:cover}.vision-intro-copy{max-width:540px}.vision-journey{list-style:none;margin:2.5rem 0;padding:0;border-left:1px solid #b8a899}.vision-journey li{position:relative;padding:.55rem 0 .55rem 1.8rem;text-transform:uppercase;letter-spacing:.13em;font-size:.82rem}.vision-journey li::before{content:'';position:absolute;left:-.4rem;top:1rem;width:.8rem;height:.8rem;border-radius:50%;background:#a3917e}.vision-journey li:first-child::before{background:#879379}.vision-journey li:last-child::before{background:#332d29}.vision-note{font-family:'Libre Caslon Display',Georgia,serif;font-size:1.45rem;font-style:italic}.vision-process{background:#f8f5ef}.vision-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem}.vision-heading h2{max-width:900px;margin:0}.vision-heading p{max-width:250px;font-family:'Libre Caslon Display',Georgia,serif;font-style:italic;font-size:1.35rem}.vision-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid #cbbfb3}.vision-stage{display:flex;flex-direction:column;padding:1.3rem 1.05rem 0;border-left:1px solid #cbbfb3}.vision-stage:first-child{border-left:0;padding-left:0}.vision-stage:last-child{padding-right:0}.vision-stage img{aspect-ratio:1.05;object-fit:cover;margin-bottom:1.2rem}.vision-stage .number{font-size:.74rem;letter-spacing:.15em;color:#997c62;margin-bottom:.35rem}.vision-stage h3{font-size:clamp(1.5rem,1.9vw,2.1rem);margin-bottom:.8rem}.vision-stage p{line-height:1.5}.vision-tags{margin-top:auto;padding-top:1.5rem;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#75695f;line-height:1.7}.vision-closing{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid #cbbfb3;margin-top:2rem;padding-top:1.2rem}.vision-closing span{text-transform:uppercase;letter-spacing:.13em;font-size:.77rem}.vision-closing em{font:italic 1.45rem 'Libre Caslon Display',Georgia,serif;text-align:right}@media(max-width:1050px){.vision-intro-grid{grid-template-columns:1fr 1fr}.vision-stages{grid-template-columns:repeat(2,1fr);gap:2rem}.vision-stage:nth-child(odd){border-left:0;padding-left:0}.vision-stage img{aspect-ratio:1.35}.vision-stage p{flex:1}}@media(max-width:700px){.vision-intro-grid{grid-template-columns:1fr;gap:2rem}.vision-intro-grid>img{height:auto;max-height:480px}.vision-heading{display:block}.vision-heading p{max-width:100%;margin-top:1.5rem}.vision-stages{grid-template-columns:1fr;gap:2rem}.vision-stage,.vision-stage:nth-child(odd){border-left:0;border-top:1px solid #cbbfb3;padding:1.3rem 0 0}.vision-stage:first-child{border-top:0}.vision-stage img{aspect-ratio:1.5}.vision-tags{padding-top:.5rem}.vision-closing{grid-template-columns:1fr}.vision-closing em{text-align:left}}
.about-section{padding:clamp(3rem,5vw,5rem) 0;background:#f3f0eb}.about-layout{display:grid;grid-template-columns:43% 1fr;gap:clamp(3rem,6vw,7rem);align-items:center}.about-photo img{height:clamp(570px,60vw,810px);object-fit:cover;object-position:center 32%}.about-copy{max-width:620px}.about-copy h1{font-size:clamp(3rem,4.8vw,5rem);margin-bottom:1.2rem}.about-lead{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.32;max-width:570px}.about-copy .about-story{margin-top:2rem;padding-top:1.5rem;max-width:none}.about-copy .about-story p{font-size:1rem;line-height:1.65}.about-copy .link{margin-top:.5rem}@media(max-width:700px){.about-section{padding:2rem 0 4rem}.about-layout{grid-template-columns:1fr;gap:2.2rem}.about-photo img{height:440px}.about-copy .about-story{margin-top:1.5rem}}
.residential-hero{background:#e8dfd5}.residential-hero .hero-img img{object-position:center 55%}.residential-services{background:#f8f5ef}.residential-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.6rem}.residential-heading h2{margin:0}.residential-heading>p{max-width:320px;font:italic 1.5rem/1.3 'Libre Caslon Display',Georgia,serif}.residential-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #c8b9ad}.residential-offer{display:flex;flex-direction:column;padding:1.3rem 1.6rem 0;border-left:1px solid #c8b9ad}.residential-offer:first-child{border-left:0;padding-left:0}.residential-offer:last-child{padding-right:0}.residential-offer img{height:clamp(290px,31vw,410px);object-fit:cover;margin-bottom:1.5rem}.residential-offer .number{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#997c62}.residential-offer h3{font-size:clamp(2rem,2.8vw,2.7rem);margin:.45rem 0 .8rem}.residential-offer p{max-width:410px}.residential-offer .vision-tags{margin-top:auto;padding-top:1rem}.residential-offer .link{align-self:flex-start;margin-top:1rem}@media(max-width:1050px){.residential-offer{padding-left:1rem;padding-right:1rem}.residential-offer img{height:290px}}@media(max-width:700px){.residential-heading{display:block;margin-bottom:2rem}.residential-heading>p{margin-top:1.2rem}.residential-offers{grid-template-columns:1fr}.residential-offer,.residential-offer:first-child,.residential-offer:last-child{border-left:0;border-top:1px solid #c8b9ad;padding:1.5rem 0 2rem}.residential-offer:first-child{border-top:0}.residential-offer img{height:340px}.residential-offer .vision-tags{margin-top:0}}
.contact-section{background:#eee6dc;padding:clamp(3rem,5vw,5rem) 0}.contact-layout{display:grid;grid-template-columns:48% 1fr;gap:5vw;align-items:center}.contact-copy{max-width:650px}.contact-copy h1{font-size:clamp(3rem,4.8vw,5rem);white-space:nowrap;margin-bottom:1rem}.contact-lead{font:1.5rem/1.4 'Libre Caslon Display',Georgia,serif;max-width:560px}.contact-options{display:grid;gap:0;margin:2.4rem 0 1.5rem;border-top:1px solid #bfafa1}.contact-options>div{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #bfafa1;align-items:center}.contact-options .small{color:#866b57}.contact-options a{font-size:1.15rem;overflow-wrap:anywhere}.contact-options a:hover{text-decoration:underline}.contact-photo img{height:620px;object-fit:cover;object-position:center}@media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:2rem}.contact-copy h1{white-space:normal}.contact-options>div{grid-template-columns:1fr;gap:.2rem}.contact-photo img{height:390px}}
.contact-editorial{background:#f4eee7}.contact-gallery{display:grid;grid-template-columns:repeat(4,1fr);height:clamp(230px,29vw,420px);overflow:hidden}.contact-gallery img{width:100%;height:100%;object-fit:cover;display:block}.contact-gallery img:nth-child(1){object-position:50% 50%}.contact-gallery img:nth-child(2){object-position:50% 53%}.contact-gallery img:nth-child(3){object-position:50% 55%}.contact-gallery img:nth-child(4){object-position:50% 50%}.contact-editorial-body{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(3rem,9vw,10rem);padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(5rem,8vw,8rem);align-items:start}.contact-intro h1{font-size:clamp(2.7rem,4.5vw,4.6rem);margin:.8rem 0 1.2rem}.contact-intro p{font:italic clamp(1.4rem,2.2vw,2.1rem)/1.38 'Libre Caslon Display',Georgia,serif;max-width:540px;margin:0}.contact-details{border-left:1px solid #b9a895;padding-left:clamp(2rem,5vw,5rem);display:grid;gap:2.4rem;padding-top:.3rem}.contact-details>div{display:grid;gap:.5rem}.contact-details a{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.4;overflow-wrap:anywhere;width:max-content;max-width:100%}.contact-details a:hover{text-decoration:underline}@media(max-width:700px){.contact-gallery{grid-template-columns:repeat(2,1fr);height:auto}.contact-gallery img{height:170px}.contact-editorial-body{grid-template-columns:1fr;gap:2.8rem}.contact-details{padding-left:1.4rem;gap:1.7rem}}

.contact-gallery{grid-template-columns:repeat(3,1fr)}@media(max-width:700px){.contact-gallery{grid-template-columns:repeat(3,1fr)}.contact-gallery img{height:150px}}

.residential-hero .hero-img{background:#e8dfd5}.residential-hero .hero-img img{object-fit:contain;object-position:center;width:100%;height:100%}.contact-gallery img:nth-child(3){object-position:center 58%}

.contact-editorial-body{min-height:540px;align-items:center;padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(6rem,12vw,11rem)}.contact-intro{border-top:1px solid #b9a895;padding-top:2rem}@media(max-width:700px){.contact-editorial-body{min-height:0;padding-top:4rem;padding-bottom:5rem}}

.contact-hero-image{height:clamp(270px,32vw,480px);overflow:hidden}.contact-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.contact-editorial-body{min-height:0;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(5rem,8vw,8rem)}@media(max-width:700px){.contact-hero-image{height:245px}.contact-hero-image img{object-position:55% center}}

.stage-style-band img{height:600px;object-fit:contain;object-position:center;background:transparent}@media(max-width:700px){.stage-style-band img{height:430px}}
.stage-style-band img{width:min(100%,450px);height:auto;max-height:none;object-fit:initial;justify-self:center;background:transparent}@media(max-width:700px){.stage-style-band img{width:min(100%,420px);height:auto}}

.stage-style-feature{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;border-top:1px solid #c8b9ad;padding-top:clamp(2rem,4vw,4rem);padding-bottom:clamp(2rem,4vw,4rem)}.stage-style-feature h2{margin:0}.stage-style-feature p{max-width:520px;font-size:1.2rem;line-height:1.5}.stage-style-feature .link{margin-top:1rem}@media(max-width:700px){.stage-style-feature{grid-template-columns:1fr;gap:1.5rem}.stage-style-feature p{font-size:1.05rem}}

.stage-style-band img{width:100%;height:auto;max-height:none;object-fit:initial;justify-self:stretch}@media(max-width:700px){.stage-style-band img{width:100%;height:auto}}

.stage-style-band img{width:min(100%,390px);height:auto;justify-self:center}@media(max-width:700px){.stage-style-band img{width:min(100%,390px)}}

.stage-style-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;width:100%}.stage-style-band .stage-style-photos img{width:100%;height:430px;object-fit:cover;object-position:center;display:block}.stage-style-band .stage-style-photos img:first-child{object-position:center}@media(max-width:700px){.stage-style-photos{gap:8px}.stage-style-band .stage-style-photos img{height:270px}}

/* Give every process image the same frame and top edge. */
@media(min-width:701px){.vision-stages .vision-stage,.vision-stages .vision-stage:first-child,.vision-stages .vision-stage:last-child{padding-left:1.05rem;padding-right:1.05rem}}
.vision-stages .vision-stage img{display:block;width:100%;height:220px;aspect-ratio:auto;object-fit:cover;flex:none}
@media(min-width:701px) and (max-width:1050px){.vision-stages .vision-stage img{height:240px}}
@media(max-width:700px){.vision-stages .vision-stage img{height:260px}}

.project-photo-page .page-head{padding:3rem 0 2rem}.project-photo-page .project-title p:not(.scope){max-width:760px}.project-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.project-photo-gallery img,.project-photo-gallery img:first-child{grid-column:auto;width:100%;height:390px;max-height:none;object-fit:contain;background:#eee6dc}.project-photo-gallery img:first-child{object-fit:cover}@media(max-width:900px){.project-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo-gallery img,.project-photo-gallery img:first-child{height:340px}}@media(max-width:600px){.project-photo-gallery{grid-template-columns:1fr}.project-photo-gallery img,.project-photo-gallery img:first-child{height:auto;max-height:none;object-fit:contain}.project-photo-page .page-head{padding:2rem 0 1.5rem}}

/* Contact: show the studio founders without cutting a portrait into a panoramic strip. */
.contact-editorial{display:grid;grid-template-columns:minmax(320px,42%) 1fr;align-items:stretch;background:#e8e4df}.contact-hero-image{height:auto;min-height:610px}.contact-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.contact-editorial-body{width:100%;max-width:720px;margin:auto;padding:clamp(3rem,7vw,7rem)!important;display:flex;flex-direction:column;justify-content:center;gap:3rem}.contact-intro h1{margin-top:1rem}.contact-details{margin-top:0}
@media(max-width:800px){.contact-editorial{display:block}.contact-hero-image{height:420px;min-height:0}.contact-hero-image img{object-position:center 39%}.contact-editorial-body{padding:3rem 1.5rem 4rem!important}}

/* Contact uses an actual installation moment, retaining both people in frame. */
.contact-editorial{display:block;background:#f4f0eb}.contact-hero-image{height:clamp(330px,40vw,560px);min-height:0}.contact-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 49%}.contact-editorial-body{max-width:1180px;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;padding:clamp(3rem,6vw,6rem) 2rem!important}.contact-details{display:flex;flex-direction:column;gap:2rem}
@media(max-width:800px){.contact-hero-image{height:280px}.contact-hero-image img{object-position:center 46%}.contact-editorial-body{display:block;padding:3rem 1.5rem 4rem!important}.contact-details{margin-top:2.5rem}}

.social-links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:.75rem}.social-links a{display:inline-block;text-decoration:underline;text-underline-offset:4px}.footer .social-links{gap:.4rem 1rem;margin-top:1.25rem}.footer .social-links a{display:inline-block}

/* Laystall source photos are modest resolution: show them at a faithful display size. */
.project[data-project="laystall-street"]{background:#eee6dc;padding:16px}.project[data-project="laystall-street"] img{width:auto;max-width:100%;height:330px;object-fit:contain;margin:0 auto}.laystall-page .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;max-width:1050px;margin:0 auto}.laystall-page .gallery img,.laystall-page .gallery img:first-child{grid-column:auto;width:auto;max-width:100%;height:auto;max-height:420px;object-fit:contain;margin:0 auto;background:transparent}.laystall-page .gallery img:nth-child(n+4){max-height:260px}
@media(max-width:800px){.laystall-page .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.laystall-page .gallery{grid-template-columns:1fr}.laystall-page .gallery img,.laystall-page .gallery img:first-child{max-height:400px}}

.before-gallery{padding:4rem 0 1rem;border-top:1px solid #c4b5a7;margin-top:4rem}.before-gallery-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:800px}.before-gallery img{width:100%;height:auto;max-height:260px;object-fit:contain;background:#eee6dc}@media(max-width:650px){.before-gallery-images{grid-template-columns:repeat(2,1fr)}}

.brownlow-page .gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px;margin:auto}.brownlow-page .gallery img,.brownlow-page .gallery img:first-child{grid-column:auto;width:100%;height:auto;max-height:440px;object-fit:contain;background:transparent}@media(max-width:750px){.brownlow-page .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.brownlow-page .gallery{grid-template-columns:1fr}}
/* Natural-height columns keep mixed portrait and landscape galleries close together. */
.gallery,.project-photo-gallery,.brownlow-page .gallery{display:block;columns:2;column-gap:16px;max-width:1200px;margin:0 auto}
.gallery img,.gallery img:first-child,.project-photo-gallery img,.project-photo-gallery img:first-child,.brownlow-page .gallery img,.brownlow-page .gallery img:first-child{display:block;width:100%;height:auto;max-height:none;object-fit:contain;break-inside:avoid;margin:0 0 16px;background:transparent;grid-column:auto}
@media(max-width:650px){.gallery,.project-photo-gallery,.brownlow-page .gallery{columns:1}}

.social-links{gap:1rem;align-items:center}.social-links a,.footer .social-links a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:inherit;text-decoration:none}.social-links svg{width:22px;height:22px;fill:currentColor;transition:transform .2s ease}.social-links a:hover svg{transform:translateY(-2px)}.social-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.gallery img.cairo-shelf-photo{width:min(100%,430px);height:auto;justify-self:center;object-fit:contain}

.gallery.compact-portfolio-gallery{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:center}
.gallery.compact-portfolio-gallery img,.gallery.compact-portfolio-gallery img:first-child{display:block;grid-column:auto;width:auto;height:auto;max-width:min(100%,620px);max-height:440px;object-fit:contain}
.gallery.compact-portfolio-gallery img.cairo-shelf-photo{max-width:min(100%,300px);max-height:400px}
@media(max-width:700px){.gallery.compact-portfolio-gallery{gap:12px}.gallery.compact-portfolio-gallery img,.gallery.compact-portfolio-gallery img:first-child{max-width:100%;max-height:430px}}

.deck-project-page .before-gallery-images{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;max-width:none}.deck-project-page .before-gallery-images img{width:auto;height:auto;max-width:100%;max-height:260px;object-fit:contain;background:transparent}

.testimonials{background:#f8f5ef}.testimonials .intro{margin-bottom:2rem}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);border-top:1px solid #c8b9ad}.testimonial-grid figure{margin:0;padding:2rem 0 0}.testimonial-grid blockquote{margin:0 0 1.5rem;font:italic clamp(1.6rem,2.3vw,2.4rem)/1.3 'Libre Caslon Display',Georgia,serif}.testimonial-grid figcaption{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#75695f}@media(max-width:700px){.testimonial-grid{grid-template-columns:1fr;gap:0}.testimonial-grid figure+figure{border-top:1px solid #c8b9ad;margin-top:2rem}}
.testimonials .testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2.5rem}.testimonials .testimonial-grid figure{border-top:1px solid #c8b9ad;padding:1.5rem 0 2rem}.testimonials .testimonial-grid blockquote{font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.36}.testimonial-source{margin:1.5rem 0 0;font-size:.9rem;color:#75695f}.testimonial-source a{text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.testimonials .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.testimonials .testimonial-grid{grid-template-columns:1fr}.testimonials .testimonial-grid figure{margin:0}}
.gallery.compact-portfolio-gallery.queens-gallery{max-width:1080px;gap:14px;justify-content:center}.gallery.compact-portfolio-gallery.queens-gallery img:first-child{width:min(100%,1000px);max-width:1000px;max-height:none;height:auto;object-fit:contain;margin-bottom:12px}.gallery.compact-portfolio-gallery.queens-gallery img:not(:first-child){width:auto;max-width:min(100%,260px);max-height:310px;height:auto;object-fit:contain}@media(max-width:600px){.gallery.compact-portfolio-gallery.queens-gallery img:not(:first-child){max-width:calc(50% - 8px);max-height:250px}}
.gallery.compact-portfolio-gallery.queens-gallery img.queens-wide-photo{width:calc(50% - 7px);max-width:520px;max-height:none;height:auto;object-fit:contain}@media(max-width:600px){.gallery.compact-portfolio-gallery.queens-gallery img.queens-wide-photo{width:100%;max-width:100%}}
.testimonials .testimonial-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid #c8b9ad;padding-bottom:1.5rem}.testimonial-heading h2{margin:.4rem 0 0}.testimonial-controls{display:flex;align-items:center;gap:1rem;white-space:nowrap}.testimonial-arrow{border:1px solid #a79788;border-radius:50%;width:44px;height:44px;background:transparent;color:#342f2b;font-size:1.25rem;cursor:pointer}.testimonial-arrow:hover,.testimonial-arrow:focus-visible{background:#dcd1c4}.testimonial-count{font-size:.85rem;letter-spacing:.1em;min-width:3.6rem;text-align:center}.testimonial-carousel{max-width:900px;margin:0 auto;min-height:260px;display:grid;align-items:center}.testimonial-slide{margin:0;padding:clamp(2rem,5vw,4rem) 0;text-align:center}.testimonial-slide[hidden]{display:none}.testimonial-slide blockquote{font:italic clamp(1.5rem,2.35vw,2.25rem)/1.35 'Libre Caslon Display',Georgia,serif;margin:0 0 1.6rem}.testimonial-slide figcaption{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#75695f;line-height:1.6}@media(max-width:650px){.testimonials .testimonial-heading{align-items:start;display:block}.testimonial-controls{margin-top:1.5rem}.testimonial-carousel{min-height:340px}.testimonial-slide{text-align:left}}
.testimonials{padding-top:clamp(2.5rem,4vw,4rem);padding-bottom:clamp(2.5rem,4vw,4rem)}.testimonials .testimonial-heading{padding-bottom:1rem}.testimonial-heading h2{font-size:clamp(1.8rem,2.5vw,2.7rem)}.testimonial-carousel{max-width:710px;min-height:0}.testimonial-slide{padding:1.8rem 0}.testimonial-slide blockquote{font-size:clamp(1.12rem,1.45vw,1.45rem);line-height:1.5;margin-bottom:1rem}.testimonial-arrow{width:36px;height:36px;font-size:1rem}.testimonial-controls{gap:.7rem}@media(max-width:650px){.testimonial-carousel{min-height:0}.testimonial-slide{padding:1.5rem 0}.testimonial-slide blockquote{font-size:1.15rem}}
.gallery.compact-portfolio-gallery.queens-gallery img:not(:first-child),.gallery.compact-portfolio-gallery.queens-gallery img.queens-wide-photo{width:calc(50% - 7px);max-width:520px;max-height:none;height:auto;object-fit:contain}@media(max-width:600px){.gallery.compact-portfolio-gallery.queens-gallery img:not(:first-child),.gallery.compact-portfolio-gallery.queens-gallery img.queens-wide-photo{width:100%;max-width:100%;max-height:none}}

/* Cairo Studios Second Floor: one strong, sharp opener with smaller supporting views. */
.compact-portfolio-gallery.cairo-second-gallery{max-width:1080px;margin-inline:auto;gap:18px}
.compact-portfolio-gallery.cairo-second-gallery img:first-child{width:min(100%,950px);max-width:950px;max-height:none;height:auto;object-fit:contain;margin-bottom:12px}
.compact-portfolio-gallery.cairo-second-gallery img:not(:first-child){max-width:min(100%,490px);max-height:360px;width:auto;height:auto;object-fit:contain}
.compact-portfolio-gallery.cairo-second-gallery img.cairo-shelf-photo{max-width:min(100%,300px);max-height:420px}
@media(max-width:700px){.compact-portfolio-gallery.cairo-second-gallery img:not(:first-child){max-width:100%;max-height:none}}

/* Long Acre: wide opener followed by paired project views. */
.gallery.compact-portfolio-gallery.long-acre-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin-inline:auto;align-items:start}
.gallery.compact-portfolio-gallery.long-acre-gallery img{width:100%;max-width:none;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
.gallery.compact-portfolio-gallery.long-acre-gallery img:first-child{grid-column:1/-1;max-width:1024px;justify-self:center;aspect-ratio:3/2}
@media(max-width:700px){.gallery.compact-portfolio-gallery.long-acre-gallery{grid-template-columns:1fr;gap:14px}.gallery.compact-portfolio-gallery.long-acre-gallery img:first-child{grid-column:auto}}

/* Mainframe sixth floor: square photos in a balanced gallery. */
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin-inline:auto}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img{width:100%;max-width:none;max-height:none;height:auto;aspect-ratio:1;object-fit:cover}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:first-child{grid-column:1/-1;max-width:640px;justify-self:center;height:auto}
@media(max-width:650px){.gallery.compact-portfolio-gallery.mainframe-sixth-gallery{grid-template-columns:1fr}.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:first-child{grid-column:auto}}

/* Brownlow Mews: wide room views, then small original details. */
.gallery.compact-portfolio-gallery.brownlow-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;max-width:1080px;margin-inline:auto}
.gallery.compact-portfolio-gallery.brownlow-gallery img{height:auto;max-height:none;object-fit:contain}
.gallery.compact-portfolio-gallery.brownlow-gallery img:first-child{width:min(100%,735px);max-width:735px;margin-bottom:10px}
.gallery.compact-portfolio-gallery.brownlow-gallery img:not(:first-child):not(.brownlow-detail-photo){width:calc(50% - 9px);max-width:520px}
.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-detail-photo{width:min(31%,280px);max-width:280px;max-height:300px}
@media(max-width:700px){.gallery.compact-portfolio-gallery.brownlow-gallery img:not(:first-child):not(.brownlow-detail-photo){width:100%;max-width:100%}.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-detail-photo{width:calc(50% - 9px);max-width:280px}}

/* Frame the existing Brownlow photographs closer to their original prints. */
.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-art-right{height:320px;max-height:none;object-fit:none;object-position:right center}
.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-detail-photo.brownlow-art-left{height:280px;max-height:none;object-fit:none;object-position:left top}
@media(max-width:700px){.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-art-right{height:280px;object-fit:cover;object-position:right center}.gallery.compact-portfolio-gallery.brownlow-gallery img.brownlow-detail-photo.brownlow-art-left{height:230px;object-fit:cover;object-position:left top}}

/* Finsbury Square: wide room opener and an exact-pixel crop of the kitchen artwork. */
.gallery.compact-portfolio-gallery.finsbury-gallery{max-width:1080px;margin-inline:auto;gap:18px}
.gallery.compact-portfolio-gallery.finsbury-gallery img:first-child{width:min(100%,735px);max-width:735px;max-height:none;height:auto;margin-bottom:12px}
.gallery.compact-portfolio-gallery.finsbury-gallery img.finsbury-kitchen-art{width:min(100%,420px);max-width:420px;height:310px;max-height:none;object-fit:none;object-position:right center}
@media(max-width:700px){.gallery.compact-portfolio-gallery.finsbury-gallery img.finsbury-kitchen-art{width:100%;max-width:100%;height:300px;object-fit:cover;object-position:right center}}

/* Keep the original About portrait and add only a gentle warm colour grade. */
.about-photo img{filter:sepia(.08) saturate(1.08)}
/* 7th floor: let the clean room views lead, with original styling details smaller. */
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery{max-width:1080px;margin-inline:auto;gap:18px}
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:first-child{max-width:min(100%,900px);max-height:none;margin-bottom:8px}
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-last-child(-n+2){max-width:min(100%,340px);max-height:360px}
.gallery.compact-portfolio-gallery.finsbury-gallery img.finsbury-print-photo{width:auto;max-width:min(100%,390px);height:auto;max-height:510px;object-fit:contain}
.gallery.compact-portfolio-gallery.finsbury-gallery img.finsbury-print-photo:last-child{max-width:min(100%,260px);max-height:370px}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:first-child{max-width:840px;aspect-ratio:16/9}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:nth-child(2),.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:nth-child(3){aspect-ratio:3/2}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:last-child{grid-column:1/-1;width:min(100%,736px);max-width:736px;justify-self:center;aspect-ratio:1;object-fit:contain}
/* Show the actual user-provided Brunswick photographs within their screenshots. */
.gallery.compact-portfolio-gallery .brunswick-screenshot{display:block;flex:none;width:min(100%,390px);aspect-ratio:704/940;background-repeat:no-repeat;background-color:#eee}
.gallery.compact-portfolio-gallery .brunswick-screen-open-plan{aspect-ratio:716/956;background-size:286% 120.5%;background-position:50.15% 46.94%}
.gallery.compact-portfolio-gallery .brunswick-screen-glass-room{background-size:290.9% 122.55%;background-position:56.85% 60.85%}
.gallery.compact-portfolio-gallery .brunswick-screen-meeting-art{background-size:290.9% 122.55%;background-position:50.74% 60.85%}
/* Give the 6th-floor table and chairs photograph its own full-width row. */
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery{max-width:1080px}
.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:last-child{grid-column:1/-1;width:100%;max-width:900px;aspect-ratio:auto;height:auto;object-fit:contain;margin:12px auto 0}
@media(max-width:650px){.gallery.compact-portfolio-gallery.mainframe-sixth-gallery img:last-child{grid-column:1;max-width:100%;margin-top:0}}
/* Mainframe 7th Floor: the fourth photograph is the art-lined meeting room. */
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(4){width:min(100%,675px);max-width:675px;max-height:none;height:auto;object-fit:contain;margin:8px max(0px,calc((100% - 675px)/2))}
/* Mainframe 7th Floor: paired room views, then meeting room with a styling detail. */
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(2),
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(3){width:calc(50% - 9px);max-width:none;max-height:none;height:auto;object-fit:contain}
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(4){margin:0;flex:none}
.gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(5){width:min(100%,340px);max-width:340px;max-height:none;height:auto;object-fit:contain}
@media(max-width:700px){
 .gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(2),
 .gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(3),
 .gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(4),
 .gallery.compact-portfolio-gallery.mainframe-seventh-gallery img:nth-child(5){width:100%;max-width:100%;max-height:none}
}
.gallery.compact-portfolio-gallery img[src$="brunswick-deskmats-flat.png"]{width:min(100%,390px);max-width:390px;max-height:none;height:auto;object-fit:contain}
/* Original wordmark from the Hettie Jacks commercial brochure. */
.brand.brand-logo{display:block;width:clamp(220px,20vw,270px);flex:none;line-height:0}
.brand.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.footer .brand.brand-logo{width:230px;max-width:100%}
@media(max-width:700px){.brand.brand-logo{width:185px}.footer .brand.brand-logo{width:220px}}
/* Pair the original circular HJ monogram with the studio wordmark. */
.brand.brand-logo{display:inline-flex;align-items:center;gap:14px;width:auto;max-width:100%}
.brand.brand-logo img.brand-mark{width:68px;height:68px;flex:none;object-fit:contain}
.brand.brand-logo img.brand-wordmark{width:230px;height:auto;flex:none;object-fit:contain}
.footer .brand.brand-logo{width:auto;max-width:100%;gap:16px}
.footer .brand.brand-logo img.brand-mark{width:82px;height:82px}
.footer .brand.brand-logo img.brand-wordmark{width:230px}
@media(max-width:700px){.brand.brand-logo{gap:8px}.brand.brand-logo img.brand-mark{width:48px;height:48px}.brand.brand-logo img.brand-wordmark{width:168px}.footer .brand.brand-logo img.brand-mark{width:70px;height:70px}.footer .brand.brand-logo img.brand-wordmark{width:210px}}
