/* Illustrations de concepts : animées, sobres, réduites si prefers-reduced-motion */
.cv{width:56px;height:56px;flex:none;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.cv .a{stroke:var(--teal)}.cv .b{stroke:var(--orchid)}.cv .c{stroke:var(--coral,#e8745a)}
.cv .f{fill:var(--teal);stroke:none}.cv .g{fill:var(--lime);stroke:none}.cv .h{fill:var(--orchid);stroke:none}
.cv-xl{width:76px;height:76px}
.journey-step .cv{display:block;margin-bottom:.6rem}
.fiche-reading-card .reading-list>div{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:.9rem;align-items:center}
.fiche-reading-card .reading-list>div>.cv{grid-row:1/3}
.profile-icon .cv{width:100%;height:100%;stroke-width:2.6}
.profile-icon{display:grid;place-items:center;font-size:0}
/* animations */
@keyframes cvScroll{0%{transform:translateY(0)}100%{transform:translateY(-12px)}}
@keyframes cvFill{0%{transform:scaleX(.15)}70%,100%{transform:scaleX(1)}}
@keyframes cvPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.25);opacity:1}}
@keyframes cvPop{0%,20%{transform:scale(.4);opacity:0}35%,85%{transform:scale(1);opacity:1}100%{opacity:0}}
@keyframes cvScan{0%{transform:translateY(0)}100%{transform:translateY(22px)}}
@keyframes cvDraw{0%{stroke-dashoffset:24}40%,100%{stroke-dashoffset:0}}
@keyframes cvTilt{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes cvRing{0%{stroke-dashoffset:113}80%,100%{stroke-dashoffset:0}}
@keyframes cvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.cv-scroll{animation:cvScroll 1.2s linear infinite}
.cv-fill{transform-box:fill-box;transform-origin:left center;animation:cvFill 2.4s ease-in-out infinite alternate}
.cv-pulse{transform-box:fill-box;transform-origin:center;animation:cvPulse 1.8s ease-in-out infinite}
.cv-pop{transform-box:fill-box;transform-origin:center;animation:cvPop 3.6s ease-in-out infinite}
.cv-pop:nth-of-type(2){animation-delay:.9s}.cv-pop:nth-of-type(3){animation-delay:1.8s}
.cv-scan{animation:cvScan 1.8s ease-in-out infinite alternate}
.cv-draw{stroke-dasharray:24;animation:cvDraw 3s ease-in-out infinite}
.cv-draw:nth-of-type(2){animation-delay:.6s}.cv-draw:nth-of-type(3){animation-delay:1.2s}
.cv-tilt{transform-box:fill-box;transform-origin:center;animation:cvTilt 3s ease-in-out infinite}
.cv-ring{stroke-dasharray:113;animation:cvRing 3s ease-out infinite}
.profile-icon .cv{animation:cvFloat 3.2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.cv *,.profile-icon .cv{animation:none!important}.cv-fill{transform:none}}
