.vk{
  --olijf:#7c913d; --donker:#334546; --grijs:#b3b3b3;
  --bg:#fbfbf8; --surface:#ffffff; --fg:#253334; --muted:#5f6b66; --line:#dcdfd6;
  --tile-hover:#f3f5ec; --sel-bg:#334546; --sel-fg:#ffffff; --accent:#7c913d; --accent-ink:#5d6e2c;
  --proto-bg:#eef0e8; --note-bg:#f4f6ef;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"Lato", "Helvetica Neue", Arial, sans-serif;
}
.vk *{box-sizing:border-box}
.vk .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}
.vk h2{font-family:var(--sans);font-weight:700;font-size:clamp(22px,3.4vw,28px);line-height:1.25;margin:.25em 0 .3em;text-wrap:balance}
.vk .lead{color:var(--muted);max-width:60ch;margin:0}
.vk .progress{display:flex;gap:6px;margin:40px 0 8px}
.vk .progress i{height:3px;flex:1;background:var(--line);border-radius:2px}
.vk .progress i.done{background:var(--accent)}
.vk .trail{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--sans);font-size:13px;color:var(--muted);min-height:20px;margin-bottom:32px}
.vk .trail button{all:unset;cursor:pointer;color:var(--muted);border-bottom:1px dotted var(--grijs)}
.vk .trail button:hover,.vk .trail button:focus-visible{color:var(--fg);border-bottom-color:var(--accent)}
.vk .step{animation:in .35s ease both}
@keyframes in{from{opacity:.0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vk .step{animation:none}}
.vk .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:28px}
.vk .tile{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-content:start;padding:18px 18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:4px;transition:border-color .15s,background .15s}
.vk .tile:hover{border-color:var(--accent);background:var(--tile-hover)}
.vk .tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vk .tile .nr{font-family:var(--sans);font-size:12px;color:var(--accent-ink);font-weight:700;padding-top:3px;font-variant-numeric:tabular-nums;grid-row:span 2}
.vk .tile .t{font-family:var(--sans);font-weight:700;font-size:16px;line-height:1.3}
.vk .tile .u{font-size:15px;color:var(--muted);line-height:1.45}
.vk .tile.sel{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.vk .tile.sel .u,.vk .tile.sel .nr{color:var(--sel-fg);opacity:.85}
.vk .back{all:unset;cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--muted);margin-top:28px;display:inline-block}
.vk .back:hover,.vk .back:focus-visible{color:var(--fg)}
.vk .routes{display:grid;gap:14px;margin-top:28px}
.vk .route{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);padding:20px 22px;border-radius:2px}
.vk .route .k{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vk .route h3{font-family:var(--sans);font-size:19px;margin:.2em 0 .35em;line-height:1.3}
.vk .route p{margin:0;color:var(--fg)}
.vk .route .price{display:block;margin-top:8px;font-family:var(--sans);font-size:14px;color:var(--accent-ink);font-weight:700}
.vk .vk-note{font-size:15px;color:var(--muted);font-style:italic;margin-top:20px}
.vk .btn{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.02em;padding:14px 22px;border-radius:3px;background:var(--donker);color:#fff;display:inline-block;text-align:center}
.vk .btn:hover{filter:brightness(1.1)}
.vk .btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vk .btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.vk .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}
.vk .summary{background:var(--note-bg);border:1px solid var(--line);padding:18px 20px;margin-top:24px;font-family:var(--sans);font-size:14px;line-height:1.7;border-radius:3px}
.vk .summary dt{color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:8px}
.vk .summary dt:first-child{margin-top:0}
.vk .summary dd{margin:0}
.vk .flash{font-family:var(--sans);font-size:14px;color:var(--accent-ink)}
.vk .hint{font-family:var(--sans);font-size:13px;color:var(--muted);margin:0}
.vk .tile .chk{width:18px;height:18px;border:1.5px solid var(--grijs);border-radius:3px;margin-top:2px;grid-row:span 2;display:grid;place-items:center;font-size:13px;font-family:var(--sans);line-height:1}
.vk .tile.sel .chk{border-color:var(--sel-fg)}
.vk .btn[disabled]{opacity:.4;cursor:not-allowed}
.vk .cards{display:grid;gap:12px;margin-top:24px}
.vk .card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px 20px;display:grid;grid-template-columns:44px 1fr;gap:4px 16px}
.vk .card.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.vk .card .ico{grid-row:span 5;color:var(--accent-ink)}
.vk .card .ico svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vk .card .lbl{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vk .card h3{font-family:var(--sans);font-size:19px;margin:0;line-height:1.3}
.vk .card .s{margin:0}
.vk .card .row{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:8px;font-family:var(--sans);font-size:14px}
.vk .card .prijs{font-weight:700;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.vk .card .prijs small{font-weight:400;color:var(--muted)}
.vk .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.vk .tag{font-family:var(--sans);font-size:13px;padding:3px 10px;border-radius:999px;background:var(--note-bg);border:1px solid var(--line);color:var(--fg)}
.vk .link{all:unset;cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--fg);border-bottom:1px solid var(--grijs)}
.vk .link:hover,.vk .link:focus-visible{border-bottom-color:var(--accent)}
.vk .pick{all:unset;cursor:pointer;font-family:var(--sans);font-size:14px;display:inline-flex;gap:8px;align-items:center}
.vk .pick .chk{width:18px;height:18px;border:1.5px solid var(--grijs);border-radius:3px;display:grid;place-items:center;font-size:13px}
.vk .card.on .pick .chk{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.vk .more{grid-column:2;border-top:1px dotted var(--line);margin-top:10px;padding-top:10px;display:grid;gap:8px}
.vk .more p{margin:0}
.vk .more b{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);display:block}
.vk .cb{margin-top:28px;padding:18px 20px;background:var(--note-bg);border:1px solid var(--line);border-radius:4px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.vk .cb div{min-width:0;flex:1 1 280px}
.vk .cb b{font-family:var(--sans);font-size:17px}
.vk .cb p{margin:4px 0 0;color:var(--muted)}
.vk .btn.alt{background:var(--accent-ink);color:var(--bg)}
.vk .grp{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:28px 0 0}
.vk .bwrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:9px}
.vk .bubble{position:relative;font-family:var(--sans);font-size:13px;line-height:1.3;background:var(--surface);color:var(--fg);border:1px solid var(--accent);border-radius:6px;padding:6px 10px}
.vk .bubble::after{content:"";position:absolute;left:22px;bottom:-6px;width:10px;height:10px;background:var(--surface);border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}
.vk .vk-closing .actions{align-items:flex-end}
.vk .vk-closing{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:10px;max-width:62ch}
.vk .vk-closing p{margin:0}
.vk form.info{display:grid;gap:14px;margin-top:24px;max-width:560px}
.vk form.info label{font-family:var(--sans);font-size:14px;font-weight:700;display:grid;gap:6px}
.vk form.info label span{font-weight:400;color:var(--muted);font-size:13px}
.vk form.info input,.vk form.info textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--fg)}
.vk form.info input:focus,.vk form.info textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.vk .err{color:#a33;font-family:var(--sans);font-size:13px}
.vk{--bg:var(--paper);--fg:var(--ink);--surface:#ffffff;--line:#ddd9ce;font-size:1.06rem}
.vk .lead{font-size:inherit}
.vk .cards{grid-template-columns:1fr}
.vk .card{border-top-width:1px}
.vk .card h3{color:var(--green)}
.vk h2{color:var(--green)}
.vk .grp{margin-top:36px}
.vk .more-cb{margin:12px 0 0;font-family:var(--sans);font-size:14px}
.vk .vk-closing h2{color:var(--green)}
.vk .progress{margin:20px 0 6px}
.vk .trail{min-height:0;margin-bottom:18px}
.vk .step h2{margin-top:.15em}
