/* Boost animated pictograms — integrated from boost-icones-animees.html (Velios).
   Inline SVGs are wrapped in .aic.ic--xx; each animation loops continuously (always-on).
   prefers-reduced-motion disables all motion. */

.aic { display: inline-flex; align-items: center; justify-content: center; line-height: 0;
  overflow: visible !important;            /* let auras/sparks animate beyond the tile */
  animation: none !important;              /* drop legacy infinite ic-idle float */
}
.aic > svg { display: block; overflow: visible; animation: none !important; }
.aic::after { display: none !important; }  /* drop legacy shimmer sweep */
/* neutralize legacy card-hover scale so the delivered hover animation is the sole behavior */
.pain-card:hover .aic > svg,
.b5card:hover .aic > svg,
.ov-card:hover .aic > svg,
.pfig:hover .aic > svg { transform: none; animation-play-state: running; }

/* keyframes */
@keyframes pop{0%,100%{transform:scale(1)}45%{transform:scale(1.3)}}
@keyframes twk{0%,100%{transform:scale(1) rotate(0);opacity:1}45%{transform:scale(1.6) rotate(35deg);opacity:.85}}
@keyframes auraOut{0%{transform:scale(.7);opacity:.8}100%{transform:scale(1.75);opacity:0}}
@keyframes sendBig{0%{transform:translate(0,0);opacity:0}30%{opacity:1}100%{transform:translate(4.6px,0);opacity:0}}
@keyframes interlock{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(-2.6px) scale(1.05)}}
@keyframes spinBadge{0%{transform:rotate(0) scale(1)}55%{transform:rotate(200deg) scale(1.25)}100%{transform:rotate(360deg) scale(1)}}
@keyframes sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
@keyframes ripple{0%{transform:scale(.45);opacity:.95}100%{transform:scale(1.55);opacity:0}}
@keyframes press{0%,100%{transform:scale(1)}40%{transform:scale(.8)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fanBig{0%,100%{transform:translate(0,0)}50%{transform:translate(-3px,3px)}}
@keyframes fanMid{0%,100%{transform:translate(0,0)}50%{transform:translate(-1.4px,1.4px)}}
@keyframes grow{0%{transform:scaleY(.03)}62%{transform:scaleY(1.1)}100%{transform:scaleY(1)}}
@keyframes reveal{0%{opacity:.25;transform:translateX(-2.5px)}100%{opacity:1;transform:translateX(0)}}
@keyframes beat{0%,100%{transform:scale(1)}12%{transform:scale(1.22)}26%{transform:scale(1)}40%{transform:scale(1.15)}54%{transform:scale(1)}}
@keyframes draw{0%{stroke-dashoffset:1}70%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes write{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-2px,2px) rotate(-9deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.6px)}}
@keyframes slide{0%,100%{transform:translateX(0)}50%{transform:translateX(3.6px)}}
@keyframes fillP{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.2)}}
@keyframes globe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-9deg)}}
@keyframes search{0%,100%{transform:translate(0,0)}20%{transform:translate(1.7px,-1px)}50%{transform:translate(1.7px,1.5px)}80%{transform:translate(-1px,1.5px)}}
@keyframes rise{0%{transform:rotate(-52deg)}60%{transform:rotate(11deg)}100%{transform:rotate(0)}}
@keyframes starPop{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(1.24) rotate(14deg)}}
@keyframes blink{0%,14%,100%{transform:scaleY(1)}7%{transform:scaleY(.1)}}
@keyframes eyeball{0%{transform:translateX(0) scaleY(1)}7%{transform:translateX(0) scaleY(.12)}14%{transform:translateX(0) scaleY(1)}42%{transform:translateX(-1.9px) scaleY(1)}74%{transform:translateX(1.9px) scaleY(1)}100%{transform:translateX(0) scaleY(1)}}
@keyframes arrowIn{0%{transform:translate(-3px,3px);opacity:0}55%{opacity:1}100%{transform:translate(0,0);opacity:1}}

/* rest pose + pivots */
.ic--a1 .sign{transform-box:view-box;transform-origin:12px 4.2px;}
.ic--a2 .base,.ic--a2 .sclera,.ic--a2 .highlight{transform-box:view-box;transform-origin:12px 12px;}
.ic--a2 .iris,.ic--a2 .pupil{transform-box:view-box;transform-origin:12px 12px;}
.ic--a3 .plus{transform-box:view-box;transform-origin:16.7px 16.8px;}
.ic--a3 .aura{transform-box:view-box;transform-origin:10.8px 8.2px;}
.ic--a4 .send{transform-box:view-box;}
.ic--a5 .spark{transform-box:view-box;transform-origin:17.4px 5.8px;}
.ic--a6 .ring-b{transform-box:view-box;transform-origin:14.8px 12px;}
.ic--a7 .star{transform-box:view-box;transform-origin:16.7px 16.8px;}
.ic--a8 .star{transform-box:view-box;transform-origin:12px 14.9px;}
.ic--a8 .ribbon{transform-box:view-box;transform-origin:12px 3.4px;}
.ic--b1 .waves{transform-box:view-box;transform-origin:8px 7.7px;}
.ic--b1 .base{transform-box:view-box;transform-origin:8px 7.7px;}
.ic--b2 .base,.ic--b2 .arrows,.ic--b2 .highlight{transform-box:view-box;transform-origin:12px 12px;}
.ic--b2 .spark{transform-box:view-box;transform-origin:12px 12px;}
.ic--b3 .layer-front{transform-box:view-box;transform-origin:12px 12px;}
.ic--b3 .layer-mid{transform-box:view-box;transform-origin:12px 12px;}
.ic--b4 .base{transform-box:view-box;transform-origin:12px 11.5px;}
.ic--b4 .details{transform-box:view-box;}
.ic--b5 .bars,.ic--b5 .highlight{transform-box:view-box;transform-origin:12px 19px;}
.ic--b5 .marker{transform-box:view-box;transform-origin:16.3px 5.4px;}
.ic--b6 .content{transform-box:view-box;}
.ic--b6 .bar{transform-box:view-box;transform-origin:15px 7.6px;}
.ic--b7 .tassel{transform-box:view-box;transform-origin:18.3px 8.7px;}
.ic--b8 .bubble{transform-box:view-box;transform-origin:12px 18px;}
.ic--b9 .base{transform-box:view-box;transform-origin:12px 12px;}
.ic--b9 .pulse path{transform-box:view-box;}
.ic--b10 .quill{transform-box:view-box;transform-origin:14px 13px;}
.ic--c1 .raised{transform-box:view-box;transform-origin:15.75px 7.5px;}
.ic--c1 .detail{transform-box:view-box;transform-origin:15.75px 7.55px;}
.ic--c2 .knobs{transform-box:view-box;}
.ic--c2 .fills{transform-box:view-box;transform-origin:4.6px 12px;}
.ic--c3 .base,.ic--c3 .grid,.ic--c3 .rim,.ic--c3 .highlight{transform-box:view-box;transform-origin:12px 12px;}
.ic--c4 .base,.ic--c4 .glass,.ic--c4 .highlight{transform-box:view-box;transform-origin:10.4px 10.4px;}
.ic--d1 .needle{transform-box:view-box;transform-origin:12px 15px;}
.ic--d2 .base{transform-box:view-box;transform-origin:12px 11.5px;}
.ic--d2 .sparkle{transform-box:view-box;transform-origin:18.7px 6.5px;}
.ic--d3 .base path{transform-box:view-box;}
.ic--d3 .points circle{transform-box:fill-box;transform-origin:center;}
.ic--d3 .arrow{transform-box:view-box;}
.ic--b9 .pulse path,.ic--d3 .base path{stroke-dasharray:1}

/* Always-on ambient motion (was hover-only). Gentle, slowed down and looping
   forever so the pictograms stay alive without needing a mouse-over. Staggered
   durations keep them from pulsing in unison. prefers-reduced-motion still off. */
.ic--a1 .sign{animation:pop 3.2s ease infinite}
.ic--a2 .base,.ic--a2 .sclera,.ic--a2 .highlight{animation:blink 4.2s ease infinite}
.ic--a2 .iris,.ic--a2 .pupil{animation:eyeball 4.2s ease-in-out infinite}
.ic--a3 .plus{animation:pop 3s ease infinite}
.ic--a3 .aura{animation:auraOut 2.8s ease-out infinite}
.ic--a4 .send{animation:sendBig 2.8s ease-in-out infinite}
.ic--a5 .spark{animation:twk 2.6s ease-in-out infinite}
.ic--a6 .ring-b{animation:interlock 2.9s ease-in-out infinite}
.ic--a7 .star{animation:spinBadge 3.6s ease-in-out infinite}
.ic--a8 .star{animation:twk 2.8s ease infinite}
.ic--a8 .ribbon{animation:sway 3.8s ease-in-out infinite}
.ic--b1 .waves{animation:ripple 2.6s ease-out infinite}
.ic--b1 .base{animation:press 2.9s ease infinite}
.ic--b2 .base,.ic--b2 .arrows,.ic--b2 .highlight{animation:spin 6s linear infinite}
.ic--b2 .spark{animation:twk 2.7s ease-in-out infinite}
.ic--b3 .layer-front{animation:fanBig 3.2s ease infinite}
.ic--b3 .layer-mid{animation:fanMid 3.2s ease infinite}
.ic--b4 .base{animation:sway 3.4s ease-in-out infinite}
.ic--b4 .details{animation:reveal 3.2s ease infinite}
.ic--b5 .bars,.ic--b5 .highlight{animation:grow 3.2s cubic-bezier(.2,.7,.3,1.3) infinite}
.ic--b5 .marker{animation:pop 3.2s ease .35s infinite}
.ic--b6 .content{animation:reveal 3.1s ease infinite}
.ic--b6 .bar{animation:pop 3s ease infinite}
.ic--b7 .tassel{animation:sway 3.5s ease-in-out infinite}
.ic--b8 .bubble{animation:pop 3s ease infinite}
.ic--b9 .base{animation:beat 2.9s ease infinite}
.ic--b9 .pulse path{animation:draw 3.2s ease-in-out infinite}
.ic--b10 .quill{animation:write 3.3s ease-in-out infinite}
.ic--c1 .raised{animation:bob 3.1s ease-in-out infinite}
.ic--c1 .detail{animation:twk 3s ease infinite}
.ic--c2 .knobs{animation:slide 3.1s ease-in-out infinite}
.ic--c2 .fills{animation:fillP 3.1s ease-in-out infinite}
.ic--c3 .base,.ic--c3 .grid,.ic--c3 .rim,.ic--c3 .highlight{animation:globe 4.2s ease-in-out infinite}
.ic--c4 .base,.ic--c4 .glass,.ic--c4 .highlight{animation:search 3.4s ease-in-out infinite}
.ic--d1 .needle{animation:rise 3.2s cubic-bezier(.4,-.4,.3,1.5) infinite}
.ic--d2 .base{animation:starPop 3.2s ease infinite}
.ic--d2 .sparkle{animation:twk 2.8s ease-in-out infinite}
.ic--d3 .base path{animation:draw 3.6s ease-in-out infinite}
.ic--d3 .points circle{animation:pop 3.1s ease infinite}
.ic--d3 .arrow{animation:arrowIn 3.2s ease-out infinite}
.ic--d3 .points circle:nth-child(n+3){animation-delay:.18s}
.ic--d3 .points circle:nth-child(n+5){animation-delay:.36s}

@media (prefers-reduced-motion: reduce) { .aic * { animation: none !important; } }
