/* Sober, zakelijk. Systeemlettertypen, geen externe bronnen. */
:root{
  --ink:#16202b; --ink-2:#3c4a58; --muted:#5a6773;
  --bg:#ffffff; --bg-2:#f3f5f7; --line:#d6dce2;
  --brand:#1d3d5c; --brand-d:#14304a; --brand-l:#e7eef5;
  --signal:#8a4b00; --signal-bg:#fff4e0; --signal-line:#e3a33b;
  --ok:#1f6b3a; --err:#a4161a; --err-bg:#fdecec;
  --focus:#c25e00;
  --r:6px; --max:1080px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.55;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-size:1.0625rem}
img{max-width:100%}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;color:var(--ink)}
h1{font-size:clamp(1.75rem,5.2vw,2.6rem);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,3.6vw,1.85rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--brand)}
a:hover{color:var(--brand-d)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6em 1em;z-index:10}
.skip:focus{left:8px;top:8px}

/* Kop */
.site-head{border-bottom:1px solid var(--line);background:#fff}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.logo{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem}
.logo small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.head-cta{font-size:.95rem;white-space:nowrap}

/* Knoppen */
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:600;
  padding:.8em 1.2em;border-radius:var(--r);border:2px solid var(--brand);cursor:pointer;font-size:1rem;font-family:inherit;line-height:1.3}
.btn:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
.btn-ghost{background:transparent;color:var(--brand)}
.btn-ghost:hover{background:var(--brand-l);color:var(--brand-d)}
.btn-sm{padding:.5em .9em;font-size:.9rem}

/* Secties */
section{padding:48px 0}
.alt{background:var(--bg-2)}
.hero{padding:40px 0 44px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.hero .lead{font-size:1.15rem;color:var(--ink-2);max-width:40em}
.hero .cta-note{color:var(--muted);font-size:.95rem;margin-top:.8em;max-width:36em}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:var(--brand);margin-bottom:.5em}
.grid{display:grid;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.muted{color:var(--muted)}
ul.plain{padding-left:1.2em;margin:0 0 1em}
ul.plain li{margin:.3em 0}

/* Werkwijze */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:16px}
.steps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 18px 64px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:50%;
  background:var(--brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.steps .tag{display:inline-block;font-size:.8rem;font-weight:700;padding:.15em .55em;border-radius:3px;background:var(--brand-l);color:var(--brand-d);margin-bottom:.4em}

/* Niels */
.person{display:flex;gap:18px;align-items:flex-start}
.avatar{flex:0 0 auto;width:88px;height:88px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;font-weight:700;letter-spacing:.03em}

/* Demo: werkbon */
.fictief{display:inline-block;background:var(--ink);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:.35em .7em;border-radius:3px}
.demo{border:2px dashed var(--ink-2);border-radius:var(--r);padding:16px;background:#fff}
.demo-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}
.demo-cols{display:grid;gap:14px}
.bon{border:1px solid var(--line);border-radius:var(--r);background:#fbfcfd;font-size:.95rem}
.bon h3{margin:0;padding:10px 14px;border-bottom:1px solid var(--line);font-size:1rem;background:var(--bg-2)}
.bon dl{margin:0;padding:6px 14px 10px;display:grid;grid-template-columns:8.5em 1fr;gap:6px 10px}
.bon dt{color:var(--muted)}
.bon dd{margin:0;font-weight:500}
.bon .leeg{border:2px solid var(--signal-line);background:var(--signal-bg);border-radius:3px;padding:0 .4em;color:var(--signal);font-style:italic}
.signaal{border:1px solid var(--signal-line);border-left:6px solid var(--signal-line);background:var(--signal-bg);border-radius:var(--r);padding:12px 14px}
.signaal h3{color:var(--signal);font-size:1rem;margin-bottom:.35em}
.vraag{border:1px solid var(--line);border-left:6px solid var(--brand);border-radius:var(--r);padding:12px 14px;background:#fff}
.vraag h3{font-size:1rem;margin-bottom:.35em}
.vraag fieldset{border:0;padding:0;margin:.4em 0 0;min-width:0}
.vraag legend{font-weight:600;margin-bottom:.4em}
.keuzes{display:grid;gap:8px}
.keuzes button{text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.65em .8em;font:inherit;cursor:pointer;color:var(--ink)}
.keuzes button:hover{border-color:var(--brand);background:var(--brand-l)}
.keuzes button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-l);font-weight:600}
.uitkomst{margin:10px 0 0;font-size:.95rem;color:var(--ink-2)}
.uitkomst:empty{display:none}
.demo-cols .rechts{display:grid;gap:14px;align-content:start}
.demo-foot{margin:12px 0 0;font-size:.9rem;color:var(--muted)}

/* Video */
.video-box{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);padding:16px}
.video-box video{width:100%;display:block;border-radius:4px;background:#000}
details.transcript{margin-top:12px}
details.transcript summary{cursor:pointer;font-weight:600}
.transcript-body{margin-top:10px}

/* Formulier */
.form-wrap>*{max-width:640px}
form .veld{margin-bottom:16px}
label{display:block;font-weight:600;margin-bottom:4px}
.opt{font-weight:400;color:var(--muted)}
.hint{display:block;font-size:.9rem;color:var(--muted);margin-bottom:4px}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:.65em .75em;font:inherit;color:var(--ink);background:#fff;
  border:1px solid #8a96a1;border-radius:var(--r)}
textarea{min-height:120px;resize:vertical}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
[aria-invalid="true"]{border-color:var(--err);border-width:2px}
.fout{display:block;color:var(--err);font-size:.92rem;margin-top:4px;font-weight:600}
.fout:empty{display:none}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.melding{border-radius:var(--r);padding:12px 14px;margin:0 0 16px}
.melding:empty{display:none;padding:0;margin:0}
.melding.err{background:var(--err-bg);border:1px solid var(--err);color:#5c0b0d}
.melding.info{background:var(--brand-l);border:1px solid var(--brand)}
.form-note{font-size:.9rem;color:var(--muted);margin-top:12px}
.teller{float:right;font-weight:400;font-size:.85rem;color:var(--muted)}

/* Voet */
.site-foot{background:var(--ink);color:#d9e0e6;padding:32px 0;font-size:.92rem}
.site-foot a{color:#fff}
.site-foot .grid{gap:16px}
.site-foot h2{color:#fff;font-size:1rem;margin-bottom:.5em}
.site-foot p{margin:0 0 .4em}

/* Bedankt */
.check{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:10px}
.check li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 12px 44px;position:relative}
.check li::before{content:"";position:absolute;left:16px;top:17px;width:14px;height:8px;border-left:3px solid var(--ok);border-bottom:3px solid var(--ok);transform:rotate(-45deg)}

.prose{max-width:46em}
.prose h2{font-size:1.25rem;margin-top:1.5em}

/* Demo: twintig werkbonnen */
.stroom{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stroom li{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);padding:10px 10px 10px;font-size:.88rem;line-height:1.3;color:var(--ink-2)}
.stroom strong{display:block;font-size:1.7rem;line-height:1.1;color:var(--ink)}
.stroom .s-ok{background:#eaf5ee;border-color:#9fcdb0}
.stroom .s-ok strong{color:var(--ok)}
.stroom .s-let{background:var(--signal-bg);border-color:var(--signal-line)}
.stroom .s-let strong{color:var(--signal)}
.voortgang{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 6px}
.voortgang-tekst{margin:0;font-weight:600}
.voortgang-tekst strong{font-size:1.15rem}
.balk{flex:1 1 120px;height:10px;border-radius:5px;background:var(--bg-2);border:1px solid var(--line);overflow:hidden;min-width:80px}
.balk span{display:block;height:100%;width:0;background:var(--brand);transition:width .25s}
.demo-status{margin:0 0 8px;font-size:.92rem;color:var(--ink-2);min-height:1.4em}
.demo-klaar{margin:0 0 12px;padding:10px 12px;border:1px solid #9fcdb0;border-left:6px solid var(--ok);background:#eaf5ee;border-radius:var(--r);font-weight:600}
.demo-grid{display:grid;gap:14px;min-width:0}
.demo-grid>*{min-width:0}
.filter{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.filter button{font:inherit;font-size:.9rem;padding:.4em .75em;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.filter button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.bonlijst{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bonknop{width:100%;text-align:left;font:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.55em .7em;cursor:pointer;color:var(--ink);display:block}
.bonknop:hover{border-color:var(--brand);background:var(--brand-l)}
.bonknop[aria-current="true"]{border:2px solid var(--brand);background:var(--brand-l);padding:calc(.55em - 1px) calc(.7em - 1px)}
.bk-r1{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.bk-nr{font-weight:700;font-variant-numeric:tabular-nums}
.bk-r2{display:block;font-size:.88rem;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:.12em .55em;border-radius:3px;white-space:nowrap}
.chip-ok{background:#eaf5ee;color:var(--ok);border:1px solid #9fcdb0}
.chip-let{background:var(--signal-bg);color:var(--signal);border:1px solid var(--signal-line)}
.chip-klaar{background:var(--brand-l);color:var(--brand-d);border:1px solid #a9bfd3}
.chip-wacht{background:#f1edf7;color:#4b2e7a;border:1px solid #c4b5dc}
.bondetail{min-width:0}
.bondetail .bon dl{grid-template-columns:7.5em minmax(0,1fr)}
.bondetail dd{overflow-wrap:anywhere}
.bon dd.markeer{background:var(--signal-bg);outline:2px solid var(--signal-line);border-radius:3px;padding:0 .3em;color:#5b3200}
.matlijst{margin:0;padding-left:1.1em}
.matlijst .dubbel{background:var(--signal-bg);font-weight:700;color:#5b3200}
.detail-cols{display:grid;gap:14px}
.detail-cols .rechts{display:grid;gap:14px;align-content:start}
.detail-leeg{border:1px dashed var(--line);border-radius:var(--r);padding:18px;background:var(--bg-2)}
.detail-leeg h3{font-size:1rem}
.signaal p{margin:0 0 .5em}
.signaal .klein{font-size:.9rem;margin:0;color:#5b3200}
.inorde{border:1px solid #9fcdb0;border-left:6px solid var(--ok);background:#eaf5ee;border-radius:var(--r);padding:12px 14px}
.inorde h3{color:var(--ok);font-size:1rem;margin-bottom:.35em}
.inorde p{margin:0}
.detail-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.detail-teller{flex:1 0 100%;margin:0;font-size:.92rem;font-weight:600;color:var(--ink-2)}
.bon h3:focus-visible{outline-offset:-3px}
.regels{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.regels summary{cursor:pointer;font-weight:600;color:var(--brand)}
.regels ol{margin:10px 0 0;padding-left:1.3em;font-size:.95rem}
.regels li{margin:.35em 0}
.demo-cta{margin-top:22px;padding:18px 20px;border-radius:var(--r);background:var(--brand-l);border:1px solid #a9bfd3;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.demo-cta p{margin:0;font-size:1.1rem;font-weight:600}
@media (max-width:420px){
  .stroom li{padding:8px;font-size:.8rem}
  .stroom strong{font-size:1.4rem}
  .bondetail .bon dl{grid-template-columns:1fr;gap:0 10px}
  .bondetail .bon dt{margin-top:6px}
}
@media (min-width:900px){
  .demo-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}
}
@media (min-width:1060px){
  .detail-cols{grid-template-columns:1.05fr 1fr}
  .bondetail{position:sticky;top:12px}
}

@media (min-width:720px){
  section{padding:64px 0}
  .hero{padding:64px 0}
  .g2{grid-template-columns:1fr 1fr}
  .g3{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .demo{padding:22px}
  .demo-cols{grid-template-columns:1.1fr 1fr}
  .site-foot .grid{grid-template-columns:2fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== v2 · werkbon-stijl ===================================================
   Donkerblauw + gebroken wit. Amber is uitsluitend "vraagt aandacht".
   Monospace voor bonnummers en velden. Geen externe bronnen. */
:root{
  --ink:#14202c; --ink-2:#36444f; --muted:#56626c;
  --paper:#f7f5f0; --bg-2:#f1efe9; --line:#d8d3c8; --rule:#e6e1d6;
  --brand:#1b3a57; --brand-d:#122a40; --brand-l:#e6edf4;
  --signal:#8a4b00; --signal-bg:#fff2d9; --signal-line:#d98e1c;
  --focus:#0f5bb5;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
:focus-visible{outline-color:var(--focus)}
input:focus-visible,textarea:focus-visible{outline-color:var(--focus)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.klein{font-size:.8rem}
.eyebrow{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-2)}
.eyebrow .mono{display:inline-block;border:1px solid var(--ink-2);padding:0 .35em;margin-right:.5em;border-radius:2px}
.sig-woord{background:var(--signal-bg);color:var(--signal);font-weight:700;padding:0 .2em;border-bottom:2px solid var(--signal-line)}
.sig-tekst{color:var(--signal);font-weight:700}
.fictief{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;border-radius:2px}
.bk-nr,.bon h3{font-family:var(--mono)}
.btn{border-radius:3px}

/* Hero met stapel */
.hero-v2{background-color:var(--paper);
  background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);
  background-size:24px 24px;background-position:-1px -1px;padding:28px 0 36px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:24px}
.hero-v2 h1{font-size:clamp(1.85rem,6.4vw,3rem);letter-spacing:-.015em;max-width:15em}
.hero-v2 .lead{font-size:1.08rem;max-width:34em}
.hero-acties{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.hero-acties .btn-ghost{background:#fff}
.hero-v2 .cta-note{font-size:.9rem;margin-top:.9em}

.stapel{margin:0;background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line);min-width:0}
.stapel-kop{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ink-2);color:var(--muted)}
.stapel-titel{padding:10px 12px 0;font-weight:600;font-size:.95rem;color:var(--ink)}
.stapel-raster{list-style:none;margin:0;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.stapel:not(.actief) .stapel-raster{display:none}
.kaartje{width:100%;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  font:inherit;font-family:var(--mono);font-size:.78rem;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:2px;
  padding:6px 6px 5px;cursor:pointer;position:relative;
  background-image:repeating-linear-gradient(transparent 0 9px,var(--rule) 9px 10px);background-position:0 22px;background-size:100% calc(100% - 30px);background-repeat:no-repeat}
.kaartje:hover{border-color:var(--brand)}
.k-teken{align-self:flex-end;font-weight:700;font-size:.9rem;line-height:1;color:var(--ok)}
.kaartje.is-vraag{border-color:var(--signal-line);border-width:1px 1px 1px 4px;background-color:var(--signal-bg);color:#5b3200}
.kaartje.is-vraag .k-teken{color:var(--signal);font-size:1.05rem}
.stapel-telling{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--ink-2)}
.stapel-telling>div{padding:10px 12px;border-right:1px solid var(--line)}
.stapel-telling>div:last-child{border-right:0}
.stapel-telling dt{font-size:.78rem;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}
.stapel-telling dd{margin:2px 0 0;font-size:1.9rem;font-weight:700;line-height:1;color:var(--ink)}
.st-door dd{color:var(--ok)}
.st-vraag{background:var(--signal-bg)}
.st-vraag dd{color:var(--signal)}
.stapel-voet{margin:0;padding:8px 12px 10px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.stapel:not(.actief) .stapel-voet{display:none}

@media (min-width:720px){
  .hero-v2{padding:56px 0 64px}
}
@media (min-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
  .stapel-raster{gap:8px;padding:14px 16px 16px}
  .kaartje{font-size:.82rem;aspect-ratio:5/4}
  .hero-v2 .stapel{align-self:start}
}

/* Introanimatie stapel (uit bij prefers-reduced-motion via de algemene regel) */
.kaartje{transition:background-color .2s,border-color .2s,color .2s,transform .2s,opacity .2s}
.kaartje.is-nieuw{background-color:#fff;border-color:var(--line);border-left-width:1px;color:var(--muted);opacity:.55;transform:translateY(-4px)}
.kaartje .k-teken{transition:opacity .2s}
.kaartje.is-nieuw .k-teken{opacity:0}

/* Eigen bon */
.eigen-bon{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.privacy-regel{max-width:46em;border-left:4px solid var(--brand);background:#fff;padding:10px 14px;border-radius:2px}
.eigen-grid{display:grid;gap:16px;margin-top:8px;min-width:0}
.eigen-grid>*{min-width:0}
.eigen-grid[hidden]{display:none}
.eigen-invoer{background:#fff}
.eigen-velden{padding:12px 14px 14px}
.eigen-velden .veld{margin-bottom:14px}
.veld-rij{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eigen-velden textarea,.eigen-velden input{font-family:var(--mono);font-size:.95rem}
.eigen-velden textarea{min-height:84px}
select{width:100%;padding:.6em .7em;font:inherit;color:var(--ink);background:#fff;border:1px solid #8a96a1;border-radius:var(--r)}
select:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.eigen-knoppen{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.eigen-uitkomst{display:grid;gap:10px;align-content:start}
.eigen-resultaat{display:grid;gap:12px}
.keuze-kop{margin:.4em 0 .2em;font-weight:600}
.keuze-lijst{margin:0;padding-left:1.2em}
.keuze-lijst li{margin:.2em 0}
.vraag>p{margin:0 0 .4em}
@media (min-width:900px){ .eigen-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start} }

/* Video na klik */
.video-box{background:#fff;border:1px solid var(--ink-2);border-radius:4px;padding:0;overflow:hidden;margin:4px 0 8px}
.video-start{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--paper);
  border:0;padding:18px;cursor:pointer;min-height:120px;
  background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:24px 24px}
.video-start:hover .video-play{background:var(--brand-d)}
.video-play{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;padding-left:4px}
.video-label{display:grid;gap:4px}
.video-label .mono{color:var(--muted)}
.video-box video{border-radius:0}
.video-box>p{margin:0;padding:14px 16px}
.transcript-kop{margin-top:18px}

/* Niels */
.niels-kaart{display:grid;gap:18px;background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line);padding:18px}
.niels-foto{margin:0;display:grid;gap:6px;justify-items:start}
.niels .avatar{width:112px;height:112px;border-radius:2px;font-size:2rem;object-fit:cover}
.niels-foto figcaption{color:var(--muted)}
.niels-tekst h2{margin-bottom:.5em}
.niels-feiten{display:grid;grid-template-columns:repeat(3,1fr);margin:6px 0 0;border:1px solid var(--line);border-radius:2px}
.niels-feiten>div{padding:8px 10px;border-right:1px solid var(--line)}
.niels-feiten>div:last-child{border-right:0}
.niels-feiten dt{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.niels-feiten dd{margin:2px 0 0;font-weight:700}
.meer-link{margin:18px 0 0;font-weight:600}
@media (min-width:720px){
  .niels-kaart{grid-template-columns:auto minmax(0,1fr);gap:28px;padding:26px}
  .niels .avatar{width:160px;height:160px}
}
.site-foot .foot-links{list-style:none;margin:0;padding:0}
.site-foot .foot-links li{margin:0 0 .4em}

/* Werkwijze */
.hero-smal{padding:32px 0 36px}
.hero-smal .lead{max-width:40em}
.stapkaarten{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.stapkaart{background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line)}
.stapkaart-kop{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 16px;border-bottom:1px solid var(--ink-2);background:var(--bg-2)}
.stapkaart-kop h3{margin:0;font-size:1.2rem}
.stapkaart-kop .mono{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.stapkaart-kop .tag{margin-left:auto;font-size:.82rem;font-weight:700;padding:.15em .6em;border-radius:2px;background:var(--brand-l);color:var(--brand-d)}
.velden{margin:0}
.velden>div{display:grid;gap:2px 16px;padding:10px 16px;border-bottom:1px solid var(--rule)}
.velden>div:last-child{border-bottom:0}
.velden dt{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:.2em}
.velden dd{margin:0}
.velden ul.plain{margin:0}
.principe{margin-top:20px}
@media (min-width:720px){
  .velden>div{grid-template-columns:11em minmax(0,1fr)}
  .hero-smal{padding:52px 0 56px}
}

/* Rekenhulp */
.reken{display:grid;gap:16px;margin-top:8px;min-width:0}
.reken[hidden]{display:none}
.reken>*{min-width:0}
.reken-invoer{background:#fff}
.reken-velden{padding:12px 14px 2px}
.reken-velden .veld{margin-bottom:14px}
.reken-velden input{font-family:var(--mono);max-width:12em}
.reken-uitkomst{background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line);padding:16px;align-self:start}
.reken-uitkomst>p{margin:0}
.reken-lijst{margin:0 0 10px;display:grid}
.reken-lijst>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.reken-lijst dt{color:var(--ink-2)}
.reken-lijst dd{margin:0;font-weight:700;font-size:1.1rem;white-space:nowrap}
.reken-lijst .reken-hoofd dd{font-size:1.8rem;color:var(--brand)}
.reken-som{color:var(--muted);margin:0 0 8px!important}
.reken-voet{font-size:.92rem;color:var(--ink-2);margin:0}
@media (min-width:900px){ .reken{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start} }

/* Scrollverhaal */
.verhaal-grid{display:grid;gap:16px;min-width:0}
.verhaal-grid>*{min-width:0}
.verhaal:not(.actief) .verhaal-bon-plek{display:none}
.verhaal-bon-plek{position:sticky;top:8px;z-index:1}
.verhaal-bon{background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line);font-size:.9rem}
.vb-kop{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ink-2)}
.vb-velden{margin:0;padding:6px 10px}
.vb-velden>div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px;padding:3px 0}
.vb-velden dt{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:.2em}
.vb-velden dd{margin:0;overflow-wrap:anywhere;transition:background-color .3s,color .3s}
.vb-signaal,.vb-keuze{display:none;margin:0 10px 8px;padding:8px 10px;border-radius:3px}
.vb-signaal{border:1px solid var(--signal-line);border-left:5px solid var(--signal-line);background:var(--signal-bg);color:#5b3200}
.vb-signaal strong{display:block}
.vb-keuze{border:1px solid #a9bfd3;border-left:5px solid var(--brand);background:var(--brand-l)}
.vb-status{margin:0;padding:8px 10px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.82rem;font-weight:700;color:var(--ink-2)}
.verhaal-bon[data-stap="2"] .vb-velden>div:nth-child(3) dd{background:var(--signal-bg);outline:2px solid var(--signal-line);border-radius:2px;color:#5b3200;padding:0 .3em}
.verhaal-bon[data-stap="2"] .vb-signaal{display:block}
.verhaal-bon[data-stap="2"] .vb-status{color:var(--signal);background:var(--signal-bg)}
.verhaal-bon[data-stap="3"] .vb-keuze,.verhaal-bon[data-stap="4"] .vb-keuze{display:block}
.verhaal-bon[data-stap="4"] .vb-status{color:var(--ok);background:#eaf5ee}
.verhaal-stappen{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.verhaal-stappen li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:3px;padding:14px 16px;transition:border-color .3s,opacity .3s}
.verhaal-stappen li h3{margin:.2em 0 .3em}
.verhaal-stappen li p{margin:0}
.verhaal-stappen li>.mono{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.verhaal.actief .verhaal-stappen li{min-height:46vh;opacity:.55}
.verhaal.actief .verhaal-stappen li.is-actief{opacity:1;border-left-color:var(--brand)}
.verhaal.actief .verhaal-stappen li[data-stap="2"].is-actief{border-left-color:var(--signal-line)}
@media (prefers-reduced-motion:reduce){ .verhaal.actief .verhaal-stappen li{min-height:0;opacity:1} .verhaal-bon-plek{position:static} }
@media (min-width:900px){
  .verhaal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
  .verhaal-bon-plek{top:24vh;order:2}
  .verhaal-bon{font-size:1rem}
  .verhaal.actief .verhaal-stappen li{min-height:62vh;display:flex;flex-direction:column;justify-content:center}
}
/* Scrollverhaal: stappen als lijn in de marge, tekst onder de vastgezette bon op mobiel */
.verhaal.actief .verhaal-stappen li{background:transparent;border:0;border-left:4px solid var(--line);border-radius:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:58vh;padding-bottom:8vh}
@media (min-width:900px){ .verhaal.actief .verhaal-stappen li{justify-content:center;padding-bottom:14px;min-height:62vh} }
@media (prefers-reduced-motion:reduce){ .verhaal.actief .verhaal-stappen li{min-height:0;padding-bottom:14px} }

/* Keuze werkbonnen / ander proces */
.niche-keuze{border:0;padding:0;margin:4px 0 14px;min-width:0}
.niche-keuze[hidden],.ander-proces[hidden]{display:none}
.niche-keuze legend{font-weight:600;margin-bottom:6px;padding:0}
.niche-opties{display:flex;flex-wrap:wrap;gap:8px}
.niche-optie{display:flex;align-items:flex-start;gap:8px;font-weight:600;margin:0;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:3px;padding:10px 14px;flex:1 1 220px}
.niche-optie small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.niche-optie input{margin-top:.3em;accent-color:var(--brand)}
.niche-optie:has(input:checked){border-color:var(--brand);background:var(--brand-l)}
.niche-optie:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.ander-proces{background:#fff;border:1px solid var(--ink-2);border-radius:4px;box-shadow:4px 4px 0 var(--line);padding:18px;max-width:46em}
.ander-proces h3{margin-bottom:.4em}
.demo-cta[hidden]{display:none}
