:root{--paper:#fcfbfa;--light:#ffffff;--ink:#1a1918;--muted:#6b6863;--olive:#8a7a58;--walnut:#2c2a26;--line:#e3ded5;--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',sans-serif}
.portfolio-heading{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:52px 7% 58px;align-items:center;background:#f5f3ed}
.portfolio-heading h1{font-size:clamp(48px,5.8vw,84px);line-height:1.06}
.portfolio-heading>div>p:not(.eyebrow){max-width:370px;margin:30px 0 12px;color:var(--muted);font-size:15px}
.portfolio-heading figure img{width:100%;height:auto;aspect-ratio:640/427;object-fit:contain}
.portfolio-heading figcaption{font-size:10px;margin-top:14px;color:var(--muted)}
.portfolio-summary{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:55px;font-size:11px;color:var(--muted)}
.portfolio-gallery .work-controls{flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);margin-bottom:40px;padding-bottom:15px}
.portfolio-gallery .filter{font-size:13px;min-height:44px}
.portfolio-gallery .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}
.portfolio-gallery .project:nth-child(even){margin-top:0}
.portfolio-gallery .project-image img{aspect-ratio:auto;height:auto}
.portfolio-gallery .project-title{font-size:27px;line-height:1.2}
body:has(.portfolio-heading) #gallery-detail>img{width:100%;height:auto;max-height:65svh;object-fit:contain;background:#eeebe3}
@media(max-width:1100px){.portfolio-gallery .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-heading{grid-template-columns:1fr;gap:36px;padding:40px 6% 50px}.portfolio-heading h1{font-size:clamp(46px,12vw,66px)}.portfolio-heading>div>p:not(.eyebrow){margin-top:22px}.portfolio-summary{margin-top:28px}.portfolio-heading figure img{height:auto;max-height:none}.portfolio-gallery .project-grid{grid-template-columns:1fr;gap:38px}.portfolio-gallery .work-controls{gap:4px 20px}.portfolio-gallery .section-heading>p{margin-top:20px}}
.animate-on-scroll { opacity: 0; transform: translateY(30px); transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1s cubic-bezier(0.2, 0.8, 0.2, 1); }
.animate-on-scroll.is-visible { opacity: 1; transform: translateY(0); }*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--olive);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}figure{margin:0}button{border:0}p{margin:0 0 22px}h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0}h1{font-size:clamp(56px,6.1vw,96px);letter-spacing:-.045em}h2{font-size:clamp(40px,4vw,62px);letter-spacing:-.025em}h3{font-size:30px;letter-spacing:-.02em}em{font-weight:400;color:var(--olive)}::selection{background:#d9dcc8}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}.brand{width:164px;display:flex;align-items:center}.brand img{width:150px;height:auto}.header-cta{font-size:11px;border:1px solid #8a8476;padding:11px 19px;display:flex;gap:27px}.header-cta span{font-size:18px;line-height:1.3}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:600;line-height:1.5;display:flex;align-items:center;gap:12px;margin-bottom:27px}.tiny-cross{font-size:18px;line-height:1;color:var(--olive);font-weight:400}.hero{display:grid;grid-template-columns:45% 55%;min-height:660px;position:relative}.hero-copy{padding:78px 7% 0 9.3%;display:flex;flex-direction:column;position:relative}.hero-copy .eyebrow{margin-bottom:38px;font-size:8.5px}.hero h1{font-size:clamp(54px,5.75vw,92px);line-height:1.04;position:relative;z-index:1;white-space:nowrap}.hero h1 em{display:block}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{background:var(--walnut);color:var(--light);display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 23px;font-size:11px;line-height:1.5;min-height:48px;border:1px solid var(--walnut);transition:background .2s,color .2s}.button:hover{background:#3e332a}.button span{font-size:20px;line-height:1}.button.outline{background:transparent;color:var(--ink);border-color:#9c9485}.button.outline:hover{background:var(--ink);color:var(--paper)}.text-link{font-size:11px;border-bottom:1px solid #a7a091;padding:8px 0;display:inline-flex;gap:25px;align-items:center;min-height:44px}.text-link span{font-size:18px}.hero-foot{margin-top:auto;padding:45px 0 28px;display:flex;flex-direction:column;gap:5px}.hero-foot span{font-size:7px;letter-spacing:.14em;color:#777366}.hero-foot .coordinate{font-size:9px;letter-spacing:.13em}.section{padding:90px 6.3%}.intro{display:grid;grid-template-columns:29% 71%;padding-top:100px;padding-bottom:100px}.intro h2{font-size:clamp(38px,3.8vw,58px)}.work{background:#ece9e1}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading>p{max-width:330px;color:var(--muted);font-size:12px}.work-controls{display:flex;gap:20px;padding-bottom:5px}.filter{background:none;padding:12px 1px;border-bottom:1px solid transparent;font-size:11px;color:#69665d}.filter.active{border-color:var(--walnut);color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px 38px;align-items:start}.project:nth-child(even){margin-top:65px}.project[hidden]{display:none}.project-image{width:100%;position:relative;display:block;overflow:hidden;padding:0;background:#d1cabb}.project-image img{width:100%;aspect-ratio:1.37;object-fit:cover;height:auto;transition:transform .7s}.project-image:hover img{transform:scale(1.025)}.image-arrow{position:absolute;bottom:16px;right:16px;background:var(--paper);border-radius:50%;height:40px;width:40px;display:grid;place-items:center;font-size:20px}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}.project-title{background:transparent;padding:0;text-align:left;font:32px/1.15 var(--serif)}.project>p{font-size:10px;color:var(--muted);margin-top:10px}.services-intro{padding-right:80px}.services-intro>p:not(.eyebrow){max-width:260px;font-size:12px;color:#cfcebf;margin:30px 0}.services-intro .button.outline{color:var(--paper);border-color:#a2a38f}.invitation{display:flex;justify-content:space-between;gap:50px;padding:90px 6.3%;align-items:center;background:#e3dfd2}.invitation h2{font-size:clamp(38px,3.9vw,60px)}.invitation>div:last-child p{font-size:11px;color:#626156}.invitation>div:last-child{flex-shrink:0}footer{padding:65px 6.3% 20px;background:#f5f2eb}.footer-top{display:grid;grid-template-columns:1fr 1fr 1.5fr 1.2fr;gap:40px;padding-bottom:45px}.wordmark{font:39px/.8 var(--serif);display:block;letter-spacing:-.05em}.wordmark span{display:block;font:9px var(--sans);letter-spacing:.35em;margin:13px 0 0 3px}.footer-top p{font-size:10px;color:var(--muted);max-width:245px}.footer-top .eyebrow{font-size:8px;margin-bottom:16px}.phone{display:block;font:21px var(--serif);margin-bottom:13px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:22px}.footer-bottom small{font-size:8px;color:var(--muted)}.footer-bottom nav{display:flex;gap:23px;font-size:9px}.page-heading{padding-top:66px;padding-bottom:60px}.page-heading>div{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.page-heading h1{font:12px var(--sans);letter-spacing:0}.page-heading h1>span{display:block;font:clamp(52px,5.5vw,82px)/1.04 var(--serif);letter-spacing:-.04em;margin-top:18px}.page-heading>div>p{max-width:330px;color:var(--muted);font-size:12px;margin:0 0 8px}.about-spread{padding-top:20px;display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:center}.about-spread figure img{width:100%;height:490px}.about-spread figcaption,figure>figcaption{font-size:9px;color:var(--muted);margin-top:14px}.about-spread p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:25px}.philosophy{background:#eae7de}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:55px}.three-columns p{font-size:12px;color:var(--muted);margin-top:18px}.people{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.people p:not(.eyebrow){color:var(--muted);font-size:12px}.service-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center;border-bottom:1px solid var(--line)}.service-detail:nth-of-type(odd){background:#eeebe3}.service-detail>div>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:340px;margin-top:25px}.service-detail figure img{width:100%;height:400px}.contact-layout{padding-top:20px;display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.contact-layout form{padding:35px 0 0;border-top:1px solid var(--line)}.contact-layout form h2{font-size:35px;margin-bottom:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-grid label{font-size:11px;display:block}.form-grid label span{color:var(--muted)}.wide{grid-column:1/-1}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #b7b0a3;border-radius:0;padding:12px 0;color:var(--ink);min-height:46px;font-size:13px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8a8579;font-size:12px}select{cursor:pointer}.form-grid .consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.7;margin-bottom:25px}.consent input{width:18px;height:18px;accent-color:var(--olive);flex-shrink:0}.form-note{font-size:10px;color:var(--muted);margin-top:17px}.contact-info{padding-top:30px}.contact-info>div{margin-bottom:35px}.contact-info p{font-size:12px;color:var(--muted);max-width:330px;margin-top:12px}.contact-phone{font:39px var(--serif)}.contact-info h3{font-size:32px}.journal{padding-top:15px}.journal-entry{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;margin-bottom:75px}.journal-entry>a img{width:100%;height:390px}.journal-entry h2{font-size:46px}.journal-entry p:not(.eyebrow){font-size:12px;color:var(--muted);margin:25px 0}.journal-entry small{display:block;font-size:9px;margin-top:25px;color:var(--muted)}.article-image{max-width:1000px;margin:0 auto;padding:0 30px}.article-image img{width:100%;height:auto;max-height:570px}.article-body{max-width:750px;margin:60px auto 100px;padding:0 25px}.article-body p{font-size:14px;line-height:1.95;color:#605d54}.article-body h2,.article-body h3,.article-body h4{font:36px/1.15 var(--serif);margin:40px 0 18px}.article-body a{border-bottom:1px solid var(--line)}body:has(.article-body) .page-heading h1{font:clamp(42px,5vw,72px)/1.05 var(--serif);max-width:800px}dialog{max-width:900px;width:calc(100% - 40px);max-height:90dvh;padding:45px;background:var(--paper);color:var(--ink);border:1px solid var(--line);overflow:auto}dialog::backdrop{background:#24231ddb;backdrop-filter:blur(5px)}.dialog-close{display:block;margin:0 0 20px auto;padding:10px;background:transparent;border-bottom:1px solid var(--line);min-height:44px;font-size:12px}#gallery-detail img{width:100%;max-height:450px;height:auto;object-fit:contain}#gallery-detail h2{font-size:44px;margin:25px 0 18px}#gallery-detail p{font-size:12px;max-width:660px}#gallery-detail .eyebrow{margin-top:25px}
@media(min-width:1600px){body{max-width:1920px;margin:auto}.hero{min-height:780px}.hero-copy{padding-top:115px}.eyebrow{font-size:11px}.hero-copy .eyebrow{font-size:10px}}
@media(max-width:1100px){.hero{grid-template-columns:46% 54%;min-height:620px}.hero-copy{padding-top:65px}.hero h1{font-size:61px}.hero-actions{gap:13px}.hero-actions .text-link{font-size:10px}.hero-actions .button{gap:20px}.hero-copy .eyebrow{font-size:7px}.services-intro{padding-right:45px}.footer-top{gap:25px}.invitation{gap:25px}.invitation>div:last-child{flex-shrink:1}.project-title{font-size:28px}}
@media(max-width:760px){html{scroll-padding-top:25px}.brand{width:135px}.brand img{width:128px}.header-cta{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 7% 36px}.hero-copy .eyebrow{font-size:8px;margin-bottom:25px}.hero h1{font-size:clamp(54px,10.5vw,76px);line-height:1.01}.hero h1 em{display:inline}.hero-actions{gap:25px}.hero-foot{display:none}.section{padding:62px 7%}.intro{display:block}.intro h2{font-size:39px}.eyebrow{font-size:8px;margin-bottom:22px}h2{font-size:41px}.section-heading{display:block;margin-bottom:30px}.work-controls{margin-top:22px;gap:28px}.filter{min-height:44px}.project-grid{grid-template-columns:1fr;gap:37px}.project:nth-child(even){margin-top:0}.project-image img{aspect-ratio:1.3}.project-meta{font-size:8px;margin-top:15px}.project-title{font-size:30px}.project>p{margin-bottom:0}.services-intro{padding-right:0;padding-bottom:40px}.services-intro h2 br:nth-of-type(2){display:none}.services-intro>p:not(.eyebrow){max-width:320px;margin:20px 0}.process .section-heading>p{margin-top:25px}.invitation{padding:60px 7%;display:block}.invitation h2{font-size:42px}.invitation>div:last-child{margin-top:28px}.invitation>div:last-child p br{display:none}.footer-top{grid-template-columns:1fr 1fr;gap:32px 22px}.footer-top>p{margin:0}.footer-top .wordmark{font-size:37px}.footer-top>div:nth-last-child(2){grid-column:1}.phone{font-size:19px}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom nav{order:-1;width:100%;justify-content:space-between;gap:10px}.footer-bottom nav a{min-height:44px;display:flex;align-items:center}.footer-bottom small{font-size:7px}footer{padding:50px 7% 25px}.page-heading{padding-top:42px;padding-bottom:35px}.page-heading>div{display:block}.page-heading h1>span{font-size:53px;margin-top:13px}.page-heading>div>p{margin-top:25px;font-size:12px}.about-spread{display:flex;flex-direction:column;gap:35px;padding-top:10px}.about-spread figure img{height:auto;aspect-ratio:1.1}.about-spread h2{font-size:41px}.three-columns{grid-template-columns:1fr;gap:24px;margin-top:35px}.three-columns>div{border-top:1px solid var(--line);padding-top:24px}.three-columns p{margin-bottom:0}.people{display:block}.people>div:last-child{margin-top:28px}.service-detail{display:flex;flex-direction:column;gap:35px;align-items:stretch}.service-detail figure img{height:auto;aspect-ratio:1.2}.service-detail>div>p:not(.eyebrow){max-width:none}.contact-layout{display:block;padding-top:0}.contact-layout form h2{font-size:32px}.form-grid{gap:22px}.contact-info{margin-top:50px}.contact-phone{font-size:36px}.journal{padding-top:15px}.journal-entry{grid-template-columns:1fr;gap:28px;margin-bottom:55px}.journal-entry>a img{height:auto;aspect-ratio:1.2}.journal-entry h2{font-size:40px}.journal-entry p:not(.eyebrow){margin:20px 0}.article-body{margin-top:35px;padding-inline:7%}.article-image{padding-inline:7%}body:has(.article-body) .page-heading h1{font-size:46px}dialog{padding:20px;width:calc(100% - 24px)}#gallery-detail h2{font-size:34px}.dialog-close{margin-bottom:15px}}
@media(max-width:380px){.hero h1{font-size:49px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:16px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1}.footer-top{grid-template-columns:1fr}.footer-top>div:nth-last-child(2){grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project-image:hover img{transform:none}}/* Keep small scene controls comfortable on touch screens. */
/* Production accessibility and responsive refinements. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.55}
.form-intro{font-size:14px;color:var(--muted);max-width:480px}.form-note a{text-decoration:underline;text-underline-offset:3px}#enquiry-copy{font-size:14px;line-height:1.7;min-height:230px}
body.dialog-open{overflow:hidden}.project-title{display:inline-block;min-height:44px;padding-block:5px}.project-image:focus-visible{outline-offset:5px}
.filter,.footer-bottom nav a{min-height:44px;display:inline-flex;align-items:center}
.button,.text-link,.header-cta{font-size:13px}.hero h1{font-size:clamp(48px,5.1vw,84px);white-space:normal}.section-heading>p,.services-intro>p:not(.eyebrow),.invitation>div:last-child p,.about-spread p:not(.eyebrow),.three-columns p,.people p:not(.eyebrow),.service-detail>div>p:not(.eyebrow),.contact-info p,.journal-entry p:not(.eyebrow),.page-heading>div>p{font-size:14px;line-height:1.85}
.footer-top p,.form-note,.project>p,.project-meta,figure>figcaption,.footer-bottom small{font-size:11px}
.form-grid label{font-size:13px}input:not([type=checkbox]),select,textarea{font-size:16px}input::placeholder,textarea::placeholder{font-size:14px;color:#716c61}
.form-grid .consent{font-size:12px;min-height:44px;align-items:center}.article-body p{font-size:16px}:root{--olive:#676d50}.page-heading>div>*{min-width:0}
@media(min-width:761px) and (max-width:1050px){.hero h1{font-size:48px}.hero-copy{padding-top:50px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:14px}.page-heading h1>span{font-size:54px}.header-cta{padding-inline:12px;gap:12px}.contact-layout{gap:7%}.contact-phone{font-size:31px}.hero{min-height:650px}}
@media(max-width:760px){
 .hero h1{font-size:clamp(43px,10.8vw,72px)}.hero-actions{gap:15px}.hero-actions .button{font-size:12px;padding-inline:17px}.hero-actions .text-link{font-size:12px}.eyebrow,.hero-copy .eyebrow{font-size:9px}.page-heading h1>span{font-size:clamp(40px,10vw,60px)}.contact-phone{font-size:34px}
 .service-detail figure img,.project-image img,.about-spread figure img{aspect-ratio:640/427;height:auto;object-fit:contain}.work-controls{gap:22px}.footer-bottom nav{font-size:12px}.journal-entry>a img{height:auto;aspect-ratio:640/427}
}

@media(min-width:761px) and (max-width:1000px){
 .page-heading>div{display:block}.page-heading>div>p{max-width:560px;margin-top:28px}.page-heading h1>span{font-size:58px}
 .contact-layout{grid-template-columns:1fr}.contact-layout form{max-width:660px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.contact-info>div{margin:0}.service-detail{gap:6%}
}
.work { background: #f7f5f0; border-top: 1px solid var(--line); }
.invitation { background: #f7f5f0; }
footer { background: #fcfbfa; border-top: 1px solid var(--line); }
.philosophy { background: #f2efe9; }
.service-detail:nth-of-type(odd) { background: #f7f5f0; }
.project-image { background: #eae5db; }
.location-map-shell{position:relative}
.location-map{display:block;width:100%;height:300px;border:1px solid var(--line);border-radius:20px;background:#e7e7e2;pointer-events:none}
.map-pin-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 14px;border-radius:8px;background:#fff;color:#282c25;box-shadow:0 5px 20px #1d251d55;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}
.map-pin-label>span:first-child{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#cc3932;color:white;font-size:22px;line-height:1}
.map-pin-label small{display:block;margin-top:3px;color:#62675e;font-size:10px;font-weight:500}

.map-directions{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:9px;padding:11px 17px;border-radius:999px;background:#14213a;color:#fff;font-size:11px;font-weight:600;box-shadow:0 5px 18px #14213a42}
.map-directions span{font-size:17px;line-height:1}
@media(max-width:760px){.location-map{height:260px;border-radius:15px}.map-directions{right:10px;bottom:10px}}
.social-links{display:flex;flex-wrap:wrap;gap:7px 18px}.social-links a{font-size:10px;border-bottom:1px solid #a7a091;padding:4px 0}.footer-top .social-links{margin-top:18px}

/* About page */
body:has(.about-spread) .page-heading{padding-bottom:48px}
.about-spread{padding-top:70px;border-top:1px solid var(--line)}
.about-spread>div:not(.about-stats){max-width:510px}
.about-spread figure{position:relative}
.about-spread figure:after{content:'M';position:absolute;right:18px;bottom:35px;display:grid;place-items:center;width:46px;height:46px;background:var(--olive);color:#fff;font:25px var(--serif)}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-block:72px;background:var(--walnut);color:var(--light)}
.about-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 38px;border-left:1px solid #ffffff26}
.about-stats>div:first-child{border-left:0}
.about-stats strong{font:clamp(50px,5vw,76px)/1 var(--serif);color:#c8cda9;font-weight:400}
.about-stats span{margin-top:18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.about-stats small{max-width:220px;margin-top:12px;color:#c9c5bc;font-size:10px;line-height:1.7}
.philosophy .three-columns{counter-reset:principle}
.philosophy .three-columns>div{counter-increment:principle;padding-top:22px;border-top:1px solid #c9c3b8}
.philosophy .three-columns>div:before{content:'0' counter(principle);display:block;margin-bottom:32px;color:var(--olive);font:18px var(--serif)}
.people{align-items:start;border-top:1px solid var(--line)}
.people>div:last-child{max-width:500px;padding-top:8px}
@media(max-width:760px){body:has(.about-spread) .page-heading{padding-bottom:36px}.about-spread{padding-top:42px}.about-spread figure:after{right:12px;bottom:30px;width:40px;height:40px;font-size:21px}.about-stats{grid-template-columns:1fr;padding-block:22px}.about-stats>div{padding:34px 0;border-left:0;border-top:1px solid #ffffff26}.about-stats>div:first-child{border-top:0}.about-stats strong{font-size:54px}.philosophy .three-columns>div:before{margin-bottom:20px}}

.founder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:9%;align-items:center;background:#eeefe7;color:#30372e}
.founder-portrait img{width:100%;height:auto;aspect-ratio:1067/1056;object-fit:cover;object-position:center}
.founder-portrait figcaption{display:flex;justify-content:space-between;margin-top:14px;color:#62695c;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.founder-copy{max-width:540px}
.founder .eyebrow,.founder .tiny-cross{color:#616d55}
.founder h2 em{color:#616d55}
.founder-copy>p{color:#565e50;font-size:14px;line-height:1.85;margin-top:25px}
.founder-copy .founder-lead{color:#30372e;font:24px/1.5 var(--serif)}
.founder-principle{margin:34px 0 30px;padding:24px 0;border-block:1px solid #cdd2c4}
.founder-principle span{font-size:9px;letter-spacing:.18em;color:#616d55}
.founder-principle p{max-width:430px;margin:10px 0 0;color:#565e50;font-size:13px;line-height:1.75}
.founder .button{background:#46523e;color:#fff;border-color:#46523e}
.founder .button:hover{background:#35402f}
@media(max-width:760px){.founder{grid-template-columns:1fr;gap:42px}.founder-copy{max-width:none}.founder-copy .founder-lead{font-size:22px}.founder-principle{margin-block:28px}.founder-portrait figcaption{font-size:8px}}/* Match the landing-page header across the inner pages. */
footer .wordmark img{width:190px;height:auto}


@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){}


@media(min-width:761px){body:has(.about-spread) .page-heading>.eyebrow,body:has(.about-spread) .page-heading>div{position:relative;top:-28px}}
body:has(.about-spread) main>:is(.founder,.about-spread,.philosophy,.invitation){box-shadow:inset 0 1px rgba(74,86,61,.1)}
body:has(.about-spread) .animate-on-scroll{opacity:1;transform:none;transition:none}
body:has(.about-spread) :is(.section,.invitation) .eyebrow{font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;color:#616d55}
body:has(.about-spread) :is(.section,.invitation) .eyebrow .tiny-cross{color:inherit}

body:has(.about-spread) .page-heading{position:relative;isolation:isolate;display:flex;min-height:clamp(560px,68svh,720px);padding:165px 7% 68px;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(90deg,rgba(17,22,15,.6),rgba(17,22,15,.08) 75%),linear-gradient(0deg,rgba(17,22,15,.3),transparent 65%),url('/assets/optimized/assets-about-hero-hd.9681c272bf12.webp') center 55%/cover no-repeat}
body:has(.about-spread) .page-heading .eyebrow{color:#e8e6dd}
body:has(.about-spread) .page-heading .tiny-cross{color:#c8cda9}
body:has(.about-spread) .page-heading>div{align-items:end}
body:has(.about-spread) .page-heading h1{color:#fff}
body:has(.about-spread) .page-heading h1>span{max-width:850px;font-size:clamp(62px,6.6vw,104px);line-height:.98}
body:has(.about-spread) .page-heading h1 em{color:#ddd6b8}
body:has(.about-spread) .page-heading>div>p{max-width:390px;color:#ecebe4;font-size:14px;line-height:1.8}
body:has(.about-spread) .about-spread{grid-template-columns:1.15fr .85fr;gap:0 10%;align-content:center;min-height:100svh;padding:34px 7%;border-top:0;background:#f5f3ed}
body:has(.about-spread) .about-spread figure img{width:100%;height:320px;object-fit:cover}
body:has(.about-spread) .about-spread figure:after{background:#343b2f}
body:has(.about-spread) .about-spread h2{font-size:clamp(40px,3.7vw,56px)}
body:has(.about-spread) .about-spread p:not(.eyebrow){font-size:16px;line-height:1.75;margin-top:18px}
body:has(.about-spread) .about-spread>.about-stats{grid-column:1/-1;margin-top:24px;padding:18px 0 0;border-bottom:0}
body:has(.about-spread) .about-stats{grid-template-columns:repeat(3,1fr);padding:50px 7%;background:#f5f3ed;color:var(--ink);border-block:1px solid var(--line)}
body:has(.about-spread) .about-stats>div{padding:18px 36px;border-left-color:var(--line)}
body:has(.about-spread) .about-stats strong{color:#343b2f}
body:has(.about-spread) .about-stats span{color:#4c5147}
body:has(.about-spread) .about-stats small{color:var(--muted)}
body:has(.about-spread) .about-spread>.about-stats>div{padding:6px 24px}
body:has(.about-spread) .about-spread>.about-stats strong{font-size:clamp(42px,4vw,58px)}
body:has(.about-spread) .about-spread>.about-stats span{margin-top:10px}
body:has(.about-spread) .about-spread>.about-stats small{margin-top:6px}
body:has(.about-spread) .philosophy{display:flex;min-height:100svh;padding-block:42px;flex-direction:column;justify-content:center;background:#f7f8f1}
body:has(.about-spread) .philosophy h2{max-width:820px;font-size:clamp(38px,3.5vw,52px)}
body:has(.about-spread) .philosophy .three-columns{gap:40px;margin-top:26px}
body:has(.about-spread) .philosophy .three-columns p{margin-top:10px;line-height:1.7}
body:has(.about-spread) .about-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 7% 110px;background:#f7f8f1}
body:has(.about-spread) .about-gallery figure:nth-child(even){margin-top:70px}
body:has(.about-spread) .about-gallery img{width:100%;height:420px;object-fit:cover}
body:has(.about-spread) .about-gallery figcaption{color:#64645c;letter-spacing:.12em;text-transform:uppercase}
body:has(.about-spread) .philosophy>.about-gallery{margin-top:28px;padding:0;background:transparent}
body:has(.about-spread) .philosophy>.about-gallery figure{margin-top:0}
body:has(.about-spread) .philosophy>.about-gallery img{height:clamp(150px,calc(100svh - 530px),320px)}
body:has(.about-spread) .founder{padding:110px 7%;background:linear-gradient(135deg,#fffefa,#f5f6ed)}
@media(min-width:1000px){
 body:has(.about-spread) .founder{min-height:100svh;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%;padding:32px 7%}
 .founder-copy{max-width:720px}
 .founder-portrait img{max-height:calc(100svh - 110px);object-fit:contain}
 .founder .eyebrow{margin-bottom:14px}
 .founder h2{font-size:clamp(38px,3.2vw,52px)}
 .founder-copy>p{font-size:14px;line-height:1.6;margin:12px 0 0}
 .founder-copy .founder-lead{font-size:21px;line-height:1.35}
 .founder-principle{margin:16px 0;padding:12px 0}
 .founder-principle p{max-width:none;margin-top:6px;font-size:13px;line-height:1.55}
}
body:has(.about-spread) .invitation{background:#f5f3ed}
@media(max-width:760px){body:has(.about-spread) .page-heading{min-height:76svh;padding:130px 7% 50px;background-position:55% center}body:has(.about-spread) .page-heading>div{display:block}body:has(.about-spread) .page-heading h1>span{font-size:clamp(52px,14vw,70px);line-height:1.02}body:has(.about-spread) .page-heading>div>p{margin-top:26px;font-size:14px}body:has(.about-spread) .about-spread{min-height:0;padding:72px 7%;gap:45px}body:has(.about-spread) .about-spread figure img{height:auto;aspect-ratio:640/427}body:has(.about-spread) .about-spread>.about-stats{margin-top:0;padding:20px 0 0}body:has(.about-spread) .about-stats{grid-template-columns:1fr;padding-block:20px}body:has(.about-spread) .about-stats>div{padding:32px 0}body:has(.about-spread) .philosophy,body:has(.about-spread) .founder{min-height:0;padding-block:78px}body:has(.about-spread) .about-gallery{grid-template-columns:1fr;padding:0 7% 78px;gap:28px}body:has(.about-spread) .philosophy>.about-gallery{margin-top:36px;padding:0}body:has(.about-spread) .about-gallery figure:nth-child(even){margin-top:0}body:has(.about-spread) .about-gallery img,body:has(.about-spread) .philosophy>.about-gallery img{height:auto;aspect-ratio:4/3}}

/* Services opening */
.services-hero{display:grid;grid-template-columns:48% 52%;background:#f1eee6;min-height:min(780px,calc(100svh - 100px))}
.services-hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(42px,5vw,88px) 12% 30px 14%}
.services-hero-copy .eyebrow{font-size:10px;letter-spacing:2px;color:#666b50;margin-bottom:34px}
.services-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,5.1vw,88px);letter-spacing:-.045em;line-height:1.08;margin:0}
.services-hero h1 em{color:#666b50;font-weight:400}
.services-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#67645c;max-width:355px;margin:28px 0 30px}
.services-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-bottom:40px}
.services-hero-actions .button{background:#62684f;color:#fff;border-color:#62684f;font-size:12px;padding:18px 22px;gap:28px}
.services-hero-actions .button:hover{background:#454c36}
.services-hero-actions .text-link{font-size:12px}
.services-hero-foot{margin-top:auto;border-top:1px solid #d8d5c9;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;width:100%;font-size:8px;letter-spacing:1.4px;color:#777667}
.services-hero-photo{position:relative;min-height:100%;overflow:hidden;margin:0;background:#bdb4a6}
.services-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}
.services-hero-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#201e19aa);pointer-events:none}
.services-hero-photo figcaption{position:absolute;bottom:34px;left:35px;z-index:1;display:grid;gap:9px;color:white;font-size:11px}
.services-hero-photo figcaption span:first-child{letter-spacing:2px;font-size:9px}
.services-hero-scroll{position:absolute;right:34px;bottom:34px;z-index:1;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff88;border-radius:50%;color:white;font-size:22px}
@media(max-width:1100px){.services-hero-copy{padding:44px 9% 26px}.services-hero h1{font-size:clamp(48px,5.8vw,68px)}.services-hero-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.services-hero-actions{gap:16px}.services-hero-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:760px){.services-hero{grid-template-columns:1fr;min-height:0}.services-hero-copy{padding:36px 7% 24px}.services-hero-copy .eyebrow{margin-bottom:22px}.services-hero h1{font-size:clamp(48px,12vw,72px);line-height:1.03}.services-hero h1 br:nth-of-type(2){display:none}.services-hero h1 em:before{content:" "}.services-hero-copy>p:not(.eyebrow){margin:20px 0 23px;max-width:360px}.services-hero-actions{margin-bottom:0;gap:20px}.services-hero-actions .button{padding:15px 18px;font-size:11px}.services-hero-foot{display:none}.services-hero-photo{height:380px;min-height:0;margin:0 5% 22px}.services-hero-photo>img{object-position:50% 56%}.services-hero-photo figcaption{left:20px;bottom:22px}.services-hero-scroll{right:20px;bottom:22px;width:42px;height:42px}}

/* Contact: a welcoming introduction and a focused enquiry area. */
.contact-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8%;padding:60px 7%;background:#f3f1e9;align-items:center}
.contact-hero h1{font-size:clamp(46px,4.8vw,78px);line-height:1.08}
.contact-hero h1 em{color:#626c52}
.contact-hero>div>p:not(.eyebrow){max-width:470px;font-size:16px;line-height:1.8;color:#63675d;margin:26px 0}
.contact-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px}
.contact-hero-caption{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #d6d8cc;padding-top:22px;margin-top:40px;font-size:11px;letter-spacing:.08em;color:#646b5c}
.contact-hero-caption span{letter-spacing:0}
.contact-hero figure{position:relative;margin:0}
.contact-hero figure img{width:100%;height:clamp(390px,36vw,580px);object-fit:cover;object-position:center 52%;border-radius:80px 6px 6px 6px}
.contact-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 22px;color:white;background:linear-gradient(transparent,#211c16b3);border-radius:0 0 6px 6px;font-size:13px}
body:has(.contact-hero) .contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7%;padding:72px 7% 88px;background:#fcfbf8;align-items:start}
body:has(.contact-hero) .contact-layout form{background:white;border:1px solid #e0e2d8;border-radius:12px;padding:38px;max-width:none;scroll-margin-top:28px;box-shadow:0 12px 40px #29332206}
body:has(.contact-hero) .contact-layout form h2{font-size:clamp(36px,3.3vw,50px);margin-bottom:20px}
body:has(.contact-hero) .form-intro{margin-bottom:30px}
body:has(.contact-hero) .form-grid{gap:22px 20px}
body:has(.contact-hero) .form-grid label{font-size:14px;font-weight:500}
body:has(.contact-hero) :is(input:not([type=checkbox]),select,textarea){margin-top:8px;border:1px solid #cbd0c2;background:#fcfcf9;border-radius:6px;padding:12px 14px;min-height:50px}
body:has(.contact-hero) .form-grid .consent{font-size:13px;font-weight:400;line-height:1.6;margin-bottom:0;align-items:flex-start}
body:has(.contact-hero) .consent input{margin-top:3px}
body:has(.contact-hero) fieldset>.button{margin-top:26px;width:100%}
body:has(.contact-hero) .form-note{font-size:12px;line-height:1.7;margin-bottom:0}
body:has(.contact-hero) .contact-info{display:block;padding:4px 0 0;margin-top:0}
body:has(.contact-hero) .contact-info>div{margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid #e0e2d8}
body:has(.contact-hero) .contact-info .eyebrow{margin-bottom:15px}
body:has(.contact-hero) .contact-phone{font-family:var(--sans);font-size:clamp(24px,2.5vw,36px);font-weight:500;letter-spacing:-.03em}
body:has(.contact-hero) .contact-info p{max-width:390px;margin-bottom:8px}
body:has(.contact-hero) .contact-info .location-map-shell{padding:0;border:0}
body:has(.contact-hero) .location-map{height:340px;border-radius:8px}
body:has(.contact-hero) .map-directions{background:#515d45;min-height:44px;font-size:13px;border-radius:6px}
body:has(.contact-hero) .social-links{gap:12px 22px}
body:has(.contact-hero) .social-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
body:has(.contact-hero) .contact-info>div:first-child{padding:28px 30px;margin-bottom:16px;background:#343b2f;color:#f5f3ed;border:0;border-radius:12px}
body:has(.contact-hero) .contact-info>div:first-child :is(.eyebrow,p){color:#e1e5d8}
body:has(.contact-hero) .contact-info>div:nth-child(2){padding:26px 30px;background:#f3f1e9;border:1px solid #e0e2d8;border-radius:12px}
body:has(.contact-hero) .contact-info>div:nth-child(2) p{overflow-wrap:anywhere}
body:has(.contact-hero) .contact-info>div:nth-child(2) .text-link{margin-top:8px}
.partner-paths{min-height:calc(100svh - 99px);display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;align-content:center;background:#e9e7de}
.partner-paths-heading{padding-right:8%;align-self:center}.partner-paths-heading>p:not(.eyebrow){max-width:390px;color:#5f6259;margin-top:24px}
.partner-card{background:#fcfbf8;border:1px solid #d7d9cf;border-radius:10px;padding:38px;display:flex;min-height:380px;flex-direction:column;align-items:flex-start}
.partner-card>span{font-size:10px;letter-spacing:.12em;color:var(--olive)}.partner-card h3{font-size:38px;margin:40px 0 18px}.partner-card p{color:var(--muted)}.partner-card .button{margin-top:auto}
.lead-layout form{max-width:none}.lead-layout .contact-info{padding-top:18px}.form-status{min-height:26px;margin:18px 0 0;color:#344c23}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.button:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.contact-hero{grid-template-columns:1fr;gap:32px;padding:36px 6%}.contact-hero h1{font-size:clamp(43px,10.5vw,65px)}.contact-hero-caption{margin-top:28px}.contact-hero figure img{height:300px;border-top-left-radius:55px}.contact-hero-actions{gap:14px 22px}body:has(.contact-hero) .contact-layout{grid-template-columns:1fr;padding:38px 6% 50px;gap:38px}body:has(.contact-hero) .contact-layout form{padding:25px 20px}body:has(.contact-hero) .form-grid{grid-template-columns:1fr;gap:20px}body:has(.contact-hero) .form-grid label{grid-column:1}body:has(.contact-hero) .contact-info{padding:0 4px}}
@media(max-width:900px){.partner-paths{min-height:0;grid-template-columns:1fr;padding-block:60px}.partner-paths-heading{padding:0}.partner-card{min-height:300px}}


/* Shared typography and controls for the homepage and interior pages. */
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:100;background:#f5f3ed;color:#282c25;border:1px solid #343b2f;border-radius:8px;padding:18px;box-shadow:0 4px 30px #0003;max-width:680px}
body.studio-home .trust>div>span{color:#50564a}
@media(max-width:760px){body:has(.about-spread) .page-heading{background-image:linear-gradient(90deg,rgba(17,22,15,.6),rgba(17,22,15,.08) 75%),linear-gradient(0deg,rgba(17,22,15,.3),transparent 65%),url('/assets/optimized/assets-about-hero-hd-medium.749eee5cb50c.webp')}}
@media(max-width:760px){:root body:has(.contact-hero) .contact-hero{background-image:linear-gradient(90deg,#f2f0e8f2 0%,#f2f0e8eb 56%,#f2f0e8b4 100%),url('/assets/optimized/assets-projects-room-12-small.7d8024dc033b.webp')}}
body .service-category>span{color:#53584e;opacity:1}
body .service-category[aria-current]>span,body .service-category:hover>span{color:#fff}
.cookie-banner p{margin:0 0 12px}.cookie-banner div{display:flex;flex-wrap:wrap;gap:12px}
.cookie-banner button,[data-service-pause]{padding:12px 18px;min-height:44px;border:1px solid currentColor;background:#f5f3ed;color:#282c25;border-radius:6px}
.cookie-banner a,.form-privacy a{ text-decoration:underline }
.footer-policy{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.footer-policy button{background:transparent;border:0;color:inherit;text-decoration:underline;min-height:44px}
.youtube-panel .form-privacy{margin:12px 0 22px}.youtube-panel .form-privacy a{text-decoration:underline}
.missing-links,.confirmation{display:flex;flex-wrap:wrap;gap:16px}.confirmation p{flex-basis:100%}.form-privacy{margin-top:16px;font-size:14px}
[data-service-pause]{position:absolute;z-index:4;right:24px;top:24px;font-size:14px}
@media(max-width:760px){[data-service-pause]{top:auto;bottom:18px;right:112px;font-size:12px;padding:8px}.cookie-banner{max-height:50svh;overflow:auto}}
:root{--sans:'Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;--paper:#f5f3ed;--ink:#282c25;--muted:#686b61;--olive:#343b2f;--walnut:#583723;--line:#d6d8cc;--control-accent:var(--olive);--surface-dark:#252a22;--surface-mid:#eaece3;--surface-light:#f5f3ed;--text-dark:#282c25;--text-light:#f4f1e9;--text-soft:#d1d6c9}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:root body :is(.button,.text-link,.header-cta,.nav-cta,.filter,.dialog-close){font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.4;letter-spacing:.01em;min-height:48px;touch-action:manipulation}
:root body .button{padding:15px 23px;gap:26px;border-radius:6px;justify-content:center;max-width:100%;text-align:center;transition:background-color .18s,color .18s,border-color .18s;transform:none}
:root body .button:not(.light):not(.outline){background:var(--control-accent);border-color:var(--control-accent);color:#fff}
:root body .button:not(.light):not(.outline):hover{background:#3d4044;border-color:#3d4044}
:root body .button.light{background:#f7f7f5;color:#282c25}
:root body .button.light:hover{background:#e8eaeb}
:root body .text-link{gap:18px;padding:12px 0;border-bottom:1px solid currentColor;text-decoration:none}
:root body :is(.button,.text-link) span[aria-hidden]{font-family:Arial,sans-serif;font-size:20px;line-height:1;flex-shrink:0}
:root body :is(.header-cta,.nav-cta){border-radius:6px;padding:13px 20px;gap:20px}
:root body :is(.hero-actions,.services-hero-actions){gap:20px 28px;flex-wrap:wrap}
:root body .work-controls{gap:10px;flex-wrap:wrap}
:root body .filter{border:1px solid #d9dcde;border-radius:6px;padding:10px 17px;color:#44474b;background:transparent}
:root body .filter:hover{background:#eceeee}
:root body .filter.active{background:var(--control-accent);color:#fff;border-color:var(--control-accent)}
:root body .dialog-close{border:1px solid #b8bec2;border-radius:6px;padding:10px 18px}
:root body :is(.section-heading>p,.service-detail>div>p:not(.eyebrow),.three-columns p,.contact-info p,.journal-entry p:not(.eyebrow),.invitation>div>p,.founder-copy>p:not(.eyebrow),.services-hero-copy>p:not(.eyebrow),.portfolio-heading>div>p:not(.eyebrow),#gallery-detail p:not(.eyebrow)){font-size:16px;line-height:1.75}
:root body :is(.project-meta,.footer-bottom small,.services-hero-foot){font-size:11px;line-height:1.6}
:root body .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.16em}
:root body :is(input,select,textarea){font-family:var(--sans);font-size:16px;line-height:1.5}
:root body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #a47242;outline-offset:4px}
@media(max-width:760px){
 :root body :is(.button,.text-link,.filter,.dialog-close){font-size:14px}
 :root body .button{padding:14px 18px;gap:20px}
 :root body .filter{padding:10px 13px}
 :root body :is(.hero-actions,.services-hero-actions){gap:14px 22px}
}

/* A compact journal row works on both the light inner-page footer and dark home footer. */
:root body .footer-journal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 26px;padding:20px 0;border-top:1px solid currentColor}
:root body .footer-journal .eyebrow{margin:0 18px 0 0;font-size:11px;white-space:nowrap}
:root body .footer-journal a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
:root body .footer-journal a span{font-size:17px}
@media(max-width:760px){:root body .footer-journal{display:grid;gap:0;padding:18px 0}:root body .footer-journal .eyebrow{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){:root body .button{transition:none}}

/* Real interiors carry the visual story between the text sections. */
.interiors-showcase{background:var(--surface-mid);color:var(--text-dark)}
.interior-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.interior-preview{position:relative;display:block;overflow:hidden;border-radius:12px;background:#393b35}
.interior-preview img{width:100%;height:390px;object-fit:cover;transition:transform .4s}
.interior-preview:hover img{transform:scale(1.025)}
.interior-preview>span{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:55px 20px 22px;background:linear-gradient(transparent,#141813d9);color:white;font-size:16px}
.interior-preview b{font-size:20px;font-weight:400}
.interiors-showcase .section-heading>div:last-child>p{font-size:15px;line-height:1.7;color:#62665e;margin-bottom:12px}
.why-interior{margin:0;position:relative;grid-column:1;grid-row:2;border-radius:12px;overflow:hidden;align-self:start}
.why-interior img{width:100%;height:360px;object-fit:cover;object-position:center 45%}
.why-interior figcaption{position:absolute;inset:auto 0 0;padding:45px 20px 18px;background:linear-gradient(transparent,#141813d9);color:#fff;font-size:12px}
:root body .why{row-gap:30px}
:root body .why-grid{grid-column:2;grid-row:1/span 2}
.calculator-interior{width:100%;height:240px;object-fit:cover;object-position:center 50%;margin-top:24px;border-radius:12px}
@media(max-width:1000px){.interior-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interior-preview img{height:330px}}
@media(max-width:760px){
 .interior-preview-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity;padding-bottom:12px}
 .interior-preview{flex:0 0 78%;scroll-snap-align:start}
 .interior-preview img{height:280px}
 .interior-preview>span{font-size:14px;padding:40px 16px 18px}
 :root body .why{display:flex;flex-direction:column;gap:24px}
 .why-interior{width:100%}
 .why-interior img{height:240px}
 .calculator-interior{height:180px;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.interior-preview img{transition:none}.interior-preview:hover img{transform:none}}

/* Home: keep the client-inspired interior visible and let the next section peek in. */
.studio-home .hero{height:76svh;min-height:620px;max-height:760px}
.studio-home .hero-image{object-position:center 53%;animation:none}
.studio-home .hero-shade{background:linear-gradient(90deg,rgba(16,21,16,.68),rgba(16,21,16,.32) 54%,rgba(16,21,16,.08)),linear-gradient(0deg,rgba(16,21,16,.3),transparent 42%)}
.studio-home .hero-copy{max-width:850px;margin-top:94px;margin-bottom:74px;animation:none}
.studio-home .hero-bottom{bottom:38px}
.studio-home .interiors-showcase{padding-top:72px;padding-bottom:88px}
.studio-home .interiors-showcase .section-heading{margin-bottom:34px}
.studio-home .interiors-showcase .section-heading h2{max-width:650px}
.studio-home .interior-preview{box-shadow:0 13px 30px rgba(27,34,25,.17);transition:transform .28s,box-shadow .28s}
.studio-home .interior-preview img{height:370px;object-fit:cover}
.studio-home .interior-preview:last-child img{transform:scale(1.3);transform-origin:center top}
.studio-home .interior-preview:is(:hover,:focus-visible){transform:translateY(-5px);box-shadow:0 21px 42px rgba(27,34,25,.24)}
.studio-home .interior-preview:is(:hover,:focus-visible) img{transform:scale(1.045)}
.studio-home .interior-preview:last-child:is(:hover,:focus-visible) img{transform:scale(1.35)}
.studio-home .interior-preview>span{font-size:17px;font-weight:500;padding:58px 20px 22px}
@media(max-width:1000px){.studio-home .hero{min-height:600px}.studio-home .interior-preview img{height:320px}}
@media(max-width:760px){
 .studio-home .hero{height:74svh;min-height:590px;max-height:700px}
 .studio-home .hero-image{object-position:60% center}
 .studio-home .hero-shade{background:linear-gradient(90deg,rgba(13,19,14,.78),rgba(13,19,14,.42) 78%),linear-gradient(0deg,rgba(13,19,14,.35),transparent 55%)}
 .studio-home .hero-copy{margin:87px 6% 87px;width:88%}
 .studio-home .hero h1{font-size:clamp(41px,10.5vw,56px);line-height:1.08}
 .studio-home .hero-description{max-width:330px}
 .studio-home .hero-bottom{bottom:20px;left:6%;right:6%}
 .studio-home .hero-bottom>span:first-child{display:block;font-size:9px;line-height:1.5}
 .studio-home .interiors-showcase{padding-top:42px;padding-bottom:48px}
 .studio-home .interiors-showcase .section-heading{margin-bottom:26px}
 .studio-home .interior-preview-grid{display:grid;grid-template-columns:1fr;overflow:visible;gap:18px;padding:0}
 .studio-home .interior-preview{min-width:0}
 .studio-home .interior-preview img{height:260px}
}/* Home editorial composition. Scoped so inner pages keep their existing layout. */

.studio-home .hero{isolation:isolate}
.studio-home .hero:after{content:'';position:absolute;inset:88px 5% 5% auto;width:27%;border:1px solid #fff7;pointer-events:none;opacity:.5}
.studio-home .hero-shade{background:linear-gradient(90deg,rgba(13,18,13,.76),rgba(13,18,13,.27) 61%,rgba(13,18,13,.08)),linear-gradient(0deg,rgba(13,18,13,.36),transparent 43%)}
.studio-home .hero-copy{z-index:1;margin-top:120px}
.studio-home .hero-actions{gap:14px;flex-wrap:wrap}
.studio-home .hero-actions .button{min-height:54px;justify-content:center;padding:15px 23px}
.studio-home .hero-actions .hero-outline{border-color:#fff;color:#fff;background:#ffffff0e}
.studio-home .hero-actions .hero-outline:hover{background:#ffffff26}
.studio-home .interiors-showcase{position:relative;isolation:isolate;overflow:hidden;background:#ebe9df;padding-top:75px;padding-bottom:84px}
.studio-home .interiors-showcase:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f2f0e9ef 40%,#f2f0e9d9),url('/assets/optimized/assets-projects-client-08.6450d4c1bf6d.webp') center/cover;opacity:.78}
.studio-home .interiors-showcase .section-heading{display:block;max-width:900px;margin:0 0 34px}
.studio-home .interiors-showcase h2{font-size:clamp(37px,3.25vw,51px);line-height:1.1}
.studio-home .showcase-subtitle{font:clamp(17px,1.7vw,23px)/1.4 var(--serif);color:#555a4e;margin:12px 0 15px}
.studio-home .interiors-showcase .text-link{font-size:13px;min-height:44px}
.studio-home .interior-preview-grid{display:grid;grid-template-columns:1.25fr .82fr 1fr;grid-template-rows:200px 200px;gap:16px;align-items:stretch}
.studio-home .interior-preview{min-width:0;border-radius:3px;box-shadow:0 15px 35px #20271c29}
.studio-home .interior-preview:first-child{grid-row:1/3}
.studio-home .interior-preview:nth-child(2){grid-row:1/3;transform:translateY(23px)}
.studio-home .interior-preview:nth-child(3){grid-column:3;grid-row:1}
.studio-home .interior-preview:nth-child(4){grid-column:3;grid-row:2;transform:translateY(16px)}
.studio-home .interior-preview img,.studio-home .interior-preview:last-child img{width:100%;height:100%;object-fit:cover;transform:none}
.studio-home .interior-preview:nth-child(2) img{object-position:center 55%}
.studio-home .interior-preview>span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font:22px/1.2 var(--serif);padding:50px 18px 17px;background:linear-gradient(transparent,#10160fdb)}
.studio-home .interior-preview>span small{font:9px/1.4 var(--sans);letter-spacing:.15em}
.studio-home .interior-preview:is(:hover,:focus-visible){transform:translateY(-6px);box-shadow:0 25px 45px #20271c45}
.studio-home .interior-preview:nth-child(2):is(:hover,:focus-visible){transform:translateY(16px)}
.studio-home .interior-preview:nth-child(4):is(:hover,:focus-visible){transform:translateY(9px)}
.studio-home .interior-preview:is(:hover,:focus-visible) img,.studio-home .interior-preview:last-child:is(:hover,:focus-visible) img{transform:scale(1.045)}
.studio-home .reels-panel{position:relative;background:#e5e5d9;text-align:left;padding-top:68px;padding-bottom:80px}
.studio-home .reels-panel:before{content:'';position:absolute;top:0;left:8%;right:8%;height:1px;background:#afb5a7}
.studio-home .reels-heading{max-width:none;margin:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:end}
.studio-home .reels-heading .eyebrow{justify-content:flex-start;grid-column:1/-1}
.studio-home .reels-heading h2{font-size:clamp(37px,3.25vw,51px)}
.studio-home .reels-heading>p:last-child{max-width:300px;justify-self:end;margin:0 0 6px}
.studio-home .reels-rail{max-width:none}
.studio-home .reel-embed{border-radius:3px}
.studio-home .reels-profile{display:inline-block;margin-top:16px;border-bottom:1px solid currentColor;font-size:13px}
.studio-home .why{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr);gap:24px 5%;min-height:0;padding-top:68px;padding-bottom:68px;background:#273025}
.studio-home .why:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#263025f5 18%,#263025cf 60%,#263025b8),url('/assets/optimized/assets-DSC03944-HDR.709647da5f38.webp') center/cover;opacity:.92}
.studio-home .why-heading{grid-column:1;grid-row:1}
.studio-home .why-heading>p:not(.eyebrow){margin:17px 0 20px}
.studio-home .why-interior{grid-column:1;grid-row:2;height:220px;align-self:end;border-radius:2px;box-shadow:18px 18px 0 #a7b29324}
.studio-home .why-interior img{height:100%;object-fit:cover}
.studio-home .why-grid{grid-column:2;grid-row:1/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px;align-content:center}
.studio-home .why-grid article{padding-top:9px;border-color:#b0bea963}
.studio-home .why-grid article>span{font-size:22px}
.studio-home .why-grid h3{font-size:19px;margin:5px 0 3px}
.studio-home .why-grid p{font-size:13px;line-height:1.5}
.studio-home .process{position:relative;isolation:isolate;background:#e9e5d9;padding-top:78px;padding-bottom:75px}
.studio-home .process:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#e9e5d9f5,#e9e5d9da),url('/assets/optimized/assets-projects-room-11.e973b809857f.webp') center/cover}
.studio-home .process .section-heading>p{color:#434b3c}
.studio-home .process-grid{margin-top:0}
.studio-home .process-grid p{color:#4d5449}
.studio-home .reviews{position:relative;isolation:isolate;background:#e1e6dc}
.studio-home .reviews:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#e7ebe4f5,#e7ebe4eb),url('/assets/optimized/assets-Clinic-2.0e1422c82651.webp') center/cover}
.studio-home .review-disclosure{color:#465044!important;font-size:14px!important;line-height:1.5}
.studio-home .review-summary{background:#e7ebe4c9;padding:15px 20px 22px;border-right:1px solid #c6cdbd}
.studio-home .youtube-follow,.studio-home .facebook-follow{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;padding:0 0 5px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:inherit;box-shadow:none;font-size:13px;font-weight:500}
.studio-home .youtube-follow:hover,.studio-home .facebook-follow:hover{background:transparent;color:#bfc8b2}
.studio-home .facebook-follow:hover{color:#485746}
.studio-home .facebook-icon{display:none}
.studio-home .footer{display:block;padding:48px 8% 22px;background:#252d23;color:#eeeae0}
.studio-home .footer-top{display:grid;grid-template-columns:1.15fr .65fr 1.05fr 1.2fr;gap:30px;align-items:start;padding:0}
.studio-home .footer-top>div:first-child{display:block;grid-column:auto}
.studio-home .footer-brand .wordmark{align-items:flex-start}
.studio-home .footer-brand p{margin:12px 0 20px;color:#d8ddcf;font:italic 17px/1.35 var(--serif)}
.studio-home .footer-estimate{display:inline-flex;padding:11px 15px;border:1px solid #bdc5b4;font-size:12px;transition:background .2s}
.studio-home .footer-estimate:hover{background:#ffffff25}
.studio-home .footer-top nav{display:flex;flex-direction:column;gap:0}
.studio-home .footer .eyebrow{display:block;color:#bfc8b2;font-size:10px;margin:0 0 10px;letter-spacing:.15em}
.studio-home .footer-top nav a,.studio-home .footer-insights>a{display:block;width:max-content;max-width:100%;min-height:0;padding:4px 0;font-size:13px;line-height:1.4}
.studio-home .footer-invite{display:block;font:clamp(22px,2vw,30px)/1.12 var(--serif);margin:0 0 14px}
.studio-home .footer-studio address{color:#cbd1c4;font-size:12px;line-height:1.6;margin:0 0 8px}
.studio-home .footer-studio>a:last-child{font-size:13px}
.studio-home .footer-insights .socials{gap:4px 14px;margin-top:16px}
.studio-home .footer-insights .socials a{min-height:30px;font-size:12px}
.studio-home .footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #8d9a884f;margin-top:28px;padding-top:14px}
.studio-home .footer-bottom p,.studio-home .footer-bottom a{font-size:11px;color:#c8d0c1}
@media(max-width:1200px){.studio-home .footer-top{gap:22px}}
@media(max-width:1000px){.studio-home .why{grid-template-columns:1fr 1.2fr}.studio-home .why-grid{gap:12px 18px}.studio-home .footer-top{grid-template-columns:1fr 1fr;gap:30px}.studio-home .interior-preview-grid{grid-template-rows:170px 170px}}
@media(max-width:760px){
 .studio-home .header>.header-social{display:none}
 .studio-home .hero:after{display:none}
 .studio-home .hero-copy{margin-top:105px}
 .studio-home .hero-actions{flex-direction:row;gap:10px}
 .studio-home .hero-actions .button{min-height:46px;padding:10px 12px;font-size:12px}
 .studio-home .interiors-showcase{padding-top:42px;padding-bottom:55px}
 .studio-home .interiors-showcase .section-heading{margin-bottom:23px}
 .studio-home .interiors-showcase h2{font-size:clamp(34px,8.5vw,45px)}
 .studio-home .showcase-subtitle{font-size:17px;margin:8px 0 10px}
 .studio-home .interior-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:230px 165px 185px;gap:10px}
 .studio-home .interior-preview:first-child{grid-column:1/3;grid-row:1}
 .studio-home .interior-preview:nth-child(2){grid-column:1;grid-row:2/4;transform:none}
 .studio-home .interior-preview:nth-child(3){grid-column:2;grid-row:2}
 .studio-home .interior-preview:nth-child(4){grid-column:2;grid-row:3;transform:none}
 .studio-home .interior-preview img{height:100%}
 .studio-home .interior-preview>span{font-size:17px;padding:40px 11px 12px}
 .studio-home .interior-preview>span small{font-size:8px}
 .studio-home .reels-panel{padding-top:42px;padding-bottom:45px}
 .studio-home .reels-heading{display:block;margin-bottom:22px}
 .studio-home .reels-heading h2{font-size:34px}
 .studio-home .reels-heading>p:last-child{margin-top:10px;max-width:330px}
 .studio-home .why{display:block;padding-top:46px;padding-bottom:46px}
 .studio-home .why-interior{height:210px;margin:26px 0}
 .studio-home .why-grid{grid-template-columns:1fr 1fr;gap:20px 16px}
 .studio-home .why-grid h3{font-size:17px}
 .studio-home .why-grid p{font-size:12px}
 .studio-home .process{padding-top:45px;padding-bottom:48px}
 .studio-home .review-summary{padding:10px 0 20px;background:transparent}
 .studio-home .footer{padding:40px 6% 22px}
 .studio-home .footer-top{grid-template-columns:1fr 1fr;gap:30px 20px}
 .studio-home .footer-brand{grid-column:1/-1}
 .studio-home .footer-insights{grid-column:1/-1}
 .studio-home .footer-insights .socials{margin-top:10px}
}
@media(max-width:420px){.studio-home .hero-actions .button{font-size:11px;padding-inline:10px}.studio-home .footer-top{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.studio-home .interior-preview:is(:hover,:focus-visible) img{transform:none}}
@media(prefers-reduced-motion:reduce){.studio-home .interior-preview{transition:none}.studio-home .interior-preview:is(:hover,:focus-visible){transform:none}.studio-home .interior-preview:last-child:is(:hover,:focus-visible) img{transform:scale(1.3)}}

/* Compact phone rhythm, shared by both page layouts. */
@media(max-width:760px){
 :root body{font-size:14px;line-height:1.65}
 :root body :is(.section,.invitation){padding-block:40px}
 :root body:has(.about-spread) :is(.founder,.about-spread,.philosophy,.invitation){min-height:0;padding-block:44px}
 :root body :is(h2,.contact h2,.invitation h2,.services-introduction h2,.founder h2,.about-spread h2,.philosophy h2){font-size:32px;line-height:1.12}
 :root body :is(.section-heading,.reels-heading){margin-bottom:24px}
 :root body .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:16px}
 :root body :is(.section-heading>p,.service-detail>div>p:not(.eyebrow),.three-columns p,.contact-info p,.journal-entry p:not(.eyebrow),.invitation>div>p,.founder-copy>p:not(.eyebrow),.services-hero-copy>p:not(.eyebrow),.portfolio-heading>div>p:not(.eyebrow),#gallery-detail p:not(.eyebrow)){font-size:14px;line-height:1.65}
 :root body :is(.button,.text-link,.filter,.dialog-close){font-size:13px;min-height:44px}
 :root body .button{padding:11px 16px;gap:18px}
 :root body .text-link{padding-block:9px;gap:14px}
 :root body .filter{padding:8px 12px}
 :root body :is(.portfolio-heading,.contact-hero){padding-block:28px;gap:26px}
 :root body :is(.portfolio-heading h1,.contact-hero h1,.services-hero h1){font-size:clamp(36px,9.2vw,46px);line-height:1.09}
 :root body .services-hero-copy{padding-block:28px}
 :root body .services-hero-photo{height:280px}
 :root body .contact-hero figure img{height:240px}
 :root body .portfolio-heading figure img{max-height:none;object-fit:contain}
 :root body .portfolio-summary{margin-top:22px;padding-top:16px}
 :root body:has(.about-spread) .page-heading{min-height:560px;padding-top:120px;padding-bottom:36px}
 :root body:has(.about-spread) .page-heading h1>span{font-size:clamp(38px,10vw,50px);line-height:1.08}
 :root body:has(.about-spread) .about-spread>.about-stats{padding-block:0;gap:0}
 :root body:has(.about-spread) .about-stats>div{padding-block:18px}
 :root body .project-title{font-size:26px}
 :root body .portfolio-gallery .project-grid{gap:28px}
 :root body .invitation>div:last-child{margin-top:20px}
 :root body:has(.contact-hero) .contact-layout{padding-block:32px;gap:28px}
 :root body:has(.contact-hero) .contact-layout form{padding:24px 18px}
 :root body:has(.contact-hero) .contact-layout form h2{font-size:32px}
 :root body :is(footer,.footer){padding:30px 6% 18px}
 :root body .footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 18px;padding-bottom:24px}
 :root body footer .wordmark,:root body footer .wordmark img{width:130px;max-width:100%;height:auto}
 :root body .footer-top>p{margin:0;font-size:12px;line-height:1.6}
 :root body .footer-top :is(p,address){font-size:12px;line-height:1.65;margin-block:10px}
 :root body .footer-top .eyebrow{font-size:10px;margin:0 0 10px}
 :root body .footer-top .phone{font-size:16px;line-height:1.5}
 :root body .footer-top .text-link{font-size:12px;margin-top:4px}
 :root body .footer-top .social-links{gap:4px 14px;margin-top:10px}
 :root body footer :is(.social-links,.socials) a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 :root body .footer>.footer-top>div:first-child{grid-column:1/-1;display:block}
 :root body .footer>.footer-top>nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 12px;font-size:12px}
 :root body .footer>.footer-top>nav a{display:flex;align-items:center;min-height:44px}
 :root body .footer-bottom{margin-top:0;padding-top:16px;gap:12px;flex-wrap:wrap}
 :root body .footer-bottom nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0 18px;font-size:12px}
 :root body .footer-bottom :is(p,small){font-size:10px;line-height:1.6;margin:0}
}

/* One header and footer across the generated site. */
:root body>.site-header{position:sticky;top:0;z-index:30;display:flex;width:100%;height:88px;min-height:88px;padding:0 4.5%;align-items:center;gap:clamp(16px,2vw,32px);background:rgba(250,249,245,.95);color:var(--ink);border-bottom:1px solid #777e6d2e;box-shadow:0 8px 28px #1e271b15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.studio-home>.site-header{position:sticky}
:root body>.site-header .wordmark{display:block;flex:0 0 auto;margin:0}
:root body>.site-header .brand-logo{width:clamp(150px,13vw,190px);height:auto}
:root body>.site-header .desktop-nav{display:flex;position:static;width:auto;height:auto;padding:0;margin:auto;gap:clamp(13px,1.5vw,24px);align-items:center;background:none;box-shadow:none;flex-wrap:nowrap}
:root body>.site-header .desktop-nav a{display:inline-flex;position:relative;align-items:center;height:44px;min-height:44px;padding:0;font:500 15px/1.4 var(--sans);white-space:nowrap;border:0}
:root body>.site-header .desktop-nav a:after{content:'';position:absolute;display:block;bottom:5px;left:0;right:auto;width:0;height:1px;background:currentColor;transition:width .25s}
:root body>.site-header .desktop-nav a:hover:after,:root body>.site-header .desktop-nav a[aria-current]:after{width:100%}
:root body>.site-header .desktop-nav a[aria-current]{color:var(--olive);font-weight:700}
:root body>.site-header .desktop-nav .estimate-nav{display:none}
:root body>.site-header .header-social{display:flex;align-items:center;gap:4px;margin:0}
:root body>.site-header .header-social a{display:grid;place-items:center;width:32px;height:40px;color:var(--olive)}
:root body>.site-header .header-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
:root body>.site-header .header-social a[aria-label="Facebook"] svg{fill:#1877f2;stroke:none}
:root body>.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:46px;padding:10px 16px;gap:0;border:1px solid #777e6d;border-radius:6px;font:500 14px/1.4 var(--sans);white-space:nowrap;text-align:center}
:root body>.site-header .nav-cta:hover{background:var(--olive);color:#fff}
:root body>.site-header .mobile-nav[hidden]{display:none!important}
:root body>.site-header .menu-toggle{display:none}
body .footer{display:block;background:#252d23;color:#eeeae0;padding:44px 6% 20px}
body .footer .footer-top{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:28px;align-items:start;padding:0}
body .footer .footer-brand .wordmark{display:block;width:160px}
body .footer .footer-brand .brand-logo{width:160px;height:auto}
body .footer .footer-brand p{font:italic 17px/1.4 var(--serif);color:#e2e6d9;margin:12px 0 18px}
body .footer .footer-estimate{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #bdc5b4;border-radius:6px;font-size:14px}
body .footer .footer-top nav{display:flex;flex-direction:column;gap:0;margin:0;height:auto;align-items:stretch}
body .footer .eyebrow{display:block;color:#d1d9c7;font-size:11px;margin:0 0 10px;letter-spacing:.13em}
body .footer .footer-top nav a,body .footer .footer-insights>a{display:block;width:max-content;max-width:100%;min-height:0;padding:4px 0;font:400 14px/1.55 var(--sans)}
body .footer .footer-top nav a:after{display:none}
body .footer .footer-invite{font:clamp(22px,2vw,29px)/1.15 var(--serif);margin-bottom:12px}
body .footer .footer-studio address{font:400 14px/1.65 var(--sans);color:#e0e5d9;margin-bottom:10px}
body .footer .footer-studio>a:last-child{font-size:15px}
body .footer .footer-insights .socials{display:flex;flex-wrap:wrap;gap:0 16px;margin-top:13px}
body .footer .footer-insights .socials a{min-height:36px;font-size:14px;display:inline-flex;align-items:center}
body .footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:14px;border-top:1px solid #8d9a884f}
body .footer .footer-bottom p,body .footer .footer-bottom a{font-size:13px;color:#d7dfd0;margin:0}
@media(max-width:1100px){:root body>.site-header .nav-cta{display:none}:root body>.site-header .desktop-nav{margin-left:auto;margin-right:0}}
@media(max-width:1000px){
 :root body>.site-header{height:80px;min-height:80px;padding:0 6%;justify-content:space-between}
 body.studio-home>.site-header{height:80px;min-height:80px}
 :root body>.site-header .brand-logo{width:145px}
 :root body>.site-header .desktop-nav,:root body>.site-header>.header-social{display:none}
 :root body>.site-header .menu-toggle{display:inline-flex;align-items:center;gap:12px;padding:10px 0;font:14px/1.4 var(--sans);min-height:44px;border:0;background:transparent}
 :root body>.site-header .mobile-nav{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-items:stretch;position:absolute;top:80px;left:0;right:0;width:100%;height:auto;max-height:calc(100svh - 80px);overflow:auto;margin:0;padding:16px 6% 24px;background:var(--paper);box-shadow:0 20px 25px #0002;gap:0}
 :root body>.site-header .mobile-nav>a{display:flex;align-items:center;width:100%;height:auto;min-height:47px;padding:10px 0;border-bottom:1px solid var(--line);font:23px/1.3 var(--serif)}
 :root body>.site-header .mobile-nav a:after{display:none}
 :root body>.site-header .mobile-nav>a[aria-current]{color:var(--olive);font-weight:700}
 :root body>.site-header .mobile-nav>a.estimate-nav{justify-content:center;margin-top:12px;padding:12px 16px;background:var(--olive);color:#fff;border:0;border-radius:6px;font:600 15px/1.4 var(--sans)}
 :root body>.site-header .mobile-social{display:block;margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
 :root body>.site-header .mobile-social .header-social{display:flex;margin:0;gap:8px}
 :root body>.site-header .mobile-social .header-social a{width:44px;height:44px;min-height:44px;padding:0;border:0}
 body .footer{padding:34px 6% 18px}
 body .footer .footer-top{grid-template-columns:1fr 1fr;gap:24px 18px}
 :root body .footer>.footer-top>.footer-brand{display:block;grid-column:1/-1}
 body .footer .footer-top nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
 body .footer .footer-top nav .eyebrow{grid-column:1/-1}
 body .footer .footer-insights{grid-column:1/-1}
 body .footer .footer-top nav a,body .footer .footer-insights>a,body .footer .footer-studio address{font-size:14px}
 body .footer .footer-bottom{margin-top:18px}
}
@media(max-width:370px){body .footer .footer-top{grid-template-columns:minmax(0,1fr)}body .footer .footer-brand,body .footer .footer-insights{grid-column:1}}
@media(min-width:761px){.studio-home .hero{height:calc(100svh - var(--site-header-height));min-height:0;max-height:none}.studio-home .hero-copy{margin-top:42px;margin-bottom:45px}}

/* Keep the shared header in flow and offset in-page links by its real responsive height. */
:root{--site-header-height:88px;scroll-padding-top:calc(var(--site-header-height) + 12px)}

/* Legible content surfaces over the approved scrolling photographs. */
body.studio-home .interiors-showcase{overflow:visible}
body.studio-home .hero h1,body.studio-home .hero-description{text-shadow:0 2px 15px #111c14b3}
body.studio-home .interiors-showcase .text-link{font-size:15px;font-weight:600;border-bottom:2px solid #343b2f}
body.studio-home .interiors-showcase .text-link:hover{color:#764834;border-color:#764834}
body.studio-home .reels-heading{padding:18px 22px;background:linear-gradient(90deg,#f2f0e8e8,#f2f0e8ba);border-radius:3px}
body.studio-home .reels-heading>p:last-child{color:#30382f}
body.studio-home .why-grid article{background:rgba(16,24,18,.72);border-top-color:#e2e9d7;padding:12px 15px 15px}
body.studio-home .why-grid p,body.studio-home .why-heading>p:not(.eyebrow){color:#f3f4ea}
body.studio-home .why-heading{text-shadow:0 2px 14px #111b13a8}
body.studio-home .process-grid article{padding:18px 20px 20px;background:rgba(248,246,239,.85);border:1px solid #dad8cd99}
body.studio-home .process-grid p{color:#30382f}
body.studio-home .process-grid .step{padding-bottom:20px}
body.studio-home .price-calculator{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);background:linear-gradient(120deg,#efeee6,#f7f5ee 58%,#e8ebe2)}
body.studio-home .calculator-copy,body.studio-home .calculator-teaser-panel{min-width:0}

/* A warmer brand surface lets the multicolour wordmark and ordinary text read clearly. */
body .footer,body.home-background-ready .footer,body.studio-home .footer,body.studio-home.home-background-ready .footer{background:#e8e2d6;color:#293128}
body .footer :is(.eyebrow,.footer-brand p,.footer-studio address,.footer-bottom p,.footer-bottom a),body.studio-home .footer :is(.eyebrow,.footer-brand p,.footer-studio address,.footer-bottom p,.footer-bottom a){color:#465045}
body .footer .footer-top nav a,body .footer .footer-insights>a,body.studio-home .footer .footer-top nav a,body.studio-home .footer .footer-insights>a{font-size:15px}
body .footer .footer-studio address,body.studio-home .footer .footer-studio address{font-size:15px}
body .footer .footer-insights .socials a,body.studio-home .footer .footer-insights .socials a{font-size:14px}
body .footer .footer-bottom p,body .footer .footer-bottom a,body.studio-home .footer .footer-bottom p,body.studio-home .footer .footer-bottom a{font-size:14px}
body .footer .footer-estimate,body.studio-home .footer .footer-estimate{border-color:#677461}
body .footer .footer-bottom,body.studio-home .footer .footer-bottom{border-color:#9ba79766;margin-top:23px}
body .footer a:hover,body.studio-home .footer a:hover{color:#764834}
body .footer .footer-map{display:block;width:max-content;max-width:100%;border-bottom:1px solid transparent}
body .footer .footer-map:hover{border-color:currentColor}
body .footer .footer-studio>a:last-child{display:inline-flex;align-items:center;min-height:44px}
body .footer .back-to-top{border:0;background:none;color:#465045;font:400 14px/1.5 var(--sans);padding:7px 0;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
body .footer .back-to-top:hover{color:#764834}
body.studio-home .price-calculator .calculator-copy{padding:0;max-width:570px}
body.studio-home .price-calculator .plan-kitchen{display:block;width:min(100%,470px);height:clamp(170px,20vw,260px);margin-top:26px;object-fit:cover;object-position:center 54%;border-radius:5px;box-shadow:0 18px 34px #27302224}
body.studio-home .price-calculator .calculator-teaser-panel{background:#faf8f1;border-color:#d3d9ca;box-shadow:0 18px 42px #1f281a1c}
body.studio-home .reviews:before{background:linear-gradient(90deg,rgba(232,236,228,.84),rgba(232,236,228,.4)),url('/assets/optimized/assets-DSC04003-HDR.675a64ba30fa.webp') center/cover}
body .contact-hero-actions .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:12px;min-height:50px;text-align:center;white-space:nowrap}
body .contact-hero-actions .button span{display:inline-block;font-size:14px;line-height:1.4;white-space:nowrap}
/* Keep the shared header icons recognizable on every page. */
:root body .header-social a{transition:transform .2s ease,opacity .2s ease}
:root body .header-social a:hover{transform:translateY(-2px);opacity:.86}
:root body .header-social a[aria-label="Instagram"] svg{width:23px;height:23px;padding:3px;border-radius:6px;background:linear-gradient(45deg,#ffdc80,#f77737 30%,#e1306c 55%,#833ab4 78%,#405de6);fill:none;stroke:#fff;stroke-width:2}
:root body .header-social a[aria-label="YouTube"] svg{width:25px;height:22px;fill:none;stroke:none}
:root body .header-social a[aria-label="YouTube"] rect{fill:#ff0033}
:root body .header-social a[aria-label="YouTube"] path{fill:#fff}
:root body .header-social a[aria-label="Facebook"] svg{width:20px;height:20px;fill:#1877f2;stroke:none}
:root body .eyebrow .tiny-cross{display:inline-grid;place-items:center;flex:none;width:12px;height:1em;font-size:16px;line-height:1;transform:translateY(-.05em)}
body:has(.journal) .page-heading{background:linear-gradient(120deg,#f1efe7,#e8ece3)}
body .journal{background:linear-gradient(145deg,#f5f3ed,#e9e8df)}
body .journal-entry>a img{box-shadow:0 18px 36px #25302224;border-radius:4px}

@media(max-width:1000px){:root{--site-header-height:80px}}
@media(max-width:760px){
 body.studio-home .hero{height:auto;min-height:max(590px,calc(100svh - var(--site-header-height)));max-height:none}
 body.studio-home .hero-copy{margin:78px 6% 90px}
 body.studio-home .interiors-showcase{padding-bottom:72px}
 body.studio-home .reels-heading{display:block;padding:14px 15px}
 body.studio-home .reels-heading>p:last-child{max-width:none;margin-top:12px}
 body.studio-home .process-grid article{padding:15px 15px 20px 75px}
 body.studio-home .process-grid .step{left:15px;top:15px}
 body.studio-home .price-calculator{grid-template-columns:minmax(0,1fr)}
 body.studio-home .price-calculator .plan-kitchen{width:100%;height:210px;margin-top:22px}
 body .contact-hero-actions .button{flex-wrap:nowrap}
 body .footer,body.studio-home .footer{padding-top:32px}
}

/* Phone composition: shared gutters, readable type, and natural section heights. */
@media(max-width:760px){
 :root body{font-size:15px;line-height:1.6}
 body.studio-home .hero-image{animation:none}
 :root body :is(.section,.invitation){padding:44px clamp(16px,5vw,20px)}
 :root body>.site-header,body.studio-home>.site-header{padding-inline:clamp(16px,5vw,20px)}
 :root body>.site-header .mobile-nav{padding-inline:clamp(16px,5vw,20px)}
 :root body :is(.section-heading h2,.invitation h2,.founder h2,.about-spread h2,.philosophy h2,.facebook-copy h2){font-size:clamp(30px,8vw,38px);line-height:1.12;letter-spacing:-.025em}
 :root body :is(.section-heading>p,.review-disclosure,.service-detail p,.founder-copy>p:not(.eyebrow),.about-spread p:not(.eyebrow),.contact-info p,.journal-entry p:not(.eyebrow),.article-body p){font-size:15px;line-height:1.65}
 :root body .eyebrow,:root body .section .eyebrow{font-size:12px;line-height:1.45;letter-spacing:.12em}
 :root body :is(.button,.text-link,.filter){font-size:14px}
 body.studio-home .hero-copy{width:100%;max-width:none;margin:0;padding:56px clamp(16px,5vw,20px) 68px}
 body.studio-home .hero h1{font-size:clamp(36px,10vw,43px);line-height:1.07;letter-spacing:-.03em}
 body.studio-home .hero-description{font-size:15px;line-height:1.65;max-width:34ch;margin-top:20px}
 body.studio-home .hero-actions{gap:10px;margin-top:25px}
 body.studio-home .hero-actions .button{font-size:14px;min-height:46px;padding:10px 15px}
 body.studio-home .interiors-showcase h2,body.studio-home .reels-heading h2{font-size:clamp(30px,8vw,38px)}
 body.studio-home .interiors-showcase .section-heading{margin-bottom:18px}
 body.studio-home .showcase-subtitle{font-size:15px}
 body.studio-home .reels-rail{margin-inline:0;padding-inline:0}
 body.studio-home .reel-embed{flex-basis:min(270px,78vw);aspect-ratio:5/6}
 body.studio-home .why{min-height:0}
 body.studio-home .why-grid p{font-size:15px;line-height:1.6}
 body.studio-home .process-grid article{padding-left:78px;padding-bottom:24px}
 body.studio-home .process-grid h3{font-size:25px}
 body.studio-home .process-grid p{font-size:15px}
 body.studio-home .price-calculator .calculator-copy{padding:0}
 body.studio-home .price-calculator .calculator-teaser-panel{padding:22px}
 body.studio-home .reviews{padding:42px clamp(16px,5vw,20px) 48px;background-position:57% center}
 body.studio-home .reviews .section-heading{display:block;margin:0 0 17px;padding-top:14px}
 body.studio-home .reviews h2{font-size:clamp(30px,8vw,36px);line-height:1.12;max-width:100%}
 body.studio-home .reviews .review-disclosure{max-width:none;margin:11px 0 0;padding:0;background:none;box-shadow:none;color:#303a30!important;font-size:15px!important;line-height:1.5!important}
 body.studio-home .review-snapshot{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
 body.studio-home .review-snapshot .review-summary{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 12px;padding:15px 16px!important;background:rgba(247,246,240,.93)!important;border:1px solid #aeb9a9;box-shadow:0 8px 24px #27302020}
 body.studio-home .review-summary>.eyebrow{grid-column:1/-1;margin:0 0 5px;font-size:12px}
 body.studio-home .review-summary h3{grid-column:1;grid-row:2/4;align-self:center;font-size:clamp(29px,8vw,35px);white-space:nowrap}
 body.studio-home .review-summary .stars{grid-column:2;grid-row:2;margin:0;font-size:18px;letter-spacing:2px;white-space:nowrap}
 body.studio-home .review-summary>p:not(.eyebrow){grid-column:2;grid-row:3;margin:0;font-size:12px;line-height:1.35}
 body.studio-home .review-summary .text-link{grid-column:1/-1;margin:6px 0 0;padding:4px 0;min-height:34px;font-size:14px}
 body.studio-home .review-carousel{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;min-width:0}
 body.studio-home .static-review-grid{grid-column:1/-1;grid-row:1;gap:12px;align-items:flex-start;min-width:0;transition:height .2s ease}
 body.studio-home .google-review{flex:0 0 100%;min-height:0;padding:18px;box-shadow:0 8px 23px #2630221c}
 body.studio-home .google-review header{gap:10px}
 body.studio-home .google-review h3{font-size:18px;line-height:1.2}
 body.studio-home .review-avatar{flex-basis:38px;height:38px}
 body.studio-home .google-review blockquote{font-size:16px;line-height:1.55;margin:18px 0}
 body.studio-home .review-arrow{position:static;transform:none;width:40px;height:40px}
 body.studio-home .review-previous{grid-column:1;grid-row:2;justify-self:start}
 body.studio-home .review-next{grid-column:2;grid-row:2;justify-self:end}
 body:has(.about-spread) .page-heading{min-height:clamp(420px,70svh,540px);padding-inline:clamp(16px,5vw,20px)}
 body .contact-hero-actions{align-items:stretch;gap:10px}
 body .contact-hero-actions .button{font-size:14px;max-width:100%}
 body .contact-hero-actions .button span{font-size:14px}
 body .article-body{margin-block:30px 55px;padding-inline:clamp(16px,5vw,20px)}
 body .article-body :is(h2,h3){font-size:clamp(25px,7vw,30px)}
 body .footer,body.studio-home .footer{padding:30px clamp(16px,5vw,20px) 20px}
 :root body .footer .footer-top{grid-template-columns:minmax(0,1fr);gap:28px}
 :root body .footer>.footer-top>div.footer-brand:first-child{grid-column:1;grid-row:auto;min-width:0}
 :root body .footer>.footer-top>.footer-studio{grid-column:1;grid-row:auto;min-width:0}
 :root body .footer>.footer-top>nav{grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-width:0;gap:0 20px}
 :root body .footer>.footer-top>nav .eyebrow{grid-column:1/-1}
 :root body .footer>.footer-top>.footer-insights{grid-column:2;grid-row:2;min-width:0}
 body .footer .footer-estimate{width:100%;max-width:170px;padding-inline:8px;font-size:13px;text-align:center}
 body .footer .footer-invite{font-size:clamp(21px,5.5vw,26px);overflow-wrap:anywhere}
 body .footer .footer-top :is(p,address),body .footer .footer-top nav a,body .footer .footer-insights>a{font-size:15px;line-height:1.55}
 body .footer .footer-bottom p,body .footer .footer-bottom a{font-size:13px}
}
@media(max-width:430px){
 body.studio-home .hero-actions{flex-direction:column;align-items:flex-start}
 body.studio-home .hero-actions .button{width:max-content;max-width:100%}
 body.studio-home .why-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 body.studio-home .why-grid article{padding:13px 15px}
 body.studio-home .interior-preview-grid{grid-template-rows:200px 155px 170px}
}
@media(max-width:360px){
 body.studio-home .interior-preview-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
 body.studio-home .interior-preview-grid .interior-preview{grid-column:auto;grid-row:auto;min-height:210px}
 body.studio-home .interior-preview-grid .interior-preview:first-child{min-height:250px}
 body .footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
}
@media(max-width:620px) and (prefers-reduced-motion:reduce){body.studio-home .static-review-grid{transition:none}}
@media(min-width:761px) and (max-width:900px){
 body.studio-home .reviews{padding-block:54px}
 body.studio-home .reviews .section-heading{display:block;margin-bottom:20px}
 body.studio-home .reviews h2{font-size:36px}
 body.studio-home .reviews .review-disclosure{max-width:none;margin-top:12px;padding:0;background:none;box-shadow:none;font-size:16px!important}
 body.studio-home .review-snapshot{gap:20px}
 body.studio-home .review-snapshot .review-summary{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:center;padding:18px 22px;background:rgba(247,246,240,.91)}
 body.studio-home .review-summary>.eyebrow{grid-column:1/-1;margin:0 0 4px}
 body.studio-home .review-summary h3{grid-column:1;grid-row:2/4;font-size:34px}
 body.studio-home .review-summary .stars{grid-column:2;grid-row:2;margin:0;font-size:20px}
 body.studio-home .review-summary>p:not(.eyebrow){grid-column:2;grid-row:3;margin:0;font-size:14px}
 body.studio-home .review-summary .text-link{grid-column:1/-1;margin:6px 0 0}
}

/* The inner pages share the home's photographic depth while keeping reading surfaces solid. */
body:has(.portfolio-gallery) .portfolio-gallery{background:linear-gradient(180deg,#edece4ed 0%,#edece4e8 34%,#f0eee7fa 100%),var(--loaded-section-image,none) center top/cover;--section-image:url('/assets/optimized/assets-projects-room-10.8a83d825f60b.webp')}
body:has(.portfolio-gallery) .portfolio-gallery .project{background:#f7f5eed9;padding:10px;box-shadow:0 16px 40px #2833281b}
body:has(.contact-hero) .contact-hero{background:linear-gradient(90deg,#f2f0e8f2 0%,#f2f0e8eb 56%,#f2f0e8b4 100%),url('/assets/optimized/assets-projects-room-12.93b8cd5be98b.webp') center/cover}
body:has(.contact-hero) .contact-layout{background:linear-gradient(90deg,#f4f3edfb 0%,#f4f3edf2 60%,#f4f3edcf 100%),var(--loaded-section-image,none) center/cover;--section-image:url('/assets/optimized/assets-projects-room-10.8a83d825f60b.webp')}
body:has(.journal) .page-heading{background:linear-gradient(90deg,#182018ed 0%,#182018bf 48%,#18201835 100%),url('/assets/optimized/assets-projects-google-dining.d2b26acbf9d5.webp') center 44%/cover;color:#f7f4e8;min-height:clamp(330px,38vw,510px);display:flex;flex-direction:column;justify-content:center}
body:has(.journal) .page-heading :is(.eyebrow,h1,h1 em,p){color:#f7f4e8}
body:has(.journal) .page-heading>div>p{color:#f1eee4;line-height:1.6}
body:has(.journal) .journal{background:linear-gradient(180deg,#f0eee5ec,#f0eee5f7),url('/assets/optimized/assets-projects-google-living.d98a78a6e3f7.webp') center top/cover}
body:has(.journal) .journal-entry{background:#f9f7f0eb;padding:clamp(16px,2.2vw,32px);box-shadow:0 17px 38px #222c2220}
@media(max-width:760px){body:has(.journal) .page-heading{min-height:310px;background-position:57% center}body:has(.journal) .journal-entry{padding:16px}body:has(.contact-hero) .contact-layout{background-position:58% center}}

/* A common editorial label scale across the home and inner pages. */
:root body main .eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;align-items:center}
@media(max-width:760px){:root body main .eyebrow{font-size:11px;letter-spacing:.14em}}

/* Columns pack full photographs without fixed-height rows. */
body .portfolio-gallery .project-grid{display:block;column-count:3;column-gap:24px}
body .portfolio-gallery .project{display:inline-block;break-inside:avoid;width:100%;min-width:0;margin:0 0 24px;border-radius:4px;overflow:hidden}
body .portfolio-gallery .project[hidden]{display:none}
body .portfolio-gallery .project-image{aspect-ratio:auto;height:auto;background:transparent}
body .portfolio-gallery .project-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}
body .portfolio-heading figure img{height:auto;aspect-ratio:auto;object-fit:contain}
body:has(.portfolio-heading) #gallery-detail>img{width:auto;height:auto;max-width:100%;max-height:65svh;margin-inline:auto;object-fit:contain;background:transparent}
body .portfolio-gallery .project-meta{margin:14px 0 8px;min-height:15px}
body .portfolio-gallery .project-title{display:block;min-height:0;font-size:clamp(22px,2vw,27px)}
@media(max-width:1100px){body .portfolio-gallery .project-grid{column-count:2}}
@media(max-width:760px){body .portfolio-gallery .project-grid{column-count:1}}



/* A simple footer with roomy links and recognizable social marks. */
:root body .footer .footer-brand p{max-width:290px;font:400 15px/1.55 var(--sans);margin:16px 0 20px}
:root body .footer .footer-top nav a{min-height:44px;display:flex;align-items:center;padding:6px 0}
:root body .footer .footer-bottom{flex-wrap:wrap;gap:16px 24px}
:root body .footer-socials{display:flex;gap:8px}
:root body .footer-socials a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #9ba79766;border-radius:50%;color:#343b2f}
:root body .footer-socials svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root body .footer-socials a[aria-label="Facebook"] svg{fill:currentColor;stroke:none}
@media(max-width:760px){:root body .footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:22px}:root body .footer .footer-brand .wordmark,:root body .footer .footer-brand .brand-logo{width:170px}:root body .footer .footer-estimate{width:auto;max-width:none;padding-inline:18px}:root body .footer .footer-policy{gap:16px}:root body .footer .footer-studio address{margin-bottom:8px}:root body .footer .footer-studio{padding-top:22px;border-top:1px solid #9ba79766}}

/* Ground the page with a distinct, compact footer. */
:root body .footer .footer-studio .footer-insights{min-width:0;margin-top:12px}
:root body .footer .footer-studio .footer-insights>a{display:flex;align-items:center;min-height:44px;padding:4px 0;font-size:14px;line-height:1.4}
:root body .footer .footer-studio>a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){:root body .footer .footer-studio .footer-insights{display:none}}
:root body .footer,:root body.studio-home .footer,:root body.home-background-ready .footer{background:#252d26;color:#f5f3ed;padding:40px 6% 20px;border-top:3px solid #a8b393}
:root body .footer :is(.eyebrow,.footer-brand p,.footer-studio address,.footer-bottom p,.footer-bottom a,.back-to-top){color:#d9ddd2}
:root body .footer .eyebrow{font-size:11px;letter-spacing:.15em}
:root body .footer .footer-brand .wordmark{width:max-content;padding:8px 10px;background:#f5f3ed;border-radius:4px}
:root body .footer .footer-brand .brand-logo{width:145px}
:root body .footer .footer-brand p{font-size:14px;margin:14px 0 18px}
:root body .footer .footer-estimate{border-color:#909c86;color:#f5f3ed;font-size:14px}
:root body .footer .footer-top nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
:root body .footer .footer-top nav .eyebrow{grid-column:1/-1}
:root body .footer .footer-bottom{border-color:#ffffff24;margin-top:26px;padding-top:16px}
:root body .footer-socials a{color:#f5f3ed;border-color:#ffffff30}
:root body .footer a:hover,:root body .footer .back-to-top:hover{color:#e3c79c}
@media(max-width:760px){
 :root body .footer,:root body.studio-home .footer,:root body.home-background-ready .footer{padding:28px 20px 18px}
 :root body .footer .footer-top{gap:20px}
 :root body .footer>.footer-top>div.footer-brand:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}
 :root body .footer .footer-brand .wordmark{grid-column:1;grid-row:1}
 :root body .footer .footer-brand p{grid-column:1/-1;grid-row:2;max-width:none;margin:14px 0 0}
 :root body .footer .footer-estimate{grid-column:2;grid-row:1;justify-self:end;padding:10px 12px;font-size:12px}
 :root body .footer>.footer-top>nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
 :root body .footer .footer-top nav a{font-size:14px;min-height:40px}
 :root body .footer .footer-studio{padding-top:18px;border-color:#ffffff24}
 :root body .footer .footer-studio address{font-size:14px;line-height:1.6}
 :root body .footer .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:18px;padding-top:16px}
 :root body .footer .footer-bottom .footer-socials{grid-column:1/-1;grid-row:1}
 :root body .footer .footer-policy{grid-column:1/-1;font-size:13px}
 :root body .footer .footer-bottom p{grid-column:1/-1;font-size:12px}
 :root body .footer .back-to-top{font-size:12px}
}
@media(max-width:360px){:root body .footer>.footer-top>div.footer-brand:first-child{grid-template-columns:1fr}:root body .footer .footer-estimate{grid-column:1;grid-row:3;justify-self:start;margin-top:14px}}
:root body.studio-home .reel-embed{aspect-ratio:9/16}



.footer-ctas{display:flex;flex-wrap:wrap;gap:8px}.enquiry-popup{position:fixed;inset:0;margin:auto;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #d6d8cc;border-radius:12px;background:#f5f3ed;color:#282c25;overflow:hidden}.enquiry-popup::backdrop{background:#161d1480}.estimate-prompt-close{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:transparent;color:#282c25;font-size:26px}.enquiry-popup .eyebrow{font-size:11px;margin:0 36px 12px 0}.enquiry-popup h2{font-size:30px;line-height:1.15;margin:0}.enquiry-popup .popup-intro{font-size:14px;line-height:1.5;margin:14px 0 18px}.enquiry-popup .button{display:flex;justify-content:center;width:100%;min-height:44px;padding:12px 16px;margin:0}@media(max-width:760px){.enquiry-popup{padding:20px}.footer-ctas{grid-column:1/-1}}@media(max-height:400px){.enquiry-popup{padding:16px 20px}.enquiry-popup h2{font-size:26px}.enquiry-popup .eyebrow{margin-bottom:8px}.enquiry-popup .popup-intro{margin:8px 0 12px}}

body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="640"][height="427"]{aspect-ratio:640/427}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1536"][height="1024"]{aspect-ratio:1536/1024}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1672"][height="941"]{aspect-ratio:1672/941}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1067"][height="1056"]{aspect-ratio:1067/1056}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1356"][height="1160"]{aspect-ratio:1356/1160}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1254"][height="1254"]{aspect-ratio:1254/1254}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1024"][height="1536"]{aspect-ratio:1024/1536}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1535"][height="1024"]{aspect-ratio:1535/1024}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="680"][height="382"]{aspect-ratio:680/382}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="970"][height="1621"]{aspect-ratio:970/1621}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1448"][height="1086"]{aspect-ratio:1448/1086}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1085"][height="1449"]{aspect-ratio:1085/1449}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1482"][height="1061"]{aspect-ratio:1482/1061}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1402"][height="1122"]{aspect-ratio:1402/1122}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1025"][height="1535"]{aspect-ratio:1025/1535}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="1200"][height="1598"]{aspect-ratio:1200/1598}
body :is(.portfolio-heading figure,.portfolio-gallery .project-image) img[width="640"][height="237"]{aspect-ratio:640/237}