/* Original topic illustrations: finite, semantic sequences on deliberate interaction.
   Individual translate/scale preserve each object's authored SVG rotation. */
.topic-motion-paper { --topic-sequence:topic-paper-separate; --topic-duration:1s; }
.topic-motion-notice { --topic-sequence:topic-notice-lift; --topic-duration:1s; --topic-delay:70ms; }
.topic-motion-info { --topic-sequence:topic-info-arrive; --topic-duration:900ms; --topic-delay:100ms; transform-origin:194px 47px; }
.topic-motion-profile { --topic-sequence:topic-profile-shift; --topic-duration:950ms; }
.topic-motion-branch { --topic-sequence:topic-trace-path; --topic-duration:700ms; --topic-path:240; }
.topic-motion-choice { --topic-sequence:topic-choice-confirm; --topic-duration:850ms; --topic-delay:180ms; transform-origin:178px 95px; }
.topic-motion-pulse { --topic-sequence:topic-trace-path; --topic-duration:1.1s; --topic-path:260; }
.topic-motion-shield { --topic-sequence:topic-shield-lift; --topic-duration:950ms; --topic-delay:120ms; }
.topic-motion-browser { --topic-sequence:topic-browser-settle; --topic-duration:1s; }
.topic-motion-switch { --topic-sequence:topic-switch-confirm; --topic-duration:650ms; --topic-delay:100ms; }
.topic-motion-consent-check { --topic-sequence:topic-trace-path; --topic-duration:400ms; --topic-delay:400ms; --topic-path:18; }
.topic-motion-sheet-back { --topic-sequence:topic-sheet-back; --topic-duration:1.15s; }
.topic-motion-sheet-front { --topic-sequence:topic-sheet-front; --topic-duration:1.15s; }
.topic-motion-check-first { --topic-sequence:topic-trace-path; --topic-duration:350ms; --topic-delay:120ms; --topic-path:18; }
.topic-motion-check-second { --topic-sequence:topic-trace-path; --topic-duration:350ms; --topic-delay:300ms; --topic-path:18; }
.topic-motion-check-seal { --topic-sequence:topic-trace-path; --topic-duration:400ms; --topic-delay:470ms; --topic-path:40; }
.topic-motion-source { --topic-sequence:topic-source-arrive; --topic-duration:1.1s; }
.topic-motion-transfer { --topic-sequence:topic-trace-path; --topic-duration:900ms; --topic-path:220; }
.topic-motion-arrival { --topic-sequence:topic-arrow-arrive; --topic-duration:550ms; --topic-delay:450ms; }
.topic-motion-source-check { --topic-sequence:topic-trace-path; --topic-duration:350ms; --topic-delay:650ms; --topic-path:28; }

@media (min-width:651px) and (prefers-reduced-motion:no-preference) {
  .concept-v4 .usecase-card:focus-visible .topic-art [class^="topic-motion-"] {
    animation:var(--topic-sequence) var(--topic-duration,1s) cubic-bezier(.2,.7,.25,1) var(--topic-delay,0ms) 1 both;
  }
  @media (hover:hover) and (pointer:fine) {
    .concept-v4 .usecase-card:hover .topic-art [class^="topic-motion-"] {
      animation:var(--topic-sequence) var(--topic-duration,1s) cubic-bezier(.2,.7,.25,1) var(--topic-delay,0ms) 1 both;
    }
  }
}

@keyframes topic-paper-separate {
  0%,100% { translate:0 0; }
  40% { translate:-3px -2px; }
}
@keyframes topic-notice-lift {
  0%,100% { translate:0 0; }
  40%,65% { translate:3px -7px; }
}
@keyframes topic-info-arrive {
  0%,100% { scale:1; }
  40% { scale:1.09; }
}
@keyframes topic-profile-shift {
  0%,100% { translate:0 0; }
  45% { translate:-4px 0; }
}
@keyframes topic-choice-confirm {
  0%,100% { translate:0 0; scale:1; }
  45% { translate:3px 0; scale:1.035; }
}
@keyframes topic-shield-lift {
  0%,100% { translate:0 0; }
  40%,60% { translate:2px -5px; }
}
@keyframes topic-browser-settle {
  0%,100% { translate:0 0; }
  40% { translate:-3px -2px; }
}
@keyframes topic-switch-confirm {
  0%,15% { translate:-21px 0; }
  80%,100% { translate:0 0; }
}
@keyframes topic-sheet-back {
  0%,100% { translate:0 0; }
  40%,65% { translate:-5px 2px; }
}
@keyframes topic-sheet-front {
  0%,100% { translate:0 0; }
  40%,65% { translate:2px -5px; }
}
@keyframes topic-source-arrive {
  0%,100% { translate:0 0; }
  45%,70% { translate:3px -5px; }
}
@keyframes topic-arrow-arrive {
  0% { translate:-2px 4px; opacity:.4; }
  100% { translate:0 0; opacity:1; }
}
@keyframes topic-trace-path {
  0% { stroke-dasharray:var(--topic-path); stroke-dashoffset:var(--topic-path); }
  100% { stroke-dasharray:var(--topic-path); stroke-dashoffset:0; }
}

/* Touch layouts do not inherit a sticky hover lift from the main art stylesheet. */
@media (max-width:650px), (hover:none) {
  .concept-v4 .usecase-card:is(:hover,:focus-visible) .topic-art { transform:none; transition:none; }
}
@media (prefers-reduced-motion:reduce) {
  .concept-v4 .usecase-card .topic-art,
  .concept-v4 .usecase-card:is(:hover,:focus-visible) .topic-art { transform:none; transition:none; }
  .concept-v4 .topic-art [class^="topic-motion-"] { animation:none!important; }
}
