/* Continuous illustration effects; copy and links remain stationary. */
.case-motion { --case-phase:0s; animation:case-edge-glow 5.6s ease-in-out infinite; animation-delay:var(--case-phase); }
.case-motion:nth-child(2) { --case-phase:-1.8s; }
.case-motion:nth-child(3) { --case-phase:-3.6s; }
.case-motion .case-visual { isolation:isolate; }
.case-motion .case-visual::before { content:''; position:absolute; z-index:-1; inset:-35%; pointer-events:none; background:radial-gradient(ellipse at 55% 45%,#8ce0ad60,transparent 60%); animation:case-ambient 8s ease-in-out infinite alternate; animation-delay:var(--case-phase); }
.case-motion .case-visual::after { content:''; position:absolute; inset:-20%; z-index:2; pointer-events:none; background:linear-gradient(112deg,transparent 37%,#d8ffe61f 44%,#ffffff50 50%,#d8ffe61f 56%,transparent 63%); translate:-140% 0; animation:case-light-sweep 6.8s ease-in-out infinite; animation-delay:var(--case-phase); }
.case-motion .case-brand { z-index:3; }
.case-motion .case-visual>svg { transform-origin:50% 55%; animation:case-art-float 5.2s ease-in-out infinite; animation-delay:var(--case-phase); filter:drop-shadow(0 12px 9px #061d2460); }
.case-motion .case-paper-stack { animation:case-document-float 6s ease-in-out infinite; animation-delay:var(--case-phase); }
.case-motion .case-growth-line { stroke-dasharray:1; animation:case-line-draw 5.6s ease-in-out infinite; }
.case-motion .case-chart-bars { transform-box:fill-box; transform-origin:center bottom; animation:case-chart-rise 3.8s ease-in-out infinite; }
.case-motion .case-checkmark { stroke-dasharray:1; animation:case-line-draw 5.6s ease-in-out infinite; animation-delay:1s; }
.case-motion .case-body>a>span { animation:case-link-glide 3.2s ease-in-out infinite; animation-delay:var(--case-phase); }
.case-motion:not(.is-revealed),.case-motion.is-page-hidden,
.case-motion:not(.is-revealed) *, .case-motion.is-page-hidden *,
.case-motion:not(.is-revealed) .case-visual::before,.case-motion:not(.is-revealed) .case-visual::after,
.case-motion.is-page-hidden .case-visual::before,.case-motion.is-page-hidden .case-visual::after { animation-play-state:paused; }
.case-card.scroll-reveal:not(.is-revealed) { transition:none; }
@keyframes case-edge-glow { 0%,100% { border-color:#d9e6dd; box-shadow:0 8px 24px #123d2910; } 50% { border-color:#81b997; box-shadow:0 10px 30px #3d9c6a29,0 0 0 1px #b6e0c633; } }
@keyframes case-ambient { from { translate:-12% 7%; scale:.88; } to { translate:12% -8%; scale:1.14; } }
@keyframes case-light-sweep { 0%,25% { translate:-140% 0; } 65%,100% { translate:140% 0; } }
@keyframes case-art-float { 0%,100% { translate:0 3px; rotate:-.8deg; scale:1; } 50% { translate:0 -8px; rotate:.8deg; scale:1.025; } }
@keyframes case-document-float { 0%,100% { translate:0 3px; rotate:-2deg; } 50% { translate:0 -11px; rotate:2deg; } }
@keyframes case-line-draw { 0% { stroke-dashoffset:1; opacity:.55; } 30%,80% { stroke-dashoffset:0; opacity:1; } 100% { stroke-dashoffset:-1; opacity:.55; } }
@keyframes case-chart-rise { 0%,100% { scale:1 .78; } 50% { scale:1 1.04; } }
@keyframes case-link-glide { 0%,100% { translate:0 0; } 50% { translate:4px -3px; } }
@media(prefers-reduced-motion:reduce) {
  .case-motion,.case-motion *, .case-motion .case-visual::before,.case-motion .case-visual::after { animation:none!important; }
  .case-motion .case-visual::before,.case-motion .case-visual::after { display:none; }
  .case-motion .case-growth-line,.case-motion .case-checkmark { stroke-dashoffset:0; opacity:1; }
}
