/* Progressive motion layer for the sections after the existing hero cover sequence. */
.landing-page.motion-scenes-ready:is(body) #features[data-reveal],
.landing-page.motion-scenes-ready:is(body) #examples[data-reveal],
.landing-page.motion-scenes-ready:is(body) .public-section[data-reveal],
.landing-page.motion-scenes-ready:is(body) .closing-cta[data-reveal]{opacity:1;transform:none;transition:none}
.motion-ready .landing-page.motion-scenes-ready .catalog-section .tool-category{opacity:1;transform:none;animation:none}
.landing-page.motion-scenes-ready [data-scroll-scene]{position:relative;--scene-enter:0;--scene-x:0px;--scene-y:0px;--scene-row-y:0px;--scene-angle:0deg;--scene-tilt:0deg}
.landing-page.motion-scenes-ready [data-scene-heading]{transform:perspective(1600px) translate3d(var(--scene-x),var(--scene-y),0) rotateX(var(--scene-tilt)) rotateZ(var(--scene-angle));transform-origin:50% 70%;opacity:calc(1 - var(--scene-enter) * .55)}
.landing-page.motion-scenes-ready .tool-category{isolation:isolate}
.landing-page.motion-scenes-ready .tool-rail{perspective:1500px;transform:perspective(1800px) translate3d(0,var(--scene-row-y),0) rotateX(var(--scene-tilt));transform-origin:50% 0;gap:25px;padding:30px 16px 54px;margin:-20px -16px -34px;scroll-padding-inline:16px}
.landing-page.motion-scenes-ready .tool-category::after,
.landing-page.motion-scenes-ready #features::after,
.landing-page.motion-scenes-ready #examples::after,
.landing-page.motion-scenes-ready .public-section::after{content:"";position:absolute;z-index:5;top:-32px;left:-2%;right:-2%;height:160px;border-radius:50%;background:linear-gradient(110deg,transparent 5%,var(--color-accent-subtle) 42%,var(--color-surface) 64%,transparent 95%);backdrop-filter:none;-webkit-backdrop-filter:none;mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);opacity:calc(var(--scene-enter) * .85);transform:translate3d(calc(var(--scene-x) * -1),var(--scene-row-y),0) rotate(var(--scene-angle));pointer-events:none}

/* Small resting offsets keep the collection loose, with enough gutters to avoid overlap. */
.landing-page.motion-scenes-ready .showcase-grid{perspective:1700px;gap:38px 25px;padding:16px 6px 30px}
.landing-page.motion-scenes-ready .steps-list{perspective:1500px;padding-block:18px 30px}
.landing-page.motion-scenes-ready [data-motion-card]{translate:0 var(--card-rest-y,0px);rotate:var(--card-rest-angle,0deg);scale:1;opacity:1}
.landing-page.motion-scenes-ready [data-motion-card].is-awaiting{opacity:0;pointer-events:none}
.landing-page.motion-scenes-ready [data-depth-card]{--card-tilt-x:0deg;--card-tilt-y:0deg;--card-hover-y:0px;--card-shadow-x:0px;transform:perspective(1100px) translate3d(0,var(--card-hover-y),0) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y));transform-origin:50% 50%;backface-visibility:hidden;box-shadow:var(--shadow-floating);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s,border-color .3s}
.landing-page.motion-scenes-ready [data-depth-card].is-pointer-active{--card-hover-y:-9px;z-index:2;border-color:var(--color-accent-border);box-shadow:var(--shadow-floating)}
.landing-page.motion-scenes-ready .catalog-card::after,
.landing-page.motion-scenes-ready .showcase-card::after,
.landing-page.motion-scenes-ready .steps-list li::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;background:transparent;box-shadow:var(--shadow-surface);opacity:0;transform:none;transition:opacity .3s;pointer-events:none}
.landing-page.motion-scenes-ready [data-depth-card].is-pointer-active::after{opacity:.58}
.landing-page.motion-scenes-ready [data-motion-card].is-arriving::after{animation:landing-card-glint 1.15s ease both}
.landing-page.motion-scenes-ready .catalog-card:focus-visible,
.landing-page.motion-scenes-ready .showcase-card:focus-within{outline-color:var(--color-accent-deep);z-index:3}
@keyframes landing-card-glint{0%,100%{opacity:0}45%{opacity:.65}}

/* Real image loading stays independent from the card entrance and comparison controls. */
.landing-page.motion-scenes-ready .motion-image{opacity:0;filter:blur(7px);scale:1.06;transition:opacity .48s ease,filter .7s cubic-bezier(.22,1,.36,1),scale .9s cubic-bezier(.22,1,.36,1),transform .35s ease}
.landing-page.motion-scenes-ready .motion-image.is-image-ready{opacity:1;filter:blur(0);scale:1}
.landing-page.motion-scenes-ready .is-media-loading::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 20%,var(--color-surface) 45%,var(--color-accent-subtle) 55%,transparent 80%);background-size:220% 100%;animation:landing-media-shimmer 1.35s linear infinite;pointer-events:none}
@keyframes landing-media-shimmer{from{background-position:140% 0}to{background-position:-100% 0}}

.landing-page.motion-scenes-ready .closing-cta{border-top-left-radius:calc(40px + var(--scene-enter) * 60px);border-top-right-radius:calc(40px + var(--scene-enter) * 60px)}
.landing-page.motion-scenes-ready .closing-cta>h2,
.landing-page.motion-scenes-ready .closing-cta>p,
.landing-page.motion-scenes-ready .closing-cta>.public-button{translate:0 var(--scene-y);scale:calc(1 - var(--scene-enter) * .08);opacity:calc(1 - var(--scene-enter) * .4)}
.landing-page.motion-scenes-ready .closing-orbit{scale:calc(1 - var(--scene-enter) * .2)}

@media(max-width:1180px){
  .landing-page.motion-scenes-ready .tool-rail{gap:24px}
}
@media(max-width:850px){
  .landing-page.motion-scenes-ready [data-motion-card]{--card-rest-y:0px!important;--card-rest-angle:0deg!important}
  .landing-page.motion-scenes-ready .tool-rail{gap:18px;padding-block:22px 38px;margin-block:-14px -24px}
  .landing-page.motion-scenes-ready .showcase-grid{gap:22px 16px;padding-inline:0}
  .landing-page.motion-scenes-ready .steps-list{padding-block:8px 14px}
  .landing-page.motion-scenes-ready [data-scroll-scene]::after{height:100px;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){
  .landing-page.motion-scenes-ready [data-scene-heading],
  .landing-page.motion-scenes-ready .partner-inner,
  .landing-page.motion-scenes-ready .tool-rail,
  .landing-page.motion-scenes-ready [data-depth-card]{transform:none!important;transition:none!important}
  .landing-page.motion-scenes-ready [data-motion-card],
  .landing-page.motion-scenes-ready [data-scene-heading],
  .landing-page.motion-scenes-ready .partner-inner,
  .landing-page.motion-scenes-ready .closing-cta>h2,
  .landing-page.motion-scenes-ready .closing-cta>p,
  .landing-page.motion-scenes-ready .closing-cta>.public-button{opacity:1!important;translate:none!important;rotate:none!important;scale:1!important;pointer-events:auto}
  .landing-page.motion-scenes-ready [data-scroll-scene]::after,
  .landing-page.motion-scenes-ready [data-depth-card]::after,
  .landing-page.motion-scenes-ready .is-media-loading::before{display:none!important;animation:none!important}
  .landing-page.motion-scenes-ready .motion-image{opacity:1;filter:none;scale:1;transition:none}
  .landing-page.motion-scenes-ready .closing-orbit{scale:1}
}
