/* Small original illustrations; shared palette and a different composition per capability. */
.cap-visual{margin:0;width:100%;align-self:center;min-width:0;pointer-events:none}
.cap-visual svg{width:100%;height:auto;display:block;overflow:visible}
.cap-visual figcaption{font:400 7px/1.2 'Space Mono',monospace;letter-spacing:.09em;text-align:center;margin-top:5px;opacity:.65}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-fan{animation:visual-fan .8s ease-out both;transform-origin:200px 145px}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-annotation{animation:visual-mark .85s ease-out both;stroke-dasharray:440;stroke-dashoffset:0}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-page{animation:visual-page .7s ease-out both}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-pointer{animation:visual-point .8s ease-out both}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-batch{animation:visual-page .7s ease-out both}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-stamp{animation:visual-stamp .65s ease-out both;transform-origin:340px 110px}
#wall[data-visual-motion="true"] .capability-tile:is(:hover,:focus-within) .visual-loop{animation:visual-loop .9s ease-out both;transform-origin:202px 83px}
@keyframes visual-fan{0%{transform:rotate(-4deg) translateY(5px)}60%{transform:rotate(1deg)}100%{transform:none}}
@keyframes visual-mark{from{stroke-dashoffset:440}to{stroke-dashoffset:0}}
@keyframes visual-page{from{translate:12px 0;opacity:.65}to{translate:0 0;opacity:1}}
@keyframes visual-point{0%{translate:-22px 12px}65%{translate:2px -2px}100%{translate:0 0}}
@keyframes visual-stamp{0%{scale:1.15;opacity:.3}70%{scale:.96}100%{scale:1;opacity:1}}
@keyframes visual-loop{from{transform:rotate(-22deg)}to{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.cap-visual *{animation:none!important}}
