<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Heartucate</title>
	<atom:link href="https://heartucate.eu/en/feed/" rel="self" type="application/rss+xml" />
	<link>https://heartucate.eu/en/</link>
	<description>Wir transformieren Bildung</description>
	<lastBuildDate>Tue, 28 Apr 2026 18:56:28 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://heartucate.eu/wp-content/uploads/2020/08/cropped-Heartucate_Signet_WEB-300-32x32.png</url>
	<title>Heartucate</title>
	<link>https://heartucate.eu/en/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Re-Connecting with Nature AR</title>
		<link>https://heartucate.eu/en/cooperations/re-connecting-with-nature-ar-2/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 16:13:55 +0000</pubDate>
				<category><![CDATA[Cooperations]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58544</guid>

					<description><![CDATA[<p>Experience the language of plants!  “Re-Connecting with Nature” brings plants into the classroom in a completely new way. Using a sensor device, biological signals from plants are captured and translated into music and visual representations. This allows students to experience plants not just as a subject, but as living, responsive systems that  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/re-connecting-with-nature-ar-2/">Re-Connecting with Nature AR</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.1.1/model-viewer.min.js"></script>
<style>
  #hero-track-hero-22369 { 
      position: relative; 
      width: 100%;
      height: 400vh; 
      z-index: 10; 
  }
  #hero-sticky-viewport-hero-22369 { position: fixed; display: none; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; background-color: #1a1a1a; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s ease-in; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; perspective: 1200px; perspective-origin: center center; z-index: 1000; }
  #hero-sticky-viewport-hero-22369.loaded { opacity: 1; display: flex; }
  #hero-sticky-viewport-hero-22369.active { display: flex; }
  #hero-main-wrapper-hero-22369 { position: relative; z-index: 100; width: 90vw; max-width: 1000px; transform-style: preserve-3d; will-change: transform; margin: auto; }
  .hero-aspect-spacer-hero-22369 { width: 100%; padding-top: 68.72852233676976%; } 
  .hero-mask-hero-22369 { position: absolute; top: 0.6%; left: 1.7%; right: 8.7%; bottom: 0.4%; border-radius: 13px; overflow: hidden; transform: translate3d(0,0,0); background: transparent !important; }
  .hero-gradient-hero-22369 { position: absolute; bottom: 0; left: 0; right: 0; height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); z-index: 5; pointer-events: none; }
  .hero-layer-hero-22369 { position: absolute; inset: 0; transform-style: preserve-3d; backface-visibility: hidden; will-change: transform; }
  
  .hero-fixed-blur-layer-hero-22369 {
    position: absolute; 
    inset: 0; 
    border-radius: 20px;
    transform: translate3d(0,0,0) scale(1);
    opacity: 1;
    background-image: url('https://heartucate.eu/wp-content/uploads/2025/12/mission-atto-bg.png'); background-size: cover; background-position: center; filter: blur(20px);
    
    pointer-events: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    z-index: 0; 
  }

  #hero-back-hero-22369 { 
      z-index: 10; 
      transform-style: preserve-3d; 
      transform: translate3d(0%, 2%, 0) scale(0.65) rotateZ(0deg) rotateY(11deg) rotateX(0deg); 
  }
  
  .hero-frame-img-hero-22369 { transform: translateZ(0px); z-index: 20; }
  .hero-model-3d-hero-22369 { 
      position: absolute; 
      top: 50%; 
      left: 50%; 
      width: 100%; 
      height: 100%; 
      display: block; 
      pointer-events: auto; 
      z-index: 20; 
      transform-origin: center center;
      transform: translate3d(-50%, -50%, 0px) translate3d(-3%, 0%, 0) scale(1.85) rotateZ(90deg) rotateY(0deg) rotateX(0deg); 
  }
  
  #hero-room-group-hero-22369 { z-index: 20; pointer-events: none; transform: scale(0.65) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); }
  .hero-room-img-layer-hero-22369 { position: absolute; width: 80%; height: auto; transform-origin: center center; top: -28%; left: 47%; transform: translate3d(-50%, 0, 0) scale(0.55); will-change: opacity, transform; backface-visibility: hidden; }
  #hero-front-hero-22369 { z-index: 30; pointer-events: none; transform: translate3d(0%, 2%, 0) scale(0.65) rotateZ(0deg) rotateY(11deg) rotateX(0deg); }
  
  .hero-bubble-hero-22369 {
    position: absolute; display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: linear-gradient(135deg, #159949D9, #01653cD9, #159949D9);
    border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    border-radius: 99px; color: white; font-weight: 700; font-size: 13px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    z-index: 1000; pointer-events: none; 
    white-space: nowrap;
    opacity: 0;
    transform: translate3d(-50%, -100%, 150px) scale(calc(var(--b-scale, 1) * 0.7));
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1), transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform, opacity;
    transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    isolation: isolate;
  }
  
  .hero-bubble-hero-22369.visible { 
    opacity: 1; 
    transform: translate3d(-50%, -50%, 150px) scale(var(--b-scale, 1)); 
  }
  
  .hero-bubble-hero-22369:nth-of-type(1) { transition-delay: 0.1s; }
  .hero-bubble-hero-22369:nth-of-type(2) { transition-delay: 0.2s; }
  .hero-bubble-hero-22369:nth-of-type(3) { transition-delay: 0.3s; }
  .hero-bubble-hero-22369:nth-of-type(4) { transition-delay: 0.4s; }
  .hero-bubble-hero-22369:nth-of-type(5) { transition-delay: 0.5s; }
  .hero-bubble-hero-22369:nth-of-type(6) { transition-delay: 0.6s; }

  .hero-bubble-icon-hero-22369 { 
      display: flex; align-items: center; justify-content: center; 
      width: 24px; height: 24px; color: white; 
      transform: translate3d(0, 0, 2px); 
  }
  .hero-bubble-icon-hero-22369 svg { 
      width: 24px; height: 24px; display: block; 
      stroke: white !important; fill: none; 
  }

  @keyframes spinIn3D-hero-22369 { 
      0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 
      100% { transform: translate3d(0%, 2%, 0) scale(0.65) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } 
  }
  @keyframes spinInFront-hero-22369 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,210px); opacity: 0; } 100% { transform: translate3d(0%, 2%, 160px) scale(0.65) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } }
  @keyframes spinInRoom-hero-22369 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,200px); opacity: 0; } 100% { transform: scale(0.65) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); opacity: 1; } }

  @media (max-width: 768px) {
      .hero-bubble-hero-22369 { display: none !important; }
      #hero-track-hero-22369 { height: 450vh; }
      #hero-sticky-viewport-hero-22369 { perspective: 1200px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
      #hero-main-wrapper-hero-22369 { width: 95vw; max-width: none; aspect-ratio: 0.734; }
      .hero-mask-hero-22369 { top: 4.5%; left: 3.2%; right: 2.9%; bottom: 4.6%; border-radius: 2px; }
      .hero-gradient-hero-22369 { height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); }
      
      .hero-fixed-blur-layer-hero-22369 { 
          
         opacity: 1;
         transform: translateZ(10px);
         border-radius: 20px;
         
      }
      .hero-model-3d-hero-22369 { transform: translate3d(-50%, -50%, 2px) translate3d(0%, 0%, 0) scale(1.35) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }

      #hero-back-hero-22369 { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      #hero-room-group-hero-22369 { z-index: 40 !important; transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); }
      .hero-room-img-layer-hero-22369 { top: 14%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.35); }
      #hero-front-hero-22369 { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      @keyframes spinIn3D-hero-22369 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInFront-hero-22369 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,110px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInRoom-hero-22369 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,80px); opacity: 0; } 100% { transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); opacity: 1; } }
  }
  .animate-entry-3d-hero-22369 { animation: spinIn3D-hero-22369 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-room-hero-22369 { animation: spinInRoom-hero-22369 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  #hero-front-hero-22369.animate-entry-3d-hero-22369 { animation: spinInFront-hero-22369 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

  /* --- CUSTOM 3D LOADER --- */
  .hero-loader-wrapper-hero-22369 {
      position: absolute;
      inset: 0;
      z-index: 9999;
      background-color: #1a1a1a;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
      will-change: opacity, visibility;
  }
  .hero-loader-wrapper-hero-22369.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .hero-loader-bg-hero-22369 {
      position: absolute;
      inset: 0;
      z-index: 1;
  }
  .hero-loader-gradient-hero-22369 {
      position: absolute;
      inset: 0;
      z-index: 2;
      background-size: 400% 400%;
      background-image: linear-gradient(-45deg, #982877, #D9353F, #FF6313, #982877);
      animation: gradientPulse-hero-22369 4s ease infinite;
      mix-blend-mode: multiply;
      opacity: 0.9;
  }
  @keyframes gradientPulse-hero-22369 {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
  }
  .hero-spinner-container-hero-22369 {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
  }
  .hero-spinner-hero-22369 {
      width: 50px;
      height: 50px;
      border: 4px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: #ffffff;
      animation: spinLoader-hero-22369 1s ease-in-out infinite;
  }
  @keyframes spinLoader-hero-22369 {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  .hero-loader-text-hero-22369 {
      color: #ffffff;
      font-family: var(--awb-typography4-font-family);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 2px;
      text-transform: uppercase;
      animation: pulseText-hero-22369 2s ease-in-out infinite;
  }
  @keyframes pulseText-hero-22369 {
      0%, 100% { opacity: 0.5; }
      50% { opacity: 1; }
  }
  @media(max-width: 768px){
    .hero-spinner-hero-22369 { width: 40px; height: 40px; border-width: 3px; }
    .hero-loader-text-hero-22369 { font-size: 12px; letter-spacing: 1.5px; }
  }
                </style>
<div id="hero-track-hero-22369">
  <div id="hero-sticky-viewport-hero-22369">
    <!-- CUSTOM LOADER -->
    <div id="hero-loader-hero-22369" class="hero-loader-wrapper-hero-22369">
       <div class="hero-loader-bg-hero-22369"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/mission-atto-bg.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
       <div class="hero-loader-gradient-hero-22369"></div>
       <div class="hero-spinner-container-hero-22369">
          <div class="hero-spinner-hero-22369"></div>
          <div class="hero-loader-text-hero-22369">Lade 3D Erlebnis...</div>
       </div>
    </div>
    <!-- END LOADER -->
    <div style="position: absolute; inset: 0; z-index: 1;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/mission-atto-bg.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div style="position: absolute; inset: 0; z-index: 2; mix-blend-mode: screen; opacity: 0.8;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png"><img decoding="async" src="" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div id="hero-main-wrapper-hero-22369">
      <div class="hero-aspect-spacer-hero-22369"></div>
      <div id="hero-back-hero-22369" class="hero-layer-hero-22369 animate-entry-3d-hero-22369">
        <model-viewer id="hero-model-hero-22369" src="https://yanncloud.de/ipad.glb" style="pointer-events: none;" disable-zoom disable-pan disable-tap interaction-prompt="none" min-camera-orbit="-45deg 90deg auto" max-camera-orbit="45deg 90deg auto" class="hero-model-3d-hero-22369"></model-viewer>
      </div>
      <div id="hero-room-group-hero-22369" class="hero-layer-hero-22369 animate-room-hero-22369"><img id="hero-room-slot0-hero-22369" class="hero-room-img-layer-hero-22369" decoding="sync" src="https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/001.png" style="z-index: 1;" alt="" /><img id="hero-room-slot1-hero-22369" class="hero-room-img-layer-hero-22369" decoding="sync" src="https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/001.png" style="z-index: 1; opacity: 0;" alt="" /></div>
      <div id="hero-front-hero-22369" class="hero-layer-hero-22369 animate-entry-3d-hero-22369">
        <div class="hero-mask-hero-22369" style="pointer-events: none; z-index: 10; transform: translate3d(0,0,4px); background: transparent !important; overflow: hidden; border-radius: 13px;">
          <div class="hero-fixed-blur-layer-hero-22369" style="opacity: 1; transform: translate3d(0,0,0) scale(1); z-index: 1;"></div>
          <div id="hero-gradient-el-hero-22369" class="hero-gradient-hero-22369" style="z-index: 5; opacity: 1;"></div>
        </div>
        <div style="position: absolute; inset: 0; pointer-events: none; transform: translate3d(0,0,6px); transform-style: preserve-3d; z-index: 20;">
          <picture style="position: absolute; inset: 0; width: 100%; height: 100%;">
            <source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2026/04/Icon_1024x1024.png">
            <img decoding="async" id="hero-logo-img-hero-22369" src="https://heartucate.eu/wp-content/uploads/2026/04/Icon_1024x1024.png" style="position: absolute; width: 40%; height: auto; z-index: 10; transform-origin: center bottom; top: 91%; left: 47%; transform: translate3d(-50%, -100%, 0) scale(0.55); opacity: 1;" alt="" />
          </picture>
        </div>
      </div>
      <div id="hero-bubbles-layer-hero-22369" class="hero-layer-hero-22369" style="z-index: 100; pointer-events: none;"></div>
    </div>
  </div>
</div>
                
<script>
document.addEventListener("DOMContentLoaded", function() {
  const track = document.getElementById('hero-track-hero-22369'), viewport = document.getElementById('hero-sticky-viewport-hero-22369'), wrapper = document.getElementById('hero-main-wrapper-hero-22369');
  const back = document.getElementById('hero-back-hero-22369'), front = document.getElementById('hero-front-hero-22369'), roomGroup = document.getElementById('hero-room-group-hero-22369');
  const bubbleLayer = document.getElementById('hero-bubbles-layer-hero-22369');
  const slots = [document.getElementById('hero-room-slot0-hero-22369'), document.getElementById('hero-room-slot1-hero-22369')], logo = document.getElementById('hero-logo-img-hero-22369'), gradient = document.getElementById('hero-gradient-el-hero-22369');
  
  // --- LOADER LOGIC ---
  const modelViewer = document.getElementById('hero-model-hero-22369');
  const loader = document.getElementById('hero-loader-hero-22369');
  let loaderDismissed = false;

  function dismissLoader() {
      if(loaderDismissed || !loader) return;
      loaderDismissed = true;
      loader.classList.add('hidden');
  }

  if(modelViewer && loader) {
      modelViewer.addEventListener('load', dismissLoader);
      modelViewer.addEventListener('error', dismissLoader);
      // Fallback: Max 8 seconds loader
      setTimeout(dismissLoader, 8000);
  } else {
      dismissLoader();
  }
  // --- END LOADER LOGIC ---

  const PARALLAX_MAX = 10;
  if(PARALLAX_MAX > 0 && window.matchMedia("(hover: hover)").matches && wrapper) { 
    let mouseTicking = false;
    document.addEventListener('mousemove', (e) => { 
      if (!mouseTicking) {
        window.requestAnimationFrame(() => {
          const x = (e.clientX / window.innerWidth - 0.5) * 2; 
          const y = (e.clientY / window.innerHeight - 0.5) * 2; 
          wrapper.style.transform = `rotateY(${x * PARALLAX_MAX}deg) rotateX(${-y * PARALLAX_MAX}deg)`; 
          mouseTicking = false;
        });
        mouseTicking = true;
      }
    }); 
  }
  
  const SEQ_ENABLED = true;
  const SEQ_IMAGES = ["https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/001.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/002.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/003.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/004.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/005.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/006.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/007.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/008.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/009.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/010.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/011.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/012.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/013.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/014.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/015.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/016.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/017.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/018.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/019.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/020.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/021.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/022.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/023.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/024.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/025.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/026.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/027.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/028.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/029.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/030.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/031.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/032.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/033.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/034.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/035.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/036.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/037.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/038.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/039.png","https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/040.png"];
  const ASSETS = { D: { room: "https://heartucate.eu/content/projects/re-connecting-with-nature/hero-section/1024x1024/001.png" }, M: { room: "https://heartucate.eu/wp-content/uploads/2025/11/7-1.png" } };
  
  const BUBBLES = [{"x":24,"y":30,"text":"Plant signals - visible & audible","icon":"clock","id":1,"side":"left","scale":1,"visible":true},{"icon":"target","x":16,"y":50,"text":"For all age groups","id":2,"side":"left","scale":1,"visible":true},{"icon":"users","y":75,"x":22,"text":"Art experience","side":"left","id":3,"scale":1,"visible":true},{"icon":"users","text":"Experience nature in a new way","y":30,"x":73,"id":4,"side":"right","visible":true,"scale":1},{"y":51,"x":85,"text":"For tablets and smartphones","icon":"tablet","side":"right","id":5,"scale":1,"visible":true},{"side":"right","id":6,"visible":true,"scale":1,"icon":"vr","x":78,"y":75,"text":"Augmented reality tabletop application"}];
  const ICONS = {"clock":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline></svg>","users":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path></svg>","pdf":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>","tablet":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line></svg>","target":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle></svg>","vr":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line></svg>"};
  
  if(window.innerWidth > 768 && BUBBLES.length > 0) {
      BUBBLES.forEach(b => {
          if(!b.visible) return;
          const el = document.createElement('div');
          el.className = 'hero-bubble-hero-22369';
          el.style.left = b.x + '%'; el.style.top = b.y + '%';
          el.style.setProperty('--b-scale', b.scale || 1);
          el.innerHTML = `<div class="hero-bubble-icon-hero-22369">${ICONS[b.icon] || ''}</div><span>${b.text}</span>`;
          bubbleLayer.appendChild(el);
          void el.offsetHeight; // Force reflow for Safari icon injection
      });
  }

  if(SEQ_ENABLED && SEQ_IMAGES.length > 0) SEQ_IMAGES.forEach(src => { const img = new Image(); img.src = src; if('decode' in img) img.decode().catch(()=>{}); });
  if(viewport) viewport.classList.add('loaded');
  const unlockElements = [back, front, roomGroup];
  function unlockAnimation() { unlockElements.forEach(el => { if(el) { el.style.animation = 'none'; el.classList.remove('animate-entry-3d-hero-22369'); el.classList.remove('animate-room-hero-22369'); } }); update(0); }
  if(back) { back.addEventListener('animationend', unlockAnimation, { once: true }); setTimeout(unlockAnimation, 1600); } else { update(0); }
  const DesktopS = {"logoX":47,"tabRotX":0,"tabRotZ":0,"tabScale":0.65,"roomX":47,"logoY":91,"roomY":-28,"tabX":0,"roomRotY":0,"tabRotY":11,"logoScale":0.55,"logoOpacity":1,"roomRotZ":0,"tabY":2,"roomZ":80,"roomScale":0.55}, DesktopE = {"logoOpacity":0,"tabRotY":45,"logoScale":0.8,"tabX":3,"roomRotY":0,"roomRotZ":0,"tabY":5,"roomZ":233,"roomScale":1,"logoX":50,"tabScale":0.45,"tabRotX":40,"tabRotZ":-34,"logoY":150,"roomY":-3,"roomX":51}, DesktopSEQ = { logo: [0, 0.35], tab: [0.4, 0.6], room3d: [0.4, 1] };
  const MobileS = {"tabX":0,"roomRotY":null,"logoScale":0.95,"tabRotY":0,"logoOpacity":1,"roomRotZ":0,"tabY":0,"roomZ":800,"roomScale":0.35,"logoX":50,"tabRotX":0,"tabRotZ":0,"tabScale":0.9,"roomX":50,"roomY":14,"logoY":88}, MobileE = {"tabY":0,"roomZ":80,"roomScale":1.3,"logoOpacity":0,"logoScale":0.8,"roomRotY":0,"tabRotY":-10,"tabX":3,"roomRotZ":0,"tabScale":0.7,"tabRotX":53,"tabRotZ":4,"roomY":14,"logoY":150,"roomX":50,"logoX":50}, MobileSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.4, 1] };
  let ticking = false;
  function getProgress(globalP, startP, endP) { if (globalP <= startP) return 0; if (globalP >= endP) return 1; return (globalP - startP) / (endP - startP); }
  function lerp(start, end, t) { return start * (1 - t) + end * t; }
  
  function updateSequence(p3D, baseImg) {
      if (!slots[0] || !slots[1]) return;
      let baseSrc, nextSrc, mix;
      if (!SEQ_ENABLED || SEQ_IMAGES.length === 0) { baseSrc = baseImg; nextSrc = baseImg; mix = 0; } else if (p3D <= 0) { baseSrc = baseImg; nextSrc = SEQ_IMAGES[0]; mix = 0; } else if (p3D >= 1) { const last = SEQ_IMAGES[SEQ_IMAGES.length - 1]; baseSrc = last; nextSrc = last; mix = 0; } else { const totalFrames = SEQ_IMAGES.length - 1; const floatIndex = p3D * totalFrames; const idxBase = Math.floor(floatIndex); const idxNext = Math.min(totalFrames, idxBase + 1); baseSrc = SEQ_IMAGES[idxBase]; nextSrc = SEQ_IMAGES[idxNext]; mix = floatIndex - idxBase; }
      const src0 = slots[0].getAttribute('src'), src1 = slots[1].getAttribute('src');
      let targetSlotBase = 0; if (src1 === baseSrc) targetSlotBase = 1; 
      const targetSlotNext = targetSlotBase === 0 ? 1 : 0; const sBase = slots[targetSlotBase]; if(sBase.getAttribute('src') !== baseSrc) sBase.src = baseSrc; sBase.style.opacity = 1; sBase.style.zIndex = 1; const sNext = slots[targetSlotNext]; if(sNext.getAttribute('src') !== nextSrc) sNext.src = nextSrc; let safeMix = mix; if (safeMix < 0.01) safeMix = 0; sNext.style.opacity = safeMix; sNext.style.zIndex = 2;
  }
  
  function update(scrollP) {
    const isMobile = window.innerWidth <= 768; const S = isMobile ? MobileS : DesktopS; const E = isMobile ? MobileE : DesktopE; const SEQ = isMobile ? MobileSEQ : DesktopSEQ; const currentBaseRoom = isMobile ? ASSETS.M.room : ASSETS.D.room;
    
    const pTab = getProgress(scrollP, SEQ.tab[0], SEQ.tab[1]);
    const tScale = lerp(S.tabScale, E.tabScale, pTab), tRotX = lerp(S.tabRotX, E.tabRotX, pTab), tRotY = lerp(S.tabRotY, E.tabRotY, pTab), tRotZ = lerp(S.tabRotZ, E.tabRotZ, pTab), tX = lerp(S.tabX, E.tabX, pTab), tY = lerp(S.tabY, E.tabY, pTab);
    
    if(back) back.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    if(front) front.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    
    const rRotX = lerp(S.tabRotX, 0, pTab), rRotY = lerp(S.roomRotY || 0, E.roomRotY || 0, pTab), rRotZ = lerp(S.roomRotZ || 0, E.roomRotZ || 0, pTab), rScale = lerp(S.roomScale, E.roomScale, pTab), rX = lerp(S.roomX, E.roomX, pTab), rY = lerp(S.roomY, E.roomY, pTab), rZ = lerp(S.roomZ || 80, E.roomZ || 80, pTab), roomLift = lerp(0, -15, pTab);
    
    if(roomGroup) roomGroup.style.transform = `scale(${tScale}) rotateZ(${rRotZ}deg) rotateY(${rRotY}deg) rotateX(${rRotX}deg) translate3d(0, 0, ${rZ}px)`;
    slots.forEach(img => { if(img) { 
      img.style.top = `${rY}%`; 
      img.style.left = `${rX}%`; 
      img.style.transform = `translate3d(-50%, ${roomLift}%, 0) scale(${rScale})`; 
    } });
    
    const p3D = getProgress(scrollP, SEQ.room3d[0], SEQ.room3d[1]); updateSequence(p3D, currentBaseRoom);
    
    const showBubbles = p3D > 0.1;
    const bubbles = bubbleLayer.querySelectorAll('.hero-bubble-hero-22369');
    bubbles.forEach(b => { if(showBubbles) b.classList.add('visible'); else b.classList.remove('visible'); });

    const pLogo = getProgress(scrollP, SEQ.logo[0], SEQ.logo[1]), lScale = lerp(S.logoScale, E.logoScale, pLogo), lX = lerp(S.logoX, E.logoX, pLogo), lY = lerp(S.logoY, E.logoY, pLogo), lOp = lerp(S.logoOpacity, E.logoOpacity, pLogo);
    if(logo) { logo.style.top = `${lY}%`; logo.style.left = `${lX}%`; logo.style.opacity = lOp; logo.style.transform = `translate3d(-50%, -100%, 0) scale(${lScale})`; }
    if(gradient) gradient.style.opacity = lOp; 
  }

  function loop() {
    if (!track || !viewport) { requestAnimationFrame(loop); return; }
    const rect = track.getBoundingClientRect();
    const winH = window.innerHeight;
    
    if (rect.bottom > 0 && rect.top < winH) {
      viewport.classList.add('active');
      const scrollP = Math.max(0, Math.min(1, -rect.top / (rect.height - winH)));
      
      // Handle the "slide out" at the very bottom
      if (rect.bottom < winH) {
        viewport.style.transform = `translate3d(0, ${rect.bottom - winH}px, 0)`;
      } else {
        viewport.style.transform = 'translate3d(0, 0, 0)';
      }
      
      update(scrollP);
    } else {
      viewport.classList.remove('active');
    }
    requestAnimationFrame(loop);
  }
  requestAnimationFrame(loop);
  
  window.addEventListener('resize', () => { if(viewport) update(0); }); 
});
</script>
                
<style>
#fc-section-fc-3117 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: -50px; 
    overflow: hidden; 
    font-family: var(--awb-typography4-font-family);
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-3117 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-3117 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-3117 {
    margin-bottom: 40px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-3117 h2 {
    font-size: 44px;
    font-weight: 800;
    color: #006448;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-3117 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(80px);
}
@media(max-width: 640px) {
    .fc-header-fc-3117 { text-align: center; } 
    .fc-header-fc-3117 h2 { font-size: 36px; } 
    .fc-header-logo-fc-3117 { transform: translateX(0px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-3117 {
    margin-top: 40px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-3117 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-3117 {
    display: inline-block;
    background: #ED6D32;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-3117:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-3117 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 0.9s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-3117 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-3117 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-3117 { animation-delay: 0.1s; }
.fc-header-fc-3117 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-3117 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #325e2d, #00806e, #669999, #678f6d); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-3117 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-3117 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-3117 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-3117 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-3117 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-3117 { opacity: 0; transform: translateY(-50%) scale(0.9) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-3117 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-3117 { opacity: 1; transform: translateY(-50%) scale(0.9) translateX(0); }
.fc-in-view .fc-bg-heart-fc-3117 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-3117 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-3117 { display: none; position: absolute; right: -6%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-3117 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-3117 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-3117 { display: block; } .fc-bg-heart-fc-3117 { display: block; } #fc-grid-fc-3117 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-3117 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-3117 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-3117 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-3117 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-3117 { fill: none; stroke: url(#line-grad-fc-3117); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-3117); }
</style>
<div id="fc-section-fc-3117">
    <div class="fc-bg-gradient-fc-3117"></div><div class="fc-bg-grain-fc-3117"></div>
    <svg class="fc-bg-heart-fc-3117" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/025.png" class="fc-side-image-fc-3117" alt="" />
    
    <div id="fc-wrap-fc-3117">
        
                <div class="fc-header-fc-3117">
                    
                    <div class="fc-header-reveal"><h2>Re-Connecting with Nature</h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-3117" class="fc-snake-svg-fc-3117">
            <defs>
                <linearGradient id="line-grad-fc-3117" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#00806e" />
                    <stop offset="50%" stop-color="#325e2d" />
                    <stop offset="100%" stop-color="#669999" />
                </linearGradient>
                <mask id="fc-mask-fc-3117"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-3117"></g></mask>
            </defs>
            <path id="fc-path-fc-3117" class="fc-snake-path-fc-3117" d="" />
        </svg>
        <div id="fc-grid-fc-3117">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-50px, 0px) scale(3); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="104" height="70" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:104px; min-height:70px;"><path d="M9 21h6v-1.5H9V21zm3-19C8.48 2 5.5 4.98 5.5 8.5c0 2.85 1.43 5.5 3.5 6.95V19h6v-3.55c2.07-1.44 3.5-4.1 3.5-6.95C18.5 4.98 15.52 2 12 2z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject</h3><p>Makes plants tangible as living, responsive beings and creates a new way to connect with nature</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-80px, -10px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="62" height="116" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:62px; min-height:116px;"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14 M22 4L12 14.01l-3-3" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject content</h3><p>Education for sustainable development</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:54px; min-height:80px;"><path d="M9 18V5l12-2v13 M9 9l12-2 M6 18a3 3 0 1 0 6 0 3 3 0 0 0-6 0z M18 16a3 3 0 1 0 6 0 3 3 0 0 0-6 0z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Compatible with TreeMuse</h3><p>Sensor device captures plant signals and translates them into visual representations within the app</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.6000000000000001s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="62" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:62px;"><path d="M12 18h.01M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z M12 18h.01" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For Tablets and Smartphones</h3><p>Compatible with iOS</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 0.8s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-210px, -30px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png.webp" style="transform: translate(-10px, -15px) scale(0.07);" alt="Cooperational partner" /></div>
                    </div>
                    <div class="fc-content"><h3>Cooperational partner</h3><p>Produziert von Heartucate GmbH für KlettMEX</p></div>
                </div></div>
        
                <div class="fc-action-wrapper-fc-3117">
                    <a href="https://re-connecting-with-nature.org/unterrichtsmaterial/" class="fc-action-btn-fc-3117 fc-btn-reveal">Learn more</a>
                </div>
            
    </div>
</div>
<script>(function(){
    const uid = "fc-3117";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 5 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.9) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.9)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_2_5 2_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:4.8%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-liftup-border-radius:0px;--awb-margin-top:20px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><div class="awb-image-frame awb-image-frame-1 imageframe-liftup fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><span class=" fusion-imageframe imageframe-none imageframe-1"><img fetchpriority="high" decoding="async" width="279" height="300" title="KlettMEX-show1" src="https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-279x300.png" alt class="img-responsive wp-image-58443" srcset="https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-200x215.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-400x430.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-600x646.png 600w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-800x861.png 800w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1-1200x1291.png 1200w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX-show1.png 1549w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_3_5 3_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.2%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two fusion-animated" style="--awb-text-color:#01654a;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Experience the language of plants!</h2></div><div class="fusion-text fusion-text-1 fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><p>“Re-Connecting with Nature” brings plants into the classroom in a completely new way. Using a sensor device, biological signals from plants are captured and translated into music and visual representations. This allows students to experience plants not just as a subject, but as living, responsive systems that can be seen and heard.</p>
</div></div></div></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-2 fusion_builder_column_inner_3_5 3_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.2%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-two fusion-animated" style="--awb-text-color:#01654a;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Discover nature through interaction</h2></div><div class="fusion-text fusion-text-2 fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><p>The application combines technology with direct nature experiences: learners observe plants, interact with them, and experience their reactions in real time as sound and visualizations. This creates an emotional connection to nature that sparks curiosity, sharpens perception, and fosters a deeper understanding of ecological relationships.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-3 fusion_builder_column_inner_2_5 2_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:4.8%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-2 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="300" height="300" title="Trackergrafik_KlettMEX-removebg-preview" src="https://heartucate.eu/wp-content/uploads/2026/04/Trackergrafik_KlettMEX-removebg-preview-300x300.png" alt class="img-responsive wp-image-58566" srcset="https://heartucate.eu/wp-content/uploads/2026/04/Trackergrafik_KlettMEX-removebg-preview-200x200.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/Trackergrafik_KlettMEX-removebg-preview-400x400.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/Trackergrafik_KlettMEX-removebg-preview.png 500w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 300px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div><style>
#bento-5427 { position: relative; width: 100vw; left: 50%; margin-left: -50vw; box-sizing: border-box; font-family: var(--awb-typography4-font-family); padding: 80px 160px; background: transparent; overflow: hidden; }
@media(max-width: 768px) { #bento-5427 { padding: 40px 15px; } }
#bento-5427::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #325e2e, #00806f, #669999, #668f6d); opacity: 0.45; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); }
#bento-5427 .bento-grid { position: relative; z-index: 10; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; gap: 20px; max-width: 1600px; margin: 0 auto; grid-auto-rows: 90px; }
@media(max-width: 1200px) { #bento-5427 .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 90px; } }
@media(max-width: 800px) { #bento-5427 .bento-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }
#bento-5427 .bento-item { position: relative; border-radius: 24px; transform-style: preserve-3d; cursor: pointer; transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1; }
#bento-5427 .span-c-1 { grid-column: span 1; } #bento-5427 .span-c-2 { grid-column: span 2; } #bento-5427 .span-c-3 { grid-column: span 3; } #bento-5427 .span-c-4 { grid-column: span 4; } #bento-5427 .span-c-5 { grid-column: span 5; } #bento-5427 .span-c-6 { grid-column: span 6; }
#bento-5427 .span-r-1 { grid-row: span 1; } #bento-5427 .span-r-2 { grid-row: span 2; } #bento-5427 .span-r-3 { grid-row: span 3; } #bento-5427 .span-r-4 { grid-row: span 4; } #bento-5427 .span-r-5 { grid-row: span 5; } #bento-5427 .span-r-6 { grid-row: span 6; }
@media(max-width: 800px) { #bento-5427 .bento-item { grid-column: span 1 !important; grid-row: span 1 !important; } #bento-5427 .bento-item.span-c-3, #bento-5427 .bento-item.span-c-4, #bento-5427 .bento-item.span-c-5, #bento-5427 .bento-item.span-c-6 { grid-column: span 2 !important; grid-row: span 2 !important; } }
#bento-5427 .bento-item.expanded { grid-column: span var(--exp-c, 4) !important; grid-row: span var(--exp-r, 4) !important; z-index: 100; }
@media(max-width: 1200px) { #bento-5427 .bento-item.expanded { grid-column: span min(var(--exp-c, 4), 4) !important; } }
@media(max-width: 800px) { #bento-5427 .bento-item.expanded { grid-column: span 2 !important; grid-row: span 3 !important; } #bento-5427 .bento-item.expanded[data-type="video"] { aspect-ratio: 16/9 !important; height: auto !important; min-height: unset !important; grid-row: span 2 !important; } }
#bento-5427 .bento-grid.has-expanded .bento-item:not(.expanded) { opacity: 0.4; transform: scale(0.96); filter: grayscale(100%); pointer-events: auto; }
#bento-5427 .bento-inner { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: transform 0.3s ease-out; transform: translateZ(0); }
#bento-5427 .bento-item.expanded .bento-inner { transform: none !important; box-shadow: 0 40px 100px -20px rgba(0,0,0,0.5); border: 3px solid #4F46E5; }
#bento-5427 .bento-warp-bg { position: absolute; inset: 0; border-radius: 24px; background: linear-gradient(135deg, #325e2e, #00806f); opacity: 0; z-index: -1; transform: scale(0.8); pointer-events: none; }
@keyframes warpShock-bento-5427 { 0% { opacity: 0.6; transform: scale(0.95); } 100% { opacity: 0; transform: scale(1.4); } }
#bento-5427 .bento-item.expanded .bento-warp-bg { animation: warpShock-bento-5427 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
#bento-5427 .bento-media-wrap { width: 100%; height: 100%; position: relative; }
#bento-5427 img, #bento-5427 video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); }
#bento-5427 .bento-item:not(.expanded):hover img { transform: scale(1.08); }
#bento-5427 .bento-play-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; text-shadow: 0 4px 15px rgba(0,0,0,0.5); pointer-events: none; transition: opacity 0.3s; opacity: 0; }
#bento-5427 .bento-item[data-type="video"]:not(.expanded):hover .bento-play-icon { opacity: 1; }
#bento-5427 .bento-item.expanded .bento-play-icon { display: none; }
#bento-5427 .bento-close-btn { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); border-radius: 50%; color: white; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 101; opacity: 0; pointer-events: none; transform: scale(0.8); transition: all 0.4s ease; }
#bento-5427 .bento-item.expanded .bento-close-btn { opacity: 1; pointer-events: all; transform: scale(1); }
#bento-5427 .bento-close-btn:hover { background: #C63F40; transform: scale(1.1); }
#bento-5427 .bento-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); opacity: 0; transform: translateY(10px); transition: all 0.3s; pointer-events: none; }
#bento-5427 .bento-item:hover:not(.expanded) .bento-overlay { opacity: 1; transform: translateY(0); }
#bento-5427 .bento-item.expanded .bento-overlay { opacity: 0; }
#bento-5427 h3 { margin: 0; color: white; font-size: 18px; font-weight: 700; }
</style>
<div id="bento-5427"><div class="bento-grid" id="grid-bento-5427">
                <div class="bento-item span-c-2 span-r-4 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 4;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_0027.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Homepage</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_0066.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>App launched</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-4 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_0036.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Adjusting the plant size</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_0028.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div></div></div>
<script>(function(){const grid=document.getElementById('grid-bento-5427'),cards=grid.querySelectorAll('.js-bento-card');cards.forEach(el=>{const vid=el.querySelector('video'),closeBtn=el.querySelector('.bento-close-btn'),inner=el.querySelector('.bento-inner');el.addEventListener('mousemove',(e)=>{if(el.classList.contains('expanded'))return;const r=el.getBoundingClientRect(),x=e.clientX-r.left,y=e.clientY-r.top,cX=r.width/2,cY=r.height/2,rX=((y-cY)/cY)*-4,rY=((x-cX)/cX)*4;inner.style.transform=`perspective(1000px) rotateX(${rX}deg) rotateY(${rY}deg) scale(1.02)`});el.addEventListener('mouseleave',()=>{if(!el.classList.contains('expanded'))inner.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1)'});el.addEventListener('click',(e)=>{if(el.classList.contains('expanded')&&vid)return;if(el.classList.contains('expanded')&&!vid)return;cards.forEach(c=>{const cVid=c.querySelector('video');if(cVid){cVid.muted=true;cVid.loop=true;cVid.removeAttribute('controls');cVid.play()}c.classList.remove('expanded')});grid.classList.add('has-expanded');el.classList.add('expanded');inner.style.transform='';if(vid){vid.currentTime=0;vid.muted=false;vid.loop=false;vid.setAttribute('controls','true');vid.play()}setTimeout(()=>el.scrollIntoView({behavior:'smooth',block:'center'}),400)});if(closeBtn){closeBtn.addEventListener('click',(e)=>{e.stopPropagation();el.classList.remove('expanded');grid.classList.remove('has-expanded');if(vid){vid.muted=true;vid.loop=true;vid.removeAttribute('controls');vid.play()}})}})})();</script><div class="fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-text-color:#01654a;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Credits:</h2></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-4 fusion_builder_column_inner_1_3 1_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-3"><div class="fusion-text fusion-text-5">
<div class="fusion-text fusion-text-5">
<p><strong style="color: #325e2d;">Conception:</strong><br />
Franziska Weser, Valentin Behrendt</p>
</div>
<p class="fusion-text fusion-text-6"><span style="color: #325e2d;"><b>Technical Lead</b></span><strong style="color: #325e2d;">:</strong><br />
Vincent Schiller</p>
</div>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-5 fusion_builder_column_inner_1_3 1_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-4"><div class="fusion-text fusion-text-5">
<p><strong style="color: #01654a;">Visual effects:</strong><br />
Valentin Behrendt</p>
</div>
<div class="fusion-text fusion-text-6">
<p><span style="color: #01654a;"><b>Technical support</b><strong>:</strong></span><br />
Valentin Behrendt</p>
</div>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-6 fusion_builder_column_inner_1_3 1_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-5"><p><span style="color: #01654a;"><strong>Cooperational partner:</strong></span></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-3 hover-type-none"><img decoding="async" width="300" height="150" title="KlettMEX_Logo_RGB.png" src="https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-300x150.webp" alt class="img-responsive wp-image-58366" srcset="https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-200x100.webp 200w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-400x200.webp 400w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-600x300.webp 600w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-800x400.webp 800w, https://heartucate.eu/wp-content/uploads/2026/04/KlettMEX_Logo_RGB.png-1200x600.webp 1200w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/re-connecting-with-nature-ar-2/">Re-Connecting with Nature AR</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Stiftung Kinder forschen</title>
		<link>https://heartucate.eu/en/cooperations/stiftung-kinder-forschen-2/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 16:13:34 +0000</pubDate>
				<category><![CDATA[Cooperations]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58390</guid>

					<description><![CDATA[<p>Explore the human body!  The AR interactive poster by the Stiftung Kinder forschen introduces advanced medicine in a child-friendly way and makes the human body interactively accessible. Through augmented reality, children explore organs, processes, and medical questions, and playfully dive into topics related to health and research.   Understand science  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/stiftung-kinder-forschen-2/">Stiftung Kinder forschen</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><!-- Wimmelbild Interactive Header | heartucate.eu -->
<style>
/* ── Full-Width Wrapper ── */
#wh-146225{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  cursor:default!important;
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-bottom-left-radius:0px;
  border-bottom-right-radius:0px;
  user-select:none;-webkit-user-select:none;
  box-sizing:border-box;
  --wh-header-height:650px;
  --wh-bg-pos:50% 14%;
  --wh-bg-scale:1;
  --wh-title-display:block;
  --wh-title-scale:1;
  --wh-title-offset-y:0px;
  --wh-mobile-hotspot-size:56px;
}
#wh-146225 *{cursor:inherit;}
#wh-146225.wh-cursor-hidden,
#wh-146225.wh-cursor-hidden *{cursor:none!important;}
/* ── Background ── */
#wh-146225 .wh-bg{
  display:block;width:100%;height:var(--wh-header-height);
  background-image:url('https://heartucate.eu/wp-content/uploads/2026/04/pinnwand.png');
  background-size:cover;
  background-position:var(--wh-bg-pos);
  background-repeat:no-repeat;
  transform:scale(var(--wh-bg-scale));
  transform-origin:var(--wh-bg-pos);
}
#wh-146225 .wh-scene-layer{will-change:transform;}
#wh-146225 .wh-overlay{position:absolute;inset:0;background:#000000;opacity:0.15;pointer-events:none;z-index:1;}
#wh-146225 .wh-bubbles{position:absolute;inset:0;z-index:4;pointer-events:none;}
#wh-146225 .wh-bubble-anchor{
  position:absolute;
  transform:translate(-50%,-50%) scale(var(--wh-b-scale,1));
  transform-origin:center center;
  pointer-events:none;
}
#wh-146225 .wh-bubble{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
  font-weight:700;
  background:linear-gradient(135deg,#ED6D32D9,#D6443BD9,#AF385DD9);
  border:1px solid rgba(255,255,255,0.36);
  box-shadow:0 10px 28px rgba(0,0,0,0.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  text-shadow:0 1px 2px rgba(0,0,0,0.24);
  opacity:0;
  transform:translateY(12px) scale(0.78);
  animation:wh-bubble-pop-wh-146225 0.72s cubic-bezier(0.34,1.56,0.64,1) forwards;
  animation-delay:var(--wh-b-delay,0s);
}
#wh-146225 .wh-bubble-icon{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
#wh-146225 .wh-bubble-icon svg{
  width:24px;
  height:24px;
  display:block;
  stroke:#fff;
}
@keyframes wh-bubble-pop-wh-146225{
  0%{opacity:0;transform:translateY(14px) scale(0.72);}
  60%{opacity:1;transform:translateY(-4px) scale(1.06);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
#wh-146225 .wh-title-wrap{position:absolute;top:calc(50% + var(--wh-title-offset-y));left:50%;transform:translate(-50%,-50%) scale(var(--wh-title-scale));transform-origin:center center;text-align:center;pointer-events:none;z-index:5;display:var(--wh-title-display);width:min(calc(100vw - 48px),920px);}
#wh-146225 .wh-title{font-size:clamp(28px,4vw,56px);font-weight:900;color:#ffffff;text-shadow:0 2px 20px rgba(0,0,0,0.5);margin:0;line-height:1.1;}
#wh-146225 .wh-sub{font-size:clamp(14px,1.5vw,20px);color:#ffffff;opacity:0.85;margin-top:8px;font-weight:500;}
/* ── Magnifier Wrapper (position:fixed, no transform — keeps fixed working) ── */
#wh-146225-mag-wrap{
  position:fixed;pointer-events:none;z-index:9999;display:none;
  width:210px;height:210px;
  transform:translate(-50%,-50%);
}
/* ── Glass Circle ── */
#wh-146225-mag-glass{
  position:absolute;top:0;left:0;
  width:210px;height:210px;
  border-radius:50%;
  border:3px solid #ffffff;
  box-shadow:0 0 0 6px rgba(255,255,255,0.15),0 8px 32px rgba(0,0,0,0.35);
  overflow:hidden;
  background-repeat:no-repeat;
  transition:border-color 0.25s,box-shadow 0.25s;
}
#wh-146225-mag-glass::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.18) 0%,transparent 60%);
  pointer-events:none;z-index:2;
}
/* ── Popup ── */
#wh-146225-overlay{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s;overflow:hidden;isolation:isolate;}
#wh-146225-overlay::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transform:translateZ(0);
  will-change:opacity;
  pointer-events:none;
  z-index:0;
}
#wh-146225-overlay[data-mode="video"]::before{
  background:rgba(0,0,0,0.72);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#wh-146225-overlay.active{opacity:1;visibility:visible;}
#wh-146225-overlay > *{position:relative;z-index:1;}
#wh-146225-overlay .wh-panel{display:none;}
#wh-146225-popup{background:#ffffff;border-radius:20px;max-width:680px;width:90vw;max-height:85vh;overflow:hidden;transform:scale(0.85) translateY(30px);transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 30px 80px rgba(0,0,0,0.4);display:none;flex-direction:column;}
#wh-146225-overlay[data-mode="card"] #wh-146225-popup{display:flex;}
#wh-146225-overlay.active[data-mode="card"] #wh-146225-popup{transform:scale(1) translateY(0);}
#wh-146225-popup .wh-popup-top{background:linear-gradient(135deg,#C63F40,#C63F40cc);padding:24px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;}
#wh-146225-popup .wh-popup-title{color:#fff;font-size:22px;font-weight:800;margin:0;line-height:1.2;}
#wh-146225-popup .wh-popup-close{background:rgba(255,255,255,0.2);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer!important;display:flex;align-items:center;justify-content:center;transition:background 0.2s;flex-shrink:0;margin-left:12px;}
#wh-146225-popup .wh-popup-close:hover{background:rgba(255,255,255,0.35);}
#wh-146225-popup .wh-popup-body{padding:0;flex:1;overflow-y:auto;}
.wh-video-wrap-wh-146225{position:relative;padding-bottom:56.25%;height:0;background:#111;}
.wh-video-wrap-wh-146225 iframe,.wh-video-wrap-wh-146225 video{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
.wh-no-video-wh-146225{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:#aaa;gap:12px;font-size:32px;padding:24px;}
#wh-146225-popup .wh-popup-desc{padding:20px 28px;font-size:15px;color:#555;line-height:1.65;}
#wh-146225-lens-popup{
  display:none;
  align-items:center;
  justify-content:center;
  transform:scale(0.82);
  opacity:0;
  transition:transform 0.38s cubic-bezier(0.34,1.56,0.64,1),opacity 0.28s ease;
  will-change:transform,opacity;
}
#wh-146225-overlay[data-mode="video"] #wh-146225-lens-popup{display:flex;}
#wh-146225-overlay.active[data-mode="video"] #wh-146225-lens-popup{transform:scale(1);opacity:1;}
#wh-146225-lens-shell{
  position:relative;
  width:clamp(240px, 34vw, 420px);
  aspect-ratio:1 / 1;
  border-radius:50%;
  overflow:visible;
  background:transparent;
  border:8px solid rgba(255,255,255,0.92);
  box-shadow:0 0 0 6px rgba(255,255,255,0.1),0 28px 60px rgba(0,0,0,0.4);
  transform:translateZ(0);
  backface-visibility:hidden;
}
#wh-146225-lens-shell::before{
  display:none;
}
#wh-146225-lens-gloss{
  display:none;
}
#wh-146225-lens-media{
  position:absolute;
  inset:0;
  border-radius:50%;
  overflow:hidden;
  background:#050505;
  line-height:0;
  contain:paint;
  transform:translateZ(0);
  backface-visibility:hidden;
}
#wh-146225-lens-media iframe,#wh-146225-lens-media video{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:none;
  display:block;
  pointer-events:none;
}
#wh-146225-lens-media iframe{
  width:177.78%;
  left:-38.89%;
}
#wh-146225-lens-media video{object-fit:cover;}
#wh-146225-lens-close{
  position:absolute;
  top:-10px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid rgba(15,23,42,0.12);
  border-radius:50%;
  background:rgba(255,255,255,0.98);
  color:#0f172a;
  font-size:18px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 26px rgba(0,0,0,0.24);
  z-index:8;
  cursor:pointer!important;
  transition:transform 0.2s ease,background 0.2s ease;
}
#wh-146225-lens-close:hover{transform:scale(1.06);background:#ffffff;}
/* ── Mobile Hotspots ── */
#wh-146225 .wh-hotspot-btn{
  position:absolute;
  left:var(--wh-hs-x);
  top:var(--wh-hs-y);
  transform:translate(-50%,-50%);
  width:var(--wh-mobile-hotspot-size);
  height:var(--wh-mobile-hotspot-size);
  display:none;
  align-items:center;
  justify-content:center;
  border:none;
  background:transparent;
  padding:0;
  z-index:6;
}
#wh-146225 .wh-hotspot-btn .wh-hotspot-pulse{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:var(--wh-hs-color);
  opacity:0.22;
  animation:wh-hotspot-pulse-wh-146225 1.9s ease-out infinite;
}
#wh-146225 .wh-hotspot-btn .wh-hotspot-core{
  position:relative;
  width:calc(var(--wh-mobile-hotspot-size) - 14px);
  height:calc(var(--wh-mobile-hotspot-size) - 14px);
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.92);
  background:rgba(15,23,42,0.78);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(0,0,0,0.26);
  font-size:18px;
  line-height:1;
  backdrop-filter:blur(6px);
}
@keyframes wh-hotspot-pulse-wh-146225{
  0%{transform:scale(0.84);opacity:0.34;}
  70%{transform:scale(1.12);opacity:0.05;}
  100%{transform:scale(1.16);opacity:0;}
}
/* ── Overlay Image ── */
#wh-146225 .wh-ov-img{
  position:absolute;
  transform:translate(-50%,-50%);
  z-index:3;
  pointer-events:none;
  display:var(--wh-ov-display,none);
  left:var(--wh-ov-x,50%);
  top:var(--wh-ov-y,50%);
  width:var(--wh-ov-w,300px);
  height:var(--wh-ov-h,auto);
  opacity:var(--wh-ov-opacity,1);
  border-radius:var(--wh-ov-radius,0px);
  object-fit:cover;
  object-position:var(--wh-ov-crop-x,50%) var(--wh-ov-crop-y,50%);
}
#wh-146225.wh-mobile-layout{
  --wh-header-height:793px;
  --wh-bg-pos:50% 57%;
  --wh-bg-scale:2.55;
  --wh-title-display:block;
  --wh-title-scale:0.92;
  --wh-title-offset-y:0px;
  --wh-mobile-hotspot-size:56px;
}
#wh-146225.wh-mobile-layout .wh-title{font-size:clamp(28px,9vw,44px);}
#wh-146225.wh-mobile-layout .wh-sub{font-size:clamp(14px,4.4vw,18px);}
#wh-146225.wh-mobile-layout .wh-bubbles{display:none!important;}
#wh-146225.wh-mobile-layout .wh-hotspot-btn{
  display:flex;
  left:var(--wh-hs-mx);
  top:var(--wh-hs-my);
  opacity:0;
  -webkit-tap-highlight-color:transparent;
}
#wh-146225.wh-mobile-layout .wh-ov-img{
  display:var(--wh-ov-mobile-display,var(--wh-ov-display,none));
  left:var(--wh-ov-mobile-x,var(--wh-ov-x,50%));
  top:var(--wh-ov-mobile-y,var(--wh-ov-y,50%));
  width:var(--wh-ov-mobile-w,var(--wh-ov-w,300px));
  height:var(--wh-ov-mobile-h,var(--wh-ov-h,auto));
  opacity:var(--wh-ov-mobile-opacity,var(--wh-ov-opacity,1));
  border-radius:var(--wh-ov-mobile-radius,var(--wh-ov-radius,0px));
  object-position:var(--wh-ov-mobile-crop-x,var(--wh-ov-crop-x,50%)) var(--wh-ov-mobile-crop-y,var(--wh-ov-crop-y,50%));
}
#wh-146225.wh-mobile-layout #wh-146225-mag-wrap{display:none!important;}
#wh-146225.wh-mobile-layout #wh-146225-overlay{
  padding:clamp(16px,5vw,28px);
}
#wh-146225.wh-mobile-layout #wh-146225-lens-popup{
  width:100%;
}
#wh-146225.wh-mobile-layout #wh-146225-lens-shell{
  width:min(90vw, 460px);
}
#wh-146225.wh-mobile-layout #wh-146225-popup{
  width:min(94vw, 560px);
  max-height:88vh;
}
@media (max-width:767px){
  #wh-146225{
    --wh-header-height:793px;
    --wh-bg-pos:50% 57%;
    --wh-bg-scale:2.55;
    --wh-title-display:block;
    --wh-title-scale:0.92;
    --wh-title-offset-y:0px;
    --wh-mobile-hotspot-size:56px;
  }
  #wh-146225 .wh-title{font-size:clamp(28px,9vw,44px);}
  #wh-146225 .wh-sub{font-size:clamp(14px,4.4vw,18px);}
  #wh-146225 .wh-bubbles{display:none!important;}
  #wh-146225 .wh-hotspot-btn{
    display:flex;
    left:var(--wh-hs-mx);
    top:var(--wh-hs-my);
    opacity:0;
    -webkit-tap-highlight-color:transparent;
  }
  #wh-146225 .wh-ov-img{
    display:var(--wh-ov-mobile-display,var(--wh-ov-display,none));
    left:var(--wh-ov-mobile-x,var(--wh-ov-x,50%));
    top:var(--wh-ov-mobile-y,var(--wh-ov-y,50%));
    width:var(--wh-ov-mobile-w,var(--wh-ov-w,300px));
    height:var(--wh-ov-mobile-h,var(--wh-ov-h,auto));
    opacity:var(--wh-ov-mobile-opacity,var(--wh-ov-opacity,1));
    border-radius:var(--wh-ov-mobile-radius,var(--wh-ov-radius,0px));
    object-position:var(--wh-ov-mobile-crop-x,var(--wh-ov-crop-x,50%)) var(--wh-ov-mobile-crop-y,var(--wh-ov-crop-y,50%));
  }
  #wh-146225-mag-wrap{display:none!important;}
  #wh-146225-overlay{
    padding:clamp(16px,5vw,28px);
  }
  #wh-146225-lens-popup{
    width:100%;
  }
  #wh-146225-lens-shell{
    width:min(90vw, 460px);
  }
  #wh-146225-popup{
    width:min(94vw, 560px);
    max-height:88vh;
  }
}
</style>
<div id="wh-146225" onpointerenter="(function(r,id){if(!r||r.dataset.whInit==='1'||r.dataset.whBooting==='1')return;var t=document.getElementById(id+'-runtime');if(!t)return;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);})(this,'wh-146225')" onmousemove="(function(r,id){if(!r||r.dataset.whInit==='1'||r.dataset.whBooting==='1')return;var t=document.getElementById(id+'-runtime');if(!t)return;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);})(this,'wh-146225')" ontouchstart="(function(r,id){if(!r||r.dataset.whInit==='1'||r.dataset.whBooting==='1')return;var t=document.getElementById(id+'-runtime');if(!t)return;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);})(this,'wh-146225')" onclick="(function(r,id){if(!r||r.dataset.whInit==='1'||r.dataset.whBooting==='1')return;var t=document.getElementById(id+'-runtime');if(!t)return;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);})(this,'wh-146225')">
  <div class="wh-bg wh-scene-layer"></div>
  <div class="wh-overlay"></div>
  <img decoding="async" class="wh-ov-img wh-scene-layer" src="https://heartucate.eu/wp-content/uploads/2026/04/Akm_Wimmelposter-1-1.png" alt="" data-crop-x="50" data-crop-y="50" style="--wh-ov-display:block;--wh-ov-x:50.00%;--wh-ov-y:51.24%;--wh-ov-w:340px;--wh-ov-h:500px;--wh-ov-crop-x:50%;--wh-ov-crop-y:50%;--wh-ov-opacity:1;--wh-ov-radius:0px;--wh-ov-mobile-display:block;--wh-ov-mobile-x:50.00%;--wh-ov-mobile-y:51.24%;--wh-ov-mobile-w:340px;--wh-ov-mobile-h:500px;--wh-ov-mobile-crop-x:50%;--wh-ov-mobile-crop-y:50%;--wh-ov-mobile-opacity:1;--wh-ov-mobile-radius:0px;" loading="lazy">
  <div class="wh-bubbles"><div class="wh-bubble-anchor" style="left:28.00%;top:24.00%;--wh-b-scale:1.2;--wh-b-delay:0.00s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none" stroke="currentColor" stroke-width="1.65" stroke-linecap="round" stroke-linejoin="round"><path d="M1 6L10.5 1L20 6L10.5 11L1 6Z"></path><path d="M4 8V15.232C4 15.964 4.5275 16.5935 5.2355 16.7795C6.338 17.0695 8.028 17.6095 9.678 18.5145C10.1885 18.7945 10.811 18.7945 11.322 18.5145C12.972 17.6095 14.662 17.0695 15.7645 16.7795C16.4725 16.5935 17 15.965 17 15.232V8"></path><path d="M20 6V14"></path></svg></span><span>Medicine of the Future</span></div></div><div class="wh-bubble-anchor" style="left:22.90%;top:45.00%;--wh-b-scale:1.2;--wh-b-delay:0.08s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></span><span>Primary school and kindergarten</span></div></div><div class="wh-bubble-anchor" style="left:29.00%;top:68.00%;--wh-b-scale:1.2;--wh-b-delay:0.16s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg></span><span>Analog poster</span></div></div><div class="wh-bubble-anchor" style="left:74.00%;top:24.00%;--wh-b-scale:1.2;--wh-b-delay:0.24s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg></span><span>5 exciting interaction points</span></div></div><div class="wh-bubble-anchor" style="left:78.50%;top:45.00%;--wh-b-scale:1.2;--wh-b-delay:0.32s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></span><span>Augmented reality browser application</span></div></div><div class="wh-bubble-anchor" style="left:74.00%;top:68.00%;--wh-b-scale:1.2;--wh-b-delay:0.40s;"><div class="wh-bubble"><span class="wh-bubble-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg></span><span>For tablet and smartphone</span></div></div></div>
  <div class="wh-title-wrap"><h2 class="wh-title"></h2><p class="wh-sub"></p></div>
  <button type="button" class="wh-hotspot-btn" data-hotspot-id="1" aria-label="Herz" onclick="(function(e,btn,id,hsId){var r=document.getElementById(id);if(!r||r.dataset.whInit==='1')return true;r.dataset.whPendingHotspot=String(hsId);if(r.dataset.whBooting==='1'){if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();return false;}var t=document.getElementById(id+'-runtime');if(!t)return true;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);return false;})(event,this,'wh-146225',1)" style="--wh-hs-x:53.51%;--wh-hs-y:53.87%;--wh-hs-mx:62.82%;--wh-hs-my:53.47%;--wh-hs-color:#C63F40;"><span class="wh-hotspot-pulse"></span><span class="wh-hotspot-core">H</span></button><button type="button" class="wh-hotspot-btn" data-hotspot-id="2" aria-label="Immunsystem" onclick="(function(e,btn,id,hsId){var r=document.getElementById(id);if(!r||r.dataset.whInit==='1')return true;r.dataset.whPendingHotspot=String(hsId);if(r.dataset.whBooting==='1'){if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();return false;}var t=document.getElementById(id+'-runtime');if(!t)return true;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);return false;})(event,this,'wh-146225',2)" style="--wh-hs-x:49.43%;--wh-hs-y:68.01%;--wh-hs-mx:48.46%;--wh-hs-my:65.20%;--wh-hs-color:#AF385D;"><span class="wh-hotspot-pulse"></span><span class="wh-hotspot-core">I</span></button><button type="button" class="wh-hotspot-btn" data-hotspot-id="3" aria-label="Wundheilung" onclick="(function(e,btn,id,hsId){var r=document.getElementById(id);if(!r||r.dataset.whInit==='1')return true;r.dataset.whPendingHotspot=String(hsId);if(r.dataset.whBooting==='1'){if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();return false;}var t=document.getElementById(id+'-runtime');if(!t)return true;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);return false;})(event,this,'wh-146225',3)" style="--wh-hs-x:44.48%;--wh-hs-y:83.12%;--wh-hs-mx:27.69%;--wh-hs-my:76.80%;--wh-hs-color:#ED6D32;"><span class="wh-hotspot-pulse"></span><span class="wh-hotspot-core">W</span></button><button type="button" class="wh-hotspot-btn" data-hotspot-id="1777286711912" aria-label="Impfen" onclick="(function(e,btn,id,hsId){var r=document.getElementById(id);if(!r||r.dataset.whInit==='1')return true;r.dataset.whPendingHotspot=String(hsId);if(r.dataset.whBooting==='1'){if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();return false;}var t=document.getElementById(id+'-runtime');if(!t)return true;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);return false;})(event,this,'wh-146225',1777286711912)" style="--wh-hs-x:41.01%;--wh-hs-y:63.85%;--wh-hs-mx:15.38%;--wh-hs-my:61.79%;--wh-hs-color:#C63F40;"><span class="wh-hotspot-pulse"></span><span class="wh-hotspot-core">I</span></button><button type="button" class="wh-hotspot-btn" data-hotspot-id="1777293500354" aria-label="Prothese" onclick="(function(e,btn,id,hsId){var r=document.getElementById(id);if(!r||r.dataset.whInit==='1')return true;r.dataset.whPendingHotspot=String(hsId);if(r.dataset.whBooting==='1'){if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();return false;}var t=document.getElementById(id+'-runtime');if(!t)return true;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);if(e&&e.preventDefault)e.preventDefault();if(e&&e.stopPropagation)e.stopPropagation();setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);return false;})(event,this,'wh-146225',1777293500354)" style="--wh-hs-x:58.50%;--wh-hs-y:66.33%;--wh-hs-mx:82.82%;--wh-hs-my:63.68%;--wh-hs-color:#C63F40;"><span class="wh-hotspot-pulse"></span><span class="wh-hotspot-core">P</span></button>
  <div id="wh-146225-mag-wrap">
    <div id="wh-146225-mag-glass"></div>
  </div>
  <!-- Popup -->
  <div id="wh-146225-overlay">
    <div id="wh-146225-popup" role="dialog" aria-modal="true">
      <div class="wh-popup-top">
        <div>
          <p id="wh-146225-pop-emoji" style="font-size:28px;margin:0 0 4px 0;"></p>
          <h3 class="wh-popup-title" id="wh-146225-pop-title"></h3>
        </div>
        <button class="wh-popup-close" id="wh-146225-pop-close" aria-label="Schließen">✕</button>
      </div>
      <div class="wh-popup-body">
        <div id="wh-146225-pop-media"></div>
        <p class="wh-popup-desc" id="wh-146225-pop-desc"></p>
      </div>
    </div>
    <div id="wh-146225-lens-popup" class="wh-panel" role="dialog" aria-modal="true" aria-label="Video Lupe">
      <div id="wh-146225-lens-shell">
        <button id="wh-146225-lens-close" aria-label="Schließen">✕</button>
        <div id="wh-146225-lens-media"></div>
        <div id="wh-146225-lens-gloss"></div>
      </div>
    </div>
  </div>
</div>
<script type="application/json" id="wh-146225-runtime">
(function(){
  var uid="wh-146225";
  var wrap=document.getElementById(uid);
  if(!wrap)return;
  if(wrap.dataset.whInit==="1")return;
  wrap.dataset.whInit="1";
  wrap.dataset.whBooting="";

  /* ── Config ── */
  var HOTSPOTS=[{"id":1,"label":"Herz","x":53.505,"y":53.873,"mobileX":62.821,"mobileY":53.468,"videoUrl":"https://heartucate.eu/wp-content/uploads/2026/04/Herz.mp4","videoTitle":"Herz","videoDesc":"Entdecke interaktive Lernmöglichkeiten.","pulseColor":"#C63F40","iconEmoji":"H"},{"id":2,"label":"Immunsystem","x":49.43,"y":68.014,"mobileX":48.462,"mobileY":65.195,"videoUrl":"https://heartucate.eu/wp-content/uploads/2026/04/Immunsystem.mp4","videoTitle":"Imunsystem","videoDesc":"Hier entstehen neue Ideen.","pulseColor":"#AF385D","iconEmoji":"I"},{"id":3,"label":"Wundheilung","x":44.484,"y":83.118,"mobileX":27.692,"mobileY":76.797,"videoUrl":"https://heartucate.eu/wp-content/uploads/2026/04/wundheilung.mp4","videoTitle":"","videoDesc":"Lerne unser Team kennen.","pulseColor":"#ED6D32","iconEmoji":"W"},{"id":1777286711912,"label":"Impfen","x":41.013,"y":63.851,"mobileX":15.385,"mobileY":61.791,"videoUrl":"https://heartucate.eu/wp-content/uploads/2026/04/Impfen.mp4","videoTitle":"Impfen ","videoDesc":"","pulseColor":"#C63F40","iconEmoji":"I"},{"id":1777293500354,"label":"Prothese","x":58.497,"y":66.326,"mobileX":82.821,"mobileY":63.682,"videoUrl":"https://heartucate.eu/wp-content/uploads/2026/04/Prothese.mp4","videoTitle":"Entdecke mehr","videoDesc":"","pulseColor":"#C63F40","iconEmoji":"P"}];
  var bgUrl="https://heartucate.eu/wp-content/uploads/2026/04/pinnwand.png";
  var magSize=210;
  var zoom=2.2;
  var BG_POS_X=50 / 100;
  var BG_POS_Y=14 / 100;
  var BG_ZOOM=100 / 100;
  var MOBILE_BREAKPOINT=767;
  var TRIGGER_DIST=magSize*0.42;
  var DEFAULT_BORDER="#ffffff";
  var DEFAULT_SHADOW="0 0 0 6px rgba(255,255,255,0.15),0 8px 32px rgba(0,0,0,0.35)";

  /* ── DOM refs ── */
  var magWrap=document.getElementById(uid+"-mag-wrap");
  var magGlass=document.getElementById(uid+"-mag-glass");
  var overlay=document.getElementById(uid+"-overlay");
  var overlayImage=wrap.querySelector(".wh-ov-img");
  var popTitle=document.getElementById(uid+"-pop-title");
  var popEmoji=document.getElementById(uid+"-pop-emoji");
  var popMedia=document.getElementById(uid+"-pop-media");
  var popDesc=document.getElementById(uid+"-pop-desc");
  var popClose=document.getElementById(uid+"-pop-close");
  var lensMedia=document.getElementById(uid+"-lens-media");
  var lensClose=document.getElementById(uid+"-lens-close");
  var hotspotButtons=wrap.querySelectorAll(".wh-hotspot-btn");
  var POPUP_FADE_MS=420;
  var closeTimer=0;
  var isPopupClosing=false;
  var mediaBindToken=0;
  var activeNativeVideo=null;
  var activeVimeoPlayer=null;
  var activeVimeoEndedHandler=null;
  var activeYTPlayer=null;
  var activeYTFrameId=0;

  /* ── Image metrics ── */
  var bgState={width:0,height:0,ready:false};
  var overlayState={width:0,height:0,ready:false};

  function preloadImage(src,state,fallbackWidth,fallbackHeight){
    if(!src)return;
    var probe=new Image();
    probe.onload=function(){
      state.width=this.naturalWidth||fallbackWidth||0;
      state.height=this.naturalHeight||fallbackHeight||0;
      state.ready=!!(state.width&&state.height);
    };
    probe.onerror=function(){
      state.width=fallbackWidth||0;
      state.height=fallbackHeight||0;
      state.ready=!!(state.width&&state.height);
    };
    probe.src=src;
  }

  function syncOverlayState(){
    if(!overlayImage)return;
    if(overlayImage.naturalWidth&&overlayImage.naturalHeight){
      overlayState.width=overlayImage.naturalWidth;
      overlayState.height=overlayImage.naturalHeight;
      overlayState.ready=true;
    }
  }

  preloadImage(bgUrl,bgState,1920,1080);
  if(overlayImage){
    syncOverlayState();
    preloadImage(overlayImage.currentSrc||overlayImage.src,overlayState,0,0);
    overlayImage.addEventListener("load",syncOverlayState);
  }

  /* ── Video embed helpers ── */
  function getYT(url,asLens){
    var m=url.match(/(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|embed\/|shorts\/))([\w-]{11})/);
    return m?'https://www.youtube.com/embed/'+m[1]+'?autoplay=1&rel=0&enablejsapi=1&playsinline=1'+(asLens?'&controls=0&modestbranding=1&iv_load_policy=3&fs=0&disablekb=1':''):null;
  }
  function getVI(url,asLens){
    var m=url.match(/vimeo\.com\/(\d+)/);
    return m?'https://player.vimeo.com/video/'+m[1]+'?autoplay=1&api=1&playsinline=1'+(asLens?'&controls=0&title=0&byline=0&portrait=0&dnt=1':''):null;
  }

  function buildVideoMarkup(hs,asLens){
    if(!hs.videoUrl)return '';
    var yt=getYT(hs.videoUrl,asLens),vi=getVI(hs.videoUrl,asLens);
    if(yt) return asLens ? '' : '<div class="wh-video-wrap-wh-146225"></div>';
    if(vi) return asLens ? '' : '<div class="wh-video-wrap-wh-146225"></div>';
    return asLens ? '<video src="'+hs.videoUrl+'" autoplay playsinline controlslist="nofullscreen nodownload noplaybackrate noremoteplayback" disablepictureinpicture disableremoteplayback></video>' : '<div class="wh-video-wrap-wh-146225"><video src="'+hs.videoUrl+'" controls autoplay playsinline></video></div>';
  }

  function setOverlayMode(mode){
    overlay.setAttribute("data-mode",mode);
  }

  function setMagnifierActive(active){
    wrap.classList.toggle("wh-cursor-hidden",!!active);
  }

  function getForcedLayoutMode(){
    return window.__WH_FORCE_LAYOUT__==="mobile"||window.__WH_FORCE_LAYOUT__==="desktop"
      ? window.__WH_FORCE_LAYOUT__
      : "auto";
  }

  function supportsCoarsePointer(){
    try{
      if(!(window.matchMedia)) return false;
      return window.matchMedia("(any-pointer: coarse)").matches || window.matchMedia("(pointer: coarse)").matches;
    }catch(e){
      return false;
    }
  }

  function supportsFineHover(){
    try{
      if(!(window.matchMedia)) return false;
      return window.matchMedia("(any-hover: hover) and (any-pointer: fine)").matches
        || window.matchMedia("(hover: hover) and (pointer: fine)").matches;
    }catch(e){
      return false;
    }
  }

  function shouldUseMobileLayout(){
    var forced=getForcedLayoutMode();
    var isNarrowViewport=window.innerWidth<=MOBILE_BREAKPOINT;
    var hasTouchInput=supportsCoarsePointer()||navigator.maxTouchPoints>0||"ontouchstart" in window;
    if(forced==="mobile") return true;
    if(forced==="desktop") return false;
    if(isNarrowViewport&&hasTouchInput) return true;
    if(supportsFineHover()) return false;
    return isNarrowViewport;
  }

  function applyResponsiveLayout(){
    var isMobile=shouldUseMobileLayout();
    wrap.classList.toggle("wh-mobile-layout",isMobile);
    if(isMobile) resetMagnifierState(true);
  }

  function isMobileLayout(){
    return wrap.classList.contains("wh-mobile-layout");
  }

  function hasCustomMobileHotspotPosition(hs){
    var mobileX=Number(hs.mobileX);
    var mobileY=Number(hs.mobileY);
    var desktopX=Number(hs.x);
    var desktopY=Number(hs.y);
    if(!Number.isFinite(mobileX)||!Number.isFinite(mobileY)) return false;
    return !(mobileX===0&&mobileY===0&&((Number.isFinite(desktopX)&&desktopX!==0)||(Number.isFinite(desktopY)&&desktopY!==0)));
  }

  function getHotspotPosition(hs){
    var desktopX=Number(hs.x);
    var desktopY=Number(hs.y);
    var mobileX=Number(hs.mobileX);
    var mobileY=Number(hs.mobileY);
    if(isMobileLayout()){
      return {
        x:hasCustomMobileHotspotPosition(hs)&&Number.isFinite(mobileX)?mobileX:desktopX,
        y:hasCustomMobileHotspotPosition(hs)&&Number.isFinite(mobileY)?mobileY:desktopY
      };
    }
    return {
      x:desktopX,
      y:desktopY
    };
  }

  function clearCloseTimer(){
    if(!closeTimer)return;
    window.clearTimeout(closeTimer);
    closeTimer=0;
  }

  function stopActiveMediaPlayback(){
    if(activeNativeVideo){
      try{activeNativeVideo.pause();}catch(e){}
    }
    if(activeVimeoPlayer&&typeof activeVimeoPlayer.pause==="function"){
      try{activeVimeoPlayer.pause();}catch(e){}
    }
    if(activeYTPlayer&&typeof activeYTPlayer.pauseVideo==="function"){
      try{activeYTPlayer.pauseVideo();}catch(e){}
    }
  }

  function clearActiveMediaBindings(){
    if(activeNativeVideo){
      activeNativeVideo.onended=null;
      activeNativeVideo=null;
    }
    if(activeVimeoPlayer){
      if(activeVimeoEndedHandler){
        try{activeVimeoPlayer.off("ended",activeVimeoEndedHandler);}catch(e){}
      }
      if(typeof activeVimeoPlayer.destroy==="function"){
        try{activeVimeoPlayer.destroy();}catch(e){}
      }
      activeVimeoPlayer=null;
      activeVimeoEndedHandler=null;
    }
    if(activeYTPlayer){
      if(typeof activeYTPlayer.destroy==="function"){
        try{activeYTPlayer.destroy();}catch(e){}
      }
      activeYTPlayer=null;
    }
  }

  function getSharedVideoSdkStore(){
    if(!window.__WH_VIDEO_SDK_STORE__){
      window.__WH_VIDEO_SDK_STORE__={
        youtube:{loading:false,queue:[]},
        vimeo:{loading:false,queue:[]}
      };
    }
    return window.__WH_VIDEO_SDK_STORE__;
  }

  function ensureYouTubeApi(callback){
    if(window.YT&&typeof window.YT.Player==="function"){
      callback(window.YT);
      return;
    }
    var store=getSharedVideoSdkStore().youtube;
    store.queue.push(callback);
    if(store.loading)return;
    store.loading=true;
    var previousReady=window.onYouTubeIframeAPIReady;
    window.onYouTubeIframeAPIReady=function(){
      if(typeof previousReady==="function"){
        try{previousReady();}catch(e){}
      }
      var queue=store.queue.slice();
      store.queue.length=0;
      store.loading=false;
      queue.forEach(function(fn){
        try{fn(window.YT);}catch(e){}
      });
    };
    if(!document.querySelector('script[data-wh-sdk="youtube-iframe-api"]')){
      var script=document.createElement("script");
      script.src="https://www.youtube.com/iframe_api";
      script.async=true;
      script.dataset.whSdk="youtube-iframe-api";
      document.head.appendChild(script);
    }
  }

  function ensureVimeoApi(callback){
    if(window.Vimeo&&typeof window.Vimeo.Player==="function"){
      callback(window.Vimeo);
      return;
    }
    var store=getSharedVideoSdkStore().vimeo;
    store.queue.push(callback);
    if(store.loading)return;
    store.loading=true;

    function flush(){
      var queue=store.queue.slice();
      store.queue.length=0;
      store.loading=false;
      queue.forEach(function(fn){
        try{fn(window.Vimeo);}catch(e){}
      });
    }

    function fail(){
      store.queue.length=0;
      store.loading=false;
    }

    var existing=document.querySelector('script[data-wh-sdk="vimeo-player-api"]');
    if(existing){
      existing.addEventListener("load",flush,{once:true});
      existing.addEventListener("error",fail,{once:true});
      return;
    }

    var script=document.createElement("script");
    script.src="https://player.vimeo.com/api/player.js";
    script.async=true;
    script.dataset.whSdk="vimeo-player-api";
    script.addEventListener("load",flush,{once:true});
    script.addEventListener("error",fail,{once:true});
    document.head.appendChild(script);
  }

  function bindVideoAutoClose(container){
    clearActiveMediaBindings();
    mediaBindToken+=1;
    var bindToken=mediaBindToken;
    if(!container)return;

    var nativeVideo=container.querySelector("video");
    if(nativeVideo){
      activeNativeVideo=nativeVideo;
      nativeVideo.onended=function(){
        if(bindToken!==mediaBindToken)return;
        closePopup();
      };
      return;
    }

    var frame=container.querySelector("iframe");
    if(!frame)return;
    var src=frame.getAttribute("src")||"";

    if(src.indexOf("youtube.com/embed/")!==-1){
      if(!frame.id){
        activeYTFrameId+=1;
        frame.id=uid+"-yt-frame-"+activeYTFrameId;
      }
      ensureYouTubeApi(function(YT){
        if(bindToken!==mediaBindToken||isPopupClosing||!frame.isConnected||!(YT&&typeof YT.Player==="function"))return;
        try{
          activeYTPlayer=new YT.Player(frame.id,{
            events:{
              onStateChange:function(event){
                if(bindToken!==mediaBindToken||isPopupClosing)return;
                if(event&&event.data===0) closePopup();
              }
            }
          });
        }catch(e){}
      });
      return;
    }

    if(src.indexOf("player.vimeo.com/video/")!==-1){
      ensureVimeoApi(function(Vimeo){
        if(bindToken!==mediaBindToken||isPopupClosing||!frame.isConnected||!(Vimeo&&typeof Vimeo.Player==="function"))return;
        try{
          activeVimeoPlayer=new Vimeo.Player(frame);
          activeVimeoEndedHandler=function(){
            if(bindToken!==mediaBindToken||isPopupClosing)return;
            closePopup();
          };
          activeVimeoPlayer.on("ended",activeVimeoEndedHandler);
        }catch(e){}
      });
    }
  }

  /* ── Popup ── */
  function openInfoPopup(hs){
    if(overlay.classList.contains("active")||isPopupClosing)return;
    clearCloseTimer();
    setMagnifierActive(false);
    setOverlayMode("card");
    popTitle.textContent=hs.videoTitle||hs.label;
    popEmoji.textContent=hs.iconEmoji||"";
    popDesc.textContent=hs.videoDesc||"";
    var html="";
    if(hs.videoUrl){
      html=buildVideoMarkup(hs,false);
    }else{
      html='<div class="wh-no-video-wh-146225"><span>'+hs.iconEmoji+'</span><span style="font-size:14px;font-weight:600;">Kein Video hinterlegt</span></div>';
    }
    popMedia.innerHTML=html;
    bindVideoAutoClose(popMedia);
    overlay.classList.add("active");
    document.body.style.overflow="hidden";
    lastNearId=null;
  }

  function openVideoLens(hs){
    if(overlay.classList.contains("active")||isPopupClosing)return;
    clearCloseTimer();
    setMagnifierActive(false);
    setOverlayMode("video");
    lensMedia.innerHTML=buildVideoMarkup(hs,true);
    bindVideoAutoClose(lensMedia);
    overlay.classList.add("active");
    document.body.style.overflow="hidden";
    lastNearId=null;
  }

  function openHotspotExperience(hs){
    if(hs&&hs.videoUrl) openVideoLens(hs);
    else openInfoPopup(hs);
  }

  function consumePendingHotspot(){
    var pendingHotspotId=wrap.dataset.whPendingHotspot;
    if(!pendingHotspotId)return;
    delete wrap.dataset.whPendingHotspot;
    var pendingHotspot=HOTSPOTS.find(function(item){return String(item.id)===String(pendingHotspotId);});
    if(!pendingHotspot)return;
    window.setTimeout(function(){
      if(!overlay.classList.contains("active")&&!isPopupClosing){
        openHotspotExperience(pendingHotspot);
      }
    },0);
  }

  function closePopup(){
    if(isPopupClosing||(!overlay.classList.contains("active")&&!closeTimer))return;
    isPopupClosing=true;
    setMagnifierActive(false);
    stopActiveMediaPlayback();
    overlay.classList.remove("active");
    lastNearId=null;
    clearCloseTimer();
    closeTimer=window.setTimeout(function(){
      clearActiveMediaBindings();
      popMedia.innerHTML="";
      lensMedia.innerHTML="";
      document.body.style.overflow="";
      setOverlayMode("card");
      isPopupClosing=false;
      closeTimer=0;
    },POPUP_FADE_MS);
  }
  popClose.addEventListener("click",function(){closePopup();});
  lensClose.addEventListener("click",function(){closePopup();});
  overlay.addEventListener("click",function(e){if(e.target===overlay)closePopup();});
  document.addEventListener("keydown",function(e){if(e.key==="Escape")closePopup();});
  hotspotButtons.forEach(function(button){
    button.addEventListener("click",function(e){
      e.preventDefault();
      e.stopPropagation();
      var hotspotId=button.getAttribute("data-hotspot-id");
      var hotspot=HOTSPOTS.find(function(item){return String(item.id)===String(hotspotId);});
      if(hotspot) openHotspotExperience(hotspot);
    });
  });
  consumePendingHotspot();

  function isOverlayMagnifierMode(){
    return !!overlayImage;
  }

  function resetMagnifierState(resetProximity){
    setMagnifierActive(false);
    magWrap.style.display="none";
    magGlass.style.borderColor=DEFAULT_BORDER;
    magGlass.style.boxShadow=DEFAULT_SHADOW;
    if(resetProximity){
      lastNearId=null;
      clearTimeout(nearTimer);
    }
  }

  applyResponsiveLayout();

  function pointInRect(rect,clientX,clientY){
    return clientX>=rect.left&&clientX<=rect.right&&clientY>=rect.top&&clientY<=rect.bottom;
  }

  function createCoverSample(source){
    if(!source||!source.ready||!source.width||!source.height||!source.rect||!source.rect.width||!source.rect.height)return null;
    var scaleX=source.rect.width/source.width;
    var scaleY=source.rect.height/source.height;
    var scale=Math.max(scaleX,scaleY);
    var fittedWidth=source.width*scale;
    var fittedHeight=source.height*scale;
    return {
      src:source.src,
      width:fittedWidth,
      height:fittedHeight,
      offsetX:(source.rect.width-fittedWidth)*source.posX,
      offsetY:(source.rect.height-fittedHeight)*source.posY,
      cursorX:source.cursorX,
      cursorY:source.cursorY
    };
  }

  function applyMagnifierSample(sample){
    if(!sample)return;
    magGlass.style.backgroundImage="url('"+sample.src+"')";
    magGlass.style.backgroundSize=(sample.width*zoom)+"px "+(sample.height*zoom)+"px";
    magGlass.style.backgroundPosition=(magSize/2-(sample.cursorX-sample.offsetX)*zoom)+"px "+(magSize/2-(sample.cursorY-sample.offsetY)*zoom)+"px";
  }

  function applyBackgroundFallback(relX,relY,rect){
    magGlass.style.backgroundImage="url('"+bgUrl+"')";
    magGlass.style.backgroundSize=(rect.width*zoom)+"px "+(rect.height*zoom)+"px";
    magGlass.style.backgroundPosition=(magSize/2-relX*zoom)+"px "+(magSize/2-relY*zoom)+"px";
  }

  function getBackgroundSample(rect,relX,relY){
    if(!bgState.ready)return null;
    var originX=BG_POS_X*rect.width;
    var originY=BG_POS_Y*rect.height;
    return createCoverSample({
      src:bgUrl,
      ready:bgState.ready,
      width:bgState.width,
      height:bgState.height,
      rect:{width:rect.width,height:rect.height},
      posX:BG_POS_X,
      posY:BG_POS_Y,
      cursorX:originX+((relX-originX)/BG_ZOOM),
      cursorY:originY+((relY-originY)/BG_ZOOM)
    });
  }

  function getOverlaySample(clientX,clientY){
    if(!overlayImage||!overlayState.ready)return null;
    var styles=window.getComputedStyle(overlayImage);
    if(styles.display==="none"||styles.visibility==="hidden"||Number(styles.opacity)<=0)return null;
    var rect=overlayImage.getBoundingClientRect();
    if(!rect.width||!rect.height||!pointInRect(rect,clientX,clientY))return null;
    return createCoverSample({
      src:overlayImage.currentSrc||overlayImage.src,
      ready:overlayState.ready,
      width:overlayState.width,
      height:overlayState.height,
      rect:rect,
      posX:(parseFloat(overlayImage.getAttribute("data-crop-x")||"50")||50)/100,
      posY:(parseFloat(overlayImage.getAttribute("data-crop-y")||"50")||50)/100,
      cursorX:clientX-rect.left,
      cursorY:clientY-rect.top
    });
  }

  function updateMag(clientX,clientY){
    if(isMobileLayout()){
      resetMagnifierState(true); return;
    }
    var rect=wrap.getBoundingClientRect();
    var relX=clientX-rect.left;
    var relY=clientY-rect.top;
    if(relX<0||relY<0||relX>rect.width||relY>rect.height){
      resetMagnifierState(true); return;
    }
    var overlayOnly=isOverlayMagnifierMode();
    var overlaySample=getOverlaySample(clientX,clientY);
    if(overlayOnly && !overlaySample){
      resetMagnifierState(true); return;
    }
    setMagnifierActive(true);
    magWrap.style.display="block";
    magWrap.style.left=clientX+"px";
    magWrap.style.top=clientY+"px";

    var sample=overlaySample||(overlayOnly?null:getBackgroundSample(rect,relX,relY));
    if(sample) applyMagnifierSample(sample);
    else applyBackgroundFallback(relX,relY,rect);

    checkProximity(clientX,clientY,rect);
  }

  /* ── Proximity trigger ── */
  var lastNearId=null;
  var nearTimer=null;
  function checkProximity(clientX,clientY,rect){
    if(overlay.classList.contains("active"))return;
    var found=null;
    for(var i=0;i<HOTSPOTS.length;i++){
      var hs=HOTSPOTS[i];
      var point=getHotspotPosition(hs);
      var hsX=rect.left+(point.x/100)*rect.width;
      var hsY=rect.top+(point.y/100)*rect.height;
      var d=Math.sqrt(Math.pow(clientX-hsX,2)+Math.pow(clientY-hsY,2));
      if(d<TRIGGER_DIST){found=hs;break;}
    }
    if(found){
      magGlass.style.borderColor=found.pulseColor;
      magGlass.style.boxShadow="0 0 0 6px "+found.pulseColor+"44,0 0 28px "+found.pulseColor+"66,0 8px 32px rgba(0,0,0,0.35)";
      if(lastNearId!==found.id){
        lastNearId=found.id;
        clearTimeout(nearTimer);
        nearTimer=setTimeout(function(){
          if(lastNearId===found.id){openHotspotExperience(found);}
        },350);
      }
    }else{
      magGlass.style.borderColor=DEFAULT_BORDER;
      magGlass.style.boxShadow=DEFAULT_SHADOW;
      if(lastNearId!==null){lastNearId=null;clearTimeout(nearTimer);}
    }
  }

  /* ── Mouse tracking ── */
  document.addEventListener("mousemove",function(e){
    if(isMobileLayout())return;
    updateMag(e.clientX,e.clientY);
  });
  wrap.addEventListener("mouseleave",function(){
    resetMagnifierState(true);
  });
  window.addEventListener("resize",function(){
    applyResponsiveLayout();
  });
})();
</script>
<script>(function(){var r=document.getElementById('wh-146225');if(!r||r.dataset.whInit==='1'||r.dataset.whBooting==='1')return;var t=document.getElementById('wh-146225-runtime');if(!t)return;r.dataset.whBooting='1';var s=document.createElement('script');s.text=t.textContent||'';document.body.appendChild(s);setTimeout(function(){if(r.dataset.whInit!=='1')r.dataset.whBooting='';},0);})();</script>
<style>
#fc-section-fc-9455 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: 0px; 
    overflow: hidden; 
    font-family: var(--awb-typography4-font-family);
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-9455 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-9455 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-9455 {
    margin-bottom: 40px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-9455 h2 {
    font-size: 44px;
    font-weight: 800;
    color: #146657;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-9455 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(80px);
}
@media(max-width: 640px) {
    .fc-header-fc-9455 { text-align: center; } 
    .fc-header-fc-9455 h2 { font-size: 36px; } 
    .fc-header-logo-fc-9455 { transform: translateX(-5px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-9455 {
    margin-top: 40px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-9455 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-9455 {
    display: inline-block;
    background: #146657;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-9455:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-9455 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 1s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-9455 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-9455 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-9455 { animation-delay: 0.1s; }
.fc-header-fc-9455 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-9455 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #98cacb, #27a9a2, #98cacb, #1b7d84); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-9455 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-9455 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-9455 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-9455 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-9455 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-9455 { opacity: 0; transform: translateY(-50%) scale(0.6) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-9455 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-9455 { opacity: 1; transform: translateY(-50%) scale(0.6) translateX(0); }
.fc-in-view .fc-bg-heart-fc-9455 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-9455 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-9455 { display: none; position: absolute; right: -6%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-9455 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-9455 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-9455 { display: block; } .fc-bg-heart-fc-9455 { display: block; } #fc-grid-fc-9455 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-9455 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-9455 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-9455 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-9455 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-9455 { fill: none; stroke: url(#line-grad-fc-9455); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-9455); }
</style>
<div id="fc-section-fc-9455">
    <div class="fc-bg-gradient-fc-9455"></div><div class="fc-bg-grain-fc-9455"></div>
    <svg class="fc-bg-heart-fc-9455" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/Schlange-Stiftung-Kinder-Forschen.png" class="fc-side-image-fc-9455" alt="" />
    
    <div id="fc-wrap-fc-9455">
        
                <div class="fc-header-fc-9455">
                    
                    <div class="fc-header-reveal"><h2>Interactive AR discovery poster</h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-9455" class="fc-snake-svg-fc-9455">
            <defs>
                <linearGradient id="line-grad-fc-9455" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#27a9a2" />
                    <stop offset="50%" stop-color="#98cacb" />
                    <stop offset="100%" stop-color="#98cacb" />
                </linearGradient>
                <mask id="fc-mask-fc-9455"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-9455"></g></mask>
            </defs>
            <path id="fc-path-fc-9455" class="fc-snake-path-fc-9455" d="" />
        </svg>
        <div id="fc-grid-fc-9455">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-65px, 0px) scale(3); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="104" height="70" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:104px; min-height:70px;"><path d="M9 21h6v-1.5H9V21zm3-19C8.48 2 5.5 4.98 5.5 8.5c0 2.85 1.43 5.5 3.5 6.95V19h6v-3.55c2.07-1.44 3.5-4.1 3.5-6.95C18.5 4.98 15.52 2 12 2z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject</h3><p>Invites children to explore the human body and its functions interactively</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-67px, -10px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="62" height="116" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:62px; min-height:116px;"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14 M22 4L12 14.01l-3-3" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3> Touchpoints for Exploration</h3><p>Discover digital content about the heart, immune system, wound healing, and more</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:80px;"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z M12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Suitable for Younger Children</h3><p>Learning content designed for kindergarten and primary school children</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.6000000000000001s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-56px, 7px) scale(2.8); opacity: 0.3;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="66" height="56" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:66px; min-height:56px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2L14 8 20 8 M16 13L8 13 M16 17L8 17 M10 9L8 9" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Analog meets Digital</h3><p>Use of a printed poster enhanced with digital content</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.8s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="62" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:62px;"><path d="M12 18h.01M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z M12 18h.01" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For Tablets and Smartphones</h3><p>Browser-based application, no app installation required</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 1s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-250px, -32px) scale(4); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/250902_StKf-MMT26-Logo_mit_Jahr_RGB.png" style="transform: translate(-5px, -15px) scale(0.25);" alt="Cooperational partners" /></div>
                    </div>
                    <div class="fc-content"><h3>Cooperational partners</h3><p>Produziert von Heartucate GmbH für die Stiftung Kinder forschen</p></div>
                </div></div>
        
                <div class="fc-action-wrapper-fc-9455">
                    <a href="https://www.mintmachtage.de/mitforschen/wimmelposter-ar/" class="fc-action-btn-fc-9455 fc-btn-reveal">Learn more</a>
                </div>
            
    </div>
</div>
<script>(function(){
    const uid = "fc-9455";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 6 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.6) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.6)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-7 fusion_builder_column_inner_1_3 1_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-4 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="240" height="300" title="AR_Herz_01" src="https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01-240x300.png" alt class="img-responsive wp-image-58530" srcset="https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01-200x250.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01-400x500.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01-600x750.png 600w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01-800x1000.png 800w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Herz_01.png 1080w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-8 fusion_builder_column_inner_2_3 2_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-two fusion-animated" style="--awb-text-color:#007080;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);"><span style="color: #029797;">Explore the human body!</span></h2></div><div class="fusion-text fusion-text-6 fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><p>The AR interactive poster by the Stiftung Kinder forschen introduces advanced medicine in a child-friendly way and makes the human body interactively accessible. Through augmented reality, children explore organs, processes, and medical questions, and playfully dive into topics related to health and research.</p>
</div></div></div></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-9 fusion_builder_column_inner_2_3 2_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-two fusion-animated" style="--awb-text-color:#029797;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h2 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Understand science and experience participation!</h2></div><div class="fusion-text fusion-text-7 fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><p>The combination of an analog poster and digital content provides an accessible entry point to complex concepts. At the same time, children develop an understanding of people with physical impairments and learn how modern technologies and assistive devices can reduce barriers and enable participation.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-10 fusion_builder_column_inner_1_3 1_3 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-5 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="240" height="300" title="AR_Immunsystem_01" src="https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01-240x300.png" alt class="img-responsive wp-image-58532" srcset="https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01-200x250.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01-400x500.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01-600x750.png 600w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01-800x1000.png 800w, https://heartucate.eu/wp-content/uploads/2026/04/AR_Immunsystem_01.png 1080w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;width:100%;"></div><style>
#bento-1857 { position: relative; width: 100vw; left: 50%; margin-left: -50vw; box-sizing: border-box; font-family: var(--awb-typography4-font-family); padding: 80px 160px; background: transparent; overflow: hidden; }
@media(max-width: 768px) { #bento-1857 { padding: 40px 15px; } }
#bento-1857::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #029797, #00707e, #80cbca, #0fb9c0); opacity: 0.45; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); }
#bento-1857 .bento-grid { position: relative; z-index: 10; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; gap: 20px; max-width: 1600px; margin: 0 auto; grid-auto-rows: 90px; }
@media(max-width: 1200px) { #bento-1857 .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 90px; } }
@media(max-width: 800px) { #bento-1857 .bento-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }
#bento-1857 .bento-item { position: relative; border-radius: 24px; transform-style: preserve-3d; cursor: pointer; transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1; }
#bento-1857 .span-c-1 { grid-column: span 1; } #bento-1857 .span-c-2 { grid-column: span 2; } #bento-1857 .span-c-3 { grid-column: span 3; } #bento-1857 .span-c-4 { grid-column: span 4; } #bento-1857 .span-c-5 { grid-column: span 5; } #bento-1857 .span-c-6 { grid-column: span 6; }
#bento-1857 .span-r-1 { grid-row: span 1; } #bento-1857 .span-r-2 { grid-row: span 2; } #bento-1857 .span-r-3 { grid-row: span 3; } #bento-1857 .span-r-4 { grid-row: span 4; } #bento-1857 .span-r-5 { grid-row: span 5; } #bento-1857 .span-r-6 { grid-row: span 6; }
@media(max-width: 800px) { #bento-1857 .bento-item { grid-column: span 1 !important; grid-row: span 1 !important; } #bento-1857 .bento-item.span-c-3, #bento-1857 .bento-item.span-c-4, #bento-1857 .bento-item.span-c-5, #bento-1857 .bento-item.span-c-6 { grid-column: span 2 !important; grid-row: span 2 !important; } }
#bento-1857 .bento-item.expanded { grid-column: span var(--exp-c, 4) !important; grid-row: span var(--exp-r, 4) !important; z-index: 100; }
@media(max-width: 1200px) { #bento-1857 .bento-item.expanded { grid-column: span min(var(--exp-c, 4), 4) !important; } }
@media(max-width: 800px) { #bento-1857 .bento-item.expanded { grid-column: span 2 !important; grid-row: span 3 !important; } #bento-1857 .bento-item.expanded[data-type="video"] { aspect-ratio: 16/9 !important; height: auto !important; min-height: unset !important; grid-row: span 2 !important; } }
#bento-1857 .bento-grid.has-expanded .bento-item:not(.expanded) { opacity: 0.4; transform: scale(0.96); filter: grayscale(100%); pointer-events: auto; }
#bento-1857 .bento-inner { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: transform 0.3s ease-out; transform: translateZ(0); }
#bento-1857 .bento-item.expanded .bento-inner { transform: none !important; box-shadow: 0 40px 100px -20px rgba(0,0,0,0.5); border: 3px solid #4F46E5; }
#bento-1857 .bento-warp-bg { position: absolute; inset: 0; border-radius: 24px; background: linear-gradient(135deg, #029797, #00707e); opacity: 0; z-index: -1; transform: scale(0.8); pointer-events: none; }
@keyframes warpShock-bento-1857 { 0% { opacity: 0.6; transform: scale(0.95); } 100% { opacity: 0; transform: scale(1.4); } }
#bento-1857 .bento-item.expanded .bento-warp-bg { animation: warpShock-bento-1857 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
#bento-1857 .bento-media-wrap { width: 100%; height: 100%; position: relative; }
#bento-1857 img, #bento-1857 video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); }
#bento-1857 .bento-item:not(.expanded):hover img { transform: scale(1.08); }
#bento-1857 .bento-play-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; text-shadow: 0 4px 15px rgba(0,0,0,0.5); pointer-events: none; transition: opacity 0.3s; opacity: 0; }
#bento-1857 .bento-item[data-type="video"]:not(.expanded):hover .bento-play-icon { opacity: 1; }
#bento-1857 .bento-item.expanded .bento-play-icon { display: none; }
#bento-1857 .bento-close-btn { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); border-radius: 50%; color: white; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 101; opacity: 0; pointer-events: none; transform: scale(0.8); transition: all 0.4s ease; }
#bento-1857 .bento-item.expanded .bento-close-btn { opacity: 1; pointer-events: all; transform: scale(1); }
#bento-1857 .bento-close-btn:hover { background: #C63F40; transform: scale(1.1); }
#bento-1857 .bento-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); opacity: 0; transform: translateY(10px); transition: all 0.3s; pointer-events: none; }
#bento-1857 .bento-item:hover:not(.expanded) .bento-overlay { opacity: 1; transform: translateY(0); }
#bento-1857 .bento-item.expanded .bento-overlay { opacity: 0; }
#bento-1857 h3 { margin: 0; color: white; font-size: 18px; font-weight: 700; }
</style>
<div id="bento-1857"><div class="bento-grid" id="grid-bento-1857">
                <div class="bento-item span-c-2 span-r-4 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_7569-2-1.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 4;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_7574-2.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_7573-2-1.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-3 js-bento-card" data-type="image" style="--exp-c: 3; --exp-r: 6;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_7570-2.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 4; --exp-r: 4;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2026/04/IMG_7572-2.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3></h3></div>
                    </div>
                </div></div></div>
<script>(function(){const grid=document.getElementById('grid-bento-1857'),cards=grid.querySelectorAll('.js-bento-card');cards.forEach(el=>{const vid=el.querySelector('video'),closeBtn=el.querySelector('.bento-close-btn'),inner=el.querySelector('.bento-inner');el.addEventListener('mousemove',(e)=>{if(el.classList.contains('expanded'))return;const r=el.getBoundingClientRect(),x=e.clientX-r.left,y=e.clientY-r.top,cX=r.width/2,cY=r.height/2,rX=((y-cY)/cY)*-4,rY=((x-cX)/cX)*4;inner.style.transform=`perspective(1000px) rotateX(${rX}deg) rotateY(${rY}deg) scale(1.02)`});el.addEventListener('mouseleave',()=>{if(!el.classList.contains('expanded'))inner.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1)'});el.addEventListener('click',(e)=>{if(el.classList.contains('expanded')&&vid)return;if(el.classList.contains('expanded')&&!vid)return;cards.forEach(c=>{const cVid=c.querySelector('video');if(cVid){cVid.muted=true;cVid.loop=true;cVid.removeAttribute('controls');cVid.play()}c.classList.remove('expanded')});grid.classList.add('has-expanded');el.classList.add('expanded');inner.style.transform='';if(vid){vid.currentTime=0;vid.muted=false;vid.loop=false;vid.setAttribute('controls','true');vid.play()}setTimeout(()=>el.scrollIntoView({behavior:'smooth',block:'center'}),400)});if(closeBtn){closeBtn.addEventListener('click',(e)=>{e.stopPropagation();el.classList.remove('expanded');grid.classList.remove('has-expanded');if(vid){vid.muted=true;vid.loop=true;vid.removeAttribute('controls');vid.play()}})}})})();</script><div class="fusion-text fusion-text-8"><h1><span style="color: #019898;">Credits</span></h1>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:undefined;--awb-flex-grow-medium:undefined;--awb-flex-grow-small:undefined;--awb-flex-shrink:undefined;--awb-flex-shrink-medium:undefined;--awb-flex-shrink-small:undefined;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-11 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-9"><div class="fusion-text fusion-text-5">
<p><span style="color: #019898;"><strong>App conception:</strong></span><br />
Franziska Weser</p>
</div>
<p class="fusion-text fusion-text-6"><span style="color: #019898;"><b>Technical Lead</b><strong>:</strong></span><br />
Vincent Schiller</p>
<p><span style="color: #019898;"><b>Technical support</b><strong>:</strong></span><br />
Valentin Behrendt</p>
<p><span style="color: #019898;"><b>Video animation</b><strong>:</strong></span><br />
Valentin Behrendt</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-12 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-10"><p><b><span style="color: #019898;"><span style="caret-color: #019898;">Cooperational</span> partner</span></b><strong style="color: #019898;">:</strong></p>
</div><div class="fusion-image-element " style="text-align:center;--awb-max-width:250px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-6 hover-type-none"><img decoding="async" width="591" height="588" title="250902_StKf-MMT26-Logo_mit_Jahr_RGB" src="https://heartucate.eu/wp-content/uploads/2026/04/250902_StKf-MMT26-Logo_mit_Jahr_RGB.png" alt class="img-responsive wp-image-58386" srcset="https://heartucate.eu/wp-content/uploads/2026/04/250902_StKf-MMT26-Logo_mit_Jahr_RGB-200x199.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/250902_StKf-MMT26-Logo_mit_Jahr_RGB-400x398.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/250902_StKf-MMT26-Logo_mit_Jahr_RGB.png 591w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 591px" /></span></div></div></div></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/stiftung-kinder-forschen-2/">Stiftung Kinder forschen</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Heartucate at Learntec 2026</title>
		<link>https://heartucate.eu/en/news/heartucate-at-learntec-2026/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 13:10:51 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58512</guid>

					<description><![CDATA[<p>27|04|2026 – We will also be attending LEARNTEC this year. Together with other partners, we will be at the mobile.schule booth to showcase our XR applications in an educational context. A special highlight is our presentation on Thursday at 11:10 a.m., during which Franziska Weser will discuss the topic “XR and Science Communication with Augmented Reality  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/heartucate-at-learntec-2026/">Heartucate at Learntec 2026</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-3 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_2_3 2_3 fusion-two-third fusion-column-first fusion-animated" style="--awb-padding-top:30px;--awb-bg-size:cover;width:66.666666666667%;width:calc(66.666666666667% - ( ( 4% ) * 0.66666666666667 ) );margin-right: 4%;" data-animationType="fadeInRight" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-text fusion-text-11"><p><strong>27|04|2026</strong> – We will also be attending LEARNTEC this year. Together with other partners, we will be at the mobile.schule booth to showcase our XR applications in an educational context.</p>
<p>A special highlight is our presentation on Thursday at 11:10 a.m., during which Franziska Weser will discuss the topic “XR and Science Communication with Augmented Reality Escape Rooms.” The presentation will focus on how complex content can be made tangible through interactive, collaborative formats.</p>
<p>As a central platform for digital education, LEARNTEC offers an ideal opportunity to engage with stakeholders from schools, research, and EdTech and to gather new ideas for the use of XR technologies. We look forward to discussions on-site and making new connections!</p>
</div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_3 1_3 fusion-one-third fusion-column-last fusion-animated" style="--awb-bg-size:cover;width:33.333333333333%;width:calc(33.333333333333% - ( ( 4% ) * 0.33333333333333 ) );" data-animationType="fadeInLeft" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-image-element in-legacy-container" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-7 hover-type-none"><img decoding="async" width="1080" height="1350" title="1776411053636" src="https://heartucate.eu/wp-content/uploads/2026/04/1776411053636.jpg" alt class="img-responsive wp-image-58509" srcset="https://heartucate.eu/wp-content/uploads/2026/04/1776411053636-200x250.jpg 200w, https://heartucate.eu/wp-content/uploads/2026/04/1776411053636-400x500.jpg 400w, https://heartucate.eu/wp-content/uploads/2026/04/1776411053636-600x750.jpg 600w, https://heartucate.eu/wp-content/uploads/2026/04/1776411053636-800x1000.jpg 800w, https://heartucate.eu/wp-content/uploads/2026/04/1776411053636.jpg 1080w" sizes="(max-width: 800px) 100vw, 400px" /></span></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-size:cover;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:40px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-image:linear-gradient(270deg, #943076 0%,#e35223 100%);--awb-bg-size:cover;--awb-margin-bottom:0px;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:1px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/heartucate-at-learntec-2026/">Heartucate at Learntec 2026</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XR Training with the Landesfachstelle für Sächsische Bibliotheken</title>
		<link>https://heartucate.eu/en/news/xr-training-for-libraries/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 12:55:42 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58505</guid>

					<description><![CDATA[<p>16|04|2026 – Together with the Landesfachstelle für Sächsische Bibliotheken, we conducted a XR training workshop for libraries. The focus was on how interactive augmented reality applications can be meaningfully integrated into libraries’ educational work. In addition to hands-on testing of our “Journey to the Arctic” application, the workshop specifically addressed use cases, targeting specific audiences, and  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/xr-training-for-libraries/">XR Training with the Landesfachstelle für Sächsische Bibliotheken</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-4 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_2_3 2_3 fusion-two-third fusion-column-first fusion-animated" style="--awb-padding-top:30px;--awb-bg-size:cover;width:66.666666666667%;width:calc(66.666666666667% - ( ( 4% ) * 0.66666666666667 ) );margin-right: 4%;" data-animationType="fadeInRight" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-text fusion-text-12"><p><strong>16|04|2026</strong> – Together with the Landesfachstelle für Sächsische Bibliotheken, we conducted a XR training workshop for libraries.</p>
<p>The focus was on <strong>how interactive augmented reality applications can be meaningfully integrated into libraries’ educational work</strong>. In addition to hands-on testing of our “Journey to the Arctic” application, the workshop specifically addressed use cases, targeting specific audiences, and on-site implementation.</p>
<p>Libraries play a central role as low-threshold educational venues—which makes it all the more important to provide them with tools to test new formats.</p>
<p>We are pleased about the collaboration and the mutual exchange aimed at further developing educational offerings. The application can also be borrowed by other branches through the State Office.</p>
</div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_3 1_3 fusion-one-third fusion-column-last fusion-animated" style="--awb-bg-size:cover;width:33.333333333333%;width:calc(33.333333333333% - ( ( 4% ) * 0.33333333333333 ) );" data-animationType="fadeInLeft" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-image-element in-legacy-container" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-8 hover-type-none"><img decoding="async" width="1920" height="2560" title="20260415_094752" src="https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-scaled.jpg" alt class="img-responsive wp-image-58503" srcset="https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-200x267.jpg 200w, https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-400x533.jpg 400w, https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-600x800.jpg 600w, https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-800x1067.jpg 800w, https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-1200x1600.jpg 1200w, https://heartucate.eu/wp-content/uploads/2026/04/20260415_094752-scaled.jpg 1920w" sizes="(max-width: 800px) 100vw, 400px" /></span></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-8 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-size:cover;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:40px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-9 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-image:linear-gradient(270deg, #943076 0%,#e35223 100%);--awb-bg-size:cover;--awb-margin-bottom:0px;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:1px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/xr-training-for-libraries/">XR Training with the Landesfachstelle für Sächsische Bibliotheken</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Production begins: “Mary Shelley – The Lost Memory”</title>
		<link>https://heartucate.eu/en/news/production-begins-mary-shelley-the-lost-memory/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 12:37:43 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58493</guid>

					<description><![CDATA[<p>30|03|2026 – Production has begun on our new project, “Mary Shelley – The Lost Memory.” In this collaborative augmented reality experience, multiple players move together through a physical space and help an artificial intelligence based on Mary Shelley to recover her fragmented memories. The project addresses key questions surrounding artificial intelligence, responsibility, and control, translating them  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/production-begins-mary-shelley-the-lost-memory/">Production begins: “Mary Shelley – The Lost Memory”</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-5 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-10 fusion_builder_column_2_3 2_3 fusion-two-third fusion-column-first fusion-animated" style="--awb-padding-top:30px;--awb-bg-size:cover;width:66.666666666667%;width:calc(66.666666666667% - ( ( 4% ) * 0.66666666666667 ) );margin-right: 4%;" data-animationType="fadeInRight" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-text fusion-text-13"><p><strong>30|03|2026</strong> – Production has begun on our new project, <strong>“Mary Shelley – The Lost Memory.”</strong> In this <strong>collaborative augmented reality experience</strong>, multiple players move together through a physical space and help<strong> an artificial intelligence</strong> <strong>based on Mary Shelley</strong> to recover her fragmented memories.</p>
<p>The project addresses <strong>key questions surrounding artificial intelligence, responsibility, and control, translating them into an interactive, experiential format</strong>. Inspired by Frankenstein, it creates a narrative XR experience that facilitates shifts in perspective between use and reflection.</p>
<p>Parallel to the technical development, an <strong>accompanying educational concept is being created for use in educational settings</strong>.</p>
<p>The release is <strong>planned for the 2026–27 school year</strong>.</p>
</div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-11 fusion_builder_column_1_3 1_3 fusion-one-third fusion-column-last fusion-animated" style="--awb-bg-size:cover;width:33.333333333333%;width:calc(33.333333333333% - ( ( 4% ) * 0.33333333333333 ) );" data-animationType="fadeInLeft" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-image-element in-legacy-container" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-9 hover-type-none"><img decoding="async" width="718" height="1024" title="mary-shelly-iso-raum" src="https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-718x1024.png" alt class="img-responsive wp-image-58487" srcset="https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-200x285.png 200w, https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-400x570.png 400w, https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-600x856.png 600w, https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-800x1141.png 800w, https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum-1200x1711.png 1200w, https://heartucate.eu/wp-content/uploads/2026/04/mary-shelly-iso-raum.png 1728w" sizes="(max-width: 800px) 100vw, 400px" /></span></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-12 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-size:cover;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:40px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-13 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-image:linear-gradient(270deg, #943076 0%,#e35223 100%);--awb-bg-size:cover;--awb-margin-bottom:0px;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:1px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/production-begins-mary-shelley-the-lost-memory/">Production begins: “Mary Shelley – The Lost Memory”</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Heartucate at Didacta 2026: XR at the exciting edu booth</title>
		<link>https://heartucate.eu/en/news/heartucate-at-didacta-2026-xr-at-the-exciting-edu-booth/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 12:18:38 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58484</guid>

					<description><![CDATA[<p>18|03|2026 – “Hello, Didacta!” – We were back at Didacta again this year. At the Klett MEX booth, we were part of the exciting edu booth alongside other innovative education providers in Hall 8 (Booth C19). Visitors were able to try out our augmented reality applications firsthand and chat with us. A special highlight was Franziska  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/heartucate-at-didacta-2026-xr-at-the-exciting-edu-booth/">Heartucate at Didacta 2026: XR at the exciting edu booth</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-6 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-14 fusion_builder_column_2_3 2_3 fusion-two-third fusion-column-first fusion-animated" style="--awb-padding-top:30px;--awb-bg-size:cover;width:66.666666666667%;width:calc(66.666666666667% - ( ( 4% ) * 0.66666666666667 ) );margin-right: 4%;" data-animationType="fadeInRight" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-text fusion-text-14"><p><strong>18|03|2026</strong> – “Hello, Didacta!” – We were back at Didacta again this year.</p>
<p>At the Klett MEX booth, we were part of the exciting edu booth alongside other innovative education providers in Hall 8 (Booth C19). Visitors were able to try out our augmented reality applications firsthand and chat with us.</p>
<p>A special highlight was Franziska Weser’s presentation on <strong>XR and science communication</strong>, where we demonstrated how complex content can be made tangible through interactive, collaborative formats.</p>
<p>The exchange with teachers, media centers, and other stakeholders has once again confirmed to us that there is <strong>great interest in practical XR solutions that can be easily integrated into existing learning contexts</strong>.</p>
</div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-15 fusion_builder_column_1_3 1_3 fusion-one-third fusion-column-last fusion-animated" style="--awb-bg-size:cover;width:33.333333333333%;width:calc(33.333333333333% - ( ( 4% ) * 0.33333333333333 ) );" data-animationType="fadeInLeft" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-image-element in-legacy-container" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-10 hover-type-none"><img decoding="async" width="225" height="300" title="20260310_091638" src="https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-225x300.jpg" alt class="img-responsive wp-image-58479" srcset="https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-200x267.jpg 200w, https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-400x533.jpg 400w, https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-600x800.jpg 600w, https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-800x1067.jpg 800w, https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-1200x1600.jpg 1200w, https://heartucate.eu/wp-content/uploads/2026/04/20260310_091638-scaled.jpg 1920w" sizes="(max-width: 800px) 100vw, 400px" /></span></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-16 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-size:cover;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:40px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-17 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last" style="--awb-bg-image:linear-gradient(270deg, #943076 0%,#e35223 100%);--awb-bg-size:cover;--awb-margin-bottom:0px;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-column-wrapper-legacy"><div class="fusion-sep-clear"></div><div class="fusion-separator fusion-full-width-sep" style="margin-left: auto;margin-right: auto;margin-top:1px;width:100%;"></div><div class="fusion-sep-clear"></div><div class="fusion-clearfix"></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/news/heartucate-at-didacta-2026-xr-at-the-exciting-edu-booth/">Heartucate at Didacta 2026: XR at the exciting edu booth</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Journey to the Arctic</title>
		<link>https://heartucate.eu/en/productions/journey-to-the-arctic/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Tue, 13 Jan 2026 18:28:28 +0000</pubDate>
				<category><![CDATA[Productions]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=55344</guid>

					<description><![CDATA[<p>Start your journey to the Arctic!  “Journey to the Arctic” is an interactive augmented reality escape room for children aged 10 and up. In teams of up to four people, players explore the Arctic, solve puzzles, and develop a climate model. The multi-award-winning app combines modern learning with augmented reality  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/productions/journey-to-the-arctic/">Journey to the Arctic</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="fusion-fullwidth fullwidth-box fusion-builder-row-7 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-bottom:0px;--awb-padding-bottom-small:0px;--awb-margin-bottom:0px;--awb-margin-bottom-small:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-18 fusion-flex-column fusion-flex-align-self-flex-start fusion-animated" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInUp" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.1.1/model-viewer.min.js"></script>
<style>
  #hero-track-hero-92586 { 
      position: relative; 
      width: 100%;
      height: 450vh; 
      z-index: 10; 
  }
  #hero-sticky-viewport-hero-92586 { position: fixed; display: none; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; background-color: #1a1a1a; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s ease-in; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; perspective: 1200px; perspective-origin: center center; z-index: 1000; }
  #hero-sticky-viewport-hero-92586.loaded { opacity: 1; display: flex; }
  #hero-sticky-viewport-hero-92586.active { display: flex; }
  #hero-main-wrapper-hero-92586 { position: relative; z-index: 100; width: 90vw; max-width: 1000px; transform-style: preserve-3d; will-change: transform; margin: auto; }
  .hero-aspect-spacer-hero-92586 { width: 100%; padding-top: 68.72852233676976%; } 
  .hero-mask-hero-92586 { position: absolute; top: 0.3%; left: 1.7%; right: 8.7%; bottom: 0.4%; border-radius: 13px; overflow: hidden; transform: translate3d(0,0,0); background: transparent !important; }
  .hero-gradient-hero-92586 { position: absolute; bottom: 0; left: 0; right: 0; height: 93%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); z-index: 5; pointer-events: none; }
  .hero-layer-hero-92586 { position: absolute; inset: 0; transform-style: preserve-3d; backface-visibility: hidden; will-change: transform; }
  
  .hero-fixed-blur-layer-hero-92586 {
    position: absolute; 
    inset: 0; 
    border-radius: 20px;
    transform: translate3d(0,0,0) scale(1);
    opacity: 1;
    background-image: url('https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png'); background-size: cover; background-position: center; filter: blur(20px);
    
    pointer-events: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    z-index: 0; 
  }

  #hero-back-hero-92586 { 
      z-index: 10; 
      transform-style: preserve-3d; 
      transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); 
  }
  
  .hero-frame-img-hero-92586 { transform: translateZ(0px); z-index: 20; }
  .hero-model-3d-hero-92586 { 
      position: absolute; 
      top: 50%; 
      left: 50%; 
      width: 100%; 
      height: 100%; 
      display: block; 
      pointer-events: auto; 
      z-index: 20; 
      transform-origin: center center;
      transform: translate3d(-50%, -50%, 0px) translate3d(-3%, 0%, 0) scale(1.85) rotateZ(90deg) rotateY(0deg) rotateX(0deg); 
  }
  
  #hero-room-group-hero-92586 { z-index: 20; pointer-events: none; transform: scale(0.7) rotateZ(0deg) rotateY(13deg) rotateX(0deg) translate3d(0,0,91px); }
  .hero-room-img-layer-hero-92586 { position: absolute; width: 80%; height: auto; transform-origin: center center; top: -25%; left: 48%; transform: translate3d(-50%, 0, 0) scale(0.45); will-change: opacity, transform; backface-visibility: hidden; }
  #hero-front-hero-92586 { z-index: 30; pointer-events: none; transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); }
  
  .hero-bubble-hero-92586 {
    position: absolute; display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: linear-gradient(135deg, #058fb5D9, #058fb5D9, #13bbb9D9);
    border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    border-radius: 99px; color: white; font-weight: 700; font-size: 13px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    z-index: 1000; pointer-events: none; 
    white-space: nowrap;
    opacity: 0;
    transform: translate3d(-50%, -100%, 150px) scale(calc(var(--b-scale, 1) * 0.7));
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1), transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform, opacity;
    transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    isolation: isolate;
  }
  
  .hero-bubble-hero-92586.visible { 
    opacity: 1; 
    transform: translate3d(-50%, -50%, 150px) scale(var(--b-scale, 1)); 
  }
  
  .hero-bubble-hero-92586:nth-of-type(1) { transition-delay: 0.1s; }
  .hero-bubble-hero-92586:nth-of-type(2) { transition-delay: 0.2s; }
  .hero-bubble-hero-92586:nth-of-type(3) { transition-delay: 0.3s; }
  .hero-bubble-hero-92586:nth-of-type(4) { transition-delay: 0.4s; }
  .hero-bubble-hero-92586:nth-of-type(5) { transition-delay: 0.5s; }
  .hero-bubble-hero-92586:nth-of-type(6) { transition-delay: 0.6s; }

  .hero-bubble-icon-hero-92586 { 
      display: flex; align-items: center; justify-content: center; 
      width: 24px; height: 24px; color: white; 
      transform: translate3d(0, 0, 2px); 
  }
  .hero-bubble-icon-hero-92586 svg { 
      width: 24px; height: 24px; display: block; 
      stroke: white !important; fill: none; 
  }

  @keyframes spinIn3D-hero-92586 { 
      0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 
      100% { transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } 
  }
  @keyframes spinInFront-hero-92586 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,210px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 160px) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } }
  @keyframes spinInRoom-hero-92586 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,200px); opacity: 0; } 100% { transform: scale(0.7) rotateZ(0deg) rotateY(13deg) rotateX(0deg) translate3d(0,0,91px); opacity: 1; } }

  @media (max-width: 768px) {
      .hero-bubble-hero-92586 { display: none !important; }
      #hero-track-hero-92586 { height: 450vh; }
      #hero-sticky-viewport-hero-92586 { perspective: 1200px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
      #hero-main-wrapper-hero-92586 { width: 95vw; max-width: none; aspect-ratio: 0.734; }
      .hero-mask-hero-92586 { top: 4.5%; left: 3.2%; right: 2.9%; bottom: 4.6%; border-radius: 2px; }
      .hero-gradient-hero-92586 { height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); }
      
      .hero-fixed-blur-layer-hero-92586 { 
          
         opacity: 1;
         transform: translateZ(10px);
         border-radius: 20px;
         
      }
      .hero-model-3d-hero-92586 { transform: translate3d(-50%, -50%, 2px) translate3d(0%, 0%, 0) scale(1.3) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }

      #hero-back-hero-92586 { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      #hero-room-group-hero-92586 { z-index: 40 !important; transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); }
      .hero-room-img-layer-hero-92586 { top: 14%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.3); }
      #hero-front-hero-92586 { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      @keyframes spinIn3D-hero-92586 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInFront-hero-92586 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,110px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInRoom-hero-92586 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,80px); opacity: 0; } 100% { transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); opacity: 1; } }
  }
  .animate-entry-3d-hero-92586 { animation: spinIn3D-hero-92586 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-room-hero-92586 { animation: spinInRoom-hero-92586 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  #hero-front-hero-92586.animate-entry-3d-hero-92586 { animation: spinInFront-hero-92586 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

  /* --- CUSTOM 3D LOADER --- */
  .hero-loader-wrapper-hero-92586 {
      position: absolute;
      inset: 0;
      z-index: 9999;
      background-color: #1a1a1a;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
      will-change: opacity, visibility;
  }
  .hero-loader-wrapper-hero-92586.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .hero-loader-bg-hero-92586 {
      position: absolute;
      inset: 0;
      z-index: 1;
  }
  .hero-loader-gradient-hero-92586 {
      position: absolute;
      inset: 0;
      z-index: 2;
      background-size: 400% 400%;
      background-image: linear-gradient(-45deg, #982877, #D9353F, #FF6313, #982877);
      animation: gradientPulse-hero-92586 4s ease infinite;
      mix-blend-mode: multiply;
      opacity: 0.9;
  }
  @keyframes gradientPulse-hero-92586 {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
  }
  .hero-spinner-container-hero-92586 {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
  }
  .hero-spinner-hero-92586 {
      width: 50px;
      height: 50px;
      border: 4px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: #ffffff;
      animation: spinLoader-hero-92586 1s ease-in-out infinite;
  }
  @keyframes spinLoader-hero-92586 {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  .hero-loader-text-hero-92586 {
      color: #ffffff;
      font-family: var(--awb-typography4-font-family);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 2px;
      text-transform: uppercase;
      animation: pulseText-hero-92586 2s ease-in-out infinite;
  }
  @keyframes pulseText-hero-92586 {
      0%, 100% { opacity: 0.5; }
      50% { opacity: 1; }
  }
  @media(max-width: 768px){
    .hero-spinner-hero-92586 { width: 40px; height: 40px; border-width: 3px; }
    .hero-loader-text-hero-92586 { font-size: 12px; letter-spacing: 1.5px; }
  }
                </style>
<div id="hero-track-hero-92586">
  <div id="hero-sticky-viewport-hero-92586">
    <!-- CUSTOM LOADER -->
    <div id="hero-loader-hero-92586" class="hero-loader-wrapper-hero-92586">
       <div class="hero-loader-bg-hero-92586"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
       <div class="hero-loader-gradient-hero-92586"></div>
       <div class="hero-spinner-container-hero-92586">
          <div class="hero-spinner-hero-92586"></div>
          <div class="hero-loader-text-hero-92586">Lade 3D Erlebnis...</div>
       </div>
    </div>
    <!-- END LOADER -->
    <div style="position: absolute; inset: 0; z-index: 1;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div style="position: absolute; inset: 0; z-index: 2; mix-blend-mode: screen; opacity: 0.8;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png"><img decoding="async" src="" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div id="hero-main-wrapper-hero-92586">
      <div class="hero-aspect-spacer-hero-92586"></div>
      <div id="hero-back-hero-92586" class="hero-layer-hero-92586 animate-entry-3d-hero-92586">
        <model-viewer id="hero-model-hero-92586" src="https://yanncloud.de/ipad.glb" style="pointer-events: none;" disable-zoom disable-pan disable-tap interaction-prompt="none" min-camera-orbit="-45deg 90deg auto" max-camera-orbit="45deg 90deg auto" class="hero-model-3d-hero-92586"></model-viewer>
      </div>
      <div id="hero-room-group-hero-92586" class="hero-layer-hero-92586 animate-room-hero-92586"><img id="hero-room-slot0-hero-92586" class="hero-room-img-layer-hero-92586" decoding="sync" src="https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/50.png" style="z-index: 1;" alt="" /><img id="hero-room-slot1-hero-92586" class="hero-room-img-layer-hero-92586" decoding="sync" src="https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/50.png" style="z-index: 1; opacity: 0;" alt="" /></div>
      <div id="hero-front-hero-92586" class="hero-layer-hero-92586 animate-entry-3d-hero-92586">
        <div class="hero-mask-hero-92586" style="pointer-events: none; z-index: 10; transform: translate3d(0,0,4px); background: transparent !important; overflow: hidden; border-radius: 13px;">
          <div class="hero-fixed-blur-layer-hero-92586" style="opacity: 1; transform: translate3d(0,0,0) scale(1); z-index: 1;"></div>
          <div id="hero-gradient-el-hero-92586" class="hero-gradient-hero-92586" style="z-index: 5; opacity: 1;"></div>
        </div>
        <div style="position: absolute; inset: 0; pointer-events: none; transform: translate3d(0,0,6px); transform-style: preserve-3d; z-index: 20;">
          <picture style="position: absolute; inset: 0; width: 100%; height: 100%;">
            <source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/1-Logo.png">
            <img decoding="async" id="hero-logo-img-hero-92586" src="https://heartucate.eu/wp-content/uploads/2026/04/Reise-in-die-Arktis_Logo-English-removebg-preview.png" style="position: absolute; width: 40%; height: auto; z-index: 10; transform-origin: center bottom; top: 99%; left: 50%; transform: translate3d(-50%, -100%, 0) scale(1.45); opacity: 1;" alt="" />
          </picture>
        </div>
      </div>
      <div id="hero-bubbles-layer-hero-92586" class="hero-layer-hero-92586" style="z-index: 100; pointer-events: none;"></div>
    </div>
  </div>
</div>
                
<script>
document.addEventListener("DOMContentLoaded", function() {
  const track = document.getElementById('hero-track-hero-92586'), viewport = document.getElementById('hero-sticky-viewport-hero-92586'), wrapper = document.getElementById('hero-main-wrapper-hero-92586');
  const back = document.getElementById('hero-back-hero-92586'), front = document.getElementById('hero-front-hero-92586'), roomGroup = document.getElementById('hero-room-group-hero-92586');
  const bubbleLayer = document.getElementById('hero-bubbles-layer-hero-92586');
  const slots = [document.getElementById('hero-room-slot0-hero-92586'), document.getElementById('hero-room-slot1-hero-92586')], logo = document.getElementById('hero-logo-img-hero-92586'), gradient = document.getElementById('hero-gradient-el-hero-92586');
  
  // --- LOADER LOGIC ---
  const modelViewer = document.getElementById('hero-model-hero-92586');
  const loader = document.getElementById('hero-loader-hero-92586');
  let loaderDismissed = false;

  function dismissLoader() {
      if(loaderDismissed || !loader) return;
      loaderDismissed = true;
      loader.classList.add('hidden');
  }

  if(modelViewer && loader) {
      modelViewer.addEventListener('load', dismissLoader);
      modelViewer.addEventListener('error', dismissLoader);
      // Fallback: Max 8 seconds loader
      setTimeout(dismissLoader, 8000);
  } else {
      dismissLoader();
  }
  // --- END LOADER LOGIC ---

  const PARALLAX_MAX = 10;
  if(PARALLAX_MAX > 0 && window.matchMedia("(hover: hover)").matches && wrapper) { 
    let mouseTicking = false;
    document.addEventListener('mousemove', (e) => { 
      if (!mouseTicking) {
        window.requestAnimationFrame(() => {
          const x = (e.clientX / window.innerWidth - 0.5) * 2; 
          const y = (e.clientY / window.innerHeight - 0.5) * 2; 
          wrapper.style.transform = `rotateY(${x * PARALLAX_MAX}deg) rotateX(${-y * PARALLAX_MAX}deg)`; 
          mouseTicking = false;
        });
        mouseTicking = true;
      }
    }); 
  }
  
  const SEQ_ENABLED = true;
  const SEQ_IMAGES = ["https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/50.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/51.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/52.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/53.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/54.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/55.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/56.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/57.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/58.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/59.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/60.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/61.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/62.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/63.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/64.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/65.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/66.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/67.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/68.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/69.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/70.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/71.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/72.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/73.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/74.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/75.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/76.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/77.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/78.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/79.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/80.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/81.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/82.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/83.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/84.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/85.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/86.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/87.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/88.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/89.png","https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/90.png"];
  const ASSETS = { D: { room: "https://heartucate.eu/content/projects/reise-in-die-arktis/hero-section/1024x1024/50.png" }, M: { room: "https://heartucate.eu/wp-content/uploads/2025/11/7-1.png" } };
  
  const BUBBLES = [{"visible":true,"y":30,"scale":1,"x":17,"id":1,"side":"left","icon":"clock","text":"Approx. 30 minutes per cycle"},{"scale":1,"y":55,"visible":true,"icon":"target","text":"Age 10+","id":2,"x":0,"side":"left"},{"scale":1,"y":70,"visible":true,"icon":"pdf","text":"High-quality accompanying material","side":"left","id":3,"x":9},{"scale":1,"visible":true,"y":35,"icon":"users","text":"Up to 4 players per group","id":4,"side":"right","x":80},{"scale":1,"visible":true,"y":55,"icon":"tablet","text":"For tablets und smartphones","side":"right","id":5,"x":85},{"scale":1,"visible":true,"y":75,"icon":"vr","text":"Augmented Reality Escape Room","side":"right","id":6,"x":78}];
  const ICONS = {"clock":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline></svg>","users":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path></svg>","pdf":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>","tablet":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line></svg>","target":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle></svg>","vr":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line></svg>"};
  
  if(window.innerWidth > 768 && BUBBLES.length > 0) {
      BUBBLES.forEach(b => {
          if(!b.visible) return;
          const el = document.createElement('div');
          el.className = 'hero-bubble-hero-92586';
          el.style.left = b.x + '%'; el.style.top = b.y + '%';
          el.style.setProperty('--b-scale', b.scale || 1);
          el.innerHTML = `<div class="hero-bubble-icon-hero-92586">${ICONS[b.icon] || ''}</div><span>${b.text}</span>`;
          bubbleLayer.appendChild(el);
          void el.offsetHeight; // Force reflow for Safari icon injection
      });
  }

  if(SEQ_ENABLED && SEQ_IMAGES.length > 0) SEQ_IMAGES.forEach(src => { const img = new Image(); img.src = src; if('decode' in img) img.decode().catch(()=>{}); });
  if(viewport) viewport.classList.add('loaded');
  const unlockElements = [back, front, roomGroup];
  function unlockAnimation() { unlockElements.forEach(el => { if(el) { el.style.animation = 'none'; el.classList.remove('animate-entry-3d-hero-92586'); el.classList.remove('animate-room-hero-92586'); } }); update(0); }
  if(back) { back.addEventListener('animationend', unlockAnimation, { once: true }); setTimeout(unlockAnimation, 1600); } else { update(0); }
  const DesktopS = {"logoX":50,"logoY":99,"tabX":0,"roomRotY":13,"tabScale":0.7,"tabRotZ":0,"tabY":0,"logoScale":1.45,"logoOpacity":1,"roomY":-25,"roomScale":0.45,"roomX":48,"roomZ":91,"tabRotX":0,"roomRotZ":0,"tabRotY":11}, DesktopE = {"roomY":0,"roomScale":0.7,"roomX":46,"roomZ":338,"roomRotZ":0,"tabRotX":40,"tabRotY":48,"logoX":50,"logoY":150,"roomRotY":0,"tabX":0,"tabScale":0.7,"tabRotZ":-27,"tabY":0,"logoOpacity":0,"logoScale":0.8}, DesktopSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  const MobileS = {"tabScale":0.9,"roomRotY":null,"tabX":0,"logoY":88,"logoX":50,"logoScale":1.3,"logoOpacity":1,"tabY":0,"tabRotZ":0,"roomX":50,"roomScale":0.3,"roomY":14,"roomRotZ":0,"tabRotX":0,"tabRotY":0,"roomZ":800}, MobileE = {"roomY":12,"roomScale":1.55,"roomX":55,"roomZ":80,"tabRotX":53,"roomRotZ":0,"tabRotY":-10,"logoY":150,"logoX":50,"tabX":3,"roomRotY":0,"tabScale":0.7,"tabRotZ":4,"tabY":0,"logoScale":0.8,"logoOpacity":0}, MobileSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  let ticking = false;
  function getProgress(globalP, startP, endP) { if (globalP <= startP) return 0; if (globalP >= endP) return 1; return (globalP - startP) / (endP - startP); }
  function lerp(start, end, t) { return start * (1 - t) + end * t; }
  
  function updateSequence(p3D, baseImg) {
      if (!slots[0] || !slots[1]) return;
      let baseSrc, nextSrc, mix;
      if (!SEQ_ENABLED || SEQ_IMAGES.length === 0) { baseSrc = baseImg; nextSrc = baseImg; mix = 0; } else if (p3D <= 0) { baseSrc = baseImg; nextSrc = SEQ_IMAGES[0]; mix = 0; } else if (p3D >= 1) { const last = SEQ_IMAGES[SEQ_IMAGES.length - 1]; baseSrc = last; nextSrc = last; mix = 0; } else { const totalFrames = SEQ_IMAGES.length - 1; const floatIndex = p3D * totalFrames; const idxBase = Math.floor(floatIndex); const idxNext = Math.min(totalFrames, idxBase + 1); baseSrc = SEQ_IMAGES[idxBase]; nextSrc = SEQ_IMAGES[idxNext]; mix = floatIndex - idxBase; }
      const src0 = slots[0].getAttribute('src'), src1 = slots[1].getAttribute('src');
      let targetSlotBase = 0; if (src1 === baseSrc) targetSlotBase = 1; 
      const targetSlotNext = targetSlotBase === 0 ? 1 : 0; const sBase = slots[targetSlotBase]; if(sBase.getAttribute('src') !== baseSrc) sBase.src = baseSrc; sBase.style.opacity = 1; sBase.style.zIndex = 1; const sNext = slots[targetSlotNext]; if(sNext.getAttribute('src') !== nextSrc) sNext.src = nextSrc; let safeMix = mix; if (safeMix < 0.01) safeMix = 0; sNext.style.opacity = safeMix; sNext.style.zIndex = 2;
  }
  
  function update(scrollP) {
    const isMobile = window.innerWidth <= 768; const S = isMobile ? MobileS : DesktopS; const E = isMobile ? MobileE : DesktopE; const SEQ = isMobile ? MobileSEQ : DesktopSEQ; const currentBaseRoom = isMobile ? ASSETS.M.room : ASSETS.D.room;
    
    const pTab = getProgress(scrollP, SEQ.tab[0], SEQ.tab[1]);
    const tScale = lerp(S.tabScale, E.tabScale, pTab), tRotX = lerp(S.tabRotX, E.tabRotX, pTab), tRotY = lerp(S.tabRotY, E.tabRotY, pTab), tRotZ = lerp(S.tabRotZ, E.tabRotZ, pTab), tX = lerp(S.tabX, E.tabX, pTab), tY = lerp(S.tabY, E.tabY, pTab);
    
    if(back) back.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    if(front) front.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    
    const rRotX = lerp(S.tabRotX, 0, pTab), rRotY = lerp(S.roomRotY || 0, E.roomRotY || 0, pTab), rRotZ = lerp(S.roomRotZ || 0, E.roomRotZ || 0, pTab), rScale = lerp(S.roomScale, E.roomScale, pTab), rX = lerp(S.roomX, E.roomX, pTab), rY = lerp(S.roomY, E.roomY, pTab), rZ = lerp(S.roomZ || 80, E.roomZ || 80, pTab), roomLift = lerp(0, -15, pTab);
    
    if(roomGroup) roomGroup.style.transform = `scale(${tScale}) rotateZ(${rRotZ}deg) rotateY(${rRotY}deg) rotateX(${rRotX}deg) translate3d(0, 0, ${rZ}px)`;
    slots.forEach(img => { if(img) { 
      img.style.top = `${rY}%`; 
      img.style.left = `${rX}%`; 
      img.style.transform = `translate3d(-50%, ${roomLift}%, 0) scale(${rScale})`; 
    } });
    
    const p3D = getProgress(scrollP, SEQ.room3d[0], SEQ.room3d[1]); updateSequence(p3D, currentBaseRoom);
    
    const showBubbles = p3D > 0.1;
    const bubbles = bubbleLayer.querySelectorAll('.hero-bubble-hero-92586');
    bubbles.forEach(b => { if(showBubbles) b.classList.add('visible'); else b.classList.remove('visible'); });

    const pLogo = getProgress(scrollP, SEQ.logo[0], SEQ.logo[1]), lScale = lerp(S.logoScale, E.logoScale, pLogo), lX = lerp(S.logoX, E.logoX, pLogo), lY = lerp(S.logoY, E.logoY, pLogo), lOp = lerp(S.logoOpacity, E.logoOpacity, pLogo);
    if(logo) { logo.style.top = `${lY}%`; logo.style.left = `${lX}%`; logo.style.opacity = lOp; logo.style.transform = `translate3d(-50%, -100%, 0) scale(${lScale})`; }
    if(gradient) gradient.style.opacity = lOp; 
  }

  function loop() {
    if (!track || !viewport) { requestAnimationFrame(loop); return; }
    const rect = track.getBoundingClientRect();
    const winH = window.innerHeight;
    
    if (rect.bottom > 0 && rect.top < winH) {
      viewport.classList.add('active');
      const scrollP = Math.max(0, Math.min(1, -rect.top / (rect.height - winH)));
      
      // Handle the "slide out" at the very bottom
      if (rect.bottom < winH) {
        viewport.style.transform = `translate3d(0, ${rect.bottom - winH}px, 0)`;
      } else {
        viewport.style.transform = 'translate3d(0, 0, 0)';
      }
      
      update(scrollP);
    } else {
      viewport.classList.remove('active');
    }
    requestAnimationFrame(loop);
  }
  requestAnimationFrame(loop);
  
  window.addEventListener('resize', () => { if(viewport) update(0); }); 
});
</script>
                
<style>
#fc-section-fc-9185 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: -50px; 
    overflow: hidden; 
    font-family: 'Geometria', 'Segoe UI', sans-serif;
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-9185 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-9185 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-9185 {
    margin-bottom: 60px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-9185 h2 {
    font-size: 52px;
    font-weight: 800;
    color: #0591b9;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-9185 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(165px);
}
@media(max-width: 640px) {
    .fc-header-fc-9185 { text-align: center; } 
    .fc-header-fc-9185 h2 { font-size: 36px; } 
    .fc-header-logo-fc-9185 { transform: translateX(0px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-9185 {
    margin-top: 40px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-9185 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-9185 {
    display: inline-block;
    background: #b80505;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-9185:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-9185 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 1.2000000000000002s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-9185 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-9185 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-9185 { animation-delay: 0.1s; }
.fc-header-fc-9185 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-9185 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #22465e, #07a5bb, #0293ba, #0fb9c0); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-9185 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-9185 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-9185 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-9185 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-9185 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-9185 { opacity: 0; transform: translateY(-50%) scale(0.9) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-9185 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-9185 { opacity: 1; transform: translateY(-50%) scale(0.9) translateX(0); }
.fc-in-view .fc-bg-heart-fc-9185 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-9185 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-9185 { display: none; position: absolute; right: -5%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-9185 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-9185 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-9185 { display: block; } .fc-bg-heart-fc-9185 { display: block; } #fc-grid-fc-9185 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-9185 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-9185 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-9185 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-9185 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-9185 { fill: none; stroke: url(#line-grad-fc-9185); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-9185); }
</style>
<div id="fc-section-fc-9185">
    <div class="fc-bg-gradient-fc-9185"></div><div class="fc-bg-grain-fc-9185"></div>
    <svg class="fc-bg-heart-fc-9185" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/low-poly-bear.png" class="fc-side-image-fc-9185" alt="" />
    
    <div id="fc-wrap-fc-9185">
        
                <div class="fc-header-fc-9185">
                    
                    <div class="fc-header-reveal"><h2>Journey to the Arctic</h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-9185" class="fc-snake-svg-fc-9185">
            <defs>
                <linearGradient id="line-grad-fc-9185" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#07a5bb" />
                    <stop offset="50%" stop-color="#22465e" />
                    <stop offset="100%" stop-color="#0293ba" />
                </linearGradient>
                <mask id="fc-mask-fc-9185"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-9185"></g></mask>
            </defs>
            <path id="fc-path-fc-9185" class="fc-snake-path-fc-9185" d="" />
        </svg>
        <div id="fc-grid-fc-9185">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="70" height="82" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:70px; min-height:82px;"><path d="M9 21h6v-1.5H9V21zm3-19C8.48 2 5.5 4.98 5.5 8.5c0 2.85 1.43 5.5 3.5 6.95V19h6v-3.55c2.07-1.44 3.5-4.1 3.5-6.95C18.5 4.98 15.52 2 12 2z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject</h3><p>Climate research & Arctic</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:54px; min-height:64px;"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14 M22 4L12 14.01l-3-3" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject contents</h3><p>Geography, biology, natural sciences, ESD</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="464" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:464px;"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z M12 6v6l4 2" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>30 minutes per run</h3><p>Short and sweet – perfect for a lesson.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.6000000000000001s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="98" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:98px;"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 7a4 4 0 1 0 0-8 4 4 0 0 0 0 8z M23 21v-2a4 4 0 0 0-3-3.87 M16 3.13a4 4 0 0 1 0 7.75" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Up to 4 players per group</h3><p>Ideal for small groups – cooperative & quick to get started.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.8s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:80px;"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z M12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Suitable for grades 5 and above</h3><p>Designed to high educational standards for learners from secondary level I onwards.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="128" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:128px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2L14 8 20 8 M16 13L8 13 M16 17L8 17 M10 9L8 9" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>High-quality accompanying material</h3><p>Differentiated materials with real climate data presented in a child-friendly way. </p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1.2000000000000002s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="62" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:62px;"><path d="M12 18h.01M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z M12 18h.01" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For tablets and smartphones</h3><p>Compatible with iOS and Android, no additional devices required.</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 1.4000000000000001s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-230px, -30px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2020/09/Heartucate_Logo.svg" style="transform: translate(0px, -15px) scale(1.8);" alt="Produced by" /></div>
                    </div>
                    <div class="fc-content"><h3>Produced by</h3><p>Reise in die Arktis ist eine Eigenproduktion der Heartucate GmbH.</p></div>
                </div></div>
        
                <div class="fc-action-wrapper-fc-9185">
                    <a href="https://shop.heartucate.eu/pages/produkte" class="fc-action-btn-fc-9185 fc-btn-reveal">Let's go to the Arctic</a>
                </div>
            
    </div>
</div>
<script>(function(){
    const uid = "fc-9185";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 8 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.9) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.9)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-video fusion-selfhosted-video" style="max-width:100%;"><div class="video-wrapper" style="border-radius:30px 30px 30px 30px;"><video playsinline="true" width="100%" style="object-fit: cover;" autoplay="true" muted="true" loop="true" preload="auto" controls="1"><source src="https://heartucate.eu/wp-content/uploads/2025/12/25.25_Heartucate-APP-Trailer_v11.mp4" type="video/mp4">Sorry, your browser doesn&#039;t support embedded videos.</video></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:50px;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-13 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-max-width:400px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-11 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="513" height="514" title="pic1" src="https://heartucate.eu/wp-content/uploads/2026/01/pic1.png" alt class="img-responsive wp-image-58095" srcset="https://heartucate.eu/wp-content/uploads/2026/01/pic1-200x200.png 200w, https://heartucate.eu/wp-content/uploads/2026/01/pic1-400x401.png 400w, https://heartucate.eu/wp-content/uploads/2026/01/pic1.png 513w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 513px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-14 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#0091b9;--awb-margin-top:55px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Start your journey to the Arctic!</h3></div><div class="fusion-text fusion-text-15 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>“Journey to the Arctic” is an interactive augmented reality escape room for children aged 10 and up. In teams of up to four people, players explore the Arctic, solve puzzles, and develop a climate model. The multi-award-winning app combines modern learning with augmented reality and is perfect for use at home, at school, or in extracurricular educational settings.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-15 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-padding-top:55px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#007aac;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Interactive climate workshop</h3></div><div class="fusion-text fusion-text-16 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>Carefully prepared accompanying material is available for the “Journey to the Arctic” app. A presentation provides a clear introduction to climate change and the Arctic, while supplementary worksheets explore the topics of the Arctic ecosystem, climate research, climate models, and specific courses of action in greater depth. The package is rounded off by detailed step-by-step instructions that make it easier for teachers to plan and implement a complete project day.</p>
</div><div ><a class="fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-1 fusion-button-default-span fusion-button-default-type fusion-animated" style="--button_accent_color:#ffffff;--button_accent_hover_color:#ffffff;--button_border_hover_color:#ffffff;--button-border-radius-top-left:15px;--button-border-radius-top-right:15px;--button-border-radius-bottom-right:15px;--button-border-radius-bottom-left:15px;--button_gradient_top_color:#0091b9;--button_gradient_bottom_color:#0091b9;--button_gradient_top_color_hover:var(--awb-custom_color_3);--button_gradient_bottom_color_hover:var(--awb-custom_color_3);--button_font_size:18px;" data-animationType="zoomIn" data-animationDuration="0.3" data-animationDelay="0.8" data-animationOffset="top-into-view" target="_self" href="https://shop.heartucate.eu/products/arktis-starter-bundle"><span class="fusion-button-text awb-button__text awb-button__text--default">Check out the workshop bundle</span></a></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-16 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="--awb-max-width:400px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-12 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><img decoding="async" width="1080" height="1080" title="1" src="https://heartucate.eu/wp-content/uploads/2025/12/1.png" alt class="img-responsive wp-image-56596" srcset="https://heartucate.eu/wp-content/uploads/2025/12/1-200x200.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/1-400x400.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/1-600x600.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/1-800x800.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/1.png 1080w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div></div><style>
#aw-354 {
    width: 100vw; 
    position: relative;
    left: 50%;
    margin-left: -50vw;
    box-sizing: border-box;
    overflow: hidden;
    
    /* VARIABLEN */
    --gap: clamp(14px, 2vw, 28px);
    --glass: 12px;
    --glass-bg: rgba(255, 255, 255, 0.4);
    --glass-stroke: rgba(255, 255, 255, 0.6);
    --shadow: 0 10px 30px -10px rgba(0,0,0,0.08);
    /* DYNAMISCHE FARBEN */
    --bg-primary: #0293ba; 
    --bg-secondary: #0fb9c0;
    
    padding: clamp(60px, 8vw, 100px) 50px;
    border-bottom-left-radius: 51px;
    border-bottom-right-radius: 51px;
    color: #1e293b;
    font-family: 'Geometria', sans-serif;
    isolation: isolate;
    min-height: 80vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent; 
}

/* BACKGROUND LAYER */
#aw-354 .aw-bg-wrapper {
    position: absolute; inset: 0; z-index: -1; pointer-events: none;
    opacity: 1; 
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 10%, black 50%, black 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, transparent 10%, black 50%, black 100%);
}

#aw-354 .aw-tint { position: absolute; inset: 0; background: linear-gradient(to bottom, #fff0f0 0%, #fff7ed 100%); }
#aw-354 .aw-grain { position: absolute; inset: 0; opacity: 0.4; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); mix-blend-mode: overlay; }
#aw-354 .aw-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.3; mix-blend-mode: multiply; }
#aw-354 .aw-blob-1 { width: 60vw; height: 60vw; top: -10%; left: -10%; background: var(--bg-primary); animation: float1 25s infinite alternate ease-in-out; }
#aw-354 .aw-blob-2 { width: 50vw; height: 50vw; bottom: -10%; right: -10%; background: var(--bg-secondary); animation: float2 30s infinite alternate ease-in-out; }

@keyframes float1 { from { transform: translate(0,0) rotate(0deg); } to { transform: translate(50px, 50px) rotate(10deg); } }
@keyframes float2 { from { transform: translate(0,0) rotate(0deg); } to { transform: translate(-50px, -30px) rotate(-10deg); } }

/* CARDS */
#aw-354 .aw-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 40px; max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 10; }
#aw-354 .aw-card { perspective: 1000px; }
#aw-354 .aw-glass {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
    padding: 30px; background: var(--glass-bg); 
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-stroke); border-radius: 20px; box-shadow: var(--shadow);
    transition: transform 0.4s ease, box-shadow 0.4s ease; transform-style: preserve-3d; min-height: 300px; 
}
#aw-354 .aw-glass:hover { transform: translateY(-10px); box-shadow: 0 20px 40px -12px rgba(237, 109, 50, 0.2), 0 0 0 1px rgba(255,255,255,0.8); background: rgba(255, 255, 255, 0.65); }
#aw-354 .aw-img-box { width: 100%; flex: 1; display: flex; align-items: center; justify-content: center; margin-bottom: 40px; padding: 20px; }
#aw-354 .aw-img-box img { max-width: 100%; max-height: 140px; object-fit: contain; transform: translateZ(20px); filter: drop-shadow(0 5px 15px rgba(0,0,0,0.1)); transition: transform 0.4s ease; }
#aw-354 .aw-glass:hover img { transform: translateZ(50px) scale(1.1); }
#aw-354 .aw-year { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%) translateZ(10px); font-size: 15px; font-weight: 800; color: var(--bg-secondary); background: #fff; padding: 6px 18px; border-radius: 99px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); white-space: nowrap; }
#aw-354 .will-reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
#aw-354 .in { opacity: 1; transform: translateY(0); }

@media(max-width: 768px) {
    #aw-354 { padding: 60px 20px; }
    #aw-354 .aw-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    #aw-354 .aw-glass { padding: 15px; min-height: 220px; }
    #aw-354 .aw-year { font-size: 12px; padding: 4px 12px; bottom: 15px; }
    #aw-354 .aw-img-box { margin-bottom: 30px; padding: 10px; }
}
</style>

<section id="aw-354">
    <div class="aw-bg-wrapper">
        <div class="aw-tint"></div>
        <div class="aw-blob aw-blob-1"></div>
        <div class="aw-blob aw-blob-2"></div>
        <div class="aw-grain"></div>
    </div>
    <div class="aw-grid">
                <div class="aw-card will-reveal">
                    <div class="aw-glass">
                        <div class="aw-img-box"><img decoding="async" src="https://shop.heartucate.eu/cdn/shop/files/goldenerSpatz_600x.png?v=1757595107" alt="Award 1" loading="lazy"></div>
                        <div class="aw-year">2025</div>
                    </div>
                </div>
            
                <div class="aw-card will-reveal">
                    <div class="aw-glass">
                        <div class="aw-img-box"><img decoding="async" src="https://shop.heartucate.eu/cdn/shop/files/Paedagogischer-Medienpreis-2024_600x.png?v=1757595106" alt="Award 2" loading="lazy"></div>
                        <div class="aw-year">2024</div>
                    </div>
                </div>
            
                <div class="aw-card will-reveal">
                    <div class="aw-glass">
                        <div class="aw-img-box"><img decoding="async" src="https://shop.heartucate.eu/cdn/shop/files/Kurzsuechtig2022_600x.png?v=1757595107" alt="" loading="lazy"></div>
                        <div class="aw-year">2022</div>
                    </div>
                </div>
            
                <div class="aw-card will-reveal">
                    <div class="aw-glass">
                        <div class="aw-img-box"><img decoding="async" src="https://shop.heartucate.eu/cdn/shop/files/besteAutomatisierung21_600x.png?v=1757595107" alt="" loading="lazy"></div>
                        <div class="aw-year">2021</div>
                    </div>
                </div>
            </div>
</section>

<script>
(function(){
    const r = document.getElementById('aw-354');
    if(!r) return;
    const obs = new IntersectionObserver((entries) => {
        entries.forEach(e => {
            if(e.isIntersecting) { e.target.classList.add('in'); obs.unobserve(e.target); }
        });
    }, { threshold: 0.1 });
    r.querySelectorAll('.will-reveal').forEach((el, i) => { el.style.transitionDelay = (i * 100) + 'ms'; obs.observe(el); });
    
    const cards = r.querySelectorAll('.aw-glass');
    cards.forEach(c => {
        c.addEventListener('mousemove', (e) => {
            const b = c.getBoundingClientRect();
            const x = (e.clientX - b.left) / b.width - 0.5;
            const y = (e.clientY - b.top) / b.height - 0.5;
            c.style.transform = `perspective(1000px) rotateX(${y * -8}deg) rotateY(${x * 8}deg) translateY(-10px)`;
        });
        c.addEventListener('mouseleave', () => { c.style.transform = ''; });
    });
})();
</script><style>
#bento-8682 { position: relative; width: 100vw; left: 50%; margin-left: -50vw; box-sizing: border-box; font-family: 'Geometria', sans-serif; padding: 80px 160px; background: transparent; overflow: hidden; }
@media(max-width: 768px) { #bento-8682 { padding: 40px 15px; } }
#bento-8682::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #0293ba, #22465e, #07a5bb, #0fb9c0); opacity: 0.45; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); }
#bento-8682 .bento-grid { position: relative; z-index: 10; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; gap: 20px; max-width: 1200px; margin: 0 auto; grid-auto-rows: 90px; }
@media(max-width: 1200px) { #bento-8682 .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 90px; } }
@media(max-width: 800px) { #bento-8682 .bento-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }
#bento-8682 .bento-item { position: relative; border-radius: 24px; transform-style: preserve-3d; cursor: pointer; transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1; }
#bento-8682 .span-c-1 { grid-column: span 1; } #bento-8682 .span-c-2 { grid-column: span 2; } #bento-8682 .span-c-3 { grid-column: span 3; } #bento-8682 .span-c-4 { grid-column: span 4; } #bento-8682 .span-c-5 { grid-column: span 5; } #bento-8682 .span-c-6 { grid-column: span 6; }
#bento-8682 .span-r-1 { grid-row: span 1; } #bento-8682 .span-r-2 { grid-row: span 2; } #bento-8682 .span-r-3 { grid-row: span 3; } #bento-8682 .span-r-4 { grid-row: span 4; } #bento-8682 .span-r-5 { grid-row: span 5; } #bento-8682 .span-r-6 { grid-row: span 6; }
@media(max-width: 800px) { #bento-8682 .bento-item { grid-column: span 1 !important; grid-row: span 1 !important; } #bento-8682 .bento-item.span-c-3, #bento-8682 .bento-item.span-c-4, #bento-8682 .bento-item.span-c-5, #bento-8682 .bento-item.span-c-6 { grid-column: span 2 !important; grid-row: span 2 !important; } }
#bento-8682 .bento-item.expanded { grid-column: span var(--exp-c, 4) !important; grid-row: span var(--exp-r, 4) !important; z-index: 100; }
@media(max-width: 1200px) { #bento-8682 .bento-item.expanded { grid-column: span min(var(--exp-c, 4), 4) !important; } }
@media(max-width: 800px) { #bento-8682 .bento-item.expanded { grid-column: span 2 !important; grid-row: span 3 !important; } #bento-8682 .bento-item.expanded[data-type="video"] { aspect-ratio: 16/9 !important; height: auto !important; min-height: unset !important; grid-row: span 2 !important; } }
#bento-8682 .bento-grid.has-expanded .bento-item:not(.expanded) { opacity: 0.4; transform: scale(0.96); filter: grayscale(100%); pointer-events: auto; }
#bento-8682 .bento-inner { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: transform 0.3s ease-out; transform: translateZ(0); }
#bento-8682 .bento-item.expanded .bento-inner { transform: none !important; box-shadow: 0 40px 100px -20px rgba(0,0,0,0.5); border: 3px solid #4F46E5; }
#bento-8682 .bento-warp-bg { position: absolute; inset: 0; border-radius: 24px; background: linear-gradient(135deg, #0293ba, #22465e); opacity: 0; z-index: -1; transform: scale(0.8); pointer-events: none; }
@keyframes warpShock-bento-8682 { 0% { opacity: 0.6; transform: scale(0.95); } 100% { opacity: 0; transform: scale(1.4); } }
#bento-8682 .bento-item.expanded .bento-warp-bg { animation: warpShock-bento-8682 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
#bento-8682 .bento-media-wrap { width: 100%; height: 100%; position: relative; }
#bento-8682 img, #bento-8682 video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); }
#bento-8682 .bento-item:not(.expanded):hover img { transform: scale(1.08); }
#bento-8682 .bento-play-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; text-shadow: 0 4px 15px rgba(0,0,0,0.5); pointer-events: none; transition: opacity 0.3s; opacity: 0; }
#bento-8682 .bento-item[data-type="video"]:not(.expanded):hover .bento-play-icon { opacity: 1; }
#bento-8682 .bento-item.expanded .bento-play-icon { display: none; }
#bento-8682 .bento-close-btn { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); border-radius: 50%; color: white; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 101; opacity: 0; pointer-events: none; transform: scale(0.8); transition: all 0.4s ease; }
#bento-8682 .bento-item.expanded .bento-close-btn { opacity: 1; pointer-events: all; transform: scale(1); }
#bento-8682 .bento-close-btn:hover { background: #C63F40; transform: scale(1.1); }
#bento-8682 .bento-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); opacity: 0; transform: translateY(10px); transition: all 0.3s; pointer-events: none; }
#bento-8682 .bento-item:hover:not(.expanded) .bento-overlay { opacity: 1; transform: translateY(0); }
#bento-8682 .bento-item.expanded .bento-overlay { opacity: 0; }
#bento-8682 h3 { margin: 0; color: white; font-size: 18px; font-weight: 700; }
</style>
<div id="bento-8682"><div class="bento-grid" id="grid-bento-8682">
                <div class="bento-item span-c-3 span-r-3 js-bento-card" data-type="video" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><video src="https://heartucate.eu/wp-content/uploads/2025/12/25.25_Heartucate-APP-Trailer_v11.mp4" muted loop playsinline poster=""></video><div class="bento-play-icon">▶</div></div>
                        <div class="bento-overlay"><h3>Trailer</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/o1L_vn8gWp_wLz49cphL3k03cRuHkEkpqoVONLoZk9enXjLyadcqNbHtwAVLMlU_-Xk=w1052-h592-rw" alt="Video" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Echte Klimadaten</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/h55U_h0S4S2YAn5w3TKlG8cOnv6QkDPePKnl24SYkYqGuzxBr3ylPhgEJSTdbe9vWxI=w1052-h592-rw" alt="Detail" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Spannende Rätsel</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/Kr5kqR0sYJ08Ym9fhLDzlg_kYejh0kpxDrG0fwP7Wbt-gW68yC1pWv1RJ4TA5LzQ2Ns=w1052-h592-rw" alt="Atmo" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Entdecke die arktische Fauna</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/igA6dzT11a4auLrGjdt2dxOwFguYzECg5Y0jW768kXvfmeWMNDIFuP2nQyQDHZRirQvv=w1052-h592-rw" alt="Clean" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Eisdicke</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/igNqT_Gvad51735zyCkLtfEzRZNu5BBSmfN-NYZSeplFYWGOy5tdnjCO_juvfoGw8cw=w1052-h592-rw" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Forschungsstatio </h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-3 js-bento-card" data-type="image" style="--exp-c: 4; --exp-r: 4;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Trackermatte</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/LnRPBioUSc5S9Zw-yYwKjmJOiMqKkbH7sc-kY48UUmYRH2F2wmrRQzLC-GLXJjiTTA=w1052-h592-rw" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Aureus</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-1 span-r-3 js-bento-card" data-type="image" style="--exp-c: 2; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://play-lh.googleusercontent.com/UMJ30G0352WBT7N_IycM5ilEjMe0Q0Zgp0RvksOXiZ0U8ILR-yg9Ewd6rapmYh1mdCU=w1052-h592-rw" alt="" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Feldbuch</h3></div>
                    </div>
                </div></div></div>
<script>(function(){const grid=document.getElementById('grid-bento-8682'),cards=grid.querySelectorAll('.js-bento-card');cards.forEach(el=>{const vid=el.querySelector('video'),closeBtn=el.querySelector('.bento-close-btn'),inner=el.querySelector('.bento-inner');el.addEventListener('mousemove',(e)=>{if(el.classList.contains('expanded'))return;const r=el.getBoundingClientRect(),x=e.clientX-r.left,y=e.clientY-r.top,cX=r.width/2,cY=r.height/2,rX=((y-cY)/cY)*-4,rY=((x-cX)/cX)*4;inner.style.transform=`perspective(1000px) rotateX(${rX}deg) rotateY(${rY}deg) scale(1.02)`});el.addEventListener('mouseleave',()=>{if(!el.classList.contains('expanded'))inner.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1)'});el.addEventListener('click',(e)=>{if(el.classList.contains('expanded')&&vid)return;if(el.classList.contains('expanded')&&!vid)return;cards.forEach(c=>{const cVid=c.querySelector('video');if(cVid){cVid.muted=true;cVid.loop=true;cVid.removeAttribute('controls');cVid.play()}c.classList.remove('expanded')});grid.classList.add('has-expanded');el.classList.add('expanded');inner.style.transform='';if(vid){vid.currentTime=0;vid.muted=false;vid.loop=false;vid.setAttribute('controls','true');vid.play()}setTimeout(()=>el.scrollIntoView({behavior:'smooth',block:'center'}),400)});if(closeBtn){closeBtn.addEventListener('click',(e)=>{e.stopPropagation();el.classList.remove('expanded');grid.classList.remove('has-expanded');if(vid){vid.muted=true;vid.loop=true;vid.removeAttribute('controls');vid.play()}})}})})();</script>
<style>
#ref-3932-section { height: 350vh; position: relative; width: 100%; z-index: 10; }
#ref-3932 { position: sticky; top: 0; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); left: 0; right: 0; height: 100vh; overflow: hidden; font-family: 'Geometria', 'Segoe UI', sans-serif; display: flex; align-items: center; justify-content: flex-start; }
#ref-3932 .ref-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; transition: opacity 0.3s; background: linear-gradient(180deg, #ffffff, #f0f9ff); opacity: 1; }
#ref-3932 .ref-track { display: flex; align-items: center; gap: 40px; padding-left: calc(50vw - 200px); padding-right: calc(50vw - 200px); width: max-content; height: 100%; will-change: transform; }
#ref-3932 .ref-item { flex: 0 0 400px; position: relative; z-index: 10; pointer-events: none; }
#ref-3932 .ref-item > * { pointer-events: auto; }
#ref-3932 .ref-transform-layer { width: 100%; transform-origin: center center; transition: transform 0.1s linear, opacity 0.1s linear, filter 0.1s linear; will-change: transform, opacity, filter; }
#ref-3932 .ref-bubble { background: #0890b8; padding: 35px; border-radius: 20px; position: relative; box-shadow: 0 15px 40px -10px rgba(0,0,0,0.08); margin-bottom: 25px; border: 1px solid rgba(0,0,0,0.03); }
#ref-3932 .ref-bubble::after { content: ''; position: absolute; bottom: -14px; left: 40px; width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid #0890b8; }
#ref-3932 .ref-quote-icon { position: absolute; top: 15px; right: 25px; font-size: 80px; line-height: 0; font-family: serif; color: #0f766e; opacity: 0.15; }
#ref-3932 p { margin: 0; font-size: 17px; line-height: 1.6; color: #ffffff; font-weight: 500; }
#ref-3932 .ref-footer { padding-left: 20px; display: flex; align-items: center; gap: 20px; }
#ref-3932 .ref-logo { display: block; height: 60px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(100%); opacity: 0.7; transition: all 0.3s; }
#ref-3932 .ref-transform-layer[data-active="true"] .ref-logo { filter: grayscale(0%); opacity: 1; }
#ref-3932 .ref-meta h4 { margin: 0; font-size: 15px; font-weight: 800; color: #1e293b; }
#ref-3932 .ref-meta span { display: block; font-size: 13px; color: #0f766e; font-weight: 600; margin-top: 2px; }
@media(max-width: 600px) { #ref-3932 .ref-track { padding-left: calc(50vw - 42.5vw); padding-right: calc(50vw - 42.5vw); } #ref-3932 .ref-item { flex: 0 0 85vw; } #ref-3932 .ref-bubble { padding: 25px; } #ref-3932 p { font-size: 15px; } }
</style>
<div id="ref-3932-section"><div id="ref-3932"><div class="ref-bg"></div><div class="ref-track" id="track-ref-3932">
                    <div class="ref-item">
                        <div class="ref-transform-layer">
                            <div class="ref-bubble">
                                <div class="ref-quote-icon">“</div>
                                <p>"Die App ist für unsere BNE-Workshops die perfekte Anwendung um die Themen Klimawandel und Nachhaltigkeit spielerisch zu vertiefen. Die virtuelle Reise zur Forschungsstation und das gemeinsame Rätsellösen war für die Kids auf jeden Fall eine aufregende Erfahrung und hat den Spaßfaktor enorm gesteigert. Eine klare Empfehlung von uns - insbesondere für Lehrkräfte, die BNE und Medienbildung zeitgemäß unterrichten möchten."</p>
                            </div>
                            <div class="ref-footer">
                                <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/02/Logo-Lfd-rgb_706-300x142.jpg" alt="Hannah Kern" class="ref-logo" />
                                <div class="ref-meta">
                                    <h4>Hannah Kern</h4>
                                    <span>Landesfilmdienst Sachsen e.V.</span>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="ref-item">
                        <div class="ref-transform-layer">
                            <div class="ref-bubble">
                                <div class="ref-quote-icon">“</div>
                                <p>„Die Lernenden waren begeistert von dem Spiel und konnten dabei ihre Teamkompetenz unter Beweis stellen. Während des Kurses fragten die Kinder immer wieder, ob sie es noch einmal spielen dürfen – einige haben es sogar zwei- oder dreimal durchgespielt, ohne das Interesse zu verlieren.“

</p>
                            </div>
                            <div class="ref-footer">
                                <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/02/Logo_Inspirata_Claim_CMYK-1-400x282.png" alt="AG Kursleiter" class="ref-logo" />
                                <div class="ref-meta">
                                    <h4>AG Kursleiter</h4>
                                    <span>INSPIRATA Zentrum für mathematisch-naturwissenschaftliche Bildung e.V.</span>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="ref-item">
                        <div class="ref-transform-layer">
                            <div class="ref-bubble">
                                <div class="ref-quote-icon">“</div>
                                <p>„Endlich eine Augmented Reality Anwendung, die das Potential von „Mehrspieler-Interaktion“ im Lernkontext überzeugend demonstriert.“</p>
                            </div>
                            <div class="ref-footer">
                                <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/02/Kombinationslogo_ZLS_nebeneinander-600x197.jpg" alt="Dominik Becher" class="ref-logo" />
                                <div class="ref-meta">
                                    <h4>Dominik Becher</h4>
                                    <span>ZLS, Universität Leipzig</span>
                                </div>
                            </div>
                        </div>
                    </div></div></div></div>
<script>(function(){const section=document.getElementById('ref-3932-section'),sticky=document.getElementById('ref-3932'),track=document.getElementById('track-ref-3932');if(!section||!sticky||!track)return;let rafId;const onScroll=()=>{const rect=section.getBoundingClientRect();const scrollDist=section.offsetHeight-window.innerHeight;let progress=-rect.top/scrollDist;if(progress<0)progress=0;if(progress>1)progress=1;const maxScroll=track.scrollWidth-sticky.offsetWidth;const x=-maxScroll*progress;track.style.transform=`translateX(${x}px)`;const centerPos=Math.abs(x)+(sticky.offsetWidth/2);update3D(centerPos)};const update3D=(centerPos)=>{const viewCenter=window.innerWidth/2;const children=Array.from(track.children);children.forEach(child=>{const rect=child.getBoundingClientRect();const childCenter=rect.left+rect.width/2;const dist=(viewCenter-childCenter)/(rect.width*0.85);const absDist=Math.abs(dist);let rot=-dist*15;if(rot>45)rot=45;if(rot<-45)rot=-45;const z=absDist*-150;let op=1-(absDist*0.35);if(op<0.3)op=0.3;let scale=1-(absDist*0.1);if(scale<0.8)scale=0.8;const inner=child.querySelector('.ref-transform-layer');if(inner){inner.style.transform=`perspective(1000px) rotateY(${rot}deg) translateZ(${z}px) scale(${scale})`;inner.style.opacity=op;inner.style.filter=absDist<0.4?'none':`blur(${absDist*2}px) grayscale(50%)`;if(absDist<0.4)inner.setAttribute('data-active','true');else inner.removeAttribute('data-active')}})};window.addEventListener('scroll',()=>{if(!rafId){rafId=window.requestAnimationFrame(()=>{onScroll();rafId=null})}});window.addEventListener('resize',onScroll);onScroll()})();</script><div class="fusion-text fusion-text-17"><h1><strong><span style="color: #4e4e4e;">Credits</span>:</strong></h1>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-17 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-18"><p><strong>Concept / Story:</strong><br />
Franziska Weser, Anna Kirchberg, Josephine Fischer</p>
<p><strong>Technical Director:</strong><br />
<strong>Vincent</strong> Schiller</p>
<p><strong>Unity Programming:</strong><br />
Vincent Schiller, Tobias Marr, Simeon Conzendorf</p>
<p><strong>Art Director:</strong><br />
Vincent Schiller, Robert Schröder</p>
<p><strong>Interface Design:<br />
</strong>Vincent Schiller, Robert Schröder</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-18 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-19"><p><strong>Virtual Set Design:</strong><br />
Vincent Schiller, Christoph Schade, Simeon Conzendorf, Juliane Fischer</p>
<p><strong>Research:</strong><br />
Josephine Fischer, Amelie Friedrich</p>
<p><strong>Scientific advice:</strong><br />
Lisa Grosfeld, Hauke Flores, Morten Iversen, Alfred-Wegener-Institut für Polarforschung</p>
<p><strong>Speaker Professor:</strong><br />
Tim Ludwig</p>
<p><strong>Illustration materials:</strong><br />
Jule Schlüter</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-19 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-20"><p><strong>Cooperational partners: (Prototype development)</strong></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-13 hover-type-none"><img decoding="async" width="534" height="364" title="Bildschirmfoto-2025-12-14-um-21.40.57" src="https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.40.57-1.png" alt class="img-responsive wp-image-57666" srcset="https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.40.57-1-200x136.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.40.57-1-400x273.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.40.57-1.png 534w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-20 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-21"><p><b>Funded by:</b></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-14 hover-type-none"><img decoding="async" width="508" height="188" title="Bildschirmfoto 2025-12-14 um 21.42.55" src="https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.42.55.png" alt class="img-responsive wp-image-57018" srcset="https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.42.55-200x74.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.42.55-400x148.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/Bildschirmfoto-2025-12-14-um-21.42.55.png 508w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-8 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-19 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-22"></div></div></div></div></div></p>
<p>Der Beitrag <a href="https://heartucate.eu/en/productions/journey-to-the-arctic/">Journey to the Arctic</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://heartucate.eu/wp-content/uploads/2025/12/25.25_Heartucate-APP-Trailer_v11.mp4" length="28819717" type="video/mp4" />

			</item>
		<item>
		<title>Mary Shelley – The Lost Memory</title>
		<link>https://heartucate.eu/en/productions/mary-shelley-lost-memories/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Mon, 12 Jan 2026 18:38:35 +0000</pubDate>
				<category><![CDATA[Productions]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=55351</guid>

					<description><![CDATA[<p>Meet Frankenstein's author!  Mary Shelley - The Lost Memory is an interactive augmented reality escape room for groups and players aged 14 and up. In this adventure, you will encounter Mary Shelley not as a historical figure, but as an artificial intelligence. Your task is to work as a team to repair  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/productions/mary-shelley-lost-memories/">Mary Shelley – The Lost Memory</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-9 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-20 fusion-flex-column fusion-flex-align-self-flex-start fusion-animated" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInUp" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.1.1/model-viewer.min.js"></script>
<style>
  #hero-track-hero-8318 { 
      position: relative; 
      width: 100%;
      height: 450vh; 
      z-index: 10; 
  }
  #hero-sticky-viewport-hero-8318 { position: fixed; display: none; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; background-color: #1a1a1a; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s ease-in; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; perspective: 1200px; perspective-origin: center center; z-index: 1000; }
  #hero-sticky-viewport-hero-8318.loaded { opacity: 1; display: flex; }
  #hero-sticky-viewport-hero-8318.active { display: flex; }
  #hero-main-wrapper-hero-8318 { position: relative; z-index: 100; width: 90vw; max-width: 1000px; transform-style: preserve-3d; will-change: transform; margin: auto; }
  .hero-aspect-spacer-hero-8318 { width: 100%; padding-top: 68.72852233676976%; } 
  .hero-mask-hero-8318 { position: absolute; top: 0.6%; left: 1.7%; right: 8.7%; bottom: 0.4%; border-radius: 13px; overflow: hidden; transform: translate3d(0,0,0); background: transparent !important; }
  .hero-gradient-hero-8318 { position: absolute; bottom: 0; left: 0; right: 0; height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); z-index: 5; pointer-events: none; }
  .hero-layer-hero-8318 { position: absolute; inset: 0; transform-style: preserve-3d; backface-visibility: hidden; will-change: transform; }
  
  .hero-fixed-blur-layer-hero-8318 {
    position: absolute; 
    inset: 0; 
    border-radius: 20px;
    transform: translate3d(0,0,0) scale(1);
    opacity: 1;
    background-image: url('https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-bg-scaled.png'); background-size: cover; background-position: center; filter: blur(20px);
    
    pointer-events: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    z-index: 0; 
  }

  #hero-back-hero-8318 { 
      z-index: 10; 
      transform-style: preserve-3d; 
      transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); 
  }
  
  .hero-frame-img-hero-8318 { transform: translateZ(0px); z-index: 20; }
  .hero-model-3d-hero-8318 { 
      position: absolute; 
      top: 50%; 
      left: 50%; 
      width: 100%; 
      height: 100%; 
      display: block; 
      pointer-events: auto; 
      z-index: 20; 
      transform-origin: center center;
      transform: translate3d(-50%, -50%, 0px) translate3d(-3%, 0%, 0) scale(1.85) rotateZ(90deg) rotateY(0deg) rotateX(0deg); 
  }
  
  #hero-room-group-hero-8318 { z-index: 20; pointer-events: none; transform: scale(0.7) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); }
  .hero-room-img-layer-hero-8318 { position: absolute; width: 80%; height: auto; transform-origin: center center; top: -21%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.4); will-change: opacity, transform; backface-visibility: hidden; }
  #hero-front-hero-8318 { z-index: 30; pointer-events: none; transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); }
  
  .hero-bubble-hero-8318 {
    position: absolute; display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: linear-gradient(135deg, #791d32D9, #22302eD9, #af385dD9);
    border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    border-radius: 99px; color: white; font-weight: 700; font-size: 13px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    z-index: 1000; pointer-events: none; 
    white-space: nowrap;
    opacity: 0;
    transform: translate3d(-50%, -100%, 150px) scale(calc(var(--b-scale, 1) * 0.7));
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1), transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform, opacity;
    transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    isolation: isolate;
  }
  
  .hero-bubble-hero-8318.visible { 
    opacity: 1; 
    transform: translate3d(-50%, -50%, 150px) scale(var(--b-scale, 1)); 
  }
  
  .hero-bubble-hero-8318:nth-of-type(1) { transition-delay: 0.1s; }
  .hero-bubble-hero-8318:nth-of-type(2) { transition-delay: 0.2s; }
  .hero-bubble-hero-8318:nth-of-type(3) { transition-delay: 0.3s; }
  .hero-bubble-hero-8318:nth-of-type(4) { transition-delay: 0.4s; }
  .hero-bubble-hero-8318:nth-of-type(5) { transition-delay: 0.5s; }
  .hero-bubble-hero-8318:nth-of-type(6) { transition-delay: 0.6s; }

  .hero-bubble-icon-hero-8318 { 
      display: flex; align-items: center; justify-content: center; 
      width: 24px; height: 24px; color: white; 
      transform: translate3d(0, 0, 2px); 
  }
  .hero-bubble-icon-hero-8318 svg { 
      width: 24px; height: 24px; display: block; 
      stroke: white !important; fill: none; 
  }

  @keyframes spinIn3D-hero-8318 { 
      0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 
      100% { transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } 
  }
  @keyframes spinInFront-hero-8318 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,210px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 160px) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } }
  @keyframes spinInRoom-hero-8318 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,200px); opacity: 0; } 100% { transform: scale(0.7) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); opacity: 1; } }

  @media (max-width: 768px) {
      .hero-bubble-hero-8318 { display: none !important; }
      #hero-track-hero-8318 { height: 450vh; }
      #hero-sticky-viewport-hero-8318 { perspective: 1200px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
      #hero-main-wrapper-hero-8318 { width: 95vw; max-width: none; aspect-ratio: 0.734; }
      .hero-mask-hero-8318 { top: 4.5%; left: 3.2%; right: 2.9%; bottom: 4.6%; border-radius: 2px; }
      .hero-gradient-hero-8318 { height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); }
      
      .hero-fixed-blur-layer-hero-8318 { 
          
         opacity: 1;
         transform: translateZ(10px);
         border-radius: 20px;
         
      }
      .hero-model-3d-hero-8318 { transform: translate3d(-50%, -50%, 2px) translate3d(0%, 0%, 0) scale(1.35) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }

      #hero-back-hero-8318 { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      #hero-room-group-hero-8318 { z-index: 40 !important; transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); }
      .hero-room-img-layer-hero-8318 { top: 14%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.35); }
      #hero-front-hero-8318 { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      @keyframes spinIn3D-hero-8318 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInFront-hero-8318 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,110px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInRoom-hero-8318 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,80px); opacity: 0; } 100% { transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); opacity: 1; } }
  }
  .animate-entry-3d-hero-8318 { animation: spinIn3D-hero-8318 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-room-hero-8318 { animation: spinInRoom-hero-8318 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  #hero-front-hero-8318.animate-entry-3d-hero-8318 { animation: spinInFront-hero-8318 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

  /* --- CUSTOM 3D LOADER --- */
  .hero-loader-wrapper-hero-8318 {
      position: absolute;
      inset: 0;
      z-index: 9999;
      background-color: #1a1a1a;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
      will-change: opacity, visibility;
  }
  .hero-loader-wrapper-hero-8318.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .hero-loader-bg-hero-8318 {
      position: absolute;
      inset: 0;
      z-index: 1;
  }
  .hero-loader-gradient-hero-8318 {
      position: absolute;
      inset: 0;
      z-index: 2;
      background-size: 400% 400%;
      background-image: linear-gradient(-45deg, #982877, #D9353F, #FF6313, #982877);
      animation: gradientPulse-hero-8318 4s ease infinite;
      mix-blend-mode: multiply;
      opacity: 0.9;
  }
  @keyframes gradientPulse-hero-8318 {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
  }
  .hero-spinner-container-hero-8318 {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
  }
  .hero-spinner-hero-8318 {
      width: 50px;
      height: 50px;
      border: 4px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: #ffffff;
      animation: spinLoader-hero-8318 1s ease-in-out infinite;
  }
  @keyframes spinLoader-hero-8318 {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  .hero-loader-text-hero-8318 {
      color: #ffffff;
      font-family: var(--awb-typography4-font-family);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 2px;
      text-transform: uppercase;
      animation: pulseText-hero-8318 2s ease-in-out infinite;
  }
  @keyframes pulseText-hero-8318 {
      0%, 100% { opacity: 0.5; }
      50% { opacity: 1; }
  }
  @media(max-width: 768px){
    .hero-spinner-hero-8318 { width: 40px; height: 40px; border-width: 3px; }
    .hero-loader-text-hero-8318 { font-size: 12px; letter-spacing: 1.5px; }
  }
                </style>
<div id="hero-track-hero-8318">
  <div id="hero-sticky-viewport-hero-8318">
    <!-- CUSTOM LOADER -->
    <div id="hero-loader-hero-8318" class="hero-loader-wrapper-hero-8318">
       <div class="hero-loader-bg-hero-8318"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-bg-scaled.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
       <div class="hero-loader-gradient-hero-8318"></div>
       <div class="hero-spinner-container-hero-8318">
          <div class="hero-spinner-hero-8318"></div>
          <div class="hero-loader-text-hero-8318">Lade 3D Erlebnis...</div>
       </div>
    </div>
    <!-- END LOADER -->
    <div style="position: absolute; inset: 0; z-index: 1;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-bg-scaled.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div style="position: absolute; inset: 0; z-index: 2; mix-blend-mode: screen; opacity: 0.8;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div id="hero-main-wrapper-hero-8318">
      <div class="hero-aspect-spacer-hero-8318"></div>
      <div id="hero-back-hero-8318" class="hero-layer-hero-8318 animate-entry-3d-hero-8318">
        <model-viewer id="hero-model-hero-8318" src="https://yanncloud.de/ipad.glb" style="pointer-events: none;" disable-zoom disable-pan disable-tap interaction-prompt="none" min-camera-orbit="-45deg 90deg auto" max-camera-orbit="45deg 90deg auto" class="hero-model-3d-hero-8318"></model-viewer>
      </div>
      <div id="hero-room-group-hero-8318" class="hero-layer-hero-8318 animate-room-hero-8318"><img id="hero-room-slot0-hero-8318" class="hero-room-img-layer-hero-8318" decoding="sync" src="https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/20.png" style="z-index: 1;" alt="" /><img id="hero-room-slot1-hero-8318" class="hero-room-img-layer-hero-8318" decoding="sync" src="https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/20.png" style="z-index: 1; opacity: 0;" alt="" /></div>
      <div id="hero-front-hero-8318" class="hero-layer-hero-8318 animate-entry-3d-hero-8318">
        <div class="hero-mask-hero-8318" style="pointer-events: none; z-index: 10; transform: translate3d(0,0,4px); background: transparent !important; overflow: hidden; border-radius: 13px;">
          <div class="hero-fixed-blur-layer-hero-8318" style="opacity: 1; transform: translate3d(0,0,0) scale(1); z-index: 1;"></div>
          <div id="hero-gradient-el-hero-8318" class="hero-gradient-hero-8318" style="z-index: 5; opacity: 1;"></div>
        </div>
        <div style="position: absolute; inset: 0; pointer-events: none; transform: translate3d(0,0,6px); transform-style: preserve-3d; z-index: 20;">
          <picture style="position: absolute; inset: 0; width: 100%; height: 100%;">
            <source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2026/04/Mary-Shelley-Logo.png">
            <img decoding="async" id="hero-logo-img-hero-8318" src="https://heartucate.eu/wp-content/uploads/2026/04/Mary-Shelley-Logo.png" style="position: absolute; width: 40%; height: auto; z-index: 10; transform-origin: center bottom; top: 91%; left: 45%; transform: translate3d(-50%, -100%, 0) scale(0.5); opacity: 1;" alt="" />
          </picture>
        </div>
      </div>
      <div id="hero-bubbles-layer-hero-8318" class="hero-layer-hero-8318" style="z-index: 100; pointer-events: none;"></div>
    </div>
  </div>
</div>
                
<script>
document.addEventListener("DOMContentLoaded", function() {
  const track = document.getElementById('hero-track-hero-8318'), viewport = document.getElementById('hero-sticky-viewport-hero-8318'), wrapper = document.getElementById('hero-main-wrapper-hero-8318');
  const back = document.getElementById('hero-back-hero-8318'), front = document.getElementById('hero-front-hero-8318'), roomGroup = document.getElementById('hero-room-group-hero-8318');
  const bubbleLayer = document.getElementById('hero-bubbles-layer-hero-8318');
  const slots = [document.getElementById('hero-room-slot0-hero-8318'), document.getElementById('hero-room-slot1-hero-8318')], logo = document.getElementById('hero-logo-img-hero-8318'), gradient = document.getElementById('hero-gradient-el-hero-8318');
  
  // --- LOADER LOGIC ---
  const modelViewer = document.getElementById('hero-model-hero-8318');
  const loader = document.getElementById('hero-loader-hero-8318');
  let loaderDismissed = false;

  function dismissLoader() {
      if(loaderDismissed || !loader) return;
      loaderDismissed = true;
      loader.classList.add('hidden');
  }

  if(modelViewer && loader) {
      modelViewer.addEventListener('load', dismissLoader);
      modelViewer.addEventListener('error', dismissLoader);
      // Fallback: Max 8 seconds loader
      setTimeout(dismissLoader, 8000);
  } else {
      dismissLoader();
  }
  // --- END LOADER LOGIC ---

  const PARALLAX_MAX = 10;
  if(PARALLAX_MAX > 0 && window.matchMedia("(hover: hover)").matches && wrapper) { 
    let mouseTicking = false;
    document.addEventListener('mousemove', (e) => { 
      if (!mouseTicking) {
        window.requestAnimationFrame(() => {
          const x = (e.clientX / window.innerWidth - 0.5) * 2; 
          const y = (e.clientY / window.innerHeight - 0.5) * 2; 
          wrapper.style.transform = `rotateY(${x * PARALLAX_MAX}deg) rotateX(${-y * PARALLAX_MAX}deg)`; 
          mouseTicking = false;
        });
        mouseTicking = true;
      }
    }); 
  }
  
  const SEQ_ENABLED = true;
  const SEQ_IMAGES = ["https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/20.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/21.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/22.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/23.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/24.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/25.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/26.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/27.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/28.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/29.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/30.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/31.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/32.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/33.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/34.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/35.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/36.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/37.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/38.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/39.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/40.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/41.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/43.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/44.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/45.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/46.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/47.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/48.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/49.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/50.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/51.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/52.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/53.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/54.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/55.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/56.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/57.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/58.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/59.png","https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/60.png"];
  const ASSETS = { D: { room: "https://heartucate.eu/content/projects/mary-shelley/hero-section/1024x1024/20.png" }, M: { room: "https://heartucate.eu/wp-content/uploads/2025/11/7-1.png" } };
  
  const BUBBLES = [{"scale":1,"visible":true,"id":1,"side":"left","text":"Duration: approx. 40 min","y":30,"x":17,"icon":"clock"},{"side":"left","visible":true,"id":2,"scale":1,"text":"Age 14+","x":0,"y":55,"icon":"target"},{"scale":1,"visible":true,"id":3,"side":"left","icon":"pdf","y":70,"x":9,"text":"Material included"},{"x":80,"y":35,"text":"Up to 4 players","icon":"users","scale":1,"visible":true,"id":4,"side":"right"},{"text":"For Tablets and Smartphones","y":55,"x":85,"icon":"tablet","id":5,"visible":true,"scale":1,"side":"right"},{"visible":true,"id":6,"scale":1,"side":"right","icon":"vr","text":"Augmented Reality Escape Room","x":78,"y":75}];
  const ICONS = {"clock":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline></svg>","users":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path></svg>","pdf":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>","tablet":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line></svg>","target":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle></svg>","vr":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line></svg>"};
  
  if(window.innerWidth > 768 && BUBBLES.length > 0) {
      BUBBLES.forEach(b => {
          if(!b.visible) return;
          const el = document.createElement('div');
          el.className = 'hero-bubble-hero-8318';
          el.style.left = b.x + '%'; el.style.top = b.y + '%';
          el.style.setProperty('--b-scale', b.scale || 1);
          el.innerHTML = `<div class="hero-bubble-icon-hero-8318">${ICONS[b.icon] || ''}</div><span>${b.text}</span>`;
          bubbleLayer.appendChild(el);
          void el.offsetHeight; // Force reflow for Safari icon injection
      });
  }

  if(SEQ_ENABLED && SEQ_IMAGES.length > 0) SEQ_IMAGES.forEach(src => { const img = new Image(); img.src = src; if('decode' in img) img.decode().catch(()=>{}); });
  if(viewport) viewport.classList.add('loaded');
  const unlockElements = [back, front, roomGroup];
  function unlockAnimation() { unlockElements.forEach(el => { if(el) { el.style.animation = 'none'; el.classList.remove('animate-entry-3d-hero-8318'); el.classList.remove('animate-room-hero-8318'); } }); update(0); }
  if(back) { back.addEventListener('animationend', unlockAnimation, { once: true }); setTimeout(unlockAnimation, 1600); } else { update(0); }
  const DesktopS = {"tabRotY":11,"tabX":0,"logoScale":0.5,"roomRotY":0,"logoOpacity":1,"roomRotZ":0,"roomZ":80,"tabY":0,"roomScale":0.4,"logoX":45,"tabRotZ":0,"tabRotX":0,"tabScale":0.7,"roomX":50,"roomY":-21,"logoY":91}, DesktopE = {"roomScale":0.7,"tabY":0,"roomZ":338,"roomRotZ":0,"tabRotY":48,"roomRotY":0,"logoScale":0.8,"tabX":0,"logoOpacity":0,"roomX":46,"logoY":150,"roomY":0,"tabRotX":40,"tabRotZ":-27,"tabScale":0.7,"logoX":50}, DesktopSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  const MobileS = {"logoX":50,"roomY":14,"logoY":88,"roomX":50,"tabScale":0.9,"tabRotZ":0,"tabRotX":0,"roomRotZ":0,"logoOpacity":1,"logoScale":0.9,"roomRotY":null,"tabRotY":0,"tabX":0,"roomScale":0.35,"roomZ":800,"tabY":0}, MobileE = {"logoOpacity":0,"tabRotY":-10,"tabX":3,"logoScale":0.65,"roomRotY":0,"roomRotZ":0,"tabY":0,"roomZ":80,"roomScale":1.4,"logoX":50,"tabScale":0.7,"tabRotX":53,"tabRotZ":4,"roomY":6,"logoY":150,"roomX":57}, MobileSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  let ticking = false;
  function getProgress(globalP, startP, endP) { if (globalP <= startP) return 0; if (globalP >= endP) return 1; return (globalP - startP) / (endP - startP); }
  function lerp(start, end, t) { return start * (1 - t) + end * t; }
  
  function updateSequence(p3D, baseImg) {
      if (!slots[0] || !slots[1]) return;
      let baseSrc, nextSrc, mix;
      if (!SEQ_ENABLED || SEQ_IMAGES.length === 0) { baseSrc = baseImg; nextSrc = baseImg; mix = 0; } else if (p3D <= 0) { baseSrc = baseImg; nextSrc = SEQ_IMAGES[0]; mix = 0; } else if (p3D >= 1) { const last = SEQ_IMAGES[SEQ_IMAGES.length - 1]; baseSrc = last; nextSrc = last; mix = 0; } else { const totalFrames = SEQ_IMAGES.length - 1; const floatIndex = p3D * totalFrames; const idxBase = Math.floor(floatIndex); const idxNext = Math.min(totalFrames, idxBase + 1); baseSrc = SEQ_IMAGES[idxBase]; nextSrc = SEQ_IMAGES[idxNext]; mix = floatIndex - idxBase; }
      const src0 = slots[0].getAttribute('src'), src1 = slots[1].getAttribute('src');
      let targetSlotBase = 0; if (src1 === baseSrc) targetSlotBase = 1; 
      const targetSlotNext = targetSlotBase === 0 ? 1 : 0; const sBase = slots[targetSlotBase]; if(sBase.getAttribute('src') !== baseSrc) sBase.src = baseSrc; sBase.style.opacity = 1; sBase.style.zIndex = 1; const sNext = slots[targetSlotNext]; if(sNext.getAttribute('src') !== nextSrc) sNext.src = nextSrc; let safeMix = mix; if (safeMix < 0.01) safeMix = 0; sNext.style.opacity = safeMix; sNext.style.zIndex = 2;
  }
  
  function update(scrollP) {
    const isMobile = window.innerWidth <= 768; const S = isMobile ? MobileS : DesktopS; const E = isMobile ? MobileE : DesktopE; const SEQ = isMobile ? MobileSEQ : DesktopSEQ; const currentBaseRoom = isMobile ? ASSETS.M.room : ASSETS.D.room;
    
    const pTab = getProgress(scrollP, SEQ.tab[0], SEQ.tab[1]);
    const tScale = lerp(S.tabScale, E.tabScale, pTab), tRotX = lerp(S.tabRotX, E.tabRotX, pTab), tRotY = lerp(S.tabRotY, E.tabRotY, pTab), tRotZ = lerp(S.tabRotZ, E.tabRotZ, pTab), tX = lerp(S.tabX, E.tabX, pTab), tY = lerp(S.tabY, E.tabY, pTab);
    
    if(back) back.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    if(front) front.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    
    const rRotX = lerp(S.tabRotX, 0, pTab), rRotY = lerp(S.roomRotY || 0, E.roomRotY || 0, pTab), rRotZ = lerp(S.roomRotZ || 0, E.roomRotZ || 0, pTab), rScale = lerp(S.roomScale, E.roomScale, pTab), rX = lerp(S.roomX, E.roomX, pTab), rY = lerp(S.roomY, E.roomY, pTab), rZ = lerp(S.roomZ || 80, E.roomZ || 80, pTab), roomLift = lerp(0, -15, pTab);
    
    if(roomGroup) roomGroup.style.transform = `scale(${tScale}) rotateZ(${rRotZ}deg) rotateY(${rRotY}deg) rotateX(${rRotX}deg) translate3d(0, 0, ${rZ}px)`;
    slots.forEach(img => { if(img) { 
      img.style.top = `${rY}%`; 
      img.style.left = `${rX}%`; 
      img.style.transform = `translate3d(-50%, ${roomLift}%, 0) scale(${rScale})`; 
    } });
    
    const p3D = getProgress(scrollP, SEQ.room3d[0], SEQ.room3d[1]); updateSequence(p3D, currentBaseRoom);
    
    const showBubbles = p3D > 0.1;
    const bubbles = bubbleLayer.querySelectorAll('.hero-bubble-hero-8318');
    bubbles.forEach(b => { if(showBubbles) b.classList.add('visible'); else b.classList.remove('visible'); });

    const pLogo = getProgress(scrollP, SEQ.logo[0], SEQ.logo[1]), lScale = lerp(S.logoScale, E.logoScale, pLogo), lX = lerp(S.logoX, E.logoX, pLogo), lY = lerp(S.logoY, E.logoY, pLogo), lOp = lerp(S.logoOpacity, E.logoOpacity, pLogo);
    if(logo) { logo.style.top = `${lY}%`; logo.style.left = `${lX}%`; logo.style.opacity = lOp; logo.style.transform = `translate3d(-50%, -100%, 0) scale(${lScale})`; }
    if(gradient) gradient.style.opacity = lOp; 
  }

  function loop() {
    if (!track || !viewport) { requestAnimationFrame(loop); return; }
    const rect = track.getBoundingClientRect();
    const winH = window.innerHeight;
    
    if (rect.bottom > 0 && rect.top < winH) {
      viewport.classList.add('active');
      const scrollP = Math.max(0, Math.min(1, -rect.top / (rect.height - winH)));
      
      // Handle the "slide out" at the very bottom
      if (rect.bottom < winH) {
        viewport.style.transform = `translate3d(0, ${rect.bottom - winH}px, 0)`;
      } else {
        viewport.style.transform = 'translate3d(0, 0, 0)';
      }
      
      update(scrollP);
    } else {
      viewport.classList.remove('active');
    }
    requestAnimationFrame(loop);
  }
  requestAnimationFrame(loop);
  
  window.addEventListener('resize', () => { if(viewport) update(0); }); 
});
</script>
                
<style>
#fc-section-fc-1579 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: -50px; 
    overflow: hidden; 
    font-family: var(--awb-typography4-font-family);
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-1579 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-1579 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-1579 {
    margin-bottom: 60px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-1579 h2 {
    font-size: 52px;
    font-weight: 800;
    color: #781710;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-1579 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(105px);
}
@media(max-width: 640px) {
    .fc-header-fc-1579 { text-align: center; } 
    .fc-header-fc-1579 h2 { font-size: 36px; } 
    .fc-header-logo-fc-1579 { transform: translateX(0px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-1579 {
    margin-top: 40px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-1579 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-1579 {
    display: inline-block;
    background: #ED6D32;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-1579:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-1579 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 1.2000000000000002s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-1579 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-1579 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-1579 { animation-delay: 0.1s; }
.fc-header-fc-1579 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-1579 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #791811, #22302e, #7b5c02, #22302e); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-1579 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-1579 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-1579 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-1579 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-1579 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-1579 { opacity: 0; transform: translateY(-50%) scale(0.9) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-1579 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-1579 { opacity: 1; transform: translateY(-50%) scale(0.9) translateX(0); }
.fc-in-view .fc-bg-heart-fc-1579 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-1579 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-1579 { display: none; position: absolute; right: -5%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-1579 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-1579 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-1579 { display: block; } .fc-bg-heart-fc-1579 { display: block; } #fc-grid-fc-1579 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-1579 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-1579 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-1579 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-1579 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-1579 { fill: none; stroke: url(#line-grad-fc-1579); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-1579); }
</style>
<div id="fc-section-fc-1579">
    <div class="fc-bg-gradient-fc-1579"></div><div class="fc-bg-grain-fc-1579"></div>
    <svg class="fc-bg-heart-fc-1579" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-links.png" class="fc-side-image-fc-1579" alt="" />
    
    <div id="fc-wrap-fc-1579">
        
                <div class="fc-header-fc-1579">
                    
                    <div class="fc-header-reveal"><h2>Mary Shelley - The Lost Memory</h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-1579" class="fc-snake-svg-fc-1579">
            <defs>
                <linearGradient id="line-grad-fc-1579" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#22302e" />
                    <stop offset="50%" stop-color="#791811" />
                    <stop offset="100%" stop-color="#7b5c02" />
                </linearGradient>
                <mask id="fc-mask-fc-1579"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-1579"></g></mask>
            </defs>
            <path id="fc-path-fc-1579" class="fc-snake-path-fc-1579" d="" />
        </svg>
        <div id="fc-grid-fc-1579">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="70" height="82" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:70px; min-height:82px;"><path d="M9 21h6v-1.5H9V21zm3-19C8.48 2 5.5 4.98 5.5 8.5c0 2.85 1.43 5.5 3.5 6.95V19h6v-3.55c2.07-1.44 3.5-4.1 3.5-6.95C18.5 4.98 15.52 2 12 2z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject</h3><p>Artificial Intelligence & Literature</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="58" height="68" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:58px; min-height:68px;"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14 M22 4L12 14.01l-3-3" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject contents</h3><p>Social studies, ethics, German</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="464" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:464px;"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z M12 6v6l4 2" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>40 minutes per cycle</h3><p>Short and sweet – perfect for a lesson.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.6000000000000001s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="98" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:98px;"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 7a4 4 0 1 0 0-8 4 4 0 0 0 0 8z M23 21v-2a4 4 0 0 0-3-3.87 M16 3.13a4 4 0 0 1 0 7.75" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Up to 4 players per group</h3><p>Ideal for small groups – cooperative & quick to get started.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.8s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:80px;"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z M12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Suitable for grades 7 and above</h3><p>Designed to high educational standards for learners from 7th grade onwards</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="128" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:128px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2L14 8 20 8 M16 13L8 13 M16 17L8 17 M10 9L8 9" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>High-quality accompanying material</h3><p>Educational presentation, instructions, and worksheets included.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1.2000000000000002s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="62" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:62px;"><path d="M12 18h.01M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z M12 18h.01" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For tablets and smartphones</h3><p>Compatible with iOS and Android, no additional devices required.</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 1.4000000000000001s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-230px, -30px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2020/09/Heartucate_Logo.svg" style="transform: translate(5px, -5px) scale(1);" alt="Produziert von" /></div>
                    </div>
                    <div class="fc-content"><h3>Produziert von</h3><p>Mary Shelley - The Lost Memory ist eine Produktion der Heartucate GmbH</p></div>
                </div></div>
        
    </div>
</div>
<script>(function(){
    const uid = "fc-1579";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 8 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.9) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.9)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-21 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-max-width:380px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-15 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="1728" height="1922" title="mary shelly iso raum croped" src="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped.png" alt class="img-responsive wp-image-57101" srcset="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped-200x222.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped-400x445.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped-600x667.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped-800x890.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped-1200x1335.png 1200w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-iso-raum-croped.png 1728w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-22 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#791811;--awb-margin-top:55px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Meet Frankenstein&#8217;s author!</h3></div><div class="fusion-text fusion-text-23 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>Mary Shelley &#8211; The Lost Memory is an interactive augmented reality escape room for groups and players aged 14 and up. In this adventure, you will encounter Mary Shelley not as a historical figure, but as an artificial intelligence. Your task is to work as a team to repair the AI, allowing you to get to know the author, her eventful life, and her thoughts on her work in a completely new way.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-23 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-padding-top:55px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#791811;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Literary history meets AI ethics</h3></div><div class="fusion-text fusion-text-24 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>This experience combines biographical work about a woman who shaped literary history with highly topical questions about the future. While you explore Mary Shelley&#8217;s life, the project also addresses the complex topic of artificial intelligence. It encourages us to reflect on how we deal with AI today and to draw parallels between the novel “Frankenstein” and modern technology.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-24 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-padding-left:33px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-image-element " style="--awb-max-width:500px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-16 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><img decoding="async" width="2400" height="1792" title="mary shelly aus buch" src="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1.png" alt class="img-responsive wp-image-57097" srcset="https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1-200x149.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1-400x299.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1-600x448.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1-800x597.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1-1200x896.png 1200w, https://heartucate.eu/wp-content/uploads/2025/12/mary-shelly-aus-buch-1.png 2400w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-text fusion-text-25" style="--awb-text-color:#4f1818;"><h2><span style="color: #7c431f;">Credits:</span></h2>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-25 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-26"><p><strong style="color: #791811;">Based on an idea by:</strong><br />
Sarah Kirschke &amp; Ernesta Scheck</p>
<p><strong style="color: #791811;">Head of Creative:</strong><br />
Lisa Marie Rothe</p>
<p><strong><span style="color: #791811;">Producer:</span></strong><br />
Franziska Weser</p>
<p><strong style="color: #791811;">Technical Lead:</strong><br />
Vincent Schiller</p>
<p><strong style="color: #791811;">Art Director:</strong><br />
Robert Schröder</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-26 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-27"><p><b><span style="color: #791811;">P</span></b><b style="color: #791811;">roduction assistant / 2D:</b><br />
Ernesta Scheck</p>
<p><strong style="color: #791811;">Production assistant / 3D: </strong><br />
Sarah Kirschke</p>
<p><strong><span style="color: #791811;">Dramaturgical advice:</span> </strong><br />
Nico Nowarra</p>
<p><strong style="color: #791811;">Advice Mary Shelley:</strong><br />
Barbara Sichtermann</p>
<p><strong style="color: #791811;">Advice Distribution:</strong><br />
Nadja Frank</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-27 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-28"><p><strong style="color: #791811;"><u>Production company:</u></strong></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-17 hover-type-none"><img decoding="async" width="2000" height="1110" title="Heartucate_Logo_onWhite_WEB" src="https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB.jpg" alt class="img-responsive wp-image-54154" srcset="https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB-200x111.jpg 200w, https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB-400x222.jpg 400w, https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB-600x333.jpg 600w, https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB-800x444.jpg 800w, https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB-1200x666.jpg 1200w, https://heartucate.eu/wp-content/uploads/2022/10/Heartucate_Logo_onWhite_WEB.jpg 2000w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-28 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-29"><p style="color: #791811;"><strong>Funded by:</strong></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-18 hover-type-none"><img decoding="async" width="1280" height="720" title="mdm" src="https://heartucate.eu/wp-content/uploads/2020/12/mdm.png" alt class="img-responsive wp-image-51701" srcset="https://heartucate.eu/wp-content/uploads/2020/12/mdm-200x113.png 200w, https://heartucate.eu/wp-content/uploads/2020/12/mdm-400x225.png 400w, https://heartucate.eu/wp-content/uploads/2020/12/mdm-600x338.png 600w, https://heartucate.eu/wp-content/uploads/2020/12/mdm-800x450.png 800w, https://heartucate.eu/wp-content/uploads/2020/12/mdm-1200x675.png 1200w, https://heartucate.eu/wp-content/uploads/2020/12/mdm.png 1280w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 400px" /></span></div></div></div></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/productions/mary-shelley-lost-memories/">Mary Shelley – The Lost Memory</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>QuantumLab</title>
		<link>https://heartucate.eu/en/cooperations/quantumlab-eng/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Sun, 11 Jan 2026 08:33:04 +0000</pubDate>
				<category><![CDATA[Cooperations]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=55420</guid>

					<description><![CDATA[<p>The high-tech laboratory for your pocket  No more dry theory and expensive equipment. The QuantumLab app, developed on behalf of the University of Leipzig, transforms your smartphone or tablet into a fully-fledged research laboratory. Thanks to innovative XR technology (for Android &amp; iOS), you can bring complex physical structures directly to your  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/quantumlab-eng/">QuantumLab</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-10 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-21 fusion-flex-column fusion-flex-align-self-flex-start fusion-animated" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInUp" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.1.1/model-viewer.min.js"></script>
<style>
  #hero-track-hero-33658 { 
      position: relative; 
      width: 100%;
      height: 450vh; 
      z-index: 10; 
  }
  #hero-sticky-viewport-hero-33658 { position: fixed; display: none; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; background-color: #1a1a1a; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s ease-in; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; perspective: 1200px; perspective-origin: center center; z-index: 1000; }
  #hero-sticky-viewport-hero-33658.loaded { opacity: 1; display: flex; }
  #hero-sticky-viewport-hero-33658.active { display: flex; }
  #hero-main-wrapper-hero-33658 { position: relative; z-index: 100; width: 90vw; max-width: 1000px; transform-style: preserve-3d; will-change: transform; margin: auto; }
  .hero-aspect-spacer-hero-33658 { width: 100%; padding-top: 68.72852233676976%; } 
  .hero-mask-hero-33658 { position: absolute; top: 0.6%; left: 1.7%; right: 8.7%; bottom: 0.4%; border-radius: 13px; overflow: hidden; transform: translate3d(0,0,0); background: transparent !important; }
  .hero-gradient-hero-33658 { position: absolute; bottom: 0; left: 0; right: 0; height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); z-index: 5; pointer-events: none; }
  .hero-layer-hero-33658 { position: absolute; inset: 0; transform-style: preserve-3d; backface-visibility: hidden; will-change: transform; }
  
  .hero-fixed-blur-layer-hero-33658 {
    position: absolute; 
    inset: 0; 
    border-radius: 20px;
    transform: translate3d(0,0,0) scale(1);
    opacity: 1;
    background-image: url('https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png'); background-size: cover; background-position: center; filter: blur(20px);
    
    pointer-events: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    z-index: 0; 
  }

  #hero-back-hero-33658 { 
      z-index: 10; 
      transform-style: preserve-3d; 
      transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); 
  }
  
  .hero-frame-img-hero-33658 { transform: translateZ(0px); z-index: 20; }
  .hero-model-3d-hero-33658 { 
      position: absolute; 
      top: 50%; 
      left: 50%; 
      width: 100%; 
      height: 100%; 
      display: block; 
      pointer-events: auto; 
      z-index: 20; 
      transform-origin: center center;
      transform: translate3d(-50%, -50%, 0px) translate3d(-3%, 0%, 0) scale(1.85) rotateZ(90deg) rotateY(0deg) rotateX(0deg); 
  }
  
  #hero-room-group-hero-33658 { z-index: 20; pointer-events: none; transform: scale(0.7) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); }
  .hero-room-img-layer-hero-33658 { position: absolute; width: 80%; height: auto; transform-origin: center center; top: -33%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.5); will-change: opacity, transform; backface-visibility: hidden; }
  #hero-front-hero-33658 { z-index: 30; pointer-events: none; transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); }
  
  .hero-bubble-hero-33658 {
    position: absolute; display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: linear-gradient(135deg, #058fb5D9, #058fb5D9, #13bbb9D9);
    border: 1px solid rgba(255, 255, 255, 0.4); box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    border-radius: 99px; color: white; font-weight: 700; font-size: 13px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    z-index: 1000; pointer-events: none; 
    white-space: nowrap;
    opacity: 0;
    transform: translate3d(-50%, -100%, 150px) scale(calc(var(--b-scale, 1) * 0.7));
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1), transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform, opacity;
    transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    isolation: isolate;
  }
  
  .hero-bubble-hero-33658.visible { 
    opacity: 1; 
    transform: translate3d(-50%, -50%, 150px) scale(var(--b-scale, 1)); 
  }
  
  .hero-bubble-hero-33658:nth-of-type(1) { transition-delay: 0.1s; }
  .hero-bubble-hero-33658:nth-of-type(2) { transition-delay: 0.2s; }
  .hero-bubble-hero-33658:nth-of-type(3) { transition-delay: 0.3s; }
  .hero-bubble-hero-33658:nth-of-type(4) { transition-delay: 0.4s; }
  .hero-bubble-hero-33658:nth-of-type(5) { transition-delay: 0.5s; }
  .hero-bubble-hero-33658:nth-of-type(6) { transition-delay: 0.6s; }

  .hero-bubble-icon-hero-33658 { 
      display: flex; align-items: center; justify-content: center; 
      width: 24px; height: 24px; color: white; 
      transform: translate3d(0, 0, 2px); 
  }
  .hero-bubble-icon-hero-33658 svg { 
      width: 24px; height: 24px; display: block; 
      stroke: white !important; fill: none; 
  }

  @keyframes spinIn3D-hero-33658 { 
      0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 
      100% { transform: translate3d(0%, 0%, 0) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } 
  }
  @keyframes spinInFront-hero-33658 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,210px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 160px) scale(0.7) rotateZ(0deg) rotateY(11deg) rotateX(0deg); opacity: 1; } }
  @keyframes spinInRoom-hero-33658 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,200px); opacity: 0; } 100% { transform: scale(0.7) rotateZ(0deg) rotateY(0deg) rotateX(0deg) translate3d(0,0,80px); opacity: 1; } }

  @media (max-width: 768px) {
      .hero-bubble-hero-33658 { display: none !important; }
      #hero-track-hero-33658 { height: 450vh; }
      #hero-sticky-viewport-hero-33658 { perspective: 1200px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
      #hero-main-wrapper-hero-33658 { width: 95vw; max-width: none; aspect-ratio: 0.734; }
      .hero-mask-hero-33658 { top: 4.5%; left: 3.2%; right: 2.9%; bottom: 4.6%; border-radius: 2px; }
      .hero-gradient-hero-33658 { height: 100%; background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); }
      
      .hero-fixed-blur-layer-hero-33658 { 
          
         opacity: 1;
         transform: translateZ(10px);
         border-radius: 20px;
         
      }
      .hero-model-3d-hero-33658 { transform: translate3d(-50%, -50%, 2px) translate3d(0%, 0%, 0) scale(1.35) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }

      #hero-back-hero-33658 { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      #hero-room-group-hero-33658 { z-index: 40 !important; transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); }
      .hero-room-img-layer-hero-33658 { top: 14%; left: 50%; transform: translate3d(-50%, 0, 0) scale(0.35); }
      #hero-front-hero-33658 { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); }
      @keyframes spinIn3D-hero-33658 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,50px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 0) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInFront-hero-33658 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,110px); opacity: 0; } 100% { transform: translate3d(0%, 0%, 60px) scale(0.9) rotateZ(0deg) rotateY(0deg) rotateX(0deg); opacity: 1; } }
      @keyframes spinInRoom-hero-33658 { 0% { transform: scale(0.5) rotateY(-180deg) translate3d(0,0,80px); opacity: 0; } 100% { transform: scale(0.9) rotateZ(0deg) rotateY(NaNdeg) rotateX(0deg) translate3d(0,0,30px); opacity: 1; } }
  }
  .animate-entry-3d-hero-33658 { animation: spinIn3D-hero-33658 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  .animate-room-hero-33658 { animation: spinInRoom-hero-33658 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  #hero-front-hero-33658.animate-entry-3d-hero-33658 { animation: spinInFront-hero-33658 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

  /* --- CUSTOM 3D LOADER --- */
  .hero-loader-wrapper-hero-33658 {
      position: absolute;
      inset: 0;
      z-index: 9999;
      background-color: #1a1a1a;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
      will-change: opacity, visibility;
  }
  .hero-loader-wrapper-hero-33658.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .hero-loader-bg-hero-33658 {
      position: absolute;
      inset: 0;
      z-index: 1;
  }
  .hero-loader-gradient-hero-33658 {
      position: absolute;
      inset: 0;
      z-index: 2;
      background-size: 400% 400%;
      background-image: linear-gradient(-45deg, #982877, #D9353F, #FF6313, #982877);
      animation: gradientPulse-hero-33658 4s ease infinite;
      mix-blend-mode: multiply;
      opacity: 0.9;
  }
  @keyframes gradientPulse-hero-33658 {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
  }
  .hero-spinner-container-hero-33658 {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
  }
  .hero-spinner-hero-33658 {
      width: 50px;
      height: 50px;
      border: 4px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: #ffffff;
      animation: spinLoader-hero-33658 1s ease-in-out infinite;
  }
  @keyframes spinLoader-hero-33658 {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  .hero-loader-text-hero-33658 {
      color: #ffffff;
      font-family: var(--awb-typography4-font-family);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 2px;
      text-transform: uppercase;
      animation: pulseText-hero-33658 2s ease-in-out infinite;
  }
  @keyframes pulseText-hero-33658 {
      0%, 100% { opacity: 0.5; }
      50% { opacity: 1; }
  }
  @media(max-width: 768px){
    .hero-spinner-hero-33658 { width: 40px; height: 40px; border-width: 3px; }
    .hero-loader-text-hero-33658 { font-size: 12px; letter-spacing: 1.5px; }
  }
                </style>
<div id="hero-track-hero-33658">
  <div id="hero-sticky-viewport-hero-33658">
    <!-- CUSTOM LOADER -->
    <div id="hero-loader-hero-33658" class="hero-loader-wrapper-hero-33658">
       <div class="hero-loader-bg-hero-33658"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
       <div class="hero-loader-gradient-hero-33658"></div>
       <div class="hero-spinner-container-hero-33658">
          <div class="hero-spinner-hero-33658"></div>
          <div class="hero-loader-text-hero-33658">Lade 3D Erlebnis...</div>
       </div>
    </div>
    <!-- END LOADER -->
    <div style="position: absolute; inset: 0; z-index: 1;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div style="position: absolute; inset: 0; z-index: 2; mix-blend-mode: screen; opacity: 0.8;"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png"><img decoding="async" src="" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
    <div id="hero-main-wrapper-hero-33658">
      <div class="hero-aspect-spacer-hero-33658"></div>
      <div id="hero-back-hero-33658" class="hero-layer-hero-33658 animate-entry-3d-hero-33658">
        <model-viewer id="hero-model-hero-33658" src="https://yanncloud.de/ipad.glb" style="pointer-events: none;" disable-zoom disable-pan disable-tap interaction-prompt="none" min-camera-orbit="-45deg 90deg auto" max-camera-orbit="45deg 90deg auto" class="hero-model-3d-hero-33658"></model-viewer>
      </div>
      <div id="hero-room-group-hero-33658" class="hero-layer-hero-33658 animate-room-hero-33658"><img id="hero-room-slot0-hero-33658" class="hero-room-img-layer-hero-33658" decoding="sync" src="https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/45.png" style="z-index: 1;" alt="" /><img id="hero-room-slot1-hero-33658" class="hero-room-img-layer-hero-33658" decoding="sync" src="https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/45.png" style="z-index: 1; opacity: 0;" alt="" /></div>
      <div id="hero-front-hero-33658" class="hero-layer-hero-33658 animate-entry-3d-hero-33658">
        <div class="hero-mask-hero-33658" style="pointer-events: none; z-index: 10; transform: translate3d(0,0,4px); background: transparent !important; overflow: hidden; border-radius: 13px;">
          <div class="hero-fixed-blur-layer-hero-33658" style="opacity: 1; transform: translate3d(0,0,0) scale(1); z-index: 1;"></div>
          <div id="hero-gradient-el-hero-33658" class="hero-gradient-hero-33658" style="z-index: 5; opacity: 1;"></div>
        </div>
        <div style="position: absolute; inset: 0; pointer-events: none; transform: translate3d(0,0,6px); transform-style: preserve-3d; z-index: 20;">
          <picture style="position: absolute; inset: 0; width: 100%; height: 100%;">
            <source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/12/quantumlablogodark.png">
            <img decoding="async" id="hero-logo-img-hero-33658" src="https://heartucate.eu/wp-content/uploads/2025/12/quantumlablogodark.png" style="position: absolute; width: 40%; height: auto; z-index: 10; transform-origin: center bottom; top: 91%; left: 47%; transform: translate3d(-50%, -100%, 0) scale(0.65); opacity: 1;" alt="" />
          </picture>
        </div>
      </div>
      <div id="hero-bubbles-layer-hero-33658" class="hero-layer-hero-33658" style="z-index: 100; pointer-events: none;"></div>
    </div>
  </div>
</div>
                
<script>
document.addEventListener("DOMContentLoaded", function() {
  const track = document.getElementById('hero-track-hero-33658'), viewport = document.getElementById('hero-sticky-viewport-hero-33658'), wrapper = document.getElementById('hero-main-wrapper-hero-33658');
  const back = document.getElementById('hero-back-hero-33658'), front = document.getElementById('hero-front-hero-33658'), roomGroup = document.getElementById('hero-room-group-hero-33658');
  const bubbleLayer = document.getElementById('hero-bubbles-layer-hero-33658');
  const slots = [document.getElementById('hero-room-slot0-hero-33658'), document.getElementById('hero-room-slot1-hero-33658')], logo = document.getElementById('hero-logo-img-hero-33658'), gradient = document.getElementById('hero-gradient-el-hero-33658');
  
  // --- LOADER LOGIC ---
  const modelViewer = document.getElementById('hero-model-hero-33658');
  const loader = document.getElementById('hero-loader-hero-33658');
  let loaderDismissed = false;

  function dismissLoader() {
      if(loaderDismissed || !loader) return;
      loaderDismissed = true;
      loader.classList.add('hidden');
  }

  if(modelViewer && loader) {
      modelViewer.addEventListener('load', dismissLoader);
      modelViewer.addEventListener('error', dismissLoader);
      // Fallback: Max 8 seconds loader
      setTimeout(dismissLoader, 8000);
  } else {
      dismissLoader();
  }
  // --- END LOADER LOGIC ---

  const PARALLAX_MAX = 10;
  if(PARALLAX_MAX > 0 && window.matchMedia("(hover: hover)").matches && wrapper) { 
    let mouseTicking = false;
    document.addEventListener('mousemove', (e) => { 
      if (!mouseTicking) {
        window.requestAnimationFrame(() => {
          const x = (e.clientX / window.innerWidth - 0.5) * 2; 
          const y = (e.clientY / window.innerHeight - 0.5) * 2; 
          wrapper.style.transform = `rotateY(${x * PARALLAX_MAX}deg) rotateX(${-y * PARALLAX_MAX}deg)`; 
          mouseTicking = false;
        });
        mouseTicking = true;
      }
    }); 
  }
  
  const SEQ_ENABLED = true;
  const SEQ_IMAGES = ["https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/45.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/46.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/47.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/48.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/49.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/50.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/51.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/52.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/53.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/54.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/55.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/56.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/57.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/58.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/59.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/60.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/61.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/62.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/63.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/64.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/65.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/66.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/67.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/68.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/69.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/70.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/71.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/72.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/73.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/74.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/75.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/76.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/77.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/78.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/79.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/80.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/81.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/82.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/83.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/84.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/85.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/86.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/87.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/88.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/89.png","https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/90.png"];
  const ASSETS = { D: { room: "https://heartucate.eu/content/projects/quantum-lab/hero-section/1024x1024/45.png" }, M: { room: "https://heartucate.eu/wp-content/uploads/2025/11/7-1.png" } };
  
  const BUBBLES = [{"icon":"clock","text":"6 experiments with different levels","x":17,"y":30,"id":1,"side":"left","visible":true,"scale":1},{"icon":"target","text":"From grade 11","x":0,"y":51,"side":"left","scale":1,"visible":true,"id":2},{"y":70,"x":16,"text":"On behalf of the University of Leipzig","icon":"pdf","id":3,"side":"left","visible":true,"scale":1},{"visible":true,"id":4,"scale":1,"side":"right","icon":"users","text":"Up to 4 players per group","y":30,"x":78},{"text":"For tablets and smartphones","y":55,"x":91,"icon":"tablet","id":5,"side":"right","visible":true,"scale":1},{"visible":true,"side":"right","id":6,"scale":1,"text":"Augmented Reality","y":75,"x":77,"icon":"vr"}];
  const ICONS = {"clock":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline></svg>","users":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path></svg>","pdf":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>","tablet":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line></svg>","target":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle></svg>","vr":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line></svg>"};
  
  if(window.innerWidth > 768 && BUBBLES.length > 0) {
      BUBBLES.forEach(b => {
          if(!b.visible) return;
          const el = document.createElement('div');
          el.className = 'hero-bubble-hero-33658';
          el.style.left = b.x + '%'; el.style.top = b.y + '%';
          el.style.setProperty('--b-scale', b.scale || 1);
          el.innerHTML = `<div class="hero-bubble-icon-hero-33658">${ICONS[b.icon] || ''}</div><span>${b.text}</span>`;
          bubbleLayer.appendChild(el);
          void el.offsetHeight; // Force reflow for Safari icon injection
      });
  }

  if(SEQ_ENABLED && SEQ_IMAGES.length > 0) SEQ_IMAGES.forEach(src => { const img = new Image(); img.src = src; if('decode' in img) img.decode().catch(()=>{}); });
  if(viewport) viewport.classList.add('loaded');
  const unlockElements = [back, front, roomGroup];
  function unlockAnimation() { unlockElements.forEach(el => { if(el) { el.style.animation = 'none'; el.classList.remove('animate-entry-3d-hero-33658'); el.classList.remove('animate-room-hero-33658'); } }); update(0); }
  if(back) { back.addEventListener('animationend', unlockAnimation, { once: true }); setTimeout(unlockAnimation, 1600); } else { update(0); }
  const DesktopS = {"roomScale":0.5,"tabY":0,"roomZ":80,"roomRotZ":0,"logoScale":0.65,"tabRotY":11,"roomRotY":0,"tabX":0,"logoOpacity":1,"roomX":50,"logoY":91,"roomY":-33,"tabRotX":0,"tabRotZ":0,"tabScale":0.7,"logoX":47}, DesktopE = {"roomRotZ":0,"logoOpacity":0,"tabRotY":48,"tabX":0,"roomRotY":0,"logoScale":0.8,"roomScale":0.8,"tabY":0,"roomZ":249,"logoX":50,"roomY":0,"logoY":150,"roomX":46,"tabScale":0.7,"tabRotX":40,"tabRotZ":-27}, DesktopSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  const MobileS = {"tabY":0,"roomZ":800,"roomScale":0.35,"logoOpacity":1,"roomRotY":null,"tabX":0,"tabRotY":0,"logoScale":1.05,"roomRotZ":0,"tabScale":0.9,"tabRotX":0,"tabRotZ":0,"roomY":14,"logoY":88,"roomX":50,"logoX":50}, MobileE = {"logoX":50,"roomX":55,"logoY":150,"roomY":17,"tabRotX":53,"tabRotZ":4,"tabScale":0.7,"roomRotZ":0,"tabRotY":-10,"logoScale":0.8,"roomRotY":0,"tabX":3,"logoOpacity":0,"roomScale":1.6,"tabY":0,"roomZ":80}, MobileSEQ = { logo: [0, 0.35], tab: [0.2, 0.6], room3d: [0.6, 1] };
  let ticking = false;
  function getProgress(globalP, startP, endP) { if (globalP <= startP) return 0; if (globalP >= endP) return 1; return (globalP - startP) / (endP - startP); }
  function lerp(start, end, t) { return start * (1 - t) + end * t; }
  
  function updateSequence(p3D, baseImg) {
      if (!slots[0] || !slots[1]) return;
      let baseSrc, nextSrc, mix;
      if (!SEQ_ENABLED || SEQ_IMAGES.length === 0) { baseSrc = baseImg; nextSrc = baseImg; mix = 0; } else if (p3D <= 0) { baseSrc = baseImg; nextSrc = SEQ_IMAGES[0]; mix = 0; } else if (p3D >= 1) { const last = SEQ_IMAGES[SEQ_IMAGES.length - 1]; baseSrc = last; nextSrc = last; mix = 0; } else { const totalFrames = SEQ_IMAGES.length - 1; const floatIndex = p3D * totalFrames; const idxBase = Math.floor(floatIndex); const idxNext = Math.min(totalFrames, idxBase + 1); baseSrc = SEQ_IMAGES[idxBase]; nextSrc = SEQ_IMAGES[idxNext]; mix = floatIndex - idxBase; }
      const src0 = slots[0].getAttribute('src'), src1 = slots[1].getAttribute('src');
      let targetSlotBase = 0; if (src1 === baseSrc) targetSlotBase = 1; 
      const targetSlotNext = targetSlotBase === 0 ? 1 : 0; const sBase = slots[targetSlotBase]; if(sBase.getAttribute('src') !== baseSrc) sBase.src = baseSrc; sBase.style.opacity = 1; sBase.style.zIndex = 1; const sNext = slots[targetSlotNext]; if(sNext.getAttribute('src') !== nextSrc) sNext.src = nextSrc; let safeMix = mix; if (safeMix < 0.01) safeMix = 0; sNext.style.opacity = safeMix; sNext.style.zIndex = 2;
  }
  
  function update(scrollP) {
    const isMobile = window.innerWidth <= 768; const S = isMobile ? MobileS : DesktopS; const E = isMobile ? MobileE : DesktopE; const SEQ = isMobile ? MobileSEQ : DesktopSEQ; const currentBaseRoom = isMobile ? ASSETS.M.room : ASSETS.D.room;
    
    const pTab = getProgress(scrollP, SEQ.tab[0], SEQ.tab[1]);
    const tScale = lerp(S.tabScale, E.tabScale, pTab), tRotX = lerp(S.tabRotX, E.tabRotX, pTab), tRotY = lerp(S.tabRotY, E.tabRotY, pTab), tRotZ = lerp(S.tabRotZ, E.tabRotZ, pTab), tX = lerp(S.tabX, E.tabX, pTab), tY = lerp(S.tabY, E.tabY, pTab);
    
    if(back) back.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    if(front) front.style.transform = `translate3d(${tX}%, ${tY}%, 0) scale(${tScale}) rotateZ(${tRotZ}deg) rotateY(${tRotY}deg) rotateX(${tRotX}deg)`;
    
    const rRotX = lerp(S.tabRotX, 0, pTab), rRotY = lerp(S.roomRotY || 0, E.roomRotY || 0, pTab), rRotZ = lerp(S.roomRotZ || 0, E.roomRotZ || 0, pTab), rScale = lerp(S.roomScale, E.roomScale, pTab), rX = lerp(S.roomX, E.roomX, pTab), rY = lerp(S.roomY, E.roomY, pTab), rZ = lerp(S.roomZ || 80, E.roomZ || 80, pTab), roomLift = lerp(0, -15, pTab);
    
    if(roomGroup) roomGroup.style.transform = `scale(${tScale}) rotateZ(${rRotZ}deg) rotateY(${rRotY}deg) rotateX(${rRotX}deg) translate3d(0, 0, ${rZ}px)`;
    slots.forEach(img => { if(img) { 
      img.style.top = `${rY}%`; 
      img.style.left = `${rX}%`; 
      img.style.transform = `translate3d(-50%, ${roomLift}%, 0) scale(${rScale})`; 
    } });
    
    const p3D = getProgress(scrollP, SEQ.room3d[0], SEQ.room3d[1]); updateSequence(p3D, currentBaseRoom);
    
    const showBubbles = p3D > 0.1;
    const bubbles = bubbleLayer.querySelectorAll('.hero-bubble-hero-33658');
    bubbles.forEach(b => { if(showBubbles) b.classList.add('visible'); else b.classList.remove('visible'); });

    const pLogo = getProgress(scrollP, SEQ.logo[0], SEQ.logo[1]), lScale = lerp(S.logoScale, E.logoScale, pLogo), lX = lerp(S.logoX, E.logoX, pLogo), lY = lerp(S.logoY, E.logoY, pLogo), lOp = lerp(S.logoOpacity, E.logoOpacity, pLogo);
    if(logo) { logo.style.top = `${lY}%`; logo.style.left = `${lX}%`; logo.style.opacity = lOp; logo.style.transform = `translate3d(-50%, -100%, 0) scale(${lScale})`; }
    if(gradient) gradient.style.opacity = lOp; 
  }

  function loop() {
    if (!track || !viewport) { requestAnimationFrame(loop); return; }
    const rect = track.getBoundingClientRect();
    const winH = window.innerHeight;
    
    if (rect.bottom > 0 && rect.top < winH) {
      viewport.classList.add('active');
      const scrollP = Math.max(0, Math.min(1, -rect.top / (rect.height - winH)));
      
      // Handle the "slide out" at the very bottom
      if (rect.bottom < winH) {
        viewport.style.transform = `translate3d(0, ${rect.bottom - winH}px, 0)`;
      } else {
        viewport.style.transform = 'translate3d(0, 0, 0)';
      }
      
      update(scrollP);
    } else {
      viewport.classList.remove('active');
    }
    requestAnimationFrame(loop);
  }
  requestAnimationFrame(loop);
  
  window.addEventListener('resize', () => { if(viewport) update(0); }); 
});
</script>
                
<style>
#fc-section-fc-9583 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: -50px; 
    overflow: hidden; 
    font-family: 'Geometria', 'Segoe UI', sans-serif;
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-9583 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-9583 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-9583 {
    margin-bottom: 60px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-9583 h2 {
    font-size: 42px;
    font-weight: 800;
    color: #002c50;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-9583 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(100px);
}
@media(max-width: 640px) {
    .fc-header-fc-9583 { text-align: center; } 
    .fc-header-fc-9583 h2 { font-size: 36px; } 
    .fc-header-logo-fc-9583 { transform: translateX(0px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-9583 {
    margin-top: 40px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-9583 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-9583 {
    display: inline-block;
    background: #ED6D32;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-9583:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-9583 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 1.2000000000000002s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-9583 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-9583 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-9583 { animation-delay: 0.1s; }
.fc-header-fc-9583 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-9583 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #002c50, #16ffff, #000307, #c9cfe0); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-9583 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-9583 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-9583 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-9583 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-9583 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-9583 { opacity: 0; transform: translateY(-50%) scale(0.9) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-9583 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-9583 { opacity: 1; transform: translateY(-50%) scale(0.9) translateX(0); }
.fc-in-view .fc-bg-heart-fc-9583 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-9583 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-9583 { display: none; position: absolute; right: -40%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-9583 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-9583 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-9583 { display: block; } .fc-bg-heart-fc-9583 { display: block; } #fc-grid-fc-9583 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-9583 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-9583 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-9583 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-9583 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-9583 { fill: none; stroke: url(#line-grad-fc-9583); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-9583); }
</style>
<div id="fc-section-fc-9583">
    <div class="fc-bg-gradient-fc-9583"></div><div class="fc-bg-grain-fc-9583"></div>
    <svg class="fc-bg-heart-fc-9583" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/Strahlenteilerwuerfel.png" class="fc-side-image-fc-9583" alt="" />
    
    <div id="fc-wrap-fc-9583">
        
                <div class="fc-header-fc-9583">
                    
                    <div class="fc-header-reveal"><h2>QUANTUM LAB AR</h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-9583" class="fc-snake-svg-fc-9583">
            <defs>
                <linearGradient id="line-grad-fc-9583" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#16ffff" />
                    <stop offset="50%" stop-color="#002c50" />
                    <stop offset="100%" stop-color="#000307" />
                </linearGradient>
                <mask id="fc-mask-fc-9583"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-9583"></g></mask>
            </defs>
            <path id="fc-path-fc-9583" class="fc-snake-path-fc-9583" d="" />
        </svg>
        <div id="fc-grid-fc-9583">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="70" height="82" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:70px; min-height:82px;"><path d="M9 21h6v-1.5H9V21zm3-19C8.48 2 5.5 4.98 5.5 8.5c0 2.85 1.43 5.5 3.5 6.95V19h6v-3.55c2.07-1.44 3.5-4.1 3.5-6.95C18.5 4.98 15.52 2 12 2z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject</h3><p>Phenomena of quantum physics </p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-70px, -8px) scale(3.2); opacity: 0.15;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="70" height="66" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:70px; min-height:66px;"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14 M22 4L12 14.01l-3-3" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Subject content</h3><p>Physics (coincidence, anticorrelation, interference, Hong-Ou-Mandel, entanglement, Franson)</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="98" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:98px;"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 7a4 4 0 1 0 0-8 4 4 0 0 0 0 8z M23 21v-2a4 4 0 0 0-3-3.87 M16 3.13a4 4 0 0 1 0 7.75" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Up to 4 players per group</h3><p>Ideal for small groups – cooperative and quick to get started.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.6000000000000001s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="464" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:464px;"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z M12 6v6l4 2" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>6 experiments with different levels</h3><p>Modular experiments, each lasting 5-10 minutes, with varying degrees of difficulty</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.8s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:80px;"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z M12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Suitable for grades 11 and above</h3><p>Designed to high educational standards for learners from grade 11 onwards</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="128" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:128px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2L14 8 20 8 M16 13L8 13 M16 17L8 17 M10 9L8 9" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Developed for the University of Leipzig</h3><p>This app was developed in collaboration with the Department of Physics Education at the University of Leipzig.</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 1.2000000000000002s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="62" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:62px;"><path d="M12 18h.01M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z M12 18h.01" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For tablets und smartphones</h3><p>Compatible with iOS and Android, no additional devices required.</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 1.4000000000000001s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-230px, -30px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/uni_leipzig_logo_v2.svg" style="transform: translate(0px, -15px) scale(1);" alt="Cooperational partner" /></div>
                    </div>
                    <div class="fc-content"><h3>Cooperational partner</h3><p>Reise in die Arktis ist eine eigenständige Produktion von heartucate</p></div>
                </div></div>
        
                <div class="fc-action-wrapper-fc-9583">
                    <a href="" class="fc-action-btn-fc-9583 fc-btn-reveal">Learn more</a>
                </div>
            
    </div>
</div>
<script>(function(){
    const uid = "fc-9583";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 8 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.9) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.9)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-29 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-max-width:480px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-19 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="1483" height="1071" title="quantumlab with shadow" src="https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow.png" alt class="img-responsive wp-image-57384" srcset="https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow-200x144.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow-400x289.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow-600x433.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow-800x578.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow-1200x867.png 1200w, https://heartucate.eu/wp-content/uploads/2025/12/quantumlab-with-shadow.png 1483w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-30 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#002c50;--awb-margin-top:55px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">The high-tech laboratory for your pocket</h3></div><div class="fusion-text fusion-text-30 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>No more dry theory and expensive equipment. The QuantumLab app, developed on behalf of the University of Leipzig, transforms your smartphone or tablet into a fully-fledged research laboratory. Thanks to innovative XR technology (for Android &amp; iOS), you can bring complex physical structures directly to your school desk. Make the invisible visible and experience quantum physics in a way that has never been possible before – without laser safety goggles, but with complete transparency.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-31 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-padding-top:55px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#002c50;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">6 experiments, countless moments of revelation</h3></div><div class="fusion-text fusion-text-31 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>Are you ready to push the boundaries of classical physics? Master six fascinating experiments—from fundamental interference and coincidence to the famous Hong-Ou-Mandel effect. Each experiment challenges you with different levels of difficulty: start with the basics and work your way up until you truly understand the intricacies of quantum mechanics. This turns abstract knowledge into tangible fascination.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-32 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-max-width:270px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-20 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><img decoding="async" width="411" height="491" title="Kristall" src="https://heartucate.eu/wp-content/uploads/2025/12/Kristall.png" alt class="img-responsive wp-image-57385" srcset="https://heartucate.eu/wp-content/uploads/2025/12/Kristall-200x239.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/Kristall-400x478.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/Kristall.png 411w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 411px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><style>
#bento-2056 { position: relative; width: 100vw; left: 50%; margin-left: -50vw; box-sizing: border-box; font-family: 'Geometria', sans-serif; padding: 80px 40px; background: transparent; overflow: hidden; }
@media(max-width: 768px) { #bento-2056 { padding: 40px 15px; } }
#bento-2056::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #4F46E5, #818CF8, #C7D2FE, #312E81); opacity: 0.15; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%); }
#bento-2056 .bento-grid { position: relative; z-index: 10; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; gap: 20px; max-width: 1200px; margin: 0 auto; grid-auto-rows: 90px; }
@media(max-width: 1200px) { #bento-2056 .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 90px; } }
@media(max-width: 800px) { #bento-2056 .bento-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }
#bento-2056 .bento-item { position: relative; border-radius: 24px; transform-style: preserve-3d; cursor: pointer; transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1; }
#bento-2056 .span-c-1 { grid-column: span 1; } #bento-2056 .span-c-2 { grid-column: span 2; } #bento-2056 .span-c-3 { grid-column: span 3; } #bento-2056 .span-c-4 { grid-column: span 4; } #bento-2056 .span-c-5 { grid-column: span 5; } #bento-2056 .span-c-6 { grid-column: span 6; }
#bento-2056 .span-r-1 { grid-row: span 1; } #bento-2056 .span-r-2 { grid-row: span 2; } #bento-2056 .span-r-3 { grid-row: span 3; } #bento-2056 .span-r-4 { grid-row: span 4; } #bento-2056 .span-r-5 { grid-row: span 5; } #bento-2056 .span-r-6 { grid-row: span 6; }
@media(max-width: 800px) { #bento-2056 .bento-item { grid-column: span 1 !important; grid-row: span 1 !important; } #bento-2056 .bento-item.span-c-3, #bento-2056 .bento-item.span-c-4, #bento-2056 .bento-item.span-c-5, #bento-2056 .bento-item.span-c-6 { grid-column: span 2 !important; grid-row: span 2 !important; } }
#bento-2056 .bento-item.expanded { grid-column: span var(--exp-c, 4) !important; grid-row: span var(--exp-r, 4) !important; z-index: 100; }
@media(max-width: 1200px) { #bento-2056 .bento-item.expanded { grid-column: span min(var(--exp-c, 4), 4) !important; } }
@media(max-width: 800px) { #bento-2056 .bento-item.expanded { grid-column: span 2 !important; grid-row: span 3 !important; } #bento-2056 .bento-item.expanded[data-type="video"] { aspect-ratio: 16/9 !important; height: auto !important; min-height: unset !important; grid-row: span 2 !important; } }
#bento-2056 .bento-grid.has-expanded .bento-item:not(.expanded) { opacity: 0.4; transform: scale(0.96); filter: grayscale(100%); pointer-events: auto; }
#bento-2056 .bento-inner { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: transform 0.3s ease-out; transform: translateZ(0); }
#bento-2056 .bento-item.expanded .bento-inner { transform: none !important; box-shadow: 0 40px 100px -20px rgba(0,0,0,0.5); border: 3px solid #4F46E5; }
#bento-2056 .bento-warp-bg { position: absolute; inset: 0; border-radius: 24px; background: linear-gradient(135deg, #4F46E5, #818CF8); opacity: 0; z-index: -1; transform: scale(0.8); pointer-events: none; }
@keyframes warpShock-bento-2056 { 0% { opacity: 0.6; transform: scale(0.95); } 100% { opacity: 0; transform: scale(1.4); } }
#bento-2056 .bento-item.expanded .bento-warp-bg { animation: warpShock-bento-2056 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
#bento-2056 .bento-media-wrap { width: 100%; height: 100%; position: relative; }
#bento-2056 img, #bento-2056 video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); }
#bento-2056 .bento-item:not(.expanded):hover img { transform: scale(1.08); }
#bento-2056 .bento-play-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; text-shadow: 0 4px 15px rgba(0,0,0,0.5); pointer-events: none; transition: opacity 0.3s; opacity: 0; }
#bento-2056 .bento-item[data-type="video"]:not(.expanded):hover .bento-play-icon { opacity: 1; }
#bento-2056 .bento-item.expanded .bento-play-icon { display: none; }
#bento-2056 .bento-close-btn { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); border-radius: 50%; color: white; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 101; opacity: 0; pointer-events: none; transform: scale(0.8); transition: all 0.4s ease; }
#bento-2056 .bento-item.expanded .bento-close-btn { opacity: 1; pointer-events: all; transform: scale(1); }
#bento-2056 .bento-close-btn:hover { background: #C63F40; transform: scale(1.1); }
#bento-2056 .bento-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); opacity: 0; transform: translateY(10px); transition: all 0.3s; pointer-events: none; }
#bento-2056 .bento-item:hover:not(.expanded) .bento-overlay { opacity: 1; transform: translateY(0); }
#bento-2056 .bento-item.expanded .bento-overlay { opacity: 0; }
#bento-2056 h3 { margin: 0; color: white; font-size: 18px; font-weight: 700; }
</style>
<div id="bento-2056"><div class="bento-grid" id="grid-bento-2056">
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/lab6.jpeg" alt="VR" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Lab1</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/lab2.jpeg" alt="Video" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Lab2</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-4 js-bento-card" data-type="image" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/lab3.jpeg" alt="Detail" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Lab3</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/lab4.jpeg" alt="Atmo" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Lab4</h3></div>
                    </div>
                </div>
                <div class="bento-item span-c-2 span-r-2 js-bento-card" data-type="image" style="--exp-c: 5; --exp-r: 5;">
                    <div class="bento-warp-bg"></div>
                    <div class="bento-inner">
                        <div class="bento-close-btn">✕</div>
                        <div class="bento-media-wrap"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/lab7.jpeg" alt="Clean" loading="lazy"></div>
                        <div class="bento-overlay"><h3>Lab5</h3></div>
                    </div>
                </div></div></div>
<script>(function(){const grid=document.getElementById('grid-bento-2056'),cards=grid.querySelectorAll('.js-bento-card');cards.forEach(el=>{const vid=el.querySelector('video'),closeBtn=el.querySelector('.bento-close-btn'),inner=el.querySelector('.bento-inner');el.addEventListener('mousemove',(e)=>{if(el.classList.contains('expanded'))return;const r=el.getBoundingClientRect(),x=e.clientX-r.left,y=e.clientY-r.top,cX=r.width/2,cY=r.height/2,rX=((y-cY)/cY)*-4,rY=((x-cX)/cX)*4;inner.style.transform=`perspective(1000px) rotateX(${rX}deg) rotateY(${rY}deg) scale(1.02)`});el.addEventListener('mouseleave',()=>{if(!el.classList.contains('expanded'))inner.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1)'});el.addEventListener('click',(e)=>{if(el.classList.contains('expanded')&&vid)return;if(el.classList.contains('expanded')&&!vid)return;cards.forEach(c=>{const cVid=c.querySelector('video');if(cVid){cVid.muted=true;cVid.loop=true;cVid.removeAttribute('controls');cVid.play()}c.classList.remove('expanded')});grid.classList.add('has-expanded');el.classList.add('expanded');inner.style.transform='';if(vid){vid.currentTime=0;vid.muted=false;vid.loop=false;vid.setAttribute('controls','true');vid.play()}setTimeout(()=>el.scrollIntoView({behavior:'smooth',block:'center'}),400)});if(closeBtn){closeBtn.addEventListener('click',(e)=>{e.stopPropagation();el.classList.remove('expanded');grid.classList.remove('has-expanded');if(vid){vid.muted=true;vid.loop=true;vid.removeAttribute('controls');vid.play()}})}})})();</script><div class="fusion-text fusion-text-32"><h2 style="color: #002c50;">Credits:</h2>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-33 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-33"><p><strong style="color: #002c50;">Development:</strong><br />
Heartucate GmbH (2025) im Auftrag der Universität Leipzig, Professur für Physikdidaktik unter der Leitung von Prof. Dr. Philipp Bitzenbauer</p>
<p><b><span style="color: #002c50;">Conceptual original work:</span><br />
</b><span style="background-color: rgba(0, 0, 0, 0);">QuantumLab, entwickelt von Dr. Patrick Bronner und Prof. Dr. Jan-Peter Meyn</span></p>
<p><strong><span style="color: #002c50;">Technical Lead:</span><br />
</strong>Vincent Schiller</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-34 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-34"><p><b><span style="color: #002c50;">Concept app:<br />
</span></b><span style="color: #002c50;"><span style="color: #4e4e4e;">Franziska Weser, </span><br />
</span>Prof. Dr. Philipp Bitzenbauer</p>
<p><span style="color: #003366;"><b>Technical development:</b></span><br />
Vincent Schiller, Valentin Behrendt</p>
<p><b><span style="color: #002c50;">UI/UX Design:</span><br />
</b>Yannick Stritzke</p>
<p><b><span style="color: #003366;">Scientific advice:</span><br />
</b>Prof. Dr. Philipp Bitzenbauer, Judith Schmid, Malte Ubben</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-35 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-35"><p><span style="color: #002c50;"><b>Client:</b></span></p>
</div><div class="fusion-image-element " style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-21 hover-type-none"><img decoding="async" width="337" height="141" title="uni_leipzig_logo_v2" src="https://heartucate.eu/wp-content/uploads/2025/12/uni_leipzig_logo_v2.svg" alt class="img-responsive wp-image-57380"/></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-36 fusion_builder_column_inner_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"></div></div></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/quantumlab-eng/">QuantumLab</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Damaskuszimmer VR Editor</title>
		<link>https://heartucate.eu/en/cooperations/damaskuszimmer-vreditor/</link>
		
		<dc:creator><![CDATA[Heartucate-admin]]></dc:creator>
		<pubDate>Sat, 10 Jan 2026 09:00:37 +0000</pubDate>
				<category><![CDATA[Cooperations]]></category>
		<guid isPermaLink="false">https://heartucate.eu/?p=58081</guid>

					<description><![CDATA[<p>Become an architect of the Orient  Step into the role of an Ottoman architect and create a space that tells stories. With the Damascus Room VR Editor, you have access to the magnificent stylistic elements of the famous 19th-century original in Dresden. Combine richly decorated wood paneling, set atmospheric lighting accents, and  [...]</p>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/damaskuszimmer-vreditor/">Damaskuszimmer VR Editor</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="fusion-fullwidth fullwidth-box fusion-builder-row-11 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-22 fusion-flex-column fusion-flex-align-self-flex-start fusion-animated" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInUp" data-animationDuration="1.0" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><style>
                    #hero-track-hero-20965 { 
                        position: relative; 
                        width: 100vw; 
                        left: 50%;
                        margin-left: -50vw;
                        height: 500vh; 
                        z-index: 10; 
                    }
                    #hero-sticky-viewport-hero-20965 { 
                        position: sticky; top: 0; width: 100%; height: 100vh; overflow: hidden; background-color: #1a1a1a; perspective: 1200px;
                        border-bottom-left-radius: 50px;
                        border-bottom-right-radius: 50px;
                    }
                    @media(max-width: 768px) {
                        #hero-sticky-viewport-hero-20965 {
                            border-bottom-left-radius: 0px;
                            border-bottom-right-radius: 0px;
                        }
                    }

                    .vr-bg-layer-hero-20965 { position: absolute; inset: 0; z-index: 1; }
                    .vr-glow-layer-hero-20965 { position: absolute; inset: 0; z-index: 2; mix-blend-mode: screen; opacity: 0.8; pointer-events: none; }
                    
                    .vr-content-wrapper-hero-20965 {
                        position: absolute; inset: 0; z-index: 10;
                        display: flex; align-items: center; justify-content: center;
                        transform-style: preserve-3d;
                        will-change: transform;
                    }
                    
                    .vr-sequence-container-hero-20965 {
                        position: relative;
                        width: 100%; height: 100%;
                        display: flex; align-items: center; justify-content: center;
                        transform-style: preserve-3d;
                        transform: scale(1.1) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
                        transition: transform 0.5s ease-out; /* Smooth warp */
                    }
                    @media(max-width: 768px) {
                        .vr-sequence-container-hero-20965 { transform: scale(1.95) rotateX(0deg) rotateY(0deg) rotateZ(0deg); }
                    }

                    /* DOUBLE BUFFER SLOTS */
                    .vr-seq-img-hero-20965 {
                        position: absolute;
                        top: 50%; left: 50%;
                        transform: translate(-50%, -50%);
                        max-width: 100%; max-height: 100%;
                        object-fit: contain;
                        width: auto; height: auto;
                        will-change: opacity;
                        backface-visibility: hidden;
                    }

                    #pannellum-container-hero-20965 { 
                        position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; 
                        opacity: 0; pointer-events: none; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1); 
                        z-index: 50; 
                    }
                    #pannellum-container-hero-20965.visible { opacity: 1; pointer-events: all; }

                    .vr-overlay-text-hero-20965 {
                        position: absolute;
                        font-family: 'Geometria', sans-serif;
                        color: #ffffff;
                        font-weight: 800;
                        font-size: 3rem;
                        white-space: nowrap;
                        text-align: center;
                        pointer-events: none;
                        transform-style: preserve-3d;
                        will-change: opacity, transform;
                        z-index: 30;
                        top: 77%; left: 35%; transform: translate(-50%, -50%) translateZ(50px) scale(2.3);
                        opacity: 1;
                    }
                    .vr-overlay-logo-hero-20965 {
                        position: absolute;
                        pointer-events: none;
                        transform-style: preserve-3d;
                        will-change: opacity, transform;
                        z-index: 30;
                        max-width: 80vw;
                        top: 135%; left: 20%; transform: translate(-50%, -50%) translateZ(125px) scale(1);
                        opacity: 1;
                    }
                    .vr-overlay-logo-hero-20965 img { width: 100%; height: auto; display: block; }

                    @media(max-width: 768px) {
                        .vr-overlay-text-hero-20965 { top: 66%; left: 50%; transform: translate(-50%, -50%) translateZ(50px) scale(0.7); opacity: 1; }
                        .vr-overlay-logo-hero-20965 { top: 105%; left: 50%; transform: translate(-50%, -50%) translateZ(80px) scale(2.5); opacity: 1; }
                    }

                    /* EXIT BUTTON (MOBILE ONLY) */
                    .vr-scroll-down-btn-hero-20965 {
                        display: none;
                        position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%);
                        z-index: 100;
                        background: rgba(255,255,255,0.2); backdrop-filter: blur(10px);
                        border: 1px solid rgba(255,255,255,0.4);
                        color: white; width: 44px; height: 44px; border-radius: 50%;
                        align-items: center; justify-content: center;
                        cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,0.3);
                        animation: vrPulse 2s infinite;
                    }
                    @media(max-width: 768px) { .vr-scroll-down-btn-hero-20965 { display: flex; } }
                    @keyframes vrPulse { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.1); } 100% { transform: translateX(-50%) scale(1); } }
                </style>
                <div id="hero-track-hero-20965">
                    <div id="hero-sticky-viewport-hero-20965">
                        <div class="vr-bg-layer-hero-20965"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/3-Cleaner_Raum.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
                        <div class="vr-glow-layer-hero-20965"><picture style="width: 100%; height: 100%; display: block;"><source media="(max-width: 768px)" srcset="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/11/Redglow-1.png" style="width: 100%; height: 100%; object-fit: cover;" alt="" /></picture></div>
                        
                        <div class="vr-content-wrapper-hero-20965">
                            <div id="vr-seq-wrap-hero-20965" class="vr-sequence-container-hero-20965">
                                <img id="vr-slot0-hero-20965" class="vr-seq-img-hero-20965" src="https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer01.png" style="z-index: 1; opacity: 1;" decoding="sync" alt="" />
                                <img id="vr-slot1-hero-20965" class="vr-seq-img-hero-20965" src="https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer01.png" style="z-index: 2; opacity: 0;" decoding="sync" alt="" />
                            </div>
                            <div id="vr-text-hero-20965" class="vr-overlay-text-hero-20965">Damaskuszimmer</div>
                            <div id="vr-logo-hero-20965" class="vr-overlay-logo-hero-20965"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/SKD_Logo_oben_L_Weiss_sRGB-scaled.png" alt="VR Logo" /></div>
                        </div>

                        <div id="pannellum-container-hero-20965">
                            <button id="vr-exit-btn-hero-20965" class="vr-scroll-down-btn-hero-20965"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M7 13l5 5 5-5M7 6l5 5 5-5"/></svg></button>
                        </div>
                    </div>
                </div>
                <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pannellum@2.5.6/build/pannellum.css"/>
                <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pannellum@2.5.6/build/pannellum.js"></script>
                <script>
                
            (function(){
                if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
                    var d = document.createElement('div');
                    d.style.cssText = "position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:white;color:#333;padding:12px 20px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.2);z-index:999999;font-family:sans-serif;font-size:13px;display:flex;align-items:center;gap:15px;border:1px solid rgba(0,0,0,0.05);max-width:90vw;width:auto;";
                    d.innerHTML = "<div style='display:flex;flex-direction:column;gap:4px;'><strong>Hinweis zur Darstellung der Seite in Firefox</strong><span style='opacity:0.8;line-height:1.4;'>Der Firefox Browser kann dieses 3D-Element leider nicht korrekt darstellen. Aktuell sind wir daran, das Problem zu lösen.<br>Wir empfehlen, diese Website mit einem <strong>Chromium Browser</strong> (Chrome, Edge, etc.) zu öffnen.</span></div>";
                    
                    var b = document.createElement('button');
                    b.innerHTML = "✕";
                    b.style.cssText = "background:#f0f0f0;color:#333;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;";
                    b.onclick = function(){ d.remove(); };
                    
                    d.appendChild(b);
                    document.body.appendChild(d);
                }
            })();
            
                document.addEventListener("DOMContentLoaded", function() {
                    const track = document.getElementById('hero-track-hero-20965');
                    const slot0 = document.getElementById('vr-slot0-hero-20965');
                    const slot1 = document.getElementById('vr-slot1-hero-20965');
                    const seqWrap = document.getElementById('vr-seq-wrap-hero-20965');
                    const panoCont = document.getElementById('pannellum-container-hero-20965');
                    const overlayText = document.getElementById('vr-text-hero-20965');
                    const overlayLogo = document.getElementById('vr-logo-hero-20965');
                    const exitBtn = document.getElementById('vr-exit-btn-hero-20965');
                    
                    const images = ["https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer01.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer02.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer03.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer04.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer05.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer06.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer07.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer08.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer09.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer10.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer11.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer12.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer13.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer14.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer15.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer16.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer17.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer18.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer19.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer20.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer21.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer22.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer23.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer24.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer25.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer26.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer27.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer28.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer29.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer30.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer31.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer32.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer33.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer34.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer35.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer36.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer37.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer38.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer39.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer40.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer41.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer42.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer43.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer44.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer45.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer46.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer47.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer48.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer49.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer50.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer51.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer52.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer53.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer54.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer55.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer56.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer57.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer58.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer59.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer60.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer61.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer62.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer63.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer64.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer65.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer66.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer67.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer68.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer69.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer70.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer71.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer72.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer73.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer74.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer75.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer76.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer77.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer78.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer79.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer80.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer81.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer82.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer83.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer84.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer85.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer86.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer87.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer88.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer89.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer90.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer91.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer92.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer93.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer94.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer95.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer96.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer97.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer98.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer99.png","https://heartucate.eu/wp-content/uploads/2025/12/damaskuszimmer100.png"];
                    const PANO_IMG = "https://heartucate.eu/content/projects/damaskuszimmer/hero-section/4096x2048/360.png";
                    let panoViewer = null;

                    // EXIT BUTTON LOGIC
                    if(exitBtn) {
                        exitBtn.addEventListener('click', function() {
                            window.scrollBy({ top: window.innerHeight, behavior: 'smooth' });
                        });
                    }

                    // Preload Images
                    if(images.length > 0) images.forEach(src => { const i = new Image(); i.src = src; });

                    function update() {
                        if (!track || images.length === 0) return;
                        const rect = track.getBoundingClientRect();
                        let scrollP = Math.max(0, Math.min(1, -rect.top / (rect.height - window.innerHeight)));
                        
                        // TIMING CONSTANTS
                        const SEQ_END = 0.70;   // Sequence finishes
                        const FADE_START = 0.70; // Pano fade starts
                        const FADE_END = 0.80;   // Pano fully visible
                        // 0.80 - 1.00 is buffer zone (Viewer active)

                        // 1. OVERLAY FADE OUT
                        const fadeOutEnd = 0.5;
                        let overlayOp = 1;
                        if(scrollP > 0) {
                             overlayOp = 1 - (scrollP / fadeOutEnd);
                             if(overlayOp < 0) overlayOp = 0;
                        }
                        if(overlayText) overlayText.style.opacity = overlayOp;
                        if(overlayLogo) overlayLogo.style.opacity = overlayOp;

                        // 2. SEQUENCE LOGIC (DOUBLE BUFFER)
                        if (scrollP < FADE_END) {
                            panoCont.classList.remove('visible');
                            if(seqWrap) seqWrap.style.opacity = 1;
                            
                            // Warp Reset
                            seqWrap.style.transform = window.innerWidth <= 768 ? 'scale(1.95) rotateX(0deg) rotateY(0deg) rotateZ(0deg)' : 'scale(1.1) rotateX(0deg) rotateY(0deg) rotateZ(0deg)';

                            // Map 0 -> 0.7 to 0 -> 1
                            const seqProgress = Math.min(scrollP / SEQ_END, 1.0);
                            const totalFrames = images.length - 1;
                            const floatIndex = seqProgress * totalFrames;
                            const idxBase = Math.floor(floatIndex);
                            const idxNext = Math.min(totalFrames, idxBase + 1);
                            const mix = floatIndex - idxBase;

                            const srcBase = images[idxBase];
                            const srcNext = images[idxNext];

                            // Buffer Swap
                            if(slot0.getAttribute('src') !== srcBase) slot0.src = srcBase;
                            if(slot1.getAttribute('src') !== srcNext) slot1.src = srcNext;
                            
                            slot0.style.opacity = 1;
                            slot1.style.opacity = mix;
                            
                            // WARP ZOOM TRANSITION (0.7 -> 0.8)
                            if (scrollP > SEQ_END) {
                                const warpProgress = (scrollP - SEQ_END) / (FADE_END - SEQ_END); // 0 to 1
                                // Fade out sequence wrapper
                                seqWrap.style.opacity = 1 - warpProgress;
                                // Scale UP (Warp)
                                const baseTrans = window.innerWidth <= 768 ? 'scale(1.95) rotateX(0deg) rotateY(0deg) rotateZ(0deg)' : 'scale(1.1) rotateX(0deg) rotateY(0deg) rotateZ(0deg)';
                                seqWrap.style.transform = baseTrans + ' scale(' + (1 + warpProgress * 4) + ')';
                            }

                        } else {
                            // 3. PANO ACTIVE
                            if(!panoCont.classList.contains('visible')) {
                                panoCont.classList.add('visible');
                                if(!panoViewer && window.pannellum && PANO_IMG) {
                                    panoViewer = window.pannellum.viewer('pannellum-container-hero-20965', {
                                        "type": "equirectangular",
                                        "panorama": PANO_IMG,
                                        "autoLoad": true,
                                        "autoRotate": -2,
                                        "compass": false,
                                        "showControls": true,
                                        "mouseZoom": false
                                    });
                                }
                            }
                        }
                    }
                    window.addEventListener('scroll', () => window.requestAnimationFrame(update), { passive: true });
                    window.addEventListener('resize', update);
                });
                </script>
<style>
#fc-section-fc-2281 { 
    position: relative; 
    width: 100vw; 
    left: 50%; 
    margin-left: -50vw; 
    box-sizing: border-box;
    padding-top: 160px;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 150px;
    margin-top: -50px; 
    overflow: hidden; 
    font-family: 'Geometria', 'Segoe UI', sans-serif;
    display: flex;
    justify-content: center;
}

@media (max-width: 640px) {
    #fc-section-fc-2281 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
        margin-top: 0px !important;
    }
}

#fc-wrap-fc-2281 { position: relative; width: 100%; max-width: 1200px; z-index: 10; }

/* HEADER STYLES */
.fc-header-fc-2281 {
    margin-bottom: 60px;
    text-align: left;
    position: relative;
    z-index: 20;
}
.fc-header-fc-2281 h2 {
    font-size: 52px;
    font-weight: 800;
    color: #550917;
    margin: 0;
    line-height: 1.1;
}
.fc-header-logo-fc-2281 {
    display: block;
    width: 60px;
    height: auto;
    margin-bottom: 0px;
    object-fit: contain;
    transform: translateX(185px);
}
@media(max-width: 640px) {
    .fc-header-fc-2281 { text-align: center; } 
    .fc-header-fc-2281 h2 { font-size: 36px; } 
    .fc-header-logo-fc-2281 { transform: translateX(0px); margin-left: auto; margin-right: auto; }
}

/* BUTTON STYLES */
.fc-action-wrapper-fc-2281 {
    margin-top: 35px;
    text-align: center;
    position: relative;
    z-index: 20;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media(min-width: 1280px) {
    .fc-action-wrapper-fc-2281 {
        margin-right: 25% !important;
        max-width: none !important;
    }
}

.fc-action-btn-fc-2281 {
    display: inline-block;
    background: #ED6D32;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    padding: 16px 32px;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transform-style: preserve-3d; 
    perspective: 1000px;
    will-change: transform;
    transition: box-shadow 0.2s ease;
}
.fc-action-btn-fc-2281:hover {
    color: #ffffff !important;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.2);
}

.fc-btn-reveal { opacity: 0; transform: translateY(20px); }
.fc-in-view .fc-btn-reveal {
    animation: fcHeaderPop-fc-2281 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 0.8s; 
}

/* HEADER REVEAL ANIMATION */
@keyframes fcHeaderPop-fc-2281 {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.fc-header-reveal { opacity: 0; }
.fc-in-view .fc-header-reveal {
    animation: fcHeaderPop-fc-2281 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.fc-header-logo-fc-2281 { animation-delay: 0.1s; }
.fc-header-fc-2281 h2 { animation-delay: 0.2s; }

.fc-bg-gradient-fc-2281 { 
    position: absolute; inset: 0; z-index: 0; 
    background: linear-gradient(-45deg, #791811, #22302e, #7b5c02, #285d12); 
    background-size: 400% 400%; 
    animation: fcGradient-fc-2281 20s ease infinite; 
    opacity: 0.82; 
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); 
}

.fc-bg-grain-fc-2281 { position: absolute; inset: 0; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; mix-blend-mode: overlay; pointer-events: none; }
@keyframes fcGradient-fc-2281 { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

@keyframes fcPop-fc-2281 {
    0% { opacity: 0; transform: scale(0.5) translateY(50px); }
    60% { opacity: 1; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.fc-card { 
    opacity: 0; 
    transform: translateZ(0); 
    will-change: transform, opacity;
}

.fc-in-view .fc-card { 
    animation: fcPop-fc-2281 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; 
}

.fc-side-image-fc-2281 { opacity: 0; transform: translateY(-50%) scale(0.6) translateX(80px); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s; }
.fc-bg-heart-fc-2281 { opacity: 0; transform: translate(-10%, calc(-50% + 0%)) scale(0.8); transition: all 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s; }

.fc-in-view .fc-side-image-fc-2281 { opacity: 1; transform: translateY(-50%) scale(0.6) translateX(0); }
.fc-in-view .fc-bg-heart-fc-2281 { opacity: 0.1; transform: translate(-10%, calc(-50% + 0%)) scale(0.5); }
.fc-interactive .fc-side-image-fc-2281 { transition: transform 0.1s ease-out !important; }

.fc-side-image-fc-2281 { display: none; position: absolute; right: -17%; top: 50%; height: 90%; width: auto; object-fit: contain; z-index: 5; pointer-events: none; filter: drop-shadow(-20px 0 30px rgba(0,0,0,0.1)); }
.fc-bg-heart-fc-2281 { display: none; position: absolute; top: 50%; right: 0; width: 600px; height: 600px; z-index: 2; pointer-events: none; } .fc-bg-heart-fc-2281 path { fill: #ffffff; }
@media(min-width: 1280px) { .fc-side-image-fc-2281 { display: block; } .fc-bg-heart-fc-2281 { display: block; } #fc-grid-fc-2281 { margin-right: 25% !important; max-width: none !important; } }
#fc-grid-fc-2281 { position: relative; z-index: 10; display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 1200px; margin: 0 auto; transition: margin 0.3s; }
@media(min-width: 640px) { #fc-grid-fc-2281 { grid-template-columns: repeat(2, 1fr); } } @media(min-width: 1024px) { #fc-grid-fc-2281 { grid-template-columns: repeat(2, 1fr); } }

.fc-card { 
    background: rgba(255, 255, 255, 0.7); 
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
    border-radius: 20px; 
    padding: 24px; 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 20px; 
    border: 1px solid rgba(255, 255, 255, 0.6); 
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05); 
    position: relative; 
    overflow: hidden; 
    transform-style: preserve-3d; perspective: 1000px; backface-visibility: hidden; -webkit-font-smoothing: antialiased; 
    height: 100%;
}
@media(max-width: 480px) { .fc-card { flex-direction: column; align-items: center; text-align: center; } }
.fc-card:hover { box-shadow: 0 25px 50px -12px rgba(214, 68, 59, 0.15); background: rgba(255, 255, 255, 0.85); border-color: rgba(255, 255, 255, 0.9); }
.fc-icon-wrap { position: relative; width: 80px; height: 80px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; isolation: isolate; transform-style: preserve-3d; }
.fc-heart-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .fc-heart-bg path { fill: inherit; } 
.fc-card:hover .fc-heart-bg { transform: scale(1.2) rotate(15deg) translateY(-5px); opacity: 0.5; }
.fc-icon { position: relative; z-index: 20; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; transform: translateZ(0); } 
.fc-card:hover .fc-icon { transform: translateZ(50px) scale(1.1); }
.fc-icon svg { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.fc-content { flex: 1; z-index: 10; position: relative; transform: translateZ(20px); } .fc-content h3 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; line-height: 1.2; } .fc-content p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.fc-icon-img-free { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 20; transform: translateZ(0); }
.fc-card:hover .fc-icon-img-free { transform: translateZ(50px) scale(1.1); transition: transform 0.4s ease; }
.fc-icon-img-free img { width: auto; height: auto; max-width: none; max-height: none; object-fit: contain; }

.fc-card.variant-compact {
    flex-direction: column-reverse; 
    text-align: center;
    justify-content: space-between;
    padding: 12px 20px; 
}
.fc-card.variant-compact .fc-content {
    margin-bottom: 0; 
    flex: 1;
    display: flex; align-items: center; justify-content: center;
}
.fc-card.variant-compact p { display: none; } 

.fc-snake-svg-fc-2281 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; overflow: visible; }
.fc-snake-path-fc-2281 { fill: none; stroke: url(#line-grad-fc-2281); stroke-width: 11px; stroke-opacity: 0.8; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(214,68,59,0.4)); mask: url(#fc-mask-fc-2281); }
</style>
<div id="fc-section-fc-2281">
    <div class="fc-bg-gradient-fc-2281"></div><div class="fc-bg-grain-fc-2281"></div>
    <svg class="fc-bg-heart-fc-2281" viewBox="0 0 79 74" xmlns="http://www.w3.org/2000/svg"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
    <img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/Damaskuszimmer2.png" class="fc-side-image-fc-2281" alt="" />
    
    <div id="fc-wrap-fc-2281">
        
                <div class="fc-header-fc-2281">
                    
                    <div class="fc-header-reveal"><h2>DAMASKUSZIMMER VR </h2></div>
                </div>
            
        
        <svg id="fc-svg-fc-2281" class="fc-snake-svg-fc-2281">
            <defs>
                <linearGradient id="line-grad-fc-2281" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" stop-color="#22302e" />
                    <stop offset="50%" stop-color="#791811" />
                    <stop offset="100%" stop-color="#7b5c02" />
                </linearGradient>
                <mask id="fc-mask-fc-2281"><rect x="-10000" y="-10000" width="20000" height="20000" fill="white" /><g id="fc-mask-rects-fc-2281"></g></mask>
            </defs>
            <path id="fc-path-fc-2281" class="fc-snake-path-fc-2281" d="" />
        </svg>
        <div id="fc-grid-fc-2281">
                <div class="fc-card " style="animation-delay: 0s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #AF385D;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="98" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:98px;"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 7a4 4 0 1 0 0-8 4 4 0 0 0 0 8z M23 21v-2a4 4 0 0 0-3-3.87 M16 3.13a4 4 0 0 1 0 7.75" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Single-Player</h3><p>Single-player application permanently installed in exhibition</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.2s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #D6443B; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #D6443B;"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="80" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:56px; min-height:80px;"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z M12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>Target Group</h3><p>Visitors to the Museum of Ethnology in Dresden</p></div>
                </div>
                <div class="fc-card " style="animation-delay: 0.4s;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #ED6D32; transform: translate(-75px, 0px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon" style="color: #ED6D32;"><svg xmlns="http://www.w3.org/2000/svg" width="78" height="82" viewBox="0 0 20 10" fill="currentColor" stroke="none" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" shape-rendering="geometricPrecision" style="min-width:78px; min-height:82px;"><path d="M13 10L11 8H9L7 10H5C4.46957 10 3.96086 9.78929 3.58579 9.41421C3.21071 9.03914 3 8.53043 3 8V2C3 1.46957 3.21071 0.960859 3.58579 0.585786C3.96086 0.210714 4.46957 0 5 0H15C15.5304 0 16.0391 0.210714 16.4142 0.585786C16.7893 0.960859 17 1.46957 17 2V8C17 8.53043 16.7893 9.03914 16.4142 9.41421C16.0391 9.78929 15.5304 10 15 10H13ZM20 7C20 7.26522 19.8946 7.51957 19.7071 7.70711C19.5196 7.89464 19.2652 8 19 8C18.7348 8 18.4804 7.89464 18.2929 7.70711C18.1054 7.51957 18 7.26522 18 7V3C18 2.73478 18.1054 2.48043 18.2929 2.29289C18.4804 2.10536 18.7348 2 19 2C19.2652 2 19.5196 2.10536 19.7071 2.29289C19.8946 2.48043 20 2.73478 20 3V7ZM2 7C2 7.26522 1.89464 7.51957 1.70711 7.70711C1.51957 7.89464 1.26522 8 1 8C0.734784 8 0.48043 7.89464 0.292893 7.70711C0.105357 7.51957 0 7.26522 0 7V3C0 2.73478 0.105357 2.48043 0.292893 2.29289C0.48043 2.10536 0.734784 2 1 2C1.26522 2 1.51957 2.10536 1.70711 2.29289C1.89464 2.48043 2 2.73478 2 3V7Z" vector-effect="non-scaling-stroke" /></svg></div>
                    </div>
                    <div class="fc-content"><h3>For VR glasses</h3><p>Editor application on display, mirrored in VR glasses</p></div>
                </div>
                <div class="fc-card variant-compact" style="animation-delay: 0.6000000000000001s; padding-top: 20px;">
                    <div class="fc-icon-wrap">
                        <svg class="fc-heart-bg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 74" style="fill: #AF385D; transform: translate(-230px, -30px) scale(3.2); opacity: 0.1;"><path d="M20.9297 41.6101L39.0897 12.8701L57.2497 41.6101H20.9297Z"/><path d="M20.9004 42.46H57.2904L39.0904 73.98L20.9004 42.46Z"/><path d="M39.9805 12.6802C43.9005 13.5102 58.9805 16.8302 67.7205 18.7702L57.9505 41.1302L39.9805 12.6802Z"/><path d="M40.0098 11.84L53.6398 0L67.2798 17.81L40.0098 11.84Z"/><path d="M55.0195 0.399902L74.9095 8.7799L68.3095 17.7599L55.0195 0.399902Z"/><path d="M68.8496 18.4702L75.2896 9.7002L78.1896 31.2702L68.8496 18.4702Z"/><path d="M68.4096 19.3198L78.1796 32.6998L58.8496 41.2098L68.4096 19.3198Z"/><path d="M58.5 42.2899L77.52 33.9199L61.08 55.9499L58.5 42.2899Z"/><path d="M57.8199 43.2402L60.3799 56.8102L40.6299 73.0202L57.8199 43.2402Z"/><path d="M10.46 18.7702C19.2 16.8302 34.28 13.5102 38.2 12.6802L20.23 41.1302L10.46 18.7702Z"/><path d="M24.5402 0L38.1702 11.84L10.9102 17.81L24.5402 0Z"/><path d="M3.28027 8.7799L23.1703 0.399902L9.87027 17.7599L3.28027 8.7799Z"/><path d="M2.9 9.7002L9.34 18.4702L0 31.2702L2.9 9.7002Z"/><path d="M0.00976562 32.6998L9.76977 19.3198L19.3398 41.2098L0.00976562 32.6998Z"/><path d="M0.660156 33.9199L19.6802 42.2899L17.1002 55.9499L0.660156 33.9199Z"/><path d="M17.7998 56.8102L20.3698 43.2402L37.5598 73.0202L17.7998 56.8102Z"/></svg>
                        <div class="fc-icon-img-free"><img decoding="async" src="https://heartucate.eu/wp-content/uploads/2025/12/SKD_Logo_oben_M_Korall_sRGB-1.png" style="transform: translate(5px, -15px) scale(0.04);" alt="Cooperational partner" /></div>
                    </div>
                    <div class="fc-content"><h3>Cooperational partner</h3><p>Reise in die Arktis ist eine eigenständige Produktion von heartucate</p></div>
                </div></div>
        
                <div class="fc-action-wrapper-fc-2281">
                    <a href="https://voelkerkunde-dresden.skd.museum/ausstellungen/damaskuszimmer/" class="fc-action-btn-fc-2281 fc-btn-reveal">Learn more</a>
                </div>
            
    </div>
</div>
<script>(function(){
    const uid = "fc-2281";
    const s = document.getElementById('fc-section-'+uid);
    const img = s.querySelector('.fc-side-image-'+uid);
    const pathEl = document.getElementById('fc-path-'+uid);
    
    function updP(){
        const grid = document.getElementById('fc-grid-'+uid);
        const path = document.getElementById('fc-path-'+uid);
        const maskG = document.getElementById('fc-mask-rects-'+uid);
        if(!grid || !path || !maskG) return;
        
        const cardsEl = Array.from(grid.children);
        if(cardsEl.length < 2) return;
        
        const containerWidth = grid.offsetWidth;
        
        // CORRECTION: Add Grid Top/Left relative to container to items position
        // Because the SVG is absolute to the WRAPPER, not the GRID.
        const gridTop = grid.offsetTop;
        const gridLeft = grid.offsetLeft;

        const items = cardsEl.map(el => {
            const w = el.offsetWidth;
            const h = el.offsetHeight;
            const x = el.offsetLeft + gridLeft;
            const y = el.offsetTop + gridTop;
            return { el, x, y, w, h, cx: x + w/2, cy: y + h/2, yTop: y };
        });

        const isMobile = window.innerWidth < 640;

        const rows = [];
        items.forEach(item => {
            const row = rows.find(r => Math.abs(r[0].yTop - item.yTop) < 20);
            if(row) row.push(item); else rows.push([item]);
        });
        rows.sort((a,b) => a[0].yTop - b[0].yTop);

        let snakeList = [];
        rows.forEach((row, idx) => {
            row.sort((a,b) => a.cx - b.cx); 
            if(idx % 2 !== 0) row.reverse(); 
            snakeList = snakeList.concat(row);
        });

        let d = "";
        let maskHTML = "";
        
        snakeList.forEach((item, i) => {
            maskHTML += `<rect x="${item.x}" y="${item.y}" width="${item.w}" height="${item.h}" rx="20" ry="20" fill="black" />`;
            const currX = item.cx;
            const currY = item.cy;

            if (i === 0) d += `M ${currX} ${currY}`;
            else {
                const prev = snakeList[i - 1];
                const prevX = prev.cx;
                const prevY = prev.cy;
                
                if(isMobile) {
                    const direction = (i % 2 === 0) ? 1 : -1;
                    const amplitude = 60;
                    const cp1X = prevX + (amplitude * direction);
                    const cp1Y = prevY + (currY - prevY) * 0.5;
                    const cp2X = currX + (amplitude * direction);
                    const cp2Y = currY - (currY - prevY) * 0.5;
                    d += ` C ${cp1X} ${cp1Y}, ${cp2X} ${cp2Y}, ${currX} ${currY}`;
                } else {
                    const isVerticalDrop = Math.abs(currY - prevY) > 50;
                    if (!isVerticalDrop) {
                        const hang = 0;
                        d += ` C ${prevX + (currX-prevX)*0.5} ${prevY + hang}, ${prevX + (currX-prevX)*0.5} ${currY + hang}, ${currX} ${currY}`;
                    } else {
                        const bulge = 60;
                        const dir = (prevX > containerWidth / 2) ? 1 : -1; 
                        d += ` C ${prevX + (bulge * dir)} ${prevY + (currY-prevY)*0.1}, ${currX + (bulge * dir)} ${currY - (currY-prevY)*0.1}, ${currX} ${currY}`;
                    }
                }
            }
        });
        path.setAttribute("d", d);
        maskG.innerHTML = maskHTML;
        
        if(path) {
            const len = path.getTotalLength();
            if(!s.classList.contains('fc-in-view')){
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = len;
            } else {
                path.style.strokeDasharray = len;
                path.style.strokeDashoffset = 0;
            }
        }
    }

    const ro = new ResizeObserver(() => updP());
    ro.observe(s);

    const o = new IntersectionObserver((e)=>{ 
        e.forEach(entry => { 
            if(entry.isIntersecting) { 
                s.classList.add('fc-in-view'); 
                const path = document.getElementById('fc-path-'+uid);
                if(path) {
                    const len = path.getTotalLength();
                    path.style.strokeDasharray = len;
                    path.style.strokeDashoffset = len;
                    path.getBoundingClientRect();
                    const duration = 4 * 0.4 + 0.5;
                    path.style.transition = `stroke-dashoffset ${duration}s ease-out`;
                    path.style.strokeDashoffset = '0';
                }
                setTimeout(()=>{s.classList.add('fc-interactive');}, 2000); 
                setTimeout(updP, 100); 
                setTimeout(updP, 1200); 
                o.disconnect(); 
            } 
        }); 
    }, { threshold: 0.1 });
    o.observe(s);
    
    // TILT LOGIC FOR CARDS AND BUTTON
    const tiltElements = document.querySelectorAll('#fc-wrap-'+uid+' .fc-card, #fc-wrap-'+uid+' .fc-action-btn-'+uid);
    tiltElements.forEach(el=>{
        el.addEventListener('animationend', () => {
            el.style.animation = 'none'; 
            el.style.opacity = '1';
            el.style.transform = 'translateZ(0)';
        });

        el.addEventListener('mousemove',(e)=>{
            const rect=el.getBoundingClientRect();
            const x=e.clientX-rect.left; const y=e.clientY-rect.top;
            const centerX=rect.width/2; const centerY=rect.height/2;
            const rotateX=((y-centerY)/centerY)*-5; const rotateY=((x-centerX)/centerX)*5;
            // BUTTON SCALES DIFFERENTLY
            const scale = el.classList.contains('fc-action-btn-'+uid) ? 1.05 : 1.02;
            el.style.transform=`perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
        });
        el.addEventListener('mouseleave',()=>{ 
            el.style.transform='perspective(1000px) rotateX(0) rotateY(0) scale(1) translateZ(0)'; 
        });
    });

    if(img && window.innerWidth > 1024) {
        s.addEventListener('mousemove', (e) => {
            if(!s.classList.contains('fc-interactive')) return;
            const rect = s.getBoundingClientRect();
            const x = (e.clientX - rect.left) / rect.width - 0.5;
            const y = (e.clientY - rect.top) / rect.height - 0.5;
            img.style.transform = `translateY(-50%) scale(0.6) perspective(1000px) rotateY(${x * 10}deg) rotateX(${-y * 10}deg) translateX(${x * -20}px) translateY(${y * -20}px)`;
        });
        s.addEventListener('mouseleave', () => {
            img.style.transform = `translateY(-50%) scale(0.6)`;
        });
    }
    
    window.addEventListener('load', updP);
    window.addEventListener('resize', updP);
})();</script><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-37 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-margin-top:80px;--awb-max-width:400px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-22 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><img decoding="async" width="1920" height="1080" title="display_20251218_123943" src="https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943.png" alt class="img-responsive wp-image-57467" srcset="https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943-200x113.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943-400x225.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943-600x338.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943-800x450.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943-1200x675.png 1200w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_123943.png 1920w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-38 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-12 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#96002d;--awb-margin-top:55px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">Become an architect of the Orient</h3></div><div class="fusion-text fusion-text-36 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>Step into the role of an Ottoman architect and create a space that tells stories. With the Damascus Room VR Editor, you have access to the magnificent stylistic elements of the famous 19th-century original in Dresden. Combine richly decorated wood paneling, set atmospheric lighting accents, and build your own personal oasis of well-being—intuitively, creatively, and with complete freedom in virtual reality.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-39 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-padding-top:55px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-13 fusion-sep-none fusion-title-text fusion-title-size-three fusion-animated" style="--awb-text-color:#4e4e4e;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationOffset="top-into-view"><h3 class="fusion-title-heading title-heading-left fusion-responsive-typography-calculated" style="margin:0;--fontSize:46;line-height:var(--awb-typography1-line-height);">From calligraphy to cozy corner</h3></div><div class="fusion-text fusion-text-37 fusion-animated" style="--awb-margin-top:-10px;" data-animationType="zoomIn" data-animationDuration="0.8" data-animationDelay="0.3" data-animationOffset="top-into-view"><p>A genuine Damascus room thrives on its details and its invitation to linger. Choose from a library of objects, furniture, and ceilings to fill the space. Arrange the traditional seating niches to offer maximum comfort to virtual visitors. Experience how individual building blocks come together to create a vibrant place of hospitality, and share your vision of modern Syrian interior design.</p>
</div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-40 fusion_builder_column_inner_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element " style="text-align:center;--awb-margin-top:80px;--awb-max-width:400px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-23 hover-type-none fusion-animated" data-animationType="zoomIn" data-animationDuration="0.3" data-animationOffset="top-into-view"><img decoding="async" width="1920" height="1080" title="display_20251218_124109" src="https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109.png" alt class="img-responsive wp-image-57469" srcset="https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109-200x113.png 200w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109-400x225.png 400w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109-600x338.png 600w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109-800x450.png 800w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109-1200x675.png 1200w, https://heartucate.eu/wp-content/uploads/2025/12/display_20251218_124109.png 1920w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 600px" /></span></div></div></div></div><div class="fusion-separator fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:25px;width:100%;"></div><div class="fusion-text fusion-text-38"><h2 style="color: #4e4e4e;"><strong>Credits:</strong></h2>
</div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="--awb-min-height:no;--awb-min-height-medium:no;--awb-min-height-small:no;--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-41 fusion_builder_column_inner_1_4 1_4 fusion-flex-column fusion-animated" style="--awb-bg-size:cover;--awb-transition:filter 300ms ease-in, transform 300ms ease-in, background-color 300ms ease-in, border-color 300ms ease-in;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInLeft" data-animationDuration="0.5" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-39" style="--awb-font-size:14px;"><p><strong><span style="color: #993300;">Development:</span></strong><br />
Heartucate GmbH (2024)</p>
<p><strong style="color: #993300;">Concept:</strong><br />
Franziska Weser<br />
<strong style="color: #993300; background-color: rgba(0, 0, 0, 0);"><br />
Technical Lead:<br />
</strong><span style="background-color: rgba(0, 0, 0, 0);">Vincent Schiller</span></p>
</div>
</div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-42 fusion_builder_column_inner_1_4 1_4 fusion-flex-column fusion-animated" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInLeft" data-animationDuration="0.5" data-animationDelay="0.2" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-40" style="--awb-font-size:14px;"><p><span style="color: #993300;"><strong>Programming and 3D:</strong></span><br />
Vincent Schiller</p>
<p><span style="color: #993300;"><strong>Project Lead:<br />
</strong></span>Jacob Franke<br />
Martin Zavesky</p>
</div>
</div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-43 fusion_builder_column_inner_1_4 1_4 fusion-flex-column fusion-animated" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:7.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-animationType="fadeInRight" data-animationDuration="0.5" data-animationDelay="0.2" data-animationOffset="top-into-view"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-text fusion-text-41" style="--awb-font-size:14px;"><p><span style="color: #993300;"><strong><span style="font-family: var(--awb-text-font-family); font-size: var(--awb-font-size); font-style: var(--awb-text-font-style); letter-spacing: var(--awb-letter-spacing); text-align: var(--awb-content-alignment); text-transform: var(--awb-text-transform); background-color: var(--awb-bg-color);">Client:</span></strong></span></p>
</div>
<div class="fusion-image-element " style="--awb-max-width:200px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-24 hover-type-none"><img decoding="async" width="300" height="211" title="SKD_Logo_XS_Korall_sRGB" src="https://heartucate.eu/wp-content/uploads/2025/12/SKD_Logo_XS_Korall_sRGB.jpg" alt class="img-responsive wp-image-57718" srcset="https://heartucate.eu/wp-content/uploads/2025/12/SKD_Logo_XS_Korall_sRGB-200x141.jpg 200w, https://heartucate.eu/wp-content/uploads/2025/12/SKD_Logo_XS_Korall_sRGB.jpg 300w" sizes="(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 300px" /></span></div></div></div></div></div></div></div></div>
<p>Der Beitrag <a href="https://heartucate.eu/en/cooperations/damaskuszimmer-vreditor/">Damaskuszimmer VR Editor</a> erschien zuerst auf <a href="https://heartucate.eu/en">Heartucate</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
