/* WB studio composition: same content and materials, a distinct visual hierarchy. */
:root{--studio-gutter:clamp(24px,5.3vw,88px)}
body{background:#f8f5f0}header{height:96px;padding:0 var(--studio-gutter);gap:24px;border-bottom:1px solid #d7cabc}
.wordmark{font-size:23px}.wordmark small{font-size:8px;letter-spacing:2.2px}.monogram{font-size:46px;padding-right:15px;margin-right:0}
nav{gap:25px}nav a{font-size:12px}.header-cta{padding:12px 20px;font-size:12px;min-height:46px}
.hero{height:calc(100svh - 96px);min-height:750px;max-height:1000px;margin:0;background:var(--paper);color:var(--ink);overflow:hidden}
.hero-poster,.hero>video{position:absolute;left:53%;right:24px;top:24px;bottom:24px;width:calc(47% - 24px);height:calc(100% - 48px)}
.hero-poster img{position:static;width:100%;height:100%;object-fit:cover;object-position:center}.hero>video{object-fit:cover;object-position:center}
.hero-shade{display:none}.hero-content{padding:66px 0 90px var(--studio-gutter);width:49%;max-width:none;display:flex;flex-direction:column;position:relative;height:100%;justify-content:center}
.hero h1{font-size:clamp(53px,4.3vw,76px);line-height:.99;letter-spacing:-.035em;max-width:720px;margin:0 0 30px;text-wrap:balance;order:0}
.hero-content>p:not(.kicker){font-size:15px;line-height:1.8;max-width:400px;order:1;color:var(--walnut);margin:0}
.hero-content .actions{order:2;gap:17px;align-items:flex-start;flex-direction:column;margin:30px 0 0}.hero .button{background:var(--ink);border-color:var(--ink);color:var(--paper);padding:17px 23px;min-height:54px}.hero .text-link{font-size:13px}
.hero-content .kicker{order:3;font-size:10px;font-weight:500;letter-spacing:.6px;text-transform:none;margin:32px 0 0;color:var(--walnut)}
.hero-seal{display:none}.hero-bottom{left:var(--studio-gutter);right:auto;bottom:30px;width:43%;font-size:11px;gap:24px;line-height:1.6;align-items:end}.hero-bottom span{max-width:145px}.hero-bottom a{max-width:125px;text-align:right}
.hero .motion-toggle{left:auto;right:43px;bottom:43px;background:#f8f5f0ed;border:0;font-size:10px;padding:8px 13px;min-height:36px}
.trust{background:var(--ink);color:var(--paper);padding:29px var(--studio-gutter);gap:30px;justify-content:space-between;border:0;font-size:12px}.trust b{color:#d4b992}
.wrap{padding:120px var(--studio-gutter);max-width:1600px}.split{gap:10%;grid-template-columns:1fr 1fr}.split h2{font-size:clamp(46px,4.7vw,76px)}
#craft{grid-template-columns:1fr 1fr;align-items:center;position:relative;padding-top:145px;padding-bottom:145px}#craft>div{grid-column:2;grid-row:1;max-width:440px}#craft>figure{grid-column:1;grid-row:1;position:relative;margin-right:6%;padding-bottom:60px}#craft>figure::after{content:'';position:absolute;width:145px;height:145px;right:-44px;bottom:0;background:url('/assets/editorial/brand-monogram-480.webp') center/cover;border:9px solid var(--paper)}#craft figure img{height:610px;object-position:50% 40%}#craft .kicker{font-size:12px;text-transform:none;letter-spacing:0;border-top:1px solid var(--brass);padding-top:22px;max-width:100px}
.work-story{background:var(--ink);color:var(--paper)}.work-story .section-head{align-items:start;margin-bottom:64px}.work-story h2{font-size:clamp(48px,5.5vw,84px)}.work-story .section-head p{max-width:260px;font-size:14px;color:#d3c5b7;padding-top:15px}.work-story .stages{grid-template-columns:1fr 1.45fr;gap:5%;align-items:end}.work-story .stages figure:first-child{margin-bottom:90px}.work-story .stages img{height:600px}.work-story .stages figure:first-child img{height:420px}.work-story figcaption,.work-story .note{color:#d3c5b7}.work-story figcaption{border-top:1px solid #776354;margin-top:18px;padding-top:18px}.work-story .note{font-size:11px}
#services>.section-head{margin-bottom:68px;align-items:center}#services h2{font-size:clamp(50px,5.5vw,84px)}#services>.section-head>a{max-width:220px;line-height:1.8}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:85px 55px}.service-card{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-content:start}.service-card>picture{grid-column:1/-1;margin-bottom:25px}.service-card img{aspect-ratio:5/4;height:auto;margin:0;object-position:50% 62%}.service-card:nth-child(even){padding-top:100px}.service-card:nth-child(4) img{object-position:50% 40%}.service-card h3{font-size:40px;grid-column:1;margin:0 0 15px;letter-spacing:-.02em}.service-card p{grid-column:1;margin:0;max-width:300px;font-size:14px}.service-card>span{grid-column:2;grid-row:2/4;align-self:center;font-size:11px;text-decoration:none;writing-mode:vertical-rl;border-left:1px solid #cbbdae;padding-left:14px;letter-spacing:.3px}
.process-story{background:#e6ded3;position:relative;isolation:isolate}.process-story::before{content:'';position:absolute;inset:0;background:url('/assets/editorial/brand-white-oak-1600.webp') center/cover;opacity:.32;z-index:-1}.process-story>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process-story h2{position:sticky;top:45px;align-self:start;font-size:clamp(46px,4.6vw,72px)}.steps{grid-template-columns:1fr;gap:0;margin:0}.step{display:grid;grid-template-columns:45px 1fr;gap:0 22px;padding:25px 0;border-color:#b6a28c}.step:first-child{padding-top:0;border-top:0}.step b{grid-row:1/3;font-size:20px;padding-top:5px}.step h3{font-size:31px;margin:0 0 13px}.step p{grid-column:2;margin:0;max-width:350px}
.prep{gap:10%;padding-top:105px;padding-bottom:105px}.prep h2{font-size:clamp(44px,4.3vw,68px)}
.review-story{background:var(--ink);color:var(--paper)}.review-story .stars{color:#ccb08b}.review-story .section-head{align-items:center;border-bottom:1px solid #655041;padding-bottom:32px;margin-bottom:55px}.review-story h2{font-size:48px}.review-grid{gap:6%}.review-grid blockquote p{font-size:29px;line-height:1.3}.review-grid cite{color:#d3c5b7}.review-grid .stars{font-size:11px}
.process-feature{grid-template-columns:1fr 1fr;gap:10%;align-items:center}.process-feature>figure{grid-column:1;grid-row:1;max-width:none!important;justify-self:stretch!important;width:100%;padding:30px;background:var(--stone)}.process-feature>div{grid-column:2;grid-row:1}.process-feature .process-video{max-height:680px;object-fit:contain}.process-feature figcaption{font-size:11px}
.local-feature{border-top:1px solid var(--stone);padding-top:100px;padding-bottom:100px}.area-links{grid-template-columns:1fr}.area-links a{font-size:40px;padding:19px 0;display:flex;justify-content:space-between;align-items:center}.area-links a::after{content:'';width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23715642' stroke-width='1.5'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/contain no-repeat}
.estimate-feature{background:var(--stone);max-width:none}.estimate-feature>div:first-child{padding-top:35px}.estimate-form{background:var(--paper);padding:36px}.estimate-form label{font-size:12px}.estimate-form input,.estimate-form select,.estimate-form textarea{background:transparent;border-width:0 0 1px;padding:12px 2px}.form-status{font-size:12px}
.cta{background:var(--ink);color:var(--paper);padding:100px var(--studio-gutter);gap:10%;min-height:440px}.cta>picture{opacity:.08}.cta h2{font-size:clamp(48px,5.6vw,86px)}.cta .kicker{text-transform:none;letter-spacing:0;color:#d3c5b7}.cta .button{background:var(--paper);border-color:var(--paper);color:var(--ink)}.cta>div:nth-of-type(2){max-width:440px}.cta p{font-size:15px}.cta .actions{align-items:flex-start;flex-direction:column;gap:18px}
footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--stone);padding:60px var(--studio-gutter);font-size:11px}footer>.brand .wordmark{font-size:24px}footer .monogram{font-size:64px}
.page-intro{padding:80px var(--studio-gutter) 74px;max-width:1600px;display:grid;grid-template-columns:1.25fr .75fr;column-gap:10%;align-items:end;position:relative}.page-intro>.breadcrumb{grid-column:1/-1;justify-self:start;margin-bottom:45px;font-size:11px}.page-intro h1{font-size:clamp(53px,5.1vw,82px);margin:0;max-width:850px;line-height:1.01}.page-intro .lead{font-size:17px;margin:0;line-height:1.8;padding-bottom:5px}.page-intro>picture{display:none}
.city-intro{background:var(--stone);max-width:none;margin-bottom:70px}.city-intro h1{font-size:clamp(48px,4.8vw,78px)}.about-intro{padding-bottom:100px}.about-intro h1{font-size:clamp(60px,6.5vw,100px)}
.service-visuals{padding-bottom:90px}.service-film{aspect-ratio:2.2/1;margin-bottom:45px}.service-visuals .photo-row{gap:25px}.service-visuals .photo-row>picture:nth-child(even){padding-top:55px}.service-visuals .photo-row img{aspect-ratio:3/4}.content-grid h2{font-size:clamp(43px,4vw,65px)}summary{font-weight:500}details{padding:24px 0}details p{font-size:14px}
.gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:54px 28px;align-items:start}.gallery button{grid-column:span 2}.gallery button:nth-child(7n+1),.gallery button:nth-child(7n+2){grid-column:span 3}.gallery button:nth-child(7n+1){padding-top:70px}.gallery button:nth-child(7n+2){padding-bottom:70px}.gallery img{aspect-ratio:4/5}.gallery button:nth-child(7n+2) img{aspect-ratio:3/4}.gallery span{font-size:11px;line-height:1.6;padding-top:12px;border-top:1px solid var(--stone);margin-top:15px}.filters{gap:10px;margin-bottom:50px;border-bottom:1px solid var(--stone);padding-bottom:20px}.filters button{border:0;padding:10px 17px;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink)}
.service-map{padding-top:10px;padding-bottom:70px}.service-map img{border:1px solid #d3c4b3}
@media(min-width:1600px){.hero-content{padding-top:70px}.hero h1{font-size:82px}}
@media(max-width:1200px){header{gap:18px}.wordmark{font-size:20px}nav{gap:19px}.hero h1{font-size:58px}.hero-content{padding-top:35px}.hero{min-height:780px}.hero-content .kicker{max-width:300px}.cards{gap:60px 35px}.service-card h3{font-size:34px}}
@media(max-width:900px){.header-cta{display:none}.hero h1{font-size:52px}.hero-content>p:not(.kicker){font-size:14px}.hero-poster,.hero>video{left:52%;width:calc(48% - 20px);right:20px}.hero-content{width:49%}.hero-bottom{width:42%}.trust{font-size:11px;gap:16px}.page-intro{column-gap:6%}.page-intro h1{font-size:54px}.service-card h3{font-size:29px}.service-card>span{writing-mode:horizontal-tb;border:0;padding:0;grid-column:1;grid-row:auto;margin-top:18px;text-decoration:underline}#craft figure img{height:540px}#craft>figure::after{right:-25px;width:110px;height:110px}.work-story .stages img{height:490px}.work-story .stages figure:first-child img{height:340px}}
@media(max-width:800px){.split{grid-template-columns:1fr}header{height:80px}.wordmark{font-size:19px}.monogram{font-size:39px;padding-right:10px}nav.open{background:var(--paper);padding:25px var(--studio-gutter)}.hero{height:auto;max-height:none;min-height:0;display:grid;grid-template-columns:1fr;padding:0 var(--studio-gutter) 26px;overflow:hidden}.hero-content{width:100%;height:auto;padding:48px 0 32px;display:flex}.hero h1{font-size:clamp(47px,7.6vw,64px);line-height:1.01;max-width:630px;margin-bottom:23px}.hero-content>p:not(.kicker){font-size:14px;max-width:440px}.hero-content .actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.hero-content .kicker{margin-top:24px;max-width:none;font-size:10px}.hero-poster{position:relative;inset:auto;width:100%;height:450px;grid-row:2;margin:0}.hero-poster img{height:100%;object-position:50% 60%}.hero>video{top:auto;left:var(--studio-gutter);right:var(--studio-gutter);bottom:79px;width:calc(100% - 2 * var(--studio-gutter));height:450px;object-position:50% 60%}.hero-bottom{position:static;width:100%;grid-row:3;margin-top:20px;display:flex;justify-content:space-between;font-size:10px;min-height:33px}.hero-bottom span,.hero-bottom a{max-width:none}.hero .motion-toggle{right:calc(var(--studio-gutter) + 13px);bottom:93px;font-size:10px}.trust{display:grid;grid-template-columns:1fr 1fr;padding:25px var(--studio-gutter);font-size:11px;gap:20px}.trust b{display:inline}.wrap{padding:75px var(--studio-gutter)}#craft{padding-top:80px;padding-bottom:80px;grid-template-columns:1fr;gap:38px}#craft>div,#craft>figure{grid-column:1;grid-row:auto;max-width:none}#craft>div{grid-row:1}#craft>figure{grid-row:2;margin-right:25px;padding-bottom:35px}#craft figure img{height:510px}#craft>figure::after{right:-25px;bottom:0;width:112px;height:112px}.split h2{font-size:54px}.work-story .section-head{margin-bottom:40px}.work-story .section-head p{max-width:420px;padding-top:0}.work-story .stages{gap:20px;grid-template-columns:1fr 1.1fr}.work-story .stages img{height:380px}.work-story .stages figure:first-child img{height:280px}.work-story .stages figure:first-child{margin-bottom:45px}.work-story figcaption{font-size:10px}#services>.section-head{margin-bottom:45px}#services>.section-head>a{display:block;max-width:none;margin-top:25px}.cards{gap:45px 24px}.service-card:nth-child(even){padding-top:65px}.service-card h3{font-size:30px}.service-card img{aspect-ratio:3/4}.process-story>.wrap{grid-template-columns:1fr;gap:45px}.process-story h2{position:static;max-width:600px}.steps{gap:0}.step{padding:23px 0}.step p{max-width:none}.prep{gap:30px}.review-story .section-head{display:block}.review-grid{gap:40px}.review-grid blockquote p{font-size:30px}.process-feature{grid-template-columns:1fr;gap:35px}.process-feature>div{grid-column:1;grid-row:1}.process-feature>figure{grid-column:1;grid-row:2;padding:22px;max-width:520px!important}.process-feature .process-video{max-height:590px}.local-feature{grid-template-columns:1fr;gap:30px}.area-links a{font-size:35px}.estimate-feature{gap:35px}.estimate-feature>div:first-child{padding-top:0}.estimate-form{padding:26px}.cta{padding:75px var(--studio-gutter);gap:35px;min-height:0}.cta h2{font-size:58px}.cta .actions{flex-direction:row;align-items:center}.page-intro{grid-template-columns:1fr;gap:0;padding:52px var(--studio-gutter) 45px}.page-intro>.breadcrumb{margin-bottom:30px}.page-intro h1{font-size:55px;max-width:600px}.page-intro .lead{font-size:16px;margin-top:26px;max-width:500px}.city-intro{margin-bottom:30px}.service-film{aspect-ratio:4/3;margin-bottom:30px}.service-visuals .photo-row>picture:nth-child(even){padding-top:30px}.service-visuals .photo-row{gap:18px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.gallery button,.gallery button:nth-child(7n+1),.gallery button:nth-child(7n+2){grid-column:span 1;padding-top:0;padding-bottom:0}.gallery button:nth-child(5n+1){grid-column:1/-1}.gallery button:nth-child(5n+1) img{aspect-ratio:5/4}.gallery img{aspect-ratio:3/4}.gallery button:nth-child(7n+2) img{aspect-ratio:3/4}.gallery span{font-size:11px}.filters{gap:4px;margin-bottom:30px}.filters button{padding:9px 12px;font-size:11px}.service-map{padding-top:0}footer{padding:50px var(--studio-gutter) 110px;gap:30px}footer>.brand .wordmark{font-size:21px}.mobile-contact{box-shadow:0 -3px 16px #2e201918}}
@media(max-width:480px){header{gap:10px}.wordmark{font-size:17px}.wordmark small{font-size:7px;letter-spacing:1.7px}.monogram{font-size:36px}.menu{font-size:12px;padding:10px 12px}.hero-content{padding-top:37px}.hero h1{font-size:46px;line-height:1.03;text-wrap:pretty}.hero-content .actions{gap:18px;align-items:flex-start;flex-direction:column}.hero .button{padding:14px 19px;min-height:50px;font-size:12px}.hero .text-link{font-size:12px}.hero-poster{height:350px}.hero>video{height:350px}.hero-bottom span{max-width:130px}.hero-bottom a{max-width:115px}.hero-bottom{font-size:10px}.hero-content .kicker{font-size:9px}.hero>video{bottom:79px}.trust{font-size:10px}.trust b{display:block}.split h2,#services h2,.work-story h2,.process-story h2,.prep h2{font-size:48px}#craft figure img{height:420px}.work-story .stages{grid-template-columns:1fr;gap:32px}.work-story .stages figure:first-child{margin-bottom:0;margin-right:17%}.work-story .stages figure:first-child img{height:300px}.work-story .stages figure:last-child{margin-left:12%}.work-story .stages figure:last-child img{height:390px}.work-story figcaption{font-size:11px}.cards{grid-template-columns:1fr;gap:45px}.service-card:nth-child(even){padding-top:0}.service-card img{aspect-ratio:5/4}.service-card h3{font-size:36px}.service-card>span{grid-column:2;grid-row:2/4;writing-mode:vertical-rl;border-left:1px solid #cbbdae;padding-left:12px;margin:0;text-decoration:none}.service-card p{max-width:250px}.review-story h2{font-size:40px}.review-grid blockquote p{font-size:28px}.step h3{font-size:30px}.cta h2{font-size:49px}.cta .actions{align-items:flex-start;flex-direction:column}.estimate-form{padding:20px}.page-intro h1{font-size:48px}.service-visuals .photo-row{gap:12px}.service-visuals .photo-row>picture:nth-child(even){padding-top:20px}.gallery{gap:32px 16px}.gallery span{font-size:10px}.content-grid h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){.process-story h2{position:static}}
