/* VIDEOKLAAR-BEWEGING-20261103 — alles met prefix .bw2-. Clips, kop-link "Video's" en het inkomen bij scrollen. Zonder JS blijft alles zichtbaar: alleen site.js zet .bw2-wacht, en alleen onder de vouw. */
.bw2-clip{position:relative;display:block;margin:0;width:100%;border-radius:18px;overflow:hidden;background:#191D26;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 34px 70px -40px #000}
.bw2-clip img,.bw2-clip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bw2-clip video{opacity:0;transition:opacity .28s linear}
.bw2-clip video.bw2-aan{opacity:1}
.vlak-licht .bw2-clip,.vlak-violet .bw2-clip,.vlak-koraal .bw2-clip{box-shadow:0 0 0 1px rgba(15,18,24,.12),0 30px 60px -36px rgba(15,18,24,.55)}
.bw2-noot{margin:12px 0 0;font-size:.875rem;line-height:1.4;color:var(--op-inkt-2)}
.vlak-licht .bw2-noot,.vlak-violet .bw2-noot,.bw2-vlak .bw2-noot{color:var(--op-papier-2)}
.bw2-geluid{display:inline-flex;align-items:center;gap:8px;margin-top:12px;min-height:44px;padding:0 14px;border-radius:10px;background:none;border:0;box-shadow:inset 0 0 0 1px #3A4150;color:var(--op-inkt);font:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .18s,transform .18s}
.bw2-geluid svg{width:16px;height:16px}
.bw2-geluid:hover{background:#232833}

/* toolpagina: clip in de kop */
.p-held-video{flex-direction:column;align-items:stretch}
.p-held-binnen.bw2-kop{grid-template-columns:minmax(0,1fr) minmax(0,.86fr)}
.p-held-binnen.bw2-breed{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.bw2-vak{width:100%;max-width:520px;margin-inline:auto}
.bw2-breed .bw2-vak{max-width:none}

/* startpagina */
.bw2-route{background:var(--inkt);color:var(--op-inkt);padding-block:0 clamp(56px,6vw,88px)}
.bw2-route-binnen{max-width:1312px;margin-inline:auto;padding-inline:var(--rand);display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,4vw,56px);align-items:center}
.bw2-route h2{color:inherit}
.bw2-route p{color:var(--op-inkt-2);margin:14px 0 0;max-width:40ch}
.bw2-route .bw2-clip{aspect-ratio:1280/800}
.bw2-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;min-height:44px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:4px}
.bw2-link svg{width:18px;height:18px;transition:transform .18s}
.bw2-link:hover svg{transform:translateX(3px)}
.bw2-bordclip{margin-top:clamp(24px,3vw,40px)}
.bw2-bordclip .bw2-clip{aspect-ratio:1280/800}

/* branche */
.bw2-vlak{padding-block:clamp(56px,6vw,88px)}
.bw2-twee{max-width:1120px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
.bw2-twee .bw2-clip{aspect-ratio:640/800;max-width:460px}
.bw2-twee p{color:var(--op-papier-2);margin:12px 0 0}

/* /voor/ */
.branche-raster a{position:relative;display:block;overflow:hidden}
.branche-raster a video.bw2-tegel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s linear}
.branche-raster a video.bw2-tegel.bw2-aan{opacity:1}

/* /voorbeelden/ */
.bw2-groep{margin-top:clamp(36px,5vw,64px)}
.bw2-groep:first-child{margin-top:0}
.bw2-groep>h2{margin:0 0 6px}
.bw2-groep>p{margin:0 0 20px;max-width:62ch;color:var(--op-papier-2)}
.bw2-raster{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bw2-raster li{min-width:0}
.bw2-raster .bw2-clip{box-shadow:0 0 0 1px rgba(15,18,24,.12)}
.bw2-raster a,.bw2-raster button{display:block;width:100%;padding:0;background:none;border:0;color:inherit;text-decoration:none;text-align:left;font:inherit;cursor:pointer}
.bw2-raster b{display:block;margin-top:10px;font-size:1rem;font-weight:600;line-height:1.25}
.bw2-raster span.bw2-sub{display:block;font-size:.875rem;line-height:1.35;color:var(--op-papier-2);margin-top:2px}
.bw2-breedraster{grid-template-columns:repeat(2,minmax(0,1fr))}

/* kop: link Video's. Op de telefoon staat hij naast Inloggen; de rest van het menu is daar verborgen. */
.bw2-nav-tel{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:.96875rem;font-weight:500;color:inherit;text-decoration:none;border-radius:10px;transition:background .16s}
.bw2-nav-tel:hover{background:#232833}
@media (max-width:960px){
  /* telefoon: de video staat meteen onder de kop, boven de vouw */
  .held-binnen{display:flex;flex-direction:column;gap:18px}
  .held-binnen>.held-tekst{display:contents}
  .held-tekst>*{order:3;width:100%}
  .held-tekst>h1{order:1;margin-bottom:0}
  .held-binnen>.toneel{order:2}
  .held-binnen>*{order:3}
  .held-binnen>.toneel{order:2}
  .held{padding-top:84px}
  .held h1{font-size:clamp(2rem,8.6vw,3rem)}
  .telefoon{width:min(58vw,264px)}
  .bw2-route-binnen{grid-template-columns:minmax(0,1fr);gap:20px}
  .p-held-binnen.bw2-kop,.p-held-binnen.bw2-breed{grid-template-columns:minmax(0,1fr);gap:24px}
  .bw2-twee{grid-template-columns:minmax(0,1fr)}
  .bw2-twee .bw2-clip{max-width:none}
  .bw2-raster{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:640px){
  .bw2-route .bw2-clip{aspect-ratio:720/900}
}
@media (max-width:430px){
  .nav-in{display:none}
  .bw2-nav-tel{padding-inline:8px;font-size:.9375rem}
  .nav .merk span{display:none}
}
@media (min-width:961px){
  /* boven de vouw op kleinere laptops: de telefoon past in de hoogte */
  .telefoon{width:min(100%,clamp(240px,24vw,350px),calc((100vh - 220px)*.5625))}
}

/* beweging: inkomen bij scrollen en reagerende knoppen, alleen als de bezoeker beweging toelaat */
@media (prefers-reduced-motion:no-preference){
  .bw2-wacht{opacity:0;transform:translateY(18px)}
  .bw2-zicht{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:var(--bw2-d,0ms)}
  .knop,.nav-in,.nav-links a,.tool-raster a,.p-links a,.keuzes button,.formaat-knoppen button{transition:transform .16s cubic-bezier(.22,1,.36,1),background .16s,box-shadow .16s,color .16s}
  .knop:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(209,255,58,.55)}
  .knop-inkt:hover{box-shadow:0 10px 22px -12px rgba(15,18,24,.6)}
  .knop svg{transition:transform .18s cubic-bezier(.22,1,.36,1)}
  .knop:hover svg{transform:translateX(3px)}
  .knop:active,.keuzes button:active,.formaat-knoppen button:active,.bw2-geluid:active{transform:scale(.97)}
  .tool-raster a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px var(--inkt),0 14px 26px -18px rgba(15,18,24,.5)}
  .p-links a:hover{transform:translateY(-2px)}
}
@media (prefers-reduced-motion:reduce){
  .bw2-clip video,.bw2-tegel{display:none}
  *{scroll-behavior:auto}
}

/* omslag als laag onder de video: laadt pas in de buurt van beeld. De video komt erover zodra hij speelt. */
.galerij button,.formaat-kader{position:relative}
.bw2-laag{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.galerij video[data-bw2],.formaat-kader video{position:absolute;inset:0;z-index:1}
.galerij span{z-index:2}
.galerij video[data-bw2]{opacity:0;transition:opacity .28s linear,transform 1.1s cubic-bezier(.22,1,.36,1)}
.galerij video[data-bw2].bw2-aan{opacity:1}
