
/* Bouwroutes v5. Huisstijl uit home-v15 en bouwroutes-v4.
   JavaScript alleen voor het menu, de onderwerpkeuze en de schakelaar tussen de uitvoeringen. */
:root{
  --vv-diep:#0B2A5B; --vv-inkt:#1F2A44; --vv-teal:#1FBFAE; --vv-teal-d:#0F7C70; --vv-teal-t:#0B5F55;
  --vv-papier:#FAF6EE; --vv-zand:#F5F2E9; --vv-rand:#E3DED2; --vv-grijs:#5C6670;
  --vogelpapier:#FDFDFB;
  --kop:Literata,Georgia,serif; --tekst:Jost,"Segoe UI",Arial,sans-serif;
  --m:clamp(16px,4vw,64px); --breed:1360px; --lees:740px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--vv-papier);color:var(--vv-inkt);font:400 17px/1.6 var(--tekst)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--kop);font-weight:600;color:var(--vv-diep);letter-spacing:-.015em;margin:0;text-wrap:balance}
p,ul,dl,dd{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2*var(--m),var(--breed));margin-inline:auto}
.kicker{display:block;font:600 12px/1.4 var(--tekst);letter-spacing:.16em;text-transform:uppercase;color:var(--vv-teal-d);margin-bottom:18px}
.donker{background:var(--vv-diep);color:var(--vv-papier)}
.donker h2{color:var(--vv-papier)}
.donker .kicker{color:var(--vv-teal)}
.zand{background:var(--vv-zand)}
h2{font-size:clamp(32px,4.2vw,58px);line-height:1.04}
.lead{font-size:clamp(18px,1.5vw,22px);line-height:1.45;max-width:44ch}
.donker .lead{color:rgba(250,246,238,.86)}

/* knoppen en links */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--vv-teal);color:var(--vv-diep);font:600 17px/1.15 var(--tekst);padding:17px 26px;border-radius:8px;text-decoration:none;border:0;cursor:pointer;text-align:center;transition:background .18s}
.knop.klein{font-size:15px;padding:12px 18px}
.knop.lijn{background:transparent;color:var(--vv-diep);box-shadow:inset 0 0 0 1.5px currentColor}
.tekstlink{font-weight:500;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px;text-decoration-color:var(--vv-teal)}
.donker .tekstlink{color:var(--vv-papier)}
.acties{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:34px}
:focus-visible{outline:3px solid var(--vv-teal-d);outline-offset:3px}
.donker :focus-visible{outline-color:var(--vv-teal)}
@media (hover:hover){
  .knop:hover{background:#19AD9E}
  .knop.lijn:hover{background:rgba(11,42,91,.06)}
  .tekstlink:hover{text-decoration-color:currentColor}
  .menu a:not(.knop):hover{color:var(--vv-teal-d)}
}

/* conceptbalk en kop, uit v15 */
.conceptbalk{background:var(--vv-inkt);color:var(--vv-papier);font-size:12px;letter-spacing:.04em;text-align:center;padding:6px var(--m)}
.kop{border-bottom:1px solid var(--vv-rand);background:var(--vv-papier);position:relative;z-index:10}
.koprij{display:flex;align-items:center;gap:28px;min-height:76px;padding:10px 0}
.merk{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 22px/1 var(--kop);color:var(--vv-diep);letter-spacing:-.01em}
.merk img{width:44px;height:44px}
.menu{display:flex;align-items:center;gap:26px;margin-left:auto;font-weight:500;font-size:16px}
.menu a{text-decoration:none;color:var(--vv-inkt);white-space:nowrap}
.menu a[aria-current]{color:var(--vv-teal-d)}
.menu a.knop{color:var(--vv-diep)}
.menuknop{display:none;margin-left:auto;align-items:center;gap:10px;background:none;border:1.5px solid var(--vv-diep);border-radius:8px;color:var(--vv-diep);font:600 15px/1 var(--tekst);padding:10px 14px;cursor:pointer}
.menuknop .streep{position:relative;width:16px;height:2px;background:currentColor}
.menuknop .streep::before,.menuknop .streep::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}
.menuknop .streep::before{top:-5px}.menuknop .streep::after{top:5px}
.menuknop[aria-expanded="true"] .streep{background:transparent}
.menuknop[aria-expanded="true"] .streep::before{top:0;transform:rotate(45deg)}
.menuknop[aria-expanded="true"] .streep::after{top:0;transform:rotate(-45deg)}
@media (max-width:1060px) and (min-width:901px){.menu{gap:18px;font-size:15px}.koprij{gap:20px}}
@media (max-width:900px){
  .koprij{min-height:60px;gap:12px;padding:8px 0}
  .merk{font-size:19px}.merk img{width:36px;height:36px}
  .js .menuknop{display:inline-flex}
  .menu{flex-wrap:wrap;gap:10px 18px;font-size:15px;width:100%}
  html:not(.js) .koprij{flex-wrap:wrap}
  .js .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--vv-papier);border-bottom:1px solid var(--vv-rand);box-shadow:0 18px 30px -18px rgba(31,42,68,.35);flex-direction:column;align-items:stretch;gap:0;padding:6px var(--m) 20px;margin:0}
  .js .menu.open{display:flex}
  .js .menu a{padding:14px 0;border-bottom:1px solid var(--vv-rand);font-size:18px}
  .js .menu a.knop{margin-top:16px;border:0;padding:16px 20px}
}

/* 1 OPENING met de drie vogels, licht */
.opening{padding:clamp(40px,7vh,96px) 0 clamp(48px,7vh,88px);background:var(--vogelpapier);border-bottom:1px solid var(--vv-rand);overflow:clip}
.opening .tekst{max-width:780px}
.opening h1{font-size:clamp(40px,5.4vw,80px);line-height:1.02;letter-spacing:-.022em}
.opening .lead{margin-top:.7em;max-width:46ch}
.motto{font:500 italic clamp(19px,1.6vw,23px)/1.3 var(--kop);color:var(--vv-teal-t)}
.omschrijving{margin-top:.5em;font-size:16.5px;line-height:1.55;max-width:42ch}
.keuzenoot{margin-top:clamp(28px,4vh,44px);padding-top:18px;border-top:1px solid var(--vv-rand);font-size:15.5px;line-height:1.55;color:var(--vv-grijs);max-width:78ch}
@media (max-width:900px){
  .opening h1{font-size:clamp(34px,10vw,48px)}
}
@media (max-width:700px){
  .motto{font-size:18px}
  .omschrijving{font-size:15.5px}
}

/* 2 PRAKTISCHE VERSCHILLEN, onderwerp links en antwoord rechts */
.verschil{padding:clamp(64px,10vh,120px) 0}
.verschil .intro{max-width:760px;margin-bottom:clamp(28px,4vh,44px)}
.verschil .intro p{margin-top:.6em;font-size:clamp(18px,1.4vw,20px)}
.keuze{margin:0}
.keuze>h3{margin:0;font:inherit;letter-spacing:0}
.onderwerp{display:flex;align-items:center;gap:14px;width:100%;margin:0;text-align:left;background:none;border:0;border-top:1px solid var(--vv-rand);padding:17px 14px 17px 20px;font:500 19px/1.3 var(--tekst);color:var(--vv-diep);cursor:pointer;position:relative;transition:background .15s}
.keuze>h3:last-of-type .onderwerp{border-bottom:1px solid var(--vv-rand)}
.onderwerp .naam{flex:1}
.onderwerp .teken{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--vv-rand);position:relative}
.onderwerp .teken::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-right:2px solid var(--vv-grijs);border-bottom:2px solid var(--vv-grijs);transform:translate(-65%,-50%) rotate(-45deg)}
.onderwerp[aria-expanded="true"]{background:#fff;font-weight:600}
.onderwerp[aria-expanded="true"]::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:5px;background:var(--vv-teal-d)}
.onderwerp[aria-expanded="true"] .teken{background:var(--vv-teal-d);border-color:var(--vv-teal-d)}
.onderwerp[aria-expanded="true"] .teken::after{border-color:#fff}
@media (hover:hover){.onderwerp[aria-expanded="false"]:hover{background:rgba(255,255,255,.6)}.onderwerp[aria-expanded="false"]:hover .teken{border-color:var(--vv-diep)}}
.onderwerp:focus-visible{outline-offset:-3px}
.antwoord{background:#fff;border:1px solid var(--vv-rand);border-radius:8px;padding:clamp(20px,2.6vw,36px)}
.antwoord:not([hidden]){animation:verschijn .2s ease-out}
@keyframes verschijn{from{opacity:0;transform:translateY(4px)}}
html:not(.js) .antwoord[hidden]{display:block}
.vraag{font:500 italic clamp(22px,2vw,28px)/1.25 var(--kop);color:var(--vv-diep);margin-bottom:16px}
.vooraf{font-size:16.5px;line-height:1.5;margin-bottom:14px;padding:10px 14px;background:var(--vv-papier);border-radius:6px}
.vooraf b{font-weight:600;color:var(--vv-diep)}
.drie{border-top:2px solid var(--vv-diep)}
.drie>div{display:grid;grid-template-columns:8.2em minmax(0,1fr);gap:4px 20px;padding:13px 0;border-bottom:1px solid var(--vv-rand)}
.drie dt{font:600 17px/1.45 var(--kop);color:var(--vv-diep)}
.drie dd{font-size:16.5px;line-height:1.5}
.samen{margin-top:16px;padding-left:14px;border-left:3px solid var(--vv-teal);font-size:15.5px;line-height:1.55;max-width:66ch}
@media (min-width:901px){
  .js .keuze{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-rows:repeat(6,auto) 1fr;column-gap:clamp(32px,5vw,72px)}
  .js .keuze>h3{grid-column:1}
  .js .keuze>.antwoord{grid-column:2;grid-row:1/-1;align-self:start}
  /* verborgen panelen houden hun plek, zodat de hoogte niet verspringt */
  .js .keuze>.antwoord[hidden]{display:block;visibility:hidden}
}
@media (max-width:900px){
  .onderwerp{font-size:18px;padding:15px 10px 15px 16px}
  .onderwerp .teken::after{transform:translate(-50%,-70%) rotate(45deg)}
  .onderwerp[aria-expanded="true"] .teken::after{transform:translate(-50%,-30%) rotate(225deg)}
  .antwoord{border-radius:0 0 8px 8px;border-top:0;margin-bottom:10px;padding:18px 16px 20px}
  .onderwerp[aria-expanded="true"]{border-bottom:0}
}
@media (max-width:520px){
  .drie>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .drie dt{font-size:16px}
}


/* 3 VOORBEELD met schakelaar */
.voorbeeld{padding:clamp(64px,10vh,120px) 0 clamp(56px,9vh,110px);border-top:1px solid var(--vv-rand)}
.voorbeeld .intro{max-width:1000px;margin-bottom:clamp(28px,4vh,40px)}
.voorbeeld .intro p{margin-top:.6em;font-size:clamp(18px,1.4vw,20px);max-width:52ch}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab{font:500 16px/1.25 var(--tekst);color:var(--vv-diep);background:#fff;border:1.5px solid var(--vv-rand);border-radius:999px;padding:11px 18px;cursor:pointer;text-align:left}
.tab .tabstatus{font-size:13px;color:var(--vv-grijs);margin-left:.35em}
.tab[aria-selected="true"]{background:var(--vv-diep);border-color:var(--vv-diep);color:var(--vv-papier)}
.tab[aria-selected="true"] .tabstatus{color:rgba(250,246,238,.75)}
@media (hover:hover){.tab:not([aria-selected="true"]):hover{border-color:var(--vv-diep)}}
.paneel{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px clamp(28px,4vw,64px);align-items:start}
.paneel+.paneel{margin-top:48px}
.js .paneel+.paneel{margin-top:0}
.paneel[hidden]{display:none}
.paneel:focus-visible{outline-offset:8px}
.apparaten{position:relative;padding:0 clamp(40px,7vw,110px) 40px 0}
.vv-label{position:absolute;z-index:3;left:14px;top:-13px;background:var(--vv-papier);border:1px solid var(--vv-rand);border-radius:999px;padding:4px 11px;font:600 12px/1.3 var(--tekst);letter-spacing:.1em;text-transform:uppercase;color:var(--vv-grijs)}
.venster{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 24px 60px rgba(31,42,68,.18),0 1px 3px rgba(31,42,68,.16)}
.venster .balk{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#EEEBE3;border-bottom:1px solid var(--vv-rand)}
.venster .stippen{display:flex;gap:5px;flex:none}
.venster .stippen i{width:9px;height:9px;border-radius:50%;background:#CFC9BC}
.venster .adres{flex:1;min-width:0;background:#fff;border-radius:5px;padding:4px 10px;font-size:13px;line-height:1.3;color:var(--vv-grijs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.venster img{width:100%;aspect-ratio:1440/900;object-fit:cover;object-position:top;background:var(--vv-zand)}
.telefoon{position:absolute;right:0;bottom:0;width:clamp(120px,19%,210px);background:#1b1f2a;border-radius:22px;padding:7px;box-shadow:0 24px 50px rgba(31,42,68,.35)}
.telefoon img{width:100%;aspect-ratio:390/844;object-fit:cover;object-position:top;border-radius:16px;background:var(--vv-zand)}
.uitleg h3{font-size:clamp(24px,2.2vw,30px);line-height:1.1;margin-bottom:.45em}
.uitleg .soort{display:block;font:600 12px/1.4 var(--tekst);letter-spacing:.14em;text-transform:uppercase;color:var(--vv-teal-t);margin-bottom:8px}
.uitleg p{font-size:16.5px;line-height:1.55}
.uitleg p+p{margin-top:.7em}
.uitleg .klein{font-size:14.5px;color:var(--vv-grijs)}
.uitleg .knop{margin-top:22px}
.uitleg .nieuw{display:block;margin-top:8px;font-size:13.5px;color:var(--vv-grijs)}
@media (max-width:900px){
  .paneel{grid-template-columns:minmax(0,1fr)}
  .apparaten{padding:0 44px 34px 0}
  .telefoon{width:31%;border-radius:16px;padding:5px}
  .telefoon img{border-radius:12px}
  .tab{font-size:15px;padding:10px 14px}
}

/* snelheid compact */
.meten{margin-top:clamp(48px,8vh,88px);padding-top:clamp(28px,4vh,40px);border-top:1px solid var(--vv-rand)}
.meten h3{font-size:clamp(26px,2.6vw,36px);line-height:1.1}
.meten .onder{margin-top:.5em;font-size:16px;max-width:74ch}
.hostnoot{margin-top:10px;font-size:15.5px;max-width:74ch}
.meettabel{width:100%;border-collapse:collapse;margin-top:22px;font-size:16px}
.meettabel th,.meettabel td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--vv-rand)}
.meettabel thead th{font:600 12px/1.4 var(--tekst);letter-spacing:.12em;text-transform:uppercase;color:var(--vv-diep);border-bottom:2px solid var(--vv-diep);padding-bottom:10px}
.meettabel thead small{display:block;font:400 13px/1.35 var(--tekst);letter-spacing:0;text-transform:none;color:var(--vv-grijs);margin-top:2px}
.meettabel tbody th{font:600 18px/1.25 var(--kop);color:var(--vv-diep);width:36%}
.meettabel tbody th .host{display:block;margin-top:4px;font:400 14px/1.4 var(--tekst);color:var(--vv-grijs)}
.meettabel .getal{font:600 26px/1 var(--kop);color:var(--vv-diep);white-space:nowrap}
.meettabel .nog{font-size:15px;color:var(--vv-grijs)}
.meettabel .datum{font-size:15px;white-space:nowrap}
.nuance{margin-top:14px;font-size:15px;color:var(--vv-grijs);max-width:74ch}
.relativering{margin-top:26px;padding:20px 22px;border-left:3px solid var(--vv-teal,#0E7C6E);background:rgba(14,124,110,.06);border-radius:0 8px 8px 0;max-width:74ch}.relativering h3{margin:0 0 8px;font-size:19px}.relativering p{margin:0 0 10px;font-size:16px;line-height:1.6}.relativering .bronnen{font-size:14px;color:var(--vv-grijs);margin:12px 0 0}
.details{margin-top:22px;border-top:1px solid var(--vv-rand);border-bottom:1px solid var(--vv-rand)}
.details summary{cursor:pointer;padding:15px 0;font-weight:600;color:var(--vv-diep);list-style:none;display:flex;align-items:center;gap:10px}
.details summary::-webkit-details-marker{display:none}
.details summary::before{content:"+";display:inline-grid;place-content:center;width:26px;height:26px;border:1.5px solid currentColor;border-radius:50%;font-weight:500;line-height:1}
.details[open] summary::before{content:"\2212"}
.details .inhoud{padding:4px 0 24px}
.runtabel{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.runtabel th,.runtabel td{text-align:left;vertical-align:top;padding:10px 14px 10px 0;border-bottom:1px solid var(--vv-rand)}
.runtabel thead th{font:600 12px/1.4 var(--tekst);letter-spacing:.1em;text-transform:uppercase;color:var(--vv-diep)}
.runtabel tbody th{font:600 16px/1.3 var(--kop);color:var(--vv-diep)}
.runtabel a{text-decoration-color:var(--vv-teal)}
.runtabel .runnoot{display:block;margin-top:4px;font-size:13.5px;color:var(--vv-grijs)}
.instellingen{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px;font-size:14.5px;line-height:1.55;color:var(--vv-inkt)}
.instellingen h4{font:600 12px/1.6 var(--tekst);letter-spacing:.12em;text-transform:uppercase;color:var(--vv-diep);margin-bottom:4px}
.instellingen p+p{margin-top:.5em}
@media (max-width:900px){
  .meettabel thead,.runtabel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .meettabel,.meettabel tbody,.meettabel tr,.meettabel th,.meettabel td,
  .runtabel,.runtabel tbody,.runtabel tr,.runtabel th,.runtabel td{display:block;width:auto}
  .meettabel tr,.runtabel tr{padding:14px 0;border-bottom:1px solid var(--vv-rand)}
  .meettabel tbody th,.meettabel td,.runtabel th,.runtabel td{border:0;padding:0}
  .meettabel tbody th,.runtabel tbody th{width:auto;margin-bottom:8px}
  .meettabel td,.runtabel td{padding:5px 0;display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:12px;align-items:baseline}
  .meettabel td::before,.runtabel td::before{content:attr(data-kop);font-size:13.5px;line-height:1.35;color:var(--vv-grijs)}
  .meettabel .getal{font-size:22px}
  .instellingen{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){.meettabel td{grid-template-columns:minmax(0,9em) minmax(0,1fr)}}
@media (max-width:420px){
  .runtabel td{grid-template-columns:minmax(0,1fr);gap:2px}
}

/* 4 PLATFORMS */
.platforms{padding:clamp(56px,9vh,100px) 0}
.platforms .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,5vw,80px);align-items:start}
.platforms h2{font-size:clamp(28px,3vw,42px)}
.platforms .lead{margin-top:.6em;font-size:17px;max-width:46ch}
.platforms .details{margin-top:0}
.platformlijst{list-style:none;margin:0;padding:0}
.platformlijst li{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:4px 20px;padding:14px 0;border-top:1px solid var(--vv-rand);font-size:16px;line-height:1.5}
.platformlijst b{grid-row:1/4;font:600 19px/1.3 var(--kop);color:var(--vv-diep)}
.platformlijst .plus,.platformlijst .min{display:block}
.platformlijst .plus::before,.platformlijst .min::before{display:inline-block;width:1.3em;font-weight:600;color:var(--vv-teal-d)}
.platformlijst .plus::before{content:"+"}
.platformlijst .min::before{content:"\2212";color:var(--vv-grijs)}
.platformlijst a{font-size:13.5px;color:var(--vv-grijs)}
@media (max-width:900px){
  .platforms .wrap{grid-template-columns:minmax(0,1fr)}
  .platformlijst li{grid-template-columns:1fr}
  .platformlijst b{grid-row:auto}
}

/* 5 AFSLUITING */
.slot{padding:clamp(64px,10vh,120px) 0}
.slot .tekst{max-width:760px}
.slot .lead{margin-top:.6em;max-width:44ch}
.slot .klein{font-size:15.5px}

/* voet */
.voet{background:var(--vv-inkt);color:rgba(250,246,238,.78);font-size:13px;padding:22px 0 28px}
.voet .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.voet a{color:inherit}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* voet met groepen, gelijk aan demo NL v2 (samenhangronde 28 sep 2026) */
.voet.voet-groepen{font-size:15px;padding:44px 0 28px}
.voet.voet-groepen .wrap{display:block}
.voet-groepen a{text-decoration:none}
.voet-groepen .groepen{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:28px clamp(24px,4vw,56px)}
.voet-groepen .groep b{display:block;font:600 12px/1.4 var(--tekst);letter-spacing:.14em;text-transform:uppercase;color:var(--vv-teal);margin-bottom:12px}
.voet-groepen ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.voet-groepen ul a{display:inline-block;padding:5px 0}
.voet-groepen .merkregel{font:600 19px/1.2 var(--kop);color:var(--vv-papier);margin-bottom:8px}
.voet-groepen .onderregel{margin-top:32px;padding-top:18px;border-top:1px solid rgba(250,246,238,.16);font-size:13.5px;color:rgba(250,246,238,.66)}
@media (hover:hover){.voet-groepen a:hover{color:#fff}}
@media (max-width:900px){.voet-groepen .groepen{grid-template-columns:1fr 1fr}.voet-groepen .groep.eerste{grid-column:1/-1}}
@media (max-width:480px){.voet-groepen .groepen{grid-template-columns:1fr}}

/* routes onder elkaar: vogel, naam, kernzin en uitleg (28 sep 2026) */
.opening .tekst p+p{margin-top:.8em;max-width:62ch}
.routes{list-style:none;margin:clamp(32px,5vh,52px) 0 0;padding:0;display:grid;gap:14px;max-width:1040px}
.route{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(16px,2.4vw,26px);border-top:1px solid var(--vv-rand)}
.route img{width:100%;height:auto}
.route h3{font-size:clamp(22px,2vw,28px);margin:0 0 4px}
.route .kern{font:500 italic clamp(18px,1.5vw,21px)/1.35 var(--kop);color:var(--vv-diep);margin-bottom:8px}
.route p{max-width:60ch}
.route p+p{margin-top:.5em}
.route .techniek{font-size:14.5px;color:var(--vv-grijs);line-height:1.5}
.route.minimal{background:#fff;border:1px solid var(--vv-rand);border-left:5px solid var(--vv-teal-d);border-radius:8px}
.opening .overgang{margin-top:clamp(40px,6vh,64px);padding-top:clamp(24px,4vh,36px);border-top:1px solid var(--vv-rand);max-width:780px}
.opening .overgang h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:.4em}
.opening .overgang p+p{margin-top:.5em}
.platforms .kosten{margin-top:14px;font-size:15.5px}
@media (max-width:700px){
  .route{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;padding:16px 14px}
  .route h3{font-size:21px}
}

/* ---- livegang 28 sep 2026: taalkeuze in het menu, echt scanformulier ---- */
.taalkeuze{display:inline-flex;gap:2px;align-items:center;margin-left:4px}
.taalkeuze a{font-size:13px !important;font-weight:600;letter-spacing:.06em;padding:6px 7px !important;color:var(--vv-grijs) !important;text-decoration:none}
@media (hover:hover){.taalkeuze a:hover{color:var(--vv-diep) !important;text-decoration:underline}}
.vv-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.formulier .fout{font-size:14px;color:#8C1D18;font-weight:500}
.formulier .fout[hidden],.formulier .melding[hidden]{display:none}
.formulier input[aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.formulier .melding{padding:14px 16px;border-radius:6px;background:#FBEAEA;border-left:4px solid #B3261E;font-size:15.5px;line-height:1.5}
.formulier .melding b{display:block;margin-bottom:2px}
.naar-inhoud{position:absolute;left:12px;top:-60px;background:var(--vv-diep);color:#fff;padding:10px 14px;border-radius:6px;z-index:50}
.naar-inhoud:focus{top:10px}
.admin-bar .kop{top:32px}
@media (max-width:782px){.admin-bar .kop{top:46px}}
