/* Visibility is opt-in by JS. With no JS, unsupported observers, or reduced motion, all content stays readable. */
[data-scroll-heading] .scroll-heading-inner{display:inline-block!important;opacity:0;transition:translate 850ms cubic-bezier(.16,1,.3,1),opacity 650ms ease;transition-delay:var(--line-delay,0ms);will-change:translate,opacity}
[data-scroll-heading="opposite"] .scroll-heading-inner{translate:var(--line-x,-70px) 0}
[data-scroll-heading="mask"] .scroll-heading-line{clip-path:inset(-16% -25% -20% -25%)}
[data-scroll-heading="mask"] .scroll-heading-inner{translate:0 145%}
[data-scroll-heading].scroll-heading-visible .scroll-heading-inner{translate:0 0;opacity:1;will-change:auto}
#all-work .archive-card[data-scroll-card]{opacity:0;translate:var(--card-x,0px) 58px;scale:.93;rotate:var(--card-turn,0deg);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s,opacity .55s ease,translate .85s cubic-bezier(.16,1,.3,1),scale .85s cubic-bezier(.16,1,.3,1),rotate .85s cubic-bezier(.16,1,.3,1)}
#all-work .archive-card[data-scroll-card].scroll-card-entering{transition-delay:0ms,0ms,var(--card-delay,0ms),var(--card-delay,0ms),var(--card-delay,0ms),var(--card-delay,0ms);will-change:translate,scale,rotate,opacity}
#all-work .archive-card[data-scroll-card].scroll-card-visible,#all-work .archive-card[data-scroll-card]:focus-visible{opacity:1;translate:0 0;scale:1;rotate:0deg}
@media(max-width:600px){[data-scroll-heading="opposite"] .scroll-heading-inner{translate:calc(var(--line-x,-70px)*.6) 0}[data-scroll-heading="opposite"].scroll-heading-visible .scroll-heading-inner{translate:0 0}#all-work .archive-card[data-scroll-card]{translate:0 38px;scale:.96;rotate:0deg}#all-work .archive-card[data-scroll-card].scroll-card-visible{translate:0 0;scale:1}}
@media(prefers-reduced-motion:reduce){[data-scroll-heading] .scroll-heading-inner{opacity:1!important;translate:none!important;transition:none!important;will-change:auto}[data-scroll-heading="mask"] .scroll-heading-line{clip-path:none!important}#all-work .archive-card[data-scroll-card]{opacity:1!important;translate:none!important;scale:1!important;rotate:none!important;transition:none!important;will-change:auto}}

/* V7.24: a larger, more pronounced entry for the three Selected Work tiles. */
#work .project[data-selected-reveal]{--selected-x:-150px;--selected-y:100px;--selected-turn:-3deg;opacity:0;translate:var(--selected-x) var(--selected-y);scale:1.18;rotate:var(--selected-turn);transform-origin:center;transition:opacity .7s ease,translate 1.2s cubic-bezier(.16,1,.3,1),scale 1.2s cubic-bezier(.16,1,.3,1),rotate 1.2s cubic-bezier(.16,1,.3,1)}
#work .project[data-selected-reveal="1"]{--selected-x:150px;--selected-y:135px;--selected-turn:3deg}#work .project[data-selected-reveal="2"]{--selected-x:160px;--selected-y:155px;--selected-turn:-2.5deg}
#work .project[data-selected-reveal].scroll-card-entering{transition-delay:var(--card-delay,0ms);will-change:translate,scale,rotate,opacity}#work .project[data-selected-reveal].scroll-card-visible,#work .project[data-selected-reveal]:focus-visible{opacity:1;translate:0 0;scale:1;rotate:0deg}
@media(max-width:750px){#work .project[data-selected-reveal]{--selected-x:-42px;--selected-y:80px;--selected-turn:-1.5deg;scale:1.12}#work .project[data-selected-reveal="1"],#work .project[data-selected-reveal="2"]{--selected-x:42px;--selected-y:95px;--selected-turn:1.5deg}#work .project[data-selected-reveal].scroll-card-visible{scale:1}}
@media(prefers-reduced-motion:reduce){#work .project[data-selected-reveal]{opacity:1!important;translate:none!important;scale:1!important;rotate:none!important;transition:none!important;will-change:auto}}

/* Customer marks enter independently as each row reaches the viewport. */
#about .about-partners img[data-scroll-logo]{opacity:0;translate:var(--logo-x,-44px) 32px;scale:1.06;transition:opacity .6s ease,translate .95s cubic-bezier(.16,1,.3,1),scale .95s cubic-bezier(.16,1,.3,1)}
#about .about-partners img[data-scroll-logo].scroll-logo-visible{opacity:1;translate:0 0;scale:1}
@media(max-width:750px){#about .about-partners img[data-scroll-logo]{translate:calc(var(--logo-x,-44px)*.45) 24px;scale:1.04}#about .about-partners img[data-scroll-logo].scroll-logo-visible{translate:0 0;scale:1}}
@media(prefers-reduced-motion:reduce){#about .about-partners img[data-scroll-logo]{opacity:1!important;translate:none!important;scale:1!important;transition:none!important}}
