{"id":20542,"date":"2026-05-05T14:01:23","date_gmt":"2026-05-05T12:01:23","guid":{"rendered":"https:\/\/carbonactive.weiss-webdesign.de\/?page_id=20542"},"modified":"2026-05-08T11:36:26","modified_gmt":"2026-05-08T09:36:26","slug":"referenzen-umami-microgreens","status":"publish","type":"page","link":"https:\/\/carbonactive.weiss-webdesign.de\/en\/referenzen-umami-microgreens\/","title":{"rendered":"Indoor farming climate &amp; aquaponics &#8211; Reference UMAMI Zurich"},"content":{"rendered":"<style>.elementor-20542 .elementor-element.elementor-element-1de26b0{--display:flex;}<\/style>\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20542\" class=\"elementor elementor-20542 elementor-20541\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1de26b0 e-flex e-con-boxed e-con e-parent\" data-id=\"1de26b0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c78de6d elementor-widget elementor-widget-html\" data-id=\"c78de6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div>\n\n\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>UMAMI Microgreens - <em>CarbonActive<\/em> Reference<\/title>\n<meta name=\"description\" content=\"Climate concept and ventilation system for the urban Microgreens farm of UMAMI AG in Zurich. Vertical aquaponics, closed ecosystem, energy recovery - Swiss precision for living systems.\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400;1,9..40,500;1,9..40,700&amp;family=JetBrains+Mono:wght@400;700&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n  :root{\n    \/* Surfaces \u2014 DARK theme *\/\n    --bg: #000000;\n    --bg-soft: #0E1426;\n    --bg-tint: #152040;\n    --bg-deep: #091A55;\n    --bg-deep-2: #050E33;\n    --bg-anthracite: #0A0F1F;\n\n    \/* Ink \u2014 light on dark *\/\n    --ink: #FFFFFF;\n    --ink-soft: #A8B2C5;\n    --ink-muted: #5B6478;\n\n    \/* Rules *\/\n    --rule: #1A2540;\n    --rule-soft: #0E1426;\n\n    \/* CarbonActive blue scale \u2014 anchored on the real brand blue #2D69FF *\/\n    --ca-blue-50:  #1A2547;\n    --ca-blue-100: #1A2A60;\n    --ca-blue-300: #7AA0FF;\n    --ca-blue-400: #4F84FF;\n    --ca-blue-500: #2D69FF;\n    --ca-blue-600: #4F84FF;\n    --ca-blue-700: #1740A8;\n    --ca-blue-900: #0A2370;\n\n    \/* Subtle green accent for UMAMI biological context (used very sparingly) *\/\n    --umami-green: #3EE5A5;\n\n    \/* Shadows \u2014 deeper for dark *\/\n    --shadow-sm: 0 1px 3px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04);\n    --shadow-md: 0 4px 24px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);\n    --shadow-lg: 0 20px 50px rgba(0,0,0,0.6);\n  }\n\n  *{ margin:0; padding:0; box-sizing:border-box; }\n  html{ scroll-behavior:smooth; }\n  body{\n    background: var(--bg);\n    color: var(--ink);\n    font-family: 'DM Sans', system-ui, sans-serif;\n    font-weight: 400;\n    line-height: 1.55;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: optimizeLegibility;\n    overflow-x: hidden;\n  }\n  .container{ max-width: 1180px; margin: 0 auto; padding: 0 28px; }\n\n  \/* TOP STRIPE *\/\n  .stripe{\n    background: var(--bg-deep);\n    color: white;\n    padding: 12px 0;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n  }\n  .stripe .container{ display:flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }\n  .stripe .pill{\n    display:inline-flex; align-items:center; gap:8px;\n    background: rgba(255,255,255,0.08);\n    padding: 4px 12px; border-radius: 999px;\n    font-size: 11px;\n  }\n  .stripe .pill .dot{\n    width: 6px; height: 6px; border-radius:50%;\n    background: var(--ca-blue-400);\n    box-shadow: 0 0 0 3px rgba(122,160,255,0.25);\n  }\n\n  \/* HERO *\/\n  .hero{\n    background:\n      radial-gradient(circle at 85% 15%, rgba(45,105,255,0.12) 0%, transparent 55%),\n      radial-gradient(circle at 10% 90%, rgba(45,105,255,0.06) 0%, transparent 50%),\n      var(--bg);\n    padding: 80px 0 60px;\n    position: relative;\n    overflow: hidden;\n  }\n  .hero::before{\n    content:\"\";\n    position: absolute;\n    inset: 0;\n    background-image:\n      linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);\n    background-size: 48px 48px;\n    background-position: -1px -1px;\n    mask-image: radial-gradient(circle at 50% 30%, black 0%, transparent 70%);\n    -webkit-mask-image: radial-gradient(circle at 50% 30%, black 0%, transparent 70%);\n    opacity: 0.6;\n    pointer-events: none;\n  }\n  .hero .container{ position: relative; z-index: 2; }\n\n  .eyebrow{\n    display:inline-flex; align-items:center; gap: 12px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 12px; font-weight: 600;\n    letter-spacing: 0.18em; text-transform: uppercase;\n    color: var(--ca-blue-500);\n    background: var(--ca-blue-100);\n    padding: 8px 16px; border-radius: 999px;\n    margin-bottom: 28px;\n  }\n\n  h1.hero-title{\n    font-family: 'DM Sans', sans-serif;\n    font-size: clamp(40px, 6.5vw, 88px);\n    line-height: 0.95;\n    letter-spacing: -0.025em;\n    text-transform: uppercase;\n    color: var(--ink);\n    max-width: 14ch;\n    font-weight: 700;\n  }\n  h1.hero-title .accent{ color: var(--ca-blue-500); }\n\n  .hero-title-row{\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 40px;\n    margin-bottom: 24px;\n  }\n  .hero-title-row h1.hero-title{\n    margin-bottom: 0;\n  }\n  .partner-logos{\n    display: flex;\n    gap: 16px;\n    align-items: center;\n    flex-shrink: 0;\n    padding-top: 8px;\n  }\n  .partner-logo{\n    height: 28px;\n    max-width: 140px;\n    width: 140px;\n    object-fit: contain;\n    opacity: 1;\n    transition: opacity .3s ease;\n    background: white;\n    padding: 12px 18px;\n    border-radius: 6px;\n  }\n  .partner-logo:hover{ opacity: 0.85; }\n\n\n  .hero-sub{\n    margin-top: 24px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: clamp(17px, 1.7vw, 21px);\n    line-height: 1.5;\n    color: var(--ink-soft);\n    max-width: 56ch;\n    font-weight: 500;\n  }\n\n  .hero-meta{\n    margin-top: 40px;\n    display: flex; gap: 36px; flex-wrap: wrap;\n  }\n  .hero-meta .item{ display: flex; flex-direction: column; gap: 4px; }\n  .hero-meta .k{\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 11px; text-transform: uppercase;\n    letter-spacing: 0.14em; color: var(--ink-muted);\n  }\n  .hero-meta .v{\n    font-family: 'DM Sans', sans-serif;\n    font-size: 16px; font-weight: 700; color: var(--ink);\n  }\n\n  \/* QUOTE BLOCK *\/\n  .quote-block{\n    margin-top: 80px;\n    background:\n      linear-gradient(135deg, var(--bg-deep) 0%, var(--ca-blue-900) 100%);\n    color: white;\n    padding: 70px 60px;\n    border-radius: 28px;\n    position: relative;\n    overflow: hidden;\n    box-shadow: var(--shadow-lg);\n  }\n  .quote-block::before{\n    content:\"\"; position: absolute; inset: 0;\n    background:\n      radial-gradient(circle at 5% -10%, rgba(45,105,255,0.45) 0%, transparent 50%),\n      radial-gradient(circle at 95% 110%, rgba(122,160,255,0.18) 0%, transparent 50%);\n    pointer-events: none;\n  }\n  .quote-block .big-quote-mark{\n    position: absolute;\n    top: 12px; left: 36px;\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 220px; line-height: 0.7;\n    color: var(--ca-blue-400);\n    opacity: 0.16;\n    pointer-events: none;\n  }\n  .quote-block .qbody{ position: relative; z-index: 2; max-width: 920px; }\n  .quote-block blockquote{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 600;\n    font-size: clamp(24px, 3.2vw, 42px);\n    line-height: 1.18;\n    letter-spacing: -0.015em;\n    color: white;\n  }\n  .quote-block blockquote .pop{\n    color: var(--ca-blue-300);\n    font-style: italic;\n    font-weight: 700;\n  }\n  .quote-block .qauthor{\n    margin-top: 36px;\n    display: flex; align-items: center; gap: 16px;\n  }\n  .quote-block .qauthor .avatar{\n    width: 56px; height: 56px;\n    border-radius: 50%;\n    object-fit: cover;\n    border: 1px solid rgba(255,255,255,0.15);\n  }\n  .quote-block .qauthor .info{ display: flex; flex-direction: column; }\n  .quote-block .qauthor .name{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700; font-size: 17px; color: white;\n  }\n  .quote-block .qauthor .role{\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 12px; color: rgba(255,255,255,0.65); letter-spacing: 0.06em;\n  }\n\n  \/* SECTION SHELL *\/\n  section{ padding: 90px 0; }\n  .section-eyebrow{\n    display: inline-flex; align-items: center; gap: 10px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 12px; font-weight: 700;\n    letter-spacing: 0.18em; text-transform: uppercase;\n    color: var(--ca-blue-500);\n    margin-bottom: 16px;\n  }\n  .section-eyebrow::before{\n    content:\"\"; width: 24px; height: 2px;\n    background: var(--ca-blue-500); display: inline-block;\n  }\n  h2.section-title{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: clamp(30px, 4vw, 54px);\n    line-height: 1.0;\n    text-transform: uppercase;\n    letter-spacing: -0.02em;\n    color: var(--ink);\n    max-width: 18ch;\n  }\n  h2.section-title em{ font-style: normal; color: var(--ca-blue-500); }\n\n  \/* FOUNDER STORY (replaces video block) *\/\n  .founder-story{\n    background: linear-gradient(180deg, var(--bg) 0%, #050811 100%);\n  }\n  .fs-grid{\n    margin-top: 40px;\n    max-width: 760px;\n  }\n  .fs-author-card{\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    margin-bottom: 36px;\n    padding: 18px 22px;\n    background: var(--bg-soft);\n    border: 1px solid var(--rule);\n    border-radius: 999px;\n    width: fit-content;\n  }\n  .fs-author-card .fs-portrait{\n    width: 72px; height: 72px;\n    border-radius: 50%;\n    overflow: hidden;\n    flex-shrink: 0;\n    border: 2px solid var(--ca-blue-500);\n    box-shadow: 0 0 0 4px rgba(45,105,255,0.15);\n  }\n  .fs-author-card .fs-portrait img{\n    width: 100%; height: 100%; object-fit: cover; display: block;\n  }\n  .fs-author-card .fs-meta{\n    display: flex; flex-direction: column; gap: 3px;\n    padding-right: 8px;\n  }\n  .fs-author-card .fs-meta .name{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 17px;\n    color: var(--ink);\n    letter-spacing: -0.01em;\n  }\n  .fs-author-card .fs-meta .role{\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 11px;\n    color: var(--ink-soft);\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n  }\n\n  .fs-text p{\n    font-family: 'DM Sans', sans-serif;\n    font-size: 17px;\n    line-height: 1.7;\n    color: var(--ink-soft);\n    margin-bottom: 18px;\n  }\n  .fs-text p strong{\n    color: var(--ink);\n    font-weight: 700;\n  }\n  .fs-text .lead{\n    font-size: 19px;\n    color: var(--ink);\n    font-weight: 500;\n    line-height: 1.55;\n    margin-bottom: 24px;\n    border-left: 3px solid var(--ca-blue-500);\n    padding-left: 18px;\n  }\n  .fs-bullets{\n    list-style: none;\n    margin: 28px 0 12px;\n    padding: 24px 26px;\n    background: var(--bg-soft);\n    border: 1px solid var(--rule);\n    border-radius: 14px;\n  }\n  .fs-bullets li{\n    font-family: 'DM Sans', sans-serif;\n    font-size: 15.5px;\n    line-height: 1.55;\n    color: var(--ink);\n    padding: 10px 0 10px 30px;\n    position: relative;\n    border-bottom: 1px solid var(--rule);\n  }\n  .fs-bullets li:last-child{ border-bottom: none; }\n  .fs-bullets li::before{\n    content:\"\";\n    position: absolute;\n    left: 0; top: 18px;\n    width: 14px; height: 14px;\n    border-radius: 50%;\n    background: var(--ca-blue-500);\n    box-shadow: 0 0 0 3px rgba(45,105,255,0.18);\n  }\n\n  \/* STATS *\/\n  .stats-grid{\n    margin-top: 50px;\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 20px;\n  }\n  .stat-card{\n    padding: 28px;\n    border-radius: 18px;\n    background: var(--bg-soft);\n    border: 1px solid var(--rule);\n    position: relative;\n    overflow: hidden;\n    transition: transform .3s ease, box-shadow .3s ease;\n    hyphens: none;\n    -webkit-hyphens: none;\n  }\n  .stat-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }\n  .stat-card.blue{\n    background: var(--ca-blue-500);\n    color: white;\n    border-color: var(--ca-blue-500);\n  }\n  .stat-card.blue-deep{\n    background: var(--bg-deep);\n    color: white;\n    border-color: var(--bg-deep);\n  }\n  .stat-card.tint{\n    background: #1A2547;\n    border-color: #1A2A60;\n  }\n  .stat-card .icon{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 14px;\n    color: var(--ca-blue-300);\n    letter-spacing: 0.1em;\n    margin-bottom: 14px;\n    display: inline-block;\n  }\n  .stat-card.blue .icon, .stat-card.blue-deep .icon{ color: var(--ca-blue-300); }\n  .stat-card .num{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: clamp(36px, 4.5vw, 56px);\n    line-height: 0.95;\n    letter-spacing: -0.03em;\n    color: var(--ink);\n  }\n  .stat-card.blue .num, .stat-card.blue-deep .num{ color: white; }\n  .stat-card .num .unit{\n    font-size: 0.45em; color: var(--ink-muted);\n    margin-left: 4px;\n    font-family: 'DM Sans', sans-serif; font-weight: 600;\n  }\n  .stat-card.blue .num .unit, .stat-card.blue-deep .num .unit{ color: rgba(255,255,255,0.65); }\n  .stat-card .num.num--text{\n    font-size: clamp(24px, 2.6vw, 34px);\n    line-height: 1.05;\n  }\n  .stat-card .label{\n    margin-top: 10px;\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 600; font-size: 14px;\n    color: var(--ink-soft); letter-spacing: 0.01em;\n  }\n  .stat-card.blue .label, .stat-card.blue-deep .label{ color: rgba(255,255,255,0.85); }\n\n  \/* DIAGRAM SECTION *\/\n  .diagram-section{ background: #050811; }\n  .diagram-frame{\n    background: #0A1224;\n    border-radius: 24px;\n    padding: 50px;\n    margin-top: 40px;\n    box-shadow: var(--shadow-md);\n    border: 1px solid #1A2540;\n  }\n  .diagram-frame svg{ width: 100%; height: auto; display: block; max-width: 900px; margin: 0 auto; }\n  .diagram-legend{\n    margin-top: 32px;\n    display: flex; gap: 28px; flex-wrap: wrap;\n    padding-top: 28px;\n    border-top: 1px solid var(--rule);\n  }\n  .legend-item{\n    display: flex; align-items: center; gap: 10px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px; font-weight: 600;\n    color: var(--ink-soft);\n  }\n  .legend-item .swatch{ width: 16px; height: 16px; border-radius: 4px; }\n  .legend-item .line-h{ width: 28px; height: 3px; border-radius: 2px; }\n\n  \/* ENVELOPE *\/\n  .envelope-grid{\n    margin-top: 40px;\n    display: grid;\n    grid-template-columns: 1.2fr 1fr;\n    gap: 24px;\n    align-items: stretch;\n  }\n  .envelope-chart{\n    background: #0A1224;\n    border-radius: 20px;\n    padding: 40px;\n    border: 1px solid #1A2540;\n    box-shadow: var(--shadow-sm);\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .envelope-chart svg{ width: 100%; height: auto; max-width: 460px; }\n  .envelope-side{\n    display: flex;\n    flex-direction: column;\n    gap: 24px;\n  }\n  .env-card{\n    background: var(--bg-deep);\n    color: white;\n    padding: 28px;\n    border-radius: 16px;\n    flex: 1;\n    position: relative;\n    overflow: hidden;\n  }\n  .env-card.alt{\n    background: var(--ca-blue-500); color: white;\n    border: none;\n  }\n  .env-card .icon{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 12px;\n    color: var(--ca-blue-300);\n    letter-spacing: 0.18em;\n    margin-bottom: 16px;\n    text-transform: uppercase;\n  }\n  .env-card.alt .icon{ color: rgba(255,255,255,0.7); }\n  .env-card h4{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 22px; line-height: 1.05;\n    text-transform: uppercase;\n    letter-spacing: -0.01em;\n    margin-bottom: 10px;\n    color: white;\n  }\n  .env-card p{ font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.78); }\n  .env-card .range-row{\n    margin-top: 18px;\n    display: flex; gap: 12px;\n    align-items: baseline;\n  }\n  .env-card .range-row .v{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 32px; line-height: 1; color: white;\n  }\n  .env-card .range-row .lbl{\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 11px; text-transform: uppercase;\n    letter-spacing: 0.12em;\n    color: rgba(255,255,255,0.6);\n  }\n\n  \/* STORY CARDS *\/\n  .story-grid{\n    margin-top: 40px;\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 20px;\n  }\n  .story-card{\n    padding: 36px 32px;\n    border-radius: 20px;\n    background: var(--bg-soft);\n    border: 1px solid var(--rule);\n    position: relative;\n    transition: transform .3s ease, box-shadow .3s ease;\n  }\n  .story-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }\n  .story-card .num{\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 11px; color: var(--ca-blue-300);\n    letter-spacing: 0.16em; margin-bottom: 14px;\n    text-transform: uppercase;\n    font-weight: 600;\n  }\n  .story-card h3{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: 22px; line-height: 1.05;\n    text-transform: uppercase;\n    letter-spacing: -0.015em;\n    color: var(--ink); margin-bottom: 14px;\n  }\n  .story-card p{ font-size: 15px; line-height: 1.6; color: var(--ink-soft); }\n\n  .chips{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }\n  .chip{\n    background: var(--bg-soft);\n    border: 1px solid var(--rule);\n    padding: 8px 14px;\n    border-radius: 999px;\n    font-family: 'DM Sans', sans-serif;\n    font-size: 13px; font-weight: 600;\n    color: var(--ink-soft);\n  }\n\n  \/* GALLERY *\/\n  .gallery-section{ background: var(--bg-soft); }\n  .gallery-strip{\n    margin-top: 40px;\n    display: grid;\n    grid-template-columns: 2fr 1fr;\n    grid-template-rows: 220px 220px;\n    gap: 14px;\n  }\n  .g-item{\n    border-radius: 14px;\n    overflow: hidden;\n    background: var(--bg-tint);\n    position: relative;\n    box-shadow: var(--shadow-sm);\n  }\n  .g-item img{\n    width: 100%; height: 100%; object-fit: cover;\n    display: block;\n    transition: transform .5s ease;\n  }\n  .g-item:hover img{ transform: scale(1.04); }\n  .g-item .tag{\n    position: absolute;\n    top: 14px; left: 14px;\n    background: rgba(10,26,51,0.88);\n    backdrop-filter: blur(6px);\n    color: white;\n    padding: 5px 11px;\n    border-radius: 999px;\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 10px;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n  }\n  .g-item.large{ grid-row: span 2; }\n  .g-placeholder{\n    width: 100%; height: 100%;\n    display: flex; align-items: center; justify-content: center;\n    flex-direction: column;\n    background: linear-gradient(135deg, #0E1426 0%, #152040 100%);\n    color: var(--ink-muted);\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 11px;\n    letter-spacing: 0.08em;\n    text-align: center;\n    padding: 20px;\n    text-transform: uppercase;\n  }\n  .g-placeholder .ph-icon{\n    width: 28px; height: 28px;\n    border: 1.5px dashed var(--ca-blue-300);\n    border-radius: 8px;\n    margin-bottom: 12px;\n    display: flex; align-items: center; justify-content: center;\n    color: var(--ca-blue-300);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .cta{\n    background:\n      radial-gradient(circle at 80% 20%, rgba(45,105,255,0.30) 0%, transparent 50%),\n      radial-gradient(circle at 20% 80%, rgba(23,64,168,0.40) 0%, transparent 50%),\n      var(--bg-deep);\n    color: white;\n    padding: 80px 0;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .cta::before{\n    content:\"\"; position: absolute; inset: 0;\n    background-image:\n      linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);\n    background-size: 48px 48px;\n    pointer-events: none;\n  }\n  .cta .container{ position: relative; z-index: 2; }\n  .cta h2{\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700;\n    font-size: clamp(32px, 4.5vw, 60px);\n    line-height: 1.0;\n    text-transform: uppercase;\n    letter-spacing: -0.025em;\n    color: white;\n    max-width: 18ch;\n    margin: 0 auto 18px;\n  }\n  .cta h2 em{ font-style: normal; color: var(--ca-blue-300); }\n  .cta p{\n    font-size: 17px; line-height: 1.55;\n    color: rgba(255,255,255,0.8);\n    max-width: 56ch; margin: 0 auto 32px;\n  }\n  .btn-row{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }\n  .btn{\n    display: inline-flex; align-items: center; gap: 8px;\n    font-family: 'DM Sans', sans-serif;\n    font-weight: 700; font-size: 14px;\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n    padding: 16px 28px;\n    border-radius: 999px;\n    text-decoration: none;\n    transition: transform .2s ease, box-shadow .2s ease;\n  }\n  .btn-primary{ background: var(--ca-blue-500) !important; color: white !important; }\n  .btn-primary:hover{\n    background: white !important;\n    color: #050D33 !important;\n    transform: translateY(-2px);\n    box-shadow: 0 12px 30px rgba(45,105,255,0.45);\n  }\n  .btn-ghost{\n    background: rgba(255,255,255,0.08) !important;\n    color: white !important;\n    border: 1px solid rgba(255,255,255,0.2) !important;\n  }\n  .btn-ghost:hover{\n    background: rgba(255,255,255,0.15) !important;\n    transform: translateY(-2px);\n  }\n\n  \/* RESPONSIVE *\/\n  @media (max-width: 1024px){\n    .stats-grid{ grid-template-columns: repeat(2, 1fr); }\n    .story-grid{ grid-template-columns: 1fr; }\n    .envelope-grid{ grid-template-columns: 1fr; }\n    .gallery-strip{\n      grid-template-columns: 1fr 1fr;\n      grid-template-rows: 200px 200px 200px;\n    }\n    .g-item.large{ grid-row: span 2; grid-column: span 2; }\n    .quote-block{ padding: 50px 36px; }\n    .diagram-frame{ padding: 32px; }\n    section{ padding: 70px 0; }\n  }\n  @media (max-width: 640px){\n    .container{ padding: 0 20px; }\n    .hero{ padding: 60px 0 40px; }\n    .hero-title-row{\n      flex-direction: column;\n      align-items: flex-start;\n      gap: 20px;\n    }\n    .partner-logos{\n      padding-top: 0;\n    }\n    .hero-meta{ gap: 24px; }\n    .stats-grid{ grid-template-columns: 1fr; }\n    .gallery-strip{\n      grid-template-columns: 1fr;\n      grid-template-rows: repeat(3, 200px);\n    }\n    .g-item.large{ grid-row: span 1; grid-column: span 1; }\n    .quote-block{ padding: 36px 24px; margin-top: 60px; }\n    .quote-block .big-quote-mark{ font-size: 140px; top: 8px; left: 16px; }\n    .diagram-frame{ padding: 20px; }\n    section{ padding: 60px 0; }\n    .stripe{ font-size: 10px; }\n  }\n\n\n  \/* SCHEMA DIAGRAM ANIMATIONS *\/\n  @keyframes flow-dash {\n    to { stroke-dashoffset: -20; }\n  }\n  @keyframes pulse-sensor {\n    0%, 100% { opacity: 1; r: 4; }\n    50% { opacity: 0.4; r: 6; }\n  }\n  @keyframes pulse-leaf {\n    0%, 100% { opacity: 0.85; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.04); }\n  }\n  @keyframes pulse-fish {\n    0%, 100% { transform: translateX(0); }\n    50% { transform: translateX(8px); }\n  }\n  .schema-rueckluft {\n    stroke-dasharray: 6 4;\n    animation: flow-dash 1.2s linear infinite;\n  }\n  .schema-water {\n    stroke-dasharray: 4 3;\n    animation: flow-dash 1.5s linear infinite;\n  }\n  .schema-sensor {\n    animation: pulse-sensor 2s ease-in-out infinite;\n    transform-origin: center;\n  }\n  .schema-sensor-2 {\n    animation: pulse-sensor 2s ease-in-out infinite;\n    animation-delay: 0.7s;\n    transform-origin: center;\n  }\n  .schema-leaf {\n    transform-origin: center;\n    animation: pulse-leaf 3s ease-in-out infinite;\n  }\n  .schema-fish {\n    animation: pulse-fish 4s ease-in-out infinite;\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    *{ transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"container\">\n    <div class=\"eyebrow\">Customer testimonial - UMAMI AG<\/div>\n    <div class=\"hero-title-row\">\n      <h1 class=\"hero-title\">\n  Cycle meets <span class=\"accent\">climate.<\/span>\n      <\/h1>\n      <div class=\"partner-logos\">\n        <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/Bildschirmfoto-2026-04-30-um-13.24.31.png\" alt=\"UMAMI Logo\" class=\"partner-logo\">\n      <\/div>\n    <\/div>\n    <p class=\"hero-sub\">\n  An urban Microgreens farm in the middle of Zurich: vertical aquaponics, closed ecosystem on 600 m\u00b2 - supported by a climate infrastructure that recovers energy and provides biological stability.\n    <\/p>\n\n    <div class=\"hero-meta\">\n      <div class=\"item\"><span class=\"k\">Project<\/span><span class=\"v\">UMAMI Microgreens<\/span><\/div>\n      <div class=\"item\"><span class=\"k\">Location<\/span><span class=\"v\">Zurich - \ud83c\udde8\ud83c\udded<\/span><\/div>\n      <div class=\"item\"><span class=\"k\">System<\/span><span class=\"v\">Vertical aquaponics<\/span><\/div>\n      <div class=\"item\"><span class=\"k\">CULTIVATION AREA<\/span><span class=\"v\">approx. 600 m\u00b2<\/span><\/div>\n    <\/div>\n\n    <!-- BIG QUOTE -->\n    <div class=\"quote-block\">\n      <div class=\"big-quote-mark\">\"<\/div>\n      <div class=\"qbody\">\n        <blockquote>\n  Our aim was never simply indoor farming - we wanted to create a <span class=\"pop\">functioning ecosystem<\/span>. <em>CarbonActive<\/em> helped us to realize the technical framework for this.\n        <\/blockquote>\n        <div class=\"qauthor\">\n          <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/img-1681-final-2-1000x.jpg\" alt=\"Robin Bertschinger\" class=\"avatar\">\n          <div class=\"info\">\n            <span class=\"name\">Robin Bertschinger<\/span>\n            <span class=\"role\">Founder &amp; Managing Director - UMAMI AG - Zurich<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- FOUNDER STORY -->\n<section class=\"founder-story\" style=\"padding-top: 0;\">\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">Voice of the founder<\/div>\n    <h2 class=\"section-title\">A living <em>system.<\/em><\/h2>\n\n    <div class=\"fs-grid\">\n      <div class=\"fs-author-card\">\n        <div class=\"fs-portrait\">\n          <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/img-1681-final-2-1000x.jpg\" alt=\"Robin Bertschinger, founder of UMAMI AG\">\n        <\/div>\n        <div class=\"fs-meta\">\n          <span class=\"name\">Robin Bertschinger<\/span>\n          <span class=\"role\">Founder - UMAMI AG - Zurich<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"fs-text\">\n        <p class=\"lead\">\n  At UMAMI, we are completely rethinking agriculture: we cultivate Microgreens in a closed cycle in which plants, fish and microorganisms work together - a living system that only works if all the parameters are exactly right.\n        <\/p>\n        <p>\n  The biggest challenge here is not the cultivation itself, but the environment: <strong>temperature, air humidity and air flow must be extremely stable<\/strong> so that this natural balance is not disturbed.\n        <\/p>\n        <p>\n  This is precisely where <em>CarbonActive<\/em> has made a decisive contribution. By combining energy recovery, intelligent air routing and precise climate control systems, we were able to create an environment that reliably supports our biological system - while remaining energy efficient.\n        <\/p>\n\n        <ul class=\"fs-bullets\">\n          <li>Understanding of complex, sensitive systems<\/li>\n          <li>Pragmatic realisation of technical solutions<\/li>\n          <li>Working in partnership at eye level<\/li>\n        <\/ul>\n\n        <p>\n  Today, we produce high-quality Microgreens in the heart of Zurich - <strong>all year round, sustainably and without artificial additives<\/strong>. For us, this project clearly shows that if technology is used correctly, it cannot replace nature - but it can support it perfectly.\n        <\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- STATS -->\n<section>\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">Facts, figures and data<\/div>\n    <h2 class=\"section-title\">The project <em>at a glance.<\/em><\/h2>\n\n    <div class=\"stats-grid\">\n      <div class=\"stat-card blue\">\n        <span class=\"icon\">01 \/ CULTIVATION AREA<\/span>\n        <div class=\"num\"><span class=\"unit\">600m\u00b2<\/span><\/div>\n        <div class=\"label\">Indoor cultivation area, vertically organized<\/div>\n      <\/div>\n      <div class=\"stat-card\">\n        <span class=\"icon\">02 \/ System<\/span>\n        <div class=\"num num--text\">Vertical aquaponics<\/div>\n        <div class=\"label\">Closed cycle - plants, fish, microorganisms<\/div>\n      <\/div>\n      <div class=\"stat-card tint\">\n        <span class=\"icon\">03 \/ Production<\/span>\n        <div class=\"num num--text\">All year round<\/div>\n        <div class=\"label\">Without pesticides, without synthetic fertilizers<\/div>\n      <\/div>\n      <div class=\"stat-card blue-deep\">\n        <span class=\"icon\">04 \/ Air conditioning<\/span>\n        <div class=\"num num--text\">Energy recovery<\/div>\n        <div class=\"label\">Ventilation with heat recovery, active cooling &amp; dehumidification<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- INFOGRAPHIC: AQUAPONIC ECOSYSTEM -->\n<section class=\"diagram-section\">\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">Scheme<\/div>\n    <h2 class=\"section-title\">A closed <em>ecosystem<\/em>.<\/h2>\n    <p style=\"margin-top: 14px; font-size: 17px; color: var(--ink-soft); max-width: 64ch;\">\n  At UMAMI, <em>CarbonActive<\/em> combines an <strong style=\"color: var(--ink);\">open Energy Recovery Group system<\/strong> with a <strong style=\"color: var(--ink);\">closed air conditioning circuit<\/strong> in one facility: the Energy Recovery Group module recovers energy between the outside air and return air in the counterflow heat exchanger - heat in winter, cold in summer. Closed conditioning (cooling + dehumidification) keeps the biological balance stable at the target value. The biological water and nutrient cycle between plants, fish and microorganisms runs in the background. \n    <\/p>\n\n    <div class=\"diagram-frame\">\n      <svg viewbox=\"0 0 900 760\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"UMAMI AHU-L\u00fcftungs- und Klimasystem mit ERG, Konditionierung und Aquaponik-Kreislauf\">\n        <defs>\n          <marker id=\"arr-blue\" viewbox=\"0 0 10 10\" refx=\"9\" refy=\"5\" markerwidth=\"7\" markerheight=\"7\" orient=\"auto-start-reverse\">\n            <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#7AA0FF\"\/>\n          <\/marker>\n          <marker id=\"arr-blue-deep\" viewbox=\"0 0 10 10\" refx=\"9\" refy=\"5\" markerwidth=\"7\" markerheight=\"7\" orient=\"auto-start-reverse\">\n            <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#2D69FF\"\/>\n          <\/marker>\n          <marker id=\"arr-red\" viewbox=\"0 0 10 10\" refx=\"9\" refy=\"5\" markerwidth=\"7\" markerheight=\"7\" orient=\"auto-start-reverse\">\n            <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#FF7A4F\"\/>\n          <\/marker>\n          <marker id=\"arr-green\" viewbox=\"0 0 10 10\" refx=\"9\" refy=\"5\" markerwidth=\"7\" markerheight=\"7\" orient=\"auto-start-reverse\">\n            <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#3EE5A5\"\/>\n          <\/marker>\n\n          <!-- Stream A: Aussenluft BLAU \u2192 Zuluft ROT (transitions through center heat-zone) -->\n          <lineargradient id=\"cross-a-grad\" x1=\"85\" y1=\"160\" x2=\"265\" y2=\"160\" gradientunits=\"userSpaceOnUse\">\n            <stop offset=\"0%\" stop-color=\"#7AA0FF\"\/>\n            <stop offset=\"35%\" stop-color=\"#90AAFF\"\/>\n            <stop offset=\"48%\" stop-color=\"#D4A0E8\"\/>\n            <stop offset=\"62%\" stop-color=\"#FF8888\"\/>\n            <stop offset=\"100%\" stop-color=\"#FF7A4F\"\/>\n          <\/lineargradient>\n          <!-- Stream B: R\u00fcckluft ROT \u2192 Fortluft BLAU -->\n          <lineargradient id=\"cross-b-grad\" x1=\"215\" y1=\"260\" x2=\"85\" y2=\"240\" gradientunits=\"userSpaceOnUse\">\n            <stop offset=\"0%\" stop-color=\"#FF7A4F\"\/>\n            <stop offset=\"38%\" stop-color=\"#FF8888\"\/>\n            <stop offset=\"52%\" stop-color=\"#D4A0E8\"\/>\n            <stop offset=\"65%\" stop-color=\"#90AAFF\"\/>\n            <stop offset=\"100%\" stop-color=\"#7AA0FF\"\/>\n          <\/lineargradient>\n          <!-- Heat-Zone glow gradient -->\n          <lineargradient id=\"heat-zone-grad\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#FFB347\" stop-opacity=\"0\"\/>\n            <stop offset=\"25%\" stop-color=\"#FFD43B\" stop-opacity=\"0.30\"\/>\n            <stop offset=\"50%\" stop-color=\"#FFD43B\" stop-opacity=\"0.50\"\/>\n            <stop offset=\"75%\" stop-color=\"#FFD43B\" stop-opacity=\"0.30\"\/>\n            <stop offset=\"100%\" stop-color=\"#FFB347\" stop-opacity=\"0\"\/>\n          <\/lineargradient>\n          <!-- ERG box subtle background -->\n          <lineargradient id=\"erg-box-grad\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n            <stop offset=\"0%\" stop-color=\"#0B1840\" stop-opacity=\"0.7\"\/>\n            <stop offset=\"100%\" stop-color=\"#0F1F45\" stop-opacity=\"0.5\"\/>\n          <\/lineargradient>\n\n          <lineargradient id=\"rack-grad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n            <stop offset=\"0%\" stop-color=\"#0E1426\"\/>\n            <stop offset=\"100%\" stop-color=\"#152040\"\/>\n          <\/lineargradient>\n          <lineargradient id=\"water-grad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n            <stop offset=\"0%\" stop-color=\"#1A4A7A\"\/>\n            <stop offset=\"100%\" stop-color=\"#0A2540\"\/>\n          <\/lineargradient>\n\n          <pattern id=\"dots-bg\" x=\"0\" y=\"0\" width=\"14\" height=\"14\" patternunits=\"userSpaceOnUse\">\n            <circle cx=\"2\" cy=\"2\" r=\"1\" fill=\"#1A2540\"\/>\n          <\/pattern>\n\n          <pattern id=\"microgreens\" x=\"0\" y=\"0\" width=\"10\" height=\"10\" patternunits=\"userSpaceOnUse\">\n            <circle cx=\"2\" cy=\"3\" r=\"1.5\" fill=\"#3EE5A5\"\/>\n            <circle cx=\"6\" cy=\"6\" r=\"1.4\" fill=\"#3EE5A5\" opacity=\"0.85\"\/>\n            <circle cx=\"3\" cy=\"8\" r=\"1.1\" fill=\"#3EE5A5\" opacity=\"0.7\"\/>\n            <circle cx=\"8\" cy=\"2\" r=\"1.2\" fill=\"#3EE5A5\" opacity=\"0.75\"\/>\n          <\/pattern>\n        <\/defs>\n\n        <rect x=\"0\" y=\"0\" width=\"900\" height=\"760\" fill=\"url(#dots-bg)\"\/>\n\n        <!-- ===== TITLE ===== -->\n        <text x=\"450\" y=\"24\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"13\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"2\">UMAMI \u00b7 AHU-L\u00dcFTUNGSSCHEMA<\/text>\n        <text x=\"450\" y=\"42\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"10\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">offen + geschlossen kombiniert \u00b7 ERG mit aktiver Konditionierung<\/text>\n        <line x1=\"350\" y1=\"52\" x2=\"550\" y2=\"52\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n\n        <!-- ===== TANKS &amp; OUTDOOR COOLER (positions shifted +45px) ===== -->\n        <g>\n          <rect x=\"440\" y=\"62\" width=\"62\" height=\"40\" rx=\"5\" fill=\"#0A1224\" stroke=\"#7AA0FF\" stroke-width=\"1.2\"\/>\n          <g transform=\"translate(471,82)\">\n            <circle r=\"13\" fill=\"none\" stroke=\"#7AA0FF\" stroke-width=\"1\"\/>\n            <circle r=\"2.5\" fill=\"#7AA0FF\"\/>\n            <path d=\"M 0 -11 Q -6 -5 0 0 Q 6 -5 0 -11 Z\" fill=\"#7AA0FF\" opacity=\"0.6\"\/>\n            <path d=\"M 11 0 Q 5 -6 0 0 Q 5 6 11 0 Z\" fill=\"#7AA0FF\" opacity=\"0.6\"\/>\n            <path d=\"M 0 11 Q 6 5 0 0 Q -6 5 0 11 Z\" fill=\"#7AA0FF\" opacity=\"0.6\"\/>\n            <path d=\"M -11 0 Q -5 6 0 0 Q -5 -6 -11 0 Z\" fill=\"#7AA0FF\" opacity=\"0.6\"\/>\n          <\/g>\n          <text x=\"471\" y=\"58\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#A8B2C5\" letter-spacing=\"1\">R\u00dcCKK\u00dcHLER<\/text>\n        <\/g>\n\n        <g>\n          <rect x=\"520\" y=\"62\" width=\"68\" height=\"40\" rx=\"5\" fill=\"#0A1224\" stroke=\"#7AA0FF\" stroke-width=\"1.2\"\/>\n          <text x=\"554\" y=\"80\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">KALT-<\/text>\n          <text x=\"554\" y=\"92\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">WASSER<\/text>\n        <\/g>\n        <path d=\"M 502 78 L 520 78\" stroke=\"#7AA0FF\" stroke-width=\"1.5\" fill=\"none\"\/>\n        <path d=\"M 502 88 L 520 88\" stroke=\"#FF7A4F\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.5\"\/>\n\n        <g>\n          <rect x=\"663\" y=\"62\" width=\"68\" height=\"40\" rx=\"5\" fill=\"#0A1224\" stroke=\"#FF7A4F\" stroke-width=\"1.2\"\/>\n          <text x=\"697\" y=\"80\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">WARM-<\/text>\n          <text x=\"697\" y=\"92\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">WASSER<\/text>\n        <\/g>\n\n        <!-- ===== AUSSENLUFT &amp; FORTLUFT (left side) ===== -->\n        <!-- Aussenluft IN \u2014 arrow at y=160, label well above -->\n        <g>\n          <text x=\"42\" y=\"118\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">AUSSEN-<\/text>\n          <text x=\"42\" y=\"132\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">LUFT<\/text>\n          <text x=\"42\" y=\"145\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#A8B2C5\">unbehandelt<\/text>\n          <path d=\"M 22 160 L 80 160\" stroke=\"#7AA0FF\" stroke-width=\"3\" fill=\"none\" marker-end=\"url(#arr-blue)\"\/>\n        <\/g>\n        <!-- Fortluft OUT \u2014 arrow at y=240, label below -->\n        <g>\n          <path d=\"M 80 240 L 22 240\" stroke=\"#7AA0FF\" stroke-width=\"3\" fill=\"none\" marker-end=\"url(#arr-blue)\"\/>\n          <text x=\"42\" y=\"262\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">FORTLUFT<\/text>\n          <text x=\"42\" y=\"275\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#A8B2C5\">abgek\u00fchlt<\/text>\n        <\/g>\n\n        <!-- ===== AHU FRAME labels ===== -->\n        <text x=\"85\" y=\"115\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">AHU \u00b7 AIR HANDLING UNIT<\/text>\n        <text x=\"759\" y=\"115\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\" letter-spacing=\"1.5\">CarbonActive<\/text>\n\n        <!-- ============================================================== -->\n        <!-- ===== 1. ERG \u00b7 KREUZW\u00c4RMETAUSCHER (x=85-265, w=180) ===== -->\n        <!-- ============================================================== -->\n        <g>\n          <rect x=\"85\" y=\"120\" width=\"180\" height=\"155\" rx=\"6\" fill=\"url(#erg-box-grad)\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n\n          <!-- Subtle plate background grid -->\n          <g opacity=\"0.16\" stroke=\"#7AA0FF\" stroke-width=\"0.5\">\n            <line x1=\"100\" y1=\"155\" x2=\"250\" y2=\"155\"\/>\n            <line x1=\"100\" y1=\"170\" x2=\"250\" y2=\"170\"\/>\n            <line x1=\"100\" y1=\"185\" x2=\"250\" y2=\"185\"\/>\n            <line x1=\"100\" y1=\"200\" x2=\"250\" y2=\"200\"\/>\n            <line x1=\"100\" y1=\"215\" x2=\"250\" y2=\"215\"\/>\n            <line x1=\"100\" y1=\"230\" x2=\"250\" y2=\"230\"\/>\n            <line x1=\"100\" y1=\"245\" x2=\"250\" y2=\"245\"\/>\n            <line x1=\"115\" y1=\"140\" x2=\"115\" y2=\"265\"\/>\n            <line x1=\"135\" y1=\"140\" x2=\"135\" y2=\"265\"\/>\n            <line x1=\"155\" y1=\"140\" x2=\"155\" y2=\"265\"\/>\n            <line x1=\"175\" y1=\"140\" x2=\"175\" y2=\"265\"\/>\n            <line x1=\"195\" y1=\"140\" x2=\"195\" y2=\"265\"\/>\n            <line x1=\"215\" y1=\"140\" x2=\"215\" y2=\"265\"\/>\n            <line x1=\"235\" y1=\"140\" x2=\"235\" y2=\"265\"\/>\n          <\/g>\n\n          <!-- ===== HEAT-TRANSFER ZONE (yellow glow between the two parallel lanes) ===== -->\n          <rect x=\"135\" y=\"188\" width=\"80\" height=\"22\" rx=\"6\" fill=\"url(#heat-zone-grad)\" opacity=\"0.7\">\n            <animate attributename=\"opacity\" values=\"0.40;0.85;0.40\" dur=\"2s\" repeatcount=\"indefinite\"\/>\n          <\/rect>\n\n          <!-- ===== STREAM B (BACK, dashed): R\u00fcckluft (from below) \u2192 Fortluft (out left bottom) ===== -->\n          <!-- enters at (215, 275), goes up into lower lane y=205, runs left, exits at (85, 240) -->\n          <path d=\"M 215 275 C 215 250, 195 205, 185 205 L 145 205 C 130 205, 110 240, 85 240\" stroke=\"url(#cross-b-grad)\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"8 5\" opacity=\"0.95\"\/>\n\n          <!-- ===== STREAM A (FRONT, solid): Aussenluft (in left top) \u2192 over heat-zone \u2192 high arc \u2192 Filter inlet ===== -->\n          <!-- enters at (85, 160), descends into upper lane y=190, runs right through heat zone,\n               then arcs HIGH (peak ~y=145) up over the right portion of the box and down to filter at (270,200) -->\n          <path d=\"M 85 160 C 110 160, 130 190, 145 190 L 205 190 C 215 165, 250 90, 270 200\" stroke=\"url(#cross-a-grad)\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.95\"\/>\n\n          <!-- ===== HEAT TICK MARKS (vertical strokes between lanes) ===== -->\n          <g stroke=\"#FFD43B\" stroke-width=\"1.2\" opacity=\"0.55\">\n            <line x1=\"155\" y1=\"193\" x2=\"155\" y2=\"207\"\/>\n            <line x1=\"165\" y1=\"193\" x2=\"165\" y2=\"207\"\/>\n            <line x1=\"195\" y1=\"193\" x2=\"195\" y2=\"207\"\/>\n            <line x1=\"205\" y1=\"193\" x2=\"205\" y2=\"207\"\/>\n          <\/g>\n\n          <!-- ===== MEDALLION \u21c4 (gold accent) ===== -->\n          <g transform=\"translate(175,198)\">\n            <circle r=\"14\" fill=\"#0A1224\" stroke=\"#FFB347\" stroke-width=\"2\">\n              <animate attributename=\"r\" values=\"13;15;13\" dur=\"2s\" repeatcount=\"indefinite\"\/>\n            <\/circle>\n            <text text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"15\" font-weight=\"700\" fill=\"#FFD43B\" dy=\"5\">\u21c4<\/text>\n          <\/g>\n\n          <!-- ===== HEAT SPARKS (animated, from B to A \u2014 upward) ===== -->\n          <circle r=\"2\" fill=\"#FFD43B\">\n            <animatemotion dur=\"0.9s\" repeatcount=\"indefinite\" path=\"M 155 205 L 155 190\"\/>\n            <animate attributename=\"opacity\" values=\"0;1;0\" dur=\"0.9s\" repeatcount=\"indefinite\"\/>\n          <\/circle>\n          <circle r=\"2\" fill=\"#FFD43B\">\n            <animatemotion dur=\"0.9s\" begin=\"0.22s\" repeatcount=\"indefinite\" path=\"M 165 205 L 165 190\"\/>\n            <animate attributename=\"opacity\" values=\"0;1;0\" dur=\"0.9s\" begin=\"0.22s\" repeatcount=\"indefinite\"\/>\n          <\/circle>\n          <circle r=\"2\" fill=\"#FFD43B\">\n            <animatemotion dur=\"0.9s\" begin=\"0.45s\" repeatcount=\"indefinite\" path=\"M 195 205 L 195 190\"\/>\n            <animate attributename=\"opacity\" values=\"0;1;0\" dur=\"0.9s\" begin=\"0.45s\" repeatcount=\"indefinite\"\/>\n          <\/circle>\n          <circle r=\"2\" fill=\"#FFD43B\">\n            <animatemotion dur=\"0.9s\" begin=\"0.68s\" repeatcount=\"indefinite\" path=\"M 205 205 L 205 190\"\/>\n            <animate attributename=\"opacity\" values=\"0;1;0\" dur=\"0.9s\" begin=\"0.68s\" repeatcount=\"indefinite\"\/>\n          <\/circle>\n\n          <!-- Box texts -->\n          <text x=\"175\" y=\"138\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"1.5\">ERG \u00b7 KREUZ-WT<\/text>\n          <text x=\"175\" y=\"262\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#3EE5A5\" letter-spacing=\"1.5\">Energier\u00fcckgewinnung<\/text>\n        <\/g>\n\n        <!-- Small arrow marker at Stream A end into Filter -->\n        <path d=\"M 268 199 L 270 200\" stroke=\"#FF7A4F\" stroke-width=\"2.5\" fill=\"none\" marker-end=\"url(#arr-red)\"\/>\n\n        <!-- ===== 2. FILTER (x=270-348) ===== -->\n        <g>\n          <rect x=\"270\" y=\"120\" width=\"78\" height=\"155\" rx=\"6\" fill=\"#0A1224\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n          <g transform=\"translate(289,150)\" stroke=\"#7AA0FF\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.7\">\n            <path d=\"M 0 0 L 10 6 L 0 12 L 10 18 L 0 24 L 10 30 L 0 36 L 10 42 L 0 48 L 10 54 L 0 60 L 10 66 L 0 72 L 10 78 L 0 84 L 10 90 L 0 96\"\/>\n          <\/g>\n          <g transform=\"translate(311,150)\" stroke=\"#7AA0FF\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.85\">\n            <path d=\"M 0 0 L 10 6 L 0 12 L 10 18 L 0 24 L 10 30 L 0 36 L 10 42 L 0 48 L 10 54 L 0 60 L 10 66 L 0 72 L 10 78 L 0 84 L 10 90 L 0 96\"\/>\n          <\/g>\n          <g transform=\"translate(331,150)\" stroke=\"#FFFFFF\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.85\">\n            <path d=\"M 0 0 L 8 6 L 0 12 L 8 18 L 0 24 L 8 30 L 0 36 L 8 42 L 0 48 L 8 54 L 0 60 L 8 66 L 0 72 L 8 78 L 0 84 L 8 90 L 0 96\"\/>\n          <\/g>\n          <text x=\"309\" y=\"135\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">FILTER<\/text>\n          <text x=\"309\" y=\"265\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#A8B2C5\">F7 \u00b7 F9 \u00b7 H13<\/text>\n        <\/g>\n\n        <!-- ===== 3. VENTILATOR (x=353-505) ===== -->\n        <g>\n          <rect x=\"353\" y=\"120\" width=\"152\" height=\"155\" rx=\"6\" fill=\"#0A1224\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n          <g transform=\"translate(429,200)\">\n            <circle r=\"35\" fill=\"none\" stroke=\"#2D69FF\" stroke-width=\"1.5\" opacity=\"0.7\"\/>\n            <g>\n              <circle r=\"6\" fill=\"#2D69FF\"\/>\n              <path d=\"M 0 -32 Q -10 -22 0 -10 Q 10 -22 0 -32 Z\" fill=\"#2D69FF\" opacity=\"0.7\"\/>\n              <path d=\"M 32 0 Q 22 -10 10 0 Q 22 10 32 0 Z\" fill=\"#2D69FF\" opacity=\"0.7\"\/>\n              <path d=\"M 0 32 Q 10 22 0 10 Q -10 22 0 32 Z\" fill=\"#2D69FF\" opacity=\"0.7\"\/>\n              <path d=\"M -32 0 Q -22 10 -10 0 Q -22 -10 -32 0 Z\" fill=\"#2D69FF\" opacity=\"0.7\"\/>\n              <animatetransform attributename=\"transform\" type=\"rotate\" from=\"0\" to=\"360\" dur=\"3s\" repeatcount=\"indefinite\"\/>\n            <\/g>\n          <\/g>\n          <text x=\"429\" y=\"135\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">VENTILATOR<\/text>\n          <text x=\"429\" y=\"265\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#A8B2C5\">Druck \u00b7 Volumenstrom<\/text>\n        <\/g>\n\n        <!-- ===== 4. K\u00dcHLUNG + ENTFEUCHTUNG (x=510-634) ===== -->\n        <g>\n          <rect x=\"510\" y=\"120\" width=\"124\" height=\"155\" rx=\"6\" fill=\"#0A1224\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n          <g transform=\"translate(528,158)\" stroke=\"#7AA0FF\" stroke-width=\"1.6\" fill=\"none\" opacity=\"0.85\">\n            <path d=\"M 0 0 Q -8 12 0 24 Q 8 36 0 48 Q -8 60 0 72 Q 8 84 0 96\"\/>\n            <path d=\"M 18 0 Q 10 12 18 24 Q 26 36 18 48 Q 10 60 18 72 Q 26 84 18 96\"\/>\n            <path d=\"M 36 0 Q 28 12 36 24 Q 44 36 36 48 Q 28 60 36 72 Q 44 84 36 96\"\/>\n            <path d=\"M 54 0 Q 46 12 54 24 Q 62 36 54 48 Q 46 60 54 72 Q 62 84 54 96\"\/>\n          <\/g>\n          <!-- ===== Animated condensate drops (falling from coil tips) ===== -->\n          <g>\n            <path d=\"M 0 -5 Q -3 0 0 4 Q 3 0 0 -5 Z\" fill=\"#7AA0FF\"\/>\n            <animatemotion dur=\"1.6s\" repeatcount=\"indefinite\" path=\"M 545 250 L 545 268\"\/>\n            <animate attributename=\"opacity\" values=\"0;0;1;0.5;0\" keytimes=\"0;0.1;0.4;0.8;1\" dur=\"1.6s\" repeatcount=\"indefinite\"\/>\n          <\/g>\n          <g>\n            <path d=\"M 0 -5 Q -3 0 0 4 Q 3 0 0 -5 Z\" fill=\"#7AA0FF\"\/>\n            <animatemotion dur=\"1.7s\" begin=\"0.55s\" repeatcount=\"indefinite\" path=\"M 565 248 L 565 268\"\/>\n            <animate attributename=\"opacity\" values=\"0;0;1;0.5;0\" keytimes=\"0;0.1;0.4;0.8;1\" dur=\"1.7s\" begin=\"0.55s\" repeatcount=\"indefinite\"\/>\n          <\/g>\n          <g>\n            <path d=\"M 0 -5 Q -3 0 0 4 Q 3 0 0 -5 Z\" fill=\"#7AA0FF\"\/>\n            <animatemotion dur=\"1.5s\" begin=\"1.05s\" repeatcount=\"indefinite\" path=\"M 583 250 L 583 268\"\/>\n            <animate attributename=\"opacity\" values=\"0;0;1;0.5;0\" keytimes=\"0;0.1;0.4;0.8;1\" dur=\"1.5s\" begin=\"1.05s\" repeatcount=\"indefinite\"\/>\n          <\/g>\n          <!-- Small static drop hanging at coil tip (idle moment) -->\n          <g transform=\"translate(575,248)\">\n            <path d=\"M 0 -4 Q -2.5 0 0 3 Q 2.5 0 0 -4 Z\" fill=\"#7AA0FF\" opacity=\"0.55\"\/>\n          <\/g>\n          <text x=\"572\" y=\"135\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">K\u00dcHLUNG<\/text>\n          <text x=\"572\" y=\"265\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#7AA0FF\">+ Entfeuchtung<\/text>\n        <\/g>\n        <path d=\"M 540 102 L 540 120\" stroke=\"#7AA0FF\" stroke-width=\"1.5\" fill=\"none\"\/>\n        <path d=\"M 568 102 L 568 110 L 540 110\" stroke=\"#7AA0FF\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.55\" stroke-dasharray=\"3 2\"\/>\n\n        <!-- ===== 5. NACHW\u00c4RMER (x=639-759) ===== -->\n        <g>\n          <rect x=\"639\" y=\"120\" width=\"120\" height=\"155\" rx=\"6\" fill=\"#0A1224\" stroke=\"#FF7A4F\" stroke-width=\"1.5\"\/>\n          <g transform=\"translate(657,158)\" stroke=\"#FF7A4F\" stroke-width=\"1.6\" fill=\"none\" opacity=\"0.85\">\n            <path d=\"M 0 0 Q -8 12 0 24 Q 8 36 0 48 Q -8 60 0 72 Q 8 84 0 96\"\/>\n            <path d=\"M 18 0 Q 10 12 18 24 Q 26 36 18 48 Q 10 60 18 72 Q 26 84 18 96\"\/>\n            <path d=\"M 36 0 Q 28 12 36 24 Q 44 36 36 48 Q 28 60 36 72 Q 44 84 36 96\"\/>\n            <path d=\"M 54 0 Q 46 12 54 24 Q 62 36 54 48 Q 46 60 54 72 Q 62 84 54 96\"\/>\n          <\/g>\n          <text x=\"699\" y=\"135\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"9\" font-weight=\"700\" fill=\"#FFFFFF\">NACHW\u00c4RMER<\/text>\n          <text x=\"699\" y=\"265\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#FF9F70\">auf Soll-Temperatur<\/text>\n        <\/g>\n        <path d=\"M 683 102 L 683 120\" stroke=\"#FF7A4F\" stroke-width=\"1.5\" fill=\"none\"\/>\n        <path d=\"M 711 102 L 711 110 L 683 110\" stroke=\"#FF7A4F\" stroke-width=\"1.2\" fill=\"none\" opacity=\"0.55\" stroke-dasharray=\"3 2\"\/>\n\n        <!-- ===== inter-module connection arrows ===== -->\n        <path d=\"M 348 200 L 353 200\" stroke=\"#FF7A4F\" stroke-width=\"2.5\" fill=\"none\" marker-end=\"url(#arr-red)\"\/>\n        <path d=\"M 505 200 L 510 200\" stroke=\"#FF7A4F\" stroke-width=\"2.5\" fill=\"none\" marker-end=\"url(#arr-red)\"\/>\n        <path d=\"M 634 200 L 639 200\" stroke=\"#7AA0FF\" stroke-width=\"2.5\" fill=\"none\" marker-end=\"url(#arr-blue)\"\/>\n\n        <!-- ===== R\u00dcCKLUFT path (clean: 25px from grow room, then vertical up; arrow ends just below ERG entry) ===== -->\n        <path d=\"M 240 480 L 215 480 L 215 282\" stroke=\"#FF7A4F\" stroke-width=\"3\" fill=\"none\" marker-end=\"url(#arr-red)\" class=\"schema-rueckluft\" stroke-linejoin=\"round\"\/>\n        <text x=\"208\" y=\"395\" text-anchor=\"end\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FF9F70\" letter-spacing=\"1.5\">R\u00dcCK-<\/text>\n        <text x=\"208\" y=\"408\" text-anchor=\"end\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FF9F70\" letter-spacing=\"1.5\">LUFT<\/text>\n        <text x=\"208\" y=\"421\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#A8B2C5\">warm \u00b7 feucht<\/text>\n\n        <!-- ===== CONDITIONED ZULUFT path (from Nachw\u00e4rmer (759, 200) down to grow room) ===== -->\n        <path d=\"M 759 200 L 800 200 L 800 480 L 660 480\" stroke=\"#2D69FF\" stroke-width=\"3\" fill=\"none\" marker-end=\"url(#arr-blue-deep)\" stroke-linejoin=\"round\"\/>\n        <text x=\"820\" y=\"335\" text-anchor=\"start\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#2D69FF\" letter-spacing=\"1.5\">ZULUFT<\/text>\n        <text x=\"820\" y=\"348\" text-anchor=\"start\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#A8B2C5\">22 \u00b0C \u00b7 65 %rH<\/text>\n        <text x=\"820\" y=\"360\" text-anchor=\"start\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#A8B2C5\">konditioniert<\/text>\n\n        <!-- ============================================================== -->\n        <!-- ===== GROW ROOM ===== -->\n        <!-- ============================================================== -->\n        <rect x=\"240\" y=\"380\" width=\"420\" height=\"200\" rx=\"12\" fill=\"url(#rack-grad)\" stroke=\"#2D69FF\" stroke-width=\"1.2\"\/>\n        <text x=\"450\" y=\"403\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"2\">VERTIKALE MICROGREENS \u00b7 600 m\u00b2<\/text>\n        <text x=\"450\" y=\"418\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#7AA0FF\" letter-spacing=\"1\">22 \u00b0C \u00b7 65 %rH \u00b7 \u00b10.5 K \u00b7 stabil<\/text>\n\n        <g>\n          <rect x=\"280\" y=\"440\" width=\"340\" height=\"22\" rx=\"3\" fill=\"#0A1F0F\" stroke=\"#3EE5A5\" stroke-width=\"0.8\"\/>\n          <rect x=\"282\" y=\"442\" width=\"336\" height=\"18\" rx=\"2\" fill=\"url(#microgreens)\" opacity=\"0.95\"\/>\n\n          <rect x=\"280\" y=\"475\" width=\"340\" height=\"22\" rx=\"3\" fill=\"#0A1F0F\" stroke=\"#3EE5A5\" stroke-width=\"0.8\"\/>\n          <rect x=\"282\" y=\"477\" width=\"336\" height=\"18\" rx=\"2\" fill=\"url(#microgreens)\" opacity=\"0.95\"\/>\n\n          <rect x=\"280\" y=\"510\" width=\"340\" height=\"22\" rx=\"3\" fill=\"#0A1F0F\" stroke=\"#3EE5A5\" stroke-width=\"0.8\"\/>\n          <rect x=\"282\" y=\"512\" width=\"336\" height=\"18\" rx=\"2\" fill=\"url(#microgreens)\" opacity=\"0.95\"\/>\n        <\/g>\n\n        <text x=\"272\" y=\"455\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#7AA0FF\">E1<\/text>\n        <text x=\"272\" y=\"490\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#7AA0FF\">E2<\/text>\n        <text x=\"272\" y=\"525\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"7\" fill=\"#7AA0FF\">E3<\/text>\n\n        <circle class=\"schema-sensor\" cx=\"450\" cy=\"555\" r=\"4\" fill=\"#2D69FF\"\/>\n        <text x=\"450\" y=\"572\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\" letter-spacing=\"1\">T\/rH<\/text>\n\n        <!-- ===== AQUAPONIC FISH TANK ===== -->\n        <rect x=\"240\" y=\"610\" width=\"420\" height=\"60\" rx=\"8\" fill=\"url(#water-grad)\" stroke=\"#2D69FF\" stroke-width=\"1.2\"\/>\n        <text x=\"255\" y=\"630\" font-family=\"DM Sans, sans-serif\" font-size=\"10\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"1.5\">AQUAPONIK \u00b7 FISCHTANK<\/text>\n        <text x=\"255\" y=\"643\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\">n\u00e4hrstoffreiches Wasser \u00b7 biologischer Kreislauf<\/text>\n\n        <g class=\"schema-fish\" transform=\"translate(440,652)\">\n          <path d=\"M 0 0 Q 8 -4 16 0 Q 8 4 0 0 Z M 16 0 L 22 -3 L 22 3 Z\" fill=\"#3EE5A5\" opacity=\"0.9\"\/>\n        <\/g>\n        <g class=\"schema-fish\" transform=\"translate(490,648)\" style=\"animation-delay: 0.7s;\">\n          <path d=\"M 0 0 Q 6 -3 12 0 Q 6 3 0 0 Z M 12 0 L 17 -2 L 17 2 Z\" fill=\"#7AA0FF\" opacity=\"0.9\"\/>\n        <\/g>\n        <g class=\"schema-fish\" transform=\"translate(540,654)\" style=\"animation-delay: 1.4s;\">\n          <path d=\"M 0 0 Q 8 -4 16 0 Q 8 4 0 0 Z M 16 0 L 22 -3 L 22 3 Z\" fill=\"#3EE5A5\" opacity=\"0.9\"\/>\n        <\/g>\n\n        <path d=\"M 250 625 Q 260 622 270 625 T 290 625 T 310 625 T 330 625 T 350 625 T 370 625 T 390 625 T 410 625\" stroke=\"#7AA0FF\" stroke-width=\"0.8\" fill=\"none\" opacity=\"0.5\"\/>\n\n        <!-- water cycle: tank \u2192 racks (uses x=200 to leave space for r\u00fcckluft at x=215) -->\n        <path d=\"M 240 640 L 200 640 L 200 521 L 280 521\" stroke=\"#3EE5A5\" stroke-width=\"2\" fill=\"none\" marker-end=\"url(#arr-green)\" class=\"schema-water\"\/>\n        <text x=\"185\" y=\"585\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#3EE5A5\" letter-spacing=\"1\" transform=\"rotate(-90 185 585)\">\u2191 N\u00c4HRSTOFFE<\/text>\n\n        <path d=\"M 620 521 L 685 521 L 685 640 L 660 640\" stroke=\"#3EE5A5\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"4 3\" opacity=\"0.7\"\/>\n        <text x=\"700\" y=\"585\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#3EE5A5\" letter-spacing=\"1\" transform=\"rotate(90 700 585)\">R\u00dcCKLAUF<\/text>\n\n        <!-- ===== CONTROLLER ===== -->\n        <g transform=\"translate(330,700)\">\n          <rect width=\"240\" height=\"48\" rx=\"8\" fill=\"#0A1224\" stroke=\"#2D69FF\" stroke-width=\"1.5\"\/>\n          <text x=\"120\" y=\"22\" text-anchor=\"middle\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"1.5\">CARBON<tspan font-style=\"italic\">ACTIVE<\/tspan><\/text>\n          <text x=\"120\" y=\"38\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#7AA0FF\" letter-spacing=\"1\">\u25cfSTEUERUNG &amp; SENSORIK<\/text>\n        <\/g>\n\n        <path d=\"M 360 700 Q 320 600 320 280\" stroke=\"#2D69FF\" stroke-width=\"0.8\" fill=\"none\" stroke-dasharray=\"2 3\" opacity=\"0.4\"\/>\n        <path d=\"M 540 700 Q 600 600 685 280\" stroke=\"#2D69FF\" stroke-width=\"0.8\" fill=\"none\" stroke-dasharray=\"2 3\" opacity=\"0.4\"\/>\n        <path d=\"M 450 700 L 450 555\" stroke=\"#2D69FF\" stroke-width=\"0.8\" fill=\"none\" stroke-dasharray=\"2 3\" opacity=\"0.4\"\/>\n\n        <!-- ===== ANIMATED PARTICLES ===== -->\n        <!-- Aussenluft IN (cold blue, into Stream A first half) -->\n        <circle r=\"3.5\" fill=\"#7AA0FF\" opacity=\"0.9\">\n          <animatemotion dur=\"3.5s\" repeatcount=\"indefinite\" path=\"M 22 160 L 85 160 C 110 160, 130 190, 145 190 L 175 198\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"3.5s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n        <!-- Tempered air (orange, Stream A second half + AHU train) -->\n        <circle r=\"3.5\" fill=\"#FF7A4F\" opacity=\"0.9\">\n          <animatemotion dur=\"5.5s\" begin=\"1.4s\" repeatcount=\"indefinite\" path=\"M 175 198 L 205 190 C 215 165, 250 90, 270 200 L 759 200\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"5.5s\" begin=\"1.4s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n        <!-- Conditioned Zuluft (brand blue) \u2192 grow room -->\n        <circle r=\"3.5\" fill=\"#2D69FF\" opacity=\"0.9\">\n          <animatemotion dur=\"3.5s\" begin=\"3.2s\" repeatcount=\"indefinite\" path=\"M 759 200 L 800 200 L 800 480 L 660 480\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"3.5s\" begin=\"3.2s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n        <!-- R\u00fcckluft (orange) \u2192 Stream B first half -->\n        <circle r=\"3.5\" fill=\"#FF7A4F\" opacity=\"0.9\">\n          <animatemotion dur=\"4s\" repeatcount=\"indefinite\" path=\"M 240 480 L 215 480 L 215 282 L 215 275 C 215 250, 195 205, 185 205 L 175 198\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"4s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n        <!-- Fortluft (cold blue, Stream B second half + outside) -->\n        <circle r=\"3.5\" fill=\"#7AA0FF\" opacity=\"0.9\">\n          <animatemotion dur=\"3s\" begin=\"1.8s\" repeatcount=\"indefinite\" path=\"M 175 198 L 145 205 C 130 205, 110 240, 85 240 L 22 240\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"3s\" begin=\"1.8s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n\n        <!-- water particles -->\n        <circle r=\"3\" fill=\"#3EE5A5\" opacity=\"0.9\">\n          <animatemotion dur=\"4s\" repeatcount=\"indefinite\" path=\"M 240 640 L 200 640 L 200 521 L 280 521\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"4s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n        <circle r=\"2.5\" fill=\"#3EE5A5\" opacity=\"0.7\">\n          <animatemotion dur=\"4s\" begin=\"2s\" repeatcount=\"indefinite\" path=\"M 240 640 L 200 640 L 200 521 L 280 521\"\/>\n          <animate attributename=\"opacity\" values=\"0;1;1;0\" dur=\"4s\" begin=\"2s\" repeatcount=\"indefinite\"\/>\n        <\/circle>\n\n      <\/svg>\n\n      <div class=\"diagram-legend\">\n        <div class=\"legend-item\"><span class=\"line-h\" style=\"background: #7AA0FF;\"><\/span>Outside air \/ exhaust air (cold - without energy)<\/div>\n        <div class=\"legend-item\"><span class=\"line-h\" style=\"background: #FF7A4F;\"><\/span>Supply air preconditioned &amp; return air (with energy)<\/div>\n        <div class=\"legend-item\"><span class=\"line-h\" style=\"background: #2D69FF;\"><\/span>Supply air conditioned (to setpoint)<\/div>\n        <div class=\"legend-item\"><span class=\"line-h\" style=\"background: #FFD43B;\"><\/span>Energy Recovery Group heat transfer (passive)<\/div>\n        <div class=\"legend-item\"><span class=\"line-h\" style=\"background: #3EE5A5;\"><\/span>Water &amp; nutrient cycle<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- CLIMATE ENVELOPE -->\n<section>\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">Climate requirement<\/div>\n    <h2 class=\"section-title\">Stability <em>instead of span.<\/em><\/h2>\n    <p style=\"margin-top: 14px; font-size: 17px; color: var(--ink-soft); max-width: 60ch;\">\n  Unlike a research laboratory, a biological ecosystem does not need extreme climates - but narrow tolerances, every day. <em>CarbonActive<\/em> keeps the environment at the exact setpoint: day and night, summer and winter.\n    <\/p>\n\n    <div class=\"envelope-grid\">\n      <div class=\"envelope-chart\">\n        <!-- Custom stability chart: shows narrow tolerance band over time -->\n        <svg viewbox=\"0 0 460 360\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Klimastabilit\u00e4t: Sollwert-Toleranzband \u00fcber 24 Stunden\">\n          <defs>\n            <lineargradient id=\"band-grad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n              <stop offset=\"0%\" stop-color=\"#2D69FF\" stop-opacity=\"0.35\"\/>\n              <stop offset=\"100%\" stop-color=\"#2D69FF\" stop-opacity=\"0.05\"\/>\n            <\/lineargradient>\n            <pattern id=\"grid-bg-small\" x=\"0\" y=\"0\" width=\"46\" height=\"40\" patternunits=\"userSpaceOnUse\">\n              <path d=\"M 46 0 L 0 0 0 40\" fill=\"none\" stroke=\"#1A2540\" stroke-width=\"0.5\"\/>\n            <\/pattern>\n          <\/defs>\n\n          <rect x=\"40\" y=\"20\" width=\"400\" height=\"280\" fill=\"url(#grid-bg-small)\"\/>\n\n          <!-- Y axis labels -->\n          <text x=\"32\" y=\"50\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">23.0<\/text>\n          <text x=\"32\" y=\"110\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">22.5<\/text>\n          <text x=\"32\" y=\"170\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#FFFFFF\" font-weight=\"700\">22.0<\/text>\n          <text x=\"32\" y=\"230\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">21.5<\/text>\n          <text x=\"32\" y=\"290\" text-anchor=\"end\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">21.0<\/text>\n\n          <!-- Y axis title -->\n          <text x=\"14\" y=\"160\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#7AA0FF\" letter-spacing=\"1\" transform=\"rotate(-90 14 160)\">TEMPERATUR \u00b7 \u00b0C<\/text>\n\n          <!-- X axis labels -->\n          <text x=\"62\" y=\"318\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">0h<\/text>\n          <text x=\"155\" y=\"318\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">6h<\/text>\n          <text x=\"248\" y=\"318\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">12h<\/text>\n          <text x=\"341\" y=\"318\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">18h<\/text>\n          <text x=\"434\" y=\"318\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#A8B2C5\">24h<\/text>\n          <text x=\"240\" y=\"340\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#7AA0FF\" letter-spacing=\"1\">ZEIT (24 STUNDEN)<\/text>\n\n          <!-- Tolerance band (\u00b10.5 K) -->\n          <rect x=\"40\" y=\"140\" width=\"400\" height=\"60\" fill=\"url(#band-grad)\" rx=\"2\"\/>\n          <line x1=\"40\" y1=\"140\" x2=\"440\" y2=\"140\" stroke=\"#2D69FF\" stroke-width=\"0.8\" stroke-dasharray=\"4 3\" opacity=\"0.6\"\/>\n          <line x1=\"40\" y1=\"200\" x2=\"440\" y2=\"200\" stroke=\"#2D69FF\" stroke-width=\"0.8\" stroke-dasharray=\"4 3\" opacity=\"0.6\"\/>\n\n          <!-- Setpoint line -->\n          <line x1=\"40\" y1=\"170\" x2=\"440\" y2=\"170\" stroke=\"#FFFFFF\" stroke-width=\"1.2\" opacity=\"0.6\"\/>\n\n          <!-- Actual measured curve (jittery but within band) -->\n          <path d=\"M 40 172 L 70 168 L 100 174 L 130 169 L 160 175 L 190 167 L 220 172 L 250 170 L 280 175 L 310 168 L 340 173 L 370 169 L 400 174 L 440 171\" stroke=\"#3EE5A5\" stroke-width=\"2\" fill=\"none\"\/>\n\n          <!-- Setpoint label -->\n          <g transform=\"translate(380,160)\">\n            <rect x=\"0\" y=\"0\" width=\"58\" height=\"22\" rx=\"4\" fill=\"#0A2370\" stroke=\"#2D69FF\" stroke-width=\"1\"\/>\n            <text x=\"29\" y=\"14\" text-anchor=\"middle\" font-family=\"JetBrains Mono, monospace\" font-size=\"9\" fill=\"#FFFFFF\" font-weight=\"700\">SOLLWERT<\/text>\n          <\/g>\n\n          <!-- Tolerance label -->\n          <g transform=\"translate(48,118)\">\n            <text x=\"0\" y=\"0\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\" letter-spacing=\"1\">+0.5 K TOLERANZ<\/text>\n          <\/g>\n          <g transform=\"translate(48,222)\">\n            <text x=\"0\" y=\"0\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#7AA0FF\" letter-spacing=\"1\">\u22120.5 K TOLERANZ<\/text>\n          <\/g>\n\n          <!-- Ist-Wert label -->\n          <g transform=\"translate(112,182)\">\n            <circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"#3EE5A5\"\/>\n            <text x=\"8\" y=\"3\" font-family=\"JetBrains Mono, monospace\" font-size=\"8\" fill=\"#3EE5A5\" font-weight=\"700\">IST-WERT<\/text>\n          <\/g>\n\n          <!-- Title -->\n          <text x=\"40\" y=\"14\" font-family=\"DM Sans, sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#FFFFFF\" letter-spacing=\"1.5\">KLIMA-STABILIT\u00c4T \u00b7 24h<\/text>\n        <\/svg>\n      <\/div>\n\n      <div class=\"envelope-side\">\n        <div class=\"env-card\">\n          <span class=\"icon\">01 \/ Temperature<\/span>\n          <h4>\u00b10.5 K Tolerance<\/h4>\n          <p>Constant setpoint over 24 hours - no fluctuations that could disturb the biological balance.<\/p>\n          <div class=\"range-row\">\n            <span class=\"v\">22 \u00b0C<\/span>\n            <span class=\"lbl\">- Setpoint - stable<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"env-card alt\">\n          <span class=\"icon\">02 \/ Humidity<\/span>\n          <h4>\u00b13 % tolerance<\/h4>\n          <p>Tightly regulated in the optimum range for Microgreens - moist enough for the plants, dry enough to prevent mold.<\/p>\n          <div class=\"range-row\">\n            <span class=\"v\">65 %rH<\/span>\n            <span class=\"lbl\">- Setpoint - stable<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- STORY -->\n<section style=\"background: #050811;\">\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">The story<\/div>\n    <h2 class=\"section-title\">In three <em>acts.<\/em><\/h2>\n\n    <div class=\"story-grid\">\n      <div class=\"story-card\">\n        <div class=\"num\">01 \/ Initial situation<\/div>\n        <h3>Rethinking agriculture.<\/h3>\n        <p>UMAMI planned an urban Microgreens farm in Zurich - with vertical aquaponics in a closed cycle. Plants, fish and microorganisms work together. What was needed was a climate that would support this balance.  <\/p>\n      <\/div>\n\n      <div class=\"story-card\">\n        <div class=\"num\">02 \/ Challenge<\/div>\n        <h3>Sensitive systems. Stable conditions. <\/h3>\n        <p>A living ecosystem does not forgive fluctuations. Temperature, humidity and air flow must be permanently right - with limited room height, a scarce energy supply and no pesticides. <\/p>\n        <div class=\"chips\">\n          <span class=\"chip\">Tight tolerances<\/span>\n          <span class=\"chip\">Energy recovery<\/span>\n          <span class=\"chip\">Suitable for aquaponics<\/span>\n          <span class=\"chip\">Urban location<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"story-card\">\n        <div class=\"num\">03 \/ Result<\/div>\n        <h3>Efficient. Stable. In harmony.  <\/h3>\n        <p>Ventilation with heat recovery, active cooling and dehumidification, precise climate control - on 600 m\u00b2 of indoor space. Today, UMAMI produces Microgreens all year round in the heart of Zurich, energy-efficiently and without synthetic additives. <\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- GALLERY -->\n<section class=\"gallery-section\">\n  <div class=\"container\">\n    <div class=\"section-eyebrow\">Impressions of the facility<\/div>\n    <h2 class=\"section-title\">From the <em>UMAMI farm.<\/em><\/h2>\n\n    <div class=\"gallery-strip\">\n      <div class=\"g-item large\">\n        <span class=\"tag\">UMAMI - Annex hall<\/span>\n        <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/IMG_0794-scaled.jpg\" alt=\"UMAMI Microgreens - vertical cultivation hall in Zurich\">\n      <\/div>\n      <div class=\"g-item\">\n        <span class=\"tag\">Indoor Farming - Detail<\/span>\n        <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/IMG_0789-scaled.jpg\" alt=\"UMAMI Microgreens - Detail cultivation\">\n      <\/div>\n      <div class=\"g-item\">\n        <span class=\"tag\">Control systems - Monitoring<\/span>\n        <img decoding=\"async\" src=\"https:\/\/carbonactive.weiss-webdesign.de\/wp-content\/uploads\/2026\/04\/Bildschirmfoto-2026-04-30-um-13.32.59-scaled.png\" alt=\"CarbonActive - Climate control &amp; monitoring\">\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- CTA -->\n<section class=\"cta\">\n  <div class=\"container\">\n    <h2>Your urban farm.<br><em>We build the climate.<\/em><\/h2>\n    <p>From conception to commissioning - <em>CarbonActive<\/em> plans, builds and operates climate infrastructure for indoor farming, vertical farming and sensitive biological systems. \ud83c\udde8\ud83c\udded <\/p>\n    <div class=\"btn-row\">\n      <a class=\"btn btn-primary\" href=\"https:\/\/meetings-eu1.hubspot.com\/lminks\" target=\"_blank\" rel=\"noopener\">Book a consultation<\/a>\n      <a class=\"btn btn-ghost\" href=\"https:\/\/carbonactive.com\/produkt\/igc\/?v=3eb702302e19\" target=\"_blank\" rel=\"noopener\">Discover climate concepts<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>UMAMI Microgreens &#8211; CarbonActive Reference Customer testimonial &#8211; UMAMI AG Cycle meets climate. An urban Microgreens farm in the middle of Zurich: vertical aquaponics, closed ecosystem on 600 m\u00b2 &#8211; supported by a climate infrastructure that recovers energy and provides biological stability. ProjectUMAMI Microgreens LocationZurich &#8211; \ud83c\udde8\ud83c\udded SystemVertical aquaponics CULTIVATION AREAapprox. 600 m\u00b2 &#8220; Our [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-20542","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/pages\/20542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/comments?post=20542"}],"version-history":[{"count":10,"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/pages\/20542\/revisions"}],"predecessor-version":[{"id":20727,"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/pages\/20542\/revisions\/20727"}],"wp:attachment":[{"href":"https:\/\/carbonactive.weiss-webdesign.de\/en\/wp-json\/wp\/v2\/media?parent=20542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}