/* Only the homepage opts in. No layout, shared-page, or media-policy overrides. */
.home-page.home-tone-ready main{
 background:linear-gradient(180deg,var(--paper) 0,var(--paper) var(--tone-start),#e7e8e1 var(--tone-neutral),#dedfd7 var(--tone-bridge),var(--charcoal) var(--tone-dark));
}
.home-page.home-tone-ready :is(.about,.contact){background:transparent}
/* The heading parent scrolls; its two child words keep their approved entrance animation. */
.home-page.home-motion-ready[data-motion-policy="full"] .hero h1{
 transform:translate3d(0,var(--hero-type-y,0px),0);opacity:var(--hero-type-opacity,1);
}
.home-page.home-motion-ready[data-motion-policy="full"] .hero :is(.statue-poster,.statue-canvas){
 transform:perspective(1200px) translate3d(0,var(--hero-depth-y,0px),var(--hero-depth-z,0px)) scale(var(--hero-scale,1));transform-origin:50% 42%;
}
.home-page.home-motion-ready .hero-scroll-active h1{will-change:transform,opacity}
.home-page.home-motion-ready [data-home-reveal]{
 --reveal-distance:28px;--reveal-time:780ms;
 transition:opacity var(--reveal-time) cubic-bezier(.2,.7,.25,1) var(--reveal-delay,0ms),transform var(--reveal-time) cubic-bezier(.2,.7,.25,1) var(--reveal-delay,0ms);
}
.home-page.home-motion-ready [data-home-reveal="finale"]{--reveal-distance:34px;--reveal-time:880ms}
.home-page.home-motion-ready [data-home-reveal="arrow"]{--reveal-distance:18px;--reveal-time:900ms;--reveal-delay:100ms}
.home-page.home-motion-ready [data-home-reveal].motion-armed{opacity:0;transform:translate3d(0,var(--reveal-distance),0)}
.home-page.home-motion-ready [data-home-reveal].is-revealed{opacity:1;transform:translate3d(0,0,0)}
.home-page.home-motion-ready [data-home-reveal]:focus-within{opacity:1;transform:none;transition:none}
/* Retain the border's space, revealing a decorative line without changing layout. */
.home-page.home-motion-ready [data-home-rule]{position:relative;border-top-color:transparent}
.home-page.home-motion-ready [data-home-rule]::before{
 content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ink);pointer-events:none;transform-origin:0 50%;transform:scaleX(1);transition:transform 820ms cubic-bezier(.2,.7,.25,1);
}
.home-page.home-motion-ready [data-home-rule].motion-armed::before{transform:scaleX(0)}
.home-page.home-motion-ready .service-row::before{background:var(--line)}
.home-page.home-motion-ready .service-row:last-child{border-bottom-color:transparent}
.home-page.home-motion-ready .service-row:last-child::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--line);pointer-events:none;transform-origin:0 50%;transition:transform 820ms cubic-bezier(.2,.7,.25,1);transform:scaleX(1)}
.home-page.home-motion-ready .service-row:last-child.motion-armed::after{transform:scaleX(0)}
.home-page.home-motion-ready .contact-top::before{background:var(--dark-line)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-page .featured-grid .project-image,.home-page .featured-grid .card-preview,.home-page .featured-grid .sequence-frame>img{transition:transform 850ms cubic-bezier(.2,.7,.25,1),opacity 500ms ease;transform-origin:center}
 .home-page .featured-grid .sequence-frame{overflow:hidden}
 .home-page .featured-grid .project-link:is(:hover,:focus-visible) :is(.project-image,.card-preview,.sequence-frame>img){transform:scale(1.025)}
 .home-page.home-motion-ready .contact-title:hover>[data-home-reveal="arrow"].is-revealed{transform:translate3d(5px,-5px,0)}
}
@media(max-width:1000px),(pointer:coarse){
 .home-page.home-motion-ready [data-home-reveal]{--reveal-distance:14px;--reveal-time:650ms;--reveal-delay:0ms}
 .home-page.home-motion-ready [data-home-rule]::before,.home-page.home-motion-ready .service-row:last-child::after{transition-duration:650ms}
}
@media(prefers-reduced-motion:reduce){
 .home-page :is([data-home-reveal],.hero h1){opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
 .home-page :is(.statue-poster,.statue-canvas){transform:none!important;transition:none!important;animation:none!important}
 .home-page [data-home-rule]::before,.home-page .service-row:last-child::after{transform:none!important;transition:none!important}
 .home-page .featured-grid :is(img,video){transform:none!important;transition:none!important}
}
