The Original FeelingThe original feeling remains with the latest ORIGIN wing. True to its name, the ORIGIN embodies the ease and comfort of our original wings, while incorporating all the innovations and advancements we’ve developed over the years. New for this version, the ORIGIN now comes with optimized strap positions, allowing one boom to fit multiple sizes and models across the range for maximum convenience. We have also added a 6.0 m² size, providing even more options for riders to find their ideal setup. An accessible, light, versatile, and forgiving wing Legendary pumping and easy take-offs Optimized design for extra lightness and comfort Impressive freefly abilities in light wind Fantastic stability and maneuverability Perfectly suited to rapid progress and fun on the water .progress-container { display: flex; justify-content: space-between; background-color: #f9f9f9; padding: 40px 25px 60px 25px; } .progress-ring { width: 150px; height: 150px; position: relative; text-align: center; } .progress-ring circle { fill: transparent; stroke: #ff6800; stroke-width: 15; transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset 0.5s; } .progress-ring .ring-background { fill: transparent; stroke: #ccc; stroke-width: 15; transform: rotate(-90deg); transform-origin: 50% 50%; } .progress-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; } .progress-title { font-size: 20px; color: black; margin-top: 10px; } @media (max-width: 768px) { .progress-container { flex-direction: column; align-items: center; } .progress-ring { margin-bottom: 50px; } } An absolute dream in the low end, the ORIGIN is a super comfortable, light, forgiving, and accessible all-round wing that feels effortless to ride. It allows the easiest take-offs with minimal pumping and with just enough speed to get going. Beginners and experts alike will appreciate its very efficient and intuitive pumping thanks to its flexibility, as well as its super smooth take-offs. This wing is the softest and most comfortable one of our range. The ORIGIN also offers intuitive power delivery with barely any adjustments needed once in the air. Simply sheet in and let it make you foil away. Its controlled speed allows you to ride without excessive effort or fatigue. The ORIGIN is for everyone. It is the ideal choice for riders looking to spend long hours on the water, those who ride larger foils and boards and need easy power for planing starts, or for beginners looking for a high-quality wing with great potential to evolve and progress. Its lightness truly sets it apart from our other wings, making it also perfect to freefly in the low end. PERFORMANCE Freestyle 0% Surf 0% Freefly 0% Speed 0% document.addEventListener("DOMContentLoaded", function() { function animateProgress(ringId, from, to, duration) { const ring = document.querySelector(`#ring${ringId} .ring`); const text = document.getElementById(`progress${ringId}`); const title = document.querySelector(`#ring${ringId} .progress-title`); const circumference = 2 * Math.PI * 65; // Hardcoding the radius as 65 for this example const increment = (to - from) / (duration * 60); let current = from; function update() { if ((increment > 0 && current < to) || (increment < 0 && current > to)) { const offset = circumference - (current / 100) * circumference; ring.style.strokeDasharray = `${circumference} ${circumference}`; ring.style.strokeDashoffset = offset; text.textContent = `${Math.round(current)}%`; current += increment; requestAnimationFrame(update); } else { const offset = circumference - (to / 100) * circumference; ring.style.strokeDashoffset = offset; text.textContent = `${to}%`; } } update(); } function handleIntersection(entries, observer) { entries.forEach((entry) => { if (entry.isIntersecting) { const ringId = entry.target.id.replace('ring', ''); const from = 0; const to = parseInt(entry.target.getAttribute('data-progress'), 10); animateProgress(ringId, from, to, 2); observer.unobserve(entry.target); } }); } const rings = document.querySelectorAll('.progress-ring'); const observer = new IntersectionObserver(handleIntersection, { root: null, rootMargin: '0px', threshold: 0.2 // Adjust this threshold as needed }); rings.forEach((ring) => { observer.observe(ring); }); });