const toggleButton=document.getElementById("theme-toggle"),body=document.querySelector("body"),setTheme=e=>{body.dataset.theme=e,localStorage.setItem("preferred-theme",e)},getTheme=()=>{let e=localStorage.getItem("preferred-theme");return e||"dark"},toggleTheme=()=>{let e=body.dataset.theme,t="light"===e?"dark":"light";setTheme(t)};toggleButton.addEventListener("click",toggleTheme);const preferredTheme=getTheme();setTheme(preferredTheme);const lenis=new Lenis({autoRaf:!0,infinite:!0});lenis.on("scroll",ScrollTrigger.update),gsap.ticker.add(e=>{lenis.raf(1e3*e)});const images=document.querySelectorAll(".artwall-image"),scaleMap={};function applyRandomScale(){images.forEach(e=>{let t=e.src;scaleMap[t]||(scaleMap[t]=.3*Math.random()+.85),e.style.transform=`scale(${scaleMap[t]})`})}applyRandomScale();const repeatItems=(e,t=0)=>{let o=[...e.children];for(let r=0;r=768?6:2),document.addEventListener("DOMContentLoaded",e=>{gsap.registerPlugin(ScrollTrigger),function e(){let t=document.querySelector(".loader-text");gsap.to(t,{duration:1,textContent:100,snap:{textContent:1},onComplete(){let e=gsap.timeline();e.to(".loader-text",{duration:1.5,yPercent:-800,opacity:0,ease:"power3.inOut"}).to(".loader",{duration:1.5,yPercent:110,ease:"power3.inOut"},0).from(".slogan",{ease:"power3.out",filter:"blur(0.5rem)",yPercent:-100,opacity:0},.5).from(".nav_item",{ease:"power3.out",filter:"blur(0.5rem)",yPercent:-100,opacity:0,stagger:.05},.55)}})}(),document.querySelectorAll("a").forEach(e=>{let t=e.host===window.location.host;t&&e.addEventListener("click",function(e){e.preventDefault();let t=this.getAttribute("href");gsap.fromTo(".loader",{yPercent:-101},{yPercent:0,ease:"power3.inOut",duration:.5,onComplete(){window.location.href=t}}),gsap.to("#logo",{duration:.5,yPercent:-50,filter:"blur(1rem)",opacity:0,ease:"power3.in",onComplete(){window.location.href=t}})})});let t=document.querySelector(".cursor"),o=document.querySelector(".cursor_stroke"),r=document.querySelectorAll("a, button");gsap.set([t,o],{xPercent:-50,yPercent:-50});let n=gsap.quickSetter(t,"x","px"),a=gsap.quickSetter(t,"y","px");window.addEventListener("mousemove",e=>{n(e.x),a(e.y),gsap.to(o,{duration:.2,x:e.clientX,y:e.clientY})});let l=(e,r,n,a=.4,l="power3.inOut")=>{e.addEventListener("mouseover",()=>{t.style.opacity=r,o.style.opacity=r,gsap.to(o,{scale:n,duration:a,ease:l})}),e.addEventListener("mouseout",()=>{t.style.opacity=1,o.style.opacity=1,gsap.to(o,{scale:1,duration:a,ease:l})})};r.forEach(e=>l(e,0,1.75)),document.addEventListener("mousedown",function(e){gsap.to(o,{scale:1.5,ease:"power2.in"})}),document.addEventListener("mouseup",function(e){gsap.to(o,{scale:1,delay:.3,ease:"power2.out"})})});