<!-- Peilmerk · schadehulp bij water en storm, landelijk · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="pm-site">
<div class="pm-top"><div class="pm-wrap pm-top__in">
<span>Gemeld vóór 12:00, dan staat er binnen 48 uur een expert bij u thuis</span>
<span class="pm-top__r"><span>Klantwaardering <b>8,9</b> uit 412 beoordelingen</span><a href="#pm-contact">Spoedlijn 030 123 4567</a></span>
</div></div>
<div class="pm-nav" role="banner"><div class="pm-wrap pm-nav__in">
<a class="pm-logo" href="#" aria-label="Peilmerk, naar de homepage">
<svg viewBox="0 0 28 36" aria-hidden="true"><rect x="2" y="1" width="8" height="34" rx="1"/><path d="M10 5h9M10 9h5M10 13h9M10 17h5M10 21h9M10 25h5M10 29h9"/><path class="pm-logo__w" d="M0 22c3-2 6-2 9 0s6 2 9 0 6-2 9 0"/></svg>
<span>Peilmerk<small>schadehulp</small></span>
</a>
<ul class="pm-menu">
<li><a href="#pm-diensten">Waterschade</a></li>
<li><a href="#pm-diensten">Stormschade</a></li>
<li><a href="#pm-werkwijze">Werkwijze</a></li>
<li><a href="#pm-kosten">Kosten</a></li>
<li><a href="#pm-verzekeraars">Verzekeraars</a></li>
<li><a href="#pm-kennis">Kennisbank</a></li>
</ul>
<a class="pm-btn pm-btn--sm" href="#pm-check">Schade melden</a>
<button class="pm-burger" type="button" aria-expanded="false" aria-label="Menu openen"><span></span><span></span></button>
</div>
<div class="pm-mnav" hidden><div class="pm-wrap">
<a href="#pm-diensten">Waterschade</a><a href="#pm-diensten">Stormschade</a><a href="#pm-werkwijze">Werkwijze</a><a href="#pm-kosten">Kosten</a><a href="#pm-verzekeraars">Verzekeraars</a><a href="#pm-kennis">Kennisbank</a><a href="#pm-contact">Contact</a>
</div></div></div>
<div class="pm-hero"><div class="pm-wrap pm-hero__grid">
<div class="pm-hero__txt">
<p class="pm-kick">Onafhankelijke schade-experts voor particulieren · heel Nederland</p>
<h1>Water- of stormschade aan uw huis? Wij voeren het gesprek met uw verzekeraar.</h1>
<p class="pm-lead">De verzekeraar stuurt een eigen expert. Wij staan aan uw kant: we meten de schade op, onderbouwen het bedrag en onderhandelen tot de uitkering klopt. Bij een gedekte schade betaalt de verzekeraar onze kosten.</p>
<dl class="pm-facts">
<div><dt>48 uur</dt><dd>van melding tot huisbezoek</dd></div>
<div><dt>€ 0</dt><dd>vooraf, ook niet bij afwijzing</dd></div>
<div><dt>2.140</dt><dd>dossiers afgerond sinds 2019</dd></div>
</dl>
</div>
<form class="pm-chk" id="pm-check" novalidate>
<div class="pm-chk__head"><b>Gratis dekkingscheck</b><span class="pm-chk__ct">Stap <i>1</i> van 3</span></div>
<div class="pm-chk__gauge" aria-hidden="true"><span class="is-on"></span><span></span><span></span></div>
<fieldset class="pm-step is-on" data-s="1">
<legend>Wat is er gebeurd?</legend>
<div class="pm-opts">
<label><input type="radio" name="pm-wat" value="leiding"><span><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3.5c3 4 5.5 7 5.5 10a5.5 5.5 0 0 1-11 0c0-3 2.5-6 5.5-10z"/><path d="M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5"/></svg>Lekkage van leiding of cv</span></label>
<label><input type="radio" name="pm-wat" value="regen"><span><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 11l8-6.5 8 6.5"/><path d="M6 9.5V20h12V9.5"/><path d="M8.5 17c1.2-1 2.3-1 3.5 0s2.3 1 3.5 0"/></svg>Regen- of grondwater binnen</span></label>
<label><input type="radio" name="pm-wat" value="storm"><span><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 13l9-8 9 8"/><path d="M6 11v9h12v-9"/><path d="M14.5 6.5l2-1.5M16 9l2.5-1"/></svg>Storm: dak, gevel of schutting</span></label>
<label><input type="radio" name="pm-wat" value="hagel"><span><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 14.5a4 4 0 0 1 .5-8 5 5 0 0 1 9.5 1.5 3.3 3.3 0 0 1-.5 6.5z"/><circle cx="8.5" cy="18" r=".9"/><circle cx="12" cy="20" r=".9"/><circle cx="15.5" cy="18" r=".9"/></svg>Hagel op dak, ramen of auto</span></label>
<label class="pm-opts__wide"><input type="radio" name="pm-wat" value="anders"><span><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M9.8 9.6a2.3 2.3 0 1 1 3 2.2c-.6.3-.8.7-.8 1.4M12 16.3v.2"/></svg>Iets anders, ik twijfel</span></label>
</div>
</fieldset>
<fieldset class="pm-step" data-s="2">
<legend>Hoe bent u verzekerd?</legend>
<div class="pm-seg">
<label><input type="radio" name="pm-pol" value="opstal"><span>Opstal</span></label>
<label><input type="radio" name="pm-pol" value="inboedel"><span>Inboedel</span></label>
<label><input type="radio" name="pm-pol" value="beide"><span>Beide</span></label>
<label><input type="radio" name="pm-pol" value="weet"><span>Weet ik niet</span></label>
</div>
<label class="pm-fld">Wanneer ontstond de schade?
<select name="pm-wanneer">
<option value="">Kies een moment</option>
<option value="vandaag">Vandaag of gisteren</option>
<option value="week">Deze week</option>
<option value="maand">Afgelopen maand</option>
<option value="ouder">Langer dan een maand geleden</option>
</select>
</label>
</fieldset>
<fieldset class="pm-step" data-s="3">
<legend>Waar kunnen we u bereiken?</legend>
<div class="pm-row">
<label class="pm-fld">Postcode<input name="pm-pc" autocomplete="postal-code" placeholder="3526 KM"></label>
<label class="pm-fld pm-fld--s">Huisnr.<input name="pm-nr" placeholder="41"></label>
</div>
<label class="pm-fld">Naam<input name="pm-naam" autocomplete="name" placeholder="Voor- en achternaam"></label>
<label class="pm-fld">Telefoon<input name="pm-tel" type="tel" autocomplete="tel" placeholder="06 1234 5678"></label>
</fieldset>
<div class="pm-res" hidden></div>
<p class="pm-chk__err" aria-live="polite"></p>
<div class="pm-chk__nav">
<button type="button" class="pm-chk__back" hidden>Vorige</button>
<button type="button" class="pm-btn pm-chk__next">Volgende stap</button>
</div>
<p class="pm-chk__fine">Duurt ongeveer een minuut. Geen kosten, geen verplichting. Wij delen uw gegevens niet met uw verzekeraar zonder uw akkoord.</p>
</form>
</div></div>
<figure class="pm-band">
<img src="https://neddev.com/lab-media/site-schadehulp-1.webp" alt="Droogmachines in een woonkamer met verwijderde laminaatvloer na een lekkage" loading="lazy">
<figcaption class="pm-wrap"><span class="pm-band__tag">Dossier PM-26-3817 · Amersfoort</span><span>Lekkage onder de vloer van een tussenwoning. Droogtraject dag 3 van 9. Uitkering na contra-expertise: € 11.460 (eerste bod € 6.900).</span></figcaption>
</figure>
<div class="pm-sec" id="pm-werkwijze"><div class="pm-wrap">
<div class="pm-sh"><span class="pm-sh__n">01</span><h2>Van melding tot uitkering in vijf stappen</h2><p>Gemiddelde doorlooptijd in 2025: 27 dagen. Bij grote schade of discussie over de oorzaak duurt het langer; u hoort elke week waar het dossier staat.</p></div>
<ol class="pm-proc">
<li><span class="pm-proc__d">Dag 0</span><b>Melding en check</b><p>U doet de check of belt. Binnen twee werkuren bellen we terug en lezen we samen uw polisvoorwaarden.</p><em>U: foto's maken, niets weggooien</em></li>
<li><span class="pm-proc__d">Dag 1 tot 2</span><b>Huisbezoek</b><p>De expert meet vocht, oorzaak en omvang op. Gemiddeld anderhalf uur bij u thuis, met vochtmeter en warmtecamera.</p><em>U: aanwezig zijn, polis bij de hand</em></li>
<li><span class="pm-proc__d">Dag 3 tot 6</span><b>Rapport en begroting</b><p>U krijgt het schaderapport met posten per ruimte, offertes van herstellers en de dekkingsvraag uitgewerkt.</p><em>U: rapport lezen en akkoord geven</em></li>
<li><span class="pm-proc__d">Dag 7 tot 25</span><b>Overleg met verzekeraar</b><p>Wij sturen het rapport in, bespreken het met de expert van de verzekeraar en weerleggen een te laag bod.</p><em>U: niets, wij houden u op de hoogte</em></li>
<li><span class="pm-proc__d">Dag 20 tot 40</span><b>Uitkering en herstel</b><p>Na akkoord keert de verzekeraar uit op uw rekening. Wilt u, dan plannen wij de hersteller in.</p><em>U: herstel kiezen, of zelf laten doen</em></li>
</ol>
</div></div>
<div class="pm-sec pm-sec--alt" id="pm-diensten"><div class="pm-wrap">
<div class="pm-sh"><span class="pm-sh__n">02</span><h2>Waar we bij helpen</h2><p>Alleen woonhuizen en inboedel van particulieren. Voor bedrijfspanden verwijzen we door.</p></div>
<div class="pm-svc">
<article class="pm-svc__a">
<img src="https://neddev.com/lab-media/site-schadehulp-4.webp" alt="Keukenvloer onder water na hevige regen" loading="lazy">
<div class="pm-svc__b">
<h3>Waterschade</h3>
<p>Lekkende leidingen, een kapotte cv-ketel, regen die via de achterdeur of het dak binnenkomt. De verzekeraar vraagt dan vaak: was het plotseling en onvoorzien? Daar draait de dekking om.</p>
<div class="pm-svc__cols">
<div><h4>Typische meldingen</h4><ul><li>Lekkage onder de vloer of in de kruipruimte</li><li>Water door het plafond van de badkamer</li><li>Regenwater na een wolkbreuk</li><li>Schimmel na een niet ontdekte lekkage</li></ul></div>
<div><h4>Waar wij op letten</h4><ul><li>Oorzaak versus gevolgschade</li><li>Opsporingskosten en breekwerk</li><li>Drogen, herstel én inboedel</li><li>Verblijfskosten als u niet thuis kunt wonen</li></ul></div>
</div>
</div>
</article>
<article class="pm-svc__a pm-svc__a--s">
<img src="https://neddev.com/lab-media/site-schadehulp-3.webp" alt="Rij Nederlandse woningen met losgewaaide dakpannen na een storm" loading="lazy">
<div class="pm-svc__b">
<h3>Stormschade</h3>
<p>Vanaf windkracht 7 spreken de meeste polissen van storm. Wij halen de KNMI-meetgegevens voor uw adres en datum op, zodat daar geen discussie over ontstaat.</p>
<h4>Typische meldingen</h4>
<ul><li>Losgewaaide dakpannen of nokvorsten</li><li>Omgewaaide schutting of boom</li><li>Inwateren na stormschade aan het dak</li></ul>
</div>
<p class="pm-svc__stat"><b>€ 3.870</b><span>gemiddelde uitkering bij stormschade aan het dak, onze dossiers 2025</span></p>
</article>
</div>
</div></div>
<div class="pm-sec" id="pm-kosten"><div class="pm-wrap pm-cost">
<div class="pm-sh pm-sh--col"><span class="pm-sh__n">03</span><h2>Wat het u kost</h2><p>De wet regelt dat de verzekeraar de redelijke kosten van het vaststellen van de schade vergoedt, ook als u zelf een expert inschakelt (artikel 7:959 BW). Daarom kunnen wij voor de meeste klanten kosteloos werken.</p><a class="pm-link" href="#pm-kennis">Lees hoe dat precies zit</a></div>
<div class="pm-tbl" role="table" aria-label="Kosten per situatie">
<div class="pm-tbl__r pm-tbl__h" role="row"><span role="columnheader">Situatie</span><span role="columnheader">U betaalt</span><span role="columnheader">Toelichting</span></div>
<div class="pm-tbl__r" role="row"><span role="cell">Schade is gedekt</span><span role="cell" class="pm-tbl__p">€ 0</span><span role="cell">De verzekeraar betaalt onze declaratie rechtstreeks. Uw eigen risico blijft wel voor uw rekening.</span></div>
<div class="pm-tbl__r" role="row"><span role="cell">Deels gedekt</span><span role="cell" class="pm-tbl__p">max. € 295</span><span role="cell">Voor het niet gedekte deel spreken we vooraf schriftelijk een plafond af. Gemiddeld in 2025: € 140.</span></div>
<div class="pm-tbl__r" role="row"><span role="cell">Niet gedekt</span><span role="cell" class="pm-tbl__p">€ 0</span><span role="cell">De check en het eerste gesprek zijn gratis. Blijkt er geen dekking, dan stoppen we en krijgt u de uitleg op papier.</span></div>
<div class="pm-tbl__r" role="row"><span role="cell">Afgewezen, wij vechten aan</span><span role="cell" class="pm-tbl__p">€ 0</span><span role="cell">Bij een afwijzing die volgens ons niet klopt, gaan we in bezwaar. Lukt dat niet, dan betaalt u niets.</span></div>
</div>
</div></div>
<div class="pm-sec pm-sec--ins" id="pm-verzekeraars"><div class="pm-wrap">
<div class="pm-sh"><span class="pm-sh__n">04</span><h2>We werken met de schadeafdelingen van elke grote verzekeraar</h2><p>Peilmerk is onafhankelijk. Geen verzekeraar betaalt ons voor doorverwijzingen, en we hebben met geen enkele een raamcontract.</p></div>
<ul class="pm-ins"><li>Centraal Beheer<small>opstal, inboedel</small></li><li>Interpolis<small>opstal, inboedel</small></li><li>Nationale-Nederlanden<small>woonverzekering</small></li><li>a.s.r.<small>opstal, inboedel</small></li><li>FBTO<small>opstal, inboedel</small></li><li>Univé<small>woonverzekering</small></li><li>OHRA<small>opstal, inboedel</small></li><li>Allianz Direct<small>woonverzekering</small></li><li>Ditzo<small>opstal, inboedel</small></li><li>ZLM<small>opstal, inboedel</small></li><li>Klaverblad<small>woonverzekering</small></li><li>Unigarant<small>opstal, inboedel</small></li><li>InShared<small>woonverzekering</small></li><li>Reaal<small>opstal, inboedel</small></li><li>ANWB<small>opstal, inboedel</small></li><li>Aegon<small>opstal, inboedel</small></li></ul>
</div></div>
<div class="pm-sec pm-sec--alt"><div class="pm-wrap">
<div class="pm-sh"><span class="pm-sh__n">05</span><h2>Wat klanten over de afhandeling zeggen</h2><p>Gemiddeld <b>8,9</b> uit 412 beoordelingen via Kiyoh, laatste twaalf maanden.</p></div>
<div class="pm-rev">
<blockquote class="pm-rev__big"><span class="pm-rev__s">9</span><p>“De verzekeraar wilde alleen de vloer vergoeden. Peilmerk liet zien dat de keukenkastjes door hetzelfde lek waren aangetast. Dat scheelde ons ruim vierduizend euro, en ik hoefde zelf geen enkel telefoontje te plegen.”</p><footer><b>Marloes van Dijk</b>, Zwolle · lekkage cv-leiding · september 2026</footer></blockquote>
<blockquote><span class="pm-rev__s">8</span><p>“Na de storm van februari lag de helft van onze nok in de tuin. Binnen twee dagen stond Ruud op de stoep, met de windmetingen van die nacht al uitgeprint.”</p><footer><b>Hans en Petra Oosterveld</b>, Hoorn · stormschade dak · maart 2026</footer></blockquote>
<blockquote><span class="pm-rev__s">9</span><p>“Duidelijk vooraf wat het zou kosten: niets, bleek achteraf. Rapport was netjes en de expert van de verzekeraar ging na één gesprek akkoord.”</p><footer><b>Ilias Benali</b>, Tilburg · regenwater kelder · juni 2026</footer></blockquote>
</div>
</div></div>
<div class="pm-sec" id="pm-kennis"><div class="pm-wrap pm-kb">
<div class="pm-sh pm-sh--col"><span class="pm-sh__n">06</span><h2>Kennisbank</h2><p>Korte artikelen over polisvoorwaarden, uitgelegd zonder jargon. Geschreven door onze experts.</p>
<figure class="pm-kb__f"><img src="https://neddev.com/lab-media/site-schadehulp-2.webp" alt="Vochtmeting op een gestucte muur naast een raam" loading="lazy"><figcaption>Vochtmeting: boven 18 procent in gips is herstel nodig.</figcaption></figure>
</div>
<ul class="pm-kb__l">
<li><a href="#"><time datetime="2026-10-02">2 okt 2026</time><span class="pm-kb__c">Waterschade</span><b>Lekkage via de dakgoot: valt dat onder uw opstalpolis?</b><span class="pm-kb__m">5 min</span></a></li>
<li><a href="#"><time datetime="2026-09-18">18 sep 2026</time><span class="pm-kb__c">Polis</span><b>Wat is “plotseling en onvoorzien” en waarom draait alles daarom?</b><span class="pm-kb__m">7 min</span></a></li>
<li><a href="#"><time datetime="2026-09-03">3 sep 2026</time><span class="pm-kb__c">Stormschade</span><b>Windkracht 7 gehaald? Zo vindt u de KNMI-gegevens voor uw adres</b><span class="pm-kb__m">4 min</span></a></li>
<li><a href="#"><time datetime="2026-08-21">21 aug 2026</time><span class="pm-kb__c">Kosten</span><b>Artikel 7:959 BW: waarom de verzekeraar uw eigen expert betaalt</b><span class="pm-kb__m">6 min</span></a></li>
<li><a href="#"><time datetime="2026-07-30">30 jul 2026</time><span class="pm-kb__c">Hagel</span><b>Hagelschade aan zonnepanelen: opstal of inboedel?</b><span class="pm-kb__m">5 min</span></a></li>
</ul>
</div></div>
<div class="pm-sec pm-sec--alt"><div class="pm-wrap pm-faq">
<div class="pm-sh pm-sh--col"><span class="pm-sh__n">07</span><h2>Veelgestelde vragen</h2><p>Staat uw vraag er niet bij? Bel 030 123 4567, maandag tot en met zaterdag van 8:00 tot 20:00.</p></div>
<div class="pm-faq__l">
<details name="pm-faq" open><summary>Moet ik de schade eerst zelf bij mijn verzekeraar melden?</summary><p>Ja, meld de schade zo snel mogelijk zelf, ook als u ons inschakelt. Vermeld daarbij dat u een eigen expert neemt. Wij nemen daarna het contact over.</p></details>
<details name="pm-faq"><summary>De expert van de verzekeraar is al geweest. Kunt u nog helpen?</summary><p>Meestal wel. Zolang u nog niet voor akkoord hebt getekend, kunnen we een contra-expertise doen. Ook na een afwijzing kijken we graag mee.</p></details>
<details name="pm-faq"><summary>Mag ik al opruimen en laten herstellen?</summary><p>Beperk de schade direct: water afsluiten, natte spullen naar buiten, nooddichting op het dak. Maak eerst foto's en bewaar beschadigde spullen tot het huisbezoek. Definitief herstel pas na overleg.</p></details>
<details name="pm-faq"><summary>Werkt u ook voor huurders?</summary><p>Ja, voor schade aan uw inboedel. Schade aan het gebouw zelf valt onder de opstalverzekering van de verhuurder; daar helpen we u wel bij het melden.</p></details>
<details name="pm-faq"><summary>Hoe snel kan er iemand komen?</summary><p>Bij een melding vóór 12:00 op werkdagen plannen we het huisbezoek binnen 48 uur. Bij acute lekkage helpen we u eerst telefonisch aan een loodgieter of dakdekker.</p></details>
<details name="pm-faq"><summary>Wat als de verzekeraar onze kosten niet vergoedt?</summary><p>Dan is dat ons risico, niet het uwe, behalve bij een deels gedekte schade waarvoor we vooraf een plafond van maximaal € 295 afspreken.</p></details>
</div>
</div></div>
<div class="pm-cta" id="pm-contact"><div class="pm-wrap pm-cta__g">
<div><p class="pm-kick">Contact</p><h2>Liever eerst even overleggen?</h2><p>Bel en u krijgt direct een expert aan de lijn, geen callcenter.</p></div>
<div class="pm-cta__c"><span>Telefoon</span><a href="#">030 123 4567</a><span>E-mail</span><a href="#">schade@voorbeeld.nl</a></div>
<div class="pm-cta__c"><span>Bereikbaar</span><p>Ma tot vr 8:00 tot 20:00<br>Zaterdag 9:00 tot 17:00<br>Zondag alleen spoedlijn</p><a class="pm-btn pm-btn--och" href="#pm-check">Start de check</a></div>
</div></div>
<div class="pm-foot" role="contentinfo"><div class="pm-wrap">
<div class="pm-foot__g">
<div class="pm-foot__brand"><b>Peilmerk schadehulp</b><p>Kanaalweg 41<br>3526 KM Utrecht</p><p>Huisbezoek in heel Nederland, ook op de Waddeneilanden.</p></div>
<div><h4>Schade</h4><a href="#">Lekkage</a><a href="#">Regenwater</a><a href="#">Stormschade</a><a href="#">Hagelschade</a><a href="#">Contra-expertise</a></div>
<div><h4>Peilmerk</h4><a href="#">Werkwijze</a><a href="#">Kosten</a><a href="#">Onze experts</a><a href="#">Werken bij</a><a href="#">Klachtenregeling</a></div>
<div><h4>Kennisbank</h4><a href="#">Opstal of inboedel</a><a href="#">Plotseling en onvoorzien</a><a href="#">KNMI-windgegevens</a><a href="#">Alle artikelen</a></div>
<div><h4>Contact</h4><a href="#">030 123 4567</a><a href="#">schade@voorbeeld.nl</a><a href="#pm-check">Schade melden</a></div>
</div>
<div class="pm-foot__b"><span>Register-experts NIVRE</span><span>Gedragscode Schade-experts</span><span>KvK 87654321</span><span>BTW NL004567890B01</span><span>© 2026 Peilmerk</span><a href="#">Privacy</a><a href="#">Voorwaarden</a></div>
</div></div>
</div>
</div>
/* Peilmerk · schadehulp bij water en storm, landelijk · NedDev · eigen werk. */
/* fonts (Fontshare): cabinet-grotesk@500,700,800 + general-sans@400,500,600 */
.pm-site{--ink:#14211f;--pet:#0f3a37;--pet2:#174c48;--paper:#f3efe6;--card:#fffdf8;--line:#d8d0c1;--mute:#5a6661;--och:#e2a52d;--och2:#f7e6bd;--err:#b23a26;
container-type:inline-size;background:var(--paper);color:var(--ink);font:400 16px/1.55 'General Sans',sans-serif;-webkit-font-smoothing:antialiased}
.pm-site *{box-sizing:border-box}
.pm-site a{color:inherit;text-decoration:none}
.pm-site img{display:block;max-width:100%}
.pm-site h1,.pm-site h2,.pm-site h3,.pm-site h4{font-family:'Cabinet Grotesk',sans-serif;margin:0;letter-spacing:-.01em;color:var(--ink)}
.pm-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.pm-site b{font-weight:600}
.pm-top{background:var(--pet);color:#d6e3df;font-size:13px}
.pm-top__in{display:flex;justify-content:space-between;gap:24px;padding-top:9px;padding-bottom:9px}
.pm-top__r{display:flex;gap:24px}
.pm-top b{color:#fff}
.pm-top a{color:var(--och);font-weight:600;font-variant-numeric:tabular-nums}
.pm-nav{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.pm-nav__in{display:flex;align-items:center;gap:28px;height:72px}
.pm-logo{display:flex;align-items:center;gap:10px;margin-right:auto}
.pm-logo svg{width:24px;height:32px;fill:none;stroke:var(--pet);stroke-width:2}
.pm-logo svg .pm-logo__w{stroke:var(--och);stroke-width:2.2}
.pm-logo span{font:800 22px/1 'Cabinet Grotesk',sans-serif;color:var(--pet);display:flex;flex-direction:column}
.pm-logo small{font:500 11px/1.4 'General Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pm-menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.pm-menu a{display:block;padding:8px 12px;font-size:15px;font-weight:500;border-radius:3px;transition:background .15s}
.pm-menu a:hover{background:var(--paper)}
.pm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pet);color:#fff!important;border:0;border-radius:3px;padding:13px 20px;font:600 15px/1 'General Sans',sans-serif;cursor:pointer;transition:background .15s}
.pm-btn:hover{background:var(--pet2)}
.pm-btn--sm{padding:11px 16px;font-size:14px}
.pm-btn--och{background:var(--och);color:var(--ink)!important}
.pm-btn--och:hover{background:#efb94c}
.pm-burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:none;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer}
.pm-burger span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s}
.pm-burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.pm-burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.pm-mnav{background:var(--card);border-top:1px solid var(--line)}
.pm-mnav .pm-wrap{display:flex;flex-direction:column;padding-top:8px;padding-bottom:16px}
.pm-mnav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:500}
.pm-hero{padding:52px 0 60px}
.pm-hero__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.pm-kick{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pet2);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.pm-kick::before{content:"";width:22px;height:9px;background:repeating-linear-gradient(90deg,var(--och) 0 2px,transparent 2px 5px)}
.pm-hero h1{font-size:48px;line-height:1.04;font-weight:800;max-width:18ch}
.pm-lead{font-size:18px;color:#34413e;max-width:52ch;margin:22px 0 32px}
.pm-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:0;border-top:1px solid var(--ink)}
.pm-facts div{padding:16px 28px 0 0;margin-right:28px;border-right:1px solid var(--line)}
.pm-facts div:last-child{border-right:0}
.pm-facts dt{font:700 30px/1 'Cabinet Grotesk',sans-serif;font-variant-numeric:tabular-nums;color:var(--pet)}
.pm-facts dd{margin:6px 0 0;font-size:14px;color:var(--mute)}
.pm-chk{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--pet);padding:24px 26px 20px;box-shadow:0 18px 40px -24px rgba(15,58,55,.35);scroll-margin-top:90px}
.pm-chk__head{display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.pm-chk__head b{font:700 19px 'Cabinet Grotesk',sans-serif}
.pm-chk__ct{font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums}
.pm-chk__ct i{font-style:normal;font-weight:600;color:var(--ink)}
.pm-chk__gauge{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:12px 0 18px}
.pm-chk__gauge span{height:6px;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 6px);border-bottom:2px solid var(--line);transition:background .3s,border-color .3s}
.pm-chk__gauge span.is-on{background:repeating-linear-gradient(90deg,var(--och) 0 2px,transparent 2px 6px);border-color:var(--och)}
.pm-step{border:0;margin:0;padding:0;display:none;min-width:0}
.pm-step.is-on{display:block;animation:pm-in .25s ease}
@keyframes pm-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.pm-step legend{font:700 22px/1.2 'Cabinet Grotesk',sans-serif;padding:0;margin-bottom:14px}
.pm-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pm-opts__wide{grid-column:1/-1}
.pm-opts input,.pm-seg input{position:absolute;opacity:0;pointer-events:none}
.pm-opts span{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;font-size:14.5px;font-weight:500;line-height:1.25;cursor:pointer;transition:border-color .15s,background .15s}
.pm-opts svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--pet);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pm-opts label:hover span{border-color:var(--pet2)}
.pm-opts input:checked+span{border-color:var(--pet);background:#e8efe9;box-shadow:inset 0 0 0 1px var(--pet)}
.pm-opts input:focus-visible+span,.pm-seg input:focus-visible+span{outline:2px solid var(--och);outline-offset:2px}
.pm-seg{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:16px}
.pm-seg span{display:block;text-align:center;padding:12px 4px;font-size:14px;font-weight:500;cursor:pointer;border-right:1px solid var(--line)}
.pm-seg label:last-child span{border-right:0}
.pm-seg input:checked+span{background:var(--pet);color:#fff}
.pm-fld{display:block;font-size:13px;font-weight:600;color:#34413e;margin-bottom:12px}
.pm-fld input,.pm-fld select{display:block;width:100%;margin-top:6px;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:3px;background:#fff;font:400 15px 'General Sans',sans-serif;color:var(--ink)}
.pm-fld input:focus,.pm-fld select:focus{outline:2px solid var(--och);outline-offset:0;border-color:var(--pet)}
.pm-fld .is-bad{border-color:var(--err);background:#fdf3f1}
.pm-row{display:grid;grid-template-columns:1fr 110px;gap:10px}
.pm-chk__err{min-height:20px;margin:6px 0 0;font-size:13.5px;color:var(--err);font-weight:500}
.pm-chk__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}
.pm-chk__nav .pm-btn{margin-left:auto}
.pm-chk__nav[hidden],.pm-res[hidden]{display:none}
.pm-chk__back{background:none;border:0;font:500 14px 'General Sans',sans-serif;color:var(--mute);cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.pm-chk__fine{font-size:12.5px;color:var(--mute);margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line)}
.pm-res{animation:pm-in .3s ease}
.pm-res h3{font-size:22px;margin:2px 0 8px}
.pm-res__nr{display:inline-block;font:600 12px/1 'General Sans',sans-serif;letter-spacing:.06em;background:var(--och2);padding:6px 8px;border-radius:2px;font-variant-numeric:tabular-nums}
.pm-res ol{margin:10px 0 0;padding-left:20px;font-size:14.5px}
.pm-res li{margin-bottom:6px}
.pm-res__note{font-size:13.5px;background:var(--paper);padding:10px 12px;margin-top:10px;border-radius:2px}
.pm-band{margin:0;position:relative;background:var(--ink)}
.pm-band img{width:100%;height:400px;object-fit:cover;object-position:center 55%;filter:saturate(.8) contrast(1.03)}
.pm-band figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;gap:18px;align-items:baseline;padding-top:16px;padding-bottom:18px;color:#fff;font-size:14px}
.pm-band::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,rgba(10,22,21,.78));pointer-events:none}
.pm-band figcaption{z-index:1}
.pm-band__tag{flex:none;font-weight:600;color:var(--och);font-variant-numeric:tabular-nums}
.pm-sec{padding:76px 0}
.pm-sec--alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pm-sh{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,.8fr);gap:24px;align-items:end;margin-bottom:44px;padding-bottom:20px;border-bottom:1px solid var(--line);position:relative}
.pm-sh::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:10px;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 8px);transform:translateY(100%)}
.pm-sh__n{font:700 15px 'Cabinet Grotesk',sans-serif;color:var(--och);font-variant-numeric:tabular-nums;align-self:start;padding-top:8px}
.pm-sh h2{font-size:38px;line-height:1.08;font-weight:800}
.pm-sh p{margin:0;color:var(--mute);font-size:15.5px}
.pm-sh--col{grid-template-columns:1fr;align-items:start;border:0;margin:0;padding:0;gap:14px}
.pm-sh--col::after{display:none}
.pm-sh--col .pm-sh__n{padding:0}
.pm-proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:pm}
.pm-proc li{position:relative;padding:34px 22px 0 0;counter-increment:pm;display:flex;flex-direction:column}
.pm-proc li::before{content:"";position:absolute;top:8px;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 10px);border-top:2px solid var(--ink)}
.pm-proc li::after{content:counter(pm,decimal-leading-zero);position:absolute;top:-2px;left:0;width:22px;height:22px;background:var(--och);border-radius:50%;font:700 10px/22px 'General Sans',sans-serif;text-align:center;color:var(--ink)}
.pm-proc__d{display:block;font-size:13px;font-weight:600;color:var(--pet2);font-variant-numeric:tabular-nums;margin-bottom:6px}
.pm-proc b{display:block;font:700 19px/1.2 'Cabinet Grotesk',sans-serif;margin-bottom:8px}
.pm-proc p{margin:0 0 12px;font-size:14.5px;color:#3b4744}
.pm-proc em{display:block;margin-top:auto;font-style:normal;font-size:13px;color:var(--mute);padding-top:10px;border-top:1px dashed var(--line)}
.pm-svc{display:grid;grid-template-columns:1.45fr 1fr;gap:28px}
.pm-svc__a{border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column}
.pm-svc__a img{width:100%;height:280px;object-fit:cover;filter:saturate(.8)}
.pm-svc__b{padding:26px 28px 30px}
.pm-svc h3{font-size:28px;font-weight:800;margin-bottom:10px}
.pm-svc p{margin:0 0 20px;color:#3b4744;font-size:15px}
.pm-svc h4{font-size:15px;font-weight:700;margin:0 0 8px;color:var(--pet)}
.pm-svc ul{list-style:none;margin:0;padding:0;font-size:14.5px}
.pm-svc li{padding:7px 0 7px 18px;border-top:1px solid var(--line);position:relative}
.pm-svc__stat{margin:auto 0 0;display:flex;gap:16px;align-items:baseline;padding:16px 28px;border-top:1px solid var(--line);background:var(--card);font-size:13.5px;color:var(--mute)}
.pm-svc__stat b{font:700 26px/1 'Cabinet Grotesk',sans-serif;color:var(--pet);font-variant-numeric:tabular-nums;white-space:nowrap}
.pm-svc li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:2px;background:var(--och)}
.pm-svc__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pm-cost{display:grid;grid-template-columns:.8fr 1.6fr;gap:56px;align-items:start}
.pm-cost .pm-sh h2{font-size:38px}
.pm-link{font-weight:600;color:var(--pet)!important;border-bottom:2px solid var(--och);justify-self:start;padding-bottom:2px}
.pm-link:hover{border-color:var(--pet)}
.pm-tbl{border-top:2px solid var(--ink)}
.pm-tbl__r{display:grid;grid-template-columns:1fr 120px 1.8fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;transition:background .15s}
.pm-tbl__r:not(.pm-tbl__h):hover{background:var(--card)}
.pm-tbl__r>span:first-child{font-weight:600}
.pm-tbl__h{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:10px 0}
.pm-tbl__p{font:700 20px/1.2 'Cabinet Grotesk',sans-serif;font-variant-numeric:tabular-nums;color:var(--pet);white-space:nowrap}
.pm-tbl__r span:last-child{color:#3b4744}
.pm-sec--ins{background:var(--pet);color:#d6e3df}
.pm-sec--ins .pm-sh{border-color:rgba(255,255,255,.18)}
.pm-sec--ins .pm-sh::after{background:repeating-linear-gradient(90deg,var(--och) 0 1px,transparent 1px 8px)}
.pm-sec--ins h2{color:#fff}
.pm-sec--ins .pm-sh p{color:#b5c9c4}
.pm-ins{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);column-gap:28px}
.pm-ins li{font:700 24px/1.2 'Cabinet Grotesk',sans-serif;color:#fff;padding:16px 0 14px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pm-ins small{font:500 12px 'General Sans',sans-serif;color:#8fb0a9;white-space:nowrap}
.pm-rev{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:20px}
.pm-rev blockquote{margin:0;padding:26px 28px;background:var(--paper);border:1px solid var(--line);position:relative}
.pm-rev__big{grid-row:span 2;background:var(--card)!important;border-left:4px solid var(--och)!important;display:flex;flex-direction:column}
.pm-rev__big p{font:500 24px/1.38 'Cabinet Grotesk',sans-serif!important;color:var(--ink)!important;flex:1}
.pm-rev p{margin:14px 0 18px;font-size:15.5px;color:#2b3734}
.pm-rev footer{font-size:13.5px;color:var(--mute)}
.pm-rev footer b{color:var(--ink)}
.pm-rev__s{display:inline-flex;align-items:baseline;font:700 28px/1 'Cabinet Grotesk',sans-serif;color:var(--pet);font-variant-numeric:tabular-nums}
.pm-rev__s::after{content:"/10";font-size:14px;color:var(--mute);margin-left:2px}
.pm-kb{display:grid;grid-template-columns:.85fr 1.6fr;gap:56px;align-items:start}
.pm-kb__f{margin:12px 0 0}
.pm-kb__f img{width:100%;height:220px;object-fit:cover;filter:saturate(.8)}
.pm-kb__f figcaption{font-size:13px;color:var(--mute);margin-top:8px}
.pm-kb__l{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.pm-kb__l a{display:grid;grid-template-columns:96px 104px 1fr 48px;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .2s}
.pm-kb__l a:hover{padding-left:8px}
.pm-kb__l a:hover b{color:var(--pet);text-decoration:underline;text-decoration-color:var(--och);text-underline-offset:4px}
.pm-kb__l time,.pm-kb__m{font-size:13px;color:var(--mute);font-variant-numeric:tabular-nums}
.pm-kb__m{text-align:right}
.pm-kb__c{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--pet2)}
.pm-kb__l b{font:700 19px/1.3 'Cabinet Grotesk',sans-serif}
.pm-faq{display:grid;grid-template-columns:.85fr 1.6fr;gap:56px;align-items:start}
.pm-faq__l{border-top:2px solid var(--ink)}
.pm-faq details{border-bottom:1px solid var(--line)}
.pm-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:700 18px/1.35 'Cabinet Grotesk',sans-serif}
.pm-faq summary::-webkit-details-marker{display:none}
.pm-faq summary::after{content:"";flex:none;width:12px;height:12px;margin-top:6px;border-right:2px solid var(--pet);border-bottom:2px solid var(--pet);transform:rotate(45deg);transition:transform .2s}
.pm-faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.pm-faq summary:hover{color:var(--pet)}
.pm-faq details p{margin:0 0 22px;max-width:62ch;color:#3b4744;font-size:15.5px}
.pm-cta{background:var(--ink);color:#c9d3d0;padding:72px 0}
.pm-cta__g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;align-items:start}
.pm-cta h2{color:#fff;font-size:38px;font-weight:800;line-height:1.08;margin-bottom:12px}
.pm-cta .pm-kick{color:var(--och)}
.pm-cta p{margin:0}
.pm-cta__c{border-left:1px solid rgba(255,255,255,.16);padding-left:28px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.pm-cta__c span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8fa29d;margin-top:8px}
.pm-cta__c>a:not(.pm-btn){font:700 24px/1.3 'Cabinet Grotesk',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.pm-cta__c>a:not(.pm-btn):hover{color:var(--och)}
.pm-cta__c .pm-btn{margin-top:18px}
.pm-foot{background:#0b1514;color:#93a29e;font-size:14px;padding:56px 0 28px}
.pm-foot__g{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.pm-foot__brand b{color:#fff;font:700 18px 'Cabinet Grotesk',sans-serif}
.pm-foot__brand p{margin:10px 0 0}
.pm-foot h4{color:#fff;font-size:14px;margin-bottom:12px}
.pm-foot__g a{display:block;padding:4px 0}
.pm-foot__g a:hover,.pm-foot__b a:hover{color:var(--och)}
.pm-foot__b{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:22px;font-size:12.5px}
@container (max-width:1080px){
.pm-menu{display:none}
.pm-burger{display:flex}
.pm-hero__grid{grid-template-columns:1fr 1fr;gap:36px}
.pm-hero h1{font-size:40px}
.pm-proc{grid-template-columns:repeat(3,1fr);row-gap:36px}
}
@container (max-width:820px){
.pm-wrap{padding:0 20px}
.pm-top__in>span:first-child{display:none}
.pm-top__in{justify-content:center}
.pm-top__r{gap:16px;flex-wrap:wrap;justify-content:center}
.pm-nav .pm-btn--sm{display:none}
.pm-nav__in{height:64px}
.pm-hero{padding:32px 0 44px}
.pm-hero__grid{grid-template-columns:1fr;gap:0}
.pm-hero__txt{display:contents}
.pm-kick{order:1}.pm-hero h1{order:2}.pm-chk{order:3;margin:22px 0 26px}.pm-lead{order:4}.pm-facts{order:5}
.pm-hero .pm-lead{margin-top:0}
.pm-hero h1{font-size:34px}
.pm-lead{font-size:16.5px;margin:16px 0 22px}
.pm-facts{grid-template-columns:repeat(3,1fr)}
.pm-facts div{padding-right:10px;margin-right:10px}
.pm-facts dt{font-size:24px}
.pm-facts dd{font-size:12.5px}
.pm-chk{padding:20px 18px}
.pm-opts{grid-template-columns:1fr}
.pm-seg{grid-template-columns:1fr 1fr}
.pm-seg label:nth-child(2) span{border-right:0}
.pm-seg label:nth-child(-n+2) span{border-bottom:1px solid var(--line)}
.pm-band figcaption{position:static;flex-direction:column;gap:4px;font-size:13px;padding-top:14px;padding-bottom:16px;color:#d6e3df}
.pm-band::after{display:none}
.pm-band img{height:240px}
.pm-sec{padding:60px 0}
.pm-sh{grid-template-columns:1fr;gap:10px;margin-bottom:32px}
.pm-sh h2,.pm-cost .pm-sh h2,.pm-cta h2{font-size:29px}
.pm-proc{grid-template-columns:1fr;row-gap:0}
.pm-proc li{padding:0 0 26px 40px}
.pm-proc li::before{top:24px;bottom:0;left:10px;right:auto;width:2px;height:auto;background:var(--ink);border:0}
.pm-proc li:last-child::before{display:none}
.pm-svc,.pm-cost,.pm-kb,.pm-faq,.pm-cta__g,.pm-rev{grid-template-columns:1fr;gap:28px}
.pm-svc__a img{height:210px}
.pm-svc__b{padding:22px 20px 24px}
.pm-svc__cols{grid-template-columns:1fr;gap:18px}
.pm-tbl__h{display:none!important}
.pm-tbl__r{grid-template-columns:1fr auto;gap:6px 14px}
.pm-tbl__r span:last-child{grid-column:1/-1;font-size:14px}
.pm-ins{grid-template-columns:1fr 1fr;column-gap:16px}
.pm-ins li{font-size:18px;flex-direction:column;gap:2px}
.pm-rev__big{grid-row:auto}
.pm-rev__big p{font-size:19px!important}
.pm-kb__l a{grid-template-columns:auto 1fr;gap:4px 14px}
.pm-kb__l b{grid-column:1/-1;font-size:17px}
.pm-kb__m{display:none}
.pm-cta__c{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:12px}
.pm-foot__g{grid-template-columns:1fr 1fr}
.pm-foot__brand{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.pm-step.is-on,.pm-res{animation:none}.pm-kb__l a{transition:none}}
// Peilmerk · schadehulp bij water en storm, landelijk · NedDev · eigen werk.
// root = het element waarin de HTML staat
function init(root){
var s = root.querySelector('.pm-site'); if (!s) return;
var burger = s.querySelector('.pm-burger'), mnav = s.querySelector('.pm-mnav');
burger.addEventListener('click', function(){ var o = burger.getAttribute('aria-expanded') === 'true'; burger.setAttribute('aria-expanded', String(!o)); mnav.hidden = o; });
mnav.addEventListener('click', function(e){ if (e.target.tagName === 'A') { mnav.hidden = true; burger.setAttribute('aria-expanded','false'); } });
var f = s.querySelector('.pm-chk'), steps = f.querySelectorAll('.pm-step'), gauge = f.querySelectorAll('.pm-chk__gauge span');
var next = f.querySelector('.pm-chk__next'), back = f.querySelector('.pm-chk__back'), err = f.querySelector('.pm-chk__err');
var ct = f.querySelector('.pm-chk__ct i'), res = f.querySelector('.pm-res'), cur = 1;
function val(n){ var el = f.querySelector('[name="' + n + '"]:checked') || f.querySelector('[name="' + n + '"]:not([type=radio])'); return el ? el.value.trim() : ''; }
function show(n){
cur = n;
steps.forEach(function(st){ st.classList.toggle('is-on', +st.dataset.s === n); });
gauge.forEach(function(g, i){ g.classList.toggle('is-on', i < n); });
ct.textContent = n; back.hidden = n === 1; next.textContent = n === 3 ? 'Check afronden' : 'Volgende stap'; err.textContent = '';
}
function bad(name, on){ var el = f.querySelector('[name="' + name + '"]'); if (el) el.classList.toggle('is-bad', on); return on; }
function check(){
if (cur === 1 && !val('pm-wat')) return 'Kies wat er is gebeurd.';
if (cur === 2) { if (!val('pm-pol')) return 'Kies hoe u verzekerd bent, of “Weet ik niet”.'; if (bad('pm-wanneer', !val('pm-wanneer'))) return 'Geef aan wanneer de schade ontstond.'; }
if (cur === 3) {
var e = [];
if (bad('pm-pc', !/^[1-9][0-9]{3} ?[a-zA-Z]{2}$/.test(val('pm-pc')))) e.push('postcode (bijvoorbeeld 3526 KM)');
if (bad('pm-nr', !/^[0-9]+/.test(val('pm-nr')))) e.push('huisnummer');
if (bad('pm-naam', val('pm-naam').length < 2)) e.push('naam');
if (bad('pm-tel', val('pm-tel').replace(/[^0-9]/g, '').length < 10)) e.push('telefoonnummer van 10 cijfers');
if (e.length) return 'Vul nog in: ' + e.join(', ') + '.';
}
return '';
}
function finish(){
var wat = val('pm-wat'), pol = val('pm-pol'), wan = val('pm-wanneer');
var label = { leiding: 'lekkage van leiding of cv', regen: 'regen- of grondwater', storm: 'stormschade', hagel: 'hagelschade', anders: 'uw schade' }[wat];
var naam = val('pm-naam').split(' ')[0];
var nr = 'PM-26-' + (3900 + Math.floor(Math.random() * 600));
var note = '';
if (wan === 'ouder') note = 'Uw schade is ouder dan een maand. Meld hem vandaag ook zelf bij uw verzekeraar: de meeste polissen eisen melding “zo snel mogelijk”.';
else if (pol === 'weet') note = 'Zoek uw polisblad op voordat we bellen. Staat er “opstal” op, dan is het gebouw verzekerd; “inboedel” dekt uw spullen.';
else if (wat === 'storm' || wat === 'hagel') note = 'Wij halen de KNMI-windgegevens voor uw postcode alvast op, zodat die bij het gesprek klaarliggen.';
else note = 'Draai bij lekkage de hoofdkraan dicht en maak foto’s voordat u gaat opruimen.';
steps.forEach(function(st){ st.classList.remove('is-on'); });
err.textContent = '';
gauge.forEach(function(g){ g.classList.add('is-on'); });
f.querySelector('.pm-chk__nav').hidden = true; f.querySelector('.pm-chk__head span').textContent = 'Ontvangen';
res.innerHTML = '<span class="pm-res__nr">Dossier ' + nr + '</span><h3>Bedankt ' + naam + ', dit lijkt een kansrijke melding</h3>' +
'<p style="margin:0;font-size:15px">Bij ' + label + ' is er in de meeste polissen dekking. Zo gaat het verder:</p>' +
'<ol><li>Een expert belt u binnen 2 werkuren op ' + val('pm-tel') + '.</li><li>We plannen het huisbezoek, meestal binnen 48 uur.</li><li>U ontvangt een bevestiging per sms met uw dossiernummer.</li></ol>' +
'<p class="pm-res__note">' + note + '</p><p style="margin:12px 0 0"><button type="button" class="pm-chk__back pm-chk__again">Nieuwe check starten</button></p>';
res.hidden = false;
res.querySelector('.pm-chk__again').addEventListener('click', function(){ f.reset(); res.hidden = true; f.querySelector('.pm-chk__nav').hidden = false; f.querySelector('.pm-chk__head span').innerHTML = 'Stap <i>1</i> van 3'; ct = f.querySelector('.pm-chk__ct i'); show(1); });
}
next.addEventListener('click', function(){ var m = check(); if (m) { err.textContent = m; return; } if (cur < 3) show(cur + 1); else finish(); });
back.addEventListener('click', function(){ if (cur > 1) show(cur - 1); });
f.addEventListener('change', function(e){
if (e.target.classList) e.target.classList.remove('is-bad');
if (e.target.name === 'pm-wat') { err.textContent = ''; setTimeout(function(){ if (cur === 1) show(2); }, 260); }
});
f.addEventListener('input', function(e){ if (e.target.classList) e.target.classList.remove('is-bad'); });
f.addEventListener('submit', function(e){ e.preventDefault(); next.click(); });
}
init(document.querySelector('.jouw-container'));