/* TrapliftRadar — design-tokens + basis. Eén font-familie, één accentkleur, rustig ritme.
   Doelgroep: senioren en hun kinderen → leestekst 18px, contrast ruim boven WCAG AA. */

@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/ss3-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/ss3-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/ss3-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --sans:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;

  --ink:#182A31;            /* koptekst  — 14.6:1 op wit */
  --ink-body:#2C3F47;       /* leestekst — 10.4:1 op wit */
  --ink-soft:#53656D;       /* bijschrift — 5.6:1 op wit */
  --paper:#FFFFFF;
  --sand:#F6F3EE;           /* warme sectie-achtergrond */
  --sand-deep:#EFEAE2;
  --line:#DDD6CC;
  --line-soft:#EAE5DC;

  --brand:#0E5B55;          /* diep petrol — 6.6:1 op wit */
  --brand-deep:#0A4340;
  --brand-tint:#E7F1F0;
  --accent:#A8481A;         /* koper — 5.4:1 op wit */
  --accent-deep:#8C3B14;
  --accent-tint:#FBF0E9;

  --ok:#1B6B3A;
  --warn-bg:#FFF7E6;
  --warn-line:#E8CD93;
  --warn-ink:#7A5307;

  --radius:12px;
  --radius-lg:18px;
  --shadow:0 1px 2px rgba(24,42,49,.06),0 6px 18px rgba(24,42,49,.06);
  --shadow-lift:0 2px 4px rgba(24,42,49,.08),0 14px 34px rgba(24,42,49,.10);
  --wrap:1180px;
  --gap:clamp(2.6rem,5vw,4.4rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--sans);font-size:18px;line-height:1.65;color:var(--ink-body);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{color:var(--ink);line-height:1.22;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,3rem)}
h2{font-size:clamp(1.55rem,3vw,2.15rem)}
h3{font-size:clamp(1.2rem,2vw,1.4rem)}
p{margin:0 0 1.1em}
a{color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--accent-deep)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin-bottom:.45em}
strong{color:var(--ink);font-weight:700}
hr{border:0;border-top:1px solid var(--line-soft);margin:2.4rem 0}
small{font-size:.9rem}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:.7rem 1rem;z-index:99}
.skip:focus{left:.5rem;top:.5rem}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
section{padding:var(--gap) 0}
section.tight{padding:calc(var(--gap)*.6) 0}
.band-sand{background:var(--sand)}
.band-brand{background:var(--brand-deep);color:#DCE9E7}
.band-brand h2,.band-brand h3{color:#fff}
.band-brand a{color:#EFD9C9}
.lead{font-size:1.14rem;color:var(--ink-body)}
.eyebrow{display:inline-block;font-size:.88rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.7rem}
.band-brand .eyebrow{color:#E9C3A8}
.sec-head{max-width:62ch;margin-bottom:2rem}

/* ── Meldingsbalk: eerlijk over wat de site (nog) niet doet ───────────── */
.statusbar{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);font-size:.95rem}
.statusbar .wrap{display:flex;gap:.6rem;align-items:flex-start;padding-top:.65rem;padding-bottom:.65rem}
.statusbar p{margin:0}
.statusbar a{color:var(--warn-ink)}

/* ── Header ───────────────────────────────────────────────────────────── */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line-soft);backdrop-filter:saturate(1.4) blur(6px)}
.head-in{display:flex;align-items:center;gap:1rem;min-height:74px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1.28rem;color:var(--ink);flex:none}
.brand:hover{color:var(--ink)}
.brand-mark{width:36px;height:36px;flex:none}
.brand em{font-style:normal;color:var(--brand)}
.nav{margin-left:auto;display:flex;align-items:center;gap:.15rem}
.nav a{display:block;padding:.6rem .72rem;border-radius:8px;font-size:1rem;font-weight:600;color:var(--ink-body);text-decoration:none}
.nav a:hover{background:var(--sand);color:var(--ink)}
.nav a[aria-current="page"]{color:var(--brand-deep);background:var(--brand-tint)}
/* De CTA in de header is een KNOP, geen menu-link. `.nav a` (0,1,1) won het van
   `.btn-primary` (0,1,0), waardoor 'Start de keuzehulp' donkergrijs op koper stond:
   1.89:1 — ver onder WCAG AA (4.5) en juist voor deze doelgroep (senioren) niet te
   lezen. De dagelijkse schouw ving dit; de eigen QA van de bouw niet. */
.nav a.btn-primary,.nav a.btn-primary:hover{color:#fff;background:var(--accent)}
.nav a.btn-primary:hover{background:var(--accent-deep)}
.head-cta{margin-left:.5rem}
/* Het merk-anker is een echte navigatie-tap-target, geen tekstlink. */
.brand{min-height:44px}
.navtoggle{display:none;margin-left:auto;align-items:center;gap:.45rem;background:var(--sand);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font:inherit;font-weight:700;font-size:.95rem;color:var(--ink);cursor:pointer;min-height:46px}
@media (max-width:1000px){
  .navtoggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:.85rem .5rem;border-bottom:1px solid var(--line-soft);border-radius:0;font-size:1.05rem}
  .head-cta{margin:.8rem 0 0}
  .btn.head-cta{width:100%;justify-content:center}
}

/* ── Knoppen: één schaal ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 1.4rem;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:700;font-size:1.02rem;text-decoration:none;cursor:pointer;transition:transform .12s ease,background .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent-deep)}
.btn-primary:hover{background:var(--accent-deep);color:#fff}
.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand-deep)}
.btn-brand:hover{background:var(--brand-deep);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--sand);color:var(--ink)}
.btn-sm{min-height:44px;padding:.55rem 1rem;font-size:.95rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ── Hero: drieluik ───────────────────────────────────────────────────── */
.hero{padding:clamp(2.2rem,4vw,3.4rem) 0 clamp(2.4rem,4vw,3.6rem);background:linear-gradient(180deg,#FDFCFA,var(--sand))}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.6rem,3vw,3rem);align-items:center}
.hero-copy h1{margin-bottom:.5rem}
.hero-copy .lead{font-size:1.2rem;max-width:34ch}
.hero-usps{list-style:none;padding:0;margin:1.3rem 0 1.6rem;display:grid;gap:.55rem}
.hero-usps li{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;color:var(--ink);margin:0}
.hero-usps .ic{color:var(--brand);flex:none;margin-top:2px}
.hero-panels{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:.7rem;height:clamp(320px,38vw,440px)}
.hero-panels figure{margin:0;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--sand-deep);box-shadow:var(--shadow)}
.hero-panels figure:first-child{grid-row:1/3}
.hero-panels img{width:100%;height:100%;object-fit:cover}
/* Bijschrift op het hero-beeld. Stond op een gradient die BOVENAAN volledig doorzichtig
   begint — de tekst zweefde daar dus over de kale foto (en hoe licht die foto is, weet je
   niet). Een contrast-checker leest bovendien alleen background-COLOR, geen gradient, en
   meldde 1.2:1. Nu een echte, dekkende achtergrond: leesbaar op elke foto, en meetbaar. */
.hero-cap{position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;background-color:#08161B;color:#fff;font-size:.9rem;line-height:1.35}
.hero-note{margin-top:1rem;font-size:.9rem;color:var(--ink-soft)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy .lead{max-width:none}
  .hero-panels{height:260px;grid-template-columns:1.4fr 1fr}
}

/* ── Kaarten & grids ──────────────────────────────────────────────────── */
.grid{display:grid;gap:1.1rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:940px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.35rem;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.card h3{margin-bottom:.4rem}
.card p{margin-bottom:.9rem;color:var(--ink-body)}
.card .card-foot{margin-top:auto;padding-top:.2rem}
.card-link{text-decoration:none;color:inherit;transition:box-shadow .14s ease,transform .14s ease}
a.card-link:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);color:inherit}
a.card-link:hover h3{color:var(--accent-deep)}
.card-media{border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;background:var(--sand-deep);margin:-1.35rem -1.35rem 1rem;border-radius:var(--radius) var(--radius) 0 0;border:0;border-bottom:1px solid var(--line-soft)}
.card-media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .arrow{color:var(--accent-deep);font-weight:700}

.tile{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.1rem 1.2rem}
.tile .num{display:block;font-size:1.7rem;font-weight:700;color:var(--brand-deep);font-variant-numeric:tabular-nums;line-height:1.15}
.tile .lbl{font-size:.92rem;color:var(--ink-soft)}

.stepgrid{counter-reset:st;display:grid;gap:1.1rem;grid-template-columns:repeat(4,1fr)}
@media (max-width:940px){.stepgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.stepgrid{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.2rem;position:relative}
.step::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-tint);color:var(--brand-deep);font-weight:700;margin-bottom:.7rem;font-variant-numeric:tabular-nums}
.step h3{font-size:1.08rem}
.step p{margin:0;font-size:.98rem}

/* ── Tabellen ─────────────────────────────────────────────────────────── */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:640px;font-size:1rem}
caption{caption-side:bottom;padding:.85rem 1rem;text-align:left;font-size:.92rem;color:var(--ink-soft);border-top:1px solid var(--line-soft)}
th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
thead th{background:var(--sand);color:var(--ink);font-weight:700;font-size:.92rem;letter-spacing:.02em;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.src-tag{display:inline-block;font-size:.9rem;color:var(--ink-soft);white-space:nowrap}
.src-tag a{color:var(--brand-deep)}

/* ── Bron-/uitleg-blokken ─────────────────────────────────────────────── */
.callout{border:1px solid var(--line);border-left:5px solid var(--brand);background:#fff;border-radius:var(--radius);padding:1.1rem 1.25rem;margin:1.6rem 0}
.callout.warn{border-left-color:var(--accent);background:var(--accent-tint);border-color:var(--warn-line)}
.callout h3{font-size:1.08rem;margin-bottom:.4rem}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}
.srcbox{background:var(--sand);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.1rem 1.25rem;font-size:.95rem}
.srcbox h3{font-size:1rem;margin-bottom:.5rem}
.srcbox ul{margin:0;padding-left:1.2rem}
.srcbox li{margin-bottom:.35rem}
.updated{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--ink-soft);background:var(--sand);border:1px solid var(--line-soft);border-radius:999px;padding:.3rem .8rem;margin-bottom:1.2rem}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.faq{display:grid;gap:.7rem}
.faq details{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.faq summary{cursor:pointer;padding:1rem 1.2rem;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.5rem;color:var(--accent-deep);font-weight:700;line-height:1;flex:none}
.faq details[open] summary::after{content:'–'}
.faq details[open] summary{border-bottom:1px solid var(--line-soft)}
.faq .faq-body{padding:1rem 1.2rem 0}
.faq .faq-body p:last-child{margin-bottom:1rem}

/* ── Interactieve tools (keuzehulp + kostenindicatie) ─────────────────── */
.tool{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.tool-head{background:var(--brand-deep);color:#fff;padding:1.1rem 1.35rem}
.tool-head h2,.tool-head h3{color:#fff;margin:0 0 .2rem;font-size:1.25rem}
.tool-head p{margin:0;color:#C7DDDA;font-size:.95rem}
.tool-body{padding:1.35rem}
.fieldrow{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}
@media (max-width:700px){.fieldrow{grid-template-columns:1fr}}
fieldset{border:0;padding:0;margin:0 0 1.3rem}
legend{font-weight:700;color:var(--ink);margin-bottom:.6rem;font-size:1.05rem;padding:0}
.opts{display:grid;gap:.55rem}
.opts.cols2{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){.opts.cols2{grid-template-columns:1fr}}
.opt{position:relative;display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:10px;padding:.8rem .95rem;cursor:pointer;background:#fff;min-height:54px;font-weight:600;color:var(--ink)}
.opt:hover{border-color:var(--brand);background:var(--brand-tint)}
.opt input{width:22px;height:22px;flex:none;accent-color:var(--brand);margin:0}
.opt:has(input:checked){border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--brand)}
.opt .hint{display:block;font-weight:400;font-size:.92rem;color:var(--ink-soft)}
.tool-out{margin-top:.4rem;border-top:1px solid var(--line-soft);padding-top:1.2rem}
.result{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.result .big{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--brand-deep);font-variant-numeric:tabular-nums;line-height:1.2;margin:.1rem 0 .3rem}
.result .why{font-size:.95rem;color:var(--ink-soft);margin:0}
.result ul{margin:.8rem 0 0}
.badge{display:inline-block;background:var(--brand-tint);color:var(--brand-deep);border:1px solid #BFD9D6;border-radius:999px;padding:.22rem .7rem;font-size:.9rem;font-weight:700}

/* ── Formulier ────────────────────────────────────────────────────────── */
.form-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.wide{grid-column:1/-1}
.field label{font-weight:700;color:var(--ink);font-size:1rem}
.control{width:100%;min-height:52px;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.control:focus{border-color:var(--brand);outline:3px solid var(--brand-tint);outline-offset:0}
textarea.control{min-height:120px;resize:vertical}
.control[disabled]{background:var(--sand-deep);color:var(--ink-soft);cursor:not-allowed}
.form-note{font-size:.92rem;color:var(--ink-soft)}

/* ── Prose / SEO-tekstblok ────────────────────────────────────────────── */
.prose{max-width:72ch}
.prose h2{margin-top:2.2rem}
.prose h3{margin-top:1.7rem}
.prose ul li,.prose ol li{margin-bottom:.5rem}
.seo-block{background:var(--sand);border-top:1px solid var(--line-soft)}
.seo-block .cols{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(1.6rem,3vw,3rem);align-items:start}
@media (max-width:900px){.seo-block .cols{grid-template-columns:1fr}}
.linkbox{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.2rem}
.linkbox h3{font-size:1.05rem}
.linkbox ul{list-style:none;padding:0;margin:0}
.linkbox li{margin-bottom:.55rem}
.linkbox a{font-weight:600}

/* ── Breadcrumbs ──────────────────────────────────────────────────────── */
.crumbs{font-size:.92rem;color:var(--ink-soft);padding:1rem 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
/* Kruimelpad = navigatie, geen zinsdeel: een tap-target van 21px hoog is te fijn.
   WCAG 2.5.8 (AA) eist 24px; wij gaan naar 32 zodat het ook met een minder vaste hand lukt. */
.crumbs a{display:inline-flex;align-items:center;min-height:32px}
.crumbs li::after{content:'›';margin-left:.4rem;color:var(--line)}
.crumbs li:last-child::after{content:''}
.crumbs a{color:var(--ink-soft)}

/* ── Footer ───────────────────────────────────────────────────────────── */
.site-foot{background:#12262C;color:#B9C9CD;padding:3rem 0 1.6rem;font-size:.97rem}
.site-foot h3{color:#fff;font-size:1rem;margin-bottom:.8rem;letter-spacing:.02em}
.site-foot a{color:#C9D7DA;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin-bottom:.25rem}
/* Footer-links zijn NAVIGATIE, geen zinsdeel: die vallen niet onder de inline-uitzondering
   van WCAG 2.5.8 en horen dus een echte tap-target van 44px te zijn. Extra van belang voor
   de doelgroep van deze site (senioren, vaker een minder vaste hand). */
.foot-grid ul a{display:inline-flex;align-items:center;min-height:44px}
.foot-brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;color:#fff;margin-bottom:.7rem}
.foot-brand em{font-style:normal;color:#6FB6AE}
.foot-bottom{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid #244047;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.9rem;color:#8FA4AA}
/* Netwerk-links: bescheiden rij, merknaam als linktekst, geen keyword-stuffing.
   Zustersites van dezelfde makers — dofollow (SEO), maar rustig vormgegeven. */
.foot-network{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid #244047;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem}
.foot-network-label{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8FA4AA}
.foot-network ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}
.foot-network li{margin:0}
.foot-network a{display:inline-flex;align-items:center;min-height:44px;color:#C9D7DA;font-size:.92rem;text-decoration:none}
.foot-network a:hover{color:#fff;text-decoration:underline}
.ic{width:22px;height:22px;flex:none}

/* Tap-target-vloer voor links IN lopende tekst (bronvermeldingen, verwijzingen).
   Gemeten op 390px: deze links waren 21px hoog en haalden daarmee WCAG 2.2 AA (2.5.8:
   24x24 CSS-px) NIET. De inline-uitzondering van 2.5.8 geldt voor links midden in een zin,
   maar ze ontslaat je niet van de 24px-ondergrens waar die haalbaar is — en op een site
   voor senioren is een raakvlak van 21px een echt gebrek, geen formaliteit.
   Verticale padding i.p.v. min-height: dat verhoogt het raakvlak zonder de tekstregel te
   breken (display blijft inline). 21px + 2x2px = 25px. */
p a, li a, dd a, td a { padding-block: 2px; }

/* ── Senioren-leesbaarheid: leestekst-vloer 18px (vloot-lat) ──────────────────
   Doelgroep = senioren; de vloot-lat is leestekst >= 18px (OPERATOR-SMAAK punt 7).
   De basis (body) is al 18px, maar een reeks componenten stond in rem (root = 16px)
   en kwam daardoor op 15-17px uit — onder de lat. Hieronder tillen we juist de
   LEESTEKST (lopende tekst, prijstabellen, tool-uitleg, keuzehulp-vragen, formulier)
   naar >= 18px. Bewust NIET opgehoogd: incidentele chrome/bijschriften (eyebrow,
   kruimelpad, tabel-caption, bron-tags, badges, knoppen, footer-fineprint) — dat is
   geen leestekst. Additief: gelijke selector-specificiteit, dus deze regels winnen
   als laatste; niets uit de bestaande opbouw wordt weggegooid. */
.statusbar{font-size:1.125rem}      /* eerlijkheidsbanner — staat op elke pagina */
.tile .lbl{font-size:1.125rem}      /* label onder de prijs-tegel */
.step p{font-size:1.125rem}         /* processtappen (o.a. de Wmo-route) */
.step h3{font-size:1.15rem}
table{font-size:1.125rem}           /* prijstabellen = kerncontent van deze site */
thead th{font-size:1.125rem}
.srcbox{font-size:1.125rem}         /* bron-/uitlegkaders */
.srcbox h3{font-size:1.15rem}
.callout h3{font-size:1.15rem}
.linkbox h3{font-size:1.15rem}
.tool-head p{font-size:1.125rem}    /* omschrijving in de tool-kop */
legend{font-size:1.15rem}           /* keuzehulp-vraag */
/* Eindpoort-vondst 18-07 (Janus): twee LEESZINNEN ontsnapten aan de sweep hierboven.
   De sfeerbeeld-disclaimer in de hero en de omschrijvingszin in de footer zijn lopende
   tekst van 70+ tekens — leestekst, geen fineprint. Footer-links en .foot-bottom
   blijven bewust klein (navigatie/fineprint, zie de afbakening hierboven). */
.hero-note{font-size:1.125rem}
.foot-grid p{font-size:1.125rem}
.updated{font-size:1.125rem}        /* peildatum-stempel: 47-tekens vertrouwenszin op 11 paginas */
.form-note{font-size:1.125rem}      /* offerte-uitleg: eerlijkheidszinnen, geen fineprint */
.opt .hint{font-size:1.125rem}      /* uitleg per keuzehulp-optie */
.result .why{font-size:1.125rem}    /* uitleg bij de rekentool-uitkomst */
.field label{font-size:1.125rem}    /* formulierlabels */
.control{font-size:1.125rem}        /* invoervelden (>=16px voorkomt ook iOS-zoom) */
