---
title: "Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio"
description: "How major corporations use Projection Mapping and interactive 3D animation to attract investors at conferences and trade shows."
url: "https://hawadet.com/en/blogs/breaking-boundaries-using-spatial-animation-b2b"
date: "2026-09-09T23:24:08+03:00"
---

# Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | 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>Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio</title><meta content="Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio" name="title"></meta><meta content="How major corporations use Projection Mapping and interactive 3D animation to attract investors at conferences and trade shows." 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/breaking-boundaries-using-spatial-animation-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/breaking-boundaries-using-spatial-animation-b2b" hreflang="x-default" rel="alternate"></link> <link href="https://hawadet.com/blogs/breaking-boundaries-using-spatial-animation-b2b" hreflang="ar" rel="alternate"></link> <link href="https://hawadet.com/en/blogs/breaking-boundaries-using-spatial-animation-b2b" hreflang="en" rel="alternate"></link> <meta content="article" property="og:type"></meta><meta content="https://hawadet.com/en/blogs/breaking-boundaries-using-spatial-animation-b2b" property="og:url"></meta><meta content="Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio" property="og:title"></meta><meta content="How major corporations use Projection Mapping and interactive 3D animation to attract investors at conferences and trade shows." property="og:description"></meta><meta content="https://hawadet.com/website/share-cover.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/breaking-boundaries-using-spatial-animation-b2b" name="twitter:url"></meta><meta content="Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio" name="twitter:title"></meta><meta content="How major corporations use Projection Mapping and interactive 3D animation to attract investors at conferences and trade shows." name="twitter:description"></meta><meta content="https://hawadet.com/website/share-cover.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;"> ![Breaking Boundaries: Using Spatial Animation in B2B Trade Shows | Hawadet Studio](https://hawadet.com/assets/images/blog-placeholder.jpg "Breaking Boundaries: Using Spatial Animation in B2B Trade Shows")<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>Breaking Boundaries: Using Spatial Animation in B2B Trade Shows
===============================================================

<div class="article-date">  Aug 07, 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">Breaking Boundaries at B2B Expos: How to Steal the Spotlight with Spatial Animation?
------------------------------------------------------------------------------------

Major companies participate annually in massive international exhibitions like LEAP, GITEX, and Cityscape, paying millions of dollars to book booths. But how do you grab the attention of investors and clients amidst thousands of competing booths offering the exact same boring brochures and screens? The solution lies in "breaking physical boundaries" using **Interactive Visual Displays and Spatial Animation (Holographic &amp; Projection Mapping)**.

Animation studios no longer just make videos for square screens; they now craft Immersive Experiences projected across the entire booth's walls or as 3D projection mapping on physical models, making your company's booth the most critical stop in any commercial conference.

<div style="background: #f8f9fa; border-left: 4px solid #8b5cf6; padding: 25px; border-radius: 12px; margin: 35px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.05); color: #1a202c;">### 📊 The ROI of Visuals at Trade Shows

- <span style="font-size: 1.4rem; line-height: 1.2;">🎯</span> <span style="font-size: 1.1rem; line-height: 1.6; color: #4a5568;">**Footfall Generation:** Booths utilizing Projection Mapping and surround-screen displays attract **300%** more visitors compared to traditional booths.</span>
- <span style="font-size: 1.4rem; line-height: 1.2;">🤝</span> <span style="font-size: 1.1rem; line-height: 1.6; color: #4a5568;">**Sales Ice-breaking:** Visual dazzle breaks the ice, making it exceptionally easy for sales reps to initiate conversations with key decision-makers walking by.</span>
 
</div>Boundary-Breaking Visual Technologies for Conferences
-----------------------------------------------------

### 1. 3D Projection Mapping

Instead of displaying a static car or engineering machine in your booth, an animation studio designs a kinetic animation that is projected directly onto the physical model, making it look as though its colors are changing or electrical energy is flowing through its veins. This creates an optical illusion that stops visitors in their tracks to record videos and share them.

### 2. Anamorphic 3D Illusions

Large corner screens allow anamorphic animations to appear as if they are popping out of the screen into reality. When an investor sees a massive cargo ship belonging to your logistics company seemingly "floating" out of the expo screen, you cement your company's name in their mind forever as a symbol of tech leadership.

### 3. Synced Keynote Presentations

If your CEO is giving a keynote speech on the conference stage, don't let them stand in front of pale PowerPoint slides. Production studios design visual presentations synchronized with the speaker's movements. When they move their hand, company data and 3D shapes dynamically construct behind them, granting them massive charisma and multiplied persuasive power.

<div style="background: #eef2ff; border: 1px solid #c7d2fe; padding: 20px; margin: 30px 0; border-radius: 8px;"> **🔗 Read Also:** [How to Choose the Best Artistic Production Partner for Your Campaigns?](/en/blogs/best-artistic-production-company)</div>Conclusion: Make Your Booth the Highlight of the Conference
-----------------------------------------------------------

In the B2B world, a first impression can equate to multi-million dollar deals. Breaking traditional marketing boundaries and utilizing Spatial Animation doesn't just position your company as an exhibitor; it positions it as the star of the event.

<div style="text-align:center;margin:40px 0;">Are you preparing for a massive trade show and need an interactive 3D visual display that steals the spotlight?

 [Plan Your Visual Experience with Hawadet Studio Today](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=Breaking+Boundaries%3A+Using+Spatial+Animation+in+B2B+Trade+Shows%20https%3A%2F%2Fhawadet.com%2Fs%2FNW6fBKt) [  Facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fhawadet.com%2Fs%2FNW6fBKt) [  X ](https://twitter.com/intent/tweet?text=Breaking+Boundaries%3A+Using+Spatial+Animation+in+B2B+Trade+Shows&url=https%3A%2F%2Fhawadet.com%2Fs%2FNW6fBKt) [  LinkedIn ](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fhawadet.com%2Fs%2FNW6fBKt&title=Breaking+Boundaries%3A+Using+Spatial+Animation+in+B2B+Trade+Shows) [  Telegram ](https://t.me/share/url?url=https%3A%2F%2Fhawadet.com%2Fs%2FNW6fBKt&text=Breaking+Boundaries%3A+Using+Spatial+Animation+in+B2B+Trade+Shows) <button aria-label="Copy short link" class="share-btn share-btn-copy" id="copy-link-btn" onclick="copyShortLink('https://hawadet.com/s/NW6fBKt')" 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/NW6fBKt</span></div> </div><div class="related-section">Related Articles
----------------

<div class="blogs-grid"> [<div class="blog-image-wrapper"> ![Outsourcing vs In-house: Why Enterprises Hire Specialized Animation Studios Over Internal Teams?](https://media.hawadet.com/125/conversions/temp_1787698871_newones_0044_LayerComp46-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">B2B &amp; EdTech</div>### Outsourcing vs In-house: Why Enterprises Hire Specialized Animation Studios Over Internal Teams?

Outsourcing Production: Why major enterprises prefer hiring a specialized motion graphics studio ove...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">Jan 21, 2026</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/leveraging-hawadet-studio-your-partner-in-animation-production) [<div class="blog-image-wrapper"> ![The Financial ROI of Using Motion Graphics Videos in Employee Training Instead of Traditional Workshops](https://media.hawadet.com/110/conversions/temp_1787501077_newones_0014_LayerComp16-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">B2B &amp; EdTech</div>### The Financial ROI of Using Motion Graphics Videos in Employee Training Instead of Traditional Workshops

The financial ROI of using motion graphics videos in employee training and onboarding over costly tr...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">Jan 31, 2026</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/how-animation-industry-enhances-roi) [<div class="blog-image-wrapper"> ![Top Animation Companies in Saudi Arabia and Their Impact on Sales](https://media.hawadet.com/25/conversions/temp_1786805940_IMG_0470-webp.webp) </div><div class="blog-content-wrapper"><div class="blog-meta-card">B2B &amp; EdTech</div>### Top Animation Companies in Saudi Arabia and Their Impact on Sales

How do animation studios impact corporate sales in Saudi Arabia? Discover the true cost and criteria...

<div class="blog-footer-card"> <span style="color: rgba(255,255,255,0.4);">May 25, 2024</span> <span class="read-more"> <span>Read More</span>  </span> </div> </div> ](https://hawadet.com/en/blogs/top-animation-companies-saudi-arabia-impact) </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> 