/* One quiet motion language across Home, Work, Studio and Contact. */
/* Image stability takes priority over scroll and hover effects. */
html body main img,
html body main a:is(:hover,:focus-visible) img,
html body.home-page .work-slide-image img,
html body main :is(.studio-photo,.studio-intro-photo,.case-image,.founder-photo,.project-media),
html body main a:is(:hover,:focus-visible) :is(.case-image,.project-media){
 animation:none!important;transition:none!important;transform:none;
 translate:none!important;scale:none!important;rotate:none!important;
 opacity:1;mask-image:none!important;-webkit-mask-image:none!important;
}
body :is(.studio-photo,.studio-intro-photo,.contact-work,.enquiry-form,.contact-panel,.philosophy,.stats article,.why-grid article,.story-panel,.quote-card,.work-item .project,.work-slide){border-radius:16px;}
body :is(.studio-photo,.contact-work,.work-item .project,.work-slide){overflow:hidden;isolation:isolate;clip-path:inset(0 round 16px);}
body :is(.studio-photo,.work-item .project,.work-slide) img{backface-visibility:hidden;}
/* Images fade without scroll/hover zoom or translation; slider tracks stay independent. */
html body main img[data-reveal],
html body main :is(.studio-photo,.studio-intro-photo,.case-image,.founder-photo,.project-media),
html body main :is(.studio-photo,.project-media,.work-slide-image) img{
 transform:none;translate:none!important;scale:none!important;
 transition-property:opacity!important;transition-duration:700ms!important;
 transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
}
.copy-word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em;}
.copy-word{display:inline-block;}
.studio-process h3 .copy-word{background:linear-gradient(130deg,var(--beige),#fff 30%);background-clip:text;color:transparent;}
.editorial-line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
.editorial-title .editorial-line-content{display:block;background:linear-gradient(125deg,var(--beige),#fff 28%);background-clip:text;-webkit-background-clip:text;color:transparent;}
@media(prefers-reduced-motion:no-preference){
 body main [data-reveal].reveal-pending:not(.is-visible){opacity:0;}
 body main [data-reveal].reveal-pending.is-visible{opacity:1;}
 body [data-repeat-text][data-masked] .motion-line>span{transition:transform 1050ms cubic-bezier(.16,1,.3,1),opacity 850ms ease;}
 body [data-repeat-text][data-masked].reveal-pending:not(.is-visible) .motion-line>span{transform:translate3d(0,105%,0);opacity:0;}
 body [data-repeat-text][data-masked].is-visible .motion-line:nth-child(2)>span{transition-delay:95ms;}
 body [data-repeat-text][data-masked].is-visible .motion-line:nth-child(3)>span{transition-delay:190ms;}
 body [data-repeat-text][data-masked].is-visible .motion-line:nth-child(4)>span{transition-delay:285ms;}
 body [data-repeat-text][data-masked].is-visible .motion-line:nth-child(n+5)>span{transition-delay:380ms;}
 body [data-reveal]{--motion-ease:cubic-bezier(.16,1,.3,1);transition-duration:950ms;transition-timing-function:cubic-bezier(.16,1,.3,1);}
 body .motion-line>span{transition:transform 1050ms cubic-bezier(.16,1,.3,1),opacity 850ms ease;}
 body .is-visible .motion-line:nth-child(2)>span{transition-delay:95ms;}
 body .is-visible .motion-line:nth-child(3)>span{transition-delay:190ms;}
 body .is-visible .motion-line:nth-child(4)>span{transition-delay:285ms;}
 body [data-reveal-step="1"].is-visible{transition-delay:95ms;}
 body [data-reveal-step="2"].is-visible{transition-delay:190ms;}
 body [data-reveal-step="3"].is-visible{transition-delay:285ms;}
 body [data-reveal-step="4"].is-visible{transition-delay:380ms;}
 body :is(.service-card,.why-grid article,.stats article){transition-timing-function:cubic-bezier(.16,1,.3,1);}
 body .work-item .project-media{transition-duration:900ms;transition-timing-function:cubic-bezier(.16,1,.3,1);}
}
