/* fComply icon system (generated by staging-build/icons.py — edit there, not here).
   One white card, one blue, and a choreography of its own for every icon: build once when it scrolls into view,
   then move on the hero animation's 4.1-second cadence while it is on screen. */
:root{--fc-ic:#0071ff;--fc-ic-deep:#015cce;--fc-ic-glow:#c9faff;--fc-ic-wash:#e4f4ff}
.fc-ic{display:block;position:relative;width:100%;aspect-ratio:1;perspective:520px;transform-style:preserve-3d}
.fc-ic.orange{--fc-ic:#f26430;--fc-ic-deep:#c94e22;--fc-ic-glow:#ffd9c6;--fc-ic-wash:#fdeee7}
.fc-icl{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform-style:preserve-3d;transform-origin:50% 50%}
/* the stroke rules are scoped to the drawn layers (.fc-icl): a mounted Lottie's own fill and stroke attributes must stand */
.fc-ic .fc-icl path,.fc-ic .fc-icl circle,.fc-ic .fc-icl ellipse,.fc-ic .fc-icl rect{fill:none;stroke:var(--fc-ic);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.fc-ic .fc-icl g{transform-box:view-box}
.fc-ic .fc-icl .f{fill:var(--fc-ic-wash)}
/* a Lottie mounted by js/fc-lottie.js fills the box exactly as the drawn layers did */
.fc-ic .fc-lot,.fc-ic .fc-lot svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
/* strokes draw themselves on, each after its own delay */
.fc-ic .dr,.fc-ic [pathLength]{stroke-dasharray:100;stroke-dashoffset:100}
.fc-ic.fc-in .dr,.fc-ic.fc-in [pathLength]{animation:fcDraw .9s cubic-bezier(.2,.7,.2,1) var(--dd,0s) both}
@keyframes fcDraw{to{stroke-dashoffset:0}}
/* build groups stay hidden until the icon is on screen; idle motion only runs while it is */
.fc-ic:not(.fc-in) .b{opacity:0}
.fc-ic:not(.fc-live) .i,.fc-ic:not(.fc-live) .fc-icl{animation-play-state:paused}
/* the cards: a square tile, the icon centred at 64% of the tile's own width (never a percentage of the column) */
.fc-section-icon,.fc-ov-icon,.fc-beat-icon,.fc-tl-icon-art,.fc-card-icon,.fc-flip-icon,.fc-tile-icon{display:grid;place-items:center;position:relative;aspect-ratio:1;padding:0;background:#fff!important;border-radius:22%;box-shadow:0 22px 44px -22px rgba(22,25,31,.28),0 2px 6px rgba(22,25,31,.06);animation:none;overflow:visible}
.fc-section-icon .fc-ic,.fc-ov-icon .fc-ic,.fc-beat-icon .fc-ic,.fc-tl-icon-art .fc-ic,.fc-card-icon .fc-ic,.fc-flip-icon .fc-ic,.fc-tile-icon .fc-ic{width:64%}
.fc-section-icon{width:170px;max-width:100%;margin:0 auto}
.fc-ov-icon{width:58px;height:58px}
.fc-beat-icon{width:92px;height:92px}
.fc-tl-icon-art{width:92px;height:92px}
.fc-card-icon{width:56px;height:56px;margin:0 0 12px}
.fc-flip-icon{width:84px;height:84px;margin:0 0 18px}
.fc-tile-icon{width:96px;height:96px;margin:0 auto 22px}
.fc-pill i.fc-pill-ic{display:grid;place-items:center;padding:0}
.fc-pill i.fc-pill-ic .fc-ic{width:56%}
.fc-flow-cards li.solid .fc-card-icon,.fc-flow-cards li.dark .fc-card-icon{background:rgba(255,255,255,.14)!important;box-shadow:none;--fc-ic:#fff;--fc-ic-deep:#fff;--fc-ic-glow:rgba(255,255,255,.8);--fc-ic-wash:rgba(255,255,255,.18)}
/* no JavaScript: everything finished, nothing moving */
html:not(.fc-js) .fc-ic .b{opacity:1}
html:not(.fc-js) .fc-ic .dr,html:not(.fc-js) .fc-ic [pathLength]{stroke-dashoffset:0}
html:not(.fc-js) .fc-ic *{animation:none!important}
/* the client asked for these to move for everyone, so the icons do not honour prefers-reduced-motion */
@media only screen and (max-width:690px){.fc-section-icon{width:110px;margin:0 0 10px}.fc-tl-icon-art{width:76px;height:76px}}

/* gavel */
.fc-ic.fc-in.fc-ic-gavel .b1{animation:ic-gavel-in 1.1s cubic-bezier(.3,.9,.3,1.25) .25s both}
@keyframes ic-gavel-in{0%{transform:rotate(-58deg);opacity:0}30%{opacity:1}62%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-gavel .i1{animation:ic-gavel-tap 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-gavel-tap{0%,58%{transform:rotate(0)}70%{transform:rotate(-34deg)}79%{transform:rotate(4deg)}86%,100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-gavel .ring{stroke:var(--fc-ic-glow);stroke-width:5;fill:none;opacity:0}
.fc-ic.fc-in.fc-ic-gavel .i-ring{animation:ic-gavel-ring 4.1s cubic-bezier(.2,.8,.2,1) 1.5s infinite}
@keyframes ic-gavel-ring{0%,79%{transform:scale(.25);opacity:0}82%{opacity:.9}100%{transform:scale(1.35);opacity:0}}
.fc-ic.fc-in.fc-ic-gavel .l2{animation:ic-gavel-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-gavel-tilt{0%,100%{transform:rotateY(-9deg)}50%{transform:rotateY(9deg)}}

/* broken-link */
.fc-ic.fc-in.fc-ic-broken-link .bL{animation:ic-broken-link-left 1.3s cubic-bezier(.3,.9,.3,1.3) .2s both}
.fc-ic.fc-in.fc-ic-broken-link .bR{animation:ic-broken-link-right 1.3s cubic-bezier(.3,.9,.3,1.3) .2s both}
@keyframes ic-broken-link-left{0%{transform:translate(11px,6px);opacity:0}25%{opacity:1}48%{transform:translate(11px,6px)}68%{transform:translate(-5px,-3px)}84%{transform:translate(1.5px,1px)}100%{transform:translate(0,0)}}
@keyframes ic-broken-link-right{0%{transform:translate(-11px,-6px);opacity:0}25%{opacity:1}48%{transform:translate(-11px,-6px)}68%{transform:translate(5px,3px)}84%{transform:translate(-1.5px,-1px)}100%{transform:translate(0,0)}}
.fc-ic.fc-in.fc-ic-broken-link .spark{stroke:var(--fc-ic-deep);stroke-width:4.6}
.fc-ic.fc-in.fc-ic-broken-link .bS{animation:ic-broken-link-spark 1.3s cubic-bezier(.2,.8,.2,1) .2s both}
@keyframes ic-broken-link-spark{0%,48%{opacity:0;transform:scale(.4)}62%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
.fc-ic.fc-in.fc-ic-broken-link .iL{animation:ic-broken-link-strainL 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
.fc-ic.fc-in.fc-ic-broken-link .iR{animation:ic-broken-link-strainR 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-broken-link-strainL{0%,100%{transform:translate(0,0) rotate(0)}40%{transform:translate(3px,1.5px) rotate(-3deg)}62%{transform:translate(-3px,-2px) rotate(2deg)}}
@keyframes ic-broken-link-strainR{0%,100%{transform:translate(0,0) rotate(0)}40%{transform:translate(-3px,-1.5px) rotate(-3deg)}62%{transform:translate(3px,2px) rotate(2deg)}}
.fc-ic.fc-in.fc-ic-broken-link .iS{animation:ic-broken-link-flash 4.1s cubic-bezier(.2,.8,.2,1) 1.6s infinite}
@keyframes ic-broken-link-flash{0%,52%{opacity:.35;transform:scale(.85)}62%{opacity:1;transform:scale(1.15)}80%,100%{opacity:.35;transform:scale(.85)}}

/* people */
.fc-ic.fc-in.fc-ic-people .bA{animation:ic-people-up .9s cubic-bezier(.34,1.56,.64,1) .2s both}
.fc-ic.fc-in.fc-ic-people .bB{animation:ic-people-up .9s cubic-bezier(.34,1.56,.64,1) .5s both}
@keyframes ic-people-up{0%{transform:translateY(26px) scale(.6);opacity:0}60%{opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-people .iA{animation:ic-people-swayA 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
.fc-ic.fc-in.fc-ic-people .iB{animation:ic-people-swayB 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-people-swayA{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(-3deg) translateY(-2px)}}
@keyframes ic-people-swayB{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}
.fc-ic.fc-in.fc-ic-people .l1{animation:ic-people-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-people-turn{0%,100%{transform:rotateY(-12deg)}50%{transform:rotateY(12deg)}}

/* pin */
.fc-ic.fc-in.fc-ic-pin .shade{fill:var(--fc-ic-wash);stroke:none}
.fc-ic.fc-in.fc-ic-pin .bP{animation:ic-pin-drop 1.1s cubic-bezier(.3,.8,.3,1.2) .1s both}
@keyframes ic-pin-drop{0%{transform:translateY(-70px);opacity:0}20%{opacity:1}58%{transform:translateY(0)}74%{transform:translateY(-12px)}88%{transform:translateY(0)}94%{transform:translateY(-3px)}100%{transform:translateY(0)}}
.fc-ic.fc-in.fc-ic-pin .bSh{animation:ic-pin-shade-in 1.1s cubic-bezier(.2,.8,.2,1) .1s both}
@keyframes ic-pin-shade-in{0%{transform:scale(.2);opacity:0}58%{transform:scale(1);opacity:1}74%{transform:scale(.75)}88%,100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-pin .iP{animation:ic-pin-hover 4.1s cubic-bezier(.45,.05,.55,.95) 1.3s infinite}
@keyframes ic-pin-hover{0%,100%{transform:translateY(0)}45%{transform:translateY(-9px)}}
.fc-ic.fc-in.fc-ic-pin .iSh{animation:ic-pin-shade 4.1s cubic-bezier(.45,.05,.55,.95) 1.3s infinite}
@keyframes ic-pin-shade{0%,100%{transform:scale(1)}45%{transform:scale(.7)}}
.fc-ic.fc-in.fc-ic-pin .pulse{stroke:var(--fc-ic);stroke-width:2.4;fill:none;opacity:0;transform:scale(.3) scaleY(.25)}
.fc-ic.fc-in.fc-ic-pin .iPulse{animation:ic-pin-pulse 4.1s cubic-bezier(.2,.8,.2,1) 1.3s infinite}
@keyframes ic-pin-pulse{0%,88%{transform:scale(.3) scaleY(.25);opacity:0}90%{opacity:.8}100%{transform:scale(1.5) scaleY(.25);opacity:0}}
.fc-ic.fc-in.fc-ic-pin .l2{animation:ic-pin-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.2s infinite}
@keyframes ic-pin-turn{0%,100%{transform:rotateY(-14deg)}50%{transform:rotateY(14deg)}}

/* shield */
.fc-ic.fc-in.fc-ic-shield .l1{animation:ic-shield-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-shield-turn 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-shield-in{0%{transform:rotateY(88deg);opacity:0}100%{transform:rotateY(0);opacity:1}}
@keyframes ic-shield-turn{0%,100%{transform:rotateY(-16deg)}50%{transform:rotateY(16deg)}}
.fc-ic.fc-in.fc-ic-shield .gloss{fill:var(--fc-ic-glow);stroke:none;opacity:.55}
.fc-ic.fc-in.fc-ic-shield .iGloss{animation:ic-shield-gloss 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-shield-gloss{0%,100%{transform:translateX(-64px)}50%{transform:translateX(70px)}}
.fc-ic.fc-in.fc-ic-shield .check{stroke-width:5.2;stroke:var(--fc-ic-deep)}

/* clock */
.fc-ic.fc-in.fc-ic-clock .hand{stroke-width:5}
.fc-ic.fc-in.fc-ic-clock .pivot{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-clock .bHour{animation:ic-clock-sweepH 1.2s cubic-bezier(.2,.8,.2,1) .5s both}
.fc-ic.fc-in.fc-ic-clock .bMin{animation:ic-clock-sweepM 1.2s cubic-bezier(.2,.8,.2,1) .5s both}
@keyframes ic-clock-sweepH{0%{transform:rotate(-90deg);opacity:0}30%{opacity:1}100%{transform:rotate(0)}}
@keyframes ic-clock-sweepM{0%{transform:rotate(-300deg);opacity:0}30%{opacity:1}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-clock .iMin{animation:ic-clock-run 4.1s linear 1.7s infinite}
@keyframes ic-clock-run{to{transform:rotate(360deg)}}
.fc-ic.fc-in.fc-ic-clock .iHour{animation:ic-clock-hour 49.2s linear 1.7s infinite}
@keyframes ic-clock-hour{to{transform:rotate(360deg)}}
.fc-ic.fc-in.fc-ic-clock .iBell{animation:ic-clock-bell 4.1s cubic-bezier(.2,.8,.2,1) 1.7s infinite}
@keyframes ic-clock-bell{0%,90%{transform:rotate(0)}92%{transform:rotate(-8deg)}94%{transform:rotate(8deg)}96%{transform:rotate(-5deg)}98%{transform:rotate(4deg)}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-clock .l1{animation:ic-clock-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-clock-tilt{0%,100%{transform:rotateX(7deg) rotateY(-6deg)}50%{transform:rotateX(-5deg) rotateY(6deg)}}

/* file */
.fc-ic.fc-in.fc-ic-file .l1{animation:ic-file-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-file-hover 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite;transform-origin:50% 12%}
@keyframes ic-file-in{0%{transform:rotateX(-80deg);opacity:0}60%{opacity:1}100%{transform:rotateX(0)}}
@keyframes ic-file-hover{0%,100%{transform:rotateX(4deg) rotateY(-8deg)}50%{transform:rotateX(-3deg) rotateY(8deg)}}
.fc-ic.fc-in.fc-ic-file .iCorner{animation:ic-file-corner 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-file-corner{0%,70%,100%{transform:scale(1)}82%{transform:scale(.86) translate(1px,1px)}}

/* phone */
.fc-ic.fc-in.fc-ic-phone .l1{animation:ic-phone-in 1s cubic-bezier(.3,.9,.3,1.2) .05s both,ic-phone-rock 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-phone-in{0%{transform:rotateY(48deg) translateX(18px);opacity:0}100%{transform:rotateY(0) translateX(0);opacity:1}}
@keyframes ic-phone-rock{0%,100%{transform:rotateY(-12deg) rotateZ(-1.5deg)}50%{transform:rotateY(12deg) rotateZ(1.5deg)}}
.fc-ic.fc-in.fc-ic-phone .check{stroke-width:5.4;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-phone .bCheck{animation:ic-phone-pop .8s cubic-bezier(.34,1.56,.64,1) .7s both}
@keyframes ic-phone-pop{0%{transform:scale(0)}100%{transform:scale(1)}}
.fc-ic.fc-in.fc-ic-phone .iCheck{animation:ic-phone-beat 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-phone-beat{0%,60%,100%{transform:scale(1)}70%{transform:scale(1.14)}}
.fc-ic.fc-in.fc-ic-phone .dot{fill:var(--fc-ic-deep);stroke:#fff;stroke-width:3;opacity:0}
.fc-ic.fc-in.fc-ic-phone .iDot{animation:ic-phone-ping 4.1s cubic-bezier(.34,1.56,.64,1) 1.5s infinite}
@keyframes ic-phone-ping{0%,55%{transform:scale(0);opacity:0}64%{transform:scale(1.25);opacity:1}72%,88%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}

/* church */
.fc-ic.fc-in.fc-ic-church .bWings{animation:ic-church-rise .8s cubic-bezier(.2,.8,.2,1) .1s both}
.fc-ic.fc-in.fc-ic-church .bNave{animation:ic-church-rise .8s cubic-bezier(.2,.8,.2,1) .3s both}
@keyframes ic-church-rise{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-church .cross{stroke-width:5}
.fc-ic.fc-in.fc-ic-church .bCross{animation:ic-church-descend .9s cubic-bezier(.34,1.56,.64,1) .8s both}
@keyframes ic-church-descend{0%{transform:translateY(-26px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-church .iCross{animation:ic-church-glow 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-church-glow{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.fc-ic.fc-in.fc-ic-church .l1{animation:ic-church-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-church-turn{0%,100%{transform:rotateY(-10deg)}50%{transform:rotateY(10deg)}}

/* ball */
.fc-ic.fc-in.fc-ic-ball .shade{fill:var(--fc-ic-wash);stroke:none}
.fc-ic.fc-in.fc-ic-ball .bRoll{animation:ic-ball-roll 1.3s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-ball-roll{0%{transform:translateX(-92px) rotate(-420deg);opacity:0}15%{opacity:1}70%{transform:translateX(0) rotate(0)}84%{transform:translateX(0) translateY(-9px) rotate(5deg)}100%{transform:translateX(0) rotate(0)}}
.fc-ic.fc-in.fc-ic-ball .iSpin{animation:ic-ball-spin 8.2s linear 1.4s infinite}
@keyframes ic-ball-spin{to{transform:rotate(360deg)}}
.fc-ic.fc-in.fc-ic-ball .iBounce{animation:ic-ball-bounce 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-ball-bounce{0%,100%{transform:translateY(0) scale(1)}12%{transform:translateY(-14px) scale(.98,1.02)}24%{transform:translateY(0) scale(1.05,.95)}32%{transform:translateY(-5px) scale(1)}40%,100%{transform:translateY(0) scale(1)}}
.fc-ic.fc-in.fc-ic-ball .iSh{animation:ic-ball-shade 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-ball-shade{0%,100%{transform:scale(1);opacity:1}12%{transform:scale(.72);opacity:.6}24%{transform:scale(1.05);opacity:1}}

/* mentor */
.fc-ic.fc-in.fc-ic-mentor .bA{animation:ic-mentor-up .9s cubic-bezier(.34,1.56,.64,1) .2s both}
.fc-ic.fc-in.fc-ic-mentor .bB{animation:ic-mentor-up .9s cubic-bezier(.34,1.56,.64,1) .5s both}
@keyframes ic-mentor-up{0%{transform:translateY(24px) scale(.6);opacity:0}60%{opacity:1}100%{transform:translateY(0) scale(1)}}
.fc-ic.fc-in.fc-ic-mentor .hand{stroke-width:5}
.fc-ic.fc-in.fc-ic-mentor .bHand{animation:ic-mentor-reach .7s cubic-bezier(.2,.8,.2,1) 1s both}
@keyframes ic-mentor-reach{0%{transform:scaleX(0);opacity:0}100%{transform:scaleX(1);opacity:1}}
.fc-ic.fc-in.fc-ic-mentor .iA{animation:ic-mentor-leanA 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
.fc-ic.fc-in.fc-ic-mentor .iB{animation:ic-mentor-leanB 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-mentor-leanA{0%,100%{transform:rotate(0)}50%{transform:rotate(4deg)}}
@keyframes ic-mentor-leanB{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}
.fc-ic.fc-in.fc-ic-mentor .iHand{animation:ic-mentor-warm 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-mentor-warm{0%,100%{transform:rotate(0)}50%{transform:rotate(6deg) translateY(1px)}}
.fc-ic.fc-in.fc-ic-mentor .l1{animation:ic-mentor-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-mentor-turn{0%,100%{transform:rotateY(8deg)}50%{transform:rotateY(-8deg)}}

/* compass */
.fc-ic.fc-in.fc-ic-compass .north{fill:var(--fc-ic-deep);stroke:var(--fc-ic-deep);stroke-width:3}
.fc-ic.fc-in.fc-ic-compass .south{fill:var(--fc-ic-wash);stroke:var(--fc-ic);stroke-width:3}
.fc-ic.fc-in.fc-ic-compass .bNeedle{animation:ic-compass-spin 1.7s cubic-bezier(.2,.7,.2,1.15) .3s both}
@keyframes ic-compass-spin{0%{transform:rotate(-740deg);opacity:0}15%{opacity:1}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-compass .iNeedle{animation:ic-compass-seek 4.1s cubic-bezier(.45,.05,.55,.95) 2s infinite}
@keyframes ic-compass-seek{0%,100%{transform:rotate(0)}22%{transform:rotate(11deg)}48%{transform:rotate(-8deg)}70%{transform:rotate(4deg)}}
.fc-ic.fc-in.fc-ic-compass .l1{animation:ic-compass-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 2s infinite}
@keyframes ic-compass-tilt{0%,100%{transform:rotateX(10deg) rotateY(-8deg)}50%{transform:rotateX(-6deg) rotateY(8deg)}}

/* scales */
.fc-ic.fc-in.fc-ic-scales .bPost{animation:ic-scales-rise .7s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-scales-rise{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-scales .bBeam{animation:ic-scales-beam .8s cubic-bezier(.34,1.56,.64,1) .45s both}
@keyframes ic-scales-beam{0%{transform:translateY(-22px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-scales .bPanL{animation:ic-scales-hang .7s cubic-bezier(.34,1.56,.64,1) .75s both}
.fc-ic.fc-in.fc-ic-scales .bPanR{animation:ic-scales-hang .7s cubic-bezier(.34,1.56,.64,1) .9s both}
@keyframes ic-scales-hang{0%{transform:translateY(-16px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-scales .iBeam{animation:ic-scales-rock 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-scales-rock{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
.fc-ic.fc-in.fc-ic-scales .l1{animation:ic-scales-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-scales-turn{0%,100%{transform:rotateY(-7deg)}50%{transform:rotateY(7deg)}}

/* house */
.fc-ic.fc-in.fc-ic-house .bWalls{animation:ic-house-rise .8s cubic-bezier(.2,.8,.2,1) .1s both}
@keyframes ic-house-rise{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-house .roof{stroke-width:5}
.fc-ic.fc-in.fc-ic-house .bRoof{animation:ic-house-land .9s cubic-bezier(.34,1.56,.64,1) .55s both}
@keyframes ic-house-land{0%{transform:translateY(-34px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-house .bDoor{animation:ic-house-open .6s cubic-bezier(.2,.8,.2,1) 1s both}
@keyframes ic-house-open{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-house .win{fill:var(--fc-ic-wash);stroke:var(--fc-ic);stroke-width:3.6}
.fc-ic.fc-in.fc-ic-house .iWin{animation:ic-house-light 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-house-light{0%,100%{fill:var(--fc-ic-wash)}45%{fill:var(--fc-ic-glow)}}
.fc-ic.fc-in.fc-ic-house .l1{animation:ic-house-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-house-turn{0%,100%{transform:rotateY(-18deg)}50%{transform:rotateY(18deg)}}

/* heart */
.fc-ic.fc-in.fc-ic-heart .bHeart{animation:ic-heart-swell 1s cubic-bezier(.34,1.56,.64,1) .05s both}
@keyframes ic-heart-swell{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-heart .trace-bg{stroke:var(--fc-ic);stroke-width:4.2;opacity:.3}
.fc-ic.fc-in.fc-ic-heart .trace{stroke:var(--fc-ic-deep);stroke-width:5.2;stroke-dasharray:22 120;stroke-dashoffset:22;animation:ic-heart-pulse 4.1s linear .9s infinite}
@keyframes ic-heart-pulse{0%{stroke-dashoffset:22}100%{stroke-dashoffset:-120}}
.fc-ic.fc-in.fc-ic-heart .iBeat{animation:ic-heart-beat 4.1s cubic-bezier(.2,.8,.2,1) 1.1s infinite}
@keyframes ic-heart-beat{0%,100%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}30%{transform:scale(1.06)}40%{transform:scale(1)}}

/* building */
.fc-ic.fc-in.fc-ic-building .bBody{animation:ic-building-rise .9s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-building-rise{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-building .w{stroke-width:5.2}
.fc-ic.fc-in.fc-ic-building .bRow3{animation:ic-building-win .5s cubic-bezier(.2,.8,.2,1) .55s both,ic-building-light 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
.fc-ic.fc-in.fc-ic-building .bRow2{animation:ic-building-win .5s cubic-bezier(.2,.8,.2,1) .7s both,ic-building-light 4.1s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
.fc-ic.fc-in.fc-ic-building .bRow1{animation:ic-building-win .5s cubic-bezier(.2,.8,.2,1) .85s both,ic-building-light 4.1s cubic-bezier(.45,.05,.55,.95) 2.3s infinite}
@keyframes ic-building-win{0%{transform:scaleX(0);opacity:0}100%{transform:scaleX(1);opacity:1}}
@keyframes ic-building-light{0%,100%{stroke:var(--fc-ic)}40%{stroke:var(--fc-ic-glow)}55%{stroke:var(--fc-ic-deep)}}
.fc-ic.fc-in.fc-ic-building .bDoor{animation:ic-building-open .5s cubic-bezier(.2,.8,.2,1) 1s both}
@keyframes ic-building-open{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-building .l1{animation:ic-building-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-building-turn{0%,100%{transform:rotateY(-9deg)}50%{transform:rotateY(9deg)}}

/* bus */
.fc-ic.fc-in.fc-ic-bus .bBus{animation:ic-bus-drive 1.4s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-bus-drive{0%{transform:translateX(-118px);opacity:0}20%{opacity:1}72%{transform:translateX(0) rotate(0)}82%{transform:translateX(0) rotate(-1.4deg)}92%{transform:rotate(.8deg)}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-bus .spoke{stroke-width:3.4}
.fc-ic.fc-in.fc-ic-bus .iW1,.fc-ic.fc-in.fc-ic-bus .iW2{animation:ic-bus-wheel 2.05s linear .05s infinite}
@keyframes ic-bus-wheel{to{transform:rotate(360deg)}}
.fc-ic.fc-in.fc-ic-bus .iBody{animation:ic-bus-springs 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-bus-springs{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-1.6px) rotate(.5deg)}60%{transform:translateY(1px) rotate(-.4deg)}}
.fc-ic.fc-in.fc-ic-bus .motion{stroke:var(--fc-ic-deep);stroke-width:3.6;opacity:0}
.fc-ic.fc-in.fc-ic-bus .iLines{animation:ic-bus-motion 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-bus-motion{0%,100%{opacity:0;transform:translateX(6px)}50%{opacity:.7;transform:translateX(-2px)}}

/* cross */
.fc-ic.fc-in.fc-ic-cross .plus{stroke-width:5.2;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-cross .bPlus{animation:ic-cross-seed .7s cubic-bezier(.34,1.56,.64,1) .05s both}
@keyframes ic-cross-seed{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-cross .bBig{animation:ic-cross-grow .9s cubic-bezier(.34,1.56,.64,1) .35s both}
@keyframes ic-cross-grow{0%{transform:scale(.25);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-cross .iPlus{animation:ic-cross-pulse 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-cross-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.fc-ic.fc-in.fc-ic-cross .l1{animation:ic-cross-spin 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-cross-spin{0%,55%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}

/* dollar */
.fc-ic.fc-in.fc-ic-dollar .edge{stroke:var(--fc-ic-deep);stroke-width:4.2;fill:var(--fc-ic-deep);opacity:.9}
.fc-ic.fc-in.fc-ic-dollar .l0{transform:translateZ(-7px);animation:ic-dollar-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-dollar-spin 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
.fc-ic.fc-in.fc-ic-dollar .l1{animation:ic-dollar-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-dollar-spin 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-dollar-in{0%{transform:rotateY(-160deg) scale(.6);opacity:0}100%{transform:rotateY(0) scale(1);opacity:1}}
@keyframes ic-dollar-spin{0%,45%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
.fc-ic.fc-in.fc-ic-dollar .l0{animation-name:ic-dollar-in0,ic-dollar-spin0}
@keyframes ic-dollar-in0{0%{transform:translateZ(-7px) rotateY(-160deg) scale(.6);opacity:0}100%{transform:translateZ(-7px) rotateY(0) scale(1);opacity:.9}}
@keyframes ic-dollar-spin0{0%,45%{transform:translateZ(-7px) rotateY(0)}100%{transform:translateZ(-7px) rotateY(360deg)}}
.fc-ic.fc-in.fc-ic-dollar .s{stroke-width:5;stroke:var(--fc-ic-deep)}

/* eye */
.fc-ic.fc-in.fc-ic-eye .bOpen{animation:ic-eye-open .9s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-eye-open{0%{transform:scaleY(.05);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-eye .pupil{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-eye .bIris{animation:ic-eye-glance 1.6s cubic-bezier(.45,.05,.55,.95) .6s both}
@keyframes ic-eye-glance{0%{transform:translateX(0)}30%{transform:translateX(-10px)}65%{transform:translateX(9px)}100%{transform:translateX(0)}}
.fc-ic.fc-in.fc-ic-eye .iLook{animation:ic-eye-look 4.1s cubic-bezier(.45,.05,.55,.95) 2.2s infinite}
@keyframes ic-eye-look{0%,100%{transform:translateX(0)}30%{transform:translateX(-9px)}60%{transform:translateX(8px)}}
.fc-ic.fc-in.fc-ic-eye .iBlink{animation:ic-eye-blink 4.1s cubic-bezier(.45,.05,.55,.95) 2.2s infinite}
@keyframes ic-eye-blink{0%,76%,84%,100%{transform:scaleY(1)}80%{transform:scaleY(.08)}}
.fc-ic.fc-in.fc-ic-eye .l1{animation:ic-eye-turn 8.2s cubic-bezier(.45,.05,.55,.95) 2.2s infinite}
@keyframes ic-eye-turn{0%,100%{transform:rotateY(-8deg)}50%{transform:rotateY(8deg)}}

/* money */
.fc-ic.fc-in.fc-ic-money .bC3{animation:ic-money-stack .6s cubic-bezier(.34,1.56,.64,1) .1s both}
.fc-ic.fc-in.fc-ic-money .bC2{animation:ic-money-stack .6s cubic-bezier(.34,1.56,.64,1) .3s both}
.fc-ic.fc-in.fc-ic-money .bC1{animation:ic-money-stack .6s cubic-bezier(.34,1.56,.64,1) .5s both}
@keyframes ic-money-stack{0%{transform:translateY(-30px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-money .dot{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-money .bDot{animation:ic-money-pop .6s cubic-bezier(.34,1.56,.64,1) 1.3s both}
@keyframes ic-money-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-money .iTop{animation:ic-money-bob 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-money-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.fc-ic.fc-in.fc-ic-money .iDot{animation:ic-money-pulse 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-money-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
.fc-ic.fc-in.fc-ic-money .l1{animation:ic-money-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-money-turn{0%,100%{transform:rotateY(-12deg)}50%{transform:rotateY(12deg)}}

/* layers */
.fc-ic.fc-in.fc-ic-layers .bBot{animation:ic-layers-drop .7s cubic-bezier(.34,1.56,.64,1) .05s both}
.fc-ic.fc-in.fc-ic-layers .bMid{animation:ic-layers-drop .7s cubic-bezier(.34,1.56,.64,1) .3s both}
.fc-ic.fc-in.fc-ic-layers .bTop{animation:ic-layers-drop .7s cubic-bezier(.34,1.56,.64,1) .55s both}
@keyframes ic-layers-drop{0%{transform:translateY(-40px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-layers .check{stroke-width:5.2;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-layers .bCheck{animation:ic-layers-pop .6s cubic-bezier(.34,1.56,.64,1) 1s both}
@keyframes ic-layers-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-layers .iTop{animation:ic-layers-apartT 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
.fc-ic.fc-in.fc-ic-layers .iBot{animation:ic-layers-apartB 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-layers-apartT{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes ic-layers-apartB{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
.fc-ic.fc-in.fc-ic-layers .l1{animation:ic-layers-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-layers-turn{0%,100%{transform:rotateX(12deg) rotateY(-14deg)}50%{transform:rotateX(6deg) rotateY(14deg)}}

/* law-measure */
.fc-ic.fc-in.fc-ic-law-measure .l1{animation:ic-law-measure-in 1s cubic-bezier(.2,.8,.2,1) .05s both;transform-origin:50% 12%}
@keyframes ic-law-measure-in{0%{transform:rotateX(-70deg);opacity:0}100%{transform:rotateX(0);opacity:1}}
.fc-ic.fc-in.fc-ic-law-measure .lens{fill:var(--fc-ic-glow);fill-opacity:.7}
.fc-ic.fc-in.fc-ic-law-measure .handle{stroke-width:5.4}
.fc-ic.fc-in.fc-ic-law-measure .bGlass{animation:ic-law-measure-arrive .9s cubic-bezier(.34,1.56,.64,1) .9s both}
@keyframes ic-law-measure-arrive{0%{transform:translate(34px,34px) scale(.6);opacity:0}100%{transform:translate(0,0) scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-law-measure .iGlass{animation:ic-law-measure-read 8.2s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-law-measure-read{0%,100%{transform:translate(0,0)}14%{transform:translate(-32px,-38px)}30%{transform:translate(-4px,-38px)}44%{transform:translate(-32px,-26px)}60%{transform:translate(-4px,-26px)}74%{transform:translate(-24px,-14px)}88%{transform:translate(0,0)}}

/* checking */
.fc-ic.fc-in.fc-ic-checking .bOpen{animation:ic-checking-open .9s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-checking-open{0%{transform:scaleY(.05);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-checking .pupil{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-checking .iLook{animation:ic-checking-search 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-checking-search{0%,100%{transform:translateX(0)}25%{transform:translateX(-9px)}55%{transform:translateX(9px)}}
.fc-ic.fc-in.fc-ic-checking .iBlink{animation:ic-checking-blink 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-checking-blink{0%,86%,94%,100%{transform:scaleY(1)}90%{transform:scaleY(.08)}}
.fc-ic.fc-in.fc-ic-checking .q{stroke-width:5.2;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-checking .qdot{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-checking .bQ{animation:ic-checking-bounce .9s cubic-bezier(.34,1.56,.64,1) .8s both}
@keyframes ic-checking-bounce{0%{transform:translateY(-30px) scale(.6);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-checking .iQ{animation:ic-checking-bob 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-checking-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-8deg)}}

/* puzzle */
.fc-ic.fc-in.fc-ic-puzzle .bL{animation:ic-puzzle-meetL 1.4s cubic-bezier(.45,.05,.55,.95) .2s both}
.fc-ic.fc-in.fc-ic-puzzle .bR{animation:ic-puzzle-meetR 1.4s cubic-bezier(.45,.05,.55,.95) .2s both}
@keyframes ic-puzzle-meetL{0%{transform:translateX(-30px);opacity:0}20%{opacity:1}55%{transform:translateX(7px)}72%{transform:translateX(-4px)}100%{transform:translateX(0)}}
@keyframes ic-puzzle-meetR{0%{transform:translateX(30px);opacity:0}20%{opacity:1}55%{transform:translateX(-7px)}72%{transform:translateX(4px)}100%{transform:translateX(0)}}
.fc-ic.fc-in.fc-ic-puzzle .iL{animation:ic-puzzle-tryL 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
.fc-ic.fc-in.fc-ic-puzzle .iR{animation:ic-puzzle-tryR 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-puzzle-tryL{0%,100%{transform:translateX(0) rotate(0)}40%{transform:translateX(6px) rotate(0)}52%{transform:translateX(-3px) rotate(-3deg)}70%{transform:translateX(0) rotate(0)}}
@keyframes ic-puzzle-tryR{0%,100%{transform:translateX(0) rotate(0)}40%{transform:translateX(-6px) rotate(0)}52%{transform:translateX(3px) rotate(3deg)}70%{transform:translateX(0) rotate(0)}}
.fc-ic.fc-in.fc-ic-puzzle .l1{animation:ic-puzzle-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
@keyframes ic-puzzle-turn{0%,100%{transform:rotateY(-10deg)}50%{transform:rotateY(10deg)}}

/* fingerprint */
.fc-ic.fc-in.fc-ic-fingerprint .r{stroke-width:4.6}
.fc-ic.fc-in.fc-ic-fingerprint .r1{animation:fcDraw .9s cubic-bezier(.2,.8,.2,1) .1s both,ic-fingerprint-ripple 4.1s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
.fc-ic.fc-in.fc-ic-fingerprint .r2{animation:fcDraw .9s cubic-bezier(.2,.8,.2,1) .25s both,ic-fingerprint-ripple 4.1s cubic-bezier(.45,.05,.55,.95) 1.7s infinite}
.fc-ic.fc-in.fc-ic-fingerprint .r3{animation:fcDraw .9s cubic-bezier(.2,.8,.2,1) .4s both,ic-fingerprint-ripple 4.1s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
.fc-ic.fc-in.fc-ic-fingerprint .r4{animation:fcDraw .9s cubic-bezier(.2,.8,.2,1) .55s both,ic-fingerprint-ripple 4.1s cubic-bezier(.45,.05,.55,.95) 2.1s infinite}
.fc-ic.fc-in.fc-ic-fingerprint .r5{animation:fcDraw .9s cubic-bezier(.2,.8,.2,1) .7s both,ic-fingerprint-ripple 4.1s cubic-bezier(.45,.05,.55,.95) 2.3s infinite}
@keyframes ic-fingerprint-ripple{0%,100%{stroke:var(--fc-ic)}30%{stroke:var(--fc-ic-deep)}45%{stroke:var(--fc-ic-glow)}60%{stroke:var(--fc-ic)}}
.fc-ic.fc-in.fc-ic-fingerprint .l1{animation:ic-fingerprint-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-fingerprint-tilt{0%,100%{transform:rotateX(8deg) rotateY(-10deg)}50%{transform:rotateX(-4deg) rotateY(10deg)}}

/* bank */
.fc-ic.fc-in.fc-ic-bank .bBase{animation:ic-bank-slide .6s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-bank-slide{0%{transform:scaleX(0);opacity:0}100%{transform:scaleX(1);opacity:1}}
.fc-ic.fc-in.fc-ic-bank .bCols{animation:ic-bank-rise .7s cubic-bezier(.2,.8,.2,1) .3s both}
@keyframes ic-bank-rise{0%{transform:scaleY(0);opacity:0}100%{transform:scaleY(1);opacity:1}}
.fc-ic.fc-in.fc-ic-bank .bTop{animation:ic-bank-land .8s cubic-bezier(.34,1.56,.64,1) .7s both}
@keyframes ic-bank-land{0%{transform:translateY(-28px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-bank .coin{fill:var(--fc-ic-glow);stroke:var(--fc-ic-deep);stroke-width:3.4;opacity:0}
.fc-ic.fc-in.fc-ic-bank .iCoin{animation:ic-bank-deposit 4.1s cubic-bezier(.5,0,.8,.6) 1.6s infinite}
@keyframes ic-bank-deposit{0%,40%{transform:translateY(-58px) scale(.9);opacity:0}48%{opacity:1}72%{transform:translateY(0) scale(1);opacity:1}84%{transform:translateY(20px) scale(.85);opacity:0}100%{transform:translateY(20px);opacity:0}}
.fc-ic.fc-in.fc-ic-bank .l1{animation:ic-bank-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-bank-turn{0%,100%{transform:rotateY(-9deg)}50%{transform:rotateY(9deg)}}

/* calendar */
.fc-ic.fc-in.fc-ic-calendar .l1{animation:ic-calendar-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-calendar-hover 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite;transform-origin:50% 18%}
@keyframes ic-calendar-in{0%{transform:rotateX(-75deg);opacity:0}100%{transform:rotateX(0);opacity:1}}
@keyframes ic-calendar-hover{0%,100%{transform:rotateX(5deg) rotateY(-7deg)}50%{transform:rotateX(-3deg) rotateY(7deg)}}
.fc-ic.fc-in.fc-ic-calendar .ring{stroke-width:5}
.fc-ic.fc-in.fc-ic-calendar .bRings{animation:ic-calendar-rings .6s cubic-bezier(.34,1.56,.64,1) .5s both}
@keyframes ic-calendar-rings{0%{transform:translateY(-16px);opacity:0}100%{transform:translateY(0);opacity:1}}
.fc-ic.fc-in.fc-ic-calendar .day{stroke-width:5;stroke:var(--fc-ic)}
.fc-ic.fc-in.fc-ic-calendar .bDays{animation:ic-calendar-days .6s cubic-bezier(.2,.8,.2,1) .75s both}
@keyframes ic-calendar-days{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
.fc-ic.fc-in.fc-ic-calendar .mark{stroke:var(--fc-ic-deep);stroke-width:4;fill:none}
.fc-ic.fc-in.fc-ic-calendar .markday{stroke:var(--fc-ic-deep);stroke-width:5}
.fc-ic.fc-in.fc-ic-calendar .bMark{animation:ic-calendar-mark .7s cubic-bezier(.34,1.56,.64,1) 1.2s both}
@keyframes ic-calendar-mark{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-calendar .iMark{animation:ic-calendar-pulse 4.1s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-calendar-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

/* face */
.fc-ic.fc-in.fc-ic-face .eyes{stroke-width:5}
.fc-ic.fc-in.fc-ic-face .bFace{animation:ic-face-face .8s cubic-bezier(.34,1.56,.64,1) .15s both}
@keyframes ic-face-face{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-face .corner{stroke-width:5.2;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-face .bTL{animation:ic-face-cTL .9s cubic-bezier(.2,.8,.2,1) .05s both}.fc-ic.fc-in.fc-ic-face .bTR{animation:ic-face-cTR .9s cubic-bezier(.2,.8,.2,1) .1s both}.fc-ic.fc-in.fc-ic-face .bBL{animation:ic-face-cBL .9s cubic-bezier(.2,.8,.2,1) .15s both}.fc-ic.fc-in.fc-ic-face .bBR{animation:ic-face-cBR .9s cubic-bezier(.2,.8,.2,1) .2s both}
@keyframes ic-face-cTL{0%{transform:translate(-26px,-26px);opacity:0}100%{transform:none;opacity:1}}
@keyframes ic-face-cTR{0%{transform:translate(26px,-26px);opacity:0}100%{transform:none;opacity:1}}
@keyframes ic-face-cBL{0%{transform:translate(-26px,26px);opacity:0}100%{transform:none;opacity:1}}
@keyframes ic-face-cBR{0%{transform:translate(26px,26px);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-face .iFrame{animation:ic-face-breathe 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-face-breathe{0%,100%{transform:scale(1)}50%{transform:scale(.92)}}
.fc-ic.fc-in.fc-ic-face .badge{fill:var(--fc-ic-deep);stroke:#fff;stroke-width:3}
.fc-ic.fc-in.fc-ic-face .tick{stroke:#fff;stroke-width:4}
.fc-ic.fc-in.fc-ic-face .bCheck{animation:ic-face-pop .7s cubic-bezier(.34,1.56,.64,1) 1.05s both}
@keyframes ic-face-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-face .iCheck{animation:ic-face-beat 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-face-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.fc-ic.fc-in.fc-ic-face .l1{animation:ic-face-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-face-turn{0%,100%{transform:rotateY(-10deg)}50%{transform:rotateY(10deg)}}

/* badge */
.fc-ic.fc-in.fc-ic-badge .l1{animation:ic-badge-in 1s cubic-bezier(.2,.8,.2,1) .05s both,ic-badge-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 1.5s infinite}
@keyframes ic-badge-in{0%{transform:rotateY(70deg) translateX(20px);opacity:0}100%{transform:rotateY(0) translateX(0);opacity:1}}
@keyframes ic-badge-tilt{0%,100%{transform:rotateY(-12deg) rotateX(4deg)}50%{transform:rotateY(12deg) rotateX(-4deg)}}
.fc-ic.fc-in.fc-ic-badge .bPhoto{animation:ic-badge-pop .7s cubic-bezier(.34,1.56,.64,1) .65s both}
@keyframes ic-badge-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-badge .stamp{fill:var(--fc-ic-deep);stroke:#fff;stroke-width:3}
.fc-ic.fc-in.fc-ic-badge .stick{stroke:#fff;stroke-width:3.6}
.fc-ic.fc-in.fc-ic-badge .bStamp{animation:ic-badge-stamp .6s cubic-bezier(.34,1.56,.64,1) 1.2s both}
@keyframes ic-badge-stamp{0%{transform:scale(2.2);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-badge .iStamp{animation:ic-badge-restamp 4.1s cubic-bezier(.2,.8,.2,1) 1.8s infinite}
@keyframes ic-badge-restamp{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.35)}86%{transform:scale(.95)}}

/* user-check */
.fc-ic.fc-in.fc-ic-user-check .bA{animation:ic-user-check-up .9s cubic-bezier(.34,1.56,.64,1) .15s both}
@keyframes ic-user-check-up{0%{transform:translateY(26px) scale(.6);opacity:0}60%{opacity:1}100%{transform:translateY(0) scale(1)}}
.fc-ic.fc-in.fc-ic-user-check .badge{fill:var(--fc-ic-deep);stroke:#fff;stroke-width:3.5}
.fc-ic.fc-in.fc-ic-user-check .tick{stroke:#fff;stroke-width:4.4}
.fc-ic.fc-in.fc-ic-user-check .bB{animation:ic-user-check-swing .9s cubic-bezier(.34,1.56,.64,1) .8s both}
@keyframes ic-user-check-swing{0%{transform:translateX(34px) rotate(40deg);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-user-check .iA{animation:ic-user-check-sway 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-user-check-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg) translateY(-2px)}}
.fc-ic.fc-in.fc-ic-user-check .iB{animation:ic-user-check-nod 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-user-check-nod{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.14) rotate(-8deg)}}
.fc-ic.fc-in.fc-ic-user-check .l1{animation:ic-user-check-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-user-check-turn{0%,100%{transform:rotateY(10deg)}50%{transform:rotateY(-10deg)}}

/* dashboard */
.fc-ic.fc-in.fc-ic-dashboard .arc{stroke-width:5}
.fc-ic.fc-in.fc-ic-dashboard .ticks{stroke-width:4.6;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-dashboard .needle{stroke:var(--fc-ic-deep);stroke-width:5}
.fc-ic.fc-in.fc-ic-dashboard .hub{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-dashboard .bNeedle{animation:ic-dashboard-sweep 1.4s cubic-bezier(.3,.9,.3,1.35) .5s both}
@keyframes ic-dashboard-sweep{0%{transform:rotate(-120deg);opacity:0}20%{opacity:1}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-dashboard .iNeedle{animation:ic-dashboard-read 4.1s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-dashboard-read{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg)}60%{transform:rotate(6deg)}}
.fc-ic.fc-in.fc-ic-dashboard .l1{animation:ic-dashboard-tilt 8.2s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-dashboard-tilt{0%,100%{transform:rotateX(8deg) rotateY(-8deg)}50%{transform:rotateX(-4deg) rotateY(8deg)}}

/* chart */
.fc-ic.fc-in.fc-ic-chart .l1{animation:ic-chart-in .9s cubic-bezier(.34,1.56,.64,1) .05s both,ic-chart-hover 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-chart-in{0%{transform:translateY(-30px) rotateX(-30deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes ic-chart-hover{0%,100%{transform:rotateX(5deg) rotateY(-7deg)}50%{transform:rotateX(-3deg) rotateY(7deg)}}
.fc-ic.fc-in.fc-ic-chart .dot,.fc-ic.fc-in.fc-ic-chart .mark{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-chart .line{stroke:var(--fc-ic-deep);stroke-width:5}
.fc-ic.fc-in.fc-ic-chart .bMark{animation:ic-chart-pop .6s cubic-bezier(.34,1.56,.64,1) 1.5s both}
@keyframes ic-chart-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-chart .iMark{animation:ic-chart-pulse 4.1s cubic-bezier(.45,.05,.55,.95) 2s infinite}
@keyframes ic-chart-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.7)}}

/* laptop-lock */
.fc-ic.fc-in.fc-ic-laptop-lock .bBase{animation:ic-laptop-lock-slide .7s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-laptop-lock-slide{0%{transform:translateY(20px);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-laptop-lock .l2{transform-origin:50% 72%;animation:ic-laptop-lock-open 1.1s cubic-bezier(.2,.8,.2,1) .35s both,ic-laptop-lock-lidbob 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-laptop-lock-open{0%{transform:rotateX(-88deg);opacity:0}100%{transform:rotateX(0);opacity:1}}
@keyframes ic-laptop-lock-lidbob{0%,100%{transform:rotateX(0)}50%{transform:rotateX(-9deg)}}
.fc-ic.fc-in.fc-ic-laptop-lock .lockbody{fill:var(--fc-ic-deep);stroke:var(--fc-ic-deep);stroke-width:3}
.fc-ic.fc-in.fc-ic-laptop-lock .shackle{stroke-width:5;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-laptop-lock .key{fill:#fff;stroke:none}
.fc-ic.fc-in.fc-ic-laptop-lock .bLock{animation:ic-laptop-lock-drop .8s cubic-bezier(.34,1.56,.64,1) 1.1s both}
@keyframes ic-laptop-lock-drop{0%{transform:translateY(-40px) scale(.7);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-laptop-lock .iShackle{animation:ic-laptop-lock-click 4.1s cubic-bezier(.2,.8,.2,1) 1.9s infinite}
@keyframes ic-laptop-lock-click{0%,60%,100%{transform:translateY(0)}68%{transform:translateY(-6px)}78%{transform:translateY(0)}}

/* money-mail */
.fc-ic.fc-in.fc-ic-money-mail .bEnv{animation:ic-money-mail-arrive .9s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes ic-money-mail-arrive{0%{transform:translateX(-40px) rotate(-6deg);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-money-mail .coin{fill:var(--fc-ic-glow);stroke:var(--fc-ic-deep);stroke-width:3.4}
.fc-ic.fc-in.fc-ic-money-mail .sym{stroke:var(--fc-ic-deep);stroke-width:3.6}
.fc-ic.fc-in.fc-ic-money-mail .bCoin{animation:ic-money-mail-rise 1s cubic-bezier(.34,1.56,.64,1) .9s both}
@keyframes ic-money-mail-rise{0%{transform:translateY(34px) scale(.5);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-money-mail .iCoin{animation:ic-money-mail-bob 4.1s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-money-mail-bob{0%,100%{transform:translateY(0) rotateY(0)}50%{transform:translateY(-7px)}}
.fc-ic.fc-in.fc-ic-money-mail .l2{animation:ic-money-mail-spin 8.2s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-money-mail-spin{0%,60%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
.fc-ic.fc-in.fc-ic-money-mail .l1{animation:ic-money-mail-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.9s infinite}
@keyframes ic-money-mail-turn{0%,100%{transform:rotateY(-8deg)}50%{transform:rotateY(8deg)}}

/* award */
.fc-ic.fc-in.fc-ic-award .bRos{animation:ic-award-spin 1.2s cubic-bezier(.3,.9,.3,1.25) .05s both}
@keyframes ic-award-spin{0%{transform:rotate(-200deg) scale(.3);opacity:0}100%{transform:rotate(0) scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-award .tick{stroke-width:5.2;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-award .bRib{animation:ic-award-drop .8s cubic-bezier(.34,1.56,.64,1) .8s both}
@keyframes ic-award-drop{0%{transform:translateY(-24px) scaleY(.4);opacity:0}100%{transform:none;opacity:1}}
.fc-ic.fc-in.fc-ic-award .iRos{animation:ic-award-rock 4.1s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-award-rock{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}70%{transform:rotate(8deg)}}
.fc-ic.fc-in.fc-ic-award .l2{animation:ic-award-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-award-turn{0%,100%{transform:rotateY(-12deg)}50%{transform:rotateY(12deg)}}

/* camera */
.fc-ic.fc-in.fc-ic-camera .lens{stroke-width:6;stroke:var(--fc-ic-deep)}
.fc-ic.fc-in.fc-ic-camera .led{fill:var(--fc-ic-deep);stroke:none}
.fc-ic.fc-in.fc-ic-camera .bCam{animation:ic-camera-swing 1.1s cubic-bezier(.3,.9,.3,1.3) .4s both}
@keyframes ic-camera-swing{0%{transform:rotate(-40deg);opacity:0}30%{opacity:1}100%{transform:rotate(0)}}
.fc-ic.fc-in.fc-ic-camera .iCam{animation:ic-camera-pan 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-camera-pan{0%,100%{transform:rotate(0)}30%{transform:rotate(9deg)}70%{transform:rotate(-7deg)}}
.fc-ic.fc-in.fc-ic-camera .led{animation:ic-camera-blink 4.1s steps(1) 1.6s infinite}
@keyframes ic-camera-blink{0%,100%{fill:var(--fc-ic-deep)}50%{fill:var(--fc-ic-glow)}55%{fill:var(--fc-ic-deep)}60%{fill:var(--fc-ic-glow)}65%{fill:var(--fc-ic-deep)}}
.fc-ic.fc-in.fc-ic-camera .l2{animation:ic-camera-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes ic-camera-turn{0%,100%{transform:rotateY(-8deg)}50%{transform:rotateY(8deg)}}

/* person */
.fc-ic.fc-in.fc-ic-person .bP{animation:ic-person-up .9s cubic-bezier(.34,1.56,.64,1) .1s both}
@keyframes ic-person-up{0%{transform:translateY(28px) scale(.6);opacity:0}60%{opacity:1}100%{transform:none}}
.fc-ic.fc-in.fc-ic-person .iHead{animation:ic-person-tilt 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-person-tilt{0%,100%{transform:rotate(0)}40%{transform:rotate(-7deg) translateX(-2px)}}
.fc-ic.fc-in.fc-ic-person .iP{animation:ic-person-sway 4.1s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-person-sway{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.fc-ic.fc-in.fc-ic-person .l1{animation:ic-person-turn 8.2s cubic-bezier(.45,.05,.55,.95) 1.4s infinite}
@keyframes ic-person-turn{0%,100%{transform:rotateY(-16deg)}50%{transform:rotateY(16deg)}}

/* check */
.fc-ic.fc-in.fc-ic-check .mark{stroke-width:11;stroke:var(--fc-ic)}
.fc-ic.fc-in.fc-ic-check .bC{animation:ic-check-snap .8s cubic-bezier(.34,1.56,.64,1) .05s both}
@keyframes ic-check-snap{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.fc-ic.fc-in.fc-ic-check .burst{stroke:var(--fc-ic);stroke-width:3;fill:none;opacity:0}
.fc-ic.fc-in.fc-ic-check .iBurst{animation:ic-check-burst 4.1s cubic-bezier(.2,.8,.2,1) 1s infinite}
@keyframes ic-check-burst{0%,50%{transform:scale(.6);opacity:0}54%{opacity:.6}80%,100%{transform:scale(1.9);opacity:0}}
.fc-ic.fc-in.fc-ic-check .iC{animation:ic-check-breathe 4.1s cubic-bezier(.45,.05,.55,.95) 1s infinite}
@keyframes ic-check-breathe{0%,100%{transform:scale(1)}56%{transform:scale(1.12)}}
