/* STOK editorial refresh V2 — service identity is distinct from Portfolio case-study presentation */
.v2-service{font-family:'Poppins',Arial,sans-serif;color:#40363e;background:#fff;overflow:hidden}
.v2-service *, .v2-service *:before, .v2-service *:after{box-sizing:border-box}
.v2-service h1,.v2-service h2,.v2-service h3,.v2-service p,.v2-service figure{margin:0}
.v2-serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.043em;line-height:.93}
.v2-serif em{font-style:italic;font-weight:400}
.v2-gutter{padding-left:5.5%;padding-right:5.5%}
.v2-overline,.v2-rule-caption,.v2-service-meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;line-height:1.6}
.v2-overline{display:block;margin-bottom:22px}
.v2-service-meta{display:flex;justify-content:space-between;gap:16px;padding:19px 0 22px;border-bottom:1px solid #dfdce0;color:#726c72}
.v2-service p{font-size:13px;line-height:1.92}
.v2-service .v2-photo{display:block;overflow:hidden;position:relative}
.v2-service .v2-photo img{display:block;width:100%;height:100%;object-fit:cover}
.v2-service .v2-photo figcaption{font-size:9px;line-height:1.65;letter-spacing:.1em;text-transform:uppercase;margin-top:12px;color:#777078}
.v2-service .v2-button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;background:#40363e;color:#fff;padding:17px 21px;font-size:11px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s ease}
.v2-service .v2-button:hover{background:#251d24}
.v2-button span{font-size:18px;font-weight:400}
.v2-service .v2-textlink{display:inline-flex;gap:16px;border-bottom:1px solid #40363e;padding-bottom:6px;font-size:11px;line-height:1.5;text-decoration:none}
.v2-service .v2-textlink:hover{opacity:.62}
/* SHOW HOMES: architectural magazine spread, extended photo composition */
.v2-sh-opening{padding-bottom:27px}
.v2-sh-intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8%;align-items:end;padding-top:55px;padding-bottom:31px}
.v2-sh h1{font-size:clamp(70px,7vw,112px);letter-spacing:-.055em}
.v2-sh .v2-deck{font-size:19px;font-family:'Cormorant Garamond',Georgia,serif;line-height:1.2;margin-top:21px}
.v2-sh-aside{border-top:1px solid #d5d0d5;padding-top:20px}
.v2-sh-aside p{font-size:12px;margin:15px 0 28px}
.v2-sh-feature{padding:0 1.9%}
.v2-sh-heroimg{height:min(58vw,650px)}
.v2-sh-feature .v2-photo figcaption{position:absolute;bottom:0;left:0;background:#fff;padding:14px 23px;margin:0}
.v2-sh-editorial{display:grid;grid-template-columns:1fr 1fr 36%;gap:4%;padding-top:110px;padding-bottom:110px;align-items:start}
.v2-sh-specialism h2{font-size:clamp(52px,5.3vw,86px)}
.v2-sh-specialism-copy{padding-top:55px}
.v2-sh-specialism-copy p{font-size:12px;margin-bottom:24px}
.v2-sh-specialism-copy .v2-strong-statement{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1.13;margin:28px 0}
.v2-sh-secondary{height:425px;margin-top:40px!important}
.v2-sh-bottom{border-top:1px solid #dedcde;display:grid;grid-template-columns:21% 1fr 25%;gap:25px;align-items:start;padding-top:75px;padding-bottom:88px}
.v2-sh-bottom h2{font-size:clamp(55px,5.4vw,85px);margin-bottom:30px}
.v2-sh-inline{display:flex;flex-direction:column;gap:17px;padding-top:65px}
.v2-sh-inline a{border-bottom:1px solid #d8d4d8;padding:0 0 14px;display:flex;justify-content:space-between;font-size:12px}
/* DRESS TO SELL: dramatic contrast / results / value */
.v2-ds-opening{display:grid;grid-template-columns:44% 56%;min-height:660px}
.v2-ds-copy{background:#40363e;color:#fff;padding:0 8% 54px 12.5%;display:flex;flex-direction:column;justify-content:space-between}
.v2-ds-copy .v2-service-meta{border-color:#6f666e;color:#eee}
.v2-ds h1{font-size:clamp(72px,7.4vw,116px);line-height:.86;margin:20px 0 25px}
.v2-ds-copy p{font-size:12px;line-height:1.85;max-width:330px;margin-bottom:28px}
.v2-ds-copy .v2-button{background:#fff;color:#40363e}
.v2-ds-start{border-top:1px solid #847a83;padding-top:22px;margin-top:44px;display:flex;flex-direction:column;align-items:flex-start}
.v2-ds-start span,.v2-ds-start small{font-size:10px;letter-spacing:.08em}
.v2-ds-start strong{font-weight:400;font-size:clamp(50px,5.4vw,86px);line-height:1.04;margin:6px 0}
.v2-ds-opening>.v2-photo{height:730px}
.v2-ds-opening>.v2-photo img{object-position:52% center}
.v2-ds-opening>.v2-photo figcaption{position:absolute;right:0;bottom:0;background:#fff;padding:11px 17px;margin:0}
.v2-ds-outcome{display:grid;grid-template-columns:56% 44%;gap:8%;padding-top:112px;padding-bottom:115px}
.v2-ds-outcome h2{font-size:clamp(54px,5.4vw,86px);margin-bottom:28px}
.v2-ds-outcome p{max-width:400px}
.v2-ds-number{border-left:1px solid #dad6da;padding-left:10%}
.v2-ds-number>div{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(115px,13vw,190px);line-height:.73;letter-spacing:-.075em;padding:24px 0 8px}
.v2-ds-number>div span{font-size:.44em;letter-spacing:-.05em}
.v2-ds-number p{font-size:16px;max-width:260px;margin:20px 0}
.v2-ds-number small,.v2-rf-proof small{display:block;font-size:10px;line-height:1.7;color:#716b72;max-width:320px}
.v2-ds-story{background:#f2f2f4;display:grid;grid-template-columns:54% 46%;gap:8%;align-items:center;padding-top:95px;padding-bottom:95px}
.v2-ds-story>.v2-photo{height:550px}
.v2-ds-story .v2-ds-chapter{padding-right:17%}
.v2-ds-story h2{font-size:clamp(47px,4.8vw,79px);margin-bottom:30px}
.v2-ds-story p{font-size:12px;margin-bottom:29px}
.v2-ds-closing{padding-top:86px;padding-bottom:100px;text-align:center}
.v2-ds-closing span{font-size:10px;letter-spacing:.12em}
.v2-ds-closing h2{font-size:clamp(59px,6vw,100px);margin:25px 0 34px}
/* RENTAL: high-confidence offer with asymmetrical '48' and package detail */
.v2-rf-intro{padding-bottom:53px}
.v2-rf-title-row{display:flex;justify-content:space-between;gap:10%;padding-top:55px;align-items:flex-end}
.v2-rf h1{font-size:clamp(70px,6.7vw,105px);margin-bottom:23px}
.v2-rf-title-row p{max-width:360px;margin-bottom:29px}
.v2-rf-price{border-left:1px solid #d7d2d7;padding-left:35px;min-width:300px;text-align:left;margin-bottom:14px}
.v2-rf-from{font-size:25px;line-height:1.2;white-space:nowrap}
.v2-rf-from strong{font-weight:400;font-size:clamp(52px,5vw,80px)}
.v2-rf-vat{font-size:12px;margin-top:5px}
.v2-rf-speed{display:grid;grid-template-columns:46% 54%;background:#f2f2f4}
.v2-rf-left{padding:52px 7% 66px 12%;display:flex;flex-direction:column;justify-content:space-between}
.v2-rf-numeral{font-size:clamp(126px,17vw,265px);letter-spacing:-.11em;line-height:.67;margin:62px 0 30px}
.v2-rf-numeral span{display:inline-block;font-family:'Poppins',Arial,sans-serif;font-size:.14em;letter-spacing:0;vertical-align:baseline;margin-left:17px}
.v2-rf-left h2{font-size:clamp(45px,4.35vw,71px);margin-bottom:23px}
.v2-rf-left p{max-width:440px;font-size:12px}
.v2-rf-link{margin-top:29px;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:7px;font-size:11px}
.v2-rf-speed-photo{height:745px}
.v2-rf-speed-photo img{object-position:53% center}
.v2-rf-speed-photo figcaption{position:absolute;bottom:0;right:0;margin:0;background:#fff;padding:12px 18px}
.v2-rf-options{display:grid;grid-template-columns:41% 59%;gap:8%;align-items:center;padding-top:120px;padding-bottom:125px}
.v2-rf-options h2{font-size:clamp(51px,5vw,80px);margin-bottom:24px}
.v2-rf-options p{max-width:390px}
.v2-rf-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;max-width:430px}
.v2-rf-parts span{border-top:1px solid #d6d2d6;font-size:10px;padding-top:12px}
.v2-rf-options-photo{height:560px}
.v2-rf-proof{background:#40363e;color:#fff;padding-top:65px;padding-bottom:70px}
.v2-rf-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:32px}
.v2-rf-proof-grid>div:first-child{border-right:1px solid #716a71}
.v2-rf-proof-grid strong{font-size:clamp(50px,6vw,92px);font-weight:400;display:block;margin-bottom:12px}
.v2-rf-proof-grid p{max-width:350px;font-size:12px}
.v2-rf-proof-grid small{color:#ded8de;margin-top:11px}
.v2-rf-proof-grid .v2-textlink{color:#fff;border-color:#fff;margin-top:22px}
.v2-rf-end{padding-top:97px;padding-bottom:115px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.v2-rf-end h2{font-size:clamp(55px,6vw,90px)}
/* ASSIST: furniture-object editorial, no full-room project masquerading as replacement work */
.v2-as-opening{padding-bottom:92px}
.v2-as-hero{display:grid;grid-template-columns:55% 45%;gap:5%;align-items:center;padding-top:70px}
.v2-as-words{padding-bottom:85px}
.v2-as h1{font-size:clamp(65px,7.3vw,114px);margin-bottom:30px}
.v2-as-words p:not(.v2-overline){max-width:385px;margin-bottom:30px}
.v2-as-image-group{background:#f2f2f4;padding:26px 27px 16px;transform:translateY(25px)}
.v2-as-feature-img{height:570px}
.v2-as-feature-img img{object-position:50% 50%}
.v2-as-process{background:#f2f2f4;padding-top:105px;padding-bottom:115px}
.v2-as-process h2{font-size:clamp(52px,5.4vw,84px)}
.v2-as-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:64px}
.v2-as-steps>div{border-top:1px solid #c7c1c7;padding-top:17px}
.v2-as-steps span{font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;line-height:1}
.v2-as-steps h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:37px;line-height:1;margin:15px 0}
.v2-as-steps p{font-size:12px;max-width:300px}
.v2-as-collage{padding-top:115px;padding-bottom:90px;display:grid;grid-template-columns:.89fr 1fr .68fr;gap:4%;align-items:center}
.v2-as-collage-a{height:550px}
.v2-as-collage-b{height:420px}
.v2-as-bridge{padding:30px 0 0}
.v2-as-bridge h2{font-size:clamp(50px,4.8vw,76px);margin-bottom:25px}
.v2-as-bridge p{max-width:330px;font-size:12px}
.v2-as-disclosure{font-size:10px!important;color:#827b83;margin-top:28px!important}
.v2-as-last{padding-top:80px;padding-bottom:100px;border-top:1px solid #dedcde;display:flex;align-items:end;justify-content:space-between;gap:25px}
.v2-as-last h2{font-size:clamp(50px,5.7vw,88px);margin-top:20px}
/* Sitewide typography: quiet the oversized section mastheads (not the magazine body).
  'What We Do' and 'Portfolio' use separate legacy CSS with stronger specificity. */
#main .portfolio-intro h1,.portfolio-intro h1{font-size:clamp(72px,7.1vw,118px)!important;line-height:.85!important;letter-spacing:-.055em!important}
.opening .intro h1,.opening #page-title{font-size:clamp(67px,6.5vw,104px)!important;line-height:.86!important;letter-spacing:-.045em!important;margin:30px 0 41px!important}
.about-main .about-hero .hero-title{font-size:clamp(66px,6.75vw,105px)!important;line-height:.89!important;letter-spacing:-.043em!important;margin:38px -13% 35px 0!important}
@media(max-width:800px){.v2-sh-editorial{grid-template-columns:1fr 1fr;row-gap:45px}.v2-sh-secondary{grid-column:1/-1;width:73%;height:370px;margin-left:auto!important}.v2-ds-opening{grid-template-columns:45% 55%}.v2-ds-copy{padding-bottom:40px}.v2-ds-opening>.v2-photo{height:660px}.v2-rf-left{padding-left:8%}.v2-rf-speed-photo{height:680px}.v2-rf-price{min-width:250px}}
@media(max-width:640px){
.v2-service-meta{font-size:8px;letter-spacing:.12em;gap:9px}
.v2-service-meta span:last-child{text-align:right}
.v2-overline,.v2-rule-caption{font-size:9px}
.v2-service p{font-size:12px}
.v2-sh-intro{display:block;padding-top:43px}.v2-sh h1{font-size:75px}.v2-sh .v2-deck{font-size:21px;margin-bottom:22px}.v2-sh-aside{padding-top:17px}.v2-sh-aside p{max-width:310px}
.v2-sh-feature{padding:0}.v2-sh-heroimg{height:470px}.v2-sh-feature .v2-photo figcaption{font-size:8px;max-width:82%}
.v2-sh-editorial{grid-template-columns:1fr;padding-top:66px;padding-bottom:70px;gap:28px}.v2-sh-specialism h2{font-size:62px}.v2-sh-specialism-copy{padding-top:0}.v2-sh-secondary{grid-column:auto;width:100%;height:370px;margin:15px 0 0!important}.v2-sh-bottom{grid-template-columns:1fr;padding-top:52px;padding-bottom:72px;gap:23px}.v2-sh-bottom h2{font-size:66px}.v2-sh-inline{padding-top:5px}
.v2-ds-opening{display:block}.v2-ds-copy{padding:0 5.5% 45px;gap:32px;min-height:580px}.v2-ds h1{font-size:82px}.v2-ds-copy .v2-service-meta{padding:18px 0}.v2-ds-opening>.v2-photo{height:460px}.v2-ds-outcome{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:50px}.v2-ds-outcome h2{font-size:61px}.v2-ds-number{border-left:0;border-top:1px solid #dcd6dc;padding:32px 0 0}.v2-ds-number>div{font-size:132px}.v2-ds-story{grid-template-columns:1fr;gap:25px;padding-top:62px;padding-bottom:73px}.v2-ds-story>.v2-photo{height:390px}.v2-ds-story .v2-ds-chapter{padding-right:0}.v2-ds-story h2{font-size:57px}.v2-ds-closing{padding-top:72px;padding-bottom:80px}.v2-ds-closing h2{font-size:61px}
.v2-rf-title-row{display:block;padding-top:45px}.v2-rf h1{font-size:74px}.v2-rf-title-row p{max-width:310px}.v2-rf-price{border-left:0;border-top:1px solid #ddd5dd;padding:26px 0 0;margin:32px 0 0}.v2-rf-from strong{font-size:62px}
.v2-rf-speed{display:flex;flex-direction:column}.v2-rf-left{padding:55px 6%}.v2-rf-numeral{font-size:164px;margin:60px 0 33px}.v2-rf-left h2{font-size:58px}.v2-rf-speed-photo{height:420px}.v2-rf-options{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:75px;padding-bottom:80px}.v2-rf-options h2{font-size:62px}.v2-rf-options-photo{height:380px}.v2-rf-proof{padding-top:60px;padding-bottom:65px}.v2-rf-proof-grid{grid-template-columns:1fr;gap:35px}.v2-rf-proof-grid>div:first-child{border:0;border-bottom:1px solid #716a71;padding-bottom:30px}.v2-rf-proof-grid strong{font-size:72px}.v2-rf-end{display:block;padding-top:70px;padding-bottom:75px}.v2-rf-end h2{font-size:65px;margin:20px 0 30px}
.v2-as-opening{padding-bottom:70px}.v2-as-hero{display:block;padding-top:47px}.v2-as h1{font-size:76px}.v2-as-words{padding-bottom:40px}.v2-as-image-group{transform:none;padding:15px 15px 6px}.v2-as-feature-img{height:385px}.v2-as-process{padding-top:72px;padding-bottom:77px}.v2-as-process h2{font-size:65px}.v2-as-steps{grid-template-columns:1fr;gap:29px;margin-top:39px}.v2-as-steps h3{font-size:36px}.v2-as-collage{grid-template-columns:1fr 1fr;gap:16px;padding-top:78px;padding-bottom:70px}.v2-as-collage-a{height:315px}.v2-as-collage-b{height:245px}.v2-as-bridge{grid-column:1/-1;grid-row:1;padding:0 0 28px}.v2-as-bridge h2{font-size:62px}.v2-as-last{display:block;padding-top:60px;padding-bottom:70px}.v2-as-last h2{font-size:65px;margin-bottom:29px}
.portfolio-intro h1{font-size:clamp(62px,15vw,85px)!important}.opening .intro h1,.opening #page-title{font-size:clamp(61px,14vw,85px)!important;margin:21px 0 26px!important}.about-main .about-hero .hero-title{font-size:clamp(59px,12.5vw,78px)!important;margin:30px 0 25px!important;line-height:.9!important}
}

/* ABOUT: expertise proof spread */
.v2-about-proof{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;padding-top:105px;padding-bottom:110px;background:#fff}
.v2-about-proof h2{font-size:clamp(53px,5.5vw,84px);margin-bottom:23px}
.v2-about-proof p{font-size:13px;line-height:1.8;max-width:380px}
.v2-about-proof aside{border-left:1px solid #d4d0d4;padding-left:13%}
.v2-about-proof aside strong{display:block;font-size:clamp(65px,7vw,104px);font-weight:400;line-height:1;margin:15px 0}
.v2-about-proof aside strong span{font-size:.47em}
.v2-about-proof aside small{display:block;font-size:10px;color:#827b83;line-height:1.7;margin-top:14px}
@media(max-width:640px){.v2-about-proof{display:block;padding-top:72px;padding-bottom:75px}.v2-about-proof h2{font-size:58px}.v2-about-proof aside{margin-top:34px;padding:29px 0 0;border-left:0;border-top:1px solid #dedcde}.v2-about-proof aside strong{font-size:79px}}

.v2-home-authority{border-bottom:1px solid #e2dfe2;padding-top:26px;padding-bottom:31px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.v2-home-authority span{font-size:9px;letter-spacing:.15em;white-space:nowrap}.v2-home-authority p{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2.5vw,34px);line-height:1.1}.v2-home-authority a{white-space:nowrap;font-size:10px;text-decoration:underline;text-underline-offset:6px}
@media(max-width:640px){.v2-home-authority{display:block;padding-top:32px;padding-bottom:34px}.v2-home-authority p{margin:17px 0 19px;font-size:27px}.v2-home-authority a{display:inline-block}}

/* Final headline sizing — scaled below original visual concept at all breakpoints */
#main .portfolio-intro h1,.portfolio-intro h1{font-size:clamp(62px,5.9vw,96px)!important;line-height:.9!important}
.opening .intro h1,.opening #page-title{font-size:clamp(60px,5.6vw,87px)!important;line-height:.9!important}
.about-main .about-hero .hero-title{font-size:clamp(61px,5.7vw,86px)!important;line-height:.96!important;margin:35px -8% 31px 0!important}
@media(max-width:640px){.portfolio-intro h1{font-size:clamp(57px,14vw,72px)!important}.opening .intro h1,.opening #page-title{font-size:clamp(57px,12.8vw,69px)!important}.about-main .about-hero .hero-title{font-size:clamp(57px,12.7vw,70px)!important;margin:28px 0 26px!important}}

/* Final headline sizing — scaled below original visual concept at all breakpoints */
#main .portfolio-intro h1,.portfolio-intro h1{font-size:clamp(62px,5.9vw,96px)!important;line-height:.9!important}
.opening .intro h1,.opening #page-title{font-size:clamp(60px,5.6vw,87px)!important;line-height:.9!important}
.about-main .about-hero .hero-title{font-size:clamp(61px,5.7vw,86px)!important;line-height:.96!important;margin:35px -8% 31px 0!important}
@media(max-width:640px){.portfolio-intro h1{font-size:clamp(57px,14vw,72px)!important}.opening .intro h1,.opening #page-title{font-size:clamp(57px,12.8vw,69px)!important}.about-main .about-hero .hero-title{font-size:clamp(57px,12.7vw,70px)!important;margin:28px 0 26px!important}}
