.seo-content{max-width:1220px;margin:auto;padding:3rem 7vw 6.5rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:6rem}.seo-main{max-width:740px}.seo-main>p{font-size:1.05rem;color:#4f5650;margin:0 0 1.7rem}.seo-main h2,.faq-section h2{font:600 clamp(1.9rem,3vw,3.15rem)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:3.4rem 0 1.2rem}.seo-content aside{height:max-content;background:#e8e5df;padding:2rem;position:sticky;top:2rem}.seo-content aside h2{font:600 2rem/1.1 'Playfair Display',Georgia,serif;margin:0 0 1rem}.seo-content aside p:not(.eyebrow){font-size:.9rem;color:#5d635e;margin-bottom:1.4rem}.service-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:1.8rem 0 1.2rem}.service-columns article{background:#fbfaf8;padding:1.5rem;min-height:220px}.service-columns span{font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.1em}.service-columns h3{font:600 1.35rem/1.12 'Playfair Display',Georgia,serif;margin:.8rem 0}.service-columns p{font-size:.85rem;line-height:1.6;color:var(--muted);margin:0}.project-image{margin:3rem 0 3.6rem;background:#1b1d1a;color:#f4f1ec}.project-image img{display:block;width:100%;height:clamp(260px,34vw,470px);object-fit:cover}.project-image-lavabo img{object-position:center 42%}.project-image figcaption{padding:1rem 1.2rem 1.1rem;font:600 .84rem/1.45 Manrope,Arial,sans-serif}.project-image figcaption span{color:#d99b6f;font-size:.65rem;letter-spacing:.14em;margin-right:.65rem}.faq-section{max-width:920px;margin:auto;padding:6rem 7vw}.faq-section details{border-top:1px solid var(--line);padding:1.35rem 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{font-weight:700;cursor:pointer;list-style:none;padding-right:2rem;position:relative}.faq-section summary::after{content:'+';position:absolute;right:0;color:var(--accent);font-size:1.3rem;top:-.25rem}.faq-section details[open] summary::after{content:'–'}.faq-section details p{max-width:720px;color:var(--muted);margin:1rem 0 0}@media(max-width:760px){.seo-content{grid-template-columns:1fr;gap:2rem;padding-left:7vw;padding-right:7vw}.seo-content aside{position:static}.service-columns{grid-template-columns:1fr}.project-image{margin:2.5rem 0 3rem}.project-image img{height:300px}.faq-section{padding-left:7vw;padding-right:7vw}}
.portfolio-gallery{background:#f2f0eb;padding:6.5rem 7vw}.gallery-intro,.gallery-group,.gallery-action{max-width:1200px;margin-left:auto;margin-right:auto}.gallery-intro{max-width:760px;margin-bottom:4.5rem}.gallery-intro h2,.gallery-group h3{font:600 clamp(2rem,3.6vw,3.5rem)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:.7rem 0 1.15rem}.gallery-intro>p:last-child{color:#535953;font-size:1.05rem;line-height:1.75}.gallery-group{margin-bottom:4.5rem}.gallery-group-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:1.45rem}.gallery-group-heading h3{font-size:clamp(1.7rem,2.5vw,2.5rem);max-width:700px}.gallery-group-heading .eyebrow{margin:0 0 .4rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.gallery-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card{background:#151816;color:#f9f7f2;margin:0;overflow:hidden}.gallery-card img{display:block;width:100%;height:310px;object-fit:cover;transition:transform .45s ease}.gallery-card:hover img{transform:scale(1.025)}.gallery-card figcaption{padding:1rem 1.1rem 1.1rem;font:700 .78rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.gallery-action{background:#151816;color:#fff;padding:2.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.gallery-action p{font:500 1.3rem/1.25 'Playfair Display',Georgia,serif;margin:0;max-width:540px}.gallery-action .button{white-space:nowrap}@media(max-width:760px){.portfolio-gallery{padding:4.5rem 7vw}.gallery-intro{margin-bottom:3.2rem}.gallery-group{margin-bottom:3.2rem}.gallery-group-heading{display:block}.gallery-grid,.gallery-grid--two{grid-template-columns:1fr;gap:1rem}.gallery-card img{height:auto;max-height:480px}.gallery-action{display:block;padding:1.8rem}.gallery-action p{margin-bottom:1.2rem}}
.local-gallery{background:#1a1c19;color:#f8f6f0;padding:5rem 7vw 5.4rem}.local-gallery-heading,.local-gallery-grid{max-width:1200px;margin-left:auto;margin-right:auto}.local-gallery-heading{max-width:780px;margin-bottom:2.2rem}.local-gallery-heading h2{font:600 clamp(2rem,3.3vw,3.2rem)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:.65rem 0 1rem}.local-gallery-heading>p:last-child{line-height:1.7;color:#d0d4cf}.local-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.local-gallery-grid figure{margin:0;background:#282c28;overflow:hidden}.local-gallery-grid img{display:block;width:100%;height:245px;object-fit:cover;transition:transform .35s ease}.local-gallery-grid figure:hover img{transform:scale(1.025)}.local-gallery-grid figcaption{padding:.8rem 1rem .9rem;font:700 .76rem/1.35 Manrope,Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase}@media(max-width:760px){.local-gallery{padding:4rem 7vw}.local-gallery-grid{grid-template-columns:1fr 1fr;gap:.75rem}.local-gallery-grid img{height:175px}.local-gallery-grid figcaption{font-size:.65rem;padding:.65rem}.local-gallery .button{width:100%;text-align:center}}
.quote-aside .aside-question{font:600 .9rem/1.4 Manrope,Arial,sans-serif;color:#313631;margin:0 0 .5rem}.quote-aside h2{text-transform:uppercase;font:800 clamp(1.6rem,2.3vw,2.15rem)/1.05 Manrope,Arial,sans-serif!important;letter-spacing:-.035em}.quote-aside .button{margin-top:.3rem;width:100%;text-align:center}
