Hygelion

Service catalog

Choose your next care module.

Compare focused Hygelion services by environment, schedule, and scope. Save a module to Fallows or add it to your planning cart.

`; const footerHTML = ``; document.getElementById('site-header').innerHTML = headerHTML; document.getElementById('site-footer').innerHTML = footerHTML; (function(){ const header=document.getElementById('site-header'); const toggleBtn=header.querySelector('[data-menu-toggle]'); const mobileDrawer=header.querySelector('[data-mobile-drawer]'); if(toggleBtn&&mobileDrawer){toggleBtn.addEventListener('click',()=>{mobileDrawer.classList.toggle('hidden');});mobileDrawer.addEventListener('click',e=>{if(e.target===mobileDrawer)mobileDrawer.classList.add('hidden');});} const themeBtn=header.querySelector('[data-theme-toggle]'); if(themeBtn){let dark=localStorage.getItem('hygelion-theme')!=='light';const apply=()=>{if(dark){document.documentElement.classList.add('dark');}else{document.documentElement.classList.remove('dark');}};apply();themeBtn.addEventListener('click',()=>{dark=!dark;localStorage.setItem('hygelion-theme',dark?'dark':'light');apply();});} const authModal=header.querySelector('[data-auth-modal]'); header.querySelectorAll('[data-login-open]').forEach(b=>b.addEventListener('click',()=>{authModal.hidden=false;authModal.querySelector('[data-auth-title]').innerText='Log in to Hygelion';})); header.querySelectorAll('[data-register-open]').forEach(b=>b.addEventListener('click',()=>{authModal.hidden=false;authModal.querySelector('[data-auth-title]').innerText='Register at Hygelion';})); authModal.querySelector('[data-modal-close]').addEventListener('click',()=>{authModal.hidden=true;}); })(); (function(){const b=document.getElementById('site-footer').querySelector('[data-cookie-banner]');const c=b.querySelector('[data-cookie-close]');if(localStorage.getItem('hygeli-cookie-consent')==='accepted'){b.style.display='none';}c.addEventListener('click',()=>{localStorage.setItem('hygeli-cookie-consent','accepted');b.style.display='none';});})(); const services = [{"id":"s1","name":"Executive Office Polish","category":"Office","shortDescription":"Premium daily floor and surface care for C-suite suites.","description":"Daily vacuuming, damp mopping, and detailed dusting of all wood, glass, and tech surfaces using pH-neutral agents.","price":185,"unit":"per visit","duration":"90 min","cadence":"Weekly","features":["Microfiber dusting","Glass restoration","Tech wipe-down"],"availability":"Mon–Fri"}, {"id":"s2","name":"Conference Deep Cycle","category":"Office","shortDescription":"Full-room sanitation between high-usage bookings.","description":"Carpet extraction, chair upholstery spot-cleaning, and air-vent vacuuming plus touch-point sterilization.","price":320,"unit":"per session","duration":"2.5 h","cadence":"Bi-weekly","features":["Upholstery refresh","Vent filtration","Sanitizer fogger"],"availability":"After hours"}, {"id":"s3","name":"Reception Welcome Reset","category":"Office","shortDescription":"Lobby, plants, and signage polish ready for guests.","description":"Reception desk restoration, plant leaf conditioning, water-feature hygiene and fresh floral accent placement.","price":120,"unit":"per visit","duration":"45 min","cadence":"Daily","features":["Plant care","Sign refresh","Scent control"],"availability":"Pre-opening"}, {"id":"s4","name":"Residential Sanctuary Clean","category":"Residential","shortDescription":"Complete weekly maintenance for family homes.","description":"Kitchen, bath, bedroom, and living-area deep clean with natural enzyme cleaners and linen rotation.","price":240,"unit":"per visit","duration":"3 h","cadence":"Weekly","features":["Linen exchange","Oven interior","Pet dander focus"],"availability":"Flexible"}, {"id":"s5","name":"Post-Renovation Wipe","category":"Residential","shortDescription":"Removes construction dust across all finished surfaces.","description":"Full-property HEPA vacuum and neutral-pH wipe-down including cabinets, light fixtures, and window frames.","price":420,"unit":"per project","duration":"5 h","cadence":"One-time","features":["HEPA extraction","Cabinet interiors","Glass detailing"],"availability":"Scheduled"}, {"id":"s6","name":"Premium Kitchen Refinement","category":"Residential","shortDescription":"Deep sanitation of appliances, backsplash and counters.","description":"Stainless polish, grout line extraction, hood filter clean and stone conditioning treatment.","price":155,"unit":"per visit","duration":"2 h","cadence":"Weekly","features":["Grout purge","Stone seal","Filter laundry"],"availability":"Flexible"}, {"id":"s7","name":"Industrial Floor Renewal","category":"Commercial","shortDescription":"Heavy-duty sweep and scrub of warehouse aisles.","description":"Ride-on floor scrubber pass plus edge detail and dock area de-greasing with eco-safe detergents.","price":690,"unit":"per shift","duration":"4 h","cadence":"Weekly","features":["Ride-on scrub","Dock de-grease","Edge detailing"],"availability":"After hours"}, {"id":"s8","name":"Retail Merchandising Reset","category":"Commercial","shortDescription":"Storefront window and display cycle maintenance.","description":"Window washing, fixture dusting, floor burnishing and point-of-sale counter sanitization.","price":275,"unit":"per visit","duration":"2 h","cadence":"Twice weekly","features":["Window streak-free","Fixture polish","POS hygiene"],"availability":"Pre-opening"}, {"id":"s9","name":"Medical-Grade Zone Care","category":"Commercial","shortDescription":"Clinic waiting and treatment room protocol clean.","description":"Hospital-grade disinfectant protocol, bio-waste handling, exam table linens and air purification filter swap.","price":395,"unit":"per visit","duration":"3 h","cadence":"Daily","features":["Disinfectant protocol","Air filter swap","Bio-waste removal"],"availability":"After hours"}, {"id":"s10","name":"Hotel Suite Turnover","category":"Commercial","shortDescription":"Full turnover deep-clean between extended stays.","description":"Mattress and upholstery steam, bathroom tile grout extraction, and complete linen rotation service.","price":165,"unit":"per suite","duration":"75 min","cadence":"As needed","features":["Steam sanitation","Grout extraction","Linen exchange"],"availability":"Flexible"}]; const categories = [...new Set(services.map(s=>s.category))]; const catSelect = document.getElementById('category'); categories.forEach(c=>{const opt=document.createElement('option');opt.value=c;opt.textContent=c;catSelect.appendChild(opt);}); let currentPage=1;const perPage=6;let filtered=services; function getFallows(){return JSON.parse(localStorage.getItem('hygeli-fallows')||'[]');} function setFallows(arr){localStorage.setItem('hygeli-fallows',JSON.stringify(arr));} function getCart(){return JSON.parse(localStorage.getItem('hygeli-cart')||'{}');} function setCart(obj){localStorage.setItem('hygeli-cart',JSON.stringify(obj));} function filterAndRender(){ const q=document.getElementById('search').value.toLowerCase().trim(); const cat=document.getElementById('category').value; filtered=services.filter(s=>(cat==='all'||s.category===cat)&&(s.name.toLowerCase().includes(q)||s.shortDescription.toLowerCase().includes(q))); currentPage=1;renderGrid();renderPagination(); } function renderGrid(){ const grid=document.getElementById('catalog-grid');grid.innerHTML=''; const start=(currentPage-1)*perPage;const pageItems=filtered.slice(start,start+perPage); const fallows=getFallows();const cart=getCart(); pageItems.forEach(s=>{ const score=Math.round((parseInt(s.duration)*.3)+(s.features.length*8)+(s.cadence==='Weekly'?12:6)); const isFav=fallows.includes(s.id);const qty=cart[s.id]||0; const card=document.createElement('div');card.className='dd23l xk9h7 border border-slate-800 bg-slate-900 p-6 rounded-2xl flex flex-col'; card.innerHTML=`
${s.category}${score} score

${s.name}

${s.shortDescription}

$${s.price} /${s.unit}
`; card.querySelector('[data-fav]').addEventListener('click',e=>{e.preventDefault();let f=getFallows();f.includes(s.id)?f=f.filter(x=>x!==s.id):f.push(s.id);setFallows(f);filterAndRender();}); card.querySelector('[data-add]').addEventListener('click',e=>{e.preventDefault();let c=getCart();c[s.id]=(c[s.id]||0)+1;setCart(c);filterAndRender();}); card.addEventListener('click',e=>{if(!e.target.closest('button'))openModal(s);}); grid.appendChild(card); }); } function renderPagination(){ const pag=document.getElementById('pagination');pag.innerHTML=''; const pages=Math.ceil(filtered.length/perPage); for(let i=1;i<=pages;i++){const a=document.createElement('a');a.href='#';a.className=`px-4 py-2 rounded-xl text-sm border ${i===currentPage?'bg-indigo-600 border-indigo-600':'border-slate-700 hover:border-violet-400'}`;a.textContent=i;a.addEventListener('click',ev=>{ev.preventDefault();currentPage=i;renderGrid();renderPagination();});pag.appendChild(a);} } function openModal(s){ const modal=document.getElementById('detail-modal');const cont=document.getElementById('detail-content'); cont.innerHTML=`

${s.name}

${s.category} • ${s.duration} • ${s.cadence}

${s.description}

Availability: ${s.availability}
`; modal.hidden=false;modal.querySelector('[data-close-detail]').onclick=()=>modal.hidden=true; } document.getElementById('search').addEventListener('input',filterAndRender); document.getElementById('category').addEventListener('change',filterAndRender); filterAndRender();