/* generated by build_pages.py from the scene SVG for /research/patent-drone-pest-control */
.lbl { font: 600 15px 'Space Grotesk', sans-serif; fill: #e8eefb; }
    .sub { font: 500 11px 'Inter', sans-serif; fill: #94a3bd; }
    .big { font: 700 20px 'Space Grotesk', sans-serif; fill: #e8eefb; }
    .box { fill: rgba(255,255,255,.05); stroke: rgba(255,255,255,.16); rx: 14; }
    .teal { fill: #2dd4bf; } .amber { fill: #fbbf24; }
    @keyframes dash { to { stroke-dashoffset: -200; } }
    @keyframes pulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
    @keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: .15; } }
    @keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
    @keyframes growring { from { r: 6; opacity: .9; } to { r: 34; opacity: 0; } }
    .flow { stroke: #2dd4bf; stroke-width: 2; fill: none; stroke-dasharray: 8 8; animation: dash 3s linear infinite; opacity: .8; }
    .flow.a { stroke: #fbbf24; }
.drone { animation: fly 8s ease-in-out infinite alternate; }
    @keyframes fly { from { transform: translateX(0); } to { transform: translateX(380px); } }
    .prop { animation: whirl .25s linear infinite; transform-box: fill-box; transform-origin: center; }
    @keyframes whirl { to { transform: rotateY(180deg); } }
    .zap { animation: zapfall 1.4s linear infinite; transform-box: fill-box; transform-origin: center; }
    .zp2 { animation-delay: .45s; } .zp3 { animation-delay: .9s; }
    @keyframes zapfall { 0% { transform: translateY(0) scale(.5); opacity: .95; } 100% { transform: translateY(85px) scale(1.6); opacity: 0; } }
    .bug { animation: fade 8s ease-in-out infinite alternate; }
    @keyframes fade { 0%,40% { opacity: 1; } 70%,100% { opacity: .1; } }
    .leaf { transform-origin: bottom center; animation: swayl 3.5s ease-in-out infinite alternate; }
    @keyframes swayl { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
