---
title: "Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio"
description: "How cybersecurity companies use visual simulation and motion graphics to embody invisible threats and boost sales to major enterprises."
url: "https://hawadet.com/en/blogs/threat-simulation-using-animation-cybersecurity-b2b"
date: "2026-09-09T22:36:03+03:00"
---

# Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio

<html data-language="en" dir="ltr" lang="en"><head> <meta charset="UTF-8"></meta> <meta content="width=device-width, initial-scale=1.0" name="viewport"></meta> <title>Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio</title><meta content="Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio" name="title"></meta><meta content="How cybersecurity companies use visual simulation and motion graphics to embody invisible threats and boost sales to major enterprises." name="description"></meta><meta content="b2b, animation, update" name="keywords"></meta><meta content="Hawadet Studio" name="author"></meta><meta content="index, follow, max-image-preview:large" name="robots"></meta><link href="https://hawadet.com/en/blogs/threat-simulation-using-animation-cybersecurity-b2b" rel="canonical"></link><meta content="EG" name="geo.region"></meta><meta content="Cairo" name="geo.placename"></meta><meta content="30.0444;31.2357" name="geo.position"></meta><meta content="30.0444, 31.2357" name="ICBM"></meta> <link href="https://hawadet.com/blogs/threat-simulation-using-animation-cybersecurity-b2b" hreflang="x-default" rel="alternate"></link> <link href="https://hawadet.com/blogs/threat-simulation-using-animation-cybersecurity-b2b" hreflang="ar" rel="alternate"></link> <link href="https://hawadet.com/en/blogs/threat-simulation-using-animation-cybersecurity-b2b" hreflang="en" rel="alternate"></link> <meta content="article" property="og:type"></meta><meta content="https://hawadet.com/en/blogs/threat-simulation-using-animation-cybersecurity-b2b" property="og:url"></meta><meta content="Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio" property="og:title"></meta><meta content="How cybersecurity companies use visual simulation and motion graphics to embody invisible threats and boost sales to major enterprises." property="og:description"></meta><meta content="https://media.hawadet.com/76/temp_1787094108_sq3-sh01-2.jpg" property="og:image"></meta><meta content="1200" property="og:image:width"></meta><meta content="630" property="og:image:height"></meta><meta content="Hawadet Studio" property="og:site_name"></meta><meta content="en_US" property="og:locale"></meta><meta content="summary_large_image" name="twitter:card"></meta><meta content="https://hawadet.com/en/blogs/threat-simulation-using-animation-cybersecurity-b2b" name="twitter:url"></meta><meta content="Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio" name="twitter:title"></meta><meta content="How cybersecurity companies use visual simulation and motion graphics to embody invisible threats and boost sales to major enterprises." name="twitter:description"></meta><meta content="https://media.hawadet.com/76/temp_1787094108_sq3-sh01-2.jpg" name="twitter:image"></meta><meta content="@hwadetstudio" name="twitter:site"></meta>  <meta content="#050507" name="theme-color"></meta>  <link href="https://media.hawadet.com/website/favicon.png" rel="icon" type="image/png"></link>   <link href="https://fonts.googleapis.com" rel="preconnect"></link> <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"></link> <link as="style" href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap" rel="preload"></link> <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap" media="print" onload="this.media='all'" rel="stylesheet"></link> <noscript><link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap" rel="stylesheet"></link></noscript>  <link as="font" crossorigin="anonymous" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2" rel="preload" type="font/woff2"></link> <link as="font" crossorigin="anonymous" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2" rel="preload" type="font/woff2"></link> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" media="print" onload="this.media='all'" rel="stylesheet"></link> <noscript><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"></link></noscript> <meta content="CQuMWoYI-YdIqi_Kngj9oVrS7Q1tW8BZz6BTMPLD8IU" name="google-site-verification"></meta> <link as="style" href="https://hawadet.com/build/assets/app-BX5yAmNf.css" rel="preload"></link><link href="https://hawadet.com/build/assets/app-B0p3aHyn.js" rel="modulepreload"></link><link href="https://hawadet.com/build/assets/app-BX5yAmNf.css" rel="stylesheet"></link> <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"></link> </head><body class="english-mode "> <div class="hw-cursor"></div><div class="hw-cursor-follower"></div><svg aria-hidden="true" focusable="false" style="width:0; height:0; position:absolute;"> <defs> <filter id="underwater-ripple"> <feturbulence basefrequency="0.005 0.005" numoctaves="2" result="noise" type="fractalNoise"></feturbulence> <fedisplacementmap in="SourceGraphic" in2="noise" scale="20" xchannelselector="R" ychannelselector="G"></fedisplacementmap> </filter> </defs></svg><div class="ocean-abyss-container"> <div class="ocean-abyss sketch-layer"><div class="warm-light orb-1"></div><div class="warm-light orb-2"></div><div class="warm-light orb-3"></div> <div class="swimming-pod family-1"> <svg class="creature big-parent" style="filter: drop-shadow(0 0 15px rgba(0, 150, 255, 0.6));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 150, 255, 0.3)"></path> </svg> <svg class="creature medium-parent" style="filter: drop-shadow(0 0 10px rgba(0, 255, 180, 0.5));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 255, 180, 0.25)"></path> </svg> <svg class="creature baby" style="filter: drop-shadow(0 0 8px rgba(0, 255, 255, 0.7));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 255, 255, 0.35)"></path> </svg> </div> <div class="swimming-pod family-2"> <svg class="creature big-parent" style="filter: drop-shadow(0 0 15px rgba(255, 180, 0, 0.5));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(255, 180, 0, 0.25)"></path> </svg> <svg class="creature baby" style="filter: drop-shadow(0 0 10px rgba(255, 100, 150, 0.6));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(255, 100, 150, 0.3)"></path> </svg> </div> <div class="swimming-pod family-3"> <svg class="creature big-orca" style="filter: drop-shadow(0 0 15px rgba(200, 230, 255, 0.5));" viewbox="0 0 220 100"> <path d="M 10 50 C 10 35, 40 25, 75 35 C 85 15, 95 0, 100 5 C 100 20, 95 30, 105 38 C 140 45, 170 48, 190 48 C 200 45, 205 35, 210 30 C 205 50, 205 50, 210 70 C 205 65, 200 55, 190 52 C 150 55, 110 60, 90 60 C 85 80, 75 95, 70 90 C 75 75, 80 65, 70 58 C 40 55, 10 65, 10 50 Z" fill="rgba(200, 230, 255, 0.25)"></path> </svg> <svg class="creature baby-orca" style="filter: drop-shadow(0 0 10px rgba(180, 100, 255, 0.6));" viewbox="0 0 220 100"> <path d="M 10 50 C 10 35, 40 25, 75 35 C 85 15, 95 0, 100 5 C 100 20, 95 30, 105 38 C 140 45, 170 48, 190 48 C 200 45, 205 35, 210 30 C 205 50, 205 50, 210 70 C 205 65, 200 55, 190 52 C 150 55, 110 60, 90 60 C 85 80, 75 95, 70 90 C 75 75, 80 65, 70 58 C 40 55, 10 65, 10 50 Z" fill="rgba(180, 100, 255, 0.3)"></path> </svg> </div> </div> <div class="ocean-abyss color-layer"><div class="warm-light orb-1"></div><div class="warm-light orb-2"></div><div class="warm-light orb-3"></div> <div class="swimming-pod family-1"> <svg class="creature big-parent" style="filter: drop-shadow(0 0 15px rgba(0, 150, 255, 0.6));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 150, 255, 0.3)"></path> </svg> <svg class="creature medium-parent" style="filter: drop-shadow(0 0 10px rgba(0, 255, 180, 0.5));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 255, 180, 0.25)"></path> </svg> <svg class="creature baby" style="filter: drop-shadow(0 0 8px rgba(0, 255, 255, 0.7));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(0, 255, 255, 0.35)"></path> </svg> </div> <div class="swimming-pod family-2"> <svg class="creature big-parent" style="filter: drop-shadow(0 0 15px rgba(255, 180, 0, 0.5));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(255, 180, 0, 0.25)"></path> </svg> <svg class="creature baby" style="filter: drop-shadow(0 0 10px rgba(255, 100, 150, 0.6));" viewbox="0 0 512 512"> <path d="M256,0 C270,50 350,150 500,200 C450,250 350,280 270,300 C260,400 258,500 256,512 C254,500 252,400 242,300 C162,280 62,250 12,200 C162,150 242,50 256,0 Z" fill="rgba(255, 100, 150, 0.3)"></path> </svg> </div> <div class="swimming-pod family-3"> <svg class="creature big-orca" style="filter: drop-shadow(0 0 15px rgba(200, 230, 255, 0.5));" viewbox="0 0 220 100"> <path d="M 10 50 C 10 35, 40 25, 75 35 C 85 15, 95 0, 100 5 C 100 20, 95 30, 105 38 C 140 45, 170 48, 190 48 C 200 45, 205 35, 210 30 C 205 50, 205 50, 210 70 C 205 65, 200 55, 190 52 C 150 55, 110 60, 90 60 C 85 80, 75 95, 70 90 C 75 75, 80 65, 70 58 C 40 55, 10 65, 10 50 Z" fill="rgba(200, 230, 255, 0.25)"></path> </svg> <svg class="creature baby-orca" style="filter: drop-shadow(0 0 10px rgba(180, 100, 255, 0.6));" viewbox="0 0 220 100"> <path d="M 10 50 C 10 35, 40 25, 75 35 C 85 15, 95 0, 100 5 C 100 20, 95 30, 105 38 C 140 45, 170 48, 190 48 C 200 45, 205 35, 210 30 C 205 50, 205 50, 210 70 C 205 65, 200 55, 190 52 C 150 55, 110 60, 90 60 C 85 80, 75 95, 70 90 C 75 75, 80 65, 70 58 C 40 55, 10 65, 10 50 Z" fill="rgba(180, 100, 255, 0.3)"></path> </svg> </div> </div></div><div class="article-hero"><div class="article-hero-bg" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;"> ![Threat Simulation: Using Animation in Cybersecurity B2B Sales | Hawadet Studio - Professional Animation Production](https://media.hawadet.com/76/conversions/temp_1787094108_sq3-sh01-2-webp.webp "Threat Simulation: Using Animation in Cybersecurity B2B Sales")<div class="article-hero-overlay" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(5, 5, 5, 0.75);"></div><div style="position: absolute; bottom: 12px; right: 16px; z-index: 3; color: rgba(255,255,255,0.5); font-size: 0.75rem; font-weight: 600; letter-spacing: 1px;"> © 2026 Hawadet Studio </div> </div><div class="container" style="padding: 0 20px; position: relative; z-index: 2;"> <span class="article-meta">B2B &amp; EdTech</span>Threat Simulation: Using Animation in Cybersecurity B2B Sales
=============================================================

<div class="article-date">  May 09, 2025 <span style="margin: 0 8px; color: rgba(255,255,255,0.3);">|</span> <span style="color: rgba(255,255,255,0.4);">Hawadet Studio</span> </div> </div></div><div class="article-content-wrapper"><div class="blog-content">How to Sell Cybersecurity Solutions to Enterprises? Use Gamified Simulations!
-----------------------------------------------------------------------------

If you sell cybersecurity systems or firewall services to massive corporations, you know the biggest challenge is that "threats are invisible." How do you convince a CEO to pay hundreds of thousands of dollars for protection against something they can't see? Speaking in complex codes and protocols will quickly make them lose interest. This is where animation studio techniques, relying on **Gamified Simulations**, come into play.

Inspired by the simplicity of world-building games, production studios transform the company's network infrastructure into a "virtual fortress." Instead of talking about "DDoS attacks," the client sees an army of viruses attacking their digital castle, and how your product deploys shields to repel them. This approach visually embodies the danger and drives an immediate purchasing decision.

<div style="background: #f8f9fa; border-left: 4px solid #ef4444; padding: 25px; border-radius: 12px; margin: 35px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.05); color: #1a202c;">### 📊 Impact of Visual Simulation in Cybersecurity Sales

- <span style="font-size: 1.4rem; line-height: 1.2;">🛡️</span> <span style="font-size: 1.1rem; line-height: 1.6; color: #4a5568;">**Risk Perception:** Videos depicting cyberattacks in a simulated style raise leadership's risk perception by **65%** compared to text reports.</span>
- <span style="font-size: 1.4rem; line-height: 1.2;">🎥</span> <span style="font-size: 1.1rem; line-height: 1.6; color: #4a5568;">**Employee Engagement:** Using gamified animation to train corporate employees on phishing reduces human-error breaches by 80%.</span>
 
</div>Visualizing Threats: Cyber Marketing Strategies
-----------------------------------------------

### 1. The "Show, Don't Tell" Rule

In B2B presentations, don't just say "our software blocks malware." Instead, show a 3D motion graphics video of an employee clicking a bad link, causing little red monsters (malware) to sprint towards the corporate servers (represented by data blocks), only for your software's shield to suddenly crush them. This dramatic embodiment is etched in the client's memory.

### 2. Gamified Employee Training

The weakest link in cybersecurity is the human employee. Smart InfoSec companies sell "interactive training packages" alongside their software. These packages are produced as interactive animated videos that place the employee in game-like scenarios, teaching them how to detect spoofed emails in a fun and highly effective way.

### 3. Simplifying Complex System Architectures

When integrating complex cloud systems, investors start feeling lost. Using modular visuals simplifies Network Topology and shows how your company's solutions integrate seamlessly with existing systems without causing any operational disruption.

<div style="background: #eef2ff; border: 1px solid #c7d2fe; padding: 20px; margin: 30px 0; border-radius: 8px;"> **🔗 Read Also:** [Opportunities for Tech Companies in Utilizing Advanced Modeling Studios (VFX)](/en/blogs/animation-studios-wefx-techniques)</div>Conclusion: Turning the "Invisible" into Guaranteed Sales
---------------------------------------------------------

If your company sells technical solutions that cannot be seen with the naked eye, like cybersecurity, your only effective marketing tool is utilizing an animation studio capable of embodying these threats and solutions in a dramatic cinematic style. Whoever makes the client see the danger with their own eyes is the one who will sell them the solution.

<div style="text-align:center;margin:40px 0;">Are you struggling to explain the complexities of your cybersecurity system to enterprise clients?

 [Request a Technical Visual Simulation Video from Hawadet Studio](https://hawadet.com/en/contact-us)</div><div style="margin-top: 4rem; padding: 2rem; background: rgba(255,255,255,0.02); border-radius: 16px; border: 1px solid rgba(255,255,255,0.05); display: flex; align-items: center; gap: 1.5rem;"><div style="width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--accent)); display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #fff; font-weight: bold; flex-shrink: 0;"> H </div><div>#### Hawadet Studio Team

 2D Animation Production Studio

 The Hawadet team is a 2D animation production studio specialising in children's content, educational animation, and original IP development for broadcasters and streaming platforms. These articles reflect the team's hands-on experience across the production pipeline, from concept to delivery.

 </div> </div><div style="margin-top: 2rem; padding: 1.5rem; background: rgba(104, 95, 186, 0.08); border-radius: 12px; border: 1px solid rgba(104, 95, 186, 0.2); text-align: center;"> © 2026 Hawadet Studio. All rights reserved. Images and content are exclusive property of Hawadet Studio.

 </div><div class="article-share-bar" style="
    margin: 32px 0;
    padding: 20px 24px;
    background: rgba(104, 95, 186, 0.05);
    border-radius: 16px;
    border: 1px solid rgba(104, 95, 186, 0.15);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    direction: ltr;
"> <span style="font-weight: 700; color: #ffffff; font-size: 0.95rem; white-space: nowrap;">  Share Article </span><div style="width: 1px; height: 30px; background: rgba(255,255,255,0.1); flex-shrink: 0;"></div> [  WhatsApp ](https://wa.me/?text=Threat+Simulation%3A+Using+Animation+in+Cybersecurity+B2B+Sales%20https%3A%2F%2Fhawadet.com%2Fs%2FdmukV0K) [  Facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fhawadet.com%2Fs%2FdmukV0K) [  X ](https://twitter.com/intent/tweet?text=Threat+Simulation%3A+Using+Animation+in+Cybersecurity+B2B+Sales&url=https%3A%2F%2Fhawadet.com%2Fs%2FdmukV0K) [  LinkedIn ](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fhawadet.com%2Fs%2FdmukV0K&title=Threat+Simulation%3A+Using+Animation+in+Cybersecurity+B2B+Sales) [  Telegram ](https://t.me/share/url?url=https%3A%2F%2Fhawadet.com%2Fs%2FdmukV0K&text=Threat+Simulation%3A+Using+Animation+in+Cybersecurity+B2B+Sales) <button aria-label="Copy short link" class="share-btn share-btn-copy" id="copy-link-btn" onclick="copyShortLink('https://hawadet.com/s/dmukV0K')" onmouseout="this.style.background='rgba(255, 255, 255, 0.05)';this.style.borderColor='rgba(255, 255, 255, 0.2)';this.style.color='rgba(255, 255, 255, 0.8)'" onmouseover="this.style.background='var(--accent)';this.style.borderColor='var(--accent)';this.style.color='var(--dark-bg)'" style="
            display: inline-flex; align-items: center; gap: 7px;
            padding: 9px 18px; border-radius: 50px;
            background: rgba(255, 255, 255, 0.05); color: rgba(255, 255, 255, 0.8);
            border: 1.5px solid rgba(255, 255, 255, 0.2);
            font-weight: 600; font-size: 0.88rem;
            cursor: pointer;
            transition: all 0.2s ease; white-space: nowrap;
        " type="button">  <span id="copy-btn-text">Copy Link</span> </button> <span style="
        margin-left: auto;
        font-size: 0.8rem;
        color: rgba(255,255,255,0.6);
        font-family: monospace;
        background: rgba(0,0,0,0.3);
        padding: 4px 10px;
        border-radius: 6px;
        border: 1px solid rgba(255,255,255,0.1);
    ">https://hawadet.com/s/dmukV0K</span></div> </div><div class="related-section">Related Articles
----------------

<div class="blogs-grid"> [<div class="blog-image-wrapper"> ![Transforming Study PDF Files into Educational Videos in 5 Minutes](https://media.hawadet.com/9/conversions/temp_1786717730_sq3-sh01-2-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">Content Creation</div>### Transforming Study PDF Files into Educational Videos in 5 Minutes

A guide for teachers and schools on how to use AI to transform dry text notes and PDF files into int...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">Sep 04, 2026</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/transforming-pdf-into-video) [<div class="blog-image-wrapper"> ![Product-Led Growth (PLG): How In-App Motion Graphics Eliminates the Need for Technical Support Teams?](https://media.hawadet.com/141/conversions/temp_1787871987_newones_0002_LayerComp3-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">B2B &amp; EdTech</div>### Product-Led Growth (PLG): How In-App Motion Graphics Eliminates the Need for Technical Support Teams?

Product-Led Growth (PLG): How in-app motion graphics onboarding eliminates the constant need for tec...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">Dec 19, 2025</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/product-led-growth-plg-app-motion) [<div class="blog-image-wrapper"> ![Effective Strategies for Enhancing Artistic Production in Businesses](https://media.hawadet.com/100/conversions/temp_1787267354_newones_0032_LayerComp34-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">B2B &amp; EdTech</div>### Effective Strategies for Enhancing Artistic Production in Businesses

Effective strategies for enhancing corporate artistic production. How to smartly and professionally...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">Jan 12, 2026</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/effective-strategies-enhancing-artistic-production) </div> </div><div data-aos="zoom-in" style="margin-top: 5rem; text-align: center;"> [  <span>Back to Articles</span> ](https://hawadet.com/en/blogs) </div></div><div class="whale-mascot" id="whale-mascot" title="Hawadet Whale Companion"><div class="whale-body"> <svg class="whale-svg" preserveaspectratio="xMidYMid meet" viewbox="0 0 512 512">  <path d="M 149.041 216.521 c-11.094.18-46.64 9.46-55.977 17.11c-2.352 1.925-6.47 11.213-8.688 11.042c-3.068-.237-5.27-10.055-5.27-10.055c-22.123-12.38-60.006-10.56-59.652-8.71c.858 4.478 4.636 49.63 63.166 65.92c9.884 67.545 64.372 95.08 134.497 98.36c-19.497 13.367-75.48 18.697-67.775 30.55c12.604 10.522 83.862 4.593 124.504-8.34c14.09-4.484 28.865-8.31 44.047-11.637c43.23 10.56 111.83 23.66 151.36 10.984c13.348-4.28 7.064-20.362 1.054-18.262c-14.39 5.03-63.573 1.735-91.79-3.49c34.826-5.05 69.914-8.652 102.325-12.45c9.162-20.386 12.522-54.712 11.545-79.774c-1.878-48.145-32-52.028-101.092-44.247c-104.013 11.715-145.852 43.226-218.777 61.837c-11.118 2.838-47.684-4.157-63.373-29.783c36.728-17.253 50.916-61.758 43.005-68.545c-.44-.378-1.524-.536-3.11-.51zm220.81 141.173c-1.616 4.194-4.184 8.546-11.72 9.526c-7.538.978-11.46-3.26-13.696-8.824c8.47 1.463 16.944 1.146 25.416-.703z" fill="var(--primary)"></path> </svg> </div>  <canvas id="whale-spray-canvas" style="position:absolute;bottom:0;left:0;width:100%;height:300px;pointer-events:none;z-index:3;"></canvas></div> 