:root{--ink:#171a16;--ink-2:#242821;--paper:#f1eee6;--sand:#e8dfcd;--muted:#a9a79f;--gold:#a48a68;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--wrap:min(1240px,88vw)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;margin:10px;padding:12px;background:white;color:black;z-index:9999}.site-header{position:absolute;z-index:100;top:0;left:0;right:0;height:108px;display:flex;align-items:center;gap:28px;padding:0 5.5%;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);transition:.3s}.site-header.is-scrolled{position:fixed;height:82px;background:rgba(20,23,19,.94);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.site-brand{display:flex;align-items:center;gap:15px;margin-right:auto}.custom-logo{max-width:230px;height:auto}.brand-mark{width:58px;height:58px;border:1px solid rgba(255,255,255,.72);display:grid;place-items:center;text-align:center;font:24px/.74 var(--serif)}.brand-name b{display:block;font-size:12px;letter-spacing:3px}.brand-name small{display:block;margin-top:5px;font-size:8px;letter-spacing:4px;color:#c9c2b6}.primary-nav ul{display:flex;align-items:center;gap:28px;padding:0;margin:0;list-style:none}.primary-nav a,.header-language{font-size:10px;font-weight:700;letter-spacing:1.35px;text-transform:uppercase}.primary-nav a{position:relative}.primary-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:#fff;transition:.25s}.primary-nav a:hover:after,.primary-nav .current-menu-item a:after,.primary-nav a[aria-current="page"]:after{width:100%}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 24px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button--light{background:var(--sand);color:var(--ink)}.button--dark{background:var(--ink);color:#fff}.button--glass{color:white;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.header-cta{min-height:44px;padding:0 20px}.nav-toggle{display:none}.home-hero{height:max(760px,100svh);min-height:700px;position:relative;background-image:var(--hero);background-size:cover;background-position:center;color:white;display:flex;align-items:flex-end}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,10,.83) 0%,rgba(10,12,10,.48) 43%,rgba(10,12,10,.04) 78%),linear-gradient(0deg,rgba(10,12,10,.55),transparent 50%)}.hero-copy{position:relative;z-index:2;width:min(680px,82vw);margin:0 0 10vh 6%;}.pill{display:inline-block;margin:0 0 20px;padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:rgba(255,255,255,.1);font-size:10px;letter-spacing:1.45px;text-transform:uppercase}.hero-copy h1{margin:0;font:400 clamp(3.4rem,6vw,6.5rem)/.92 var(--serif);letter-spacing:-.04em}.hero-copy h1 em{color:#d7cbb8;font-weight:400}.hero-copy>p:not(.pill){max-width:610px;margin:26px 0 32px;color:#dedad2;font-size:17px;line-height:1.7}.button-row{display:flex;gap:10px;flex-wrap:wrap}.scroll-cue{position:absolute;z-index:2;right:5%;bottom:6%;font-size:9px;letter-spacing:2px;text-transform:uppercase}.scroll-cue span{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:12px;border:1px solid rgba(255,255,255,.45);border-radius:50%}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sand);padding:0 5.5%}.proof-strip div{padding:27px 26px;border-right:1px solid #c6bdac}.proof-strip div:last-child{border:0}.proof-strip b{display:block;font:23px var(--serif)}.proof-strip span{display:block;margin-top:4px;font-size:8px;letter-spacing:1.45px;text-transform:uppercase}.section{padding:110px max(6vw,calc((100vw - 1240px)/2))}.eyebrow{margin:0 0 18px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.section h2,.contact-band h2{font:400 clamp(2.5rem,4.2vw,4.6rem)/1 var(--serif);letter-spacing:-.03em}.lead{margin:0 0 30px;color:#62645d;font-size:18px;line-height:1.75}.intro-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:11vw;align-items:center}.intro-section h2{margin:0}.intro-section>div:last-child{padding-top:40px}.text-link{display:inline-flex;gap:12px;align-items:center;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.text-link span{color:var(--gold)}.spaces-section{background:#ece7dd}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{margin:0}.space-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.space-card{height:520px;position:relative;overflow:hidden}.space-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(8,10,8,.84))}.space-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.space-card:hover img{transform:scale(1.025)}.space-card>span{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.space-card b{display:block;font:28px var(--serif)}.space-card small{display:block;margin-top:7px;font-size:8px;letter-spacing:1.45px;text-transform:uppercase}.section--dark{background:var(--ink);color:#fff}.method-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.method-intro h2{margin:0 0 24px}.method-intro>p:last-child{color:#a8aaa2}.method-list{margin:0;padding:0;list-style:none;border-top:1px solid #54584e}.method-list li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #54584e}.method-list li>span{color:var(--gold);font-size:11px}.method-list b{font:25px var(--serif)}.method-list p{margin:7px 0 0;color:#a8aaa2;font-size:13px;line-height:1.6}.projects-section{overflow:hidden}.project-rail{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;cursor:grab;padding-bottom:16px;scrollbar-width:thin}.project-card{flex:0 0 min(620px,72vw);height:500px;position:relative;scroll-snap-align:start;overflow:hidden}.project-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(10,12,10,.8))}.project-card img{width:100%;height:100%;object-fit:cover}.project-card div{position:absolute;z-index:2;left:27px;bottom:25px;color:white}.project-card b{display:block;font:28px var(--serif)}.project-card span{display:block;margin-top:7px;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}.testimonial-section{text-align:center}.testimonial-section blockquote{max-width:930px;margin:28px auto;font:italic clamp(2rem,3.6vw,3.8rem)/1.15 var(--serif);color:#ebe5da}.testimonial-section cite{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#a8aaa2}.contact-band{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:75px max(6vw,calc((100vw - 1240px)/2));background:var(--sand)}.contact-band h2{max-width:820px;margin:0}.site-footer{min-height:180px;padding:45px 6%;display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#0e100d;color:#8e9089;font-size:10px;letter-spacing:.7px}.footer-brand b,.footer-brand span{display:block}.footer-brand span{margin-top:7px;font-size:8px;letter-spacing:2px}.site-footer address{font-style:normal}.site-footer>div:nth-child(3){display:flex;gap:20px}.site-footer small{grid-column:1/-1;padding-top:20px;border-top:1px solid #292c27}.page-main{padding-top:108px}.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.page-hero__inner{padding:100px 12%}.page-hero h1{font:400 clamp(3.2rem,5vw,5.7rem)/.95 var(--serif);margin:20px 0}.page-hero__image img{width:100%;height:100%;object-fit:cover}.entry-content{max-width:1050px;margin:auto;font-size:17px;line-height:1.8}.entry-content h2,.entry-content h3{font-family:var(--serif);line-height:1.1}.entry-content h2{font-size:45px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.space-card img,.button{transition:none}}
@media(max-width:1050px){.primary-nav{display:none}.nav-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto;background:none;border:0;padding:12px}.nav-toggle span:not(.screen-reader-text){display:block;width:25px;height:1px;background:#fff}.primary-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;padding:30px;background:var(--ink)}.primary-nav.is-open ul{display:grid;gap:22px}.header-cta{margin-left:5px}.hero-copy{margin-bottom:8vh}.intro-section,.method-section{grid-template-columns:1fr;gap:50px}.page-hero{grid-template-columns:1fr}.page-hero__image{height:500px}}
@media(max-width:700px){.site-header{height:86px;padding:0 5%}.brand-mark{width:48px;height:48px;font-size:20px}.brand-name{display:none}.header-cta{display:none}.home-hero{min-height:720px;background-position:62% center}.hero-copy{width:90%;margin:0 5% 9vh}.hero-copy h1{font-size:3.35rem}.hero-copy>p:not(.pill){font-size:15px}.proof-strip{grid-template-columns:1fr 1fr;padding:0}.proof-strip div{border-bottom:1px solid #c6bdac}.section{padding:78px 6%}.section h2{font-size:2.65rem}.section-heading{display:block}.section-heading .text-link{margin-top:22px}.space-grid{grid-template-columns:1fr}.space-card{height:440px}.project-card{flex-basis:88vw;height:430px}.contact-band{display:block;padding:62px 6%}.contact-band h2{font-size:2.5rem;margin-bottom:30px}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:auto}.page-main{padding-top:86px}.page-hero__inner{padding:70px 6%}.page-hero__image{height:360px}}
.editorial-hero{min-height:520px;display:flex;align-items:center;padding:100px max(6vw,calc((100vw - 1240px)/2))}.editorial-hero>div{max-width:900px}.editorial-hero h1,.service-hero h1,.not-found h1{font:400 clamp(3.4rem,6vw,6.8rem)/.95 var(--serif);letter-spacing:-.04em;margin:20px 0}.editorial-hero>div>p:last-child,.service-hero>div>p:not(.eyebrow){max-width:640px;color:#b5b6af;font-size:17px;line-height:1.75}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.split-copy h2{margin:0}.service-hero{min-height:720px;display:grid;grid-template-columns:.82fr 1.18fr}.service-hero>div{padding:110px 10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-hero img{width:100%;height:100%;object-fit:cover}.material-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:0}.material{height:240px;display:flex;align-items:flex-end;padding:20px;font:21px var(--serif)}.material--walnut{background:#302b27;color:white}.material--oak{background:#c5aa80}.material--quartz{background:#d9d1c2}.material--metal{background:#7c7666;color:white}.not-found{min-height:80vh;padding-top:180px}.not-found>p{max-width:600px}@media(max-width:800px){.service-hero,.split-copy{grid-template-columns:1fr}.service-hero>div{padding:80px 6%}.service-hero img{height:480px}.material-palette{grid-template-columns:1fr 1fr}.editorial-hero{min-height:480px;padding-top:75px}}@media(max-width:500px){.material-palette{grid-template-columns:1fr}.material{height:180px}.service-hero img{height:350px}}
.content-section{max-width:1100px}.content-section h2{margin:0 0 25px}.process-detail article{display:grid;grid-template-columns:90px 1fr;gap:40px;padding:48px 0;border-top:1px solid #aaa79d}.process-detail article>span{color:var(--gold);font-size:12px}.process-detail h2{margin:0 0 15px}.process-detail p{max-width:760px;color:#62645d;font-size:17px;line-height:1.75}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.portfolio-item{height:520px;position:relative;overflow:hidden}.portfolio-item--wide{grid-column:1/-1;height:680px}.portfolio-item:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(8,10,8,.82))}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.portfolio-item:hover img{transform:scale(1.02)}.portfolio-item>div{position:absolute;z-index:2;left:28px;bottom:26px;color:white}.portfolio-item b{display:block;font:30px var(--serif)}.portfolio-item span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase}.project-hero-image{width:100%;height:800px;object-fit:cover}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:20px;border-top:1px solid #a8a69d}.project-facts div{display:block}.project-facts dt{font-size:8px;letter-spacing:1.4px;text-transform:uppercase}.project-facts dd{margin:5px 0 0;font-weight:bold}.project-quote{margin:0;font:italic 38px/1.25 var(--serif);color:#c5c3bb}.decision-list h2{margin-top:0}.decision-list article{padding:20px 0;border-top:1px solid #565a50}.decision-list b{font:24px var(--serif)}.decision-list p{color:#a8aaa2}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.about-values article{border-top:1px solid #595d53;padding-top:25px}.about-values span{color:var(--gold)}.about-values h2{font-size:40px}.about-values p{color:#aaa;font-size:15px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.contact-layout h2{margin:0 0 25px}.contact-layout address{font-style:normal;line-height:1.8}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:grid;gap:8px;font-size:10px;font-weight:bold;letter-spacing:1.2px;text-transform:uppercase}.contact-form label:nth-last-of-type(1){grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #85867d;background:transparent;padding:13px 4px;border-radius:0;font:16px var(--sans);text-transform:none}.contact-form textarea{border:1px solid #85867d;padding:14px;resize:vertical}.contact-form .button{justify-self:start;border:0}.contact-form>small{align-self:center;color:#676961}.site-header+.page-main{padding-top:0}.page-main>.editorial-hero:first-child,.page-main>.service-hero:first-child{padding-top:108px}@media(max-width:800px){.portfolio-grid,.contact-layout,.about-values{grid-template-columns:1fr}.portfolio-item--wide{grid-column:auto;height:520px}.contact-layout{gap:60px}.project-hero-image{height:500px}.page-main>.editorial-hero:first-child,.page-main>.service-hero:first-child{padding-top:86px}}@media(max-width:600px){.portfolio-item,.portfolio-item--wide{height:430px}.contact-form{grid-template-columns:1fr}.contact-form label:nth-last-of-type(1){grid-column:auto}.process-detail article{grid-template-columns:45px 1fr;gap:15px}.project-hero-image{height:350px}}
@media(max-width:600px){.hero-shade{background:linear-gradient(90deg,rgba(10,12,10,.88),rgba(10,12,10,.42)),linear-gradient(0deg,rgba(10,12,10,.72),transparent 62%)}.hero-copy{text-shadow:0 2px 18px rgba(0,0,0,.55)}}
.header-language[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.primary-nav ul{gap:22px}.site-footer>div:nth-child(3),.site-footer>div:nth-child(4){display:flex;gap:20px;flex-wrap:wrap}
site-header,site-footer{display:block}site-header+.page-main{padding-top:0}
@media(min-width:801px){.service-hero h1{font-size:clamp(3.2rem,5vw,5.8rem)}}

.breadcrumbs{display:flex;flex-wrap:nowrap;gap:0;align-items:center;width:100%;min-width:0;margin:0 0 28px;color:#b9b8b1;font-size:9px;font-weight:700;line-height:1.5;letter-spacing:1px;text-transform:uppercase}.breadcrumbs a{flex:0 0 auto;color:#d9d1c4}.breadcrumbs>a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs>[aria-hidden="true"]{flex:0 0 auto;margin:0 11px;color:#74776f}.breadcrumbs [aria-current="page"]{flex:1 1 auto;min-width:0;max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-main>.editorial-hero:first-child .breadcrumbs,.page-main>.service-hero:first-child .breadcrumbs{margin-top:clamp(28px,3vw,42px)}.page-support{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(55px,8vw,120px);background:#e7e0d4}.page-support h2{margin:0 0 34px;font-size:clamp(2.4rem,3.7vw,4rem)}.support-faq{border-top:1px solid #aaa394}.support-faq details{border-bottom:1px solid #aaa394}.support-faq summary{position:relative;padding:22px 45px 22px 0;cursor:pointer;list-style:none;font:22px/1.25 var(--serif)}.support-faq summary::-webkit-details-marker{display:none}.support-faq summary:after{content:"+";position:absolute;right:8px;top:18px;color:var(--gold);font:26px var(--sans)}.support-faq details[open] summary:after{content:"−"}.support-faq details p{max-width:720px;margin:-4px 0 24px;color:#5c5f57;line-height:1.75}.page-support__aside{align-self:start;padding:42px;background:#d2c6b3}.page-support__aside h2{font-size:clamp(2rem,3vw,3.2rem)}.related-links{margin:0 0 32px;border-top:1px solid #9f947f}.related-links a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #9f947f;font-size:13px}.related-links a:hover span{text-decoration:underline;text-underline-offset:4px}.related-links b{color:#806b50}.advice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.advice-card{display:grid;grid-template-rows:360px 1fr;background:#e4dccf;overflow:hidden}.advice-card:first-child{grid-column:1/-1;grid-template-columns:1.15fr .85fr;grid-template-rows:none}.advice-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.advice-card:hover img{transform:scale(1.025)}.advice-card__copy{display:flex;flex-direction:column;align-items:flex-start;padding:34px}.advice-card__copy h2{margin:0 0 14px;font-size:clamp(1.8rem,2.7vw,3rem)}.advice-card__copy p{margin:0 0 24px;color:#5a5d55;line-height:1.7}.advice-card__copy .text-link{margin-top:auto}.blog-article{background:var(--paper)}.article-hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:720px;position:relative;background:var(--ink);color:#fff}.article-image-note{position:absolute;right:18px;bottom:15px;padding:7px 10px;background:rgba(15,17,14,.72);color:#e4e0d8;font-size:8px;letter-spacing:1.1px;text-transform:uppercase}.article-hero__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:120px 10% 80px}.article-hero h1{margin:18px 0 24px;font:400 clamp(3rem,5vw,5.7rem)/.96 var(--serif);letter-spacing:-.04em}.article-hero__dek{color:#c2c2bb;font-size:18px;line-height:1.7}.article-hero time{margin-top:22px;color:#a9a89f;font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.article-hero>img{width:100%;height:100%;object-fit:cover}.article-body{display:grid;grid-template-columns:minmax(0,760px) 280px;justify-content:center;gap:90px}.article-copy{font-size:17px;line-height:1.82}.article-copy>p:first-child{font-size:20px;color:#50534c}.article-copy h2{margin:68px 0 20px;font-size:clamp(2.2rem,3.5vw,3.7rem)}.article-copy h3{margin:36px 0 14px;font:27px/1.15 var(--serif)}.article-copy ul,.article-copy ol{padding-left:24px}.article-copy li{margin:10px 0}.article-copy a{border-bottom:1px solid var(--gold)}.article-aside{align-self:start;position:sticky;top:110px;padding:30px;background:#e3dbce}.article-aside h2{margin:0 0 18px;font-size:27px}.article-aside a{display:block;padding:13px 0;border-top:1px solid #aaa394;font-size:12px}.article-aside .button{display:inline-flex;margin-top:22px;border:0}.article-faq{margin-top:65px;border-top:1px solid #aaa394}.article-faq details{border-bottom:1px solid #aaa394}.article-faq summary{cursor:pointer;padding:20px 40px 20px 0;font:22px var(--serif)}.article-faq p{color:#5d6058}.article-cta{margin-top:70px;padding:42px;background:var(--ink);color:#fff}.article-cta h2{margin-top:0;color:#fff}.article-cta p{color:#bbbdb5}.article-cta a{border:0}.article-related{background:#e7e0d4}.article-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-related a{padding:28px;background:var(--paper);min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.article-related b{font:25px var(--serif)}.article-related span{color:var(--gold);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}
@media(max-width:1200px) and (min-width:1051px){.site-header{gap:18px;padding-inline:4%}.primary-nav ul{gap:15px}.primary-nav a,.header-language{font-size:9px;letter-spacing:1px}.header-cta{padding-inline:16px}}
@media(max-width:900px){.page-support,.article-body{grid-template-columns:1fr}.article-aside{position:static}.advice-card:first-child{grid-template-columns:1fr;grid-template-rows:420px 1fr}.article-hero{grid-template-columns:1fr}.article-hero>img{height:520px}.article-related__grid{grid-template-columns:1fr}}
@media(max-width:650px){.page-support__aside{padding:30px}.advice-grid{grid-template-columns:1fr}.advice-card:first-child{grid-column:auto;grid-template-rows:300px 1fr}.advice-card{grid-template-rows:300px 1fr}.article-hero__copy{padding:115px 6% 65px}.article-hero>img{height:340px}.article-body{padding-inline:6%;gap:50px}.article-cta{padding:30px}.breadcrumbs [aria-current="page"]{max-width:24ch}}

.footer-areas{grid-column:1/-1;padding-top:24px;border-top:1px solid #292c27}.footer-areas>b{display:block;margin-bottom:12px;color:#d2ccc1;font-size:8px;letter-spacing:1.8px;text-transform:uppercase}.footer-areas ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}.footer-areas li{color:#a5a79f}.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.footer-social a{display:inline-flex;align-items:center;gap:8px;color:#d8d3ca;transition:color .2s}.footer-social a:hover{color:#fff}.social-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid #4b4f46;border-radius:50%;font-size:10px;font-weight:800;line-height:1}.social-icon--google{color:#e8c36f}.social-icon--houzz{color:#9bc66d}.social-icon--waze{color:#76c6d6}.contact-map-section{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:clamp(45px,7vw,105px);align-items:stretch;background:#e7e0d4}.contact-map-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-map-copy h2{margin:0 0 24px;font:400 clamp(2.6rem,4vw,4.5rem)/1 var(--serif);letter-spacing:-.03em}.contact-map-copy>p:not(.eyebrow){margin:0 0 24px;color:#5e6159;font-size:17px;line-height:1.75}.contact-map-copy address{margin:0 0 28px;font-style:normal;line-height:1.7}.map-frame{min-height:570px;overflow:hidden;background:#cbc3b6}.map-frame iframe{display:block;width:100%;height:100%;min-height:570px;border:0}.service-area-block{width:100%;margin-top:48px;padding-top:28px;border-top:1px solid #b9ae9d}.service-area-block .eyebrow{margin-bottom:14px}.service-area-block ul{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}.service-area-block li{padding:8px 12px;border:1px solid #b5aa99;border-radius:999px;color:#4e514a;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
@media(max-width:850px){.contact-map-section{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:440px}.footer-social{grid-column:1/-1}}
@media(max-width:500px){.map-frame,.map-frame iframe{min-height:340px}.footer-areas ul{gap:8px 13px}.footer-social a>span:last-child{font-size:9px}}

.footer-areas a{display:inline-block;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.footer-areas a:hover{color:#fff;border-color:#6f735f}.service-area-block li{padding:0;border:0}.service-area-block a{display:block;padding:8px 12px;border:1px solid #b5aa99;border-radius:999px;transition:background .2s,border-color .2s}.service-area-block a:hover{background:#d7ccba;border-color:#948876}.location-final .lead{color:#b9bbb4}.location-method-link{display:inline-flex;gap:10px;margin-top:24px;padding-bottom:5px;border-bottom:1px solid var(--gold);color:#e4dfd6;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.location-method-link span{color:var(--gold)}

/* Hierarchical navigation based on the original site catalogue. */
.primary-nav > ul { gap: 18px; }
.primary-nav .menu-item { position: relative; }
.menu-item__top { display: flex; align-items: center; gap: 3px; }
.submenu-toggle {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.submenu-toggle span { font-size: 14px; font-weight: 300; line-height: 1; transition: transform .2s; }
.menu-item.is-submenu-open > .menu-item__top .submenu-toggle span { transform: rotate(45deg); }
.primary-nav .menu-item.is-current > .menu-item__top > a:after { width: 100%; }
.primary-nav .submenu {
  position: absolute;
  z-index: 110;
  top: calc(100% + 22px);
  left: 50%;
  display: grid;
  align-items: stretch;
  gap: 0;
  min-width: 250px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(18,21,17,.98);
  box-shadow: 0 22px 45px rgba(0,0,0,.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,10px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.primary-nav .submenu:before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 24px; }
.primary-nav .submenu a {
  display: block;
  padding: 10px 12px;
  color: #d9d7d0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .55px;
  line-height: 1.35;
  text-transform: none;
  white-space: nowrap;
}
.primary-nav .submenu a:after { display: none; }
.primary-nav .submenu a:hover,
.primary-nav .submenu a:focus-visible,
.primary-nav .submenu a[aria-current="page"] { background: #2a2e27; color: #fff; }

@media (min-width:1051px) {
  .primary-nav .menu-item--has-children:hover > .submenu,
  .primary-nav .menu-item--has-children:focus-within > .submenu,
  .primary-nav .menu-item.is-submenu-open > .submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%,0);
  }
}

@media (max-width:1350px) and (min-width:1051px) {
  .site-header { gap: 12px; padding-inline: 3%; }
  .primary-nav > ul { gap: 10px; }
  .primary-nav .menu-item__top > a,
  .header-language { font-size: 8.5px; letter-spacing: .75px; }
  .header-cta { padding-inline: 14px; }
}

@media (max-width:1250px) and (min-width:1051px) {
  .brand-name { display: none; }
}

@media (max-width:1050px) {
  .primary-nav.is-open { max-height: calc(100vh - 86px); overflow-y: auto; padding: 14px 5% 30px; }
  .primary-nav.is-open > ul { display: grid; gap: 0; }
  .primary-nav .menu-item { border-bottom: 1px solid #343830; }
  .primary-nav .menu-item__top { justify-content: space-between; }
  .primary-nav .menu-item__top > a { flex: 1; padding: 14px 0; }
  .primary-nav .submenu-toggle { width: 44px; height: 44px; }
  .primary-nav.is-open .submenu {
    position: static;
    display: none;
    min-width: 0;
    padding: 0 0 14px 16px;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .primary-nav .menu-item.is-submenu-open > .submenu { display: grid; }
  .primary-nav .submenu a { padding: 10px 12px; white-space: normal; }
}

.service-notes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding-top: 0;
}

.service-note {
  min-height: 280px;
  padding: 34px;
  background: #e8dfcd;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.service-note:nth-child(2) { background: #d7d0c3; }
.service-note:nth-child(3) { background: #c5b79f; }
.service-note span { color: var(--gold); font-size: 10px; letter-spacing: 2px; }
.service-note h2,
.service-note h3 { margin: 60px 0 12px; font: 31px/1.05 var(--serif); }
.service-note p { margin: 0; color: #555851; font-size: 14px; line-height: 1.7; }

.service-options {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 9vw;
  align-items: start;
}

.service-options h2 { margin: 0; }
.option-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #595d53; }
.option-list li { padding: 21px 0; border-bottom: 1px solid #595d53; color: #d6d5cf; }
.option-list li::before { content: "\2192"; margin-right: 14px; color: var(--gold); }

.page-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #aaa392;
  border: 1px solid #aaa392;
}

.page-links a { min-height: 150px; padding: 25px; background: var(--paper); display: flex; flex-direction: column; justify-content: space-between; }
.page-links a:hover { background: var(--sand); }
.page-links small { font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); }
.page-links b { font: 24px var(--serif); }

.cabinet-hub-intro {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 9vw;
  align-items: end;
}

.cabinet-hub-intro h2 { margin: 0; }
.cabinet-hub-intro .lead { margin: 0; max-width: 680px; }

.cabinet-hub-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  padding-top: 0;
}

.cabinet-hub-card {
  position: relative;
  grid-column: span 4;
  min-height: 410px;
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}

.cabinet-hub-card--wide { grid-column: span 7; min-height: 545px; }
.cabinet-hub-card--tall { grid-column: span 5; min-height: 545px; }
.cabinet-hub-card::after {
  content: "";
  position: absolute;
  inset: 32% 0 0;
  background: linear-gradient(transparent, rgba(9, 11, 9, .9));
}
.cabinet-hub-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}
.cabinet-hub-card:hover img { transform: scale(1.025); }
.cabinet-hub-card__copy {
  position: absolute;
  z-index: 2;
  left: 30px;
  right: 30px;
  bottom: 28px;
}
.cabinet-hub-card__copy small {
  display: block;
  margin-bottom: 9px;
  color: #d6c5ac;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.cabinet-hub-card__copy h2 {
  margin: 0;
  max-width: 520px;
  font: 400 clamp(1.75rem, 2.5vw, 2.65rem)/1.03 var(--serif);
  letter-spacing: -.025em;
}
.cabinet-hub-card__copy p {
  max-width: 500px;
  margin: 12px 0 0;
  color: #d9d9d4;
  font-size: 13px;
  line-height: 1.55;
}
.cabinet-hub-card__arrow {
  position: absolute;
  z-index: 2;
  top: 25px;
  right: 25px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  background: rgba(18, 20, 17, .22);
  backdrop-filter: blur(6px);
}

.cabinet-hub-detail .detail-feature__copy .button { align-self: flex-start; margin-top: 30px; }

.vanity-inspiration { background: #e7e1d6; }
.vanity-inspiration__heading {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8vw;
  align-items: end;
  margin-bottom: 44px;
}
.vanity-inspiration__heading h2 { margin: 0; }
.vanity-inspiration__heading .lead { margin: 0; }
.vanity-concept-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: #777970;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.vanity-concept-note::before { content: ""; width: 24px; height: 1px; background: var(--gold); }
.vanity-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}
.vanity-card {
  grid-column: span 4;
  padding: 0;
  border: 0;
  background: var(--ink);
  color: #fff;
  text-align: left;
  cursor: zoom-in;
  overflow: hidden;
}
.vanity-card:nth-child(1),
.vanity-card:nth-child(2) { grid-column: span 6; }
.vanity-card__image { position: relative; height: 360px; overflow: hidden; }
.vanity-card:nth-child(1) .vanity-card__image,
.vanity-card:nth-child(2) .vanity-card__image { height: 440px; }
.vanity-card__image::after {
  content: "+";
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 50%;
  background: rgba(15, 17, 14, .28);
  color: #fff;
  font: 300 24px/1 var(--sans);
  backdrop-filter: blur(7px);
}
.vanity-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vanity-card:hover img { transform: scale(1.025); }
.vanity-card__copy { display: block; min-height: 125px; padding: 24px 25px; }
.vanity-card__copy small {
  display: block;
  margin-bottom: 8px;
  color: #bda88d;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.vanity-card__copy b { display: block; font: 400 25px/1.08 var(--serif); }
.vanity-card__copy span { display: block; margin-top: 9px; color: #aeb0a9; font-size: 12px; line-height: 1.55; }
.laundry-sink-inspiration { background: #f1eee6; }
.laundry-sink-gallery .vanity-card,
.laundry-sink-gallery .vanity-card:nth-child(1),
.laundry-sink-gallery .vanity-card:nth-child(2) { grid-column: span 4; }
.laundry-sink-gallery .vanity-card__image,
.laundry-sink-gallery .vanity-card:nth-child(1) .vanity-card__image,
.laundry-sink-gallery .vanity-card:nth-child(2) .vanity-card__image { height: 360px; }

.vanity-lightbox {
  width: min(1280px, 94vw);
  max-width: none;
  padding: 0;
  border: 0;
  background: #11130f;
  color: #fff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
}
.vanity-lightbox::backdrop { background: rgba(8, 9, 7, .88); backdrop-filter: blur(6px); }
.vanity-lightbox__figure { margin: 0; }
.vanity-lightbox__figure img { width: 100%; max-height: 78vh; object-fit: contain; background: #0a0b09; }
.vanity-lightbox__figure figcaption { padding: 21px 75px 22px 25px; color: #c6c7c0; font-size: 13px; }
.vanity-lightbox__figure figcaption b { display: block; margin-bottom: 4px; color: #fff; font: 400 24px/1.1 var(--serif); }
.vanity-lightbox__close,
.vanity-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  background: rgba(12, 14, 11, .54);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(7px);
}
.vanity-lightbox__close { top: 18px; right: 18px; font-size: 24px; }
.vanity-lightbox__nav { top: 46%; font-size: 25px; }
.vanity-lightbox__nav--prev { left: 18px; }
.vanity-lightbox__nav--next { right: 18px; }

.vanity-system { background: var(--paper); }
.vanity-system__heading {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 9vw;
  align-items: end;
  margin-bottom: 48px;
}
.vanity-system__heading h2 { margin: 0; }
.vanity-system__heading .lead { margin: 0; }
.vanity-system__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vanity-system-card { display: flex; flex-direction: column; min-width: 0; background: #e5ded1; }
.vanity-system-card:nth-child(2) { background: #d6d0c5; }
.vanity-system-card:nth-child(3) { background: #c8beae; }
.vanity-system-card__image { height: 310px; overflow: hidden; }
.vanity-system-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vanity-system-card:hover .vanity-system-card__image img { transform: scale(1.02); }
.vanity-system-card__body { flex: 1; padding: 32px; }
.vanity-system-card__index {
  display: block;
  margin-bottom: 40px;
  color: #8a7356;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.vanity-system-card h3 { margin: 0 0 15px; font: 400 32px/1.04 var(--serif); letter-spacing: -.02em; }
.vanity-system-card p { margin: 0; color: #555851; font-size: 14px; line-height: 1.7; }
.vanity-system-card ul { margin: 25px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(65, 66, 60, .32); }
.vanity-system-card li { padding: 13px 0; border-bottom: 1px solid rgba(65, 66, 60, .32); font-size: 12px; line-height: 1.45; }
.vanity-system-card li::before { content: "\2192"; margin-right: 9px; color: #8a7356; }

.decision-system { background: var(--paper); }
.decision-system__heading {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 9vw;
  align-items: end;
  margin-bottom: 48px;
}
.decision-system__heading h2 { margin: 0; }
.decision-system__heading .lead { margin: 0; }
.decision-system__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.decision-card { display: flex; flex-direction: column; min-width: 0; background: #e5ded1; }
.decision-card:nth-child(2) { background: #d7d0c5; }
.decision-card:nth-child(3) { background: #c9beae; }
.decision-card__image { height: 305px; overflow: hidden; }
.decision-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.decision-card:hover .decision-card__image img { transform: scale(1.02); }
.decision-card__body { flex: 1; padding: 32px; }
.decision-card__index {
  display: block;
  margin-bottom: 30px;
  color: #856e52;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.65px;
  text-transform: uppercase;
}
.decision-card h3 { margin: 0 0 15px; font: 400 31px/1.04 var(--serif); letter-spacing: -.02em; }
.decision-card__question { margin: 0 0 16px !important; color: #292c27 !important; font-size: 12px !important; font-weight: 700; line-height: 1.55 !important; }
.decision-card__question::before { content: "?"; display: inline-grid; place-items: center; width: 21px; height: 21px; margin-right: 8px; border: 1px solid #8a7356; border-radius: 50%; color: #8a7356; font-size: 10px; }
.decision-card p { margin: 0; color: #555851; font-size: 14px; line-height: 1.7; }
.decision-card ul { margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(65, 66, 60, .32); }
.decision-card li { padding: 13px 0; border-bottom: 1px solid rgba(65, 66, 60, .32); font-size: 12px; line-height: 1.45; }
.decision-card li::before { content: "\2192"; margin-right: 9px; color: #8a7356; }

.decision-lens { background: #ded6c8; }
.decision-lens__heading { max-width: 930px; margin-bottom: 42px; }
.decision-lens__heading h2 { margin: 0 0 22px; }
.decision-lens__heading .lead { margin: 0; }
.decision-lens__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #a9a18f; border: 1px solid #a9a18f; }
.decision-lens article { min-height: 245px; padding: 34px; background: var(--paper); }
.decision-lens article span { color: #8a7356; font-size: 9px; letter-spacing: 1.6px; }
.decision-lens article h3 { margin: 52px 0 12px; font: 400 29px/1.05 var(--serif); }
.decision-lens article p { margin: 0; color: #5d6059; font-size: 13px; line-height: 1.65; }

.faq-list { max-width: 1000px; margin: auto; }
.faq-list details { border-top: 1px solid #aaa79d; }
.faq-list details:last-child { border-bottom: 1px solid #aaa79d; }
.faq-list summary { cursor: pointer; list-style: none; padding: 28px 55px 28px 0; position: relative; font: 25px/1.25 var(--serif); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 8px; top: 24px; color: var(--gold); font: 28px var(--sans); }
.faq-list details[open] summary::after { content: "\2212"; }
.faq-list details p { max-width: 800px; margin: -8px 0 30px; color: #62645d; line-height: 1.75; }

.material-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.material-card { padding: 40px; min-height: 250px; background: #e6ded0; }
.material-card:nth-child(3n + 2) { background: #d4c8b4; }
.material-card:nth-child(3n) { background: #c5c6bc; }
.material-card h2 { margin: 0 0 15px; font-size: 36px; }
.material-card p { color: #555851; line-height: 1.7; }

.legal-note { max-width: 960px; }
.legal-note h2 { margin-top: 0; }
.legal-note p, .legal-note li { color: #c2c3bc; line-height: 1.75; }
.legal-note a { border-bottom: 1px solid var(--gold); }

.legal-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
  min-height: 650px;
  background: var(--ink);
}

.legal-feature .legal-note {
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.legal-feature > img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
  object-position: 55% center;
}

.hero-caption { margin-top: 14px; font-size: 9px; letter-spacing: 1.4px; text-transform: uppercase; color: #8b8d86; }

.detail-feature {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 620px;
  padding: 0;
  background: #ddd5c7;
}

.detail-feature > img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.detail-feature__copy { padding: 85px clamp(35px, 6vw, 90px); display: flex; flex-direction: column; justify-content: center; }
.detail-feature__copy h2 {
  margin: 0 0 25px;
  font: 400 clamp(2.35rem, 3.6vw, 4.15rem)/1.02 var(--serif);
  letter-spacing: -.03em;
  text-wrap: balance;
}
.detail-feature__copy > p:not(.eyebrow) { color: #565951; font-size: 16px; line-height: 1.75; }
.detail-points { margin: 25px 0 0; padding: 0; list-style: none; border-top: 1px solid #aaa18f; }
.detail-points li { padding: 16px 0; border-bottom: 1px solid #aaa18f; font-size: 13px; }
.detail-points li::before { content: "\2713"; margin-right: 12px; color: #876f51; }

/* Kitchen service and inspiration pages intentionally answer different needs. */
.kitchen-service-range { background: #e7e1d6; }
.kitchen-service-range__heading {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 8vw;
  align-items: end;
  margin-bottom: 46px;
}
.kitchen-service-range__heading h2,
.kitchen-service-range__heading .lead { margin: 0; }
.kitchen-service-range__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.kitchen-service-card { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 340px; background: #f1eee6; overflow: hidden; }
.kitchen-service-card:nth-child(2),
.kitchen-service-card:nth-child(3) { background: #d8d0c2; }
.kitchen-service-card > img { width: 100%; height: 100%; object-fit: cover; }
.kitchen-service-card > div { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.kitchen-service-card span,
.kitchen-service-benefits__grid article > span,
.inspiration-reading > span { color: #8a7356; font-size: 9px; font-weight: 700; letter-spacing: 1.55px; text-transform: uppercase; }
.kitchen-service-card h3 { margin: 34px 0 13px; font: 400 29px/1.06 var(--serif); letter-spacing: -.02em; }
.kitchen-service-card p { margin: 0; color: #565951; font-size: 13px; line-height: 1.68; }

.kitchen-service-benefits { display: grid; grid-template-columns: .78fr 1.22fr; gap: 8vw; }
.kitchen-service-benefits__intro h2 { margin: 0 0 24px; }
.kitchen-service-benefits__intro > p:last-child { color: #b4b6af; line-height: 1.75; }
.kitchen-service-benefits__grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #4b4f46; border-left: 1px solid #4b4f46; }
.kitchen-service-benefits__grid article { min-height: 245px; padding: 30px; border-right: 1px solid #4b4f46; border-bottom: 1px solid #4b4f46; }
.kitchen-service-benefits__grid article > span { color: #bda88d; }
.kitchen-service-benefits__grid h3 { margin: 52px 0 12px; font: 400 27px/1.08 var(--serif); }
.kitchen-service-benefits__grid p { margin: 0; color: #adafa8; font-size: 13px; line-height: 1.65; }
.kitchen-service-page .method-section { background: #ded6c8; }
.kitchen-service-page .method-intro > p:last-child,
.kitchen-service-page .method-list p { color: #62645d; }
.kitchen-service-page .method-list,
.kitchen-service-page .method-list li { border-color: #aaa18f; }
.kitchen-service-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; background: #f1eee6; }
.kitchen-service-faq__heading h2 { margin: 0; }
.kitchen-final-cta { text-align: center; }
.kitchen-final-cta h2 { max-width: 900px; margin: 0 auto 24px; }
.kitchen-final-cta > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 30px; color: #b7b9b2; font-size: 17px; line-height: 1.7; }
.kitchen-final-cta__actions,
.inspiration-to-project__actions { display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap; }
.button--outline-light { border: 1px solid rgba(255, 255, 255, .45); color: #fff; background: transparent; }

.kitchen-inspiration { background: #e7e1d6; }
.kitchen-inspiration-gallery .vanity-card { background: #151813; }
.kitchen-inspiration-gallery .vanity-card__copy { min-height: 145px; }
.room-inspiration { background: #e7e1d6; }
.room-inspiration:nth-of-type(even) { background: #ded6c8; }
.room-inspiration-gallery .vanity-card:nth-child(n + 3) { grid-column: span 3; }
.room-inspiration-gallery .vanity-card__image,
.room-inspiration-gallery .vanity-card:nth-child(n + 3) .vanity-card__image { height: 330px; }
.room-inspiration-gallery .vanity-card:nth-child(1) .vanity-card__image,
.room-inspiration-gallery .vanity-card:nth-child(2) .vanity-card__image { height: 440px; }
.room-inspiration-gallery .vanity-card__copy { min-height: 145px; }
.kitchen-ideas-hero img { object-position: center; }
.inspiration-to-project { display: grid; grid-template-columns: 1.05fr .95fr; gap: 9vw; align-items: start; background: #d8d0c2; }
.inspiration-to-project h2 { margin: 0 0 23px; }
.inspiration-to-project__actions { justify-content: flex-start; margin-top: 32px; }
.inspiration-reading { border-top: 1px solid #a79e8e; }
.inspiration-reading > span { display: block; padding: 18px 0; }
.inspiration-reading a { display: flex; justify-content: space-between; gap: 20px; padding: 21px 0; border-top: 1px solid #a79e8e; font: 400 21px/1.2 var(--serif); transition: padding .2s; }
.inspiration-reading a::after { content: "\2197"; color: #876f51; font: 16px var(--sans); }
.inspiration-reading a:hover { padding-left: 8px; }

@media (max-width: 900px) {
  .service-notes { grid-template-columns: 1fr; }
  .service-note { min-height: 220px; }
  .service-options { grid-template-columns: 1fr; gap: 45px; }
  .page-links { grid-template-columns: repeat(2, 1fr); }
  .cabinet-hub-intro { grid-template-columns: 1fr; gap: 28px; }
  .cabinet-hub-card,
  .cabinet-hub-card--wide,
  .cabinet-hub-card--tall { grid-column: span 6; min-height: 430px; }
  .cabinet-hub-card--wide { grid-column: 1 / -1; min-height: 520px; }
  .vanity-inspiration__heading { grid-template-columns: 1fr; gap: 28px; }
  .vanity-system__heading { grid-template-columns: 1fr; gap: 28px; }
  .vanity-system__grid { grid-template-columns: 1fr; }
  .vanity-system-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .vanity-system-card__image { height: 100%; min-height: 390px; }
  .decision-system__heading { grid-template-columns: 1fr; gap: 28px; }
  .decision-system__grid { grid-template-columns: 1fr; }
  .decision-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .decision-card__image { height: 100%; min-height: 410px; }
  .decision-lens__grid { grid-template-columns: 1fr; }
  .decision-lens article { min-height: 0; }
  .decision-lens article h3 { margin-top: 35px; }
  .vanity-card,
  .vanity-card:nth-child(1),
  .vanity-card:nth-child(2) { grid-column: span 6; }
  .vanity-card__image,
  .vanity-card:nth-child(1) .vanity-card__image,
  .vanity-card:nth-child(2) .vanity-card__image { height: 360px; }
  .detail-feature { grid-template-columns: 1fr; }
  .detail-feature > img { min-height: 480px; }
  .legal-feature { grid-template-columns: 1fr; min-height: 0; }
  .legal-feature > img { min-height: 0; height: 420px; }
  .kitchen-service-range__heading,
  .kitchen-service-benefits,
  .kitchen-service-faq,
  .inspiration-to-project { grid-template-columns: 1fr; gap: 40px; }
  .kitchen-service-card { grid-template-columns: 1fr; }
  .kitchen-service-card > img { height: 300px; }
  .room-inspiration-gallery .vanity-card:nth-child(n + 3) { grid-column: span 6; }
  .room-inspiration-gallery .vanity-card:nth-child(n + 3) .vanity-card__image { height: 360px; }
}

@media (max-width: 600px) {
  .material-grid, .page-links { grid-template-columns: 1fr; }
  .page-links a { min-height: 120px; }
  .cabinet-hub-grid { gap: 12px; }
  .cabinet-hub-card,
  .cabinet-hub-card--wide,
  .cabinet-hub-card--tall { grid-column: 1 / -1; min-height: 390px; }
  .cabinet-hub-card__copy { left: 23px; right: 23px; bottom: 23px; }
  .cabinet-hub-card__copy p { font-size: 12px; }
  .vanity-gallery { gap: 12px; }
  .vanity-card,
  .vanity-card:nth-child(1),
  .vanity-card:nth-child(2) { grid-column: 1 / -1; }
  .vanity-card__image,
  .vanity-card:nth-child(1) .vanity-card__image,
  .vanity-card:nth-child(2) .vanity-card__image { height: 330px; }
  .vanity-lightbox { width: 100vw; }
  .vanity-lightbox__figure img { max-height: 72vh; }
  .vanity-lightbox__nav { top: auto; bottom: 20px; }
  .vanity-lightbox__figure figcaption { padding-right: 22px; padding-bottom: 80px; }
  .vanity-system-card { display: flex; }
  .vanity-system-card__image { height: 300px; min-height: 0; }
  .vanity-system-card__body { padding: 27px; }
  .vanity-system-card__index { margin-bottom: 28px; }
  .decision-card { display: flex; }
  .decision-card__image { height: 300px; min-height: 0; }
  .decision-card__body { padding: 27px; }
  .decision-card__index { margin-bottom: 25px; }
  .service-note { padding: 28px; }
  .service-note h2,
  .service-note h3 { margin-top: 38px; }
  .faq-list summary { font-size: 21px; }
  .detail-feature > img { min-height: 340px; }
  .detail-feature__copy { padding: 65px 6%; }
  .legal-feature > img { height: 320px; }
  .kitchen-service-range__grid,
  .kitchen-service-benefits__grid { grid-template-columns: 1fr; }
  .kitchen-service-card { min-height: 0; }
  .kitchen-service-benefits__grid article { min-height: 210px; }
  .kitchen-final-cta__actions,
  .inspiration-to-project__actions { align-items: stretch; flex-direction: column; }
  .kitchen-final-cta__actions .button,
  .inspiration-to-project__actions .button { width: 100%; }
  .room-inspiration-gallery .vanity-card:nth-child(n + 3) { grid-column: 1 / -1; }
  .room-inspiration-gallery .vanity-card:nth-child(n + 3) .vanity-card__image { height: 330px; }
}

/* Primary-hub consolidation: each hub has a distinct job and a clear next step. */
.text-link--light { color: #f0ece4; border-color: #89765e; }
.text-link--light span { color: #cbb99e; }

.local-trust-section,
.ideas-hub-closing,
.hub-next-step,
.cabinet-hub-faq {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: clamp(45px, 8vw, 120px);
  align-items: center;
}
.local-trust-section h2,
.ideas-hub-closing h2,
.hub-next-step h2,
.cabinet-hub-faq h2 { margin: 0; text-wrap: balance; }
.local-trust-section p:not(.eyebrow),
.ideas-hub-closing > div:last-child > p { margin: 0; color: #b8bab3; font-size: 17px; line-height: 1.75; }
.local-trust-section__actions,
.ideas-hub-closing__actions,
.hub-next-step__actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.local-trust-section__actions { justify-content: flex-end; }
.ideas-hub-closing__actions { margin-top: 30px; }
.hub-next-step__actions { justify-content: flex-end; }

.project-photography { background: #e7e0d4; }
.concept-direction { background: #d7cdbd; }
.project-photography .section-heading,
.concept-direction .section-heading { align-items: end; }
.project-photography .section-heading .lead,
.concept-direction .section-heading .lead { max-width: 530px; margin: 0; }
.portfolio-grid--projects { grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); }
.portfolio-grid--projects .portfolio-item--wide { grid-column: auto; }
.portfolio-grid--projects .portfolio-item { height: 610px; }
.portfolio-grid--concepts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio-grid--concepts .portfolio-item--wide { grid-column: 1 / -1; }

.planning-path { background: #e7e0d4; }
.planning-path__heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; align-items: end; margin-bottom: 45px; }
.planning-path__heading .eyebrow,
.planning-path__heading h2 { margin: 0; }
.planning-path__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #aaa18f; border-left: 1px solid #aaa18f; }
.planning-path__grid article { display: flex; min-height: 330px; flex-direction: column; padding: 32px; border-right: 1px solid #aaa18f; border-bottom: 1px solid #aaa18f; }
.planning-path__grid article > span { color: #8a7356; font-size: 10px; letter-spacing: 1.8px; }
.planning-path__grid h3 { margin: 58px 0 15px; font: 31px/1.08 var(--serif); }
.planning-path__grid p { margin: 0 0 28px; color: #5d6058; line-height: 1.7; }
.planning-path__grid .text-link { align-self: flex-start; margin-top: auto; }

.cabinet-hub-faq { background: #e7e0d4; align-items: start; }
.cabinet-hub-faq .faq-list { width: 100%; margin: 0; }

@media (max-width: 900px) {
  .local-trust-section,
  .ideas-hub-closing,
  .hub-next-step,
  .cabinet-hub-faq,
  .planning-path__heading { grid-template-columns: 1fr; gap: 35px; }
  .local-trust-section__actions,
  .hub-next-step__actions { justify-content: flex-start; }
  .planning-path__grid { grid-template-columns: 1fr; }
  .planning-path__grid article { min-height: 250px; }
  .portfolio-grid--projects { grid-template-columns: 1fr; }
  .portfolio-grid--projects .portfolio-item { height: 520px; }
}

@media (max-width: 600px) {
  .local-trust-section__actions,
  .ideas-hub-closing__actions,
  .hub-next-step__actions { align-items: stretch; flex-direction: column; }
  .local-trust-section__actions .button,
  .ideas-hub-closing__actions .button,
  .hub-next-step__actions .button { width: 100%; }
  .planning-path__grid article { min-height: 0; padding: 28px; }
  .planning-path__grid h3 { margin-top: 38px; }
  .portfolio-grid--projects .portfolio-item { height: 430px; }
}

/* Phone-first conversion actions. */
.utility-bar {
  position: absolute;
  z-index: 101;
  top: 0;
  right: 0;
  left: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 0 5.5%;
  border-bottom: 1px solid #30342e;
  background: #0d0f0c;
  color: #b9bbb4;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}
.utility-bar__promise { white-space: nowrap; }
.utility-bar__meta { display: flex; align-items: center; gap: 25px; white-space: nowrap; }
.utility-bar__phone { display: inline-flex; align-items: baseline; gap: 8px; color: #d6d1c7; transition: color .2s; }
.utility-bar__phone:hover { color: #fff; }
.utility-bar__phone strong { color: #fff; font-size: 11px; letter-spacing: .45px; }
.site-header { top: 36px; }
.site-header.is-scrolled { top: 0; }
.site-header + .page-main { padding-top: 36px; }

.contact-band__actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.button--outline-dark { border: 1px solid #55594f; color: var(--ink); background: transparent; }
.contact-band__phone { min-width: 210px; }

.footer-contact { align-items: flex-start; }
.footer-phone { display: flex; flex-direction: column; padding-right: 22px; border-right: 1px solid #30342e; }
.footer-phone span { color: #8e9089; font-size: 7px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.footer-phone strong { margin-top: 5px; color: #f1ece3; font: 24px/1 var(--serif); letter-spacing: 0; }

.mobile-contact-bar { display: none; }

.contact-form-wrap { min-width: 0; }
.contact-form-message { margin: 0 0 28px; padding: 16px 18px; border-left: 3px solid var(--gold); background: #e7dfcf; color: #353831; }
.contact-form-message--error { border-left-color: #8d4d43; background: #eee0dc; }
.contact-form__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Keep the desktop home hero clear of both header rows at wide/short and enlarged-text sizes. */
@media (min-width: 701px) {
  .home-hero {
    height: auto;
    min-height: max(760px, 100svh);
    padding: 180px 0 clamp(70px, 10vh, 105px);
  }
  .hero-copy { margin: 0 0 0 6%; }
  .hero-copy h1 { font-size: clamp(3.4rem, min(6vw, 10vh), 6.5rem); }
}

@media (max-width: 700px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .utility-bar { display: none; }
  .site-header { top: 0; }
  .site-header.is-scrolled { top: 0; }
  .site-header + .page-main { padding-top: 0; }
  .home-hero {
    height: auto;
    min-height: 100svh;
    align-items: flex-start;
    padding: 112px 0 calc(104px + env(safe-area-inset-bottom));
  }
  .hero-copy { width: 90%; margin: 0 5%; }
  .hero-copy h1 { font-size: clamp(2.8rem, 12vw, 3.15rem); line-height: .94; }
  .hero-copy > p:not(.pill) { margin: 19px 0 23px; line-height: 1.58; }
  .hero-copy .pill { margin-bottom: 14px; }
  .home-hero .scroll-cue { display: none; }
  .page-main > .service-hero:first-child > div { padding-top: 24px; }
  .page-main > .service-hero:first-child .breadcrumbs { margin-top: 0; }
  .contact-band__actions { align-items: stretch; flex-direction: column; }
  .contact-band__actions .button { width: 100%; }
  .footer-contact { display: grid !important; gap: 18px !important; }
  .footer-phone { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid #30342e; }
  .mobile-contact-bar {
    position: fixed;
    z-index: 250;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    min-height: 72px;
    padding: 9px max(10px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    border-top: 1px solid #45493f;
    background: rgba(14, 16, 13, .97);
    box-shadow: 0 -12px 35px rgba(0, 0, 0, .24);
    backdrop-filter: blur(16px);
  }
  .mobile-contact-bar a { display: flex; min-width: 0; align-items: center; justify-content: center; padding: 0 12px; }
  .mobile-contact-bar__contact { border: 1px solid #6b7064; border-radius: 999px 0 0 999px; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: 1.15px; text-transform: uppercase; }
  .mobile-contact-bar__phone { flex-direction: column; border-radius: 0 999px 999px 0; background: var(--sand); color: var(--ink); }
  .mobile-contact-bar__phone span { font-size: 7px; font-weight: 800; letter-spacing: 1.1px; line-height: 1; text-transform: uppercase; }
  .mobile-contact-bar__phone strong { margin-top: 5px; font-size: 13px; letter-spacing: .25px; line-height: 1; }
}
