<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Market Brands — One Platform. Unlimited Results.</title>
<meta name="description" content="Market Brands enhances your systems with technology, AI, data, and expert teams to grow revenue, reduce costs, automate operations, and scale with confidence." />
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<script>
  tailwind.config = {
    theme: {
      extend: {
        colors: {
          brand: '#2563EB',
          brandink: '#0052FF',
          navy: '#0A1128',
          slatebg: '#F8F9FA',
        },
        fontFamily: {
          display: ['"Plus Jakarta Sans"', 'sans-serif'],
          body: ['Inter', 'sans-serif'],
        },
        maxWidth: { content: '1280px' },
      },
    },
  };
</script>
<style>
  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; color: #0A1128; }
  h1,h2,h3,h4 { font-family: 'Plus Jakarta Sans', sans-serif; }
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
  .reveal.in { opacity: 1; transform: none; }
  .card-lift { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .card-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10,17,40,.10); }
  /* ecosystem wheel */
  .wheel { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1/1; margin: 0 auto; }
  .orbit { position:absolute; inset:0; border:1px dashed rgba(37,99,235,.18); border-radius:50%; }
  .sat { position:absolute; width: 150px; transform: translate(-50%,-50%); }
  @media (prefers-reduced-motion: reduce){ .reveal{transition:none;opacity:1;transform:none;} .spin{animation:none!important;} }
  @keyframes spin { to { transform: rotate(360deg); } }
  .spin { animation: spin 60s linear infinite; }
  .marquee { animation: marquee 32s linear infinite; }
  @keyframes marquee { from { transform: translateX(0);} to { transform: translateX(-50%);} }
</style>
</head>
<body class="bg-white antialiased">

<!-- ============ 1. HEADER ============ -->
<header id="top" class="sticky top-0 z-50 bg-white/90 backdrop-blur-md border-b border-black/5">
  <div class="mx-auto max-w-content px-6 md:px-10 h-20 flex items-center justify-between">
    <a href="#top" class="flex items-center">
      <img src="assets/logo_with_text.webp" alt="Market Brands — One Platform. Unlimited Results." class="h-10 w-auto" width="417" height="96" />
    </a>
    <nav class="hidden lg:flex items-center gap-7 text-sm font-medium text-slate-600">
      <a href="#" class="flex items-center gap-1 hover:text-brand transition-colors">Platform <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
      <a href="#clouds" class="flex items-center gap-1 hover:text-brand transition-colors">Clouds <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
      <a href="#" class="flex items-center gap-1 hover:text-brand transition-colors">Products <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
      <a href="#" class="flex items-center gap-1 hover:text-brand transition-colors">Industries <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
      <a href="#" class="flex items-center gap-1 hover:text-brand transition-colors">Resources <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
    </nav>
    <div class="flex items-center gap-4">
      <a href="#" class="hidden sm:inline text-sm font-medium text-slate-700 hover:text-brand transition-colors">Log In</a>
      <a href="#cta" class="inline-flex items-center gap-2 rounded-xl bg-brand px-5 py-2.5 text-sm font-semibold text-white shadow-lg shadow-brand/20 hover:bg-blue-700 active:scale-95 transition cursor-pointer">Book a Strategy Call <span aria-hidden="true">→</span></a>
    </div>
  </div>
</header>

<main>
<!-- ============ 2. HERO ============ -->
<section class="relative overflow-hidden bg-gradient-to-b from-white to-slatebg">
  <div class="mx-auto max-w-content px-6 md:px-10 py-16 lg:py-24 grid lg:grid-cols-12 gap-12 items-center">
    <!-- left -->
    <div class="lg:col-span-6">
      <span class="inline-block rounded-full bg-blue-50 text-brand text-xs font-semibold tracking-[0.14em] px-4 py-1.5 mb-6">WE ENHANCE YOUR SYSTEMS</span>
      <h1 class="font-display text-4xl md:text-6xl font-extrabold tracking-tight leading-[1.05]">One Platform.<br /><span class="text-brand">Unlimited Results.</span></h1>
      <p class="mt-6 text-base md:text-lg leading-relaxed text-slate-600 max-w-xl">Market Brands enhances your systems with technology, AI, data, and expert teams to grow revenue, reduce costs, automate operations, and scale with confidence.</p>
      <div class="mt-8 flex flex-wrap gap-4">
        <a href="#cta" class="inline-flex items-center gap-2 rounded-xl bg-brand px-6 py-3.5 text-sm font-semibold text-white shadow-lg shadow-brand/25 hover:bg-blue-700 active:scale-95 transition cursor-pointer">Book a Strategy Call <span aria-hidden="true">→</span></a>
        <a href="#clouds" class="inline-flex items-center gap-2 rounded-xl border border-slate-300 bg-white px-6 py-3.5 text-sm font-semibold text-slate-800 hover:border-brand hover:text-brand active:scale-95 transition cursor-pointer">Explore MarketPlatform <span aria-hidden="true">→</span></a>
      </div>
      <div class="mt-10 flex items-center gap-4">
        <div class="flex -space-x-3">
          <img class="w-10 h-10 rounded-full ring-2 ring-white object-cover" src="https://i.pravatar.cc/80?img=12" alt="Customer" />
          <img class="w-10 h-10 rounded-full ring-2 ring-white object-cover" src="https://i.pravatar.cc/80?img=32" alt="Customer" />
          <img class="w-10 h-10 rounded-full ring-2 ring-white object-cover" src="https://i.pravatar.cc/80?img=45" alt="Customer" />
          <img class="w-10 h-10 rounded-full ring-2 ring-white object-cover" src="https://i.pravatar.cc/80?img=68" alt="Customer" />
        </div>
        <p class="text-sm text-slate-600"><span class="font-semibold text-navy">Join 1,000+ businesses</span><br />growing with Market Brands</p>
      </div>
    </div>
    <!-- right: ecosystem wheel -->
    <div class="lg:col-span-6">
      <div class="wheel" id="wheel">
        <div class="orbit spin" style="inset:6%"></div>
        <div class="orbit" style="inset:20%"></div>
        <div class="orbit" style="inset:34%"></div>
        <!-- center -->
        <div class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 grid place-items-center w-32 h-32 rounded-3xl bg-white shadow-2xl ring-1 ring-black/5">
          <img src="assets/logo.webp" alt="Market Brands" class="w-20 h-20" width="124" height="128" />
        </div>
        <!-- quadrant labels -->
        <span class="absolute left-1/2 -translate-x-1/2" style="top:30%"><b class="text-[10px] font-bold tracking-wider text-brand">GROW REVENUE</b></span>
        <span class="absolute left-1/2 -translate-x-1/2" style="top:64%"><b class="text-[10px] font-bold tracking-wider text-emerald-600">AUTOMATE WORK</b></span>
        <span class="absolute" style="top:46%;left:26%"><b class="text-[10px] font-bold tracking-wider text-amber-600">REDUCE COSTS</b></span>
        <span class="absolute" style="top:46%;left:62%"><b class="text-[10px] font-bold tracking-wider text-purple-600">EXECUTE FASTER</b></span>
        <!-- satellites positioned in JS -->
      </div>
    </div>
  </div>
</section>

<!-- ============ 3. TRUSTED BY ============ -->
<section class="border-y border-black/5 bg-white py-10">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <p class="text-center text-[11px] font-semibold tracking-[0.2em] text-slate-400 mb-7">TRUSTED BY BUSINESSES OF ALL SIZES</p>
    <div class="overflow-hidden">
      <div class="flex marquee gap-12 w-max items-center text-slate-400">
        <span id="logoset"></span>
      </div>
    </div>
  </div>
</section>

<!-- ============ 4. VALUE PROPS ============ -->
<section class="bg-slatebg py-20 md:py-24">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <div class="text-center max-w-2xl mx-auto reveal">
      <p class="text-[11px] font-semibold tracking-[0.2em] text-brand mb-3">WE ENHANCE YOUR SYSTEMS TO DELIVER WHAT MATTERS MOST</p>
      <h2 class="font-display text-3xl md:text-4xl font-bold tracking-tight">Better Systems. Better Results.</h2>
    </div>
    <div class="mt-14 grid sm:grid-cols-2 lg:grid-cols-4 gap-6" id="valueprops"></div>
  </div>
</section>

<!-- ============ 5. SEVEN CLOUDS ============ -->
<section id="clouds" class="bg-white py-20 md:py-24">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <div class="text-center max-w-2xl mx-auto reveal">
      <p class="text-[11px] font-semibold tracking-[0.2em] text-brand mb-3">ALL THE TOOLS. ALL CONNECTED.</p>
      <h2 class="font-display text-3xl md:text-4xl font-bold tracking-tight">Seven Clouds. One Platform.</h2>
      <p class="mt-4 text-slate-600">Everything your business needs—connected in one intelligent platform.</p>
    </div>
    <div class="mt-14 grid sm:grid-cols-2 lg:grid-cols-4 gap-6" id="cloudgrid"></div>
  </div>
</section>

<!-- ============ 6. STATS RIBBON ============ -->
<section class="bg-white pb-8">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <div class="rounded-3xl bg-navy px-8 py-12 grid grid-cols-2 lg:grid-cols-4 gap-8" id="stats"></div>
  </div>
</section>

<!-- ============ 7. CTA BANNER ============ -->
<section id="cta" class="bg-white py-10">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <div class="relative overflow-hidden rounded-3xl bg-gradient-to-br from-[#0A1128] via-[#162a6b] to-[#3b1d8a] px-8 md:px-14 py-14">
      <div class="absolute right-0 top-0 h-full w-1/2 pointer-events-none opacity-70">
        <svg viewBox="0 0 400 300" class="w-full h-full" fill="none"><g stroke="#3b82f6" stroke-width="1" opacity="0.5"><path d="M400 20 C300 80 320 160 400 220"/><path d="M400 60 C280 110 300 180 400 250"/><path d="M400 0 C320 60 340 140 400 200"/><path d="M380 300 C320 240 360 160 400 120"/></g></svg>
      </div>
      <div class="relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8">
        <div class="max-w-xl">
          <h2 class="font-display text-2xl md:text-3xl font-bold text-white">Enhance Your Systems. Unlock Your Potential.</h2>
          <p class="mt-3 text-slate-300 leading-relaxed">Market Brands brings everything together so your business can move faster, operate smarter, and achieve more.</p>
        </div>
        <div class="flex flex-wrap gap-4 shrink-0">
          <a href="#" class="inline-flex items-center gap-2 rounded-xl bg-brand px-6 py-3.5 text-sm font-semibold text-white hover:bg-blue-600 active:scale-95 transition cursor-pointer">Book a Strategy Call <span aria-hidden="true">→</span></a>
          <a href="#" class="inline-flex items-center gap-2 rounded-xl border border-white/40 px-6 py-3.5 text-sm font-semibold text-white hover:bg-white/10 active:scale-95 transition cursor-pointer">Explore MarketPlatform <span aria-hidden="true">→</span></a>
        </div>
      </div>
    </div>
  </div>
</section>
</main>

<!-- ============ 8. FOOTER ============ -->
<footer class="bg-navy text-slate-400 pt-16 pb-8">
  <div class="mx-auto max-w-content px-6 md:px-10">
    <div class="grid lg:grid-cols-12 gap-10">
      <div class="lg:col-span-3">
        <div class="flex items-center gap-3 mb-4">
          <img src="assets/logo.webp" alt="Market Brands" class="w-10 h-10 rounded-xl" width="124" height="128" />
          <span class="font-display font-extrabold text-white text-lg">Market <span class="text-brand">Brands.</span></span>
        </div>
        <p class="text-xs tracking-[0.16em] font-semibold text-slate-500 mb-4">ONE PLATFORM.<br />UNLIMITED RESULTS.</p>
        <p class="text-sm leading-relaxed text-slate-400 max-w-xs">We enhance your systems with technology, AI, data, and expert teams to help your business grow, operate, and scale.</p>
        <div class="flex gap-3 mt-6" id="social"></div>
      </div>
      <div class="lg:col-span-9 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-8 text-sm" id="footcols"></div>
    </div>
    <div class="mt-12 pt-6 border-t border-white/10 flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-slate-500">
      <p>© 2025 Market Brands. All rights reserved.</p>
      <div class="flex gap-6">
        <a href="#" class="hover:text-white transition-colors">Privacy Policy</a>
        <a href="#" class="hover:text-white transition-colors">Terms of Service</a>
        <a href="#" class="hover:text-white transition-colors">Cookie Policy</a>
      </div>
    </div>
  </div>
</footer>

<script src="data.js"></script>
<script>
// ---------- icon set ----------
const I = {
  user:'<path d="M12 12a4 4 0 100-8 4 4 0 000 8zM4 20a8 8 0 0116 0" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>',
  chart:'<path d="M4 20V10M10 20V4M16 20v-7M22 20H2" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>',
  mega:'<path d="M3 11v2a1 1 0 001 1h2l5 4V6L6 10H4a1 1 0 00-1 1zM15 8a4 4 0 010 8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
  box:'<path d="M12 2l9 5v10l-9 5-9-5V7l9-5zM3 7l9 5 9-5M12 12v10" stroke="currentColor" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>',
  data:'<ellipse cx="12" cy="5" rx="8" ry="3" stroke="currentColor" stroke-width="2"/><path d="M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3" stroke="currentColor" stroke-width="2"/>',
  team:'<path d="M9 11a3 3 0 100-6 3 3 0 000 6zM17 11a3 3 0 100-6M2 20a7 7 0 0114 0M16 20a7 7 0 015-6.7" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>',
  shield:'<path d="M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/>',
  core:'<path d="M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/><path d="M9 12l2 2 4-4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
  rocket:'<path d="M5 15c-1.5 1.5-2 5-2 5s3.5-.5 5-2M14 4c3-3 7-3 7-3s0 4-3 7l-5 5-4-4 5-5zM14 9l-4 4M15 13l1 4M7 8l-4 1" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
  dollar:'<path d="M12 2v20M16 6.5C16 4.6 14.2 3 12 3S8 4.6 8 6.5 9.8 10 12 10s4 1.6 4 3.5S14.2 17 12 17s-4-1.6-4-3.5" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>',
  robot:'<rect x="5" y="8" width="14" height="11" rx="3" stroke="currentColor" stroke-width="2"/><path d="M12 4v4M9 13h.01M15 13h.01M9 19v2M15 19v2" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>',
};
function ic(name){return '<svg viewBox="0 0 24 24" fill="none" class="w-6 h-6">'+I[name]+'</svg>';}

// ---------- logos ----------
const ls = DATA.logos.map(l=>`<span class="text-lg font-bold whitespace-nowrap tracking-wide hover:text-slate-600 transition-colors">${l}</span>`).join('');
document.getElementById('logoset').outerHTML = '<div class="flex gap-12 items-center pr-12">'+ls+ls+'</div>';

// ---------- ecosystem satellites ----------
const wheel=document.getElementById('wheel');
DATA.clouds.forEach((c,i)=>{
  const ang=(-90 + i*45)*Math.PI/180, r=50;
  const x=50+Math.cos(ang)*r, y=50+Math.sin(ang)*r;
  const el=document.createElement('div');
  el.className='sat'; el.style.left=x+'%'; el.style.top=y+'%';
  el.innerHTML=`<div class="rounded-2xl bg-white border border-black/5 shadow-lg p-3 text-center card-lift cursor-pointer">
    <span class="inline-grid place-items-center w-9 h-9 rounded-lg mb-1.5" style="background:${c.tint};color:${c.color}">${ic(c.icon)}</span>
    <p class="text-[12px] font-bold leading-tight">${c.name}</p>
    <p class="text-[9px] text-slate-500 leading-snug mt-1">${c.heroDesc}</p>
  </div>`;
  wheel.appendChild(el);
});

// ---------- value props ----------
document.getElementById('valueprops').innerHTML = DATA.values.map(v=>`
  <div class="reveal rounded-2xl bg-white border border-black/5 p-7 card-lift cursor-pointer">
    <span class="inline-grid place-items-center w-12 h-12 rounded-full mb-5" style="background:${v.tint};color:${v.color}">${ic(v.icon)}</span>
    <h3 class="font-display text-lg font-semibold mb-2">${v.name}</h3>
    <p class="text-sm text-slate-600 leading-relaxed mb-4">${v.desc}</p>
    <a href="#" class="text-sm font-semibold text-brand inline-flex items-center gap-1 hover:gap-2 transition-all">Learn more <span aria-hidden="true">→</span></a>
  </div>`).join('');

// ---------- cloud grid ----------
document.getElementById('cloudgrid').innerHTML = DATA.clouds.map(c=>`
  <div class="reveal rounded-2xl bg-white border border-slate-200 p-6 text-center card-lift cursor-pointer">
    <span class="inline-grid place-items-center w-14 h-14 rounded-xl mb-4" style="background:${c.tint};color:${c.color}">${ic(c.icon)}</span>
    <h3 class="font-display text-base font-semibold mb-2">${c.name}</h3>
    <p class="text-sm text-slate-600 leading-relaxed mb-4">${c.gridDesc}</p>
    <a href="#" class="text-sm font-semibold text-brand inline-flex items-center gap-1 hover:gap-2 transition-all">Explore <span aria-hidden="true">→</span></a>
  </div>`).join('');

// ---------- stats ----------
document.getElementById('stats').innerHTML = DATA.stats.map(s=>`
  <div class="text-center">
    <span class="inline-grid place-items-center w-12 h-12 rounded-xl bg-white/10 text-brand mb-3 mx-auto">${ic(s.icon)}</span>
    <p class="font-display text-3xl md:text-4xl font-extrabold text-white counter" data-target="${s.value}" data-suffix="${s.suffix}">0</p>
    <p class="text-sm text-slate-400 mt-1">${s.label}</p>
  </div>`).join('');

// ---------- social + footer ----------
const soc={li:'<path d="M6.94 7A1.94 1.94 0 105 5.06 1.94 1.94 0 006.94 7zM5.5 9h2.9v9.5H5.5zM10 9h2.8v1.3h.04A3.07 3.07 0 0115.6 8.8c3 0 3.5 2 3.5 4.5v5.2h-2.9v-4.6c0-1.1 0-2.5-1.5-2.5s-1.8 1.2-1.8 2.4v4.7H10z" fill="currentColor"/>',
  yt:'<path d="M21.6 7.2a2.5 2.5 0 00-1.8-1.8C18.2 5 12 5 12 5s-6.2 0-7.8.4A2.5 2.5 0 002.4 7.2 26 26 0 002 12a26 26 0 00.4 4.8 2.5 2.5 0 001.8 1.8C5.8 19 12 19 12 19s6.2 0 7.8-.4a2.5 2.5 0 001.8-1.8A26 26 0 0022 12a26 26 0 00-.4-4.8zM10 15V9l5 3z" fill="currentColor"/>',
  x:'<path d="M17.5 4h2.7l-5.9 6.8L21 20h-5.4l-4-5.2L6.8 20H4l6.3-7.3L4 4h5.5l3.6 4.8zm-1 14.3h1.5L8.5 5.6H6.9z" fill="currentColor"/>',
  fb:'<path d="M14 9h2.5l.5-3H14V4.5c0-.9.3-1.5 1.6-1.5H17V.3A22 22 0 0014.4 0C12 0 10.4 1.5 10.4 4.2V6H8v3h2.4v9H14z" fill="currentColor"/>'};
document.getElementById('social').innerHTML=['li','yt','x','fb'].map(s=>`<a href="#" aria-label="${s}" class="grid place-items-center w-9 h-9 rounded-lg bg-white/10 hover:bg-brand text-slate-300 hover:text-white transition-colors cursor-pointer"><svg viewBox="0 0 24 24" class="w-4 h-4">${soc[s]}</svg></a>`).join('');
document.getElementById('footcols').innerHTML = DATA.footer.map(col=>`
  <div>
    <h4 class="text-[11px] font-bold tracking-[0.14em] text-slate-500 mb-4">${col.title}</h4>
    <ul class="space-y-2.5">${col.links.map(l=>`<li><a href="#" class="text-slate-400 hover:text-white transition-colors">${l}</a></li>`).join('')}</ul>
  </div>`).join('');

// ---------- counters ----------
function animateCounter(el){
  const t=parseFloat(el.dataset.target), suf=el.dataset.suffix, dur=1400, st=performance.now();
  const dec=(t%1!==0);
  function step(now){
    const p=Math.min((now-st)/dur,1), e=1-Math.pow(1-p,3), val=t*e;
    el.textContent=(dec?val.toFixed(1):Math.floor(val).toLocaleString())+suf;
    if(p<1)requestAnimationFrame(step);
  }
  requestAnimationFrame(step);
}
// ---------- reveal + counter observers ----------
const io=new IntersectionObserver((es)=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}}),{threshold:.12});
document.querySelectorAll('.reveal').forEach(el=>io.observe(el));
const co=new IntersectionObserver((es)=>es.forEach(e=>{if(e.isIntersecting){animateCounter(e.target);co.unobserve(e.target);}}),{threshold:.5});
document.querySelectorAll('.counter').forEach(el=>co.observe(el));
</script>
</body>
</html>
