/* pagina/voorstel-producten.css — ronde 2 (jury-ronde), eigenaar: pagina-bouwer van producten.html (prefix .vp-).
   Beelden: assets/beeld/voorstel-producten/ (3D-studio ronde2/voorstel-producten/render/ + maak_beelden.py + maak_kaart.py).
   Inhoud: demo-balk · mobiele kop · 0 paginakop (productgroepen vóór de zon, pruimentak, mist) + handrol · overgangen ·
           一 kozijnen (lagen + parallax + lichtveeg) · 二 plaatkaarten (ronde 2d) · 三 sample/pilot/serie (renders) · 四 sourcingkaart ·
           bewijsband · slot (schip vóór de zon) · beweging (alleen transform/opacity) en reduced motion. */

/* ---------------------------------------------------------------- demo-balk (voorstel; dekkend, in de flow) */
.vp-demo{position:relative;z-index:1;border-bottom:1px solid var(--lijn-goud-zacht);background:#EFE6D2}
.vp-demo__balk{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;min-height:48px;padding-block:6px;font-size:.875rem;color:var(--inkt2)}
.vp-demo__label{font:500 .75rem/1.2 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
.vp-demo a{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:auto;color:var(--inkt);text-decoration:underline;text-underline-offset:.24em;text-decoration-color:var(--lijn-goud);text-decoration-thickness:1px}
.vp-demo a .s-ico{width:16px;height:16px;color:var(--dgoud)}
@media (max-width:767px){.vp-demo__label{font-size:.875rem;letter-spacing:.2em}}
@media (max-width:599px){
  .vp-demo__balk{flex-wrap:nowrap;justify-content:space-between;gap:12px;min-height:44px;padding-block:0}
  .vp-demo__tekst{display:none}
  .vp-demo__label{font-size:.875rem;letter-spacing:.14em;white-space:nowrap}
  .vp-demo a{margin-left:auto;gap:6px;white-space:nowrap;font-size:.875rem}
}
@media (max-width:399px){.vp-demo a .s-ico{display:none}.vp-demo__label{letter-spacing:.1em}}

/* ---------------------------------------------------------------- ingeklapte kop: de ondertitel valt weg, het woordmerk zakt naar de
   optische as van logo, menu en knoppen (anders staat het 10 px te hoog) */

/* ---------------------------------------------------------------- mobiele kop: klapt in na de eerste scroll (zoals desktop) */


/* ================================================================ gedeelde pagina-bouwstenen */
/* feitenregel (Plex Mono): een feit breekt nooit, een regel begint of eindigt nooit met "·" (de scheider staat vóór het
   feit en wordt aan een regelbegin weggeknipt: de regel schuift 1,3 em naar links en clip-path knipt die strook weg) */
.vp .vp-bewijs{margin-left:-1.2em;clip-path:inset(-6px -6px -6px 1.2em);text-wrap:wrap}
.vp .vp-bewijs > span{position:relative;display:inline-block;padding-left:1.2em;white-space:nowrap}
.vp .vp-bewijs > span::before,.vp .vp-bewijs > span + span::before{content:"·";position:absolute;left:.3em;top:0;color:var(--dgoud)}
.vp .vp-bewijs > span::after{content:none}

/* nevel: drijvende mistlaag (alleen transform) */
.vp-nevel{position:absolute;left:-25%;width:150%;bottom:0;height:70%;pointer-events:none;background:url('../../kit/svg/land/nevel.svg?v=caf49ff3') center bottom/100% 100% no-repeat;opacity:.75;
  will-change:transform;animation:vp-drijf 46s ease-in-out infinite alternate}
.vp-nevel--b{bottom:-14%;height:60%;opacity:.55;scale:-1 1;animation-duration:61s;animation-delay:-18s}
@keyframes vp-drijf{0%{transform:translate3d(-4%,0,0)}100%{transform:translate3d(4%,0,0)}}

/* hoofdstukovergang: inktbergen + mist + ◇·◇ — geen dood papier meer */
.vp-overgang{position:relative;height:clamp(64px,8vw,112px);overflow:hidden;pointer-events:none}
.vp-overgang__bergen{position:absolute;left:-4%;right:-4%;bottom:0;height:100%;opacity:.24;
  background:url('../../kit/afgeleid/bergen-ver-web.webp?v=5988c592') 30% 100%/auto 100% repeat-x;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent),linear-gradient(transparent,#000 45%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent),linear-gradient(transparent,#000 45%);mask-composite:intersect}
.vp-overgang > .vp-nevel{height:80%;opacity:.7}
.vp-overgang > .vp-nevel--b{opacity:.45}
.vp-overgang__orn{position:absolute;left:50%;top:44%;display:flex;align-items:center;gap:9px;translate:-50% -50%}
.vp-overgang__orn::before,.vp-overgang__orn::after{content:"";width:clamp(70px,12vw,170px);height:5px;
  background:linear-gradient(var(--lijn-goud),var(--lijn-goud)) 0 0/100% 1px no-repeat,linear-gradient(var(--lijn-goud),var(--lijn-goud)) 0 100%/100% 1px no-repeat}
.vp-overgang__orn::before{-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}
.vp-overgang__orn::after{-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}
.vp-overgang__orn i{width:9px;height:9px;rotate:45deg;border:1px solid var(--dgoud);background:var(--rijst)}
.vp-overgang__orn b{width:4px;height:4px;rotate:45deg;background:var(--goud)}
.vp .vp-sectie{padding-bottom:clamp(8px,1.2vw,16px)}
.vp .vp-overgang + .vp-sectie{padding-top:clamp(20px,2.6vw,36px)}
.vp .vp-sectie .s-folio{margin-top:clamp(28px,3vw,44px)}

/* kalligrafisch cijfer (Ma Shan Zheng, één penseel voor 一 t/m 七 — eigen SVG als masker) */
.vp-cijfer{display:inline-block;flex:none;width:26px;height:26px;background:rgba(26,26,26,.9);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.vp-cijfer--1{--m:url('../../beeld/voorstel-producten/vp-cijfer-1.svg?v=7c321587')}
.vp-cijfer--2{--m:url('../../beeld/voorstel-producten/vp-cijfer-2.svg?v=52e59bf8')}
.vp-cijfer--3{--m:url('../../beeld/voorstel-producten/vp-cijfer-3.svg?v=28f1812c')}
.vp-cijfer--4{--m:url('../../beeld/voorstel-producten/vp-cijfer-4.svg?v=34b107c3')}
.vp-cijfer--5{--m:url('../../beeld/voorstel-producten/vp-cijfer-5.svg?v=cdc86d1e')}
.vp-cijfer--6{--m:url('../../beeld/voorstel-producten/vp-cijfer-6.svg?v=31c16178')}
.vp-cijfer--7{--m:url('../../beeld/voorstel-producten/vp-cijfer-7.svg?v=e870ee9b')}
.vp .s-zegel-nr img{rotate:-3deg}

/* ================================================================ 0 PAGINAKOP — de productgroepen vóór de zon (p1) */
.vp-kop{position:relative;padding-block:clamp(12px,2vw,28px) 0}
.vp-kop__vel{position:relative;overflow:hidden;isolation:isolate;padding:clamp(20px,3vw,44px) clamp(16px,3vw,40px) clamp(22px,2.6vw,36px)}
.vp-kop__decor{position:absolute;inset:0;z-index:-2;pointer-events:none}
.vp-kop__watermerk{position:absolute;left:-90px;bottom:120px;width:min(64vw,600px);aspect-ratio:900/760;opacity:.045;mix-blend-mode:multiply;
  background:url('../../kit/afgeleid/draak-web.webp?v=ac373b6e') center/contain no-repeat}
.vp-kop__bergen,.vp-kop__decor > .vp-nevel{display:none}
/* pruimentak uit de rechterbovenhoek, wiegt zacht; drie bloesemblaadjes dwarrelen */
.vp-tak{position:absolute;top:-10px;right:64px;z-index:0;width:clamp(170px,27vw,380px);aspect-ratio:700/530;pointer-events:none;filter:drop-shadow(0 3px 3px rgba(43,30,16,.12))}
@media (max-width:1023px){.vp-tak{right:44px}}
@media (max-width:479px){.vp-tak{top:-60px;right:-48px;width:44%}}
.vp-tak__tak{position:absolute;inset:0;background:url('../../kit/afgeleid/tak-web.webp?v=e852fe12') right top/contain no-repeat;transform-origin:96% 6%;
  will-change:transform;animation:vp-wieg 9s ease-in-out infinite alternate}
@keyframes vp-wieg{0%{transform:rotate(-1.4deg)}100%{transform:rotate(1.1deg)}}
.vp-blad{position:absolute;top:44%;left:calc(30% + var(--i) * 18%);width:9px;height:7px;border-radius:60% 40% 60% 40%;background:#F1B9C4;opacity:0;
  box-shadow:inset -1px -1px 0 rgba(178,58,42,.25);will-change:transform,opacity;animation:vp-val 13s linear infinite;animation-delay:calc(var(--i) * -4.3s)}
@keyframes vp-val{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}10%{opacity:.85}80%{opacity:.7}100%{opacity:0;transform:translate3d(-90px,340px,0) rotate(400deg)}}
.vp-kop__raster{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr)}
.vp-kop__kop,.vp-kop__tekst{position:relative;z-index:2}
.vp-kop__kop .s-kruimel{margin-bottom:16px}
.vp-kop__kop .s-kicker{margin-bottom:12px}
.vp-kop__h1{max-width:none;overflow-wrap:normal}
.vp-kop__tekst{position:relative}
.vp-kop__lead{margin:0;max-width:34ch}
.vp-kop__tekst .vp-bewijs{margin-top:14px}
.vp-kop__acties{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:24px}
.vp-kop__acties .s-knop .s-ico{width:18px;height:18px}
/* het beeld (ronde 2b): één stilleven op een stenen vloer die in de mist oplost, vóór een gouden zon en inktbergen.
   Diepte: zon, bergen, stilleven, mist en tak bewegen elk een paar px op scroll en aanwijzer (--mx/--my/--p via pagina.js, max. 12 px). */
.vp-kop{--mx:0;--my:0;--p:0}
.vp-held{position:relative;margin:0;isolation:isolate}
.vp-held__bergen{position:absolute;left:-12%;right:-12%;bottom:30%;height:30%;z-index:-2;opacity:.2;
  background:url('../../kit/afgeleid/bergen-ver-web.webp?v=5988c592') center bottom/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.vp-held__zon{position:absolute;left:50%;top:36%;width:64%;aspect-ratio:1;translate:-50% -50%;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F9EAC2 0%,#F3DCA0 40%,#EDCF85 62%,rgba(237,207,133,.0) 70.6%)}
.vp-held__zon::after{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(closest-side,rgba(243,220,160,.55),rgba(243,220,160,0));
  will-change:transform,opacity;animation:vp-gloed 7s ease-in-out infinite alternate}
@keyframes vp-gloed{0%{opacity:.55;transform:scale(.97)}100%{opacity:1;transform:scale(1.04)}}
.vp-held__kalli{position:absolute;right:3%;top:0;z-index:2;display:flex;align-items:center;gap:8px}
.vp-held__kalli img:first-child{width:clamp(64px,7.4vw,104px);height:auto;opacity:.9;mix-blend-mode:multiply}
.vp-held__zegel{width:clamp(26px,2.6vw,36px);height:auto;rotate:-5deg}
.vp-held__podium{position:relative}
@media (min-width:1024px){.vp-held__podium{width:114%;margin-left:-6%}}
.vp-held__beeld,.vp-held__beeld img{display:block;width:100%;height:auto}
/* lichtveeg: een warme baan glijdt traag over alleen het glas (masker = glasvlakken uit dezelfde render) */
.vp-held__veeg{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  -webkit-mask:url('../../beeld/voorstel-producten/vp-held-glas.webp?v=3480ef0f') center/100% 100% no-repeat;mask:url('../../beeld/voorstel-producten/vp-held-glas.webp?v=3480ef0f') center/100% 100% no-repeat}
.vp-held__veeg::before{content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:18%;rotate:22deg;opacity:0;
  background:linear-gradient(90deg,rgba(255,244,214,0),rgba(255,244,214,.42) 50%,rgba(255,244,214,0));will-change:transform,opacity;animation:vp-veeg 11s ease-in-out infinite 2s}
.vp-held__nevel{position:absolute;left:-18%;right:-18%;bottom:-6%;height:30%;z-index:3;pointer-events:none;
  background:url('../../kit/svg/land/nevel.svg?v=caf49ff3') center bottom/100% 100% no-repeat;opacity:.9;will-change:transform;animation:vp-drijf 40s ease-in-out infinite alternate}
.vp-held__nevel--voor{bottom:-10%;height:22%;opacity:.75;scale:-1 1;animation-duration:53s;animation-delay:-14s}
html.vp-held-beweeg .vp-held__zon{transform:translate3d(calc(var(--mx) * -10px),calc(var(--my) * -6px + var(--p) * 12px),0)}
html.vp-held-beweeg .vp-held__bergen{transform:translate3d(calc(var(--mx) * -6px),calc(var(--p) * 8px),0)}
html.vp-held-beweeg .vp-held__podium{transform:translate3d(calc(var(--mx) * 3px),calc(var(--my) * 2px + var(--p) * -4px),0)}
html.vp-held-beweeg .vp-held__nevel{translate:calc(var(--mx) * 12px) calc(var(--p) * -8px)}
html.vp-held-beweeg .vp-held__nevel--voor{translate:calc(var(--mx) * 12px) calc(var(--p) * -10px)}
html.vp-held-beweeg .vp-tak{transform:translate3d(calc(var(--mx) * -8px),calc(var(--my) * -5px + var(--p) * 6px),0)}
html.vp-held-beweeg .vp-held__kalli{transform:translate3d(calc(var(--mx) * 5px),calc(var(--p) * 5px),0)}
@media (max-width:1023px){
  .vp-held__zon{top:40%;width:62%}
  .vp-kop > .s-container--vel{padding-inline:8px}
  .vp-held{margin:22px -10px 0}
  .vp-held__kalli{top:-30px}
  .vp-held__kalli img:first-child{width:72px}
  .vp-kop__acties .s-knop{flex:1 1 100%}
  .vp-kop__acties .s-pijllink{margin-inline:auto}
}
@media (min-width:1024px){
  .vp-kop__raster{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:24px}
  .vp-kop__kop{grid-column:1 / span 5;grid-row:1;padding-top:6px}
  .vp-kop__tekst{grid-column:1 / span 5;grid-row:2;align-self:start;margin-top:26px;padding-left:20px}
  .vp-kop__tekst::before{content:"";position:absolute;left:0;top:6px;height:calc(100% - 82px);width:2px;background:var(--goud)}
  .vp-kop__acties{margin-left:-20px}
  .vp-kop__h1{font-size:clamp(38px,3.2vw,46px);line-height:1.12}
  .vp-held{grid-column:6 / span 7;grid-row:1 / span 2;align-self:center;margin:40px calc(-1 * clamp(16px,3vw,40px)) 0 -4px}
  .vp-held__kalli{right:auto;left:3%;top:-17%}
}

/* ---------------------------------------------------------------- de handrol */
.vp-rol{--stok:20px;--plaat:300px;--tussen:64px;position:relative;margin-top:clamp(26px,3.4vw,44px);padding-inline:calc(var(--stok) - 4px)}
@media (max-width:767px){.vp-rol{--stok:16px;--plaat:calc(100vw - 124px);--tussen:48px;margin-inline:-6px}}
.vp-rol__venster{position:relative;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;background:#F7F2E6;
  box-shadow:0 1px 0 rgba(176,138,50,.35),0 -1px 0 rgba(176,138,50,.35),0 16px 26px -18px rgba(43,43,43,.4)}
.vp-rol__venster::-webkit-scrollbar{display:none}
html.vp-rol-beweeg .vp-rol__venster{overflow:hidden}
/* papierfade bij de stokken: een plaat die onder de rol verdwijnt, vervaagt (geen halve woorden met een harde rand) */
.vp-rol__strook{position:relative}
.vp-rol__venster > .vp-rol__strook{-webkit-mask-image:none;mask-image:none}
.vp-rol__fade{display:none}
.vp-rol__venster{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent)}
.vp-rol__venster::before,.vp-rol__venster::after{content:"";position:absolute;left:0;right:0;height:14px;z-index:2;pointer-events:none;
  background:linear-gradient(rgba(176,138,50,.6),rgba(176,138,50,.6)) 0 2px/100% 1px no-repeat,linear-gradient(rgba(176,138,50,.6),rgba(176,138,50,.6)) 0 calc(100% - 2px)/100% 1px no-repeat,
    url('../../kit/assets/orn/hui.svg?v=30759513') 0 50%/10px 10px repeat-x,#E9DDC0}
.vp-rol__venster::before{top:0}
.vp-rol__venster::after{bottom:0}
.vp-rol__strook{position:relative;display:flex;align-items:flex-start;width:max-content;padding:44px 44px 34px 52px;will-change:transform;
  background:#F7F2E6 url('../../kit/assets/orn/rijstpapier-tegel.jpg?v=766948a5') 120px 60px/512px 512px repeat}
.vp-rol::before,.vp-rol::after{content:"";position:absolute;top:0;bottom:0;width:30px;z-index:3;pointer-events:none}
.vp-rol::before{left:calc(var(--stok) - 4px);background:linear-gradient(90deg,rgba(43,30,16,.24),rgba(43,30,16,.06) 40%,transparent)}
.vp-rol::after{right:calc(var(--stok) - 4px);background:linear-gradient(90deg,transparent,rgba(43,30,16,.06) 60%,rgba(43,30,16,.24))}
.vp-rol__bergen{position:absolute;left:0;right:0;bottom:14px;height:44%;z-index:0;pointer-events:none;opacity:.12;
  background:url('../../kit/afgeleid/bergen-ver-web.webp?v=5988c592') 0 100%/900px auto repeat-x}
.vp-rol__plaat{position:relative;z-index:1;flex:none;width:var(--plaat);margin:0 var(--tussen) 0 0}
.vp-rol__plaat + .vp-rol__plaat::before{content:"";position:absolute;left:calc(var(--tussen) / -2);top:4%;height:70%;width:1px;
  background:linear-gradient(transparent,var(--lijn-goud) 30%,var(--lijn-goud) 70%,transparent)}
.vp-rol__plaat + .vp-rol__plaat::after{content:"";position:absolute;left:calc(var(--tussen) / -2 - 4px);top:37%;width:7px;height:7px;rotate:45deg;background:var(--goud);box-shadow:0 0 0 3px #F7F2E6}
.vp-rol__zon{position:absolute;left:50%;top:0;width:68%;aspect-ratio:1;translate:-50% 2%;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F7E6BA 0%,#F0D99E 48%,rgba(240,217,158,0) 70.5%);transition:scale .9s var(--s-ease-inkt)}
.vp-rol__plaat.is-actief .vp-rol__zon{scale:1.06}
.vp-rol__beeld{position:relative;display:block}
.vp-rol__beeld img{display:block;width:100%;aspect-ratio:4 / 3;height:auto}
.vp-rol__plaat figcaption{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;margin-top:10px}
.vp-rol__plaat .vp-cijfer{grid-row:1 / span 2;width:38px;height:38px}
.vp-rol__nr{grid-column:2;grid-row:1;font:500 .75rem/1 var(--f-mono);color:var(--dgoud);letter-spacing:.06em}
.vp-rol__naam{grid-column:2;grid-row:2;justify-self:start;position:relative;font:500 .9375rem/1.2 var(--f-kop);letter-spacing:.16em;text-transform:uppercase;color:var(--inkt)}
.vp-rol__naam::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--dgoud);scale:0 1;transform-origin:0 50%;transition:scale .6s var(--s-ease-inkt)}
.vp-rol__plaat.is-actief .vp-rol__naam::after{scale:1 1}
.vp-rol__kort{grid-column:1 / -1;margin-top:6px;font:italic 400 1.0625rem/1.3 var(--f-serif);color:var(--grijs1)}
.vp-rol__eind{position:relative;z-index:1;flex:none;align-self:center;display:grid;place-items:center;width:96px;margin-right:8px}
.vp-rol__eind img{width:56px;height:56px;rotate:-5deg}
@media (max-width:767px){
  .vp-rol__strook{padding:36px 24px 26px 28px}
  .vp-rol__naam{font-size:.875rem;letter-spacing:.12em}
  .vp-rol__nr{font-size:.875rem}
  .vp-rol__kort{font-size:1rem}
  .vp-rol__plaat .vp-cijfer{width:30px;height:30px}
}
/* rolstokken: gedraaid donker hout (cilinder met hooglicht) en vergulde doppen met knop, zoals de PDF-kaders */
.vp-rol__stok{position:absolute;top:-12px;bottom:-12px;z-index:4;width:var(--stok);border-radius:calc(var(--stok) / 2);
  background:linear-gradient(90deg,#140C06 0%,#3A2617 16%,#6B4A30 34%,#A47D54 45%,#C9A67A 48%,#8A6542 54%,#4C3220 74%,#1A110A 100%);
  box-shadow:0 8px 16px rgba(26,18,10,.32),inset 0 0 0 1px rgba(20,12,6,.35)}
.vp-rol__stok--l{left:0}
.vp-rol__stok--r{right:0}
.vp-rol__stok::before,.vp-rol__stok::after{content:"";position:absolute;left:50%;width:calc(var(--stok) + 10px);height:16px;translate:-50% 0;border-radius:4px 4px 7px 7px;
  background:linear-gradient(90deg,#5E4417 0%,#9C7A2E 18%,#E6CC80 38%,#FFF3C9 46%,#D9B65C 56%,#A07C2C 78%,#5E4417 100%);
  box-shadow:0 0 0 1px rgba(60,40,10,.45),inset 0 -3px 0 rgba(60,40,10,.22),0 2px 4px rgba(26,18,10,.3)}
.vp-rol__stok::before{top:-10px;border-radius:7px 7px 4px 4px}
.vp-rol__stok::after{bottom:-10px}
/* teller onder de rol */
.vp-rol__voortgang{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:26px;padding-inline:4px}
.vp-rol__teller{font:500 .8125rem/1 var(--f-mono);color:var(--grijs2);font-variant-numeric:tabular-nums;white-space:nowrap}
.vp-rol__teller b{font-weight:500;color:var(--inkt)}
.vp-rol__spoor{position:relative;height:9px;background:linear-gradient(90deg,transparent,var(--lijn-goud) 12%,var(--lijn-goud) 88%,transparent) 0 50%/100% 1px no-repeat}
.vp-rol__spoor i{position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-4.5px;rotate:45deg;background:var(--goud);box-shadow:0 0 0 3px var(--rijst),0 0 0 4px var(--lijn-goud)}
.vp-rol__huidig{min-width:15em;text-align:right;font:500 .75rem/1 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
@media (max-width:767px){.vp-rol__voortgang{gap:12px;margin-top:30px}.vp-rol__teller{font-size:.875rem}.vp-rol__huidig{min-width:0;font-size:.875rem;letter-spacing:.14em}}
@media (max-width:767px){.vp-rol__huidig{display:none}.vp-rol__voortgang{grid-template-columns:auto minmax(0,1fr)}}
html:not(.vp-rol-beweeg) .vp-rol__voortgang{display:none}

/* ================================================================ 一 UITGELICHT — aluminium kozijnen (p3) */
.vp-uit__raster{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1024px){.vp-uit__raster{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
  .vp-familie{grid-column:1 / span 7}.vp-groep{grid-column:8 / span 5}}
.vp-familie{margin:0}
.vp-familie__podium{position:relative;isolation:isolate;margin-top:clamp(28px,3vw,40px)}
.vp-familie__zon{position:absolute;left:46%;top:38%;width:62%;aspect-ratio:1;translate:-50% -50%;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 42% 36%,#F9EAC2 0%,#F2DA9E 44%,#ECCE84 62%,rgba(236,206,132,0) 70.6%)}
.vp-familie__zon::after{content:"";position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(closest-side,rgba(242,218,158,.5),rgba(242,218,158,0));
  animation:vp-gloed 8s ease-in-out infinite alternate}
.vp-familie__laag{position:absolute;inset:0;display:block;will-change:transform;transform:translate3d(0,calc(var(--p,0) * var(--d) * -30px),0)}
.vp-familie__laag picture,.vp-familie__laag img{display:block;width:100%;height:100%}
/* lichtveeg over het glas van de pui (alleen opacity/transform, gemaskeerd op de pui zelf) */
.vp-veeg{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  -webkit-mask:url('../../beeld/voorstel-producten/vp-trio-pui-640.webp?v=42c33ff6') center/100% 100% no-repeat;mask:url('../../beeld/voorstel-producten/vp-trio-pui-640.webp?v=42c33ff6') center/100% 100% no-repeat}
.vp-veeg::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:22%;rotate:14deg;opacity:.0;
  background:linear-gradient(90deg,rgba(255,250,235,0),rgba(255,250,235,.55) 50%,rgba(255,250,235,0));will-change:transform,opacity;animation:vp-veeg 9s ease-in-out infinite 1.5s}
@keyframes vp-veeg{0%{transform:translate3d(-120%,0,0);opacity:0}8%{opacity:1}38%{transform:translate3d(520%,0,0);opacity:1}42%,100%{transform:translate3d(520%,0,0);opacity:0}}
.vp-familie__pins{z-index:4}
/* pin = 44 × 44 tikvlak (het element zelf); de gouden schijf van 30 px is ::before, de steel ::after */
.vp-familie .s-pin{width:44px;height:44px;border:0;border-radius:50%;background:none;box-shadow:none;translate:-50% calc(-100% - 11px);font-size:.875rem}
.vp-familie .s-pin::before{content:"";position:absolute;inset:7px;left:7px;top:7px;width:auto;height:auto;margin:0;z-index:-1;border:1.5px solid var(--dgoud);border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#F6E7BD,var(--goud) 58%,var(--dgoud));box-shadow:inset 0 0 0 4px rgba(var(--rijst-rgb),.6),0 3px 8px rgba(var(--inkt-rgb),.25)}
.vp-familie .s-pin::after{inset:auto;left:50%;top:calc(100% - 7px);width:2px;height:18px;margin-left:-1px;background:var(--dgoud)}
.vp-familie__pins .s-pin:last-child .s-pin__tip{left:auto;right:-10px;translate:0 4px}
.vp-familie__pins .s-pin:last-child:is(:hover,:focus-visible) .s-pin__tip{translate:0 0}
.vp-familie__pins .s-pin:first-child .s-pin__tip{left:-10px;translate:0 4px}
.vp-familie__pins .s-pin:first-child:is(:hover,:focus-visible) .s-pin__tip{translate:0 0}
/* desktop: elk nummer heeft een vast label ernaast (zoals de gele bollen met legenda in de PDF) */
@media (min-width:1024px){
  .vp-familie .s-pin__tip,.vp-familie__pins .s-pin:is(:first-child,:last-child) .s-pin__tip{left:calc(100% + 4px);right:auto;bottom:auto;top:50%;translate:0 -50%;opacity:1;
    padding:4px 9px 3px;border:0;background:rgba(var(--rijst-rgb),.92);box-shadow:0 0 0 1px rgba(var(--dgoud-rgb),.35);font-size:.75rem;letter-spacing:.2em;color:var(--inkt)}
  .vp-familie__pins .s-pin:last-child .s-pin__tip{left:auto;right:calc(100% + 4px)}
  .vp-familie__pins .s-pin:is(:hover,:focus-visible) .s-pin__tip{translate:0 -50%;box-shadow:0 0 0 1px var(--dgoud)}
}
@media (max-width:1023px){.vp-familie{overflow-x:clip}}
.vp-familie__bijschrift{margin-top:8px;text-align:center;font:italic 400 1rem/1.4 var(--f-serif);color:var(--grijs1);text-wrap:balance}
@media (max-width:767px){.vp-familie__noot{display:block}}
@media (min-width:768px){.vp-familie__bijschrift{font-size:1.0625rem}}
/* per groep (p3 "per type") */
.vp-groep__kop{display:grid;grid-template-columns:56px 52px minmax(0,1fr);column-gap:14px;margin:0;padding-bottom:10px;border-bottom:1.5px solid var(--inkt);
  font:500 .875rem/1 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
@media (min-width:768px){.vp-groep__kop{font-size:.75rem}}
.vp-groep__kop > span:first-child{grid-column:3;grid-row:1}
.vp-groep__kop > span:last-child{grid-column:1 / span 2;grid-row:1;justify-self:end;padding-right:4px;letter-spacing:.24em;margin-right:-.24em}
.vp-groep__beeld{display:block;width:56px}
.vp-groep__beeld picture{display:block}
@media (max-width:599px){.vp-groep .vp-groep__rij,.vp-groep .vp-groep__kop{grid-template-columns:56px 32px minmax(0,1fr);column-gap:14px}.vp-groep .vp-groep__getal{font-size:2.125rem;text-align:center;padding-right:0}
  .vp-groep__kop > span:last-child{justify-self:end;padding-right:0}}
.vp-groep__rijen{list-style:none}
.vp-groep__rij{display:grid;grid-template-columns:56px 52px minmax(0,1fr);align-items:center;gap:0 14px;min-height:68px;padding:6px 0;border-bottom:1px solid #C8BFAE}
.vp-groep__beeld img{width:56px;height:44px;object-fit:contain;mix-blend-mode:multiply}
.vp-groep__getal{font:300 2.5rem/1 var(--f-kop);color:var(--inkt);text-align:right;font-variant-numeric:lining-nums tabular-nums;padding-right:4px}
.vp-groep__naam{display:grid;gap:3px;font:500 .9375rem/1.2 var(--f-kop);letter-spacing:.14em;text-transform:uppercase;color:var(--inkt)}
.vp-groep__naam small{font:400 .9375rem/1.35 var(--f-tekst);letter-spacing:0;text-transform:none;color:var(--grijs1)}
.vp-groep__totaal{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin:18px 0 0;padding:0 18px;background:var(--inkt);
  box-shadow:inset 0 0 0 1px rgba(217,180,92,.55),inset 0 0 0 4px var(--inkt),inset 0 0 0 5px rgba(217,180,92,.3)}
.vp-groep__totaal span{font:500 .875rem/1 var(--f-kop);letter-spacing:.34em;text-transform:uppercase;color:var(--goud)}
.vp-groep__totaal b{font:500 1rem/1 var(--f-mono);color:var(--goudlicht);letter-spacing:.02em;white-space:nowrap}
@media (min-width:768px){.vp-groep__totaal span{font-size:.75rem}.vp-groep__totaal b{font-size:1.0625rem}}
.vp-uit__voet{display:grid;gap:22px;margin-top:clamp(26px,3vw,40px);padding-top:clamp(22px,2.6vw,32px);
  background:linear-gradient(90deg,transparent,var(--lijn-goud) 20%,var(--lijn-goud) 80%,transparent) 0 0/100% 1px no-repeat}
@media (min-width:1024px){.vp-uit__voet{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
  .vp-uit__knoppen{grid-column:1 / span 7}.vp-montage{grid-column:8 / span 5}}
.vp-uit__knoppen .s-knop .s-ico{width:18px;height:18px}
/* montagevoorbehoud als rustige zegelregel (PDF), niet als foutmelding */
.vp-montage{display:grid;gap:10px;justify-items:start}
.vp-montage__zegel{display:inline-flex;align-items:center;min-height:30px;padding:5px 14px 5px 15px;border-radius:3px;background:var(--rood);color:#F8E9DF;rotate:-1.2deg;
  font:500 .75rem/1.15 var(--f-kop);letter-spacing:.28em;text-transform:uppercase;box-shadow:inset 0 0 0 2px var(--rood),inset 0 0 0 3px rgba(248,233,223,.55),0 1px 0 rgba(120,30,20,.25)}
@media (max-width:767px){.vp-montage__zegel{font-size:.875rem;letter-spacing:.18em}}
.vp-montage p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--grijs1);max-width:46ch}

/* ================================================================ 二 WAT WIJ ZOAL LEVEREN (p13 + p3-medaillons) */
.vp-assort .s-titelblok__teken img{width:64px;height:64px;opacity:.9}
.vp-nieuw{display:inline-flex;align-items:center;min-height:24px;padding:3px 6px 2px 10px;border:1px solid var(--dgoud);background:rgba(217,180,92,.16);
  font:500 .875rem/1 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
@media (min-width:768px){.vp-nieuw{font-size:.75rem}}
.vp-anders{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px 20px;align-items:center;margin-top:clamp(28px,3vw,40px)}
.vp-anders__zegel{width:52px;height:52px;rotate:-4deg;align-self:start}
.vp-anders__tekst .s-h3{margin-bottom:6px}
.vp-anders__tekst p{margin:0;color:var(--grijs1);max-width:60ch}
.vp-anders > .s-knop{grid-column:1 / -1}
.vp-anders .s-knop .s-ico{width:16px;height:16px;color:var(--dgoud)}
@media (min-width:768px){.vp-anders{grid-template-columns:52px minmax(0,1fr) auto;padding:28px 32px}.vp-anders > .s-knop{grid-column:auto}}

/* ================================================================ 三 SAMPLE · PILOTSERIE · SERIE (p14) */
.vp-fasen{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:900px){.vp-fasen{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vp-fase{display:flex;flex-direction:column}
.vp-fase__woord{display:flex;align-items:flex-start;gap:8px;margin:0;font:300 2.5rem/1 var(--f-kop);letter-spacing:.08em;text-transform:uppercase;color:var(--inkt)}
.vp-fase__woord small{margin-top:4px;font:500 .875rem/1 var(--f-mono);letter-spacing:.04em;color:var(--dgoud)}
@media (min-width:1024px){.vp-fase__woord{font-size:3.25rem}.vp-fase__woord small{font-size:.8125rem}}
.vp-fase__titel{margin:0;padding-top:16px;border-top:1.5px solid var(--inkt);font:500 1.0625rem/1.25 var(--f-kop);letter-spacing:.14em;text-transform:uppercase;color:var(--inkt)}
.vp-fase__sub{margin:6px 0 14px;font:italic 400 1.125rem/1.35 var(--f-serif);color:var(--dgoud)}
.vp-fase__punten{gap:8px;font-size:.9375rem;line-height:1.5;color:var(--grijs1)}
.vp-fasen__stappen{display:none}
/* mobiel: de drie fasen als snap-carrousel met stappenindicator 01 — 02 — 03 (tekening direct onder de titel, max. 160 px) */
@media (max-width:899px){
  .vp-fasen{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    scrollbar-width:none;margin-inline:calc(-1 * var(--s-goot));padding:2px var(--s-goot) 6px;scroll-padding-inline:var(--s-goot)}
  .vp-fasen::-webkit-scrollbar{display:none}
  .vp-fase{scroll-snap-align:start;padding:18px 18px 16px;border:1px solid var(--lijn-goud-zacht);background:rgba(250,246,237,.7);
    box-shadow:inset 0 0 0 3px var(--rijst),inset 0 0 0 4px rgba(176,138,50,.18)}
  .vp-fase__woord{font-size:2rem}
  .vp-fase__punten{font-size:1rem}
  .vp-fasen__stappen{display:flex;justify-content:center;align-items:center;gap:0;margin-top:10px}
  .vp-fasen__stap{position:relative;display:grid;place-items:center;width:64px;height:44px;padding:0;border:0;background:none;cursor:pointer;color:var(--grijs2);
    font:500 .875rem/1 var(--f-mono);-webkit-tap-highlight-color:transparent}
  .vp-fasen__stap + .vp-fasen__stap::before{content:"";position:absolute;left:-14px;top:50%;width:28px;height:1px;background:var(--lijn-goud)}
  .vp-fasen__stap span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--lijn-goud);transition:background-color .3s,color .3s}
  .vp-fasen__stap.is-actief{color:var(--rijst)}
  .vp-fasen__stap.is-actief span{background:var(--rood);box-shadow:none}
}
.vp-maat__onder{display:grid;gap:22px;margin-top:clamp(32px,4vw,52px)}
@media (min-width:1024px){.vp-maat__onder{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:stretch}
  .vp-aanlever{grid-column:1 / span 8}.vp-docs{grid-column:9 / span 4}}
.vp-aanlever,.vp-docs{height:100%}
.vp-aanlever__kop{margin:0 0 20px;font:500 .875rem/1 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
@media (min-width:768px){.vp-aanlever__kop{font-size:.75rem}}
.vp-aanlever__lijst{list-style:none;display:grid;gap:22px}
@media (min-width:768px){.vp-aanlever__lijst{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.vp-aanlever__lijst li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:start;align-content:start}
@media (min-width:768px){.vp-aanlever__lijst li{grid-template-columns:minmax(0,1fr)}}
.vp-aanlever__ring{grid-row:1 / span 2;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--rijst);color:var(--inkt);
  box-shadow:inset 0 0 0 1.5px var(--dgoud),inset 0 0 0 4px var(--rijst),inset 0 0 0 5px var(--lijn-goud)}
@media (min-width:768px){.vp-aanlever__ring{grid-row:auto;margin-bottom:12px}}
.vp-aanlever__ring .s-ico{width:26px;height:26px}
.vp-aanlever__lijst b{font:500 .9375rem/1.25 var(--f-kop);letter-spacing:.12em;text-transform:uppercase;color:var(--inkt)}
.vp-aanlever__lijst span:last-child{font-size:.9375rem;line-height:1.5;color:var(--grijs1)}
@media (max-width:767px){.vp-aanlever__lijst span:last-child{font-size:1rem}}
.vp-docs{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 18px;align-content:start}
.vp-docs__zegel{grid-row:1 / span 3;width:48px;height:48px;rotate:-4deg}
.vp-docs__kop{margin:0;font:500 1rem/1.25 var(--f-kop);letter-spacing:.14em;text-transform:uppercase;color:var(--inkt)}
.vp-docs p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--grijs1)}
.vp-docs .s-pijllink{justify-self:start}

/* ================================================================ 四 SOURCING — eigen kaart (.vp-kaart) */
.vp-bron__raster{display:grid;gap:clamp(18px,3vw,40px)}
@media (min-width:1024px){.vp-bron__raster{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:stretch}
  .vp-bron__kaart{grid-column:1 / span 7}
  .vp-bron__zij{grid-column:8 / span 5;display:grid;grid-template-rows:minmax(0,1fr) auto;padding-top:clamp(40px,5vw,72px)}
  .vp-bron__plak{position:sticky;top:112px}
}
.vp-kaart{position:relative;margin:0}
.vp-kaart__vlak{position:relative}
.vp-kaart__basis,.vp-kaart__svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.vp-kaart__labels{position:absolute;inset:0;pointer-events:none}
.vp-kaart__lab,.vp-kaart__zee-lab,.vp-kaart__land-lab{left:var(--x);top:var(--y)}
.vp-kaart__leader--mobiel{display:none}
.vp-kaart__lab,.vp-kaart__zee-lab,.vp-kaart__land-lab,.vp-loep__lab{position:absolute;white-space:nowrap;
  text-shadow:0 0 2px #F3EEE3,0 0 2px #F3EEE3,0 0 3px #F3EEE3,0 0 5px #F3EEE3,0 0 8px #F3EEE3}
.vp-kaart__lab{translate:0 -50%;font:500 .875rem/1.15 var(--f-kop);letter-spacing:.2em;text-transform:uppercase;color:var(--inkt)}
.vp-kaart__lab--r{translate:-100% -50%;text-align:right}
.vp-kaart__lab--foshan{display:grid;gap:2px;translate:0 -30%}
.vp-kaart__lab--foshan b{font-weight:500;letter-spacing:.26em}
.vp-kaart__lab--foshan small,.vp-kaart__lab--route small{font:italic 400 1rem/1.2 var(--f-serif);letter-spacing:0;text-transform:none;color:var(--grijs1)}
.vp-kaart__lab--foshan small{font:500 .75rem/1.2 var(--f-kop);letter-spacing:.22em;text-transform:uppercase;color:var(--dgoud);font-style:normal}
.vp-kaart__zh{font:400 1.5rem/1 var(--f-kalli);letter-spacing:.08em;color:var(--rood)}
.vp-kaart__lab--route{display:grid;gap:3px;translate:0 -100%}
.vp-kaart__lab--route b{font-weight:500;color:var(--dgoud)}
.vp-kaart__zee-lab{translate:-50% -50%;font:italic 400 1.0625rem/1 var(--f-serif);letter-spacing:.14em;color:#8C7F6A}
.vp-kaart__land-lab{translate:-50% -50%;margin-left:.22em;font:300 clamp(1.5rem,2.6vw,2.25rem)/1 var(--f-kop);letter-spacing:.45em;text-transform:uppercase;color:rgba(43,43,43,.24);text-shadow:none}
.vp-kaart__zee-lab--oost{white-space:normal;width:6.6em;text-align:center;line-height:1.2;letter-spacing:.06em}
.vp-kaart__noord{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;font:400 1rem/1 var(--f-kalli);color:var(--rood)}
/* loep Parelrivierdelta: desktop over het binnenland (leeg papier), mobiel direct onder de kaart (geen gat) */
.vp-loep{position:absolute;left:var(--loep-x);top:var(--loep-y);width:var(--loep-d);aspect-ratio:1;translate:-50% -50%;border-radius:50%;z-index:2;
  box-shadow:0 0 0 2px var(--dgoud),0 0 0 6px #F3EEE3,0 0 0 7px var(--lijn-goud),0 14px 28px -12px rgba(43,30,16,.45)}
.vp-loep__basis,.vp-loep__svg{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:50%}
.vp-loep__labels{position:absolute;inset:0}
.vp-loep__lab{translate:0 -50%;font:500 .8125rem/1 var(--f-kop);letter-spacing:.16em;text-transform:uppercase;color:var(--inkt)}
.vp-loep__lab--l{translate:calc(-100% - 16px) -50%}
.vp-loep__lab--w{translate:calc(-100% - 14px) -50%}
.vp-loep__lab--r{translate:14px -50%}
.vp-loep__lab--o{translate:-50% calc(-100% - 14px)}
.vp-loep__lab--b{translate:-50% 16px}
.vp-loep__lab--eigen{color:var(--rood)}
.vp-loep__titel{position:absolute;left:50%;top:calc(100% + 14px);translate:-50% 0;white-space:nowrap;font:500 .75rem/1 var(--f-kop);letter-spacing:.3em;text-transform:uppercase;color:var(--dgoud)}
.vp-kaart__onderschrift{margin-top:18px;font:italic 400 1rem/1.45 var(--f-serif);color:var(--grijs1);text-align:center}
@media (max-width:767px){
  .vp-bron__kaart{margin-inline:-8px}
  .vp-kaart__vlak{margin-bottom:calc(68% + 58px)}
  .vp-kaart__lab,.vp-kaart__zee-lab,.vp-kaart__land-lab{left:var(--xm,var(--x));top:var(--ym,var(--y))}
  .vp-kaart__lab--mr{translate:-100% -50%;text-align:right}
  .vp-kaart__leader--desktop{display:none}
  .vp-kaart__leader--mobiel{display:inline}
  .vp-kaart__zee-lab{letter-spacing:.06em}
  .vp-kaart__zee-lab--oost,.vp-kaart__noord{display:none}
  .vp-kaart__lab{letter-spacing:.14em}
  .vp-kaart__zee-lab--zuid{display:none}
  .vp-kaart__lab--route small{display:none}
  .vp-loep{left:50%;top:calc(100% + 8px);width:68%;translate:-50% 0}
  .vp-kaart__leader--loep{display:none}
  .vp-loep__lab{font-size:.875rem;letter-spacing:.12em}
  .vp-loep__titel{font-size:.875rem;letter-spacing:.2em}
  .vp-kaart__zee-lab{font-size:1rem}
  .vp-kaart__lab--route small{font-size:1rem}
  .vp-kaart__zh{font-size:1.25rem}
  .vp-kaart__lab--foshan small{font-size:.875rem;letter-spacing:.14em}
}
/* draaiboek (pagina.js zet .is-actief bij ≥ 35 % in beeld; zonder JS/beweging: eindstand) */
.vp-kaart__puls{transform-box:fill-box;transform-origin:center;animation:vp-puls 2.8s ease-out infinite}
@keyframes vp-puls{0%{opacity:.8;transform:scale(.55)}100%{opacity:0;transform:scale(1.7)}}
.vp-kaart__naald{transform-box:view-box}
html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__regio,html.js-beweeg .vp-kaart:not(.is-actief) .vp-loep__punt,
html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__lab,html.js-beweeg .vp-kaart:not(.is-actief) .vp-loep__lab,
html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__leader{opacity:0}
html.js-beweeg .vp-kaart__regio,html.js-beweeg .vp-loep__punt,html.js-beweeg .vp-kaart__lab,html.js-beweeg .vp-loep__lab,html.js-beweeg .vp-kaart__leader{
  transition:opacity .7s var(--s-ease-inkt) calc(.25s + var(--i,0) * .35s)}
html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__aanvoer,html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__route{stroke-dashoffset:1}
.vp-kaart__aanvoer,.vp-kaart__route{stroke-dasharray:1 1}
html.js-beweeg .vp-kaart__aanvoer{transition:stroke-dashoffset 1.6s var(--s-ease-inkt) calc(.6s + var(--i,0) * .35s)}
html.js-beweeg .vp-kaart__route{transition:stroke-dashoffset 3.6s cubic-bezier(.45,.05,.3,1) 1.8s}
.vp-kaart__aanvoer{opacity:.75}
html.js-beweeg .vp-kaart.is-actief .vp-kaart__naald{animation:s-naald 2.4s var(--s-ease-inkt) 1s both}

/* legenda naast de kaart */
.vp-legenda{display:grid;gap:0;margin:0;border-top:1.5px solid var(--inkt)}
.vp-legenda > div{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid #C8BFAE}
.vp-legenda dt{display:flex;align-items:center;gap:10px;font:500 .875rem/1.2 var(--f-kop);letter-spacing:.24em;text-transform:uppercase;color:var(--grijs2)}
.vp-legenda dt::before{content:"";width:9px;height:9px;flex:none;border-radius:50%;background:var(--goud);box-shadow:0 0 0 1px var(--dgoud)}
@media (min-width:768px){.vp-legenda dt{font-size:.75rem;letter-spacing:.3em}}
.vp-legenda dd{margin:0;font:500 .9375rem/1.4 var(--f-mono);color:var(--inkt)}
.vp-legenda__eigen dt{color:var(--inkt)}
.vp-legenda__eigen dt::before{width:11px;height:11px;border-radius:1px;background:var(--rood);box-shadow:none;rotate:-4deg}
.vp-legenda__eigen dd{font:italic 400 1.0625rem/1.35 var(--f-serif);color:var(--grijs1)}


/* ================================================================ BEWIJSBAND — drie gelijke zegels */
.vp-band{padding-top:clamp(24px,3vw,40px)}
.vp-bewijsband .s-bewijsband__item{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;align-items:start}
.vp-bewijsband .s-bewijsband__item .s-pijllink{align-self:end;margin-top:8px}
.vp-band__zegel{grid-row:1 / span 3;width:52px;height:52px;rotate:-4deg}
.vp-bewijsband .s-pijllink .s-ico{width:16px;height:16px}

/* ================================================================ SLOT — het schip vóór de zon, mist op het water */
.vp-slot .s-slot__logo{display:block}
.vp-slot__titel{max-width:min(88%,22ch);margin-inline:auto;text-wrap:balance}
.vp-slot__deining{display:block;animation:vp-deinen 6s ease-in-out infinite alternate;transform-origin:50% 78%;will-change:transform}
.vp-slot__deining picture{display:block}
.vp-slot__schipbeeld{display:block;width:100%;height:auto}
@keyframes vp-deinen{0%{transform:translate3d(0,0,0) rotate(-.2deg)}100%{transform:translate3d(0,2px,0) rotate(.2deg)}}
.vp-slot__golf{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
/* voet: de mistband boven de voet vervloeit (geen rechte bovenrand) */
.vp .s-voet > .s-bergen{-webkit-mask-image:linear-gradient(transparent,#000 60%);mask-image:linear-gradient(transparent,#000 60%)}
.vp .s-voet__contact a{font-family:var(--f-mono);font-weight:500;font-size:.875rem;letter-spacing:0}
.vp .s-voet address{margin-top:16px}
.vp .s-voet address b{margin-bottom:5px}

/* ================================================================ RONDE 2d — jurypunten (7,5 / 8,2): beeld en sfeer op PDF-niveau */
/* ---------------------------------------------------------------- PDF-hoekornament: band van 回-tegels op lichtgoud + binnenlijn (36 px; mobiel 24) */
.vp .s-vel,.vp .s-kader{--h:30px;--in:calc(var(--h) * .174)}
@media (min-width:480px){.vp .s-vel,.vp .s-kader{--h:38px}}
@media (min-width:900px){.vp .s-kader{--h:46px}.vp .s-vel{--h:58px}}
.vp .s-vel::before,.vp .s-kader::before{background:
  url('../../beeld/voorstel-producten/vp-hoek-lb.svg?v=d8b37b0f') 0 0/var(--h) var(--h) no-repeat,
  url('../../beeld/voorstel-producten/vp-hoek-rb.svg?v=ea303eee') 100% 0/var(--h) var(--h) no-repeat,
  url('../../beeld/voorstel-producten/vp-hoek-lo.svg?v=a694674b') 0 100%/var(--h) var(--h) no-repeat,
  url('../../beeld/voorstel-producten/vp-hoek-ro.svg?v=1d70c95d') 100% 100%/var(--h) var(--h) no-repeat,
  linear-gradient(var(--lijn-buiten),var(--lijn-buiten)) var(--h) 0/calc(100% - var(--h2)) 1px no-repeat,
  linear-gradient(var(--lijn-buiten),var(--lijn-buiten)) var(--h) 100%/calc(100% - var(--h2)) 1px no-repeat,
  linear-gradient(var(--lijn-buiten),var(--lijn-buiten)) 0 var(--h)/1px calc(100% - var(--h2)) no-repeat,
  linear-gradient(var(--lijn-buiten),var(--lijn-buiten)) 100% var(--h)/1px calc(100% - var(--h2)) no-repeat}
.vp .s-kader--fijn::after{display:block}

/* ---------------------------------------------------------------- hoofdstukken: PDF-titelblok (dubbele lijn boven) + sfeerlaag met echte dekking */
.vp .vp-sectie{isolation:isolate;overflow-x:clip}
.vp-sfeer{position:absolute;left:0;right:0;top:0;height:clamp(240px,30vw,430px);z-index:-1;overflow:hidden;pointer-events:none}
.vp-sfeer__bergen{position:absolute;left:-4%;right:-4%;bottom:0;height:100%;opacity:.26;
  background:url('../../beeld/voorstel-producten/vp-bergenband-3200.webp?v=ff05b16c') var(--bx,30%) 100%/auto 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 30%,#000 72%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 30%,#000 72%,transparent);mask-composite:intersect}
.vp-sfeer > .vp-nevel{height:46%;bottom:6%;opacity:.55}
.vp-sfeer--uit{--bx:4%}
.vp-sfeer--assort{--bx:46%}
.vp-sfeer--assort .vp-sfeer__bergen{scale:-1 1}
.vp-sfeer--maat{--bx:78%}
.vp-sfeer--bron{--bx:100%}
.vp-sfeer--bron .vp-sfeer__bergen{scale:-1 1}
@media (max-width:767px){
  .vp-sfeer{height:210px}
  .vp-sfeer__bergen{opacity:.28;background-image:url('../../beeld/voorstel-producten/vp-bergenband-1600.webp?v=6d8fc548')}
}
.vp .vp-sectie > .s-container > .s-titelblok{padding-top:26px;
  background:linear-gradient(90deg,transparent,var(--lijn-goud) 8%,var(--lijn-goud) 92%,transparent) 0 0/100% 1px no-repeat,
             linear-gradient(90deg,transparent,var(--lijn-goud-zacht) 8%,var(--lijn-goud-zacht) 92%,transparent) 0 4px/100% 1px no-repeat}
.vp .s-titelblok__teken img{mix-blend-mode:multiply;opacity:.92}
.vp-hzegel{display:block;width:32px;height:32px;rotate:-3deg}
@media (min-width:768px){.vp-hzegel{width:28px;height:28px}}
.vp .vp-teken--v{height:auto}
.vp .vp-teken--v img{width:44px;height:auto}
@media (max-width:1023px){.vp .vp-teken--v{width:44px;height:auto}}
@media (min-width:1024px){.vp .vp-teken--v{width:96px;min-height:0}.vp .vp-teken--v img{width:80px;margin-inline:auto}}
/* overgang: alleen nog ◇·◇ en mist (de bergen staan nu met echte dekking achter het titelblok) */
.vp-overgang{height:clamp(40px,5vw,72px)}
.vp-overgang__bergen{display:none}
/* hoofdstuk 3: pruimentak in de hoek; hoofdstuk 4: watermerk */
.vp-maat__tak{position:absolute;right:0;top:-34px;z-index:0;width:clamp(150px,19vw,290px);aspect-ratio:520/447;pointer-events:none;
  background:url('../../beeld/voorstel-producten/vp-tak.webp?v=e852fe12') right top/contain no-repeat;transform-origin:96% 4%;filter:drop-shadow(0 3px 3px rgba(43,30,16,.1));
  animation:vp-wieg 11s ease-in-out infinite alternate}
@media (max-width:767px){.vp-maat__tak{width:104px;top:-40px;right:auto;left:-12px;scale:-1 1;transform-origin:4% 4%}}
@media (min-width:1024px) and (max-width:1439px){.vp-maat__tak{width:200px}}
.vp-bron__watermerk{position:absolute;left:-60px;top:40px;z-index:-1;width:min(70vw,560px);aspect-ratio:900/760;opacity:.07;mix-blend-mode:multiply;pointer-events:none;
  background:url('../../kit/afgeleid/draak-web.webp?v=ac373b6e') center/contain no-repeat}
@media (max-width:767px){.vp-bron__watermerk{left:auto;right:-90px;top:120px;width:300px;opacity:.06}}

/* ---------------------------------------------------------------- hero: gelijke linkerlijn met de hoofdstukken (162 px op 1440) + citaatlijn vrij van de knop */
@media (min-width:1024px){
  .vp-kop__vel{padding-inline:32px}
  .vp-kop__tekst::before{height:calc(100% - 138px)}
}
@media (min-width:1024px) and (max-width:1279px){.vp-kop > .s-container--vel{width:calc(92vw + 64px)}}
.vp .s-kruimel a{min-width:44px}
/* held: de render loopt tot binnen 40 px van de kaderlijn en vervloeit (geen toonovergang meer) */
@media (min-width:1024px){
  .vp-held{margin:28px -8px 0 -12px}
  .vp-held__podium{width:112%;margin-left:-8%}
}
.vp-held__veeg{-webkit-mask:url('../../beeld/voorstel-producten/vp-held-glas.webp?v=3480ef0f') center/100% 100% no-repeat;mask:url('../../beeld/voorstel-producten/vp-held-glas.webp?v=3480ef0f') center/100% 100% no-repeat}
.vp-held__zon{top:40%;width:58%}
.vp-held__kalli img:first-child{width:clamp(70px,7.2vw,100px)}
@media (min-width:1024px){.vp-held__kalli{top:-8%}}
@media (max-width:1023px){
  .vp-held{margin:30px 0 0}
  .vp-held__podium{margin-inline:-6px}
  .vp-held__kalli{top:-34px;right:4px}
}
/* mobiel: eigen tak die van boven het kader binnenkomt, links van het hoekornament; blaadjes blijven in de takzone */
@media (max-width:767px){
  .vp-tak{top:44px;right:-14px;width:120px;overflow:clip;filter:none}
  .vp-tak__tak{background-image:url('../../beeld/voorstel-producten/vp-tak.webp?v=e852fe12');background-position:right top}
  .vp-blad{top:30%;animation-name:vp-val-kort}
}
@keyframes vp-val-kort{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}12%{opacity:.85}75%{opacity:.6}100%{opacity:0;transform:translate3d(-40px,90px,0) rotate(260deg)}}

/* ---------------------------------------------------------------- 一 uitgelicht: kolomkoppen per kolom, iconen uit één camera */
.vp .vp-groep__kop{grid-template-columns:56px 52px minmax(0,1fr);column-gap:14px;font-size:.875rem;letter-spacing:.24em}
@media (min-width:768px){.vp .vp-groep__kop{font-size:.75rem;letter-spacing:.3em}}
.vp .vp-groep__kop > span{grid-row:1;justify-self:start;padding:0;margin:0;letter-spacing:inherit}
.vp .vp-groep__kop > span:nth-child(1){grid-column:1}
.vp .vp-groep__kop > span:nth-child(2){grid-column:2;justify-self:end;margin-right:-.3em;padding-right:4px}
.vp .vp-groep__kop > span:nth-child(3){grid-column:3}
@media (max-width:599px){.vp .vp-groep__kop > span:nth-child(2){justify-self:center;margin-right:0;padding-right:0;padding-left:.24em}}
.vp .vp-groep__beeld img{width:56px;height:44px;object-fit:contain;mix-blend-mode:normal}
/* pins: tooltip 14 px (mobielnorm), desktoplabels ook */
.vp-familie .s-pin__tip,.vp-familie__pins .s-pin:is(:first-child,:last-child) .s-pin__tip{font-size:.875rem}
@media (min-width:1024px){.vp-familie .s-pin__tip,.vp-familie__pins .s-pin:is(:first-child,:last-child) .s-pin__tip{font-size:.8125rem;letter-spacing:.16em}}
/* stempel: één eindtoestand (licht gedraaid, zoals op de PDF), ook na de stempelanimatie */
.vp .vp-montage__zegel[data-beweeg=stempel].is-zichtbaar{animation-name:vp-stempel}
@keyframes vp-stempel{0%{opacity:0;scale:1.25;rotate:-8deg}100%{opacity:1;scale:1;rotate:-1.2deg}}

/* ---------------------------------------------------------------- 二 plaatkaarten (PDF: groot beeld op een zonschijf, gouden dubbelkader, rood nummerzegel) */
.vp-platen{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin:0;padding:0}
.vp-pl{position:relative;display:flex;flex-direction:column;padding:16px 16px 20px;background:rgba(var(--rijst-rgb),.55);
  --hk:24px;
  box-shadow:inset 0 0 0 1px rgba(176,138,50,.55),inset 0 0 0 5px rgba(var(--rijst-rgb),.9),inset 0 0 0 6px rgba(176,138,50,.28),0 14px 30px -24px rgba(43,30,16,.45);
  transition:box-shadow .35s var(--ease),translate .35s var(--ease)}
.vp-pl::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  url('../../beeld/voorstel-producten/vp-hoek-lb.svg?v=d8b37b0f') 0 0/var(--hk) var(--hk) no-repeat,url('../../beeld/voorstel-producten/vp-hoek-rb.svg?v=ea303eee') 100% 0/var(--hk) var(--hk) no-repeat,
  url('../../beeld/voorstel-producten/vp-hoek-lo.svg?v=a694674b') 0 100%/var(--hk) var(--hk) no-repeat,url('../../beeld/voorstel-producten/vp-hoek-ro.svg?v=1d70c95d') 100% 100%/var(--hk) var(--hk) no-repeat}
.vp-pl__beeld{position:relative;isolation:isolate;margin:6px 6px 0;aspect-ratio:4 / 3}
.vp-pl__zon{position:absolute;left:50%;top:6%;width:72%;aspect-ratio:1;translate:-50% 0;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F8E8BC 0%,#F1D99C 46%,rgba(240,216,152,0) 70.6%);transition:scale .9s var(--s-ease-inkt)}
.vp-pl__beeld picture,.vp-pl__beeld img{display:block;width:100%;height:100%;object-fit:contain}
.vp-pl__beeld img{transition:translate .6s var(--s-ease-inkt)}
.vp-pl__tekst{display:flex;flex-direction:column;flex:1;padding:4px 8px 0}
.vp-pl__kop{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.vp-pl__zegel{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:3px;background:var(--rood);rotate:-3deg;
  font:500 .875rem/1 var(--f-mono);letter-spacing:.02em;color:#F8E9DF;box-shadow:inset 0 0 0 2px var(--rood),inset 0 0 0 3px rgba(248,233,223,.55)}
.vp-pl__lijn{flex:1;height:1px;background:linear-gradient(90deg,var(--lijn-goud),transparent)}
.vp-pl__kop .vp-nieuw{margin-left:4px}
.vp-pl__naam{margin:0 0 4px;font:500 1.0625rem/1.25 var(--f-kop);letter-spacing:.14em;text-transform:uppercase;color:var(--inkt);text-wrap:balance}
.vp-pl__kort{margin:0 0 10px;font:italic 400 1.125rem/1.3 var(--f-serif);color:var(--dgoud)}
.vp-pl__omschrijving{margin:0 0 16px;font-size:1rem;line-height:1.5;color:var(--grijs1);text-wrap:pretty}
/* actielink: onderstreping groeit van links naar rechts in donker goud, pijl/icoon schuift 3 px (alleen met beweging) */
.vp-pl__link{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;
  font:500 .875rem/1 var(--f-kop);letter-spacing:.2em;text-transform:uppercase;color:var(--inkt);text-decoration:none}
.vp-pl__link > span:first-child{position:relative;padding-block:4px}
.vp-pl__link > span:first-child::before,.vp-pl__link > span:first-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lijn-goud)}
.vp-pl__link > span:first-child::after{height:2px;bottom:-.5px;background:var(--dgoud);scale:0 1;transform-origin:0 50%;transition:scale .45s var(--s-ease-inkt)}
.vp-pl__link .s-ico{width:16px;height:16px;color:var(--dgoud);transition:translate .3s var(--ease)}
.vp-pl__link{white-space:nowrap}
@media (max-width:899px){.vp-pl__link{letter-spacing:.14em}}
@media (max-width:399px){.vp-pl__link{letter-spacing:.08em;gap:8px}}
.vp-pl__link:is(:hover,:focus-visible) > span:first-child::after{scale:1 1}
.vp-pl__link:is(:hover,:focus-visible) .s-ico{translate:3px 0}
.vp-pl__link:focus-visible{outline:2px solid var(--goud);outline-offset:4px}
@media (hover:hover){
  .vp-pl:hover{translate:0 -3px;box-shadow:inset 0 0 0 1px rgba(176,138,50,.8),inset 0 0 0 5px rgba(var(--rijst-rgb),.9),inset 0 0 0 6px rgba(176,138,50,.4),0 22px 36px -24px rgba(43,30,16,.5)}
  .vp-pl:hover .vp-pl__zon{scale:1.06}
  .vp-pl:hover .vp-pl__beeld img{translate:0 -4px}
}
/* 07 kozijnen: brede plaat (beeld links, tekst rechts) */
.vp-pl--breed{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;column-gap:32px;padding:18px 28px 18px 18px}
.vp-pl--breed .vp-pl__beeld{margin:6px}
.vp-pl--breed .vp-pl__tekst{padding:12px 0}
.vp-pl--breed .vp-pl__naam{font-size:1.375rem}
.vp-pl--breed .vp-pl__kort{font-size:1.375rem}
.vp-pl--breed .vp-pl__omschrijving{max-width:44ch}
.vp-pl--breed .vp-pl__link{margin-top:6px}
.vp-platen__stappen{display:none}
.vp .vp-anders{margin-top:32px}
@media (min-width:900px) and (max-width:1023px){.vp-platen{gap:22px 18px}.vp-pl__naam{font-size:1rem;letter-spacing:.12em}}
/* mobiel: horizontaal vegen (scroll-snap), volgende plaat piept, stappen 1–7 */
@media (max-width:899px){
  .vp-platen{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    scrollbar-width:none;margin-inline:calc(-1 * var(--s-goot));padding:6px var(--s-goot) 10px;scroll-padding-inline:var(--s-goot)}
  .vp-platen::-webkit-scrollbar{display:none}
  .vp-pl{scroll-snap-align:start}
  .vp-pl--breed{grid-column:auto;display:flex;padding:16px 16px 20px}
  .vp-pl--breed .vp-pl__naam,.vp-pl--breed .vp-pl__kort{font-size:1.125rem}
  .vp-pl__naam{font-size:1rem}
  .vp-platen__stappen{display:flex;justify-content:center;align-items:center;margin-top:12px}
  .vp-platen__stappen .vp-fasen__stap{width:46px}
  .vp-platen__stappen .vp-fasen__stap + .vp-fasen__stap::before{left:-9px;width:18px}
}
@media (max-width:899px) and (min-width:600px){.vp-platen{grid-auto-columns:46%}}
@media (max-width:399px){.vp-platen__stappen .vp-fasen__stap{width:44px}.vp-platen__stappen .vp-fasen__stap span{width:28px;height:28px}.vp-platen__stappen .vp-fasen__stap + .vp-fasen__stap::before{display:none}}

/* ---------------------------------------------------------------- 三 fasen als 3D-renders op één grondlijn */
.vp-fase__beeld{position:relative;isolation:isolate;margin:14px 0 18px;aspect-ratio:840 / 520}
.vp-fase__zon{position:absolute;left:50%;top:2%;width:52%;aspect-ratio:1;translate:-50% 0;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F8E8BC 0%,#F1D99C 46%,rgba(240,216,152,0) 70.6%)}
.vp-fase__beeld picture,.vp-fase__beeld img{display:block;width:100%;height:100%;object-fit:contain}
.vp-fase__beeld::after{content:"";position:absolute;left:4%;right:4%;bottom:3%;height:1px;z-index:-1;background:linear-gradient(90deg,transparent,var(--lijn-goud) 20%,var(--lijn-goud) 80%,transparent)}
@media (max-width:899px){.vp-fase__beeld{margin:8px 0 12px}}
/* stappen: 01–02–03 in één ritme met de plaatkaarten */

/* ---------------------------------------------------------------- 四 kaart: pijlpunten, labels samen met hun punt, eindstaat altijd compleet */
.vp-kaart__zee-lab--oost{white-space:nowrap;width:auto;letter-spacing:.06em}
html.js-beweeg .vp-kaart__regio,html.js-beweeg .vp-loep__punt,html.js-beweeg .vp-kaart__lab,html.js-beweeg .vp-loep__lab,html.js-beweeg .vp-kaart__leader{
  transition:opacity .45s var(--s-ease-inkt) calc(.1s + var(--i,0) * .18s)}
html.js-beweeg .vp-kaart__aanvoer{transition:stroke-dashoffset 1.1s var(--s-ease-inkt) calc(.25s + var(--i,0) * .18s)}
.vp-kaart__aanvoer{opacity:.9}
html.js-beweeg .vp-kaart:not(.is-actief) .vp-kaart__pijl{opacity:0}
html.js-beweeg .vp-kaart__pijl{transition:opacity .3s ease-out calc(1.25s + var(--i,0) * .18s)}
/* rechterkolom: warehouseplaat met zegel (vult de lege kolom onder de legenda) */
.vp-pakhuis{margin:28px 0 0;padding:14px 14px 18px;position:relative;
  box-shadow:inset 0 0 0 1px rgba(176,138,50,.55),inset 0 0 0 5px rgba(var(--rijst-rgb),.9),inset 0 0 0 6px rgba(176,138,50,.28)}
.vp-pakhuis::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  url('../../beeld/voorstel-producten/vp-hoek-lb.svg?v=d8b37b0f') 0 0/24px 24px no-repeat,url('../../beeld/voorstel-producten/vp-hoek-rb.svg?v=ea303eee') 100% 0/24px 24px no-repeat,
  url('../../beeld/voorstel-producten/vp-hoek-lo.svg?v=a694674b') 0 100%/24px 24px no-repeat,url('../../beeld/voorstel-producten/vp-hoek-ro.svg?v=1d70c95d') 100% 100%/24px 24px no-repeat}
.vp-pakhuis__beeld{position:relative;isolation:isolate;aspect-ratio:4 / 3}
.vp-pakhuis__beeld picture,.vp-pakhuis__beeld img:not(.vp-pakhuis__zegel){display:block;width:100%;height:100%;object-fit:contain}
.vp-pakhuis__zon{position:absolute;left:50%;top:4%;width:66%;aspect-ratio:1;translate:-50% 0;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F8E8BC 0%,#F1D99C 46%,rgba(240,216,152,0) 70.6%)}
.vp-pakhuis__zegel{position:absolute;right:6px;top:6px;width:44px;height:44px;rotate:-5deg}
.vp-pakhuis figcaption{display:grid;gap:4px;padding:6px 8px 0}
.vp-pakhuis figcaption b{font:500 .875rem/1.2 var(--f-kop);letter-spacing:.24em;text-transform:uppercase;color:var(--inkt)}
@media (min-width:768px){.vp-pakhuis figcaption b{font-size:.75rem;letter-spacing:.3em}}
.vp-pakhuis figcaption span{font:italic 400 1.0625rem/1.4 var(--f-serif);color:var(--grijs1)}
@media (min-width:1024px){.vp-bron__zij{grid-template-rows:auto auto}.vp-bron__plak{position:static}.vp-pakhuis{align-self:start}}

/* ---------------------------------------------------------------- folio mobiel: alleen HOOFDSTUK n / 4 met zegel, gecentreerd tussen twee gelijke lijnen */
@media (max-width:767px){
  .vp .s-folio{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px}
  .vp .s-folio__site{display:block;font-size:0;height:1px;background:linear-gradient(90deg,transparent,var(--lijn-goud))}
  .vp .s-folio__lijn{grid-column:3;grid-row:1;font-size:0;gap:0}
  .vp .s-folio__lijn::before{display:none}
  .vp .s-folio__lijn::after{flex:1}
  .vp .s-folio__nr{grid-column:2;grid-row:1}
}

/* ---------------------------------------------------------------- SLOT: één slotplaat — CTA in de lucht, het schip in de mist met spiegeling */
.vp-slot{padding-top:clamp(40px,5vw,72px);padding-bottom:0}
.vp-slot__plaat{position:relative;isolation:isolate;overflow:hidden;max-width:1440px;margin-inline:auto;padding-bottom:clamp(8px,2vw,28px);
  -webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.vp-slot__cta{position:relative;z-index:3;text-align:center}
.vp-slot__zon{position:absolute;left:54%;top:clamp(380px,32vw,470px);width:min(34vw,420px);aspect-ratio:1;translate:-50% 0;z-index:-2;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#F9EAC2 0%,#F3DCA0 42%,#EDCF85 62%,rgba(237,207,133,0) 70.6%)}
.vp-slot__zon::after{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(closest-side,rgba(243,220,160,.5),rgba(243,220,160,0));animation:vp-gloed 8s ease-in-out infinite alternate}
.vp-slot__bergen{position:absolute;left:-4%;right:-4%;top:clamp(330px,30vw,440px);height:clamp(150px,16vw,230px);z-index:-1;opacity:.24;
  background:url('../../beeld/voorstel-producten/vp-bergenband-3200.webp?v=ff05b16c') 62% 100%/auto 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.vp-slot__schip{position:relative;width:min(70%,880px);margin:clamp(-120px,-8vw,-60px) auto 0;z-index:1;transform:translate3d(0,calc(var(--p,0) * -12px),0)}
.vp-slot__deining{position:relative;z-index:1}
/* water: inktgolven en een mistbank waarin de romp verdwijnt, met een zachte spiegeling (zelfde beeld, gespiegeld, geen extra download) */
.vp-slot__golf{z-index:2}
.vp-slot__nevel{left:-30%;width:160%;bottom:-4%;height:40%;z-index:3;opacity:.8}
.vp-slot__nevel.vp-nevel--b{bottom:-14%;opacity:.6}
.vp-slot .s-slot__logo{display:block}
.vp-slot .s-slot__xiexie{width:98px;height:auto}
@media (min-width:1024px){.vp-slot__plaat{min-height:0}.vp-slot__schip{width:min(64%,860px)}}
@media (max-width:767px){
  .vp-slot{padding-top:8px}
  .vp-slot__zon{top:auto;bottom:3%;left:56%;width:54vw}
  .vp-slot__bergen{top:auto;bottom:10%;height:150px;background-image:url('../../beeld/voorstel-producten/vp-bergenband-1600.webp?v=6d8fc548')}
  .vp-slot__schip{width:100%;margin-top:-6px}
}
.vp .vp-slot + .s-voet{padding-top:clamp(56px,7vw,110px)}

@media (prefers-reduced-motion:reduce){
  .vp-maat__tak,.vp-slot__zon::after{animation:none!important}
  .vp-pl,.vp-pl__beeld img,.vp-pl__link .s-ico,.vp-pl__link > span:first-child::after,.vp-pl__zon{transition:none}
  .vp-pl:hover,.vp-pl:hover .vp-pl__beeld img,.vp-pl__link:is(:hover,:focus-visible) .s-ico{translate:none}
  .vp .vp-montage__zegel[data-beweeg=stempel]{rotate:-1.2deg}
}

.vp-slot .s-slot__logo picture{display:block;width:100%;height:100%}

/* ================================================================ BEWEGING — alles uit bij reduced motion */
@media (prefers-reduced-motion:reduce){
  .vp-rol__strook{transform:none!important}
  .vp-nevel,.vp-tak__tak,.vp-blad,.vp-held__zon::after,.vp-familie__zon::after,.vp-slot__zon::after,.vp-veeg::before,.vp-held__veeg::before,.vp-slot__deining,
  .vp-held__nevel,.vp-kaart__puls{animation:none!important}
  .vp-blad,.vp-veeg,.vp-held__veeg{display:none}
  .vp-familie__laag,.vp-slot__schip,.vp-held__zon,.vp-held__bergen,.vp-held__podium,.vp-tak,.vp-held__kalli{transform:none!important}
  .vp-held__nevel{translate:none!important}
  .vp-rol__naam::after,.vp-rol__zon{transition:none}
}

/* ================================================================ EINDKEURING
   slot: zon en schip staan vrij onder de contactregel (≥ 24 px lucht), onder de romp een inktgolf met waterlijn; geen leeg papier tot de voet */
@media (min-width:768px){
  .vp-slot__zon{top:clamp(470px,40vw,560px)}
  .vp-slot__schip{margin-top:clamp(40px,4vw,70px)}
}
.vp-slot__schip::after{content:"";position:absolute;left:-8%;right:-8%;bottom:1%;height:26px;z-index:-1;pointer-events:none;opacity:.9;
  background:url('../../beeld/kaart/golf.svg?v=fac7bd0f') 0 0/26px 11px repeat-x,url('../../beeld/kaart/golf.svg?v=fac7bd0f') 13px 12px/26px 11px repeat-x;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.vp-slot{padding-bottom:0}
.vp .vp-slot + .s-voet{margin-top:-24px;padding-top:clamp(56px,6vw,96px)}
/* held: de kop op omslagformaat (zoals OFFERTE), met dezelfde ruime spatiëring */
@media (min-width:1024px){.vp-kop__h1{font-size:clamp(46px,3.7vw,54px);line-height:1.06;letter-spacing:.1em}}

/* ---------------------------------------------------------------- productgroepen in 3D (productgroepen/)
   De zes productkaarten tonen de 3D-stilleven-plaat van de groep (eigen kader, maan en zegel) en linken naar de 3D-pagina. */
.vp-pl__beeld--3d{display:block;aspect-ratio:3 / 2;overflow:hidden;box-shadow:0 10px 22px -18px rgba(43,30,16,.55)}
.vp-pl__beeld--3d picture,.vp-pl__beeld--3d img{object-fit:cover}
.vp-pl__3d{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 7px;border-radius:2px;
  background:rgba(var(--rijst-rgb),.92);box-shadow:inset 0 0 0 1px var(--lijn-goud);font:500 .8125rem/1 var(--f-kop);letter-spacing:.14em;color:var(--inkt)}
.vp-pl__3d .s-ico{width:15px;height:15px;color:var(--dgoud)}
@media (hover:hover){.vp-pl:hover .vp-pl__beeld--3d img{translate:0 0;scale:1.025}}
.vp-pl__beeld--3d img{transition:scale .7s var(--s-ease-inkt)}
.vp-pl__links{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:auto}
.vp-pl__links .vp-pl__link{margin-top:0}
.vp-alle-3d{margin-top:14px;width:max-content;max-width:100%;white-space:nowrap;justify-self:start;align-self:flex-start}
.vp-alle-3d .s-ico:first-child{width:18px;height:18px;margin-right:8px;color:var(--dgoud)}
@media (prefers-reduced-motion:reduce){.vp-pl__beeld--3d img{transition:none}.vp-pl:hover .vp-pl__beeld--3d img{scale:none}}
@media (max-width:400px){.vp-alle-3d{letter-spacing:.1em;gap:6px}}
.vp-maat__tak{display:none}
