/* Fixed reading lines with a soft scroll-following trace; the base grid stays visible. */
.grid-surface{position:relative;z-index:2}
.scroll-details-ready .grid-surface:before{content:'';position:absolute;inset:0;pointer-events:none;background:inherit;mask-image:linear-gradient(transparent,#000 45%,#000 55%,transparent);mask-size:100% 280px;mask-repeat:no-repeat;mask-position:0 var(--grid-glow-y,-280px);opacity:1}
.rule-trace{position:absolute;inset:0;background:currentColor;opacity:0;transform-origin:left;transform:scaleX(1);pointer-events:none}
.scroll-details-ready .rule-trace{opacity:.32;transform:scaleX(var(--rule-progress,0));transition:transform .35s var(--ease)}

/* Extra photographic depth keeps each frame and its associated copy stationary. */
.scroll-details-ready .photo-drift{translate:0 var(--photo-shift,0px);scale:1.18;transition:translate .18s linear,transform .75s var(--ease),filter .75s var(--ease)}
.scroll-details-ready .photo-float{translate:0 var(--photo-shift,0px);transition:translate .18s linear}
.scroll-details-ready .photo-is-moving{will-change:translate}
.gallery-photo{position:relative;width:100%;height:100%;flex:0 0 100%;overflow:hidden}
.gallery-photo>.gallery-scene{position:absolute;inset:0;width:100%;height:100%;transform:none!important}
.scroll-details-ready .gallery-photo>.gallery-scene{top:-60px;height:calc(100% + 120px);transform:translateY(var(--photo-shift,0px))!important;transition:transform .18s linear}
.scroll-details-ready .hero.is-static .hero-room{translate:0 var(--photo-shift,0px);margin-top:16px;margin-bottom:16px;transition:translate .18s linear}
.interiors{z-index:2}

/* Each original side ornament stays anchored inside its own section. */
.scroll-details-ready :is(.section-orbit,.footer-orbit){transform:translate3d(0,var(--orbit-y,0px),0) rotate(var(--orbit-turn,0deg));transition:transform .24s linear}
.orbit-is-moving{will-change:transform}
@media(prefers-reduced-motion:reduce){.grid-surface:before,.rule-trace{display:none}.photo-drift,.photo-float,.hero.is-static .hero-room{translate:none!important;scale:none!important;will-change:auto!important}.gallery-photo>.gallery-scene{top:0!important;height:100%!important;transform:none!important}.section-orbit,.footer-orbit{transform:none!important;will-change:auto!important}}
