<!DOCTYPE html> <html lang="en-NZ"> <head> <script type="application/ld+json"> {
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "name": "Pinwheel Breeze Entertainment Ltd",
      "url": "https://pinwheelbreezeplay.com",
      "logo": "https://cdn.pinwheelbreezeplay.com/favicon.png?t=xxclrqg2",
      "contactPoint": {
        "@type": "ContactPoint",
        "email": "support@pinwheelbreezeplay.com",
        "contactType": "customer support"
      },
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "147 Quay Street",
        "addressLocality": "Auckland CBD",
        "addressRegion": "Auckland",
        "postalCode": "1010",
        "addressCountry": "NZ"
      }
    },
    {
      "@type": "WebApplication",
      "name": "Zephyr Slots",
      "applicationCategory": "GameApplication",
      "genre": "Social Casino",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "NZD"
      }
    },
    {
      "@type": "WebApplication",
      "name": "Petal Drop",
      "applicationCategory": "GameApplication",
      "genre": "Social Casino",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "NZD"
      }
    }
  ]
} </script> <style>:root{--bg:#E0F7FA;--text:#37474F;--primary:#00ACC1;--secondary:#FFA000;--accent:#F06292;--surface:#FFFFFF;--wood-light:#DEB887;--wood-dark:#8B4513;--brass:#B5A642}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Quicksand,sans-serif;background-color:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;position:relative}h1,h2,h3,h4{font-family:'Fredoka One',cursive;font-weight:400}a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s}a:hover{color:var(--accent)}.btn{display:inline-block;background:var(--secondary);color:#fff;padding:15px 30px;border-radius:30px;font-family:'Fredoka One',cursive;text-transform:uppercase;border:none;cursor:pointer;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s;text-decoration:none;font-size:1.1rem}.btn:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.btn:active{transform:translateY(1px)}.btn-outline{background:0 0;border:2px solid var(--secondary);color:var(--secondary)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(55,71,79,.95);display:flex;justify-content:center;align-items:center;z-index:10000;text-align:center;color:var(--surface);backdrop-filter:blur(10px)}.overlay-content{background:var(--surface);color:var(--text);padding:40px;border-radius:20px;max-width:500px;width:90%;box-shadow:0 20px 40px rgba(0,0,0,.3);border:4px solid var(--brass)}.overlay-content h2{margin-bottom:20px;color:var(--primary)}.overlay-content p{margin-bottom:25px;font-size:1.1rem}.overlay-btn-group{display:flex;gap:15px;justify-content:center}#age-gate-block{display:none}.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:var(--surface);border-top:4px solid var(--primary);padding:20px;z-index:9999;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -5px 20px rgba(0,0,0,.1);flex-wrap:wrap;gap:15px}.cookie-text{flex:1;min-width:250px;font-size:.9rem}.cookie-btns{display:flex;gap:10px}header{position:sticky;top:0;z-index:1000;background:linear-gradient(to bottom,var(--wood-light),var(--wood-dark));border-bottom:4px solid var(--brass);padding:10px 5%;box-shadow:0 4px 10px rgba(0,0,0,.2);display:flex;justify-content:space-between;align-items:center}.logo-area{color:#fff;font-family:'Fredoka One',cursive;font-size:1.5rem;display:flex;align-items:center;gap:10px}.logo-area img{width:40px;height:40px;border-radius:50%}.altimeter{background:radial-gradient(circle,#ffe,var(--brass));border:3px solid #333;border-radius:10px;padding:5px 15px;font-family:monospace;font-size:1.5rem;font-weight:700;color:#111;box-shadow:inset 0 2px 5px rgba(0,0,0,.5);display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}.altimeter::before{content:'AERO-GEARS';position:absolute;top:2px;left:50%;transform:translateX(-50%);font-size:.5rem;font-family:Quicksand,sans-serif;color:#555}.altimeter-val{margin-top:10px;display:inline-block;transition:transform .1s}.twitch{animation:twitchAnim .3s ease-in-out}@keyframes twitchAnim{0%{transform:translateY(0)}25%{transform:translateY(-2px)}50%{transform:translateY(2px)}75%{transform:translateY(-1px)}100%{transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:60px 20px;position:relative}.cloud-box{background:var(--surface);border-radius:60px 20px 80px 30px;padding:40px;box-shadow:0 10px 30px rgba(0,172,193,.15);margin-bottom:40px;position:relative;z-index:2}.text-center{text-align:center}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes spin{100%{transform:rotate(360deg)}}.floating{animation:float 6s ease-in-out infinite}.spinning-slow{animation:spin 20s linear infinite}#hero_intro{min-height:90vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.7}.hero-content{position:relative;z-index:2;max-width:800px;padding:20px}.hero-content h1{font-size:4rem;color:var(--primary);text-shadow:2px 2px 0 var(--surface),-2px -2px 0 var(--surface),2px -2px 0 var(--surface),-2px 2px 0 var(--surface);margin-bottom:20px}.hero-content p{font-size:1.5rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.8);padding:15px;border-radius:15px;margin-bottom:30px}#world_lore .flex-grid{display:flex;flex-wrap:wrap;gap:40px;align-items:center}#world_lore .img-col,#world_lore .text-col{flex:1;min-width:300px}#world_lore img{width:100%;height:auto;border-radius:30px;box-shadow:0 10px 20px rgba(0,0,0,.1)}.game-wrapper{background:#e0f2f1;border:8px solid var(--wood-light);border-radius:30px;padding:20px;position:relative;box-shadow:inset 0 0 20px rgba(0,0,0,.1);margin:30px auto;max-width:800px}.game-overlay-intro{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;color:#fff;text-align:center;padding:20px}.game-overlay-intro img{max-width:200px;height:auto;margin-bottom:20px;border-radius:10px}.game-msg{margin-top:15px;font-weight:700;color:var(--accent);min-height:24px}.slots-machine{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.reels-container{display:flex;gap:10px;background:#fff;padding:15px;border:4px solid var(--brass);border-radius:10px}.reel{width:80px;height:120px;overflow:hidden;border:2px solid #ccc;background:#f9f9f9;position:relative;border-radius:5px}.reel-strip{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;text-align:center;font-size:3rem;line-height:120px}.lever-container{cursor:pointer;transition:transform .1s}.lever-container:active{transform:scaleY(.8) translateY(10px)}.lever-container img{width:40px;height:160px}.plinko-board{background:linear-gradient(#87ceeb,#e0f7fa);border:4px solid var(--wood-dark);border-radius:15px;width:100%;max-width:400px;margin:0 auto;position:relative;overflow:hidden;height:500px;touch-action:none}#plinkoCanvas{display:block;width:100%;height:100%}.plinko-controls{text-align:center;margin-top:15px}.hidden-assets{display:none}.signpost-container{position:relative;padding:40px 0}.bg-scene{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.1;z-index:-1}.signpost{background:var(--wood-light);border:2px solid var(--wood-dark);margin:20px auto;padding:20px;max-width:600px;border-radius:10px;box-shadow:2px 5px 10px rgba(0,0,0,.2);transform-origin:top center;transition:transform .3s;text-align:center;color:var(--wood-dark)}.signpost h3{font-size:1.5rem;margin-bottom:10px}.signpost:hover{transform:rotate(2deg)}.economy-wrap{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}.gear-visual{position:relative;width:250px;height:250px}.gear-visual img{width:100%;height:100%;object-fit:contain}.eco-text{max-width:500px}.mascot-wrap{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap-reverse}.mascot-img{width:250px;height:auto;filter:drop-shadow(0 10px 10px rgba(0,0,0,.2));transition:transform .3s}.mascot-wrap:hover .mascot-img{transform:translateY(-10px) rotate(-5deg)}.mosaic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.mosaic-item{border-radius:15px;overflow:hidden;height:200px;position:relative;background:#ccc}.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.mosaic-item:hover img{transform:scale(1.1)}.mosaic-item::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,172,193,0);transition:background .3s;pointer-events:none}.mosaic-item:hover::after{background:rgba(0,172,193,.3)}#responsible_gaming{background:#fff;border-top:4px solid var(--text);border-bottom:4px solid var(--text);border-radius:0;box-shadow:none;padding:60px 20px}#responsible_gaming h2{color:var(--text)}footer{background:#2c1e16;color:#d7ccc8;padding:60px 20px 20px;background-image:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(0,0,0,.1) 40px,rgba(0,0,0,.1) 42px);font-size:.9rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;max-width:1200px;margin:0 auto}.footer-col h4{color:var(--secondary);margin-bottom:15px;border-bottom:1px solid #5d4037;padding-bottom:5px}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:8px}.footer-col a{color:#d7ccc8;text-decoration:underline;font-weight:400}.footer-col a:hover{color:var(--surface)}.badge-18{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid #ff5252;color:#ff5252;font-weight:700;font-family:sans-serif;font-size:1.2rem;margin-top:10px}.footer-bottom{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid #5d4037;font-size:.8rem}@media (max-width:768px){.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.1rem}.altimeter{font-size:1rem;padding:5px 10px}.altimeter::before{font-size:.4rem}}</style> <style>html{scroll-behavior:smooth}canvas,img,svg,video{max-width:100%;height:auto}</style> <style>@font-face{font-family:'Fredoka One';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.pinwheelbreezeplay.com/fonts/fredoka-one-400.woff2?r=mpl0uw7j) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.pinwheelbreezeplay.com/fonts/quicksand-400.woff2?cb=mpl0uwiy) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.pinwheelbreezeplay.com/fonts/quicksand-400.woff2?t=zrqwvarn) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.pinwheelbreezeplay.com/fonts/quicksand-400.woff2?h=s779xvaf) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style> <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' data: https:; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:; font-src 'self' data: https:; connect-src 'self' https:; object-src 'none'"> <meta name="description" content="Experience the ultimate free social casino in New Zealand at Pinwheel Breeze. Play wind-powered simulated games for fun. No real money, 18+ only."> <link rel="icon" href="https://cdn.pinwheelbreezeplay.com/favicon.png?t=xxclrqg2"> <title>Pinwheel Breeze | Free Social Casino Games NZ</title> <meta property="og:description" content="Experience the ultimate free social casino in New Zealand at Pinwheel Breeze. Play wind-powered simulated games for fun. No real money, 18+ only."> <link rel="preload" as="image" fetchpriority="high" href="https://cdn.pinwheelbreezeplay.com/favicon.png?t=xxclrqg2" type="image/webp"> <meta charset="UTF-8"> <meta property="og:title" content="Pinwheel Breeze | Free Social Casino Games NZ"> <meta property="og:type" content="website"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="preload" as="font" type="font/woff2" crossorigin href="https://cdn.pinwheelbreezeplay.com/fonts/quicksand-400.woff2?cb=mpl0uwiy"> <link rel="preconnect" href="https://cdn.pinwheelbreezeplay.com"> <meta property="og:url" content="https://pinwheelbreezeplay.com"> <link rel="dns-prefetch" href="https://cdn.pinwheelbreezeplay.com"> <link rel="preload" as="font" type="font/woff2" crossorigin href="https://cdn.pinwheelbreezeplay.com/fonts/fredoka-one-400.woff2?r=mpl0uw7j" fetchpriority="high"> <meta name="robots" content="index, follow"> </head> <body> <div id="age-gate" class="overlay"> <div class="overlay-content" id="age-gate-main"> <h1>Welcome to Pinwheel Breeze</h1> <p>Our floating islands are for adults only. Are you 18 years of age or older?</p> <div class="overlay-btn-group"> <button class="btn" onclick="verifyAge(!0)" aria-label="I am 18 or older">Yes, I am 18+</button> <button class="btn btn-outline" onclick="verifyAge(!1)" aria-label="I am under 18">No, I am under 18</button> </div> </div> <div class="overlay-content" id="age-gate-block"> <h2>Access Denied</h2> <p>You must be 18 or older to visit Pinwheel Breeze. Please close this tab.</p> </div> </div> <div id="cookie-banner" class="cookie-banner" style="display:none"> <div class="cookie-text"> We use cookies to ensure your altimeter stays calibrated and your game progress is saved locally. No personal tracking. </div> <div class="cookie-btns"> <button class="btn" style="padding:10px 20px;font-size:.9rem" onclick="handleCookies(!0)" aria-label="Accept cookies">Catch the Breeze (Accept)</button> <button class="btn btn-outline" style="padding:10px 20px;font-size:.9rem" onclick="handleCookies(!1)" aria-label="Reject non-essential cookies">Adjust Sails (Reject)</button> </div> </div> <header> <div class="logo-area"> <img fetchpriority="high" src="https://cdn.pinwheelbreezeplay.com/favicon.png?t=xxclrqg2" alt="Pinwheel Breeze Logo" width="40" height="40"> <span>Pinwheel Breeze</span> </div> <div class="altimeter" aria-label="Aero-Gears Balance"> <span class="altimeter-val" id="balance-display">0</span> </div> </header> <main> <section id="hero_intro"> <img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/hero_intro_img.webp?r=q8w37rkq" srcset="https://cdn.pinwheelbreezeplay.com/hero_intro_img.webp?r=q8w37rkq&w=326 326w, https://cdn.pinwheelbreezeplay.com/hero_intro_img.webp?r=q8w37rkq&w=494 494w, https://cdn.pinwheelbreezeplay.com/hero_intro_img.webp?r=q8w37rkq&w=749 749w, https://cdn.pinwheelbreezeplay.com/hero_intro_img.webp?r=q8w37rkq 1024w" sizes="(max-width: 768px) 92vw, (max-width: 1200px) 48vw, 600px" width="1024" height="434" alt="Blue sky with clouds" class="hero-bg" width="1920" height="1080"> <div class="container hero-content floating"> <h1>Soar Above the Clouds of Fun</h1> <p>Spin the sky-high contraptions in our 100% free social casino. No real money, no registration, just pure wind-powered play!</p> <a href="#zephyr_slots_showcase" class="btn" aria-label="Scroll to Zephyr Slots game">Catch the Breeze</a> </div> </section> <div class="container"> <section id="world_lore" class="cloud-box"> <div class="flex-grid"> <div class="text-col"> <h2>Discover the Floating Islands</h2> <p>Welcome to a sprawling archipelago suspended in a perpetual azure sky. Here at Pinwheel Breeze, colossal, colourful pinwheels power everything. The inhabitants build delicate clockwork and wood contraptions to harness the eternal zephyrs, creating joyous, free-to-play games for all visitors.</p> <p>Enjoy kinetic energy, airy freedom, and mechanical whimsy with no real money involved.</p> </div> <div class="img-col floating"> <img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/world_lore_img.webp?v=1s4x7ctb" srcset="https://cdn.pinwheelbreezeplay.com/world_lore_img.webp?v=1s4x7ctb&w=250 250w, https://cdn.pinwheelbreezeplay.com/world_lore_img.webp?v=1s4x7ctb&w=393 393w, https://cdn.pinwheelbreezeplay.com/world_lore_img.webp?v=1s4x7ctb&w=605 605w, https://cdn.pinwheelbreezeplay.com/world_lore_img.webp?v=1s4x7ctb 825w" sizes="(max-width: 768px) 94vw, (max-width: 1200px) 57vw, 600px" width="825" height="1024" alt="Floating pinwheel city vista" width="400" height="500"> </div> </div> </section> <section id="zephyr_slots_showcase" class="cloud-box text-center floating" style="animation-duration:8s"> <h2>Ride the Winds with Zephyr Slots</h2> <p>Harness the power of the wind to spin the highest reels in the sky. Match floating kites and brass owls to gather your virtual rewards. (Costs 50 Aero-Gears)</p> <div class="game-wrapper"> <div id="slots-intro" class="game-overlay-intro"> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/zephyr_slots_cover.webp?h=5e85af55" srcset="https://cdn.pinwheelbreezeplay.com/zephyr_slots_cover.webp?h=5e85af55&w=313 313w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_cover.webp?h=5e85af55&w=503 503w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_cover.webp?h=5e85af55&w=776 776w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_cover.webp?h=5e85af55 1024w" sizes="(max-width: 768px) 91vw, (max-width: 1200px) 47vw, 600px" width="1024" height="572" alt="Zephyr Slots Cover" width="320" height="180"> <button class="btn" onclick="startSlots()" aria-label="Start playing Zephyr Slots">Play Free Now</button> </div> <div class="slots-machine"> <div class="reels-container"> <div class="reel"><div class="reel-strip" id="reel-0"></div></div> <div class="reel"><div class="reel-strip" id="reel-1"></div></div> <div class="reel"><div class="reel-strip" id="reel-2"></div></div> </div> <div class="lever-container" onclick="spinSlots()" aria-label="Pull lever to spin"> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/zephyr_slots_lever.webp?t=mpl0srnp" srcset="https://cdn.pinwheelbreezeplay.com/zephyr_slots_lever.webp?t=mpl0srnp&w=84 84w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_lever.webp?t=mpl0srnp&w=120 120w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_lever.webp?t=mpl0srnp&w=197 197w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_lever.webp?t=mpl0srnp 254w" sizes="(max-width: 768px) 94vw, (max-width: 1200px) 45vw, 254px" width="254" height="1024" alt="Brass lever" width="40" height="160"> </div> </div> <div class="game-msg" id="slots-msg"></div> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/zephyr_slots_reels.webp?h=5e85b900" srcset="https://cdn.pinwheelbreezeplay.com/zephyr_slots_reels.webp?h=5e85b900&w=321 321w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_reels.webp?h=5e85b900&w=506 506w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_reels.webp?h=5e85b900&w=755 755w, https://cdn.pinwheelbreezeplay.com/zephyr_slots_reels.webp?h=5e85b900 1024w" sizes="(max-width: 768px) 89vw, (max-width: 1200px) 50vw, 600px" width="1024" height="687" alt="Reel symbols asset" class="hidden-assets" width="300" height="200"> </div> </section> <section id="petal_drop_showcase" class="cloud-box text-center floating" style="animation-duration:7s"> <h2>Float Down with Petal Drop</h2> <p>Release a glowing dandelion seed and watch it navigate a maze of spinning pinwheels. A relaxing, gravity-defying drop game. (Costs 20 Aero-Gears)</p> <div class="game-wrapper"> <div id="plinko-intro" class="game-overlay-intro"> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/petal_drop_cover.webp?t=5e860782" srcset="https://cdn.pinwheelbreezeplay.com/petal_drop_cover.webp?t=5e860782&w=354 354w, https://cdn.pinwheelbreezeplay.com/petal_drop_cover.webp?t=5e860782&w=493 493w, https://cdn.pinwheelbreezeplay.com/petal_drop_cover.webp?t=5e860782&w=764 764w, https://cdn.pinwheelbreezeplay.com/petal_drop_cover.webp?t=5e860782 1024w" sizes="(max-width: 768px) 93vw, (max-width: 1200px) 53vw, 600px" width="1024" height="572" alt="Petal Drop Cover" width="320" height="180"> <button class="btn" onclick="startPlinko()" aria-label="Start playing Petal Drop">Play Free Now</button> </div> <div class="plinko-board" id="plinko-container"> <canvas id="plinkoCanvas" width="400" height="500" aria-label="Petal Drop game canvas"></canvas> </div> <div class="plinko-controls"> <button class="btn btn-outline" onclick="dropSeed()" id="dropBtn" disabled aria-label="Release a seed">Release Seed</button> </div> <div class="game-msg" id="plinko-msg"></div> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/petal_drop_seed.webp?t=mpl0tdi0" srcset="https://cdn.pinwheelbreezeplay.com/petal_drop_seed.webp?t=mpl0tdi0&w=364 364w, https://cdn.pinwheelbreezeplay.com/petal_drop_seed.webp?t=mpl0tdi0&w=538 538w, https://cdn.pinwheelbreezeplay.com/petal_drop_seed.webp?t=mpl0tdi0&w=748 748w, https://cdn.pinwheelbreezeplay.com/petal_drop_seed.webp?t=mpl0tdi0 1024w" sizes="(max-width: 768px) 87vw, (max-width: 1200px) 46vw, 600px" width="1024" height="1024" id="asset-seed" class="hidden-assets" alt="Dandelion seed" width="50" height="50"> <img loading="eager" src="https://cdn.pinwheelbreezeplay.com/petal_drop_basket.webp?v=5e865bec" srcset="https://cdn.pinwheelbreezeplay.com/petal_drop_basket.webp?v=5e865bec&w=351 351w, https://cdn.pinwheelbreezeplay.com/petal_drop_basket.webp?v=5e865bec&w=484 484w, https://cdn.pinwheelbreezeplay.com/petal_drop_basket.webp?v=5e865bec&w=746 746w, https://cdn.pinwheelbreezeplay.com/petal_drop_basket.webp?v=5e865bec 1024w" sizes="(max-width: 768px) 93vw, (max-width: 1200px) 55vw, 600px" width="1024" height="765" id="asset-basket" class="hidden-assets" alt="Woven basket" width="80" height="60"> </div> </section> <section id="how_it_works" class="signpost-container"> <img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/how_it_works_img.webp?_=mpl0ub40" srcset="https://cdn.pinwheelbreezeplay.com/how_it_works_img.webp?_=mpl0ub40&w=352 352w, https://cdn.pinwheelbreezeplay.com/how_it_works_img.webp?_=mpl0ub40&w=527 527w, https://cdn.pinwheelbreezeplay.com/how_it_works_img.webp?_=mpl0ub40&w=789 789w, https://cdn.pinwheelbreezeplay.com/how_it_works_img.webp?_=mpl0ub40 1024w" sizes="(max-width: 768px) 92vw, (max-width: 1200px) 51vw, 600px" width="1024" height="572" alt="Decorative sky backdrop" class="bg-scene" width="1920" height="1080"> <div class="text-center"><h2 style="position:relative;z-index:1">Harnessing the Breeze</h2></div> <div class="signpost"> <h3>1. 100% Free Access</h3> <p>Step onto the boardwalk. No registration, no downloads, no credit cards. Just pure entertainment.</p> </div> <div class="signpost"> <h3>2. Collect Aero-Gears</h3> <p>Start with a complimentary tank of 5000 Aero-Gears to power the machines.</p> </div> <div class="signpost"> <h3>3. Play for Fun</h3> <p>Win or lose, the breeze keeps blowing. If you run out, refresh the page to restart your engine. No real money value.</p> </div> </section> <section id="aero_gears_economy" class="cloud-box"> <div class="economy-wrap"> <div class="gear-visual spinning-slow"> <img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/aero_gears_economy_img.webp?v=5e871584" srcset="https://cdn.pinwheelbreezeplay.com/aero_gears_economy_img.webp?v=5e871584&w=365 365w, https://cdn.pinwheelbreezeplay.com/aero_gears_economy_img.webp?v=5e871584&w=507 507w, https://cdn.pinwheelbreezeplay.com/aero_gears_economy_img.webp?v=5e871584&w=765 765w, https://cdn.pinwheelbreezeplay.com/aero_gears_economy_img.webp?v=5e871584 1024w" sizes="(max-width: 768px) 88vw, (max-width: 1200px) 49vw, 600px" width="1024" height="1024" alt="Aero-Gears currency symbol" width="250" height="250"> </div> <div class="eco-text"> <h2>Collecting Aero-Gears</h2> <p>The lifeblood of our floating city! Aero-Gears are virtual tokens used exclusively to power our mechanical games. They have absolutely no real-world monetary value and cannot be exchanged, cashed out, or purchased. Keep your altimeter high and enjoy the ride!</p> </div> </div> </section> <section id="mascot_spotlight" class="cloud-box"> <div class="mascot-wrap"> <div class="eco-text"> <h2>Meet Zephyr</h2> <p>Your friendly guide through the cloud-draped boardwalks is Zephyr, a brass owl automaton whose wings flutter gently in the breeze. He ensures your altimeter is calibrated and cheers you on as you interact with the wind-powered contraptions.</p> </div> <img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/mascot.webp?v=5e8557ce" srcset="https://cdn.pinwheelbreezeplay.com/mascot.webp?v=5e8557ce&w=141 141w, https://cdn.pinwheelbreezeplay.com/mascot.webp?v=5e8557ce&w=235 235w, https://cdn.pinwheelbreezeplay.com/mascot.webp?v=5e8557ce&w=372 372w, https://cdn.pinwheelbreezeplay.com/mascot.webp?v=5e8557ce 478w" sizes="(max-width: 768px) 92vw, (max-width: 1200px) 47vw, 478px" width="478" height="640" alt="Zephyr the brass owl mascot" class="mascot-img" width="300" height="400"> </div> </section> <section id="community_hub" class="cloud-box text-center"> <h2>Join the Sky City</h2> <p>Explore the connected islands and enjoy a friendly, social atmosphere.</p> <div class="mosaic-grid"> <div class="mosaic-item"><img loading="lazy" src="https://cdn.pinwheelbreezeplay.com/community_hub_img.webp?r=5e877ec7" srcset="https://cdn.pinwheelbreezeplay.com/community_hub_img.webp?r=5e877ec7&w=334 334w, https://cdn.pinwheelbreezeplay.com/community_hub_img.webp?r=5e877ec7&w=505 505w, https://cdn.pinwheelbreezeplay.com/community_hub_img.webp?r=5e877ec7&w=759 759w, https://cdn.pinwheelbreezeplay.com/community_hub_img.webp?r=5e877ec7 1024w" sizes="(max-width: 768px) 89vw, (max-width: 1200px) 49vw, 600px" width="1024" height="687" alt="Floating island hub" width="400" height="266"></div> <div class="mosaic-item"><div style="width:100%;height:100%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Fredoka One',cursive">Cloud Tavern</div></div> <div class="mosaic-item"><div style="width:100%;height:100%;background:var(--secondary);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Fredoka One',cursive">Zephyr's Roost</div></div> </div> </section> <section id="responsible_gaming" class="cloud-box"> <div class="text-center"><h2>Safe Skies Ahead</h2></div> <p>At Pinwheel Breeze, we believe that entertainment should always remain light, airy, and fun. While our sky-high adventures simulate traditional casino mechanics, they are completely free and involve no real money or real-world prizes. We are committed to promoting safe social gaming practices across New Zealand.</p> <p>If you find that playing is no longer a positive experience, or if you have concerns about your gaming habits, we strongly encourage you to take a break. Remember that success in our free virtual games does not imply future success at real-money gambling.</p> <p>Please utilize the resources below to access free, confidential support from New Zealand's trusted organizations if needed.</p> </section> </div> </main> <footer id="footer_base"> <div class="footer-grid"> <div class="footer-col"> <h3>Pinwheel Breeze Entertainment Ltd</h3> <ul> <li>147 Quay Street</li> <li>Auckland CBD, Auckland 1010</li> <li>New Zealand</li> <li>NZBN: 9429032115541</li> <li>Email: <a href="#" data-mail-href="support@pinwheelbreezeplay.com" aria-label="Send email to support">support@pinwheelbreezeplay.com</a></li> </ul> </div> <div class="footer-col"> <h4>Legal</h4> <ul> <li><a href="/privacy" aria-label="Read our Privacy Policy">Privacy Policy</a></li> <li><a href="/cookies" aria-label="Read our Cookie Policy">Cookie Policy</a></li> <li><a href="/terms" aria-label="Read our Terms of Service">Terms of Service</a></li> </ul> </div> <div class="footer-col"> <h4>Support & Resources</h4> <ul> <li><a href="https://www.pgf.nz/" target="_blank" rel="noopener" aria-label="Visit Problem Gambling Foundation NZ">Problem Gambling Foundation NZ</a></li> <li><a href="https://www.gamblinghelpline.co.nz/" target="_blank" rel="noopener" aria-label="Visit Gambling Helpline NZ">Gambling Helpline NZ</a></li> <li><a href="https://www.health.govt.nz/our-work/mental-health-and-addiction/gambling" target="_blank" rel="noopener" aria-label="Visit Ministry of Health Gambling info">Ministry of Health - Gambling</a></li> <li>Gambling Helpline: 0800 654 655</li> </ul> <div class="badge-18" aria-label="18 years and older only">18+</div> </div> <div class="footer-col"> <h4>Disclaimer</h4> <p style="font-size:.8rem;line-height:1.4">This is a FREE social casino. No real money is required to play, and no real money or prizes can be won. Practice or success at social casino gaming does not imply future success at real money gambling.</p> </div> </div> <div class="footer-bottom"> &copy; 2023 Pinwheel Breeze Entertainment Ltd. All rights reserved. </div> </footer> <script>let balance=5e3,isSpinningSlots=!1,isDropping=!1;function checkAgeGate(){const e=localStorage.getItem("pb_ageVerified");"false"===e?(document.getElementById("age-gate-main").style.display="none",document.getElementById("age-gate-block").style.display="block"):"true"===e&&(document.getElementById("age-gate").style.display="none")}function verifyAge(e){if(e){localStorage.setItem("pb_ageVerified","true");const e=document.getElementById("age-gate");e.style.opacity="0",setTimeout(()=>e.style.display="none",300)}else localStorage.setItem("pb_ageVerified","false"),document.getElementById("age-gate-main").style.display="none",document.getElementById("age-gate-block").style.display="block"}function checkCookieConsent(){localStorage.getItem("pb_cookieConsent")||(document.getElementById("cookie-banner").style.display="flex")}function handleCookies(e){localStorage.setItem("pb_cookieConsent",e?"true":"false");document.getElementById("cookie-banner").style.display="none"}function initBalance(){const e=localStorage.getItem("pb_balance");null!==e?balance=parseInt(e,10):(balance=5e3,saveBalance()),updateBalanceUI()}function saveBalance(){localStorage.setItem("pb_balance",balance.toString())}function updateBalance(e){balance+=e,balance<0&&(balance=0),saveBalance(),updateBalanceUI()}function updateBalanceUI(){const e=document.getElementById("balance-display");e.textContent=balance,e.classList.remove("twitch"),e.offsetWidth,e.classList.add("twitch")}document.addEventListener("DOMContentLoaded",()=>{checkAgeGate(),checkCookieConsent(),initBalance(),initSlots()});const slotSymbols=["☁️","🪁","🦉","☀️"],numStripSymbols=20;function startSlots(){document.getElementById("slots-intro").style.display="none"}function initSlots(){for(let e=0;e<3;e++){const t=document.getElementById(`reel-${e}`);t.innerHTML="";for(let e=0;e<numStripSymbols;e++){const e=document.createElement("div");e.textContent=slotSymbols[Math.floor(Math.random()*slotSymbols.length)],t.appendChild(e)}t.style.transform="translateY(0px)"}}function spinSlots(){if(isSpinningSlots)return;if(balance<50)return void(document.getElementById("slots-msg").textContent="Not enough Aero-Gears! Refresh page to refill.");isSpinningSlots=!0,updateBalance(-50),document.getElementById("slots-msg").textContent="Spinning...";const e=[document.getElementById("reel-0"),document.getElementById("reel-1"),document.getElementById("reel-2")],t=[];e.forEach((e,n)=>{const a=Math.floor(Math.random()*slotSymbols.length),o=slotSymbols[a];t.push(o),e.innerHTML="";for(let t=0;t<numStripSymbols-1;t++){const t=document.createElement("div");t.textContent=slotSymbols[Math.floor(Math.random()*slotSymbols.length)],e.appendChild(t)}const s=document.createElement("div");s.textContent=o,e.appendChild(s),e.style.transition="none",e.style.transform="translateY(0px)",setTimeout(()=>{e.style.transition=`transform ${2+.5*n}s cubic-bezier(0.1, 0.7, 0.1, 1)`,e.style.transform=`translateY(-${120*(numStripSymbols-1)}px)`},50)}),setTimeout(()=>{checkSlotsWin(t),isSpinningSlots=!1},3200)}function checkSlotsWin(e){let t=0;const n=document.getElementById("slots-msg");if(e[0]===e[1]&&e[1]===e[2]){const a=e[0];"☁️"===a?t=100:"🪁"===a?t=200:"☀️"===a?t=350:"🦉"===a&&(t=500),updateBalance(t),n.textContent=`Windfall! You won ${t} Aero-Gears!`,createConfetti()}else n.textContent="The wind shifts. Try again!"}function createConfetti(){for(let e=0;e<30;e++){const e=document.createElement("div");e.style.position="absolute",e.style.width="10px",e.style.height="10px",e.style.backgroundColor=["#FFA000","#F06292","#00ACC1"][Math.floor(3*Math.random())],e.style.left="50%",e.style.top="50%",e.style.zIndex="100",e.style.borderRadius="50%",e.style.pointerEvents="none",document.getElementById("zephyr_slots_showcase").appendChild(e);const t=Math.random()*Math.PI*2,n=50+100*Math.random(),a=Math.cos(t)*n,o=Math.sin(t)*n;e.animate([{transform:"translate(-50%, -50%) scale(1)",opacity:1},{transform:`translate(calc(-50% + ${a}px), calc(-50% + ${o}px)) scale(0)`,opacity:0}],{duration:1e3,easing:"ease-out"}).onfinish=()=>e.remove()}}const canvas=document.getElementById("plinkoCanvas"),ctx=canvas?canvas.getContext("2d"):null,cw=400,ch=500,pins=[],baskets=[],multipliers=[2,.5,5,.5,2];let animFrame,seed=null;function startPlinko(){document.getElementById("plinko-intro").style.display="none",document.getElementById("dropBtn").disabled=!1,initPlinkoBoard(),drawPlinko()}function initPlinkoBoard(){pins.length=0,baskets.length=0;const e=cw/7;for(let t=0;t<8;t++){let n=t%2==0?7:6,a=t%2==0?e/2:e;for(let o=0;o<n;o++)pins.push({x:a+o*e,y:50+43.75*t,radius:4})}for(let e=0;e<5;e++)baskets.push({x:80*e,y:450,w:80,h:50,mult:multipliers[e]})}function drawPlinko(){if(ctx&&(ctx.clearRect(0,0,cw,ch),ctx.fillStyle="#FFA000",pins.forEach(e=>{ctx.beginPath(),ctx.arc(e.x,e.y,e.radius,0,2*Math.PI),ctx.fill()}),baskets.forEach((e,t)=>{ctx.fillStyle=t%2==0?"rgba(0, 172, 193, 0.5)":"rgba(240, 98, 146, 0.5)",ctx.fillRect(e.x,e.y,e.w,e.h),ctx.fillStyle="#37474F",ctx.font="bold 16px Quicksand",ctx.textAlign="center",ctx.fillText(e.mult+"x",e.x+e.w/2,e.y+30)}),seed)){const e=document.getElementById("asset-seed");e&&e.complete?ctx.drawImage(e,seed.x-seed.radius,seed.y-seed.radius,2*seed.radius,2*seed.radius):(ctx.fillStyle="#FFF",ctx.shadowBlur=10,ctx.shadowColor="#FFF",ctx.beginPath(),ctx.arc(seed.x,seed.y,seed.radius,0,2*Math.PI),ctx.fill(),ctx.shadowBlur=0)}}function dropSeed(){isDropping||(balance<20?document.getElementById("plinko-msg").textContent="Not enough Aero-Gears!":(isDropping=!0,updateBalance(-20),document.getElementById("plinko-msg").textContent="Floating...",document.getElementById("dropBtn").disabled=!0,seed={x:20*Math.random()-10+200,y:10,vx:0,vy:0,radius:8},updatePlinko()))}function updatePlinko(){seed&&(seed.vy+=.2,seed.vy*=.98,seed.vx*=.98,seed.x+=seed.vx,seed.y+=seed.vy,seed.x<seed.radius&&(seed.x=seed.radius,seed.vx*=-.5),seed.x>cw-seed.radius&&(seed.x=cw-seed.radius,seed.vx*=-.5),pins.forEach(e=>{const t=seed.x-e.x,n=seed.y-e.y;if(Math.sqrt(t*t+n*n)<seed.radius+e.radius){const a=Math.atan2(n,t),o=Math.sqrt(seed.vx*seed.vx+seed.vy*seed.vy);seed.vx=Math.cos(a)*o*.8+2*(Math.random()-.5),seed.vy=Math.sin(a)*o*.8,seed.x=e.x+Math.cos(a)*(seed.radius+e.radius+1),seed.y=e.y+Math.sin(a)*(seed.radius+e.radius+1)}}),drawPlinko(),seed.y>450?finishPlinko():animFrame=requestAnimationFrame(updatePlinko))}function finishPlinko(){cancelAnimationFrame(animFrame);let e=baskets.find(e=>seed.x>=e.x&&seed.x<e.x+e.w),t=e?e.mult:0,n=Math.floor(20*t);updateBalance(n);const a=document.getElementById("plinko-msg");a.textContent=n>0?`Soft landing! Won ${n} Aero-Gears.`:"Blew away! Try again.",seed=null,isDropping=!1,document.getElementById("dropBtn").disabled=!1,drawPlinko()}</script> <script>document.querySelectorAll("form[data-mail]").forEach(function(t){t.addEventListener("submit",function(e){e.preventDefault();var a=new FormData(t),n=[];a.forEach(function(t,e){t&&n.push(e+": "+t)});var o=t.getAttribute("data-mail");window.location.href="mailto:"+o+"?subject=Contact&body="+encodeURIComponent(n.join("\n"))})}),document.querySelectorAll("a[data-mail-href]").forEach(function(t){t.addEventListener("click",function(e){e.preventDefault(),window.location.href="mailto:"+t.getAttribute("data-mail-href")})})</script> </body> </html>