class CustomPreloader extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
LOADING PORTFOLIO
`; // Simulate loading setTimeout(() => { this.style.opacity = '0'; setTimeout(() => { this.remove(); }, 800); }, 2000); } } customElements.define('custom-preloader', CustomPreloader);