/* Business-Wrap brand v2 icons: micro-animations. Generated by tools/build_icons.py. */
/* Plays on hover of the icon or its parent, on keyboard focus of the parent, and when the icon or an ancestor gets
   .is-inview (add it with an IntersectionObserver) or the icon gets .is-playing. Nothing moves under reduced motion. */
.bw-i { width: 1.5em; height: 1.5em; vertical-align: middle; overflow: visible; }
.bw-i .hl { fill: var(--bw-marker-icon, var(--bw-accent, #C8F04A)); }
.bw-i .mv { transform-box: fill-box; transform-origin: 50% 50%; }
.bw-i [pathLength='1'].mv { stroke-dasharray: 1; stroke-dashoffset: 0; }
@keyframes bwi-blink{0%,100%{opacity:1}25%,60%{opacity:.15}}
@keyframes bwi-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes bwi-drop{0%{transform:translateY(-3px);opacity:0}45%{opacity:1}100%{transform:translateY(5px);opacity:0}}
@keyframes bwi-fan{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
@keyframes bwi-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px) rotate(-3deg)}}
@keyframes bwi-pulse{0%,100%{transform:scale(1)}40%{transform:scale(1.14)}70%{transform:scale(.97)}}
@keyframes bwi-rise{0%{transform:translateY(0)}45%{transform:translateY(-3px);opacity:0}46%{transform:translateY(3px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes bwi-slide{0%,100%{transform:translateX(0)}50%{transform:translateX(var(--bwi-dx,2.5px))}}
@keyframes bwi-snap{0%{transform:translateX(-3px)}60%{transform:translateX(.6px)}100%{transform:translateX(0)}}
@keyframes bwi-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes bwi-swap-a{0%,100%{transform:translateX(0)}50%{transform:translateX(9.5px);opacity:.2}}@keyframes bwi-swap-b{0%,100%{transform:translateX(0)}50%{transform:translateX(-9.5px);opacity:.2}}
.bw-i--harvest:hover .mv, :hover > .bw-i--harvest .mv, :focus-visible > .bw-i--harvest .mv, .is-inview .bw-i--harvest .mv, .bw-i--harvest.is-inview .mv, .bw-i--harvest.is-playing .mv { animation: bwi-drop var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 2; }
.bw-i--process-model:hover .mv, :hover > .bw-i--process-model .mv, :focus-visible > .bw-i--process-model .mv, .is-inview .bw-i--process-model .mv, .bw-i--process-model.is-inview .mv, .bw-i--process-model.is-playing .mv { animation: bwi-draw var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) both; }
.bw-i--e-service:hover .mv, :hover > .bw-i--e-service .mv, :focus-visible > .bw-i--e-service .mv, .is-inview .bw-i--e-service .mv, .bw-i--e-service.is-inview .mv, .bw-i--e-service.is-playing .mv { animation: bwi-blink var(--bw-dur-story,900ms) steps(1,end) 2; }
.bw-i--walk:hover .mv, :hover > .bw-i--walk .mv, :focus-visible > .bw-i--walk .mv, .is-inview .bw-i--walk .mv, .bw-i--walk.is-inview .mv, .bw-i--walk.is-playing .mv { animation: bwi-slide var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--dry-run:hover .mv, :hover > .bw-i--dry-run .mv, :focus-visible > .bw-i--dry-run .mv, .is-inview .bw-i--dry-run .mv, .bw-i--dry-run.is-inview .mv, .bw-i--dry-run.is-playing .mv { animation: bwi-pulse var(--bw-dur-page,520ms) var(--bw-ease-spring,ease) 1; }
.bw-i--merge:hover .mv, :hover > .bw-i--merge .mv, :focus-visible > .bw-i--merge .mv, .is-inview .bw-i--merge .mv, .bw-i--merge.is-inview .mv, .bw-i--merge.is-playing .mv { animation: bwi-draw var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) both; }
.bw-i--editor:hover .mv, :hover > .bw-i--editor .mv, :focus-visible > .bw-i--editor .mv, .is-inview .bw-i--editor .mv, .bw-i--editor.is-inview .mv, .bw-i--editor.is-playing .mv { animation: bwi-blink var(--bw-dur-story,900ms) steps(1,end) 2; }
.bw-i--print-layout:hover .mv, :hover > .bw-i--print-layout .mv, :focus-visible > .bw-i--print-layout .mv, .is-inview .bw-i--print-layout .mv, .bw-i--print-layout.is-inview .mv, .bw-i--print-layout.is-playing .mv { animation: bwi-pulse var(--bw-dur-page,520ms) var(--bw-ease-spring,ease) 1; }
.bw-i--pdf:hover .mv, :hover > .bw-i--pdf .mv, :focus-visible > .bw-i--pdf .mv, .is-inview .bw-i--pdf .mv, .bw-i--pdf.is-inview .mv, .bw-i--pdf.is-playing .mv { animation: bwi-lift var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) 1; }
.bw-i--docx:hover .mv, :hover > .bw-i--docx .mv, :focus-visible > .bw-i--docx .mv, .is-inview .bw-i--docx .mv, .bw-i--docx.is-inview .mv, .bw-i--docx.is-playing .mv { animation: bwi-lift var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) 1; }
.bw-i--edits-file:hover .mv, :hover > .bw-i--edits-file .mv, :focus-visible > .bw-i--edits-file .mv, .is-inview .bw-i--edits-file .mv, .bw-i--edits-file.is-inview .mv, .bw-i--edits-file.is-playing .mv { animation: bwi-slide var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--bilingual:hover .mv.a, :hover > .bw-i--bilingual .mv.a, :focus-visible > .bw-i--bilingual .mv.a, .is-inview .bw-i--bilingual .mv.a, .bw-i--bilingual.is-inview .mv.a, .bw-i--bilingual.is-playing .mv.a { animation: bwi-swap-a var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--bilingual:hover .mv.b, :hover > .bw-i--bilingual .mv.b, :focus-visible > .bw-i--bilingual .mv.b, .is-inview .bw-i--bilingual .mv.b, .bw-i--bilingual.is-inview .mv.b, .bw-i--bilingual.is-playing .mv.b { animation: bwi-swap-b var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--direction:hover .mv, :hover > .bw-i--direction .mv, :focus-visible > .bw-i--direction .mv, .is-inview .bw-i--direction .mv, .bw-i--direction.is-inview .mv, .bw-i--direction.is-playing .mv { animation: bwi-slide var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--design-pack:hover .mv, :hover > .bw-i--design-pack .mv, :focus-visible > .bw-i--design-pack .mv, .is-inview .bw-i--design-pack .mv, .bw-i--design-pack.is-inview .mv, .bw-i--design-pack.is-playing .mv { animation: bwi-fan var(--bw-dur-page,520ms) var(--bw-ease-spring,ease) 1; }
.bw-i--diagram:hover .mv, :hover > .bw-i--diagram .mv, :focus-visible > .bw-i--diagram .mv, .is-inview .bw-i--diagram .mv, .bw-i--diagram.is-inview .mv, .bw-i--diagram.is-playing .mv { animation: bwi-draw var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) both; }
.bw-i--security-gate:hover .mv, :hover > .bw-i--security-gate .mv, :focus-visible > .bw-i--security-gate .mv, .is-inview .bw-i--security-gate .mv, .bw-i--security-gate.is-inview .mv, .bw-i--security-gate.is-playing .mv { animation: bwi-draw var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) both; }
.bw-i--evidence:hover .mv, :hover > .bw-i--evidence .mv, :focus-visible > .bw-i--evidence .mv, .is-inview .bw-i--evidence .mv, .bw-i--evidence.is-inview .mv, .bw-i--evidence.is-playing .mv { animation: bwi-slide var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--mcp-server:hover .mv, :hover > .bw-i--mcp-server .mv, :focus-visible > .bw-i--mcp-server .mv, .is-inview .bw-i--mcp-server .mv, .bw-i--mcp-server.is-inview .mv, .bw-i--mcp-server.is-playing .mv { animation: bwi-pulse var(--bw-dur-page,520ms) var(--bw-ease-spring,ease) 1; }
.bw-i--plugin:hover .mv, :hover > .bw-i--plugin .mv, :focus-visible > .bw-i--plugin .mv, .is-inview .bw-i--plugin .mv, .bw-i--plugin.is-inview .mv, .bw-i--plugin.is-playing .mv { animation: bwi-snap var(--bw-dur-slow,360ms) var(--bw-ease-spring,ease) 1; }
.bw-i--update:hover .mv, :hover > .bw-i--update .mv, :focus-visible > .bw-i--update .mv, .is-inview .bw-i--update .mv, .bw-i--update.is-inview .mv, .bw-i--update.is-playing .mv { animation: bwi-spin var(--bw-dur-story,900ms) var(--bw-ease-in-out,ease) 1; }
.bw-i--export:hover .mv, :hover > .bw-i--export .mv, :focus-visible > .bw-i--export .mv, .is-inview .bw-i--export .mv, .bw-i--export.is-inview .mv, .bw-i--export.is-playing .mv { animation: bwi-rise var(--bw-dur-page,520ms) var(--bw-ease-out,ease-out) 1; }
.bw-i--explainer:hover .mv, :hover > .bw-i--explainer .mv, :focus-visible > .bw-i--explainer .mv, .is-inview .bw-i--explainer .mv, .bw-i--explainer.is-inview .mv, .bw-i--explainer.is-playing .mv { animation: bwi-pulse var(--bw-dur-page,520ms) var(--bw-ease-spring,ease) 1; }
.bw-i--update .mv, .bw-i--design-pack .mv { transform-origin: 50% 50%; }
.bw-i--design-pack .mv { transform-origin: 30% 100%; }
.bw-i--pdf .mv, .bw-i--docx .mv { transform-origin: 50% 100%; }
.bw-i--evidence { --bwi-dx: -4px; }
@media (prefers-reduced-motion: reduce) { .bw-i .mv { animation: none !important; } }
