@font-face{font-family:Sora;src:url('/assets/sora-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url('/assets/sora-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url('/assets/sora-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url('/assets/sora-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#FAF9F6;--surface:#FFFFFF;--surface-muted:#EEEAE3;--text:#2D2119;--text-muted:#645E57;--brand:#4A3426;--brand-strong:#34231A;--accent:#58745B;--line:#D7D2C9;--on-dark:#F8F6F1;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Sora,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;max-width:100%}picture{display:block;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(52px,5.8vw,86px)}h2{font-size:clamp(40px,4vw,64px)}h3{font-size:28px;letter-spacing:-.025em}p{max-width:65ch}::selection{background:#A9BAA7;color:#171511}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:1400px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}.skip-link{position:fixed;left:20px;top:-60px;background:var(--surface);color:var(--text);padding:8px 14px;z-index:200;border-radius:8px}.skip-link:focus{top:8px}
.site-header{height:72px;position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid transparent;transition:background .24s,border-color .24s}.site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 94%,transparent);border-color:var(--line);backdrop-filter:blur(12px)}.nav-shell{height:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center}.brand{font-size:29px;font-weight:700;line-height:1;letter-spacing:-.08em;width:max-content}.brand-dot{color:var(--accent)}.desktop-nav{display:grid;grid-auto-flow:column;gap:clamp(15px,2vw,32px);align-items:center}.desktop-nav a{font-size:14px;font-weight:500;white-space:nowrap;position:relative;padding-block:7px}.desktop-nav a::after,.text-link::after{content:"";position:absolute;left:0;right:0;bottom:1px;border-bottom:1px solid currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}.nav-cta{justify-self:end}.menu-toggle,.mobile-menu{display:none}
.button{min-height:52px;width:max-content;max-width:100%;display:inline-grid;place-items:center;padding:12px 24px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:600;line-height:1.3;text-align:center;transition:background .2s,transform .16s var(--ease-out),color .2s,border-color .2s;white-space:nowrap}.button:active{transform:scale(.98)}.button-primary{background:var(--brand);color:var(--on-dark)}.button-primary:hover{background:var(--brand-strong)}.button-light{background:#F8F6F1;color:#34231A}.button-light:hover{background:#E8E4DC}.button-outline-light{border-color:#F8F6F1;background:rgba(30,20,14,.3);color:#F8F6F1}.button-outline-light:hover{background:rgba(30,20,14,.58)}.text-link{display:inline-block;position:relative;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:15px;font-weight:600;line-height:1.3}.text-link::after{display:none}
.hero{position:relative;isolation:isolate;min-height:calc(100dvh - 72px);display:grid;align-items:end;color:#F8F6F1;background:#34231A;overflow:hidden}.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(30,20,14,.74) 0%,rgba(30,20,14,.58) 36%,rgba(30,20,14,.14) 100%)}.hero-content{position:relative;z-index:1;padding-top:96px;padding-bottom:clamp(64px,10vh,122px)}.hero-local{font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:25px}.hero h1{max-width:790px;margin-bottom:25px;line-height:.98}.hero-lede{max-width:610px;font-size:20px;line-height:1.5;margin-bottom:33px}.hero-actions{display:grid;grid-auto-flow:column;justify-content:start;gap:12px}.hero-content>*{animation:hero-enter .62s var(--ease-out) both}.hero-content>:nth-child(2){animation-delay:.06s}.hero-content>:nth-child(3){animation-delay:.14s}.hero-content>:nth-child(4){animation-delay:.22s}@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.commitments{background:var(--surface);border-bottom:1px solid var(--line)}.commitments-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:38px}.commitments-grid>div{padding-inline:clamp(18px,3vw,48px);border-right:1px solid var(--line)}.commitments-grid>div:first-child{padding-left:0}.commitments-grid>div:last-child{border:0}.commitments h2{font-size:17px;letter-spacing:-.02em;margin-bottom:7px}.commitments p{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0}
.section{padding-block:clamp(88px,9vw,144px)}.section-intro{max-width:840px;margin-bottom:48px}.eyebrow{font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}.section-intro h2{margin-bottom:22px}.section-intro>p:last-child{font-size:18px;line-height:1.55;color:var(--text-muted);margin-bottom:0}.services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px 24px}.service-card{grid-column:span 3;min-width:0}.service-card:nth-child(1),.service-card:nth-child(6){grid-column:span 6}.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(7),.service-card:nth-child(8){grid-column:span 3}.service-card:nth-child(1) .service-image,.service-card:nth-child(6) .service-image{aspect-ratio:16/10}.service-image{aspect-ratio:4/5;border-radius:20px;background:var(--surface-muted)}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}.service-name{display:block;font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.025em;margin-top:17px}.service-card:active{opacity:.88}.services .text-link{margin-top:42px}
.about-band{background:var(--surface-muted);color:var(--text);padding-block:clamp(80px,8vw,120px)}.about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:24px}.about-copy{grid-column:1/span 6;padding-right:clamp(20px,5vw,80px)}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:52ch;margin-bottom:30px}.about-photo{grid-column:7/span 6;aspect-ratio:3/2;border-radius:20px}.about-photo img{width:100%;height:100%;object-fit:cover}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:55px;border-top:1px solid var(--line);padding-top:20px}.about-points p{font-size:14px;margin:0;color:var(--text-muted)}
.projects-grid{display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:start}.projects-side{display:grid;gap:25px}.project-card{min-width:0}.comparison{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:var(--surface-muted)}.project-main .comparison{aspect-ratio:4/5}.comparison picture,.comparison img{position:absolute;inset:0;width:100%;height:100%}.comparison img{object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-line{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 10px #0004}.compare-line::after{content:"↔";position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:#F8F6F1;color:#34231A;font-size:20px;font-weight:500;box-shadow:0 2px 12px #0004}.compare-label{position:absolute;top:18px;z-index:2;background:rgba(30,20,14,.74);color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;pointer-events:none}.compare-label-before{left:18px}.compare-label-after{right:18px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.project-caption{padding-block:15px 4px}.project-caption h3{font-size:20px;margin-bottom:5px}.project-caption p{font-size:13px;color:var(--text-muted);margin:0}.projects .text-link{margin-top:32px}.note{font-size:13px;color:var(--text-muted);line-height:1.55;margin-top:28px}
.trust-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,110px);align-items:center}.trust-photo{aspect-ratio:3/4;border-radius:20px}.trust-photo img{width:100%;height:100%;object-fit:cover}.trust-copy h2{margin-bottom:26px}.section-lede{font-size:18px;line-height:1.6;color:var(--text-muted);margin-bottom:36px}.trust-list{display:grid;margin-bottom:34px}.trust-list>div{border-top:1px solid var(--line);padding-block:17px}.trust-list>div:last-child{border-bottom:1px solid var(--line)}.trust-list h3{font-size:20px;margin-bottom:5px}.trust-list p{font-size:14px;color:var(--text-muted);margin:0}
.method-band{position:relative;isolation:isolate;color:#F8F6F1;background:#4A3426;padding-block:clamp(88px,9vw,144px);overflow:hidden}.method-photo,.method-photo img,.method-shade{position:absolute;inset:0;width:100%;height:100%}.method-photo img{object-fit:cover}.method-shade{background:rgba(30,20,14,.77)}.method-content{position:relative;z-index:1}.method-content .section-intro>p:last-child{color:#F8F6F1}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:42px}.method-grid article{padding-top:20px;border-top:1px solid rgba(255,255,255,.55)}.method-grid h3{font-size:23px;line-height:1.2;margin-bottom:15px}.method-grid p{font-size:14px;line-height:1.6;color:#EEE6DF;margin:0}.text-link-light{color:#F8F6F1}
.faq-layout{display:grid;grid-template-columns:5fr 7fr;gap:60px}.faq-layout .section-intro{margin:0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-question{width:100%;min-height:76px;display:grid;grid-template-columns:1fr 20px;gap:20px;align-items:center;border:0;background:none;color:var(--text);padding:18px 0;text-align:left;font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.025em}.faq-sign{position:relative;width:18px;height:18px}.faq-sign::before,.faq-sign::after{content:"";position:absolute;background:currentColor;left:0;top:8px;width:18px;height:2px;transition:transform .18s var(--ease-out)}.faq-sign::after{transform:rotate(90deg)}.faq-question[aria-expanded=true] .faq-sign::after{transform:rotate(0)}.faq-answer{overflow:hidden}.faq-answer-content{padding:0 34px 22px 0}.faq-answer p{font-size:15px;color:var(--text-muted);margin:0}.faq-list .text-link{margin-top:30px}
.final-cta{position:relative;isolation:isolate;min-height:540px;display:grid;align-items:center;color:#F8F6F1;background:#34231A;overflow:hidden}.final-photo,.final-photo img,.final-shade{position:absolute;inset:0;width:100%;height:100%}.final-photo img{object-fit:cover;object-position:center}.final-shade{background:linear-gradient(90deg,rgba(30,20,14,.83),rgba(30,20,14,.38))}.final-content{position:relative;z-index:1;padding-block:100px}.final-content h2{max-width:760px;margin-bottom:22px}.final-content p{font-size:18px;max-width:570px;margin-bottom:30px}
.site-footer{background:#34231A;color:#F8F6F1;padding-top:74px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:70px}.brand-light{color:#F8F6F1}.footer-brand>p{font-size:15px;margin-top:15px}.demo-tag{border:1px solid #BFB0A2;border-radius:999px;padding:7px 12px;width:max-content;font-size:12px!important}.footer-grid h2{font-size:14px;letter-spacing:0;margin-bottom:20px}.footer-grid a:not(.brand),.footer-grid>div>p:not(.demo-tag){display:block;color:#E1D9D1;font-size:13px;line-height:1.7;margin:0 0 10px}.footer-grid a:not(.brand):hover{text-decoration:underline}.footer-bottom{border-top:1px solid #6A584B;padding-block:23px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px;color:#CFC3B8}.footer-bottom span:last-child{text-align:right}
.interior-hero{padding-block:100px 92px;background:var(--surface-muted)}.interior-hero .container{max-width:1400px}.interior-hero h1{max-width:970px;margin-bottom:24px}.interior-hero p:not(.eyebrow){font-size:20px;line-height:1.5;color:var(--text-muted);max-width:750px;margin:0}.back-link{display:inline-block;margin-bottom:32px;font-size:14px;text-decoration:underline}.services-page-grid .service-card:nth-child(n){grid-column:span 3}.services-page-grid .service-image{aspect-ratio:4/5}.soft-cta{background:var(--surface-muted);padding-block:82px}.soft-cta h2{max-width:850px;margin-bottom:20px}.soft-cta p{font-size:18px;color:var(--text-muted);margin-bottom:26px}.detail-grid{display:grid;grid-template-columns:6fr 6fr;gap:clamp(40px,7vw,100px);align-items:center}.detail-photo{aspect-ratio:4/3;border-radius:20px}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-copy h2{font-size:clamp(34px,3.3vw,54px);margin-bottom:24px}.detail-copy p{font-size:17px;color:var(--text-muted);margin-bottom:20px}.detail-copy .button{margin-top:15px}.method-page-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,100px);align-items:start}.method-page-grid .detail-photo{position:sticky;top:104px;aspect-ratio:4/5}.method-page-list{display:grid;gap:34px}.method-page-list article{border-top:1px solid var(--line);padding-top:22px}.method-page-list h2{font-size:28px;margin-bottom:12px}.method-page-list p{color:var(--text-muted);margin:0}.faq-page{max-width:900px}.faq-page .faq-list{border-top:0}.faq-page>.faq-item:first-child{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:4fr 8fr;gap:clamp(40px,7vw,100px);align-items:start}.contact-aside h2{font-size:clamp(30px,3vw,48px);margin-bottom:20px}.contact-aside>p{color:var(--text-muted)}.contact-aside-image{margin-top:32px;border-radius:20px;overflow:hidden;aspect-ratio:4/3}.contact-aside-image picture,.contact-aside-image img{width:100%;height:100%;object-fit:cover}.contact-form{background:var(--surface);padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:20px}.form-head h2{font-size:30px;margin-bottom:8px}.form-head p{font-size:14px;color:var(--text-muted);margin-bottom:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:20px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:13px 15px;min-height:52px;outline:none;transition:border-color .18s,box-shadow .18s}.field textarea{min-height:144px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field-error{display:block;min-height:0;color:#B23B30;font-size:12px;line-height:1.4;margin-top:5px}.field [aria-invalid=true]{border-color:#B23B30}.consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-size:13px;line-height:1.5;margin-bottom:6px}.consent input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.contact-form>.button{margin-top:22px}.form-result{margin-top:26px;border:1px solid var(--accent);border-radius:16px;padding:20px;background:var(--bg)}.form-result h3{font-size:21px;margin-bottom:8px}.form-result p{font-size:14px;color:var(--text-muted)}.form-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 Sora,system-ui,sans-serif;border-top:1px solid var(--line);padding-top:16px}.result-actions{display:grid;grid-auto-flow:column;justify-content:start;gap:10px}.result-actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:999px;font-size:13px}.prose{max-width:850px}.prose h2{font-size:30px;margin-top:45px;margin-bottom:14px}.prose h2:first-child{margin-top:0}.prose p{color:var(--text-muted)}
.reveal{opacity:1}.reveal.motion-ready{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.media-reveal.motion-ready{transform:none;clip-path:inset(0 0 12% 0 round 20px);transition:opacity .6s var(--ease-out),clip-path .7s var(--ease-out)}.media-reveal.is-visible{clip-path:inset(0 round 20px)}
@media(max-width:1199px){.nav-shell{grid-template-columns:1fr auto}.desktop-nav,.nav-cta{display:none}.menu-toggle{justify-self:end;display:grid;grid-template-columns:auto 24px;gap:11px;align-items:center;border:0;background:transparent;color:var(--text);min-height:44px;padding:6px 0;font-size:14px;font-weight:600}.menu-bars{display:grid;gap:6px}.menu-bars i{display:block;width:23px;height:2px;background:currentColor;transition:transform .2s var(--ease-out)}.menu-toggle[aria-expanded=true] .menu-bars i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;top:72px;left:0;right:0;height:calc(100dvh - 72px);overflow:auto;background:var(--bg);padding-block:48px}.mobile-menu:not([hidden]){display:block}.mobile-menu .container{display:grid;gap:15px;justify-items:start}.mobile-menu a:not(.button){font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.04em;padding-block:9px}.mobile-menu .button{margin-top:22px}.services-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.service-card:nth-child(n){grid-column:span 2}.service-card:nth-child(1),.service-card:nth-child(6){grid-column:span 4}.services-page-grid .service-card:nth-child(n){grid-column:span 2}.method-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/span 2}}
@media(max-width:767px){h1{font-size:42px;line-height:1.04}h2{font-size:34px;line-height:1.08}h3{font-size:24px}.site-header{height:64px}.mobile-menu{top:64px;height:calc(100dvh - 64px)}.brand{font-size:26px}.button{min-height:48px}.hero{min-height:calc(100dvh - 64px);align-items:end}.hero-media img{object-position:58% center}.hero-shade{background:rgba(30,20,14,.56)}.hero-content{text-align:center;padding-top:55px;padding-bottom:55px}.hero h1{max-width:500px;margin-inline:auto;margin-bottom:19px}.hero-local{font-size:11px;margin-bottom:20px}.hero-lede{font-size:16px;line-height:1.5;margin-inline:auto;margin-bottom:25px}.hero-actions{justify-content:center}.hero-actions .button{font-size:12px;padding-inline:15px}.commitments-grid{grid-template-columns:1fr;padding-block:22px}.commitments-grid>div,.commitments-grid>div:first-child{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.commitments-grid>div:last-child{border:0}.section{padding-block:80px}.section-intro{margin-bottom:34px}.section-intro h2{margin-bottom:16px}.section-intro>p:last-child{font-size:16px}.eyebrow{margin-bottom:15px}.services-grid,.services-page-grid{grid-template-columns:1fr;gap:30px}.service-card:nth-child(n),.services-page-grid .service-card:nth-child(n){grid-column:1}.service-card:nth-child(n) .service-image{aspect-ratio:4/5}.service-name{font-size:18px;margin-top:13px}.services .text-link{margin-top:34px}.about-band{padding-block:76px}.about-grid{grid-template-columns:1fr;gap:35px}.about-copy,.about-photo{grid-column:1}.about-copy{padding:0}.about-copy>p:not(.eyebrow){font-size:16px}.about-photo{aspect-ratio:4/3}.about-points{margin-top:38px}.projects-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;padding-bottom:13px}.project-main,.projects-side .project-card{flex:0 0 84vw;max-width:420px;scroll-snap-align:start}.projects-side{display:contents}.project-main .comparison,.comparison{aspect-ratio:4/5}.project-caption h3{font-size:18px}.trust-grid{grid-template-columns:1fr;gap:40px}.trust-photo{aspect-ratio:4/3}.trust-copy h2{margin-bottom:20px}.section-lede{font-size:16px}.method-band{padding-block:80px}.method-grid{grid-template-columns:1fr;gap:24px}.method-grid article{padding-top:16px}.method-grid h3{font-size:22px;margin-bottom:8px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-question{font-size:16px;min-height:67px}.final-cta{min-height:510px}.final-photo img{object-position:60% center}.final-shade{background:rgba(30,20,14,.62)}.final-content{padding-block:90px}.final-content p{font-size:16px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 22px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{grid-template-columns:1fr}.footer-bottom span:last-child{text-align:left}.interior-hero{padding-block:70px}.interior-hero p:not(.eyebrow){font-size:17px}.detail-grid,.method-page-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.detail-photo,.method-page-grid .detail-photo{position:static;aspect-ratio:4/3}.detail-copy h2{font-size:34px}.detail-copy p{font-size:16px}.soft-cta{padding-block:72px}.soft-cta p{font-size:16px}.contact-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.contact-aside-image{display:none}}
@media(max-width:359px){.hero-actions{grid-auto-flow:row}.hero-actions .button{width:100%}.hero h1{font-size:39px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-content>*{opacity:1;transform:none;filter:none}}
.hero{grid-template-columns:minmax(0,1fr)}.hero-content{min-width:0}
.hero h1{font-size:clamp(52px,5.2vw,76px);max-width:950px}.hero-shade{background:linear-gradient(90deg,rgba(30,20,14,.78) 0%,rgba(30,20,14,.66) 43%,rgba(30,20,14,.3) 78%,rgba(30,20,14,.15) 100%)}
@media(max-width:767px){.hero-actions{grid-auto-flow:row;justify-content:stretch}.hero-actions .button{width:100%}}
@media(max-width:767px){.hero h1{font-size:42px;max-width:500px}.hero-shade{background:rgba(30,20,14,.56)}}
@media(max-width:359px){.hero h1{font-size:39px}}
.reviews{background:var(--bg)}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{margin:0;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:grid;grid-template-rows:1fr auto;min-height:260px}.review-card blockquote{margin:0;font-size:17px;line-height:1.55;letter-spacing:-.02em}.review-card figcaption{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:19px;margin-top:24px;font-size:13px}.review-card figcaption strong{font-weight:600}.review-card figcaption span{color:var(--text-muted)}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}.review-card blockquote{font-size:16px}}

/* Web glass material inspired by Apple's translucent controls. */
.button-glass{position:relative;isolation:isolate;overflow:hidden;color:#F8F6F1;border:1px solid rgba(255,255,255,.58);background:linear-gradient(165deg,rgba(255,255,255,.24),rgba(255,255,255,.06) 48%,rgba(255,255,255,.12)),rgba(28,24,20,.16);backdrop-filter:blur(18px) saturate(165%) brightness(1.12);-webkit-backdrop-filter:blur(18px) saturate(165%) brightness(1.12);box-shadow:inset 0 1px 1px rgba(255,255,255,.65),inset 0 -1px 1px rgba(255,255,255,.13),0 6px 24px rgba(18,15,12,.15);text-shadow:0 1px 5px rgba(18,15,12,.4)}
.button-glass::before{content:"";position:absolute;inset:1px 12% 52%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at top,rgba(255,255,255,.32),transparent 75%);pointer-events:none}
.button-glass::after{content:"";position:absolute;inset:2px;border:1px solid rgba(255,255,255,.15);border-radius:inherit;pointer-events:none}
.button-glass:hover{border-color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.12)}
.button-glass:active{transform:scale(.97)}
.services-page-grid .service-card:nth-child(n){grid-column:span 4}
.hero-media img{filter:saturate(.84) brightness(1.08)}
.hero-shade{background:linear-gradient(90deg,rgba(25,22,18,.66),rgba(25,22,18,.48) 45%,rgba(25,22,18,.16))}
@media(min-width:768px) and (max-width:1199px){.services-page-grid .service-card:nth-child(n){grid-column:span 4}}
@media(max-width:767px){.services-page-grid .service-card:nth-child(n){grid-column:1}.hero-shade{background:rgba(25,22,18,.47)}}
@supports not (backdrop-filter:blur(1px)){.button-glass{background:rgba(45,33,25,.78)}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.button-glass{background:#F8F6F1;color:#34231A;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:none}.button-glass::before,.button-glass::after{display:none}}

/* Photo framing and purposeful motion: reveal once, respond quickly to input. */
.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
.projects-side{display:contents}
.project-main .comparison,.comparison{aspect-ratio:3/2}
.compare-hint{display:block;margin-top:9px;color:var(--text-muted);font-size:11px}
.compare-line::after{transition:transform .16s var(--ease-out),background .16s}
.comparison:has(.compare-range:active) .compare-line::after{transform:translate(-50%,-50%) scale(1.08)}
.comparison:has(.compare-range:focus-visible){outline:3px solid var(--accent);outline-offset:4px}
.form-row-single{grid-template-columns:1fr}
@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-2px)}
  .button:active{transform:scale(.98)}
  .service-card:hover .service-image img{transform:scale(1.035)}
  .desktop-nav a:hover::after{transform:scaleX(1)}
  .comparison:hover .compare-line::after{transform:translate(-50%,-50%) scale(1.06)}
}
@media(max-width:767px){
  .projects-grid{gap:16px}
  .project-main .comparison,.comparison{aspect-ratio:3/2}
  .service-card:nth-child(1) .service-image,.service-card:nth-child(4) .service-image{aspect-ratio:3/2}
  .reveal.motion-ready{transition-delay:0ms}
}
@media(prefers-reduced-motion:reduce){
  .reveal.motion-ready,.media-reveal.motion-ready{opacity:1;transform:none;clip-path:none;transition-delay:0ms}
  .button:hover,.button:active,.service-card:hover .service-image img{transform:none}
  .comparison .compare-line::after{transform:translate(-50%,-50%)!important}
}

/* Floating capsule navigation and centered introduction. */
:root{--header-gap:18px;--capsule-height:78px}
html{scroll-padding-top:122px}
.site-header,.site-header.is-scrolled{position:fixed;inset:var(--header-gap) 0 auto;height:var(--capsule-height);padding-inline:20px;background:transparent;border:0;backdrop-filter:none;pointer-events:none;transition:transform 280ms var(--ease-out),opacity 220ms var(--ease-out)}
.site-header.is-hidden{transform:translateY(calc(-100% - var(--header-gap) - 8px));opacity:0;pointer-events:none}
.site-header:has(:focus-visible),body.menu-open .site-header{transform:none;opacity:1}
.nav-shell{height:var(--capsule-height);grid-template-columns:1fr auto auto;gap:36px;padding:10px 12px 10px 28px;border-radius:999px;background:#fff;pointer-events:auto;box-shadow:0 2px 5px #271c1208,0 14px 38px #271c120c}
.site-header .brand{display:inline-flex;align-items:center;gap:12px;font-size:30px}
.brand-symbol{width:30px;height:30px;flex:none;color:var(--brand)}
.desktop-nav{gap:26px}.desktop-nav a{font-size:13px}
.nav-cta{min-height:56px;padding-inline:28px}
.hero{min-height:100svh;align-items:center}
.hero-content{max-width:1040px;text-align:center;padding-block:150px}
.hero h1{max-width:920px;margin-inline:auto;line-height:1.04}
.hero-local,.hero-lede{margin-inline:auto}.hero-lede{max-width:660px}
.hero-actions{grid-auto-flow:column;justify-content:center;gap:16px}
.hero-actions .button{min-height:64px;padding:18px 32px;font-size:16px}
.hero-actions .button-light{background:#fff}
.hero-shade{background:linear-gradient(180deg,rgba(25,22,18,.24),rgba(25,22,18,.52) 42%,rgba(25,22,18,.42))}
.hero-actions .button-glass{background:rgba(55,44,33,.22);border-color:rgba(255,255,255,.4);box-shadow:inset 0 1px 0 #ffffff25,0 6px 24px #120f0c14;backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%)}
.hero-actions .button-glass::before,.hero-actions .button-glass::after{display:none}
.interior-hero{padding-top:180px}
.commitments{border:0}.commitments-grid{gap:64px;padding-block:64px}
.commitments-grid>div,.commitments-grid>div:first-child,.commitments-grid>div:last-child{padding:0;border:0;text-align:center}
.commitment-icon{display:block;width:36px;height:36px;margin:0 auto 22px;color:var(--brand)}
.commitments h2{font-size:18px;margin-bottom:11px}.commitments p{max-width:33ch;margin-inline:auto;font-size:14px;line-height:1.6}
.step-number{display:block;margin:0 0 25px;font-size:13px;font-weight:500;color:#d5c7ba;font-variant-numeric:tabular-nums}
.method-content .section-intro{max-width:900px}.method-content .section-intro>p:last-child{color:#e2d9d0}
.projects-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.project-card{grid-column:span 2}.project-main,.projects-side>.project-card:first-child{grid-column:span 3}
.project-main .comparison,.comparison{aspect-ratio:4/3}
@media(max-width:1199px){
  .nav-shell{grid-template-columns:1fr auto;padding:10px 24px;gap:16px}
  .mobile-menu{position:absolute;top:calc(var(--capsule-height) + 12px);left:20px;right:20px;height:auto;max-height:calc(100svh - var(--capsule-height) - 60px);overflow:auto;background:#fff;border-radius:28px;padding:24px 8px 30px;box-shadow:0 15px 45px #271c1226;pointer-events:auto}
  .mobile-menu .container{padding-inline:24px;gap:9px}
  .mobile-menu a:not(.button){font-size:24px}
  .mobile-menu .button{margin-top:16px}
  .commitments-grid{gap:32px}
}
@media(max-width:767px){
  :root{--header-gap:12px;--capsule-height:64px}
  html{scroll-padding-top:100px}
  .site-header,.site-header.is-scrolled{padding-inline:12px}
  .nav-shell{padding:8px 18px}.site-header .brand{font-size:26px;gap:9px}.brand-symbol{width:25px;height:25px}
  .mobile-menu{left:12px;right:12px;top:76px}
  .hero{min-height:100svh;align-items:center}
  .hero-content{padding-top:130px;padding-bottom:85px}
  .hero h1{font-size:42px;max-width:520px}
  .hero-lede{max-width:440px}.hero-actions{grid-auto-flow:row;justify-content:center;gap:12px}
  .hero-actions .button{min-height:56px;width:min(100%,320px);font-size:14px;padding:16px 24px}
  .hero-actions .button-light{min-width:225px}
  .hero-shade{background:rgba(25,22,18,.48)}
  .commitments-grid{padding-block:48px;gap:40px}
  .commitment-icon{margin-bottom:15px}
  .interior-hero{padding-top:132px}
  .projects-grid{display:flex;gap:16px}
  .project-main .comparison,.comparison{aspect-ratio:4/3}
  .project-main,.projects-side .project-card{flex-basis:84vw}
  .step-number{margin-bottom:12px}
}
@media(max-width:359px){.hero h1{font-size:38px}.hero-actions .button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}.site-header.is-hidden{transform:none;opacity:0;visibility:hidden}.site-header:has(:focus-visible),body.menu-open .site-header{visibility:visible}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.hero-actions .button-glass{background:#40352b;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff;border-color:#fff}}

/* The journal: real reading pages, with clear questions and direct answers. */
.blog-section{background:#f0ede7}
.blog-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:45px}
.blog-heading .section-intro{margin-bottom:0;max-width:790px}.blog-heading>.text-link{flex:none;margin-bottom:3px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{min-width:0}.blog-card>a{display:block;height:100%}
.blog-image{aspect-ratio:4/3;border-radius:18px;background:var(--surface-muted)}
.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.blog-card-copy{padding:23px 2px 0}.blog-category{display:block;margin-bottom:13px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}
.blog-card h3{font-size:25px;line-height:1.15;letter-spacing:-.035em;margin-bottom:15px}
.blog-card p{font-size:14px;line-height:1.65;color:var(--text-muted);margin-bottom:23px}
.blog-read{display:inline-flex;gap:12px;align-items:center;font-size:13px;font-weight:600}.blog-read>span{transition:transform .2s var(--ease-out)}
.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:38px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.article-hero h1{max-width:1050px}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;font-size:12px;color:var(--text-muted)}
.article-cover{padding-top:56px}.article-photo{aspect-ratio:16/8;max-height:640px;border-radius:20px}.article-photo img{width:100%;height:100%;object-fit:cover}.image-caption{font-size:11px;color:var(--text-muted);margin-top:12px}
.article-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:clamp(40px,6vw,100px);justify-content:space-between;padding-top:65px;padding-bottom:120px}
.article-toc{position:sticky;top:120px;align-self:start}.article-toc>p{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:22px}
.article-toc nav{display:grid;gap:15px;margin-bottom:30px}.article-toc nav a{font-size:13px;color:var(--text-muted);line-height:1.5}.article-toc nav a:hover{text-decoration:underline}.article-toc>.text-link{font-size:12px;line-height:1.5}
.article-body{min-width:0}.article-body p{font-size:17px;line-height:1.8;color:var(--text-muted)}.article-body h2{font-size:32px;line-height:1.15;margin-bottom:22px}.article-body section{margin-top:52px;scroll-margin-top:120px}
.article-answer{padding:28px;background:var(--surface-muted);border-radius:16px}.article-answer .eyebrow{font-size:11px;line-height:1.4;color:var(--text);margin-bottom:14px}.article-answer>p:last-child{margin:0;font-size:17px;color:var(--text)}
.article-checklist ul{padding-left:21px;display:grid;gap:10px;color:var(--text-muted);font-size:16px}.article-contact{background:var(--surface-muted);padding:30px;border-radius:18px;margin-top:50px;margin-bottom:35px}.article-contact h2{font-size:30px}.article-contact p{font-size:16px}
@media(hover:hover) and (pointer:fine){.blog-card a:hover .blog-image img{transform:scale(1.035)}.blog-card a:hover .blog-read>span{transform:translate(2px,-2px)}}
@media(max-width:1199px){.blog-heading{display:block}.blog-heading>.text-link{margin-top:26px}.blog-grid{gap:22px}.blog-card h3{font-size:22px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:40px}}
@media(max-width:767px){.blog-grid{grid-template-columns:1fr;gap:40px}.blog-card h3{font-size:26px}.blog-card-copy{padding-top:20px}.blog-card p{font-size:15px}.blog-heading{margin-bottom:34px}.article-cover{padding-top:30px}.article-photo{aspect-ratio:4/3}.article-layout{grid-template-columns:1fr;gap:34px;padding-top:34px;padding-bottom:80px}.article-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:28px}.article-toc nav{gap:12px}.article-body p{font-size:16px}.article-body h2{font-size:28px}.article-answer{padding:23px}.article-answer>p:last-child{font-size:16px}.article-body section{margin-top:38px}.article-contact{padding:25px}.breadcrumbs{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.blog-card a:hover .blog-image img,.blog-card a:hover .blog-read>span{transform:none}}

/* Keep the six floors visible in portrait views. */
.services-grid:not(.services-page-grid) .service-card-5{grid-column:span 6}
.services-grid:not(.services-page-grid) .service-card-6{grid-column:span 3}
.service-card:nth-child(5) .service-image{aspect-ratio:16/10}
.service-card:nth-child(6) .service-image,.project-facade .comparison,.detail-photo.detail-facade{aspect-ratio:3/4}
@media(min-width:768px) and (max-width:1199px){.services-grid:not(.services-page-grid) .service-card-5{grid-column:span 4}.services-grid:not(.services-page-grid) .service-card-6{grid-column:span 2}}
@media(max-width:767px){.services-grid:not(.services-page-grid) .service-card:nth-child(n){grid-column:1}.service-card:nth-child(5) .service-image{aspect-ratio:4/3}.service-card:nth-child(6) .service-image{aspect-ratio:3/4}.project-facade .comparison{aspect-ratio:3/4}}

/* Frosted capsule, compact hero actions and uncut bathroom photographs. */
.nav-shell{background:rgba(250,249,246,.72);border:1px solid rgba(255,255,255,.68);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 1px 0 #ffffff9c,0 5px 22px #211a1210}
.hero-actions .button{min-height:50px;padding:13px 25px;font-size:14px}
.service-card:nth-child(2) .service-image,.project-bath .comparison,.detail-photo.detail-bath{aspect-ratio:3/2}
.service-card:nth-child(2) .service-image img,.project-bath .comparison img,.detail-photo.detail-bath img{object-fit:contain}
.hero .parallax-media,.method-band .parallax-media,.final-cta .parallax-media{top:-8%;bottom:auto;height:116%;will-change:transform}

/* Contact can be completed alongside the invitation, in a translucent surface. */
.final-contact{display:block;min-height:0}
.final-contact .final-shade{background:linear-gradient(90deg,rgba(24,20,16,.73),rgba(24,20,16,.55))}
.final-contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:clamp(40px,6vw,90px);padding-block:110px}
.final-contact .final-content{padding:0}
.final-contact .final-content h2{font-size:clamp(38px,4.3vw,64px);max-width:600px}
.final-contact .final-content>p:not(.eyebrow){font-size:17px;max-width:40ch}
.final-contact .final-content>p.contact-demo-note{font-size:12px;color:#e1d7cd;line-height:1.6;margin-top:30px;margin-bottom:0}
.contact-form-wrap{min-width:0}
.contact-form-glass{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 0 #ffffff38,0 20px 60px #100b0720;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);padding:32px}
.contact-form-glass .form-head h2{font-size:28px;color:#fff}
.contact-form-glass .form-head p{font-size:12px;color:#f2eee8;margin-bottom:26px}
.contact-form-glass .field label{color:#fff}
.contact-form-glass .field input,.contact-form-glass .field select,.contact-form-glass .field textarea{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;min-height:48px;padding:11px 13px}
.contact-form-glass .field textarea{min-height:116px}
.contact-form-glass .field input::placeholder,.contact-form-glass .field textarea::placeholder{color:#e0d8cf}
.contact-form-glass .field input:focus,.contact-form-glass .field select:focus,.contact-form-glass .field textarea:focus{border-color:#fff;box-shadow:0 0 0 3px #ffffff25}
.contact-form-glass select option{background:#faf9f6;color:#2d2119}
.contact-form-glass .field{margin-bottom:16px}
.contact-form-glass .consent{font-size:11px;color:#f6f0e9}
.contact-form-glass>.button{background:#fff;color:#2d2119;margin-top:20px}
.contact-form-glass .field-error{color:#ffd0c9}
.contact-form-glass .form-result{color:var(--text);border-color:#fff}
.contact-form-glass .form-result p{color:var(--text-muted)}
@media(max-width:767px){
  .hero-actions .button{min-height:46px;padding:12px 22px;font-size:13px}
  .hero-actions .button-light{min-width:180px}
  .service-card:nth-child(2) .service-image,.project-bath .comparison,.detail-photo.detail-bath{aspect-ratio:3/2}
  .final-contact-grid{grid-template-columns:1fr;gap:35px;padding-block:80px}
  .final-contact .final-content h2{font-size:38px}
  .final-contact .final-content>p:not(.eyebrow){font-size:16px}
  .final-contact .final-content>p.contact-demo-note{font-size:12px}
  .contact-form-glass{padding:23px}
  .contact-form-glass .field input,.contact-form-glass .field select,.contact-form-glass .field textarea{font-size:16px}
}
@supports not (backdrop-filter:blur(1px)){.nav-shell{background:#faf9f6}.contact-form-glass{background:#40362c}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.nav-shell{background:#faf9f6;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#fff}.contact-form-glass{background:#332b24;backdrop-filter:none;-webkit-backdrop-filter:none}.contact-form-glass .field input,.contact-form-glass .field select,.contact-form-glass .field textarea{background:#40372d}}
@media(prefers-reduced-motion:reduce){.hero .parallax-media,.method-band .parallax-media,.final-cta .parallax-media{top:0;height:100%;transform:none!important;will-change:auto}}

/* Aligned editorial rows: every photograph in a row has the same height. */
.services-grid{align-items:start;row-gap:34px}
.services-grid:not(.services-page-grid) .service-card:nth-child(n){grid-column:span 3}
.services-grid:not(.services-page-grid) .service-card:nth-child(1),.services-grid:not(.services-page-grid) .service-card:nth-child(6){grid-column:span 6}
.services-grid .service-card:nth-child(n) .service-image{height:clamp(240px,25vw,360px);aspect-ratio:auto}
.services-grid .service-card:nth-child(n) .service-image img{object-fit:cover;object-position:center}
.services-grid .service-card:nth-child(2) .service-image img{object-position:52% center}
.services-grid .service-card:nth-child(6) .service-image img{object-position:center 46%}
.service-name{min-height:2.7em}
.services-page-grid .service-card:nth-child(n){grid-column:span 4}
.projects-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;row-gap:34px}
.projects-grid .project-card{grid-column:span 2}
.projects-grid .project-main,.projects-grid .projects-side>.project-card:first-child{grid-column:span 3}
.projects-grid .project-card .comparison{height:clamp(260px,25vw,360px);aspect-ratio:auto}
.projects-grid .project-card .comparison img{object-fit:cover;object-position:center}
.project-caption h3{min-height:1.25em}.project-caption>p{min-height:2.8em}
@media(min-width:768px) and (max-width:1199px){
  .services-grid:not(.services-page-grid) .service-card:nth-child(n){grid-column:span 2}
  .services-grid:not(.services-page-grid) .service-card:nth-child(1),.services-grid:not(.services-page-grid) .service-card:nth-child(6){grid-column:span 4}
  .services-page-grid .service-card:nth-child(n){grid-column:span 4}
  .services-grid .service-card:nth-child(n) .service-image{height:clamp(220px,28vw,320px)}
  .projects-grid .project-card .comparison{height:clamp(230px,29vw,320px)}
}
@media(max-width:767px){
  .services-grid:not(.services-page-grid) .service-card:nth-child(n),.services-page-grid .service-card:nth-child(n){grid-column:1}
  .services-grid .service-card:nth-child(n) .service-image{height:auto;aspect-ratio:4/3}
  .service-name{min-height:0}
  .projects-grid .project-card .comparison{height:240px;aspect-ratio:auto}
  .project-caption h3{min-height:2.5em}
}

/* A thinner glass capsule that leaves upwards when scrolling down. */
:root{--header-gap:14px;--capsule-height:64px}
.nav-shell{padding:6px 10px 6px 24px}
.site-header .brand{font-size:27px}.brand-symbol{width:27px;height:27px}
.nav-cta{min-height:44px;padding:10px 23px;font-size:13px}
@media(max-width:1199px){.nav-shell{padding:6px 20px}.mobile-menu{top:calc(var(--capsule-height) + 10px)}}
@media(max-width:767px){
  :root{--header-gap:10px;--capsule-height:56px}
  .nav-shell{padding:4px 16px}.site-header .brand{font-size:24px}.brand-symbol{width:23px;height:23px}
  .mobile-menu{top:66px}
}

/* Stationary viewport photographs, clipped to each section's moving window. */
.hero .parallax-media,.method-band .parallax-media,.final-cta .parallax-media{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0);transform:none;will-change:auto}
.hero .parallax-media img,.method-band .parallax-media img,.final-cta .parallax-media img{position:fixed;inset:0;width:100%;height:100svh;max-width:none;object-fit:cover;object-position:center}
.hero .parallax-media img{object-position:center 52%}
@supports not (clip-path:inset(0)){.hero .parallax-media img,.method-band .parallax-media img,.final-cta .parallax-media img{position:absolute;height:100%}}
@media(prefers-reduced-motion:reduce){.hero .parallax-media img,.method-band .parallax-media img,.final-cta .parallax-media img{position:absolute;height:100%}}

/* Capsule aligned to section content; wider bathroom with the full photograph. */
.site-header,.site-header.is-scrolled{padding-inline:0}
.nav-shell{width:calc(100% - 2 * clamp(20px,4vw,64px));max-width:calc(1400px - 2 * clamp(20px,4vw,64px))}
.services-grid:not(.services-page-grid){container-type:inline-size;grid-template-columns:repeat(24,minmax(0,1fr))}
.services-grid:not(.services-page-grid) .service-card:nth-child(n){grid-column:span 6}
.services-grid:not(.services-page-grid) .service-card:nth-child(1),.services-grid:not(.services-page-grid) .service-card:nth-child(2){grid-column:span 9}
.services-grid:not(.services-page-grid) .service-card:nth-child(6){grid-column:span 12}
.services-grid:not(.services-page-grid) .service-card:nth-child(n) .service-image{height:calc(25cqw - 10px)}
.services-grid .service-card:nth-child(2) .service-image img,.projects-grid .project-bath .comparison img{object-fit:contain;object-position:center}
.agency-details{display:grid;gap:22px;margin-block:36px}
.agency-details>div{display:grid;gap:5px}
.agency-detail-label{font-size:12px;font-weight:500;opacity:.8}
.agency-phone{font-size:clamp(22px,2.2vw,30px);line-height:1.3;letter-spacing:-.03em;font-weight:600}
.agency-details address{font-style:normal;font-size:17px;line-height:1.6}
.final-contact .agency-details .agency-details-note,.agency-details .agency-details-note{font-size:11px;line-height:1.5;opacity:.75;margin:0}
@media(max-width:767px){
  .services-grid:not(.services-page-grid){grid-template-columns:1fr}
  .services-grid:not(.services-page-grid) .service-card:nth-child(n){grid-column:1}
  .services-grid:not(.services-page-grid) .service-card:nth-child(n) .service-image{height:auto;aspect-ratio:4/3}
  .services-grid .service-card:nth-child(2) .service-image{aspect-ratio:3/2!important}
  .agency-details{margin-block:28px}
}

/* Mobile reading rhythm: the next card naturally covers the pinned card. */
.reviews-scroll-hint{display:none}
@media(max-width:767px){
  .services .services-grid,.blog-section .blog-grid{display:block;isolation:isolate;overflow:visible}
  .services .services-grid>.service-card,.blog-section .blog-grid>.blog-card{display:block;position:sticky;top:var(--stack-top,80px);margin-bottom:30px;padding-bottom:24px;opacity:1!important;transform:none!important;transition:none;clip-path:none}
  .services .services-grid>.service-card{background:var(--bg);min-height:calc((100vw - 40px) * .75 + 65px)}
  .blog-section .blog-grid>.blog-card{background:#f0ede7;margin-bottom:40px}
  .services .services-grid>.service-card:last-child,.blog-section .blog-grid>.blog-card:last-child{margin-bottom:0}
  .reviews-scroll-hint{display:block;font-size:12px;color:var(--text-muted);margin-bottom:18px}
  .reviews-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% - 28px);grid-template-columns:none;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;overscroll-behavior-x:contain;margin-inline:-20px;padding:2px 20px 18px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .reviews-grid .review-card{scroll-snap-align:start;min-height:280px;padding:26px;opacity:1!important;transform:none!important;transition:none}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .services .services-grid>.service-card,.blog-section .blog-grid>.blog-card{position:relative;top:auto}
  .reviews-grid{scroll-behavior:auto;scroll-snap-type:x proximity}
}

/* Let the rounded photo edges meet the preceding image without a solid frame. */
@media(max-width:767px){
  .services .services-grid>.service-card,.blog-section .blog-grid>.blog-card{background:transparent;border:0;box-shadow:none;padding-bottom:0;min-height:0}
  .services .service-image,.blog-section .blog-image{background:transparent;border:0;box-shadow:none}
  .services .service-name{margin-top:0;padding:15px 0 24px;background:var(--bg)}
  .blog-section .blog-card-copy{padding:20px 2px 24px;background:#f0ede7}
}

/* An intentional two-line headline at every screen size. */
.hero-title-line{display:block;white-space:nowrap}
@media(max-width:767px){.hero h1{font-size:clamp(24px,7.5vw,42px);line-height:1.12}}
