{
    "id": 938,
    "date": "2024-01-10T05:46:12",
    "date_gmt": "2024-01-10T05:46:12",
    "guid": {
        "rendered": "https:\/\/breakdancelayoutspack.com\/breakdance-plants-shop-layout-pack\/?page_id=11"
    },
    "modified": "2026-05-28T14:38:36",
    "modified_gmt": "2026-05-28T12:38:36",
    "slug": "home",
    "status": "publish",
    "type": "page",
    "link": "https:\/\/euplanting.com\/en\/",
    "title": {
        "rendered": "Home"
    },
    "content": {
        "rendered": "<section class=\"bde-section-938-100 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-advancedslider-938-102 bde-advancedslider\">\n<div class=\"breakdance-swiper-wrapper\" data-swiper-id=\"102\">\n  <div class=\"swiper\">\n    <div class=\"swiper-wrapper\">\n      <div class=\"bde-advancedslide-938-116 bde-advancedslide swiper-slide\"><div class=\"advanced-slider__slide\">\r\n  <h1 class=\"bde-heading-938-118 bde-heading\" data-entrance=\"fade\">\nEU-Planting\n<\/h1><div class=\"bde-text-938-119 bde-text\" data-entrance=\"fade\">\nBreath deep...\n<\/div><div class=\"bde-button-938-120 bde-button\" data-entrance=\"fade\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"https:\/\/euplanting.com\/en\/products\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Read more<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\r\n<\/div><\/div><div class=\"bde-advancedslide-938-551 bde-advancedslide swiper-slide\"><div class=\"advanced-slider__slide\">\r\n  <h1 class=\"bde-heading-938-552 bde-heading\" data-entrance=\"fade\">\nEU-Planting\n<\/h1><div class=\"bde-text-938-553 bde-text\" data-entrance=\"fade\">\n...Live fresh\n<\/div><div class=\"bde-button-938-554 bde-button\" data-entrance=\"fade\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"https:\/\/euplanting.com\/en\/fruits-and-vegetables\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Read more<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\r\n<\/div><\/div><div class=\"bde-advancedslide-938-547 bde-advancedslide swiper-slide\"><div class=\"advanced-slider__slide\">\r\n  <h1 class=\"bde-heading-938-548 bde-heading\" data-entrance=\"fade\">\nEU-Planting\n<\/h1><div class=\"bde-text-938-549 bde-text\" data-entrance=\"fade\">\nBreath deep. live fresh\n<\/div><div class=\"bde-button-938-550 bde-button\" data-entrance=\"fade\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/about-us\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Read more<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\r\n<\/div><\/div><div class=\"bde-advancedslide-938-559 bde-advancedslide swiper-slide\"><div class=\"advanced-slider__slide\">\r\n  <h1 class=\"bde-heading-938-560 bde-heading\" data-entrance=\"fade\">\nEU-Planting\n<\/h1><div class=\"bde-text-938-561 bde-text\" data-entrance=\"fade\">\nBreath deep. live fresh\n<\/div><div class=\"bde-button-938-562 bde-button\" data-entrance=\"fade\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/about-us\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Read more<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\r\n<\/div><\/div><div class=\"bde-advancedslide-938-555 bde-advancedslide swiper-slide\"><div class=\"advanced-slider__slide\">\r\n  <h1 class=\"bde-heading-938-556 bde-heading\" data-entrance=\"fade\">\nEU-Planting\n<\/h1><div class=\"bde-text-938-557 bde-text\" data-entrance=\"fade\">\nBreath deep. live fresh\n<\/div><div class=\"bde-button-938-558 bde-button\" data-entrance=\"fade\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/about-us\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Read more<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\r\n<\/div><\/div>\n    <\/div>\n  <\/div>\n\n              <div class=\"swiper-button-prev\">\n            \n        <\/div>\n        <div class=\"swiper-button-next\">\n            \n        <\/div>\n    \n            <div class=\"swiper-pagination\"><\/div>\n    \n<\/div>\n\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-563 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-grid-938-564 bde-grid\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-938-565 bde-div\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-566 bde-heading\">\nWe serve both retail and wholesale customers\n<\/h2><div class=\"bde-text-938-567 bde-text\">\nWe offer our products through our online store, for any detailed information feel free to contact us\n<\/div><div class=\"bde-div-938-569 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-button-938-570 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"https:\/\/euplanting.com\/en\/contact-us\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Contact us<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div>\n<\/div><div class=\"bde-image-938-572 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1100\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1.jpg\" width=\"1000\" height=\"667\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1.jpg 1000w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-300x200.jpg 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-768x512.jpg 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-600x400.jpg 600w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" alt=\"essential oil\"><\/div>\n\t<\/div><\/figure>\n\n<\/div>\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-143 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-div-938-144 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-columns-938-155 bde-columns\"><div class=\"bde-column-938-156 bde-column\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-938-157 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-image-938-158 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1304\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-seeds-2.webp\" width=\"1024\" height=\"683\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-seeds-2.webp 1024w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-seeds-2-300x200.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-seeds-2-768x512.webp 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-seeds-2-600x400.webp 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><\/div>\n\t<\/div><\/figure>\n\n<\/div><h3 class=\"bde-heading-938-176 bde-heading\">\nPlanting Seeds\n<\/h3>\n<\/div>\n<\/div><div class=\"bde-column-938-185 bde-column\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-938-186 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-image-938-187 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1217\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/production.jpeg\" width=\"1024\" height=\"768\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/production.jpeg 1024w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/production-300x225.jpeg 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/production-768x576.jpeg 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/production-600x450.jpeg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><\/div>\n\t<\/div><\/figure>\n\n<\/div><h3 class=\"bde-heading-938-188 bde-heading\">\nProduction\n<\/h3>\n<\/div>\n<\/div><div class=\"bde-column-938-181 bde-column\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-938-182 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-image-938-183 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1196\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation.webp\" width=\"945\" height=\"946\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation.webp 945w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation-300x300.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation-150x150.webp 150w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation-768x769.webp 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/plantation-600x601.webp 600w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" alt=\"Eucalyptus Plantation Leaves\"><\/div>\n\t<\/div><\/figure>\n\n<\/div><h3 class=\"bde-heading-938-184 bde-heading\">\nPlantation\n<\/h3>\n<\/div>\n<\/div><div class=\"bde-column-938-177 bde-column\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-938-178 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-image-938-179 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1216\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting.jpeg\" width=\"1024\" height=\"768\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting.jpeg 1024w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-300x225.jpeg 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-768x576.jpeg 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/planting-600x450.jpeg 600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><\/div>\n\t<\/div><\/figure>\n\n<\/div><h3 class=\"bde-heading-938-180 bde-heading\">\nPlant Outdoor\n<\/h3>\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-136 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-div-938-137 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-columns-938-138 bde-columns\"><div class=\"bde-column-938-139 bde-column\">\n  \n  \n\t\n\n\n\n<h3 class=\"bde-heading-938-189 bde-heading\">\nAMAZING PRODUCTS\n<\/h3><h2 class=\"bde-heading-938-190 bde-heading\">\nBest Selling\n<\/h2><div class=\"bde-fancy-divider-938-191 bde-fancy-divider\">\n\n\n<div class=\"bde-fancy-divider__wrapper\">\n  <div class=\"bde-fancy-divider__separator has-content has-content-center\">\n  \t    \t    \t    \t\t\t    \t\t<div class=\"bde-fancy-divider__content bde-fancy-divider__content--icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><!-- Font Awesome Free 5.15.1 by @fontawesome - https:\/\/fontawesome.com License - https:\/\/fontawesome.com\/license\/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d=\"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"\/><\/svg><\/div>\n    \t                  <\/div>\n<\/div>\n\n<\/div>\n<\/div><\/div><div class=\"bde-columns-938-220 bde-columns\"><div class=\"bde-column-938-221 bde-column\">\n  \n  \n\t\n\n\n\n<div class=\"bde-wooproductslist-938-223 bde-wooproductslist breakdance-woocommerce phox-facets-target phox-facets-target-default\"><div class=\"woocommerce\"><ul class=\"products\">\n<li class=\"product type-product post-1094 status-publish first instock product_cat-eucalyptus-saplings has-post-thumbnail taxable shipping-taxable purchasable product-type-variable\" >\n\t<a href=\"https:\/\/euplanting.com\/en\/product\/globulus\/\" class=\"woocommerce-LoopProduct-link woocommerce-loop-product__link\"><div class=\"bde-woo-product-image\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Globulus_1-removebg-preview-300x300.png\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"Globulus plant\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Globulus_1-removebg-preview-300x300.png 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Globulus_1-removebg-preview-150x150.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/div><h2 class=\"woocommerce-loop-product__title\">Globulus<\/h2>\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>25,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span> <span aria-hidden=\"true\">&ndash;<\/span> <span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>120,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span><span class=\"screen-reader-text\">Price range: 25,00&nbsp;&euro; through 120,00&nbsp;&euro;<\/span><\/span>\n<\/a><div class=\"bde-woo-product-footer\"><a href=\"https:\/\/euplanting.com\/en\/product\/globulus\/\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_1094\" data-quantity=\"1\" class=\"button product_type_variable add_to_cart_button\" data-product_id=\"1094\" data-product_sku=\"eu-globulus\" aria-label=\"Select options for &ldquo;Globulus&rdquo;\" rel=\"nofollow\">Select options<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_1094\" class=\"screen-reader-text\">\n\t\tThis product has multiple variants. The options may be chosen on the product page\t<\/span>\n<\/div><a href=\"#\" class=\"button yith-wcqv-button\" data-product_id=\"1094\">Quick View<\/a><\/li>\n<li class=\"product type-product post-1097 status-publish instock product_cat-eucalyptus-saplings has-post-thumbnail taxable shipping-taxable purchasable product-type-variable\" >\n\t<a href=\"https:\/\/euplanting.com\/en\/product\/rainbow\/\" class=\"woocommerce-LoopProduct-link woocommerce-loop-product__link\"><div class=\"bde-woo-product-image\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Rainbow_2-removebg-preview-300x300.png\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"Rainbow plant\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Rainbow_2-removebg-preview-300x300.png 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/Rainbow_2-removebg-preview-150x150.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/div><h2 class=\"woocommerce-loop-product__title\">Rainbow<\/h2>\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>38,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span> <span aria-hidden=\"true\">&ndash;<\/span> <span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>95,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span><span class=\"screen-reader-text\">Price range: 38,00&nbsp;&euro; through 95,00&nbsp;&euro;<\/span><\/span>\n<\/a><div class=\"bde-woo-product-footer\"><a href=\"https:\/\/euplanting.com\/en\/product\/rainbow\/\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_1097\" data-quantity=\"1\" class=\"button product_type_variable add_to_cart_button\" data-product_id=\"1097\" data-product_sku=\"eu-rainbow\" aria-label=\"Select options for &ldquo;Rainbow&rdquo;\" rel=\"nofollow\">Select options<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_1097\" class=\"screen-reader-text\">\n\t\tThis product has multiple variants. The options may be chosen on the product page\t<\/span>\n<\/div><a href=\"#\" class=\"button yith-wcqv-button\" data-product_id=\"1097\">Quick View<\/a><\/li>\n<li class=\"product type-product post-1233 status-publish instock product_cat-eucalyptus-saplings has-post-thumbnail taxable shipping-taxable purchasable product-type-variable\" >\n\t<a href=\"https:\/\/euplanting.com\/en\/product\/polybractea\/\" class=\"woocommerce-LoopProduct-link woocommerce-loop-product__link\"><div class=\"bde-woo-product-image\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/polybactea-300x300.webp\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"Polybractea\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/polybactea-300x300.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/polybactea-150x150.webp 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/div><h2 class=\"woocommerce-loop-product__title\">Polybractea<\/h2>\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>25,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span> <span aria-hidden=\"true\">&ndash;<\/span> <span class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"><bdi>50,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/bdi><\/span><span class=\"screen-reader-text\">Price range: 25,00&nbsp;&euro; through 50,00&nbsp;&euro;<\/span><\/span>\n<\/a><div class=\"bde-woo-product-footer\"><a href=\"https:\/\/euplanting.com\/en\/product\/polybractea\/\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_1233\" data-quantity=\"1\" class=\"button product_type_variable add_to_cart_button\" data-product_id=\"1233\" data-product_sku=\"eu-polybractea\" aria-label=\"Select options for &ldquo;Polybractea&rdquo;\" rel=\"nofollow\">Select options<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_1233\" class=\"screen-reader-text\">\n\t\tThis product has multiple variants. The options may be chosen on the product page\t<\/span>\n<\/div><a href=\"#\" class=\"button yith-wcqv-button\" data-product_id=\"1233\">Quick View<\/a><\/li>\n<\/ul>\n<\/div>\r\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-206 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-div-938-207 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-columns-938-208 bde-columns\"><div class=\"bde-column-938-209 bde-column\">\n  \n  \n\t\n\n\n\n<h3 class=\"bde-heading-938-210 bde-heading\">\nProducts\n<\/h3><h2 class=\"bde-heading-938-211 bde-heading\">\nthe wide range of eucalyptus <\/br>by-products\n<\/h2><div class=\"bde-button-938-263 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/products\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">View More<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-228 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-div-938-229 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-columns-938-230 bde-columns\"><div class=\"bde-column-938-231 bde-column\">\n  \n  \n\t\n\n\n\n<h3 class=\"bde-heading-938-232 bde-heading\">\nHOW WE WORK\n<\/h3><h2 class=\"bde-heading-938-233 bde-heading\">\nFrom a tiny seed to a full-grown<br>tree\n<\/h2>\n<\/div><\/div>\n<\/div><div class=\"bde-columns-938-456 bde-columns\"><div class=\"bde-column-938-458 bde-column\">\n  \n  \n\t\n\n\n\n<img decoding=\"async\" class=\"bde-image2-938-462 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-seed-2.png\" alt=\"eup-icons-seed-2\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-seed-2.png 173w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-seed-2-150x150.png 150w\" sizes=\"(max-width: 173px) 100vw, 173px\"><div class=\"phox-splitting-text-938-464 phox-splitting-text\">\n\n<h2 class=\"splitting-text\" data-animation=\"fade-up\" data-split-by=\"chars\" data-trigger=\"scroll\" data-stagger=\"50\" data-duration=\"600\" data-delay=\"0\" data-loop=\"false\" data-text=\"Seed\">Seed<\/h2>\n\n<script>\n(function() {\n    function splitText(element, splitBy) {\n        const html = element.innerHTML;\n        const plainText = element.textContent;\n        element.innerHTML = '';\n        element.setAttribute('aria-label', plainText);\n\n        \/\/ Split HTML on <br> variants to get line segments\n        const segments = html.split(\/<br\\s*\\\/?>\/gi);\n\n        if (splitBy === 'chars') {\n            let charIndex = 0;\n            segments.forEach((segment, si) => {\n                \/\/ Create a temp element to extract plain text from this segment\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const wordWrap = document.createElement('span');\n                    wordWrap.className = 'split-word-wrap';\n                    for (let c = 0; c < word.length; c++) {\n                        const span = document.createElement('span');\n                        span.className = 'split-item split-char';\n                        span.textContent = word[c];\n                        span.style.setProperty('--char-index', charIndex);\n                        wordWrap.appendChild(span);\n                        charIndex++;\n                    }\n                    element.appendChild(wordWrap);\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                        charIndex++;\n                    }\n                });\n                \/\/ Insert <br> between segments\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                    charIndex++;\n                }\n            });\n        } else if (splitBy === 'words') {\n            let wordIndex = 0;\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const span = document.createElement('span');\n                    span.className = 'split-item split-word';\n                    span.textContent = word;\n                    span.style.setProperty('--word-index', wordIndex);\n                    element.appendChild(span);\n                    wordIndex++;\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                    }\n                });\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        } else if (splitBy === 'lines') {\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n\n                const span = document.createElement('span');\n                span.className = 'split-item split-line';\n                span.textContent = temp.textContent;\n                element.appendChild(span);\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        }\n\n        return element.querySelectorAll('.split-item');\n    }\n    \n    function animateItems(items, animation, stagger, duration, delay, loop) {\n        \/\/ Remove all old animation classes first\n        const animationClasses = ['animation-fade-up', 'animation-fade-down', 'animation-fade-left', 'animation-fade-right', 'animation-scale', 'animation-rotate', 'animation-blur', 'animation-wave', 'animation-scramble', 'animation-typewriter', 'animate', 'no-animation'];\n        \n        items.forEach((item, i) => {\n            animationClasses.forEach(cls => item.classList.remove(cls));\n            item.style.setProperty('--delay', (delay + (i * stagger)) + 'ms');\n            item.style.setProperty('--duration', duration + 'ms');\n        });\n        \n        \/\/ Add animation class after a frame\n        requestAnimationFrame(() => {\n            items.forEach(item => {\n                item.classList.add('animate', 'animation-' + animation);\n            });\n        });\n        \n        \/\/ Handle loop\n        if (loop) {\n            const totalDuration = delay + (items.length * stagger) + duration + 1000;\n            setInterval(() => {\n                items.forEach(item => {\n                    item.classList.remove('animate');\n                });\n                setTimeout(() => {\n                    items.forEach(item => {\n                        item.classList.add('animate');\n                    });\n                }, 100);\n            }, totalDuration);\n        }\n    }\n    \n    window.initSplittingText = function(element, forcePlay) {\n        if (!element) return;\n        \n        const animation = element.dataset.animation || 'fade-up';\n        const splitBy = element.dataset.splitBy || 'chars';\n        const trigger = element.dataset.trigger || 'scroll';\n        const stagger = parseInt(element.dataset.stagger) || 50;\n        const duration = parseInt(element.dataset.duration) || 600;\n        const delay = parseInt(element.dataset.delay) || 0;\n        const loop = element.dataset.loop === 'true';\n        \/\/ Get text from data attribute (always has current value from Twig)\n        const dataText = element.dataset.text;\n\n        \/\/ Always reset to the text from data attribute (use innerHTML to preserve <br> etc.)\n        if (dataText) {\n            element.innerHTML = dataText;\n        }\n\n        const items = splitText(element, splitBy);\n\n        \/\/ forcePlay is only passed from builder re-init\n        if (forcePlay || trigger === 'load') {\n            setTimeout(() => {\n                animateItems(items, animation, stagger, duration, delay, loop);\n            }, 100);\n        } else if (trigger === 'scroll') {\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        animateItems(items, animation, stagger, duration, delay, loop);\n                        if (!loop) observer.disconnect();\n                    }\n                });\n            }, { threshold: 0.2 });\n            observer.observe(element);\n        } else if (trigger === 'hover') {\n            element.addEventListener('mouseenter', () => {\n                items.forEach(item => item.classList.remove('animate'));\n                requestAnimationFrame(() => {\n                    animateItems(items, animation, stagger, duration, 0, false);\n                });\n            });\n            \/\/ Show initially without animation\n            items.forEach(item => item.classList.add('animate', 'animation-' + animation, 'no-animation'));\n        }\n    };\n    \n    \/\/ Initialize\n    const element = document.currentScript.previousElementSibling;\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', () => window.initSplittingText(element));\n    } else {\n        setTimeout(() => window.initSplittingText(element), 50);\n    }\n})();\n<\/script>\n\n\n<\/div>\n<\/div><div class=\"bde-column-938-465 bde-column\">\n  \n  \n\t\n\n\n\n<img decoding=\"async\" class=\"bde-image2-938-466 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-tree-2.png\" alt=\"eup-icons-tree-2\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-tree-2.png 173w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-tree-2-150x150.png 150w\" sizes=\"(max-width: 173px) 100vw, 173px\"><div class=\"phox-splitting-text-938-467 phox-splitting-text\">\n\n<h2 class=\"splitting-text\" data-animation=\"fade-up\" data-split-by=\"chars\" data-trigger=\"scroll\" data-stagger=\"50\" data-duration=\"600\" data-delay=\"0\" data-loop=\"false\" data-text=\"Grow\">Grow<\/h2>\n\n<script>\n(function() {\n    function splitText(element, splitBy) {\n        const html = element.innerHTML;\n        const plainText = element.textContent;\n        element.innerHTML = '';\n        element.setAttribute('aria-label', plainText);\n\n        \/\/ Split HTML on <br> variants to get line segments\n        const segments = html.split(\/<br\\s*\\\/?>\/gi);\n\n        if (splitBy === 'chars') {\n            let charIndex = 0;\n            segments.forEach((segment, si) => {\n                \/\/ Create a temp element to extract plain text from this segment\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const wordWrap = document.createElement('span');\n                    wordWrap.className = 'split-word-wrap';\n                    for (let c = 0; c < word.length; c++) {\n                        const span = document.createElement('span');\n                        span.className = 'split-item split-char';\n                        span.textContent = word[c];\n                        span.style.setProperty('--char-index', charIndex);\n                        wordWrap.appendChild(span);\n                        charIndex++;\n                    }\n                    element.appendChild(wordWrap);\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                        charIndex++;\n                    }\n                });\n                \/\/ Insert <br> between segments\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                    charIndex++;\n                }\n            });\n        } else if (splitBy === 'words') {\n            let wordIndex = 0;\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const span = document.createElement('span');\n                    span.className = 'split-item split-word';\n                    span.textContent = word;\n                    span.style.setProperty('--word-index', wordIndex);\n                    element.appendChild(span);\n                    wordIndex++;\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                    }\n                });\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        } else if (splitBy === 'lines') {\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n\n                const span = document.createElement('span');\n                span.className = 'split-item split-line';\n                span.textContent = temp.textContent;\n                element.appendChild(span);\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        }\n\n        return element.querySelectorAll('.split-item');\n    }\n    \n    function animateItems(items, animation, stagger, duration, delay, loop) {\n        \/\/ Remove all old animation classes first\n        const animationClasses = ['animation-fade-up', 'animation-fade-down', 'animation-fade-left', 'animation-fade-right', 'animation-scale', 'animation-rotate', 'animation-blur', 'animation-wave', 'animation-scramble', 'animation-typewriter', 'animate', 'no-animation'];\n        \n        items.forEach((item, i) => {\n            animationClasses.forEach(cls => item.classList.remove(cls));\n            item.style.setProperty('--delay', (delay + (i * stagger)) + 'ms');\n            item.style.setProperty('--duration', duration + 'ms');\n        });\n        \n        \/\/ Add animation class after a frame\n        requestAnimationFrame(() => {\n            items.forEach(item => {\n                item.classList.add('animate', 'animation-' + animation);\n            });\n        });\n        \n        \/\/ Handle loop\n        if (loop) {\n            const totalDuration = delay + (items.length * stagger) + duration + 1000;\n            setInterval(() => {\n                items.forEach(item => {\n                    item.classList.remove('animate');\n                });\n                setTimeout(() => {\n                    items.forEach(item => {\n                        item.classList.add('animate');\n                    });\n                }, 100);\n            }, totalDuration);\n        }\n    }\n    \n    window.initSplittingText = function(element, forcePlay) {\n        if (!element) return;\n        \n        const animation = element.dataset.animation || 'fade-up';\n        const splitBy = element.dataset.splitBy || 'chars';\n        const trigger = element.dataset.trigger || 'scroll';\n        const stagger = parseInt(element.dataset.stagger) || 50;\n        const duration = parseInt(element.dataset.duration) || 600;\n        const delay = parseInt(element.dataset.delay) || 0;\n        const loop = element.dataset.loop === 'true';\n        \/\/ Get text from data attribute (always has current value from Twig)\n        const dataText = element.dataset.text;\n\n        \/\/ Always reset to the text from data attribute (use innerHTML to preserve <br> etc.)\n        if (dataText) {\n            element.innerHTML = dataText;\n        }\n\n        const items = splitText(element, splitBy);\n\n        \/\/ forcePlay is only passed from builder re-init\n        if (forcePlay || trigger === 'load') {\n            setTimeout(() => {\n                animateItems(items, animation, stagger, duration, delay, loop);\n            }, 100);\n        } else if (trigger === 'scroll') {\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        animateItems(items, animation, stagger, duration, delay, loop);\n                        if (!loop) observer.disconnect();\n                    }\n                });\n            }, { threshold: 0.2 });\n            observer.observe(element);\n        } else if (trigger === 'hover') {\n            element.addEventListener('mouseenter', () => {\n                items.forEach(item => item.classList.remove('animate'));\n                requestAnimationFrame(() => {\n                    animateItems(items, animation, stagger, duration, 0, false);\n                });\n            });\n            \/\/ Show initially without animation\n            items.forEach(item => item.classList.add('animate', 'animation-' + animation, 'no-animation'));\n        }\n    };\n    \n    \/\/ Initialize\n    const element = document.currentScript.previousElementSibling;\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', () => window.initSplittingText(element));\n    } else {\n        setTimeout(() => window.initSplittingText(element), 50);\n    }\n})();\n<\/script>\n\n\n<\/div>\n<\/div><div class=\"bde-column-938-468 bde-column\">\n  \n  \n\t\n\n\n\n<img decoding=\"async\" class=\"bde-image2-938-469 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-harvest-1.png\" alt=\"eup-icons-harvest-1\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-harvest-1.png 173w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-harvest-1-150x150.png 150w\" sizes=\"(max-width: 173px) 100vw, 173px\"><div class=\"phox-splitting-text-938-470 phox-splitting-text\">\n\n<h2 class=\"splitting-text\" data-animation=\"fade-up\" data-split-by=\"chars\" data-trigger=\"scroll\" data-stagger=\"50\" data-duration=\"600\" data-delay=\"0\" data-loop=\"false\" data-text=\"Harvest\">Harvest<\/h2>\n\n<script>\n(function() {\n    function splitText(element, splitBy) {\n        const html = element.innerHTML;\n        const plainText = element.textContent;\n        element.innerHTML = '';\n        element.setAttribute('aria-label', plainText);\n\n        \/\/ Split HTML on <br> variants to get line segments\n        const segments = html.split(\/<br\\s*\\\/?>\/gi);\n\n        if (splitBy === 'chars') {\n            let charIndex = 0;\n            segments.forEach((segment, si) => {\n                \/\/ Create a temp element to extract plain text from this segment\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const wordWrap = document.createElement('span');\n                    wordWrap.className = 'split-word-wrap';\n                    for (let c = 0; c < word.length; c++) {\n                        const span = document.createElement('span');\n                        span.className = 'split-item split-char';\n                        span.textContent = word[c];\n                        span.style.setProperty('--char-index', charIndex);\n                        wordWrap.appendChild(span);\n                        charIndex++;\n                    }\n                    element.appendChild(wordWrap);\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                        charIndex++;\n                    }\n                });\n                \/\/ Insert <br> between segments\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                    charIndex++;\n                }\n            });\n        } else if (splitBy === 'words') {\n            let wordIndex = 0;\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const span = document.createElement('span');\n                    span.className = 'split-item split-word';\n                    span.textContent = word;\n                    span.style.setProperty('--word-index', wordIndex);\n                    element.appendChild(span);\n                    wordIndex++;\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                    }\n                });\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        } else if (splitBy === 'lines') {\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n\n                const span = document.createElement('span');\n                span.className = 'split-item split-line';\n                span.textContent = temp.textContent;\n                element.appendChild(span);\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        }\n\n        return element.querySelectorAll('.split-item');\n    }\n    \n    function animateItems(items, animation, stagger, duration, delay, loop) {\n        \/\/ Remove all old animation classes first\n        const animationClasses = ['animation-fade-up', 'animation-fade-down', 'animation-fade-left', 'animation-fade-right', 'animation-scale', 'animation-rotate', 'animation-blur', 'animation-wave', 'animation-scramble', 'animation-typewriter', 'animate', 'no-animation'];\n        \n        items.forEach((item, i) => {\n            animationClasses.forEach(cls => item.classList.remove(cls));\n            item.style.setProperty('--delay', (delay + (i * stagger)) + 'ms');\n            item.style.setProperty('--duration', duration + 'ms');\n        });\n        \n        \/\/ Add animation class after a frame\n        requestAnimationFrame(() => {\n            items.forEach(item => {\n                item.classList.add('animate', 'animation-' + animation);\n            });\n        });\n        \n        \/\/ Handle loop\n        if (loop) {\n            const totalDuration = delay + (items.length * stagger) + duration + 1000;\n            setInterval(() => {\n                items.forEach(item => {\n                    item.classList.remove('animate');\n                });\n                setTimeout(() => {\n                    items.forEach(item => {\n                        item.classList.add('animate');\n                    });\n                }, 100);\n            }, totalDuration);\n        }\n    }\n    \n    window.initSplittingText = function(element, forcePlay) {\n        if (!element) return;\n        \n        const animation = element.dataset.animation || 'fade-up';\n        const splitBy = element.dataset.splitBy || 'chars';\n        const trigger = element.dataset.trigger || 'scroll';\n        const stagger = parseInt(element.dataset.stagger) || 50;\n        const duration = parseInt(element.dataset.duration) || 600;\n        const delay = parseInt(element.dataset.delay) || 0;\n        const loop = element.dataset.loop === 'true';\n        \/\/ Get text from data attribute (always has current value from Twig)\n        const dataText = element.dataset.text;\n\n        \/\/ Always reset to the text from data attribute (use innerHTML to preserve <br> etc.)\n        if (dataText) {\n            element.innerHTML = dataText;\n        }\n\n        const items = splitText(element, splitBy);\n\n        \/\/ forcePlay is only passed from builder re-init\n        if (forcePlay || trigger === 'load') {\n            setTimeout(() => {\n                animateItems(items, animation, stagger, duration, delay, loop);\n            }, 100);\n        } else if (trigger === 'scroll') {\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        animateItems(items, animation, stagger, duration, delay, loop);\n                        if (!loop) observer.disconnect();\n                    }\n                });\n            }, { threshold: 0.2 });\n            observer.observe(element);\n        } else if (trigger === 'hover') {\n            element.addEventListener('mouseenter', () => {\n                items.forEach(item => item.classList.remove('animate'));\n                requestAnimationFrame(() => {\n                    animateItems(items, animation, stagger, duration, 0, false);\n                });\n            });\n            \/\/ Show initially without animation\n            items.forEach(item => item.classList.add('animate', 'animation-' + animation, 'no-animation'));\n        }\n    };\n    \n    \/\/ Initialize\n    const element = document.currentScript.previousElementSibling;\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', () => window.initSplittingText(element));\n    } else {\n        setTimeout(() => window.initSplittingText(element), 50);\n    }\n})();\n<\/script>\n\n\n<\/div>\n<\/div><div class=\"bde-column-938-471 bde-column\">\n  \n  \n\t\n\n\n\n<img decoding=\"async\" class=\"bde-image2-938-472 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-use-2.png\" alt=\"eup-icons-use-2\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-use-2.png 173w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/eup-icons-use-2-150x150.png 150w\" sizes=\"(max-width: 173px) 100vw, 173px\"><div class=\"phox-splitting-text-938-473 phox-splitting-text\">\n\n<h2 class=\"splitting-text\" data-animation=\"fade-up\" data-split-by=\"chars\" data-trigger=\"scroll\" data-stagger=\"50\" data-duration=\"600\" data-delay=\"0\" data-loop=\"false\" data-text=\"Use\">Use<\/h2>\n\n<script>\n(function() {\n    function splitText(element, splitBy) {\n        const html = element.innerHTML;\n        const plainText = element.textContent;\n        element.innerHTML = '';\n        element.setAttribute('aria-label', plainText);\n\n        \/\/ Split HTML on <br> variants to get line segments\n        const segments = html.split(\/<br\\s*\\\/?>\/gi);\n\n        if (splitBy === 'chars') {\n            let charIndex = 0;\n            segments.forEach((segment, si) => {\n                \/\/ Create a temp element to extract plain text from this segment\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const wordWrap = document.createElement('span');\n                    wordWrap.className = 'split-word-wrap';\n                    for (let c = 0; c < word.length; c++) {\n                        const span = document.createElement('span');\n                        span.className = 'split-item split-char';\n                        span.textContent = word[c];\n                        span.style.setProperty('--char-index', charIndex);\n                        wordWrap.appendChild(span);\n                        charIndex++;\n                    }\n                    element.appendChild(wordWrap);\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                        charIndex++;\n                    }\n                });\n                \/\/ Insert <br> between segments\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                    charIndex++;\n                }\n            });\n        } else if (splitBy === 'words') {\n            let wordIndex = 0;\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n                const segText = temp.textContent;\n\n                const words = segText.split(' ').filter(w => w.length > 0);\n                words.forEach((word, wi) => {\n                    const span = document.createElement('span');\n                    span.className = 'split-item split-word';\n                    span.textContent = word;\n                    span.style.setProperty('--word-index', wordIndex);\n                    element.appendChild(span);\n                    wordIndex++;\n                    if (wi < words.length - 1) {\n                        element.appendChild(document.createTextNode(' '));\n                    }\n                });\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        } else if (splitBy === 'lines') {\n            segments.forEach((segment, si) => {\n                const temp = document.createElement('span');\n                temp.innerHTML = segment;\n\n                const span = document.createElement('span');\n                span.className = 'split-item split-line';\n                span.textContent = temp.textContent;\n                element.appendChild(span);\n                if (si < segments.length - 1) {\n                    element.appendChild(document.createElement('br'));\n                }\n            });\n        }\n\n        return element.querySelectorAll('.split-item');\n    }\n    \n    function animateItems(items, animation, stagger, duration, delay, loop) {\n        \/\/ Remove all old animation classes first\n        const animationClasses = ['animation-fade-up', 'animation-fade-down', 'animation-fade-left', 'animation-fade-right', 'animation-scale', 'animation-rotate', 'animation-blur', 'animation-wave', 'animation-scramble', 'animation-typewriter', 'animate', 'no-animation'];\n        \n        items.forEach((item, i) => {\n            animationClasses.forEach(cls => item.classList.remove(cls));\n            item.style.setProperty('--delay', (delay + (i * stagger)) + 'ms');\n            item.style.setProperty('--duration', duration + 'ms');\n        });\n        \n        \/\/ Add animation class after a frame\n        requestAnimationFrame(() => {\n            items.forEach(item => {\n                item.classList.add('animate', 'animation-' + animation);\n            });\n        });\n        \n        \/\/ Handle loop\n        if (loop) {\n            const totalDuration = delay + (items.length * stagger) + duration + 1000;\n            setInterval(() => {\n                items.forEach(item => {\n                    item.classList.remove('animate');\n                });\n                setTimeout(() => {\n                    items.forEach(item => {\n                        item.classList.add('animate');\n                    });\n                }, 100);\n            }, totalDuration);\n        }\n    }\n    \n    window.initSplittingText = function(element, forcePlay) {\n        if (!element) return;\n        \n        const animation = element.dataset.animation || 'fade-up';\n        const splitBy = element.dataset.splitBy || 'chars';\n        const trigger = element.dataset.trigger || 'scroll';\n        const stagger = parseInt(element.dataset.stagger) || 50;\n        const duration = parseInt(element.dataset.duration) || 600;\n        const delay = parseInt(element.dataset.delay) || 0;\n        const loop = element.dataset.loop === 'true';\n        \/\/ Get text from data attribute (always has current value from Twig)\n        const dataText = element.dataset.text;\n\n        \/\/ Always reset to the text from data attribute (use innerHTML to preserve <br> etc.)\n        if (dataText) {\n            element.innerHTML = dataText;\n        }\n\n        const items = splitText(element, splitBy);\n\n        \/\/ forcePlay is only passed from builder re-init\n        if (forcePlay || trigger === 'load') {\n            setTimeout(() => {\n                animateItems(items, animation, stagger, duration, delay, loop);\n            }, 100);\n        } else if (trigger === 'scroll') {\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        animateItems(items, animation, stagger, duration, delay, loop);\n                        if (!loop) observer.disconnect();\n                    }\n                });\n            }, { threshold: 0.2 });\n            observer.observe(element);\n        } else if (trigger === 'hover') {\n            element.addEventListener('mouseenter', () => {\n                items.forEach(item => item.classList.remove('animate'));\n                requestAnimationFrame(() => {\n                    animateItems(items, animation, stagger, duration, 0, false);\n                });\n            });\n            \/\/ Show initially without animation\n            items.forEach(item => item.classList.add('animate', 'animation-' + animation, 'no-animation'));\n        }\n    };\n    \n    \/\/ Initialize\n    const element = document.currentScript.previousElementSibling;\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', () => window.initSplittingText(element));\n    } else {\n        setTimeout(() => window.initSplittingText(element), 50);\n    }\n})();\n<\/script>\n\n\n<\/div>\n<\/div><\/div><\/div>\n<\/section><section class=\"bde-section-938-306 bde-section\">\n              \n  \n  \n\t\n\n  <div class=\"section-background-overlay\"><\/div>\n\n\n<div class=\"section-container\"><div class=\"bde-div-938-307 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-columns-938-308 bde-columns\"><div class=\"bde-column-938-489 bde-column\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-490 bde-heading\">\nEucalyptus <br>Biomass\n<\/h2><img decoding=\"async\" class=\"bde-image2-938-496 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-biomass1.webp\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-biomass1.webp 800w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-biomass1-300x241.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-biomass1-768x616.webp 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-biomass1-600x482.webp 600w\" sizes=\"(max-width: 800px) 100vw, 800px\"><div class=\"bde-button-938-491 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/product\/eucalyptus-biomass\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Shop Now<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div><div class=\"bde-column-938-504 bde-column\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-505 bde-heading\">\nEucalyptus <br>Wood\n<\/h2><img decoding=\"async\" class=\"bde-image2-938-506 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-wood.webp\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-wood.webp 1024w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-wood-300x225.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-wood-768x576.webp 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/03\/Eucalyptus-wood-600x450.webp 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><div class=\"bde-button-938-507 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/product\/eucalyptus-wood\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Shop Now<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div><div class=\"bde-column-938-508 bde-column\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-509 bde-heading\">\nEucalyptus <br>Leaves\n<\/h2><img decoding=\"async\" class=\"bde-image2-938-510 bde-image2\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/04\/tea-leaves.webp\" loading=\"lazy\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/04\/tea-leaves.webp 1024w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/04\/tea-leaves-300x225.webp 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/04\/tea-leaves-768x576.webp 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/04\/tea-leaves-600x450.webp 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><div class=\"bde-button-938-511 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/product\/eucalyptus-leaves\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Shop Now<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n<\/section><section class=\"bde-section-938-350 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-columns-938-302 bde-columns\"><div class=\"bde-column-938-303 bde-column\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-318 bde-heading\">\nGreenery <br>Decorations\n<\/h2><div class=\"bde-button-938-319 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/product\/bouquets-greenery-decorations\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Shop Now<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div><div class=\"bde-image-938-320 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1110\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2024\/01\/greenery_decorations-removebg-preview.png\" width=\"612\" height=\"408\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2024\/01\/greenery_decorations-removebg-preview.png 612w, https:\/\/euplanting.com\/wp-content\/uploads\/2024\/01\/greenery_decorations-removebg-preview-300x200.png 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2024\/01\/greenery_decorations-removebg-preview-600x400.png 600w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" alt=\"Bouquets\"><\/div>\n\t<\/div><\/figure>\n\n<\/div>\n<\/div><div class=\"bde-column-938-321 bde-column\">\n  \n  \n\t\n\n\n\n<h2 class=\"bde-heading-938-323 bde-heading\">\nEucalyptus <br>Essential Oil\n<\/h2><div class=\"bde-button-938-324 bde-button\">\n        \n    \n    \n    \n    \n            \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link button-atom button-atom--custom bde-button__button\" href=\"\/en\/product\/eucalyptus-essential-oil\/\" target=\"_self\" data-type=\"url\"  >\n\n    \n        <span class=\"button-atom__text\">Shop Now<\/span>\n\n        \n        \n                <\/a>\n\n    \n\n\n<\/div><div class=\"bde-image-938-325 bde-image\">\n<figure class=\"breakdance-image breakdance-image--1100\">\n\t<div class=\"breakdance-image-container\">\n\t\t<div class=\"breakdance-image-clip\"><img loading=\"lazy\" decoding=\"async\" class=\"breakdance-image-object\" src=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1.jpg\" width=\"1000\" height=\"667\" srcset=\"https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1.jpg 1000w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-300x200.jpg 300w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-768x512.jpg 768w, https:\/\/euplanting.com\/wp-content\/uploads\/2026\/02\/IMG_0581_1-600x400.jpg 600w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\"><\/div>\n\t<\/div><\/figure>\n\n<\/div>\n<\/div><\/div><\/div>\n<\/section>",
        "protected": false
    },
    "excerpt": {
        "rendered": "",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "parent": 0,
    "menu_order": 0,
    "comment_status": "closed",
    "ping_status": "closed",
    "template": "",
    "meta": {
        "_breakdance_hide_in_design_set": false,
        "_breakdance_tags": "",
        "footnotes": ""
    },
    "class_list": [
        "post-938",
        "page",
        "type-page",
        "status-publish",
        "hentry"
    ],
    "_links": {
        "self": [
            {
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/pages\/938",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/pages"
            }
        ],
        "about": [
            {
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/types\/page"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/comments?post=938"
            }
        ],
        "version-history": [
            {
                "count": 2,
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/pages\/938\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 1708,
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/pages\/938\/revisions\/1708"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/euplanting.com\/en\/wp-json\/wp\/v2\/media?parent=938"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}