/* Each service keeps its own composition. Motion follows normal scrolling. */
[data-service-motion]{--sm-progress:1}
.service-page main .sm-scene{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;padding:clamp(52px,7vw,110px) var(--gutter);margin:0;}
.service-page main .sm-label{font-size:.875rem;letter-spacing:.13em;line-height:1.65;font-weight:400;text-transform:uppercase;margin:0 0 30px;}
.service-page main .sm-scene h2{font-weight:400;font-size:clamp(2.5rem,6.5vw,7.3rem);letter-spacing:-.055em;line-height:1.15;margin:0;}
.service-page main .sm-scene h2 em{font-family:var(--serif);font-weight:400;}
.sm-fine-line,.sm-breath-line,.sm-door-line,.sm-join-line{display:block;pointer-events:none;}
.sm-home{background:#e5e0d5;color:var(--ink);}
.sm-home h2{display:flex;justify-content:space-between;gap:20px;max-width:1460px;margin-inline:auto!important;}
.sm-home h2>span:first-child{transform:translateX(calc((1 - var(--sm-progress))*3vw));}
.sm-home h2>span:last-child{transform:translateX(calc((1 - var(--sm-progress))*-3vw));}
.sm-home h2 em{color:#71664f;}
.sm-fine-line{height:1px;background:#aba08c;margin-top:35px;transform:scaleX(calc(.35 + var(--sm-progress)*.65));}
.sm-kitchen{background:#283a32;color:#faf8f1;}
.sm-kitchen h2{max-width:1200px;margin-inline:auto!important;}
.sm-kitchen h2>span,.sm-kitchen h2>em{display:block;}
.sm-kitchen h2>span{transform:translateX(calc((1 - var(--sm-progress))*-4vw));}
.sm-kitchen h2>em{text-align:right;color:#d9c8a5;transform:translateX(calc((1 - var(--sm-progress))*4vw));}
.service-page main .sm-small-note{font-size:1rem;line-height:1.8;margin:30px 0 0;text-align:right;}
.sm-bathroom{text-align:center;background:#e8e5de;color:#45483e;}
.sm-bathroom h2{letter-spacing:calc(-.055em + (1 - var(--sm-progress))*.045em)!important;}
.sm-bathroom em{color:#737b68;}
.sm-breath-line{height:1px;background:#8b907d;width:clamp(110px,24vw,360px);margin:38px auto 0;transform:scaleX(calc(.5 + var(--sm-progress)*.5));}
.sm-commercial{background:var(--ink);color:#f3f0e8;}
.sm-commercial h2{max-width:1000px;}
.sm-commercial h2 span,.sm-commercial h2 em{display:block;}
.sm-commercial h2 em{padding-left:clamp(24px,10vw,150px);color:#c5b697;transform:translateX(calc((1 - var(--sm-progress))*3vw));}
.sm-door-line{position:absolute;inset:30px var(--gutter) 30px auto;width:clamp(30px,13vw,210px);border-block:1px solid #8b887c;border-right:1px solid #8b887c;transform-origin:right center;transform:scaleX(calc(.25 + var(--sm-progress)*.75));z-index:-1;}
.sm-design{background:#ded8cc;color:var(--ink);}
.sm-design h2>span,.sm-design h2>em{display:block;}
.sm-design h2>span{transform:translateX(calc((1 - var(--sm-progress))*8vw));}
.sm-design h2>em{padding-left:clamp(25px,14vw,225px);color:#776c58;transform:translateX(calc((1 - var(--sm-progress))*-4vw));}
.sm-join-line{height:1px;background:#8a7e67;margin-top:38px;transform-origin:left;transform:scaleX(calc(.2 + var(--sm-progress)*.8));}
/* Four smaller interventions within existing content, with no added page length. */
[data-service-motion="custom"] .ch-interior{clip-path:inset(0 calc((1 - var(--sm-progress))*9%) 0 calc((1 - var(--sm-progress))*9%));}
[data-service-motion="custom"] .ch-interior-copy h2 em{display:inline-block;transform:translateX(calc((1 - var(--sm-progress))*1.4vw));}
[data-service-motion="addition"] .ha-plus{display:inline-block;transform:rotate(calc((1 - var(--sm-progress))*-90deg)) scale(calc(.85 + var(--sm-progress)*.15));transform-origin:center;}
[data-service-motion="sequence"] .dl-stages{position:relative;}
[data-service-motion="sequence"] .dl-stages:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:#85765b;transform-origin:left;transform:scaleX(var(--sm-progress));}
[data-service-motion="sequence"] .dl-stage-number{display:inline-block;transform:translateY(calc((1 - var(--sm-progress))*10px));}
[data-service-motion="craft"] .gc-trade-number{display:inline-block;transform:translateX(calc((1 - var(--sm-progress))*-8px));}
[data-service-motion="craft"] li{position:relative;}
[data-service-motion="craft"] li:after{content:"";height:1px;background:#91816a;position:absolute;bottom:-1px;left:0;right:0;transform-origin:left;transform:scaleX(calc(.15 + var(--sm-progress)*.85));}
/* Selected crops reserve their space and retain a meaningful view on phones. */
.service-editorial.se-bathroom .se-b-feature .se-cover>img{max-height:710px;aspect-ratio:1.12;object-fit:cover;}
.service-editorial.se-whole-home .se-w-feature .se-cover>img{aspect-ratio:4/5;object-fit:cover;}
.service-editorial.se-kitchen .se-cover>img{max-height:800px;aspect-ratio:1.85;object-fit:cover;}
.service-editorial.se-commercial .se-cover>img{max-height:760px;aspect-ratio:1.75;object-fit:cover;}
.design-build-page .db-cover>img{max-height:850px;aspect-ratio:4/5;object-fit:cover;}
.service-page .se-invite-title>svg,.service-page .db-start>svg,.service-page .rp-invite-link>span,.service-page .dl-invite-title>svg{transition:transform .35s ease;}
.service-page .se-invite-title:is(:hover,:focus-visible)>svg,.service-page .db-start:is(:hover,:focus-visible)>svg,.service-page .rp-invite-link:is(:hover,:focus-visible)>span,.service-page .dl-invite-title:is(:hover,:focus-visible)>svg{transform:translate(4px,-4px);}
@media(max-width:760px){
 .service-page main .sm-scene{padding:52px var(--gutter);}
 .service-page main .sm-label{font-size:.875rem;margin-bottom:24px;letter-spacing:.09em;}
 .service-page main .sm-scene h2{font-size:clamp(2.25rem,9vw,4.5rem);line-height:1.23;}
 .sm-home h2{flex-wrap:wrap;justify-content:flex-start;column-gap:.35em;row-gap:.08em;}
 .sm-home h2>span:last-child{margin-left:auto;}
 .sm-design h2>em{padding-left:5vw;}
 .sm-commercial h2 em{padding-left:8vw;}
 .sm-door-line{inset:24px var(--gutter) 24px auto;width:11vw;}
 [data-service-motion="sequence"] .dl-stages:before{top:0;bottom:0;left:0;width:2px;height:auto;right:auto;transform-origin:top;transform:scaleY(var(--sm-progress));}
 [data-service-motion="sequence"] .dl-stages{padding-left:17px;}
 .service-editorial.se-whole-home .se-w-feature .se-cover>img{aspect-ratio:1.1;}
 .service-editorial.se-kitchen .se-cover>img{aspect-ratio:1.2;}
 .service-editorial.se-commercial .se-cover>img{aspect-ratio:1.18;}
 .design-build-page .db-cover>img{aspect-ratio:1;}
}
@media(prefers-reduced-motion:reduce){
 [data-service-motion]{--sm-progress:1!important;}
 .service-page .se-invite-title>svg,.service-page .db-start>svg,.service-page .rp-invite-link>span,.service-page .dl-invite-title>svg{transition:none;transform:none!important;}
}
