{"title":"Home page","description":null,"products":[{"product_id":"squishy-water-sensory-ball","title":"Squishy Water Sensory Ball","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e \u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\"\u003e \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700;800\u0026amp;family=Playfair+Display:wght@600;700;800\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\n* {\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n}\n\nhtml {\n    scroll-behavior: smooth;\n}\n\nbody {\n    font-family: \"DM Sans\", sans-serif;\n    color: #073b4c;\n    background: #f4fcff;\n    overflow-x: hidden;\n}\n\n\/* =========================\n   WATER BACKGROUND\n========================= *\/\n\n.water-bg {\n    position: fixed;\n    inset: 0;\n    z-index: -10;\n    background:\n        radial-gradient(circle at 15% 20%, rgba(89, 214, 255, .35), transparent 30%),\n        radial-gradient(circle at 85% 25%, rgba(0, 183, 255, .22), transparent 32%),\n        radial-gradient(circle at 50% 90%, rgba(76, 220, 190, .18), transparent 35%),\n        linear-gradient(135deg, #effcff, #d8f7ff, #f7ffff);\n    animation: waterMove 10s ease-in-out infinite alternate;\n}\n\n@keyframes waterMove {\n    from {\n        transform: scale(1);\n    }\n\n    to {\n        transform: scale(1.08);\n    }\n}\n\n\/* =========================\n   BUBBLES\n========================= *\/\n\n.bubbles {\n    position: fixed;\n    inset: 0;\n    pointer-events: none;\n    z-index: -2;\n}\n\n.bubble {\n    position: absolute;\n    bottom: -100px;\n    width: 30px;\n    height: 30px;\n    border-radius: 50%;\n    border: 2px solid rgba(255,255,255,.7);\n    background: rgba(255,255,255,.18);\n    backdrop-filter: blur(3px);\n    animation: bubbleUp linear infinite;\n}\n\n.bubble:nth-child(1) {\n    left: 8%;\n    animation-duration: 13s;\n    width: 22px;\n    height: 22px;\n}\n\n.bubble:nth-child(2) {\n    left: 22%;\n    animation-duration: 17s;\n    animation-delay: 2s;\n}\n\n.bubble:nth-child(3) {\n    left: 42%;\n    animation-duration: 12s;\n    animation-delay: 4s;\n    width: 16px;\n    height: 16px;\n}\n\n.bubble:nth-child(4) {\n    left: 65%;\n    animation-duration: 19s;\n    animation-delay: 1s;\n}\n\n.bubble:nth-child(5) {\n    left: 82%;\n    animation-duration: 15s;\n    animation-delay: 5s;\n    width: 24px;\n    height: 24px;\n}\n\n@keyframes bubbleUp {\n    0% {\n        transform: translateY(0) scale(.7);\n        opacity: 0;\n    }\n\n    15% {\n        opacity: .8;\n    }\n\n    100% {\n        transform: translateY(-120vh) translateX(60px) scale(1.15);\n        opacity: 0;\n    }\n}\n\n\/* =========================\n   HEADER\n========================= *\/\n\nheader {\n    width: 100%;\n    padding: 24px 7%;\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n    position: relative;\n    z-index: 10;\n}\n\n.header-btn {\n    text-decoration: none;\n    color: white;\n    background: #00a9df;\n    padding: 12px 22px;\n    border-radius: 100px;\n    font-weight: 700;\n    box-shadow: 0 10px 30px rgba(0,169,223,.25);\n    transition: .3s ease;\n}\n\n.header-btn:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 15px 35px rgba(0,169,223,.35);\n}\n\n\/* =========================\n   HERO\n========================= *\/\n\n.hero {\n    min-height: 720px;\n    padding: 70px 7% 100px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    text-align: center;\n    position: relative;\n}\n\n.hero-content {\n    max-width: 900px;\n    animation: heroIn 1s ease forwards;\n}\n\n@keyframes heroIn {\n    from {\n        opacity: 0;\n        transform: translateY(40px);\n    }\n\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n.badge {\n    display: inline-block;\n    padding: 9px 17px;\n    border-radius: 100px;\n    background: rgba(255,255,255,.8);\n    border: 1px solid rgba(0,169,223,.15);\n    color: #0097c9;\n    font-size: 13px;\n    font-weight: 800;\n    letter-spacing: .5px;\n    margin-bottom: 25px;\n    box-shadow: 0 10px 30px rgba(0,100,150,.08);\n}\n\nh1 {\n    font-family: \"Playfair Display\", serif;\n    font-size: clamp(58px, 8vw, 105px);\n    line-height: .95;\n    letter-spacing: -5px;\n    margin-bottom: 28px;\n}\n\nh1 span {\n    color: #00a9df;\n    position: relative;\n}\n\nh1 span::after {\n    content: \"\";\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: -5px;\n    height: 7px;\n    border-radius: 20px;\n    background: #71e0ff;\n    transform: rotate(-2deg);\n    animation: underline 2s ease-in-out infinite alternate;\n}\n\n@keyframes underline {\n    from {\n        transform: rotate(-2deg) scaleX(.9);\n    }\n\n    to {\n        transform: rotate(2deg) scaleX(1);\n    }\n}\n\n.hero p {\n    max-width: 700px;\n    margin: auto;\n    font-size: 20px;\n    line-height: 1.7;\n    color: #416b78;\n}\n\n.cta-row {\n    display: flex;\n    justify-content: center;\n    gap: 15px;\n    margin-top: 35px;\n    flex-wrap: wrap;\n}\n\n.primary-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    text-decoration: none;\n    color: white;\n    background: linear-gradient(135deg, #00b8ef, #008fd0);\n    padding: 18px 34px;\n    border-radius: 100px;\n    font-weight: 800;\n    font-size: 17px;\n    box-shadow: 0 18px 45px rgba(0,169,223,.3);\n    transition: .35s ease;\n}\n\n.primary-btn:hover {\n    transform: translateY(-5px) scale(1.03);\n    box-shadow: 0 25px 55px rgba(0,169,223,.4);\n}\n\n.secondary-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    text-decoration: none;\n    color: #087b9d;\n    background: rgba(255,255,255,.75);\n    border: 1px solid rgba(0,169,223,.15);\n    padding: 18px 30px;\n    border-radius: 100px;\n    font-weight: 700;\n    transition: .3s ease;\n}\n\n.secondary-btn:hover {\n    transform: translateY(-4px);\n    background: white;\n}\n\n\/* =========================\n   TRUST STRIP\n========================= *\/\n\n.trust {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-top: 45px;\n}\n\n.trust-item {\n    padding: 11px 18px;\n    background: rgba(255,255,255,.7);\n    border-radius: 100px;\n    font-size: 13px;\n    font-weight: 700;\n    color: #46717d;\n    box-shadow: 0 8px 25px rgba(0,80,120,.06);\n}\n\n\/* =========================\n   SECTION\n========================= *\/\n\nsection {\n    padding: 110px 7%;\n}\n\n.section-heading {\n    max-width: 750px;\n    margin: auto;\n    text-align: center;\n}\n\n.section-heading .small-title {\n    color: #00a9df;\n    font-size: 14px;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 2px;\n    margin-bottom: 15px;\n}\n\n.section-heading h2 {\n    font-family: \"Playfair Display\", serif;\n    font-size: clamp(42px, 5vw, 68px);\n    line-height: 1;\n    letter-spacing: -2px;\n    margin-bottom: 20px;\n}\n\n.section-heading p {\n    color: #5b7c85;\n    line-height: 1.7;\n    font-size: 17px;\n}\n\n\/* =========================\n   BENEFITS\n========================= *\/\n\n#benefits {\n    padding-top: 80px;\n    padding-bottom: 45px;\n}\n\n\/* =========================\n   FEATURES\n========================= *\/\n\n.features {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 25px;\n    max-width: 1200px;\n    margin: 65px auto 0;\n}\n\n.feature {\n    padding: 38px 30px;\n    border-radius: 30px;\n    background: rgba(255,255,255,.75);\n    border: 1px solid rgba(255,255,255,.9);\n    box-shadow: 0 20px 60px rgba(0,80,120,.08);\n    transition: .4s ease;\n    opacity: 0;\n    transform: translateY(35px);\n}\n\n.feature.visible {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n.feature:hover {\n    transform: translateY(-10px);\n    box-shadow: 0 30px 70px rgba(0,120,170,.14);\n}\n\n.feature-icon {\n    width: 65px;\n    height: 65px;\n    border-radius: 20px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #e0f8ff;\n    font-size: 30px;\n    margin-bottom: 25px;\n}\n\n.feature h3 {\n    font-size: 22px;\n    margin-bottom: 12px;\n}\n\n.feature p {\n    color: #65818a;\n    line-height: 1.65;\n}\n\n\/* =========================\n   WHY SECTION\n========================= *\/\n\n.why {\n    background: rgba(224,249,255,.55);\n\n    \/* Reduced top spacing *\/\n    padding-top: 45px;\n    padding-bottom: 90px;\n}\n\n.why-grid {\n    max-width: 1100px;\n    margin: 50px auto 0;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 25px;\n}\n\n.why-card {\n    background: white;\n    border-radius: 30px;\n    padding: 40px;\n    box-shadow: 0 20px 60px rgba(0,80,120,.07);\n}\n\n.why-card h3 {\n    font-size: 25px;\n    margin-bottom: 22px;\n}\n\n.why-card ul {\n    list-style: none;\n}\n\n.why-card li {\n    padding: 13px 0;\n    border-bottom: 1px solid #e8f4f7;\n    color: #52727b;\n}\n\n.why-card li:last-child {\n    border-bottom: none;\n}\n\n.why-card li::before {\n    content: \"✓\";\n    color: #00a9df;\n    font-weight: 900;\n    margin-right: 10px;\n}\n\n\/* =========================\n   USE CASES\n========================= *\/\n\n.use-cases {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 15px;\n    margin-top: 40px;\n}\n\n.use-case {\n    padding: 16px 25px;\n    border-radius: 100px;\n    background: white;\n    box-shadow: 0 12px 35px rgba(0,80,120,.08);\n    font-weight: 700;\n    transition: .3s ease;\n}\n\n.use-case:hover {\n    transform: translateY(-5px) rotate(-1deg);\n}\n\n\/* =========================\n   FINAL CTA\n========================= *\/\n\n.final-cta {\n    text-align: center;\n    padding: 130px 7%;\n    position: relative;\n    overflow: hidden;\n}\n\n.final-cta::before {\n    content: \"\";\n    position: absolute;\n    width: 500px;\n    height: 500px;\n    background: #a9edff;\n    border-radius: 50%;\n    filter: blur(100px);\n    opacity: .35;\n    left: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n    z-index: -1;\n}\n\n.final-cta h2 {\n    font-family: \"Playfair Display\", serif;\n    font-size: clamp(45px, 6vw, 75px);\n    line-height: 1;\n    letter-spacing: -3px;\n    margin-bottom: 25px;\n}\n\n.final-cta p {\n    max-width: 600px;\n    margin: auto;\n    color: #5c7c84;\n    font-size: 18px;\n    line-height: 1.7;\n}\n\n\/* =========================\n   FOOTER\n========================= *\/\n\nfooter {\n    text-align: center;\n    padding: 35px 7%;\n    color: #73919a;\n    font-size: 13px;\n}\n\n\/* =========================\n   MOBILE\n========================= *\/\n\n@media (max-width: 800px) {\n\n    header {\n        padding: 20px 5%;\n    }\n\n    .header-btn {\n        padding: 10px 17px;\n        font-size: 13px;\n    }\n\n    .hero {\n        min-height: auto;\n        padding: 70px 5% 70px;\n    }\n\n    h1 {\n        font-size: clamp(52px, 16vw, 80px);\n        letter-spacing: -3px;\n    }\n\n    .hero p {\n        font-size: 17px;\n    }\n\n    #benefits {\n        padding-top: 60px;\n        padding-bottom: 25px;\n    }\n\n    .features {\n        grid-template-columns: 1fr;\n        margin-top: 45px;\n    }\n\n    .why {\n        padding-top: 30px;\n        padding-bottom: 70px;\n    }\n\n    .why-grid {\n        grid-template-columns: 1fr;\n        margin-top: 40px;\n    }\n\n    section {\n        padding-left: 5%;\n        padding-right: 5%;\n    }\n\n    .final-cta {\n        padding: 90px 5%;\n    }\n}\n\n\u003c\/style\u003e\n\u003cdiv class=\"water-bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"bubbles\"\u003e\n\u003cdiv class=\"bubble\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"bubble\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- =========================\n     HEADER\n========================= --\u003e\u003cheader\u003e\u003c\/header\u003e\u003c!-- =========================\n     HERO\n========================= --\u003e\n\u003csection class=\"hero\"\u003e\n\u003cdiv class=\"hero-content\"\u003e\n\u003cdiv class=\"badge\"\u003e💦 BIG FUN • LITTLE HANDS • ENDLESS SQUISH\u003c\/div\u003e\n\u003ch1\u003eSquish.\u003cbr\u003eSqueeze.\u003cbr\u003e\u003cspan\u003eSplash.\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp\u003eThe ultimate squish, squeeze, and splash toy your little one won't be able to put down. Made for curious little hands, sensory play, bath time, pool days, and everyday fun. \u003ca href=\"#benefits\" class=\"secondary-btn\"\u003e See Why Kids Love Them \u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv class=\"trust\"\u003e\n\u003cdiv class=\"trust-item\"\u003e💧 Water Play\u003c\/div\u003e\n\u003cdiv class=\"trust-item\"\u003e🧠 Sensory Fun\u003c\/div\u003e\n\u003cdiv class=\"trust-item\"\u003e✋ Hands-On Play\u003c\/div\u003e\n\u003cdiv class=\"trust-item\"\u003e🎁 Great Gift\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- =========================\n     BENEFITS\n========================= --\u003e\n\u003csection id=\"benefits\"\u003e\n\u003cdiv class=\"section-heading\"\u003e\n\u003ch2\u003eA tiny toy with \u003cbr\u003e\u003cspan style=\"color: #00a9df;\"\u003e big sensory fun. \u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp\u003eSquish, squeeze, stretch, splash, and explore. These colourful sensory balls turn ordinary playtime into an exciting hands-on adventure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cblockquote\u003e\n\u003cdiv class=\"feature-icon\"\u003e🧠\u003c\/div\u003e\n\u003c\/blockquote\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e💦\u003c\/div\u003e\n\u003ch3\u003eWater-Filled Fun\u003c\/h3\u003e\n\u003cp\u003ePerfect for adding a splash of excitement to bath time, pool days, beach trips, and outdoor play.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e✋\u003c\/div\u003e\n\u003ch3\u003eFine Motor Play\u003c\/h3\u003e\n\u003cp\u003eSqueezing and manipulating the balls creates engaging hands-on play for developing 😌\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003ch3\u003eCalming Sensation\u003c\/h3\u003e\n\u003cp\u003eThe satisfying squish makes them a fun option for quiet sensory moments and relaxing play.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e🌈\u003c\/div\u003e\n\u003ch3\u003eBright \u0026amp; C\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- =========================\n     WHY PARENTS\n========================= --\u003e\n\u003csection class=\"why\"\u003e\n\u003cdiv class=\"section-heading\"\u003e\n\u003cdiv class=\"small-title\"\u003eMade For Everyday Play\u003c\/div\u003e\n\u003ch2\u003eKids get the fun. \u003cbr\u003eParents get the ease.\u003c\/h2\u003e\n\u003cp\u003eKeep playtime exciting without complicated setup. These sensory balls are designed for simple, hands-on fun wherever the day takes you.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"use-cases\"\u003e\n\u003cdiv class=\"use-case\"\u003e🛁 Bath Time\u003c\/div\u003e\n\u003cdiv class=\"use-case\"\u003e🏖️ Beach\u003c\/div\u003e\n\u003cdiv class=\"use-case\"\u003e🏊 Pool\u003c\/div\u003e\n\u003cdiv class=\"use-case\"\u003e🌳 Outdoor Play\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- =========================\n     FINAL CTA\n========================= --\u003e\n\u003csection class=\"final-cta\" id=\"shop\"\u003e\n\u003ch2\u003eLet the squishy \u003cbr\u003efun begin.\u003c\/h2\u003e\n\u003cp\u003eGive little hands something exciting to squeeze, splash, and explore.\u003c\/p\u003e\n\u003cdiv class=\"cta-row\"\u003e© 2026 Squishy™ — Made for little hands \u0026amp; big imaginations.\u003c\/div\u003e\n\u003c\/section\u003e","brand":"Tiny Finds","offers":[{"title":"2 Pack","offer_id":52915230048541,"sku":null,"price":139.0,"currency_code":"ZAR","in_stock":true},{"title":"4 Pack","offer_id":52915230081309,"sku":null,"price":229.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/6515\/5101\/files\/group-of-kids-water-fighting-in-pool.png?v=1788784676"}],"url":"https:\/\/tinyfinds.co.za\/collections\/frontpage.oembed","provider":"Tiny Finds","version":"1.0","type":"link"}