{"product_id":"pastel-pulse™-tiered-bamboo-organiser","title":"Pastel Pulse™ Tiered Bamboo Organiser","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\n\u003ctitle\u003ePastel Pulse™ Step Shelf\u003c\/title\u003e\n\n\u003cstyle\u003e\n\/* =========================================================\n   PASTEL PULSE™ STEP SHELF\n   PREMIUM ANIMATED PRODUCT SECTION\n   ========================================================= *\/\n\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700\u0026family=Playfair+Display:wght@500;600\u0026display=swap');\n\n:root {\n    --pp-bg: #f8f6f1;\n    --pp-white: #ffffff;\n    --pp-dark: #20211f;\n    --pp-muted: #747570;\n    --pp-sage: #879c8b;\n    --pp-sage-dark: #657a69;\n    --pp-sage-light: #e5ece5;\n    --pp-beige: #eee9df;\n    --pp-border: rgba(32,33,31,0.09);\n    --pp-shadow: 0 25px 70px rgba(35, 38, 34, 0.09);\n}\n\n\/* RESET *\/\n\n.pp-step-shelf *,\n.pp-step-shelf *::before,\n.pp-step-shelf *::after {\n    box-sizing: border-box;\n}\n\n.pp-step-shelf {\n    width: 100%;\n    overflow: hidden;\n    background: var(--pp-bg);\n    color: var(--pp-dark);\n    font-family: 'DM Sans', sans-serif;\n    position: relative;\n}\n\n.pp-step-shelf button {\n    font-family: inherit;\n}\n\n\/* =========================================================\n   BACKGROUND\n   ========================================================= *\/\n\n.pp-step-shelf::before {\n    content: \"\";\n    position: absolute;\n    width: 450px;\n    height: 450px;\n    border-radius: 50%;\n    background: rgba(135,156,139,0.13);\n    filter: blur(80px);\n    top: -180px;\n    left: -150px;\n    pointer-events: none;\n    animation: ppFloat 9s ease-in-out infinite;\n}\n\n.pp-step-shelf::after {\n    content: \"\";\n    position: absolute;\n    width: 400px;\n    height: 400px;\n    border-radius: 50%;\n    background: rgba(238,233,223,0.8);\n    filter: blur(80px);\n    bottom: -200px;\n    right: -150px;\n    pointer-events: none;\n    animation: ppFloat 11s ease-in-out infinite reverse;\n}\n\n\/* =========================================================\n   MAIN CONTAINER\n   ========================================================= *\/\n\n.pp-container {\n    width: min(1180px, calc(100% - 40px));\n    margin: 0 auto;\n    position: relative;\n    z-index: 2;\n}\n\n\/* =========================================================\n   HERO\n   ========================================================= *\/\n\n.pp-hero {\n    padding: 100px 0 80px;\n    text-align: center;\n}\n\n.pp-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 9px;\n    padding: 9px 16px;\n    border: 1px solid var(--pp-border);\n    background: rgba(255,255,255,0.65);\n    backdrop-filter: blur(12px);\n    border-radius: 100px;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    color: var(--pp-sage-dark);\n    animation: ppFadeUp .8s ease both;\n}\n\n.pp-eyebrow-dot {\n    width: 7px;\n    height: 7px;\n    background: var(--pp-sage);\n    border-radius: 50%;\n    animation: ppPulse 2s infinite;\n}\n\n.pp-hero h1 {\n    margin: 25px auto 20px;\n    max-width: 850px;\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(42px, 7vw, 76px);\n    line-height: 1.03;\n    font-weight: 500;\n    letter-spacing: -2.5px;\n    animation: ppFadeUp .8s .12s ease both;\n}\n\n.pp-hero h1 span {\n    color: var(--pp-sage-dark);\n    font-style: italic;\n}\n\n.pp-hero-subtitle {\n    max-width: 650px;\n    margin: 0 auto;\n    font-size: 17px;\n    line-height: 1.8;\n    color: var(--pp-muted);\n    animation: ppFadeUp .8s .24s ease both;\n}\n\n\/* =========================================================\n   PREMIUM PRODUCT VISUAL — CSS ONLY\n   ========================================================= *\/\n\n.pp-shelf-showcase {\n    margin: 55px auto 0;\n    width: min(720px, 100%);\n    height: 270px;\n    position: relative;\n    animation: ppFadeUp 1s .35s ease both;\n}\n\n.pp-shelf-shadow {\n    position: absolute;\n    width: 70%;\n    height: 25px;\n    background: rgba(32,33,31,0.14);\n    filter: blur(18px);\n    bottom: 25px;\n    left: 15%;\n    border-radius: 50%;\n}\n\n.pp-shelf {\n    position: absolute;\n    background: linear-gradient(135deg, #d8c8ae, #eee3cf);\n    border: 1px solid rgba(100,90,70,.15);\n    box-shadow:\n        0 15px 35px rgba(60,50,35,.13),\n        inset 0 1px rgba(255,255,255,.8);\n    border-radius: 9px;\n}\n\n.pp-shelf-top {\n    width: 78%;\n    height: 40px;\n    left: 11%;\n    bottom: 80px;\n    transform: perspective(400px) rotateX(3deg);\n}\n\n.pp-shelf-step {\n    width: 52%;\n    height: 38px;\n    left: 24%;\n    bottom: 120px;\n    transform: perspective(400px) rotateX(3deg);\n}\n\n.pp-shelf-leg {\n    width: 12px;\n    height: 105px;\n    background: linear-gradient(90deg,#c6b597,#e6d8c0);\n    border-radius: 5px;\n    bottom: 35px;\n}\n\n.pp-leg-left {\n    left: 20%;\n}\n\n.pp-leg-right {\n    right: 20%;\n}\n\n.pp-shelf-detail {\n    position: absolute;\n    width: 30%;\n    height: 8px;\n    background: rgba(255,255,255,.38);\n    border-radius: 10px;\n    bottom: 100px;\n    left: 35%;\n}\n\n\/* =========================================================\n   HOOK\n   ========================================================= *\/\n\n.pp-hook {\n    padding: 100px 0;\n    text-align: center;\n}\n\n.pp-hook-card {\n    max-width: 850px;\n    margin: auto;\n    padding: 55px 45px;\n    background: rgba(255,255,255,.65);\n    border: 1px solid var(--pp-border);\n    border-radius: 30px;\n    backdrop-filter: blur(18px);\n    box-shadow: var(--pp-shadow);\n    position: relative;\n    overflow: hidden;\n    transition: transform .5s ease, box-shadow .5s ease;\n}\n\n.pp-hook-card:hover {\n    transform: translateY(-8px);\n    box-shadow: 0 35px 90px rgba(35,38,34,.13);\n}\n\n.pp-hook-card::before {\n    content: \"“\";\n    position: absolute;\n    top: -30px;\n    left: 25px;\n    font-family: 'Playfair Display', serif;\n    font-size: 180px;\n    color: var(--pp-sage-light);\n    line-height: 1;\n}\n\n.pp-hook p {\n    position: relative;\n    z-index: 2;\n    margin: 0;\n    font-family: 'Playfair Display', serif;\n    font-style: italic;\n    font-size: clamp(26px, 4vw, 43px);\n    line-height: 1.25;\n}\n\n\/* =========================================================\n   STORY SECTION\n   ========================================================= *\/\n\n.pp-story {\n    padding: 70px 0;\n}\n\n.pp-story-inner {\n    max-width: 780px;\n    margin: auto;\n    text-align: center;\n}\n\n.pp-section-label {\n    color: var(--pp-sage-dark);\n    text-transform: uppercase;\n    letter-spacing: 2px;\n    font-size: 11px;\n    font-weight: 700;\n    margin-bottom: 15px;\n}\n\n.pp-story h2 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(35px, 5vw, 55px);\n    line-height: 1.1;\n    margin: 0 0 25px;\n    font-weight: 500;\n}\n\n.pp-story p {\n    color: var(--pp-muted);\n    line-height: 1.9;\n    font-size: 16px;\n}\n\n\/* =========================================================\n   OUTCOMES\n   ========================================================= *\/\n\n.pp-outcomes {\n    padding: 90px 0;\n}\n\n.pp-outcomes-header {\n    text-align: center;\n    margin-bottom: 50px;\n}\n\n.pp-outcomes-header h2 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(35px,5vw,52px);\n    margin: 0;\n    font-weight: 500;\n}\n\n.pp-benefits {\n    display: grid;\n    grid-template-columns: repeat(5, 1fr);\n    gap: 15px;\n}\n\n.pp-benefit {\n    padding: 30px 23px;\n    min-height: 230px;\n    background: rgba(255,255,255,.72);\n    border: 1px solid var(--pp-border);\n    border-radius: 22px;\n    transition:\n        transform .4s ease,\n        box-shadow .4s ease,\n        background .4s ease;\n    opacity: 0;\n    transform: translateY(35px);\n}\n\n.pp-benefit.pp-visible {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n.pp-benefit:hover {\n    transform: translateY(-10px) !important;\n    background: #fff;\n    box-shadow: 0 25px 55px rgba(35,38,34,.10);\n}\n\n.pp-benefit-number {\n    font-size: 12px;\n    font-weight: 700;\n    color: var(--pp-sage-dark);\n    margin-bottom: 25px;\n}\n\n.pp-benefit h3 {\n    font-size: 17px;\n    margin: 0 0 12px;\n}\n\n.pp-benefit p {\n    font-size: 13px;\n    line-height: 1.7;\n    color: var(--pp-muted);\n    margin: 0;\n}\n\n\/* =========================================================\n   BAMBOO SECTION\n   ========================================================= *\/\n\n.pp-material {\n    padding: 90px 0;\n}\n\n.pp-material-card {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 60px;\n    align-items: center;\n    padding: 65px;\n    background: var(--pp-sage-light);\n    border-radius: 35px;\n    overflow: hidden;\n    position: relative;\n}\n\n.pp-material-card::after {\n    content: \"\";\n    position: absolute;\n    width: 300px;\n    height: 300px;\n    background: rgba(255,255,255,.35);\n    border-radius: 50%;\n    right: -100px;\n    top: -100px;\n}\n\n.pp-material h2 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(35px,5vw,54px);\n    font-weight: 500;\n    line-height: 1.1;\n    margin: 0 0 20px;\n}\n\n.pp-material p {\n    color: #5f685f;\n    line-height: 1.8;\n    margin-bottom: 25px;\n}\n\n.pp-material-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n}\n\n.pp-material-list li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    padding: 9px 0;\n    font-size: 14px;\n}\n\n.pp-check {\n    width: 23px;\n    height: 23px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 50%;\n    background: rgba(255,255,255,.8);\n    color: var(--pp-sage-dark);\n    font-size: 12px;\n    font-weight: 700;\n}\n\n.pp-material-visual {\n    min-height: 310px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n}\n\n.pp-bamboo-circle {\n    width: 240px;\n    height: 240px;\n    border-radius: 50%;\n    background:\n        repeating-linear-gradient(\n            90deg,\n            #d7c5a7 0px,\n            #e6d7bc 4px,\n            #d2bd9c 8px\n        );\n    box-shadow:\n        0 35px 70px rgba(80,65,40,.15),\n        inset 0 0 30px rgba(100,80,50,.08);\n    animation: ppRotate 15s linear infinite;\n}\n\n\/* =========================================================\n   WHERE IT WORKS\n   ========================================================= *\/\n\n.pp-places {\n    padding: 90px 0;\n    text-align: center;\n}\n\n.pp-places h2 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(35px,5vw,52px);\n    font-weight: 500;\n    margin: 0 0 45px;\n}\n\n.pp-place-grid {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 12px;\n}\n\n.pp-place {\n    padding: 15px 22px;\n    border-radius: 100px;\n    background: #fff;\n    border: 1px solid var(--pp-border);\n    font-size: 13px;\n    color: var(--pp-dark);\n    transition: all .3s ease;\n}\n\n.pp-place:hover {\n    background: var(--pp-dark);\n    color: white;\n    transform: translateY(-4px);\n}\n\n\/* =========================================================\n   CLOSING CTA\n   ========================================================= *\/\n\n.pp-final {\n    padding: 90px 0 120px;\n    text-align: center;\n}\n\n.pp-final-card {\n    position: relative;\n    padding: 75px 30px;\n    border-radius: 35px;\n    background: var(--pp-dark);\n    color: white;\n    overflow: hidden;\n}\n\n.pp-final-card::before,\n.pp-final-card::after {\n    content: \"\";\n    position: absolute;\n    width: 250px;\n    height: 250px;\n    border-radius: 50%;\n    background: rgba(135,156,139,.22);\n    filter: blur(50px);\n}\n\n.pp-final-card::before {\n    left: -100px;\n    top: -100px;\n}\n\n.pp-final-card::after {\n    right: -100px;\n    bottom: -100px;\n}\n\n.pp-final-content {\n    position: relative;\n    z-index: 2;\n}\n\n.pp-final h2 {\n    font-family: 'Playfair Display', serif;\n    font-size: clamp(35px,6vw,60px);\n    line-height: 1.15;\n    font-weight: 500;\n    margin: 0 auto 25px;\n    max-width: 700px;\n}\n\n.pp-final h2 span {\n    color: #b7c8b8;\n    font-style: italic;\n}\n\n.pp-final p {\n    color: rgba(255,255,255,.65);\n    margin: 0;\n    font-size: 15px;\n}\n\n\/* =========================================================\n   ANIMATIONS\n   ========================================================= *\/\n\n@keyframes ppFadeUp {\n    from {\n        opacity: 0;\n        transform: translateY(30px);\n    }\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n@keyframes ppFloat {\n    0%,100% {\n        transform: translate(0,0);\n    }\n    50% {\n        transform: translate(30px,25px);\n    }\n}\n\n@keyframes ppPulse {\n    0%,100% {\n        transform: scale(1);\n        opacity: 1;\n    }\n    50% {\n        transform: scale(1.6);\n        opacity: .5;\n    }\n}\n\n@keyframes ppRotate {\n    from {\n        transform: rotate(0deg);\n    }\n    to {\n        transform: rotate(360deg);\n    }\n}\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media (max-width: 1000px) {\n\n    .pp-benefits {\n        grid-template-columns: repeat(2, 1fr);\n    }\n\n    .pp-benefit:last-child {\n        grid-column: span 2;\n    }\n\n    .pp-material-card {\n        grid-template-columns: 1fr;\n        text-align: center;\n        padding: 50px 35px;\n    }\n\n    .pp-material-list {\n        display: inline-block;\n        text-align: left;\n    }\n}\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 650px) {\n\n    .pp-container {\n        width: min(100% - 28px, 1180px);\n    }\n\n    .pp-hero {\n        padding: 65px 0 50px;\n    }\n\n    .pp-hero h1 {\n        font-size: 43px;\n        letter-spacing: -1.5px;\n        margin-top: 20px;\n    }\n\n    .pp-hero-subtitle {\n        font-size: 15px;\n        line-height: 1.7;\n    }\n\n    .pp-shelf-showcase {\n        height: 210px;\n        margin-top: 35px;\n    }\n\n    .pp-hook {\n        padding: 55px 0;\n    }\n\n    .pp-hook-card {\n        padding: 45px 25px;\n        border-radius: 24px;\n    }\n\n    .pp-hook p {\n        font-size: 27px;\n    }\n\n    .pp-story {\n        padding: 55px 0;\n    }\n\n    .pp-story h2 {\n        font-size: 36px;\n    }\n\n    .pp-outcomes {\n        padding: 60px 0;\n    }\n\n    .pp-outcomes-header {\n        margin-bottom: 30px;\n    }\n\n    .pp-benefits {\n        grid-template-columns: 1fr;\n        gap: 12px;\n    }\n\n    .pp-benefit {\n        min-height: auto;\n        padding: 25px;\n    }\n\n    .pp-benefit:last-child {\n        grid-column: auto;\n    }\n\n    .pp-material {\n        padding: 55px 0;\n    }\n\n    .pp-material-card {\n        padding: 40px 25px;\n        border-radius: 25px;\n        gap: 30px;\n    }\n\n    .pp-material h2 {\n        font-size: 38px;\n    }\n\n    .pp-material-visual {\n        min-height: 220px;\n    }\n\n    .pp-bamboo-circle {\n        width: 180px;\n        height: 180px;\n    }\n\n    .pp-places {\n        padding: 60px 0;\n    }\n\n    .pp-places h2 {\n        font-size: 38px;\n    }\n\n    .pp-place-grid {\n        gap: 8px;\n    }\n\n    .pp-place {\n        padding: 12px 15px;\n        font-size: 12px;\n    }\n\n    .pp-final {\n        padding: 60px 0 80px;\n    }\n\n    .pp-final-card {\n        padding: 60px 22px;\n        border-radius: 25px;\n    }\n\n    .pp-final h2 {\n        font-size: 39px;\n    }\n}\n\n\/* =========================================================\n   REDUCED MOTION ACCESSIBILITY\n   ========================================================= *\/\n\n@media (prefers-reduced-motion: reduce) {\n    *,\n    *::before,\n    *::after {\n        animation-duration: .01ms !important;\n        animation-iteration-count: 1 !important;\n        scroll-behavior: auto !important;\n        transition-duration: .01ms !important;\n    }\n}\n\u003c\/style\u003e\n\n\n\n\n\u003csection class=\"pp-step-shelf\"\u003e\n\n\u003cdiv class=\"pp-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cdiv class=\"pp-hero\"\u003e\n\n        \u003cdiv class=\"pp-eyebrow\"\u003e\n            \u003cspan class=\"pp-eyebrow-dot\"\u003e\u003c\/span\u003e\n            Pastel Pulse™\n        \u003c\/div\u003e\n\n        \u003ch1\u003e\n            Make Your Kitchen\n            \u003cspan\u003eWork Smarter.\u003c\/span\u003e\n        \u003c\/h1\u003e\n\n        \u003cp class=\"pp-hero-subtitle\"\u003e\n            A beautifully simple way to create more space, find everything faster,\n            and turn cluttered cupboards into organised, effortless storage.\n        \u003c\/p\u003e\n\n        \u003c!-- CSS-ONLY PRODUCT VISUAL --\u003e\n        \u003cdiv class=\"pp-shelf-showcase\"\u003e\n\n            \u003cdiv class=\"pp-shelf-shadow\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"pp-shelf pp-shelf-leg pp-leg-left\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"pp-shelf pp-shelf-leg pp-leg-right\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"pp-shelf pp-shelf-step\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"pp-shelf pp-shelf-top\"\u003e\n                \u003cdiv class=\"pp-shelf-detail\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- HOOK --\u003e\n    \u003cdiv class=\"pp-hook\"\u003e\n\n        \u003cdiv class=\"pp-hook-card\"\u003e\n\n            \u003cp\u003e\n                The moment you use it,\n                \u003cbr\u003e\n                you'll wonder how you\n                \u003cspan style=\"color:#657a69;\"\u003emanaged without it.\u003c\/span\u003e\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- STORY --\u003e\n    \u003cdiv class=\"pp-story\"\u003e\n\n        \u003cdiv class=\"pp-story-inner\"\u003e\n\n            \u003cdiv class=\"pp-section-label\"\u003e\n                A better way to organise\n            \u003c\/div\u003e\n\n            \u003ch2\u003e\n                Your cupboards should\n                \u003cem\u003ework for you.\u003c\/em\u003e\n            \u003c\/h2\u003e\n\n            \u003cp\u003e\n                You open the cupboard. Everything's where you left it.\n                No knocking things over. No mystery jars hidden at the back.\n                No frustration before you've even started cooking.\n            \u003c\/p\u003e\n\n            \u003cp\u003e\n                That's what the \u003cstrong\u003ePastel Pulse™ Step Shelf\u003c\/strong\u003e gives you —\n                a kitchen that works \u003cem\u003efor\u003c\/em\u003e you.\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- OUTCOMES --\u003e\n    \u003cdiv class=\"pp-outcomes\"\u003e\n\n        \u003cdiv class=\"pp-outcomes-header\"\u003e\n\n            \u003cdiv class=\"pp-section-label\"\u003e\n                The difference you'll feel\n            \u003c\/div\u003e\n\n            \u003ch2\u003e\n                Small changes.\n                \u003cbr\u003e\n                \u003cem\u003eBetter everyday.\u003c\/em\u003e\n            \u003c\/h2\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"pp-benefits\"\u003e\n\n            \u003cdiv class=\"pp-benefit\"\u003e\n                \u003cdiv class=\"pp-benefit-number\"\u003e01\u003c\/div\u003e\n                \u003ch3\u003eSave Time Every Day\u003c\/h3\u003e\n                \u003cp\u003e\n                    Find the spice, jar or ingredient you need in seconds\n                    instead of digging through a crowded cupboard.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"pp-benefit\"\u003e\n                \u003cdiv class=\"pp-benefit-number\"\u003e02\u003c\/div\u003e\n                \u003ch3\u003eReclaim Your Space\u003c\/h3\u003e\n                \u003cp\u003e\n                    Stack upwards instead of spreading everything across\n                    your shelves and counters.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"pp-benefit\"\u003e\n                \u003cdiv class=\"pp-benefit-number\"\u003e03\u003c\/div\u003e\n                \u003ch3\u003eLess Kitchen Stress\u003c\/h3\u003e\n                \u003cp\u003e\n                    A cleaner, more organised space makes cooking feel\n                    easier and more enjoyable.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"pp-benefit\"\u003e\n                \u003cdiv class=\"pp-benefit-number\"\u003e04\u003c\/div\u003e\n                \u003ch3\u003eEffortlessly Impressive\u003c\/h3\u003e\n                \u003cp\u003e\n                    Create the kind of beautifully organised kitchen\n                    guests notice without you having to try.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"pp-benefit\"\u003e\n                \u003cdiv class=\"pp-benefit-number\"\u003e05\u003c\/div\u003e\n                \u003ch3\u003eUse Every Inch\u003c\/h3\u003e\n                \u003cp\u003e\n                    The expandable design adapts to your shelf width,\n                    helping you make the most of your available space.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- BAMBOO --\u003e\n    \u003cdiv class=\"pp-material\"\u003e\n\n        \u003cdiv class=\"pp-material-card\"\u003e\n\n            \u003cdiv\u003e\n\n                \u003cdiv class=\"pp-section-label\"\u003e\n                    Naturally better\n                \u003c\/div\u003e\n\n                \u003ch2\u003e\n                    Why\n                    \u003cem\u003ebamboo?\u003c\/em\u003e\n                \u003c\/h2\u003e\n\n                \u003cp\u003e\n                    Strong, moisture-resistant and naturally beautiful,\n                    bamboo brings warmth to your kitchen while offering\n                    a more sustainable alternative to ordinary plastic storage.\n                \u003c\/p\u003e\n\n                \u003cul class=\"pp-material-list\"\u003e\n\n                    \u003cli\u003e\n                        \u003cspan class=\"pp-check\"\u003e✓\u003c\/span\u003e\n                        Naturally strong\n                    \u003c\/li\u003e\n\n                    \u003cli\u003e\n                        \u003cspan class=\"pp-check\"\u003e✓\u003c\/span\u003e\n                        Moisture-resistant\n                    \u003c\/li\u003e\n\n                    \u003cli\u003e\n                        \u003cspan class=\"pp-check\"\u003e✓\u003c\/span\u003e\n                        More sustainable than plastic\n                    \u003c\/li\u003e\n\n                    \u003cli\u003e\n                        \u003cspan class=\"pp-check\"\u003e✓\u003c\/span\u003e\n                        Warm, timeless appearance\n                    \u003c\/li\u003e\n\n                \u003c\/ul\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"pp-material-visual\"\u003e\n\n                \u003cdiv class=\"pp-bamboo-circle\"\u003e\u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- PLACES --\u003e\n    \u003cdiv class=\"pp-places\"\u003e\n\n        \u003cdiv class=\"pp-section-label\"\u003e\n            One shelf. So many possibilities.\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n            Works in more places\n            \u003cbr\u003e\n            than you think.\n        \u003c\/h2\u003e\n\n        \u003cdiv class=\"pp-place-grid\"\u003e\n\n            \u003cdiv class=\"pp-place\"\u003eKitchen Cabinets\u003c\/div\u003e\n            \u003cdiv class=\"pp-place\"\u003eOpen Shelves\u003c\/div\u003e\n            \u003cdiv class=\"pp-place\"\u003ePantries\u003c\/div\u003e\n            \u003cdiv class=\"pp-place\"\u003eBathroom Vanities\u003c\/div\u003e\n            \u003cdiv class=\"pp-place\"\u003eOffice Desks\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003cdiv class=\"pp-final\"\u003e\n\n        \u003cdiv class=\"pp-final-card\"\u003e\n\n            \u003cdiv class=\"pp-final-content\"\u003e\n\n                \u003ch2\u003e\n                    Small upgrade.\n                    \u003cbr\u003e\n                    \u003cspan\u003eBig difference.\u003c\/span\u003e\n                    \u003cbr\u003e\n                    Every single day.\n                \u003c\/h2\u003e\n\n                \u003cp\u003e\n                    Pastel Pulse™ Step Shelf — simple organisation,\n                    beautifully designed.\n                \u003c\/p\u003e\n\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003cscript\u003e\n\n\/* =========================================================\n   SCROLL REVEAL ANIMATION\n   ========================================================= *\/\n\nconst ppBenefits = document.querySelectorAll('.pp-benefit');\n\nconst ppObserver = new IntersectionObserver((entries) =\u003e {\n\n    entries.forEach((entry) =\u003e {\n\n        if (entry.isIntersecting) {\n\n            const index = [...ppBenefits].indexOf(entry.target);\n\n            setTimeout(() =\u003e {\n                entry.target.classList.add('pp-visible');\n            }, index * 100);\n\n            ppObserver.unobserve(entry.target);\n        }\n\n    });\n\n}, {\n    threshold: 0.15\n});\n\nppBenefits.forEach((item) =\u003e {\n    ppObserver.observe(item);\n});\n\n\n\/* =========================================================\n   SUBTLE MOUSE PARALLAX\n   ========================================================= *\/\n\nconst ppShelf = document.querySelector('.pp-shelf-showcase');\n\nif (ppShelf \u0026\u0026 window.matchMedia('(pointer:fine)').matches) {\n\n    ppShelf.addEventListener('mousemove', (e) =\u003e {\n\n        const rect = ppShelf.getBoundingClientRect();\n\n        const x = (e.clientX - rect.left) \/ rect.width - .5;\n        const y = (e.clientY - rect.top) \/ rect.height - .5;\n\n        ppShelf.style.transform =\n            `perspective(900px) rotateY(${x * 5}deg) rotateX(${y * -3}deg)`;\n\n    });\n\n    ppShelf.addEventListener('mouseleave', () =\u003e {\n\n        ppShelf.style.transform =\n            'perspective(900px) rotateY(0deg) rotateX(0deg)';\n\n    });\n\n}\n\n\u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"Pastel Pulse","offers":[{"title":"Default Title","offer_id":56014711357762,"sku":"PP-BAMB-SHELF-001","price":599.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1010\/8708\/4866\/files\/bamboo_spice_rack.png?v=1787932057","url":"https:\/\/pastelpulse.co.za\/products\/pastel-pulse%e2%84%a2-tiered-bamboo-organiser","provider":"Pastel Pulse","version":"1.0","type":"link"}