
main.hp{
  --hp-cream:#f7f1e7;
  --hp-ivory:#fbf6ee;
  --hp-warm-wit:#fffdf9;
}
main.hp{
  --hp-amber:236,158,88;
  --hp-perzik:242,176,138;
  --hp-salie:134,186,118;
  --licht-k:1.5;
}
main.hp .hp-open{ background:linear-gradient(180deg, var(--hp-cream) 0%, var(--hp-ivory) 100%); }
main.hp .hp-zw{ background:linear-gradient(180deg, var(--hp-warm-wit) 0%, var(--hp-ivory) 100%); }
main.hp .hp-loc{ background:linear-gradient(180deg, var(--hp-ivory) 0%, var(--hp-cream) 100%); }
main.hp :is(.hp-open,.hp-zw,.hp-loc){ position:relative; isolation:isolate; overflow:hidden; overflow:clip; }
main.hp :is(.hp-open,.hp-zw,.hp-loc) > .hp-wrap{ position:relative; z-index:1; }
main.hp :is(.hp-open,.hp-zw,.hp-loc){ --hp-ink-soft:#4f5d54; }
main.hp :is(.hp-open,.hp-zw,.hp-loc)::before,
main.hp :is(.hp-open,.hp-zw,.hp-loc)::after{ content:""; position:absolute; z-index:0; inset:-30% -25%;
  pointer-events:none; will-change:transform; transform:translate3d(0,0,0);
  animation-timing-function:cubic-bezier(.45,0,.55,1); animation-iteration-count:infinite;
  animation-direction:alternate; animation-play-state:paused; }
main.hp :is(.hp-open,.hp-zw,.hp-loc).licht-aan::before,
main.hp :is(.hp-open,.hp-zw,.hp-loc).licht-aan::after{ animation-play-state:running; }

main.hp .hp-open::before{ background:
  radial-gradient(ellipse 30% 34% at 26% 28%, rgba(var(--hp-amber),.36), rgba(var(--hp-amber),.15) 45%, transparent 72%),
  radial-gradient(ellipse 20% 26% at 62% 44%, rgba(var(--hp-perzik),.26), transparent 70%);
  animation-name:lichtIntroA; animation-duration:13s; }
main.hp .hp-open::after{ background:
  radial-gradient(ellipse 26% 30% at 74% 72%, rgba(var(--hp-salie),.30), rgba(var(--hp-salie),.12) 45%, transparent 72%);
  animation-name:lichtIntroB; animation-duration:17s; }
@keyframes lichtIntroA{
  0%{ transform:translate3d(calc(var(--licht-k)*-4%),calc(var(--licht-k)*-3%),0) scale(1); }
  50%{ transform:translate3d(calc(var(--licht-k)*7%),calc(var(--licht-k)*4%),0) scale(1.06); }
  100%{ transform:translate3d(calc(var(--licht-k)*13%),calc(var(--licht-k)*-2%),0) scale(1.02); } }
@keyframes lichtIntroB{
  0%{ transform:translate3d(calc(var(--licht-k)*5%),calc(var(--licht-k)*3%),0); }
  100%{ transform:translate3d(calc(var(--licht-k)*-9%),calc(var(--licht-k)*-6%),0) scale(1.05); } }

main.hp .hp-zw::before{ background:
  radial-gradient(ellipse 26% 26% at 26% 26%, rgba(var(--hp-salie),.28), rgba(var(--hp-salie),.11) 45%, transparent 72%);
  animation-name:lichtZwA; animation-duration:15s; }
main.hp .hp-zw::after{ background:
  radial-gradient(ellipse 30% 28% at 70% 74%, rgba(var(--hp-amber),.34), rgba(var(--hp-amber),.14) 45%, transparent 72%),
  radial-gradient(ellipse 18% 20% at 52% 64%, rgba(var(--hp-perzik),.24), transparent 70%);
  animation-name:lichtZwB; animation-duration:12s; }
@keyframes lichtZwA{
  0%{ transform:translate3d(calc(var(--licht-k)*-3%),0,0) scale(1.04); }
  100%{ transform:translate3d(calc(var(--licht-k)*10%),calc(var(--licht-k)*7%),0) scale(1); } }
@keyframes lichtZwB{
  0%{ transform:translate3d(calc(var(--licht-k)*6%),calc(var(--licht-k)*2%),0); }
  45%{ transform:translate3d(calc(var(--licht-k)*-4%),calc(var(--licht-k)*-5%),0) scale(1.05); }
  100%{ transform:translate3d(calc(var(--licht-k)*-11%),calc(var(--licht-k)*1%),0) scale(1.01); } }

main.hp .hp-loc::before{ background:
  radial-gradient(ellipse 28% 32% at 74% 26%, rgba(var(--hp-amber),.32), rgba(var(--hp-amber),.13) 45%, transparent 72%),
  radial-gradient(ellipse 18% 22% at 58% 38%, rgba(var(--hp-perzik),.22), transparent 70%);
  animation-name:lichtLocA; animation-duration:14s; }
main.hp .hp-loc::after{ background:
  radial-gradient(ellipse 28% 30% at 26% 74%, rgba(var(--hp-salie),.30), rgba(var(--hp-salie),.12) 45%, transparent 72%);
  animation-name:lichtLocB; animation-duration:18s; }
@keyframes lichtLocA{
  0%{ transform:translate3d(calc(var(--licht-k)*4%),calc(var(--licht-k)*-3%),0); }
  100%{ transform:translate3d(calc(var(--licht-k)*-10%),calc(var(--licht-k)*5%),0) scale(1.05); } }
@keyframes lichtLocB{
  0%{ transform:translate3d(calc(var(--licht-k)*-4%),calc(var(--licht-k)*3%),0) scale(1.03); }
  55%{ transform:translate3d(calc(var(--licht-k)*6%),calc(var(--licht-k)*-2%),0); }
  100%{ transform:translate3d(calc(var(--licht-k)*9%),calc(var(--licht-k)*-6%),0) scale(1); } }

@media (max-width:700px){
  main.hp{ --licht-k:1; }
}
@media (prefers-reduced-motion: reduce){
  main.hp :is(.hp-open,.hp-zw,.hp-loc)::before,
  main.hp :is(.hp-open,.hp-zw,.hp-loc)::after{ animation:none; transform:none; }
}

main.hp .hp-eyebrow:not(.hp-eyebrow--light):not(.hp-eyebrow--gold){ color:#165a1c; }
main.hp #locatie .hp-link{ color:#165a1c; }
main.hp #locatie .hp-link:hover{ color:#0f4514; }
main.hp #locatie .hp-link:focus-visible{ outline:2px solid #165a1c; outline-offset:3px; border-radius:6px; }

#referenties{ position:relative; z-index:2; overflow:hidden; padding:88px 0 clamp(40px,4.5vw,56px);
  background:radial-gradient(120% 70% at 50% 0%,#13280f 0%,#0b150b 55%,#0c170c 100%);
  border-radius:0 0 clamp(28px,4vw,52px) clamp(28px,4vw,52px);
  box-shadow:0 30px 60px -40px rgba(10,24,10,.55); }
#referenties .glw-ref__head{ text-align:center; max-width:680px; margin:0 auto 4px; }
#referenties .glw-ref__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; color:#8fd08f; }
#referenties .glw-ref__eyebrow span{ width:22px; height:1px; background:#8fd08f; display:inline-block; }
#referenties h2{ font-size:clamp(28px,4vw,42px); font-weight:800; letter-spacing:-.02em; color:#fff; margin:.5em 0 .3em; }
#referenties .glw-ref__lead{ color:rgba(255,255,255,.7); font-size:17px; line-height:1.6; }

.ref-glans{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; border-radius:inherit; }
.ref-glans::before{ content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle at 50% 50%, rgba(214,240,214,.075) 0 .75px, transparent 1.25px);
  background-size:5px 5px;
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 42%, #000 0%, rgba(0,0,0,.55) 45%, transparent 82%);
          mask-image:radial-gradient(ellipse 75% 65% at 50% 42%, #000 0%, rgba(0,0,0,.55) 45%, transparent 82%); }
.ref-glans__waas{ --glans-amp:13%; position:absolute; left:-35%; top:-15%; width:170%; height:130%;
  background:
    linear-gradient(104deg, transparent 38%, rgba(220,245,225,.035) 47%, rgba(220,245,225,.06) 50%, rgba(220,245,225,.035) 53%, transparent 62%),
    radial-gradient(ellipse 30% 42% at 47% 44%, rgba(150,215,150,.11), rgba(150,215,150,.04) 45%, transparent 72%),
    radial-gradient(ellipse 20% 26% at 56% 58%, rgba(232,180,110,.055), transparent 70%);
  transform:translate3d(0,0,0); will-change:transform;
  animation:refGlans 34s cubic-bezier(.45,0,.55,1) infinite alternate; animation-play-state:paused; }
#referenties.glans-aan .ref-glans__waas{ animation-play-state:running; }
@keyframes refGlans{
  from{ transform:translate3d(calc(var(--glans-amp) * -1), -1.5%, 0); }
  to{ transform:translate3d(var(--glans-amp), 1.5%, 0); }
}
@media (max-width:700px){
  .ref-glans__waas{ --glans-amp:7%; opacity:.8; animation-duration:40s; }
  .ref-glans::before{ opacity:.6; }
}
@media (prefers-reduced-motion: reduce){
  .ref-glans__waas{ animation:none; transform:none; }
}

.wiel{ --wiel-w:clamp(280px,60vw,640px); position:relative; z-index:2; }
.wiel::before{ content:""; position:absolute; left:50%; top:46%; width:min(1100px,110vw); height:70%;
  transform:translate(-50%,-50%); pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%, rgba(232,195,122,.13), rgba(58,158,58,.05) 45%, transparent 70%); }
.wiel__podium{ position:relative; height:calc(var(--wiel-w) * 9 / 16 + 96px); perspective:2600px;
  perspective-origin:50% 50%; touch-action:pan-y; cursor:grab; outline:none; }
.wiel__podium.is-slepen{ cursor:grabbing; }
.wiel__podium:focus-visible{ outline:3px solid #e07820; outline-offset:6px; border-radius:24px; }
.wiel__ring{ position:absolute; left:50%; top:48px; width:var(--wiel-w); aspect-ratio:16/9;
  margin:0 0 0 calc(var(--wiel-w) / -2); padding:0; list-style:none; transform-style:preserve-3d; will-change:transform; }
.wiel__kaart{ position:absolute; inset:0; border-radius:18px; overflow:hidden; background:#1a2a1a center/cover no-repeat;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  box-shadow:0 34px 70px -28px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.07) inset; }
.wiel__kaart::before{ content:""; position:absolute; inset:0; background:#050a05; opacity:var(--donker,0); pointer-events:none; }
.wiel__kaart::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:linear-gradient(to top,rgba(6,10,6,.78) 0%,rgba(6,10,6,.15) 42%,transparent 70%); }
.wiel__kaart.is-actief::after{ opacity:1; }
.wiel__kaart.is-actief{ box-shadow:0 44px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(232,195,122,.35) inset; }
.wiel__cap{ position:absolute; left:22px; bottom:20px; z-index:2; display:flex; flex-direction:column; text-align:left;
  opacity:0; transform:translateY(8px); transition:opacity .5s ease .08s,transform .5s ease .08s; pointer-events:none; }
.wiel__kaart.is-actief .wiel__cap{ opacity:1; transform:none; }
.wiel__cap strong{ color:#fff; font-size:clamp(16px,2vw,20px); font-weight:700; letter-spacing:-.01em; }
.wiel__cap small{ color:rgba(255,255,255,.74); font-size:13px; margin-top:2px; letter-spacing:.02em; }

.wiel__bediening{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:6px; }
.wiel__knop{ width:46px; height:46px; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.05);
  color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background .25s ease,border-color .25s ease; }
.wiel__knop:hover{ background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.38); }
.wiel__knop:focus-visible{ outline:3px solid #e07820; outline-offset:3px; }
.wiel__knop--pauze .wiel__ic-speel{ display:none; }
.wiel.is-gepauzeerd .wiel__knop--pauze .wiel__ic-pauze{ display:none; }
.wiel.is-gepauzeerd .wiel__knop--pauze .wiel__ic-speel{ display:block; }
.wiel__voortgang{ width:min(220px,50vw); height:2px; margin:18px auto 0; border-radius:2px; background:rgba(255,255,255,.14); overflow:hidden; }
.wiel__voortgang span{ display:block; height:100%; width:calc(100% / 12); background:#e8c37a; border-radius:2px;
  transform:translateX(calc(var(--stap,0) * 100%)); transition:transform .5s ease; }
.wiel__status{ margin:10px 0 0; text-align:center; font-size:13px; color:rgba(255,255,255,.62); font-variant-numeric:tabular-nums; }

@media (max-width:600px){
  #referenties{ padding:60px 0 36px; }
  #referenties .glw-ref__lead{ color:rgba(255,255,255,.82); }
  .wiel{ --wiel-w:clamp(230px,80vw,420px); }
  .wiel__podium{ height:calc(var(--wiel-w) * 9 / 16 + 64px); }
  .wiel__ring{ top:32px; }
  .wiel__cap{ left:14px; bottom:12px; }
  .wiel__knop{ width:44px; height:44px; }
}

.hp-zw{ position:relative; padding:clamp(88px,10vw,136px) 0; }
.hp-sectiekop{ display:grid; grid-template-columns:1fr; gap:10px 56px; align-items:end; margin-bottom:clamp(32px,4.5vw,52px); }
@media (min-width:900px){ .hp-sectiekop{ grid-template-columns:1.05fr .95fr; } }
.hp-sectiekop .hp-h2{ margin:0; }
.hp-sectiekop .hp-lead{ margin:0; }
.hp-zw :focus-visible{ outline:3px solid var(--hp-orange); outline-offset:3px; border-radius:12px; }

.zw{ display:grid; gap:24px; }
@media (min-width:900px){ .zw{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:stretch; } }
.zw__stappen{ list-style:none; margin:0; padding:0; display:grid; gap:12px; align-content:start; }
.zw__stap{ position:relative; border:1px solid var(--hp-line); border-radius:18px; background:rgba(255,255,255,.78); overflow:hidden;
  transition:border-color .35s ease,box-shadow .35s ease,background-color .35s ease; }
.zw__stap::before{ content:""; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:0 3px 3px 0;
  background:var(--hp-green); opacity:0; transition:opacity .35s ease; }
.zw__stap.is-actief{ background:#fff; border-color:rgba(33,128,41,.32); box-shadow:0 22px 44px -32px rgba(30,50,20,.45); }
.zw__stap.is-actief::before{ opacity:1; }
.zw__knop{ display:grid; grid-template-columns:36px 1fr; gap:6px 16px; align-items:start; width:100%; text-align:left;
  background:transparent; border:0; padding:20px 22px; cursor:pointer; font:inherit; color:inherit; }
.zw__nr{ grid-row:1/3; width:36px; height:36px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center;
  font:700 15px/1 var(--hp-sans); color:var(--hp-green-deep); background:#eef4ea; transition:background .35s ease,color .35s ease; }
.zw__stap.is-actief .zw__nr{ background:var(--hp-btn); color:#fff; }
.zw__titel{ font-size:17.5px; font-weight:700; letter-spacing:-.01em; line-height:1.3; color:var(--hp-ink); padding-top:7px; }
.zw__tekst{ font-size:15px; line-height:1.6; color:var(--hp-ink-soft); }
.zw__paneel{ padding:0 22px 22px; }
.zw__stap .zw__paneel[hidden]{ display:none; }
.zw__demo-label{ display:block; font-family:var(--hp-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--hp-ink-soft); margin-top:12px; opacity:.85; }

.zw__podium{ display:none; }
@media (min-width:900px){ .zw--tabs .zw__podium{ display:block; } }
.zw__scherm{ position:relative; height:100%; min-height:460px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  padding:clamp(24px,3vw,40px); border:1px solid var(--hp-line); overflow:hidden;
  background:
    radial-gradient(80% 60% at 20% 0%, rgba(255,255,255,.8), transparent 70%),
    linear-gradient(160deg,#f5efe3 0%,#eef1e6 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.zw__scherm .zw__paneel{ width:100%; padding:0; text-align:center; }
.zw__scherm .zw__paneel[hidden]{ display:none; }
.zw__scherm .demo{ text-align:left; }
.zw__scherm .demo.is-wissel,.zw__stap .demo.is-wissel{ animation:zwIn .38s cubic-bezier(.22,.61,.36,1) both; }
@keyframes zwIn{ from{ opacity:0; transform:translateY(8px) scale(.99); } to{ opacity:1; transform:none; } }

.demo{ background:#fff; border-radius:16px; border:1px solid rgba(16,32,16,.09);
  box-shadow:0 28px 56px -36px rgba(30,50,20,.5),0 2px 6px -2px rgba(30,50,20,.08);
  padding:20px; font-size:14px; color:var(--hp-ink); max-width:420px; margin:0 auto; }
.demo__kop{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; }
.demo__titel{ font-weight:700; font-size:15.5px; }
.demo__badge{ font:600 12px/1 var(--hp-sans); padding:6px 9px; border-radius:999px; background:#eef4ea; color:var(--hp-green-deep); white-space:nowrap; }
.demo__badge--live{ background:var(--hp-btn); color:#fff; }
.demo__badge--wacht{ background:#fbefe1; color:#9a4d0c; }
.demo__rij{ display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid rgba(16,32,16,.07); color:var(--hp-ink-soft); }
.demo__rij b{ color:var(--hp-ink); font-weight:700; }
.demo__seg{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:6px 0 10px; }
.demo__seg span{ text-align:center; padding:9px 4px; border-radius:10px; border:1px solid rgba(16,32,16,.11); font-weight:600; font-size:13px; color:var(--hp-ink-soft); }
.demo__seg span.is-aan{ border-color:var(--hp-btn); background:#eff7ec; color:var(--hp-ink); }
.demo__label{ font:500 11px/1 var(--hp-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--hp-ink-soft); margin:10px 0 6px; display:block; }
.demo__knop{ display:flex; align-items:center; justify-content:center; margin-top:14px; padding:12px; border-radius:10px; background:var(--hp-btn); color:#fff; font-weight:700; }
.demo__ad{ position:relative; aspect-ratio:640/600; border-radius:12px; overflow:hidden; color:#fff;
  background:radial-gradient(90% 70% at 20% 10%,#24502d 0%,#16351f 60%); display:flex; flex-direction:column; justify-content:center;
  padding:10% 9%; gap:6%; margin-bottom:12px; }
.demo__ad strong{ font-size:clamp(22px,2.4vw,30px); line-height:1.05; letter-spacing:-.02em; }
.demo__ad span{ font-size:14px; color:#cfe7cf; }
.demo__ad i{ position:absolute; right:9%; bottom:9%; width:26%; aspect-ratio:1; border-radius:50%; background:var(--hp-orange); opacity:.95; }
.demo__regels{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.demo__regels li{ display:flex; gap:8px; font-size:13.5px; color:var(--hp-ink-soft); }
.demo__regels li::before{ content:"✓"; color:var(--hp-green-deep); font-weight:800; }
.demo__bestand{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; border:1px dashed rgba(16,32,16,.22); margin-bottom:12px; font-size:13px; }
.demo__bestand b{ color:var(--hp-ink); }
.demo__acties{ display:flex; gap:8px; margin-top:14px; }
.demo__acties span{ flex:1; text-align:center; padding:10px; border-radius:10px; border:1px solid rgba(16,32,16,.14); font-weight:600; font-size:13px; }
.demo__acties span.is-vol{ background:var(--hp-btn); border-color:var(--hp-btn); color:#fff; }
.demo__mono{ font-family:var(--hp-mono); font-size:12px; color:var(--hp-ink); }

.zw-cta{ margin-top:clamp(52px,6vw,80px); padding:clamp(28px,4vw,44px); border-radius:24px; display:grid; gap:20px; align-items:center;
  border:1px solid var(--hp-line);
  background:
    radial-gradient(70% 120% at 100% 0%, rgba(224,120,32,.08), transparent 60%),
    linear-gradient(135deg,#f8f1e5 0%,#f3efe4 100%);
  box-shadow:0 30px 60px -48px rgba(30,50,20,.5); }
@media (min-width:900px){ .zw-cta{ grid-template-columns:1fr auto; gap:32px; } }
.zw-cta__h{ font-size:clamp(24px,2.6vw,32px); font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--hp-ink); margin:0 0 8px; }
.zw-cta p{ margin:0; color:var(--hp-ink-soft); line-height:1.6; }
.zw-cta .hp-link{ display:inline-flex; align-items:center; min-height:44px; }
.zw-cta__knoppen{ display:flex; flex-wrap:wrap; gap:12px; }
.zw-cta__knoppen .hp-btn{ min-height:52px; padding:0 24px; font-size:15.5px; }
.hp-btn--licht{ background:#fff; color:var(--hp-ink); border:1px solid rgba(16,32,16,.18); }
.hp-btn--licht:hover{ background:#f3f7ef; transform:translateY(-1px); }

@media (max-width:899px){
  .hp-zw{ padding:60px 0; }
  .hp-sectiekop{ margin-bottom:24px; }
  .zw__stap:not(.is-actief) .zw__tekst{ display:none; }
  .zw__stap:not(.is-actief) .zw__nr{ grid-row:auto; }
  .zw__knop{ padding:16px 18px; gap:4px 14px; }
  .zw__paneel{ padding:0 18px 18px; }
  .demo{ padding:16px; }
  .demo__ad{ aspect-ratio:auto; min-height:150px; max-height:190px; }
  .zw-cta__knoppen .hp-btn{ flex:1 1 100%; }
}

.rv{ position:relative; z-index:2; margin-top:clamp(26px,3vw,36px); }
.rv__baan{ position:relative; overflow:hidden; padding:4px 0; outline:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) 3%,rgba(0,0,0,.55) 8%,#000 15%,#000 85%,rgba(0,0,0,.55) 92%,rgba(0,0,0,.12) 97%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.12) 3%,rgba(0,0,0,.55) 8%,#000 15%,#000 85%,rgba(0,0,0,.55) 92%,rgba(0,0,0,.12) 97%,transparent 100%); }
.rv__baan:focus-visible{ outline:3px solid #e07820; outline-offset:-3px; border-radius:16px; }
.rv__rij{ list-style:none; margin:0; padding:0 0 0 24px; display:flex; align-items:center; gap:14px; width:max-content; will-change:transform; }
.rv__kaart{ flex:none; width:max-content; max-width:370px; }
.rv__kaart figure{ margin:0; display:flex; flex-direction:column; justify-content:center; gap:7px;
  padding:15px 22px 14px; border-radius:18px; color:#f3f1ea;
  background:linear-gradient(170deg,#132313 0%,#0e1a0e 100%);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 16px 30px -22px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04); }
.rv__kaart blockquote{ margin:0; }
.rv__kaart p{ margin:0; color:rgba(255,255,255,.92); font-size:15.5px; line-height:1.5; font-weight:500; letter-spacing:-.003em; }
.rv__kaart figcaption{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:#a9dba9; }
.rv__kaart figcaption::before{ content:""; width:12px; height:2px; border-radius:2px; background:#e07820; opacity:.85; }
.rv__bediening{ display:flex; justify-content:center; gap:10px; margin-top:12px; }
.rv__knop{ width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:transparent;
  color:rgba(255,255,255,.85); display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background .25s ease,border-color .25s ease; }
.rv__knop:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.34); }
.rv__knop:focus-visible{ outline:3px solid #e07820; outline-offset:3px; }
.rv__knop--pauze .rv__ic-speel{ display:none; }
.rv.is-gepauzeerd .rv__ic-pauze{ display:none; }
.rv.is-gepauzeerd .rv__ic-speel{ display:block; }
.rv:not(.rv--loop) .rv__baan{ overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 24px;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; overscroll-behavior-x:contain; }
.rv:not(.rv--loop) .rv__baan::-webkit-scrollbar{ display:none; }
.rv:not(.rv--loop) .rv__rij{ padding-right:24px; }
.rv:not(.rv--loop) .rv__kaart{ scroll-snap-align:start; }
.rv:not(.rv--loop) .rv__knop--pauze{ display:none; }
@media (max-width:700px){
  .rv{ margin-top:22px; }
  .rv__rij{ padding-left:20px; gap:10px; }
  .rv:not(.rv--loop) .rv__rij{ padding-right:20px; }
  .rv:not(.rv--loop) .rv__baan{ scroll-padding:0 20px; }
  .rv__kaart{ width:calc(100vw - 88px); max-width:330px; }
  .rv__kaart figure{ padding:14px 18px 13px; }
  .rv__bediening{ margin-top:10px; }
  .rv__baan{ -webkit-mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent 100%);
                     mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent 100%); }
}

.hp .hp-zw{ margin-top:clamp(-52px,-4vw,-28px); padding-top:calc(clamp(88px,10vw,136px) + clamp(28px,4vw,52px)); }

.hp .hp-loc{ padding:clamp(64px,8vw,104px) 0; }
.hp-loc__kaartblok{ display:flex; flex-direction:column; gap:12px; }
.hp-loc__map--statisch{ margin:0; aspect-ratio:16/11; background:#f3ecdf; }
.hp-loc__map--statisch img{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.hp-loc__mastlabel{ position:absolute; left:50%; top:calc(50% - 58px); transform:translateX(-50%); padding:7px 13px; border-radius:999px;
  background:#fffdf9; border:1px solid #e1d6c2; box-shadow:0 6px 16px -8px rgba(16,40,16,.35);
  font-size:13px; font-weight:700; color:#0a1f0a; white-space:nowrap; pointer-events:none; }
.hp-loc__onder{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 16px; }
.hp-loc__maps{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:999px;
  background:#fff; border:1px solid rgba(33,128,41,.3); color:var(--hp-green-deep); font-weight:700; font-size:15px; text-decoration:none;
  transition:background .25s ease,border-color .25s ease; }
.hp-loc__maps:hover{ background:#f1f7ee; border-color:rgba(33,128,41,.55); }
.hp-loc__maps:focus-visible,.hp-loc__bron a:focus-visible{ outline:3px solid var(--hp-orange); outline-offset:3px; }
.hp-loc__bron{ font-size:12.5px; color:var(--hp-ink-soft); }
.hp-loc__bron a{ color:inherit; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:600px){
  .hp-loc__map.hp-loc__map--statisch{ height:auto; aspect-ratio:4/3; }
  .hp-loc__mastlabel{ top:calc(50% - 46px); font-size:12px; padding:5px 10px; }
}

@media (prefers-reduced-motion: reduce){
  .wiel__kaart::after,.wiel__cap,.wiel__voortgang span,.wiel__knop,.zw__stap,.zw__stap::before,.zw__nr{ transition:none !important; }
  .zw__scherm .demo.is-wissel,.zw__stap .demo.is-wissel{ animation:none !important; }
  .rv__knop,.hp-loc__maps{ transition:none !important; }
}

.rv--loop .rv__baan{ touch-action:pan-y; }
.rv--loop.is-slepen .rv__baan{ cursor:grabbing; -webkit-user-select:none; user-select:none; }
