<!DOCTYPE html>
<html lang="nl">
<head>
  <div id="nzb-app" style="--bg:#0b1020;--bg-2:#0f1530;--panel:#111731;--muted:#95a0b8;--text:#eaf2ff;--brand:#2fd1ff;--brand-2:#57ffb0;--accent:#ffd057;--border:rgba(255,255,255,.08);--max:1200px;">
  <style>
    /* ====== Basis ====== */
    #nzb-app * { box-sizing:border-box }
    #nzb-app { color:var(--text); line-height:1.6; font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:linear-gradient(180deg, var(--bg) 0%, #0a0f1e 100%); padding-bottom:40px }
    #nzb-app a { color:#9fe7ff; text-decoration:none }
    #nzb-app a:hover { text-decoration:underline }
    #nzb-app .wrap{ max-width:var(--max); margin:auto; padding:0 20px }
    /* ====== Header ====== */
    #nzb-app header{
      position:sticky; top:0; z-index:5;
      backdrop-filter:saturate(1.1) blur(8px);
      background:linear-gradient(180deg, rgba(10,14,28,.85), rgba(10,14,28,.55));
      border-bottom:1px solid var(--border)
    }
    #nzb-app .topbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0 }
    #nzb-app .brand{ display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.2px; font-size:20px }
    #nzb-app .brand .dot{ color:var(--brand-2) }
    #nzb-app .brand small{ color:var(--muted); font-weight:600 }
    #nzb-app nav{ display:flex; gap:14px; flex-wrap:wrap }
    #nzb-app nav a{ padding:8px 12px; border-radius:10px; color:#dfe8ff }
    #nzb-app nav a:hover, #nzb-app nav a.active{
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      border:1px solid var(--border); text-decoration:none
    }
    #nzb-app .btn{ display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; border:1px solid var(--border);
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); color:#e9f2ff; cursor:pointer }
    #nzb-app .btn.brand{ background:linear-gradient(180deg, rgba(47,209,255,.18), rgba(87,255,176,.18)); border-color:rgba(47,209,255,.35) }
    /* ====== Hero & Zoekbalk ====== */
    #nzb-app .hero{
      margin:28px 0 22px; border-radius:26px; overflow:hidden;
      background:
        radial-gradient(1200px 400px at 10% -10%, rgba(47,209,255,.18), transparent 60%),
        radial-gradient(1200px 500px at 110% 10%, rgba(87,255,176,.14), transparent 60%),
        linear-gradient(180deg, var(--bg-2), #0a1026 65%, #0b1228);
      border:1px solid var(--border)
    }
    #nzb-app .hero .content{ display:grid; grid-template-columns:1.3fr .7fr; gap:26px; padding:34px }
    #nzb-app .hero h1{ margin:0 0 10px; font-size:28px }
    #nzb-app .lead{ color:#cfe2ff; margin:0 0 18px }
    #nzb-app .searchbar{
      display:flex; gap:10px; flex-wrap:wrap; background:rgba(8,12,28,.6);
      border:1px solid var(--border); padding:10px; border-radius:14px
    }
    #nzb-app .searchbar input, #nzb-app .searchbar select{
      flex:1 1 220px; min-width:180px; padding:12px 14px; border-radius:10px; border:1px solid var(--border);
      background:rgba(255,255,255,.03); color:var(--text)
    }
    #nzb-app .kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px }
    #nzb-app .kpi{ background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)); border:1px solid var(--border);
      border-radius:12px; padding:12px 14px }
    #nzb-app .kpi .n{ font-weight:800; font-size:22px }
    #nzb-app .kpi .t{ color:#aab6d3; font-size:13px }
    @media (max-width:1024px){ #nzb-app .hero .content{ grid-template-columns:1fr } }
    /* ====== Layout ====== */
    #nzb-app main{ display:grid; grid-template-columns:2fr 1fr; gap:28px; margin:26px 0 10px }
    @media (max-width:1024px){ #nzb-app main{ grid-template-columns:1fr } }
    #nzb-app .section-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:18px 0 10px }
    #nzb-app .section-head h2{ margin:0; font-size:22px }
    /* ====== CSS-only Slider ====== */
    #nzb-app .slider{ position:relative; border:1px solid var(--border); border-radius:18px; overflow:hidden }
    #nzb-app .slides{ display:grid; grid-auto-flow:column; grid-auto-columns:100% }
    #nzb-app .slide{ display:grid; grid-template-columns:1.2fr .8fr; min-height:320px }
    #nzb-app .visual{ background-size:cover; background-position:center; min-height:320px }
    #nzb-app .meta{ padding:18px; display:flex; flex-direction:column; gap:10px; background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)) }
    #nzb-app .badge{ display:inline-flex; gap:8px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; color:#0b1020;
      background:linear-gradient(180deg, var(--brand), var(--brand-2)) }
    #nzb-app .navdots{ display:flex; gap:6px; padding:12px; justify-content:center; border-top:1px solid var(--border); background:rgba(255,255,255,.02) }
    #nzb-app .dot{ width:9px; height:9px; border-radius:50%; background:#3a4569; border:1px solid var(--border); cursor:pointer }
    /* Slider via radio */
    #nzb-app input[type="radio"].s-toggle{ display:none }
    #nzb-app .slides-inner{ width:300%; display:flex; transition:transform .5s ease }
    #nzb-app #s1:checked ~ .slider .slides-inner{ transform:translateX(0%) }
    #nzb-app #s2:checked ~ .slider .slides-inner{ transform:translateX(-33.3333%) }
    #nzb-app #s3:checked ~ .slider .slides-inner{ transform:translateX(-66.6666%) }
    #nzb-app #s1:checked ~ .slider .navdots label[for="s1"],
    #nzb-app #s2:checked ~ .slider .navdots label[for="s2"],
    #nzb-app #s3:checked ~ .slider .navdots label[for="s3"]{ background:linear-gradient(180deg, var(--brand), var(--brand-2)) }
    /* ====== Cards grid ====== */
    #nzb-app .grid{ display:grid; gap:18px; grid-template-columns:repeat(3,1fr) }
    @media (max-width:920px){ #nzb-app .grid{ grid-template-columns:repeat(2,1fr) } }
    @media (max-width:620px){ #nzb-app .grid{ grid-template-columns:1fr } }
    #nzb-app .card{ border:1px solid var(--border); border-radius:16px; overflow:hidden; background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); display:flex; flex-direction:column }
    #nzb-app .thumb{ aspect-ratio:16/9; background:#0b132f center/cover no-repeat }
    #nzb-app .card .body{ padding:14px }
    #nzb-app .meta-row{ display:flex; gap:10px; align-items:center; color:#aab6d3; font-size:12px; margin:4px 0 8px }
    #nzb-app .chip{ display:inline-block; font-size:12px; padding:6px 10px; border-radius:999px; border:1px solid var(--border); color:#dfe8ff; background:rgba(255,255,255,.03) }
    #nzb-app .card .foot{ margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-top:1px solid var(--border) }
    /* ====== Sidebar ====== */
    #nzb-app aside .widget{ border:1px solid var(--border); border-radius:16px; padding:16px; background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); margin-bottom:18px }
    #nzb-app .widget h4{ margin:0 0 10px; font-size:16px }
    #nzb-app .newsletter input{ width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--border); background:rgba(255,255,255,.03); color:var(--text); margin-bottom:10px }
    #nzb-app .taglist{ display:flex; flex-wrap:wrap; gap:8px }
    #nzb-app .taglist a{ font-size:12px; border:1px solid var(--border); padding:6px 10px; border-radius:999px; color:#dfe8ff; background:rgba(255,255,255,.03) }
    #nzb-app .list{ display:grid; gap:10px }
    #nzb-app .list a{ display:grid; grid-template-columns:80px 1fr; gap:10px; align-items:center; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.02) }
    #nzb-app .list .t{ padding:8px 8px 8px 0 }
    #nzb-app .list .k{ font-size:12px; color:#aab6d3 }
    /* ====== CTA band & Footer ====== */
    #nzb-app .cta-band{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:24px 0 }
    @media (max-width:920px){ #nzb-app .cta-band{ grid-template-columns:1fr } }
    #nzb-app .cta{ border:1px solid var(--border); border-radius:16px; padding:18px; background:
        radial-gradient(600px 200px at 10% -10%, rgba(47,209,255,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)) }
    #nzb-app footer{ border-top:1px solid var(--border); background:linear-gradient(180deg, #0a0f1f, #090e1c); margin-top:26px }
    #nzb-app .fgrid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:20px; padding:30px 0 }
    @media (max-width:920px){ #nzb-app .fgrid{ grid-template-columns:1fr 1fr } }
    @media (max-width:600px){ #nzb-app .fgrid{ grid-template-columns:1fr } }
    #nzb-app .fsmall{ display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--border); padding:12px 0 28px; color:#aab6d3; font-size:13px; flex-wrap:wrap }
    /* ====== Helpers ====== */
    #nzb-app .sr{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
  </style>

  <!-- ===== Header ===== -->
  <header>
    <div class="wrap topbar">
      <div class="brand">
        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" aria-hidden="true">
          <defs><linearGradient id="g1" x1="0" y1="0" x2="24" y2="0"><stop stop-color="#2fd1ff"/><stop offset="1" stop-color="#57ffb0"/></linearGradient></defs>
          <path d="M3 12c3.5-3.2 6.7-3.2 10.2 0S20.8 15.2 23 12" stroke="url(#g1)" stroke-width="2" stroke-linecap="round"/>
        </svg>
        <span>Nederlandse Zwembaden <span class="dot">.NL</span></span>
        <small>kennis & advies</small>
      </div>
      <nav aria-label="Hoofdmenu">
        <a href="#" class="active">Home</a>
        <a href="#locaties">Zwemlocaties</a>
        <a href="#nieuws">Nieuws</a>
        <a href="#dossiers">Dossiers</a>
        <a href="#gidsen">Gidsen</a>
        <a href="#over">Over</a>
      </nav>
      <div style="display:flex; gap:10px; align-items:center">
        <a class="btn" href="#zoek">Zoeken</a>
        <a class="btn brand" href="#nieuwsbrief">Aanmelden nieuwsbrief</a>
      </div>
    </div>
  </header>

  <!-- ===== Hero ===== -->
  <section class="wrap hero" id="zoek">
    <div class="content">
      <div>
        <h1>Vind een zwemlocatie & blijf op de hoogte van zwemveiligheid</h1>
        <p class="lead">Zoek op plaats of zwembadnaam. Filter op type aanbieder en doel. Lees onafhankelijk nieuws en analyses.</p>
        <form class="searchbar" action="#" method="get">
          <label class="sr" for="q">Zoekterm</label>
          <input id="q" name="q" placeholder="Plaats, zwembad of aanbieder…" />
          <select name="type" aria-label="Type">
            <option value="">Alle types</option>
            <option>Gemeentelijk zwembad</option>
            <option>Commerciële zwemschool</option>
            <option>Vereniging / stichting</option>
          </select>
          <select name="doel" aria-label="Doel">
            <option value="">Doel</option>
            <option>Zwemles (jeugd)</option>
            <option>Zwemles (18+)</option>
            <option>Baby/peuter</option>
            <option>Banenzwemmen</option>
            <option>Recreatie</option>
          </select>
          <button class="btn brand" type="submit">Zoek zwemlocatie</button>
        </form>
        <div class="kpis">
          <div class="kpi"><div class="n">1.284</div><div class="t">Zwemlocaties</div></div>
          <div class="kpi"><div class="n">7–8</div><div class="t">Diplomalijnen</div></div>
          <div class="kpi"><div class="n">24</div><div class="t">Actuele dossiers</div></div>
        </div>
      </div>
      <div>
        <div style="border:1px solid var(--border);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02)">
          <img src="https://images.unsplash.com/photo-1540573133985-87b6da6d54a9?q=80&w=1200&auto=format&fit=crop" alt="Zwembad impressie" style="display:block;width:100%;aspect-ratio:4/3;object-fit:cover">
          <div style="padding:14px">
            <div class="badge">Uitgelicht</div>
            <h3 style="margin:8px 0 4px">Veilig zwembadwater: wat ouders moeten weten</h3>
            <p style="margin:0;color:#cfe2ff">Praktische uitleg over desinfectie, chloraat en wat je zelf kunt checken.</p>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- ===== Radios voor slider (CSS-only) ===== -->
  <input class="s-toggle" type="radio" name="slider" id="s1" checked>
  <input class="s-toggle" type="radio" name="slider" id="s2">
  <input class="s-toggle" type="radio" name="slider" id="s3">

  <!-- ===== Uitgelicht slider ===== -->
  <section class="wrap">
    <div class="section-head">
      <h2 id="uitgelicht">Uitgelicht</h2>
      <div style="display:flex; gap:8px; flex-wrap:wrap">
        <span class="chip">Alle</span><span class="chip">Zwemles</span><span class="chip">Waterkwaliteit</span><span class="chip">Beleid</span>
      </div>
    </div>
    <div class="slider">
      <div class="slides">
        <div class="slides-inner">
          <!-- Slide 1 -->
          <article class="slide">
            <div class="visual" style="background-image:url('https://images.unsplash.com/photo-1601582585289-95f1f9b9fdd4?q=80&w=1600&auto=format&fit=crop');"></div>
            <div class="meta">
              <span class="badge">Analyse</span>
              <h3>Chloraat & zwembadwater: feiten, risico’s en richtlijnen</h3>
              <p>Wat betekent een tijdelijke sluiting door verhoogd chloraat? Onafhankelijke info en normkaders op een rij.</p>
              <div class="meta-row"><span>🎯 Waterkwaliteit</span><span>•</span><time datetime="2025-09-14">14 sep 2025</time></div>
              <div style="margin-top:auto"><a class="btn" href="#">Lees artikel</a></div>
            </div>
          </article>
          <!-- Slide 2 -->
          <article class="slide">
            <div class="visual" style="background-image:url('https://images.unsplash.com/photo-1503342217505-b0a15cf70489?q=80&w=1600&auto=format&fit=crop');"></div>
            <div class="meta">
              <span class="badge">Gids</span>
              <h3>Welke diplomalijnen zijn er? Overzicht van 7–8 aanbieders</h3>
              <p>Minimale eisen verschillen per diplomalijn. Zo kies je bewust — en voorkom je appels met peren.</p>
              <div class="meta-row"><span>🏊‍♀️ Zwemles</span><span>•</span><time datetime="2025-09-10">10 sep 2025</time></div>
              <div style="margin-top:auto"><a class="btn" href="#">Vergelijk diplomalijnen</a></div>
            </div>
          </article>
          <!-- Slide 3 -->
          <article class="slide">
            <div class="visual" style="background-image:url('https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?q=80&w=1600&auto=format&fit=crop');"></div>
            <div class="meta">
              <span class="badge">Dossier</span>
              <h3>Beleid & beschikbaarheid: hoe houden we zwemles toegankelijk?</h3>
              <p>Personeelstekort, badwater en financiering. Oplossingen die wél werken.</p>
              <div class="meta-row"><span>🏛️ Beleid</span><span>•</span><time datetime="2025-09-05">5 sep 2025</time></div>
              <div style="margin-top:auto"><a class="btn" href="#">Lees het dossier</a></div>
            </div>
          </article>
        </div>
      </div>
      <div class="navdots">
        <label class="dot" for="s1" title="1"></label>
        <label class="dot" for="s2" title="2"></label>
        <label class="dot" for="s3" title="3"></label>
      </div>
    </div>
  </section>

  <!-- ===== Main grid ===== -->
  <main class="wrap" id="nieuws">
    <section aria-labelledby="laatste">
      <div class="section-head"><h2 id="laatste">Laatste berichten</h2><a class="btn" href="#">Alle berichten</a></div>
      <div class="grid">
        <!-- Card 1 -->
        <article class="card">
          <a href="#" class="thumb" style="background-image:url('https://images.unsplash.com/photo-1526318472351-c75fcf070305?q=80&w=1600&auto=format&fit=crop')" aria-label="Open artikel"></a>
          <div class="body">
            <div class="meta-row"><span>Nieuws</span><span>•</span><time datetime="2025-09-15">15 sep 2025</time></div>
            <h3><a href="#">Zomerse drukte: tips voor veilig recreatief zwemmen</a></h3>
            <p>Korte checklist voor gezinnen: toezicht, diepte, stroming, en zichtbaarheid.</p>
            <span class="chip">Zwemveiligheid</span>
          </div>
          <div class="foot"><a href="#">Lees verder</a><span>3 min</span></div>
        </article>
        <!-- Card 2 -->
        <article class="card">
          <a href="#" class="thumb" style="background-image:url('https://images.unsplash.com/photo-1562774053-701939374585?q=80&w=1600&auto=format&fit=crop')"></a>
          <div class="body">
            <div class="meta-row"><span>Gids</span><span>•</span><time datetime="2025-09-12">12 sep 2025</time></div>
            <h3><a href="#">Zo kies je een zwemlesaanbieder die bij je kind past</a></h3>
            <p>Groepsgrootte, diplomalijn, doorstroom en oudercommunicatie uitgelegd.</p>
            <span class="chip">Zwemles</span>
          </div>
          <div class="foot"><a href="#">Lees verder</a><span>6 min</span></div>
        </article>
        <!-- Card 3 -->
        <article class="card">
          <a href="#" class="thumb" style="background-image:url('https://images.unsplash.com/photo-1534361960057-19889db9621e?q=80&w=1600&auto=format&fit=crop')"></a>
          <div class="body">
            <div class="meta-row"><span>Analyse</span><span>•</span><time datetime="2025-09-10">10 sep 2025</time></div>
            <h3><a href="#">Waarom beschikbaarheid van badwater krap blijft</a></h3>
            <p>Data, oorzaken en scenario’s — en wat gemeenten/aanbieders nú kunnen doen.</p>
            <span class="chip">Beleid</span>
          </div>
          <div class="foot"><a href="#">Lees verder</a><span>5 min</span></div>
        </article>
      </div>

      <!-- CTA band -->
      <div class="cta-band">
        <article class="cta">
          <h3>📍 Vind een zwemlocatie</h3>
          <p>Zoek op plaats, aanbieder of faciliteit. Vergelijk openingstijden, lesaanbod en diplomalijnen.</p>
          <a class="btn brand" href="#locaties">Start de locatietool</a>
        </article>
        <article class="cta">
          <h3>📰 Meld een nieuwstip</h3>
          <p>Ziet u iets in de sector dat aandacht verdient? Deel uw tip met de redactie.</p>
          <a class="btn" href="#contact">Tip doorgeven</a>
        </article>
        <article class="cta" id="nieuwsbrief">
          <h3>📬 Nieuwsbrief</h3>
          <p>Maandelijks onafhankelijke updates over zwemles, zwembaden en beleid.</p>
          <a class="btn" href="#subscribe">Schrijf je in</a>
        </article>
      </div>
    </section>

    <!-- Sidebar -->
    <aside>
      <div class="widget">
        <h4>Nieuwsbrief</h4>
        <form class="newsletter" action="#" method="post">
          <input type="email" placeholder="jouw@email.nl" required>
          <button class="btn brand" type="submit">Inschrijven</button>
        </form>
      </div>
      <div class="widget">
        <h4>Populair</h4>
        <div class="list">
          <a href="#">
            <div style="width:80px; height:60px; background:url('https://images.unsplash.com/photo-1519315901367-f34ff9154487?q=80&w=1200&auto=format&fit=crop') center/cover"></div>
            <div class="t"><strong>Checklist buitenwater</strong><div class="k">Zomertips • 4 min</div></div>
          </a>
          <a href="#">
            <div style="width:80px; height:60px; background:url('https://images.unsplash.com/photo-1533560904424-2c2a5297f87e?q=80&w=1200&auto=format&fit=crop') center/cover"></div>
            <div class="t"><strong>Diplomalijnen vergeleken</strong><div class="k">Gids • 7 min</div></div>
          </a>
          <a href="#">
            <div style="width:80px; height:60px; background:url('https://images.unsplash.com/photo-1519315700643-2df091d45568?q=80&w=1200&auto=format&fit=crop') center/cover"></div>
            <div class="t"><strong>Sluiting en heropening: wat nu?</strong><div class="k">Analyse • 5 min</div></div>
          </a>
        </div>
      </div>
      <div class="widget">
        <h4>Tags</h4>
        <div class="taglist">
          <a href="#">Zwemles</a><a href="#">Waterkwaliteit</a><a href="#">Beleid</a><a href="#">Diploma</a><a href="#">Veiligheid</a><a href="#">Sector</a>
        </div>
      </div>
    </aside>
  </main>

  <!-- ===== Footer ===== -->
  <footer>
    <div class="wrap fgrid">
      <div>
        <div class="brand" style="margin-bottom:10px">
          <svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
            <defs><linearGradient id="g2" x1="0" y1="0" x2="24" y2="0"><stop stop-color="#2fd1ff"/><stop offset="1" stop-color="#57ffb0"/></linearGradient></defs>
            <path d="M3 12c3.5-3.2 6.7-3.2 10.2 0S20.8 15.2 23 12" stroke="url(#g2)" stroke-width="2" stroke-linecap="round"/>
          </svg>
          <span>Nederlandse Zwembaden <span class="dot">.NL</span></span>
        </div>
        <p style="color:#cfe2ff; margin:0">Kennis- en adviesplatform voor iedereen die iets te maken heeft met zwemmen en zwemveiligheid in Nederland.</p>
      </div>
      <div>
        <h4>Pagina’s</h4>
        <ul style="list-style:none; padding:0; margin:8px 0 0">
          <li><a href="#">Over ons</a></li>
          <li><a href="#">Redactie & contact</a></li>
          <li><a href="#">Adverteren</a></li>
          <li><a href="#">Privacy & cookies</a></li>
        </ul>
      </div>
      <div>
        <h4>Dossiers</h4>
        <ul style="list-style:none; padding:0; margin:8px 0 0">
          <li><a href="#">Chloraat & waterkwaliteit</a></li>
          <li><a href="#">Beschikbaarheid badwater</a></li>
          <li><a href="#">Zwemvaardigheid kinderen</a></li>
        </ul>
      </div>
      <div>
        <h4>Volg ons</h4>
        <ul style="list-style:none; padding:0; margin:8px 0 0">
          <li><a href="#">LinkedIn</a></li>
          <li><a href="#">Facebook</a></li>
          <li><a href="#">Instagram</a></li>
        </ul>
      </div>
    </div>
    <div class="wrap fsmall">
      <div>© Nederlandse Zwembaden .NL</div>
      <div><a href="#">Gebruiksvoorwaarden</a></div>
    </div>
  </footer>
</div>