
:root{--navy:#0f1f3a;--navy2:#16294a;--blauw:#1a5fc8;--blauw2:#174fa6;--licht:#7fb2ff;--lijn:#e3e8f0;--grijs:#475569;--bg:#f5f7fa;--goud:#f0b429}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:#16202f;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--blauw)}img{max-width:100%}
.in{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px;z-index:9}
.kop{background:var(--navy);color:#fff;position:sticky;top:0;z-index:5}
.kop .in{display:flex;align-items:center;gap:12px;min-height:66px;flex-wrap:wrap}
.merk{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;margin-right:auto;min-height:44px}
.merk svg{flex:none}
.hnav{display:flex;gap:4px;flex-wrap:wrap}
.hnav a{color:#c7d3e6;text-decoration:none;font-weight:600;font-size:.94rem;padding:10px 12px;border-radius:9px;min-height:44px;display:inline-flex;align-items:center}
.hnav a:hover,.hnav a[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}
.knop{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 20px;font-weight:700;text-decoration:none;min-height:48px;border:0;cursor:pointer;font:inherit;font-weight:700}
.knop.blauw{background:var(--blauw);color:#fff!important}.knop.blauw:hover{background:var(--blauw2)}
.knop.wa{background:#0e7a40;color:#fff!important}
.knop.rand{border:1.5px solid rgba(255,255,255,.35);color:#fff}
.knop.klein{padding:9px 15px;min-height:44px;font-size:.92rem}
.kruim{background:var(--bg);font-size:.88rem;padding:10px 0;color:var(--grijs)}
.kruim a{color:var(--grijs)}.kruim .in{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.held{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:44px 0 56px}
.held .in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:start}
.held h1{font-size:clamp(1.8rem,4.6vw,2.9rem);line-height:1.12;margin:0 0 14px;letter-spacing:-.02em}
.held p.lead{color:#c7d3e6;font-size:1.1rem;margin:0 0 20px}
.usps{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:8px}
.usps li{display:flex;gap:10px;align-items:flex-start}.usps svg{color:var(--licht);flex:none;margin-top:3px}
.acties{display:flex;flex-wrap:wrap;gap:10px}
.kaart{background:#fff;color:#16202f;border-radius:18px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.kaart h2{margin:0 0 4px;font-size:1.3rem}.kaart p.sub{margin:0 0 10px;color:var(--grijs);font-size:.93rem}
.kaart label{display:block;font-weight:700;font-size:.85rem;margin:12px 0 5px}
.kaart input,.kaart select,.kaart textarea{width:100%;padding:12px 13px;border:1px solid #d3dae5;border-radius:10px;font:inherit;min-height:48px;background:#fff;color:inherit}
.kaart textarea{min-height:90px;resize:vertical}
.rij{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kaart button{width:100%;margin-top:16px}
.melding{margin:12px 0 0;font-weight:600}
.klaar{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:16px}
.blok{padding:56px 0}.blok.grijs{background:var(--bg)}.blok.smal .in{max-width:820px}
.blok h2{font-size:clamp(1.45rem,3.2vw,2rem);margin:0 0 8px;letter-spacing:-.01em}
.blok h3{font-size:1.15rem;margin:26px 0 6px}
.blok p.intro{color:var(--grijs);margin:0 0 26px;max-width:720px}
.stappen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stap{background:#fff;border:1px solid var(--lijn);border-radius:16px;padding:20px}
.stap b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blauw);color:#fff;margin-bottom:10px}
.stap h3{margin:0 0 6px;font-size:1.05rem}.stap p{margin:0;color:var(--grijs);font-size:.95rem}
.diensten{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dienst{display:block;background:#fff;border:1px solid var(--lijn);border-radius:14px;padding:16px;text-decoration:none;color:inherit}
.dienst:hover{border-color:var(--blauw)}
.dienst h3{margin:0 0 4px;font-size:1rem;color:var(--navy)}.dienst p{margin:0 0 8px;color:var(--grijs);font-size:.9rem}
.dienst span{font-weight:700;color:var(--blauw);font-size:.9rem}
/* BELKNOP-OVERAL-20260920: elke regiokaart heeft een zichtbare belactie. Vóór deze datum stond er bij
   acht steden een leeg <small></small> — geen nummer, geen knop, dus geen manier om te bellen. */
.regios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.regiokaart{background:#fff;border:1px solid var(--lijn);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;height:100%}
.regiokaart:hover{border-color:var(--blauw)}
.regiokaart .naam{font-weight:800;color:var(--navy);text-decoration:none;font-size:1.02rem;min-height:44px;display:flex;align-items:center}
.regiokaart .plaatsen{color:var(--grijs);font-size:.86rem;margin:-6px 0 0}
.regiokaart .acties{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.regiokaart .knop{flex:1 1 auto}
.regiokaart .landelijk{font-size:.8rem;color:var(--grijs)}
.partner{background:var(--navy);color:#fff;border-radius:20px;padding:30px;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:20px;align-items:center}
.partner h2{color:#fff}.partner p{color:#c7d3e6;margin:0}
.faq details{background:#fff;border:1px solid var(--lijn);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;color:var(--navy);min-height:44px;display:flex;align-items:center}
.faq p{margin:10px 0 0;color:var(--grijs)}
/* TIKDOEL-44-20260920 — gemeten met domeinbouw/layout-audit.mjs: op een telefoon waren de merknaam,
   de uitklapvragen en de 'naar de inhoud'-link 26-29px hoog. Onder 44px mist een duim het doel. */
@media (pointer:coarse),(max-width:700px){.skip:focus{min-height:44px;display:inline-flex;align-items:center}
a[href^="tel:"]:not(.knop),a[href^="mailto:"]:not(.knop){display:inline-flex;align-items:center;min-height:44px}
/* KRUIMEL-TIKDOEL-20260920 — layout-audit.mjs mat de kruimel-link "Home" op 40x23px bij 320 en 390px. */
.kruim a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.kruim{padding:4px 0}
.kb h3 a,.kb .lees a{display:inline-flex;align-items:center;min-height:44px}}
.voet{background:var(--navy);color:#c7d3e6;padding:34px 0 90px;font-size:.93rem}
.voet a{color:#fff}@media (pointer:coarse),(max-width:700px){.voet a{display:inline-flex;align-items:center;min-height:44px}
/* korte voetlinks ("Tools") waren 36px breed — een duim mist dat */
.voetnav a{min-width:44px;justify-content:center}}
.voet .in{display:grid;gap:8px}.voetnav{display:flex;gap:14px;flex-wrap:wrap}
.belbalk{position:fixed;left:0;right:0;bottom:0;display:none;gap:8px;padding:10px 12px;background:#fff;box-shadow:0 -6px 20px rgba(15,31,58,.12);z-index:6}
.belbalk .knop{flex:1}
/* kennisbank + tools */
.kb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kb article{background:#fff;border:1px solid var(--lijn);border-radius:14px;padding:18px;display:flex;flex-direction:column}
.kb h3{margin:0 0 6px;font-size:1.04rem}.kb h3 a{color:var(--navy);text-decoration:none}
.kb p{margin:0 0 12px;color:var(--grijs);font-size:.93rem}
.kb .lees{margin-top:auto;font-weight:700;font-size:.92rem}
.thema{border-left:3px solid var(--blauw);padding-left:12px;margin:34px 0 14px}
.thema h3{margin:0;font-size:1.2rem}.thema p{margin:4px 0 0;color:var(--grijs);font-size:.94rem}
.tool{background:#fff;border:1px solid var(--lijn);border-radius:16px;padding:22px;margin-bottom:18px}
.tool label{display:block;font-weight:700;font-size:.9rem;margin:14px 0 6px}
.tool select,.tool input{width:100%;padding:12px 13px;border:1px solid #d3dae5;border-radius:10px;font:inherit;min-height:48px;background:#fff}
.uitkomst{margin-top:18px;background:var(--bg);border:1px solid var(--lijn);border-radius:12px;padding:16px}
.uitkomst b{color:var(--navy)}.uitkomst .groot{font-size:1.5rem;font-weight:800;color:var(--navy);display:block;margin:4px 0}
table.prijs{width:100%;border-collapse:collapse;margin:14px 0}
table.prijs th,table.prijs td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--lijn);font-size:.95rem}
table.prijs th{color:var(--grijs);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
table.prijs td:last-child{text-align:right;font-weight:700;color:var(--navy);white-space:nowrap}
.staafjes{display:flex;align-items:flex-end;gap:5px;height:120px;margin:16px 0 6px}
.staafjes div{flex:1;background:var(--blauw);border-radius:4px 4px 0 0;min-height:3px;position:relative}
.staaflabels{display:flex;gap:5px;font-size:.78rem;color:var(--grijs)}
.staaflabels span{flex:1;text-align:center}
.cijferrij{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.cijfer{background:#fff;border:1px solid var(--lijn);border-radius:12px;padding:16px}
.cijfer b{display:block;font-size:1.7rem;color:var(--navy);line-height:1.1}
.cijfer span{color:var(--grijs);font-size:.86rem}
.bron{font-size:.85rem;color:var(--grijs);margin-top:10px}
.lijst{padding-left:18px;color:var(--grijs)}.lijst li{margin-bottom:7px}
@media (max-width:900px){.held .in{grid-template-columns:1fr}.diensten{grid-template-columns:repeat(2,minmax(0,1fr))}
.regios,.kb{grid-template-columns:repeat(2,minmax(0,1fr))}.stappen{grid-template-columns:1fr}.partner{grid-template-columns:1fr}
.cijferrij{grid-template-columns:1fr}}
/* KOP-OP-TELEFOON-20260920 — gemeten: de kop was 256px hoog op 320px en 208px op 390px, doordat de zeven
   menu-items afbraken over 2-3 regels. En hij is sticky, dus dat bleef staan: 30% van het scherm, plus de
   vaste belbalk onderaan. Nu: één rij die zijwaarts schuift, en niet meer plakkend op een telefoon. */
@media (max-width:900px){
 .kop{position:static}
 .hnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}
 .hnav::-webkit-scrollbar{display:none}
 .hnav a{white-space:nowrap;flex:0 0 auto}
 .kop .in{flex-wrap:nowrap;gap:8px}
}
/* CHATBEL-OVER-WHATSAPP-20260920 — de chatbel (z-index 2147483000) lag over de WhatsApp-knop in de vaste
   belbalk: 58x40px overlap, en een tik kwam bij de chat terecht in plaats van bij WhatsApp. De belbalk
   verhogen helpt niet (de chat staat hoger dan elke z-index die wij kunnen zetten), dus zetten we de bel
   erboven. */
@media (max-width:560px){#sb-fab,.sb-fab{bottom:86px!important}}
@media (max-width:560px){.rij{grid-template-columns:1fr}.diensten,.regios,.kb{grid-template-columns:1fr}
.kop .knop.rand span{display:none}.belbalk{display:flex}.held{padding:30px 0 40px}.hnav a{font-size:.9rem;padding:10px}}
