/* jes.tdgdigital.com — "Lichten aan." Hun eigen JES-lichtletters als motief: de gloeilamp. Stardom + Host Grotesk. */
@font-face{font-family:"Stardom";src:url(/fonts/display.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Host";src:url(/fonts/tekst.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Host";src:url(/fonts/tekst-i.woff2) format("woff2");font-weight:300 800;font-style:italic;font-display:swap}
:root{
  --nacht:#0d0d0c;--wand:#1d1c1b;--wand2:#2a2826;--linnen:#f3eee5;--krijt:#e6ddcc;--inkt:#151413;--grijs:#6d665d;
  --bamboe:#14291a;--bamboe2:#1d3b25;--blad:#a7c174;--lamp:#f3c27b;--lampfel:#ffe6b3;--gloed:rgba(255,196,110,.55);
  --g:clamp(1.1rem,4.2vw,3.75rem);--r:1.1rem;
  --kop1:clamp(2.7rem,7.4vw,7rem);--kop2:clamp(2.25rem,5.2vw,5.1rem);--kop3:clamp(1.35rem,1.9vw,1.8rem);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
/* Brede schermen (Joost 2026-10-10): het 1440-ontwerp schaalt als geheel mee. */
@media (min-width:1440px){html{font-size:clamp(100%,1.1111vw,200%)}:where(button,input,select,textarea){font-size:inherit}}
body{margin:0;background:var(--linnen);color:var(--inkt);font:400 1.0625rem/1.6 "Host",system-ui,sans-serif;font-feature-settings:"ss01"}
::selection{background:var(--lamp);color:var(--nacht)}
img,video,svg,canvas{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
p,li,dd,blockquote{hyphens:auto;overflow-wrap:break-word}
h1,h2,h3{hyphens:manual;overflow-wrap:normal;text-wrap:balance;margin:0}
h1,h2,.vijf-kop{font:400 var(--kop2)/.98 "Stardom",Georgia,serif;letter-spacing:-.012em}
h1{font-size:var(--kop1)}
h3{font:650 var(--kop3)/1.2 "Host",sans-serif;letter-spacing:-.01em}
p{margin:0 0 1em}
.lead{font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.5}
.klein{font-size:.9rem;opacity:.75}
:focus-visible{outline:2px solid var(--lamp);outline-offset:3px;border-radius:4px}
a[href^=mailto],a[href^=tel]{hyphens:none;overflow-wrap:anywhere}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--linnen);padding:.5rem 1rem}
.wrap{width:calc(100% - 2*var(--g));max-width:90rem;margin-inline:auto}
section{position:relative}
.sectie-kop{display:grid;gap:1rem;margin-bottom:clamp(2rem,4vw,3.5rem);max-width:58rem}
.sectie-kop .lead{opacity:.8;margin:0}
.twee{display:grid;gap:clamp(1.5rem,4vw,5rem);grid-template-columns:1fr}
@media (min-width:900px){.twee{grid-template-columns:5fr 7fr}}
.leeskolom{max-width:44rem}

/* ---------- lamp-motief ---------- */
.lamp,.lampen i{display:inline-block;width:.62em;height:.62em;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff7e0 0 18%,var(--lamp) 45%,#b77a2c 100%);
  box-shadow:0 0 .35em .08em var(--gloed),0 0 1.2em .2em rgba(255,190,100,.25);vertical-align:.04em}
.lampen{display:inline-flex;gap:.18em;vertical-align:baseline;white-space:nowrap}
.lampen i{background:#4a4540;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:background .25s,box-shadow .25s}
.lampen.is-aan i{background:radial-gradient(circle at 40% 35%,#fff7e0 0 18%,var(--lamp) 45%,#b77a2c 100%);box-shadow:0 0 .35em .08em var(--gloed),0 0 1.2em .2em rgba(255,190,100,.25)}
.lampen.is-aan i:nth-child(2){transition-delay:.12s}.lampen.is-aan i:nth-child(3){transition-delay:.24s}.lampen.is-aan i:nth-child(4){transition-delay:.36s}.lampen.is-aan i:nth-child(5){transition-delay:.48s}
.lampen-groot{font-size:.62em;gap:.22em;vertical-align:.12em}
.lampen-klein{font-size:.8rem;margin-bottom:1rem}

/* ---------- knoppen ---------- */
.knoppen{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.knop{display:inline-flex;align-items:center;gap:.6em;min-height:3rem;padding:.8rem 1.35rem;border-radius:999px;font:600 1rem/1 "Host",sans-serif;text-decoration:none;
  transition:transform .3s var(--ease),background .3s,box-shadow .3s;white-space:nowrap}
.knop:hover{transform:translateY(-2px)}
.knop-lamp{background:var(--lamp);color:var(--nacht);box-shadow:0 0 0 0 var(--gloed)}
.knop-lamp:hover{box-shadow:0 .6rem 2rem -.6rem var(--gloed)}
.knop-lijn{border:1px solid currentColor;color:inherit}
.knop-inkt{background:var(--nacht);color:var(--linnen)}
.knop .lamp{font-size:.8rem}
.pijl{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15em}
.pijl::after{content:" →"}
.rond{width:2.9rem;height:2.9rem;border-radius:50%;border:1px solid currentColor;background:none;color:inherit;font:400 1.5rem/1 "Host";cursor:pointer;display:grid;place-items:center}
.rond:hover{background:rgba(127,127,127,.15)}
.vinkjes{list-style:none;padding:0;margin:0 0 1.5rem}
.vinkjes li{position:relative;padding:.55rem 0 .55rem 1.6rem;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.vinkjes li::before{content:"";position:absolute;left:0;top:1.05rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--lamp);box-shadow:0 0 .5rem var(--gloed)}

/* ---------- kop ---------- */
.kop{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.8rem var(--g);color:var(--linnen);
  transition:background .4s,backdrop-filter .4s,transform .45s var(--ease)}
.kop.is-vast{background:rgba(13,13,12,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.kop.is-weg{transform:translateY(-110%)}
.kop-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}
.kop-logo .logo{width:3rem;height:3rem}
.kop-logo span{font:400 1.05rem/1 "Stardom";letter-spacing:.01em;opacity:.9}
.logo-vlak{fill:#fff}.logo-inkt{fill:var(--nacht)}
.kop-nav{display:none;margin-left:auto;gap:1.6rem}
.kop-nav a{text-decoration:none;font-weight:500;font-size:.98rem;opacity:.85;padding:.4rem 0;position:relative}
.kop-nav a:hover,.kop-nav a[aria-current]{opacity:1}
.kop-nav a[aria-current]::after{content:"";position:absolute;left:50%;bottom:-.35rem;width:.35rem;height:.35rem;margin-left:-.175rem;border-radius:50%;background:var(--lamp);box-shadow:0 0 .5rem var(--gloed)}
.kop-proef{margin-left:auto;min-height:2.75rem;padding:.6rem 1.1rem}
.kop-menu{flex-shrink:0;display:flex;align-items:center;gap:.6rem;min-width:2.9rem;height:2.9rem;padding:0 .9rem;border-radius:999px;border:1px solid rgba(243,238,229,.4);background:none;color:inherit;cursor:pointer;flex-direction:row}
.kop-menu span{display:block;width:1.1rem;height:1.5px;background:currentColor;position:absolute;opacity:0}
.kop-menu b{font-weight:600;font-size:.95rem}
@media (min-width:1180px){.kop-nav{display:flex}.kop-proef{margin-left:0}.kop-menu{display:none}}
@media (max-width:560px){.kop-logo span{display:none}.kop-proef{padding:.55rem .9rem;font-size:.92rem}.kop-menu{padding:0 .8rem}}
.lade{position:fixed;inset:0;z-index:49;background:var(--nacht);color:var(--linnen);padding:6.5rem var(--g) 2rem;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;max-height:100dvh}
.lade nav{display:grid;gap:.2rem}
.lade nav a{font:400 clamp(2rem,7vw,3.4rem)/1.15 "Stardom";text-decoration:none;padding:.2rem 0}
.lade-onder{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-top:2rem}
body.lade-open{overflow:hidden}

/* ---------- het toneel (hero) ---------- */
.toneel{height:100svh;min-height:22rem;max-height:62rem;background:var(--nacht);color:var(--linnen);overflow:hidden;isolation:isolate}
.toneel-plaat{position:absolute;inset:0}
.toneel-foto,.toneel-doek{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:49% 18%}
.toneel-foto{filter:brightness(.55)}
.toneel.is-klaar .toneel-foto{visibility:hidden}
.toneel-doek{opacity:0;transition:opacity .6s}
.toneel.is-klaar .toneel-doek{opacity:1}
.toneel::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(13,13,12,.92));pointer-events:none;z-index:1}
.toneel::before{content:"";position:absolute;inset:0 0 auto;height:22%;background:linear-gradient(rgba(13,13,12,.65),transparent);pointer-events:none;z-index:1}
.toneel-letters{position:absolute;z-index:2;background:none;border:0;cursor:pointer;border-radius:1rem;left:var(--lx,30%);top:var(--ly,8%);width:var(--lw,40%);height:var(--lh,25%)}
.toneel-letters:focus-visible{outline-offset:-2px}
.toneel-onder{position:absolute;z-index:3;inset:auto var(--g) clamp(1.2rem,3.5vh,2.5rem);display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.toneel-zin{hyphens:manual;margin:0;max-width:26rem;font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.45;opacity:0;transform:translateY(.6rem);transition:opacity 1s 0s,transform 1s var(--ease)}
.toneel-zin b{font:400 1.3em "Stardom";margin-right:.25em;color:var(--lamp)}
.toneel-hint{margin:0;font-size:.85rem;opacity:0;transition:opacity 1s;letter-spacing:.02em}
.toneel-binnen{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:600;padding:.75rem 0;opacity:0;transition:opacity 1s}
.toneel.is-aan .toneel-zin{opacity:.92;transform:none;transition-delay:.2s}
.toneel.is-aan .toneel-hint{opacity:.55;transition-delay:1.2s}
.toneel.is-aan .toneel-binnen{opacity:1;transition-delay:.6s}
@media (max-width:700px){.toneel-hint{display:none}.toneel-onder{flex-direction:column;align-items:flex-start;gap:.4rem}}

/* ---------- vijf sterren ---------- */
.vijf{padding:clamp(5rem,11vw,10rem) 0 clamp(4rem,8vw,7rem)}
.vijf-kop{font-size:clamp(2.6rem,7.2vw,7.4rem);max-width:15ch;margin-bottom:clamp(2.5rem,6vw,5rem)}
.vijf-grid{display:grid;gap:clamp(2rem,5vw,6rem)}
@media (min-width:900px){.vijf-grid{grid-template-columns:6fr 5fr}}
.grootboek{margin:0;border-top:1px solid rgba(21,20,19,.2)}
.grootboek div{display:grid;grid-template-columns:5.5rem 1fr;gap:1.2rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid rgba(21,20,19,.2)}
.grootboek dt{font:400 clamp(2.4rem,3.6vw,3.4rem)/1 "Stardom"}
.grootboek dd{margin:0;opacity:.82}

/* ---------- het pad ---------- */
.pad{background:var(--bamboe);color:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0}
.pad-grid{display:grid;gap:clamp(2.5rem,6vw,7rem);align-items:start}
@media (min-width:900px){.pad-grid{grid-template-columns:5fr 7fr}}
.pad-film{margin:0;position:relative;border-radius:999px 999px var(--r) var(--r);overflow:hidden;max-width:32rem;aspect-ratio:9/14;background:#0b1a10;box-shadow:0 0 0 1px rgba(167,193,116,.25)}
@media (min-width:900px){.pad-film{position:sticky;top:6rem}}
.pad-film .film{width:100%;height:100%;object-fit:cover}
.pad-citaat{margin:0 0 clamp(2.5rem,5vw,4.5rem)}
.pad-citaat p{font:400 clamp(1.8rem,3.4vw,3.2rem)/1.12 "Stardom";margin:0 0 1rem}
.pad-citaat footer{color:var(--blad);font-weight:600}
.pad h2{margin-bottom:.8rem}
.pad .lead{opacity:.85}
.lijst{list-style:none;padding:0;margin:0}
.lijst li{padding:1.4rem 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.lijst h3{margin-bottom:.45rem}
.lijst p{margin:0;opacity:.8;max-width:42rem}
.lijst-pad li:last-child{border-bottom:1px solid rgba(243,238,229,.18)}
.lijst-drie,.lijst-zes{display:grid;gap:0 clamp(1.5rem,3vw,3rem)}
@media (min-width:760px){.lijst-drie{grid-template-columns:repeat(3,1fr)}.lijst-zes{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.lijst-zes{grid-template-columns:repeat(3,1fr)}}

/* ---------- programma: affichewand ---------- */
.programma{background:var(--nacht);color:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0}
.affiches{display:grid;gap:clamp(.7rem,1.3vw,1.1rem);grid-template-columns:1fr}
.affiche{position:relative;display:block;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--linnen);min-height:24rem;background:var(--wand)}
.affiche-beeld{position:absolute;inset:0}
.affiche-beeld img,.affiche-beeld video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.affiche:hover .affiche-beeld img,.affiche:hover .affiche-beeld video{transform:scale(1.04)}
.affiche::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,10,9,.88));pointer-events:none}
.affiche-tekst{position:absolute;z-index:1;inset:auto 0 0;padding:clamp(1.2rem,2.2vw,2rem);display:grid;gap:.35rem}
.affiche-titel{font:400 clamp(2rem,3.6vw,3.4rem)/1 "Stardom"}
.affiche-zin{opacity:.85;max-width:28rem}
.affiche-prijs{font-size:.9rem;color:var(--lamp);font-weight:600;display:flex;align-items:center;gap:.5rem}
.affiche-prijs::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--lamp);box-shadow:0 0 .5rem var(--gloed)}
@media (min-width:700px){.affiches{grid-template-columns:repeat(2,1fr)}.p-groot{grid-column:span 2}}
@media (min-width:1100px){.affiches{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(13rem,17vw,18rem)}
  .affiche{min-height:0}.p-groot{grid-column:span 2;grid-row:span 2}.p-hoog{grid-column:span 2;grid-row:span 2}.p-breed{grid-column:span 2}.p-staand{grid-row:span 2}}
.p-jef .affiche-beeld img{object-position:50% 35%}
.p-staand .affiche-beeld img,.p-staand .affiche-beeld video{object-position:50% 30%}

/* ---------- van 5 naar 8 ---------- */
.cijfer{background:var(--linnen);height:230vh}
.cijfer-plak{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.cijfer-grid{display:grid;gap:clamp(1.5rem,4vw,5rem);align-items:center}
@media (min-width:900px){.cijfer-grid{grid-template-columns:5fr 6fr}}
.cijfer-beeld{display:grid;justify-items:start;gap:1.5rem}
.cijfer-rol{height:1em;overflow:hidden;font:400 clamp(11rem,30vw,26rem)/1 "Stardom";line-height:1}
.cijfer-rol span{display:block;height:1em;transform:translateY(calc(var(--p,0)*-300%));will-change:transform}
.cijfer-lampen{display:flex;gap:clamp(.35rem,.8vw,.7rem);font-size:clamp(1rem,1.6vw,1.4rem)}
.cijfer-lampen i{width:1em;height:1em;border-radius:50%;background:#d6cdbd;transition:background .3s,box-shadow .3s}
.cijfer-lampen i.is-aan{background:radial-gradient(circle at 40% 35%,#fff7e0 0 18%,var(--lamp) 45%,#b77a2c 100%);box-shadow:0 0 .5em .1em var(--gloed)}
.cijfer-vraag{font-weight:600;color:var(--grijs);margin-bottom:1rem}
.cijfer h2{margin-bottom:1.2rem}
@media (max-width:899px){.cijfer{height:200vh}.cijfer-rol{font-size:clamp(8rem,38vw,13rem)}.cijfer-grid{gap:.5rem}.cijfer-tekst .lead{font-size:1.05rem}}
@media (max-height:520px){.cijfer{height:auto}.cijfer-plak{position:relative;height:auto;padding:4rem 0}.cijfer-rol{font-size:8rem}}

/* ---------- mentor ---------- */
.mentor{background:var(--wand);color:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0}
.mentor-kop{display:grid;gap:1rem;max-width:52rem;margin-bottom:clamp(2rem,4vw,3rem)}
.mentor-kop .lead{opacity:.8;margin:0}
.zin{font:400 clamp(1.7rem,3.6vw,3.3rem)/1.25 "Stardom";margin-bottom:clamp(2rem,4vw,3.5rem);max-width:60rem}
.zin-keuze{position:relative;display:inline}
.zin-knop{font:inherit;color:var(--lamp);background:none;border:0;padding:0 .1em;cursor:pointer;text-align:left;border-bottom:2px dashed rgba(243,194,123,.6);display:inline;line-height:inherit}
.zin-knop i{display:inline-block;width:.45em;height:.45em;border-radius:50%;background:var(--lamp);box-shadow:0 0 .4em var(--gloed);margin-left:.25em;vertical-align:.12em}
.zin-lijst{position:absolute;z-index:5;left:0;top:calc(100% + .6rem);margin:0;padding:.5rem;list-style:none;background:var(--linnen);color:var(--inkt);border-radius:1rem;
  font:500 1.05rem/1.3 "Host";min-width:min(22rem,80vw);max-height:min(60vh,26rem);overflow-y:auto;box-shadow:0 1.5rem 3rem -1rem rgba(0,0,0,.6)}
.zin-lijst li{padding:.75rem .9rem;border-radius:.6rem;cursor:pointer}
.zin-lijst li:hover,.zin-lijst li.is-focus{background:var(--krijt)}
.zin-lijst li[aria-selected=true]{font-weight:700}
.gezichten{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,2vw,1.6rem)}
@media (min-width:600px){.gezichten{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1000px){.gezichten{grid-template-columns:repeat(6,1fr)}}
.gezicht{display:grid;justify-items:center;gap:.6rem;width:100%;background:none;border:0;color:inherit;cursor:pointer;padding:0;font:inherit}
.gezicht-foto{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative;transition:filter .6s,opacity .6s,transform .6s var(--ease),box-shadow .6s;
  box-shadow:0 0 0 2px rgba(243,238,229,.08)}
.gezicht-foto img{width:100%;height:100%;object-fit:cover}
.gezicht-naam{font-weight:600;font-size:.98rem;transition:opacity .6s}
.gezichten.is-gekozen .gezicht:not(.is-match) .gezicht-foto{filter:grayscale(1) brightness(.45);opacity:.6;transform:scale(.92)}
.gezichten.is-gekozen .gezicht:not(.is-match) .gezicht-naam{opacity:.4}
.gezicht.is-match .gezicht-foto{box-shadow:0 0 0 3px var(--lamp),0 0 2.2rem .2rem rgba(243,194,123,.45)}
.gezicht:hover .gezicht-foto{transform:scale(1.03)}
.match{margin-top:clamp(2rem,4vw,3rem);display:grid;gap:.2rem;min-height:6rem}
.match p{margin:0;padding:.85rem 0;border-top:1px solid rgba(243,238,229,.14);display:grid;gap:.15rem}
@media (min-width:800px){.match p{grid-template-columns:14rem 1fr;gap:1.5rem}}
.match b{font:400 1.45rem/1.2 "Stardom";color:var(--lamp)}
.match span{opacity:.85}
.mentor-noot{margin-top:1.5rem}
.profiel{border:0;padding:0;border-radius:1.4rem;max-width:min(64rem,calc(100% - 2rem));width:100%;max-height:calc(100dvh - 2rem);overflow-y:auto;background:var(--linnen);color:var(--inkt)}
.profiel::backdrop{background:rgba(8,8,7,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.profiel-in{display:grid;position:relative}
@media (min-width:800px){.profiel-in{grid-template-columns:2fr 3fr}}
.profiel-foto{background:var(--bamboe)}
.profiel-foto img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.profiel-tekst{padding:clamp(1.5rem,3vw,2.5rem)}
.profiel-tekst h3{font:400 clamp(2rem,3.5vw,3rem)/1 "Stardom";margin-bottom:1rem}
.profiel-rol{color:var(--grijs);font-weight:600;margin-bottom:.4rem}
.profiel-dicht{position:absolute;top:.8rem;right:.8rem;z-index:2;width:2.8rem;height:2.8rem;border-radius:50%;border:0;background:var(--nacht);color:var(--linnen);font-size:1.6rem;cursor:pointer}

/* ---------- lidmaatschapskaart ---------- */
.lid{background:var(--nacht);color:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0;overflow:hidden}
.lid .lead{opacity:.8}
.lid-grid{display:grid;gap:clamp(2.5rem,5vw,6rem);align-items:center}
@media (min-width:980px){.lid-grid{grid-template-columns:6fr 5fr}}
.lid-podium{display:grid;gap:1.6rem;justify-items:center;perspective:1400px}
.pas{width:min(100%,34rem);aspect-ratio:1.586;border-radius:1.4rem;cursor:grab;touch-action:pan-y;outline-offset:6px;
  --rx:0deg;--ry:0deg;--gx:30%;--gy:20%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s var(--ease)}
.pas.is-grijp{transition:none;cursor:grabbing}
.pas-in{position:absolute;inset:0;border-radius:inherit;overflow:hidden;padding:clamp(1rem,3vw,1.8rem);display:grid;grid-template-rows:auto 1fr auto;
  background:var(--metaal);color:var(--opdruk);box-shadow:0 2.5rem 4rem -1.5rem rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.18);transition:background .6s,color .6s}
.pas-glans{position:absolute;inset:-20%;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.55),rgba(255,255,255,0) 38%),
  repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0 2px,transparent 2px 5px);mix-blend-mode:soft-light;pointer-events:none}
.pas-logo{position:absolute;right:-12%;top:50%;width:62%;height:auto;transform:translateY(-50%);opacity:.16}
.pas-logo .logo-vlak{fill:none}.pas-logo .logo-inkt{fill:currentColor}
.pas-merk{font:400 clamp(1.1rem,2.4vw,1.5rem)/1 "Stardom";letter-spacing:.02em}
.pas-naam{align-self:end;font:400 clamp(1.5rem,4.4vw,2.6rem)/1.05 "Stardom";text-shadow:0 1px 0 rgba(255,255,255,.25),0 -1px 0 rgba(0,0,0,.35);overflow-wrap:anywhere;padding-bottom:.6rem}
.pas-onder{display:flex;justify-content:space-between;font:600 .78rem/1 "Host";letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.lid-grid[data-tier=bronze]{--metaal:linear-gradient(135deg,#6d4426,#c48a55 38%,#8a5730 62%,#d9a26b);--opdruk:#2a170a}
.lid-grid[data-tier=silver]{--metaal:linear-gradient(135deg,#8d9196,#e3e5e8 36%,#a5a9ae 60%,#f1f2f3);--opdruk:#24272b}
.lid-grid[data-tier=essential]{--metaal:linear-gradient(135deg,#d9cfbd,#f5efe4 40%,#e1d6c3 65%,#fbf7ef);--opdruk:#2b2620}
.lid-grid[data-tier=premium]{--metaal:linear-gradient(135deg,#2b2c2e,#55575b 38%,#323336 62%,#6a6c70);--opdruk:#ece7de}
.lid-grid[data-tier=elite]{--metaal:linear-gradient(135deg,#050505,#1f1e1c 40%,#0b0b0a 62%,#2a2722);--opdruk:var(--lamp)}
.pas-veld{display:grid;gap:.4rem;width:min(100%,34rem);font-size:.9rem;opacity:.9}
.pas-veld input{font:500 1.05rem "Host";padding:.85rem 1rem;border-radius:.8rem;border:1px solid rgba(243,238,229,.25);background:rgba(243,238,229,.06);color:var(--linnen);min-height:3rem}
.pas-veld input::placeholder{color:rgba(243,238,229,.45)}
.lid-tabs{display:inline-flex;padding:.3rem;border-radius:999px;background:rgba(243,238,229,.08);margin-bottom:1.2rem}
.lid-tabs button{font:600 .98rem "Host";border:0;background:none;color:inherit;padding:.7rem 1.2rem;border-radius:999px;cursor:pointer;min-height:2.75rem}
.lid-tabs button[aria-selected=true]{background:var(--linnen);color:var(--nacht)}
.lid-sub{opacity:.75;margin-bottom:1.2rem}
.lid-tiers{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.lid-tier{display:grid;gap:.15rem;text-align:left;padding:.85rem 1.1rem;border-radius:1rem;border:1px solid rgba(243,238,229,.22);background:none;color:inherit;cursor:pointer;min-width:8.5rem;font:inherit}
.lid-tier b{font:400 1.45rem/1.1 "Stardom"}
.lid-tier span{font-size:.88rem;opacity:.75}
.lid-tier[aria-checked=true]{border-color:var(--lamp);box-shadow:inset 0 0 0 1px var(--lamp)}
.lid-tier small{color:var(--lamp);font-weight:700;font-size:.72rem;letter-spacing:.06em}
.lid-detail .prijs{font:400 clamp(2.6rem,4.5vw,3.8rem)/1 "Stardom";margin-bottom:.4rem}
.lid-detail .prijs small{font:500 1rem "Host";opacity:.7;margin-left:.3rem}
.lid-detail p{opacity:.85}

/* ---------- reviews ---------- */
.gasten{background:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0}
.gasten-grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
.gasten-kop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem}
.gasten-kop h2{max-width:14ch}
.gasten-nav{display:flex;align-items:center;gap:1rem;font-variant-numeric:tabular-nums}
.gasten-buhne{min-height:clamp(14rem,24vw,20rem);touch-action:pan-y}
.review{margin:0;animation:inkomen .7s var(--ease)}
.review p,.pad-citaat p,.citaten p,.zin{hyphens:manual}
.review p{font:400 clamp(1.6rem,3.1vw,2.9rem)/1.18 "Stardom";margin:0 0 1.2rem;max-width:50rem}
.review footer{font-weight:600;display:flex;align-items:center;gap:.6rem}
.review footer::before{content:"";width:2rem;height:1px;background:currentColor}
@keyframes inkomen{from{opacity:0;transform:translateY(.8rem)}}
.gasten-namen{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.2rem .3rem;border-top:1px solid rgba(21,20,19,.15);padding-top:1.2rem}
.gasten-namen button{font:500 .92rem "Host";background:none;border:0;color:var(--grijs);padding:.55rem .55rem;cursor:pointer;border-radius:.5rem;min-height:2.6rem}
.gasten-namen button[aria-current]{color:var(--inkt);background:var(--krijt)}

/* ---------- HYROX-band ---------- */
.hyrox-band{background:var(--lamp);color:var(--nacht);padding:clamp(3.5rem,7vw,6.5rem) 0}
.hyrox-grid{display:grid;gap:clamp(2rem,5vw,5rem)}
@media (min-width:900px){.hyrox-grid{grid-template-columns:7fr 5fr;align-items:end}}
.hyrox-label{font-weight:700;font-size:.92rem;margin-bottom:1rem}
.hyrox-band h2{margin-bottom:1rem}
.hyrox-telling{font:400 clamp(1.5rem,2.6vw,2.3rem)/1.2 "Stardom";margin-bottom:1rem}
.hyrox-rooster{background:var(--nacht);color:var(--linnen);border-radius:var(--r);padding:clamp(1.3rem,2.5vw,2rem)}
.hyrox-rooster h3{margin-bottom:.8rem}
.hyrox-rooster ul{list-style:none;padding:0;margin:0 0 1rem}
.hyrox-rooster li{display:grid;grid-template-columns:5.5rem 1fr;gap:.1rem 1rem;padding:.75rem 0;border-top:1px solid rgba(243,238,229,.15)}
.hyrox-rooster li span:last-child{grid-column:2;opacity:.7;font-size:.92rem}
.hyrox-volgende{color:var(--lamp);font-weight:600}
.hyrox-rooster .knop-inkt{background:var(--linnen);color:var(--nacht)}

/* ---------- contact ---------- */
.contact{background:var(--bamboe2);color:var(--linnen);padding:clamp(4.5rem,9vw,9rem) 0}
.contact-grid{display:grid;gap:clamp(2.5rem,5vw,6rem);align-items:center}
@media (min-width:900px){.contact-grid{grid-template-columns:6fr 5fr}}
.contact h2{margin-bottom:1.2rem}
.contact .lead{opacity:.9}
.contact-lijst{margin:2.5rem 0 0;display:grid;gap:0}
.contact-lijst div{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.8rem 0;border-top:1px solid rgba(243,238,229,.16)}
.contact-lijst dt{color:var(--blad);font-weight:600}.contact-lijst dd{margin:0}
.contact-beeld{margin:0}
.contact-beeld img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;object-position:45% 50%}
.contact-beeld figcaption{font-size:.9rem;opacity:.75;margin-top:.8rem}
.contact-kort{text-align:left}
.contact-kort .wrap{max-width:60rem;margin-left:max(var(--g),calc((100% - 90rem)/2))}

/* ---------- voet ---------- */
.voet{background:var(--nacht);color:var(--linnen);padding:clamp(3.5rem,7vw,6rem) var(--g) 2rem}
.voet-boven{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}
.voet-logo .logo{width:4.5rem;height:4.5rem}
.voet-zin{font:400 clamp(1.8rem,3.5vw,3rem)/1.05 "Stardom";margin:0}
.voet-kolommen{display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:900px){.voet-kolommen{grid-template-columns:repeat(4,1fr)}}
.voet h2{font:600 .85rem "Host";letter-spacing:.06em;color:var(--lamp);margin-bottom:.9rem}
.voet ul{list-style:none;padding:0;margin:0;display:grid;gap:.15rem}
.voet ul a,.voet p a{text-decoration:none;opacity:.85;display:inline-block;padding:.35rem 0}
.voet ul a:hover{opacity:1;text-decoration:underline}
.voet address{font-style:normal;opacity:.85;margin-bottom:.5rem}
.voet-onder{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(243,238,229,.14);font-size:.85rem;opacity:.7}
.voet-onder a{padding:.4rem 0}

/* ---------- subpagina's ---------- */
.pkop{background:var(--nacht);color:var(--linnen);min-height:min(88svh,56rem);display:grid;align-items:end;overflow:hidden}
.pkop-media{position:absolute;inset:0}
.pkop-media img,.pkop-media video{width:100%;height:100%;object-fit:cover}
.pkop-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.55) 0,rgba(13,13,12,.1) 30%,rgba(13,13,12,.88) 100%)}
.pkop-tekst{position:relative;z-index:1;padding:8rem var(--g) clamp(2.5rem,6vw,4.5rem);max-width:min(100%,62rem)}
.pkop-tekst h1{margin-bottom:1rem}
.pkop-tekst .lead{opacity:.9;max-width:40rem}
.pkop-drie{color:var(--lamp);font-weight:600;letter-spacing:.04em}
@media (min-width:900px){
  .pkop-staand{grid-template-columns:7fr 5fr;align-items:center}
  .pkop-staand .pkop-media{position:relative;inset:auto;grid-column:2;grid-row:1;height:min(88svh,56rem)}
  .pkop-staand .pkop-media::after{background:linear-gradient(90deg,var(--nacht),transparent 30%)}
  .pkop-staand .pkop-tekst{grid-column:1;grid-row:1;align-self:end}}
.pkop-tekstonly{min-height:auto;padding:clamp(8rem,14vw,12rem) 0 clamp(3rem,6vw,5rem);display:block}
.pkop-tekstonly .lead{max-width:48rem;opacity:.85;margin-top:1.2rem}
.tekst{padding:clamp(4rem,8vw,8rem) 0}
.tekst h3{margin:2rem 0 .8rem}
.tekst-donker{background:var(--wand);color:var(--linnen)}
.tekst-beeld figure{margin:0}.tekst-beeld img{border-radius:var(--r)}
.pijlers{background:var(--krijt);padding:clamp(4rem,8vw,7rem) 0}
.wie{padding:clamp(4rem,8vw,7rem) 0}
.galerij{padding:clamp(4rem,8vw,7rem) 0;background:var(--linnen)}
.galerij h2{margin-bottom:2rem;font-size:clamp(2rem,4vw,3.6rem)}
.galerij-raster{display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr);grid-auto-flow:dense}
@media (min-width:900px){.galerij-raster{grid-template-columns:repeat(3,1fr)}}
.galerij-raster figure{margin:0;border-radius:.8rem;overflow:hidden;aspect-ratio:4/5}
.galerij-raster figure:nth-child(3n+1){aspect-ratio:auto;grid-row:span 2}
.galerij-raster img{width:100%;height:100%;object-fit:cover}
.vragen{padding:clamp(4rem,8vw,7rem) 0}
.faq details{border-top:1px solid rgba(21,20,19,.18)}
.faq details:last-child{border-bottom:1px solid rgba(21,20,19,.18)}
.faq summary{cursor:pointer;list-style:none;padding:1.2rem 2.5rem 1.2rem 0;font:600 1.15rem/1.35 "Host";position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.3rem;top:1.55rem;width:.7rem;height:.7rem;border-radius:50%;background:#cfc5b4;transition:background .3s,box-shadow .3s}
.faq details[open] summary::after{background:var(--lamp);box-shadow:0 0 .6rem var(--gloed)}
.faq p{padding-bottom:1.2rem;max-width:44rem;opacity:.85}
.citaten{display:grid;gap:1.5rem}
.citaten blockquote,.los-citaat{margin:0}
.citaten p,.los-citaat p{font:400 clamp(1.5rem,2.4vw,2.2rem)/1.2 "Stardom";margin-bottom:.6rem}
.citaten footer{color:var(--lamp);font-weight:600}
.stappen{padding:clamp(4rem,8vw,7rem) 0;background:var(--krijt)}
.stappen-lijst{list-style:none;padding:0;margin:0;display:grid;gap:2rem}
@media (min-width:860px){.stappen-lijst{grid-template-columns:repeat(3,1fr)}}
.stap-nr{display:block;font:400 clamp(4rem,7vw,6.5rem)/1 "Stardom";color:var(--grijs);margin-bottom:.6rem}
.stappen-lijst h3{margin-bottom:.6rem}
.stappen-noot{margin-top:2.5rem;max-width:46rem}
.doelen{background:var(--nacht);color:var(--linnen);padding:clamp(4.5rem,9vw,8rem) 0}
.doelen .lead{opacity:.8}
.doelen-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--g);scroll-padding:0 var(--g);cursor:grab}
.doelen-rail::-webkit-scrollbar{display:none}
.doelen-rail.is-grijp{cursor:grabbing;scroll-snap-type:none}
.doelen-rail ul{list-style:none;padding:0;margin:0;display:flex;gap:clamp(1rem,2vw,1.6rem);width:max-content}
.doel{scroll-snap-align:start;width:min(80vw,38rem);display:grid;gap:1rem}
.doel figure{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.doel img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.doel-nr{font:400 1.2rem "Stardom";color:var(--lamp)}
.doel h3{margin:.2rem 0 .5rem;font:400 clamp(1.6rem,2.6vw,2.3rem)/1.05 "Stardom"}
.doel p{opacity:.8}
.rail-nav{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;font-variant-numeric:tabular-nums}
.waarden{padding:clamp(4rem,8vw,7rem) 0;background:var(--krijt)}
.waarden-lijst{list-style:none;padding:0;margin:0;display:grid;gap:2.5rem}
@media (min-width:860px){.waarden-lijst{grid-template-columns:repeat(2,1fr);gap:3rem 4rem}}
.waarden-lijst h3{font:400 clamp(1.8rem,3vw,2.6rem)/1.05 "Stardom";margin-bottom:.7rem}
.waarden-lijst .lampen.is-aan i,.waarden-lijst .lampen i{background:radial-gradient(circle at 40% 35%,#fff7e0 0 18%,var(--lamp) 45%,#b77a2c 100%);box-shadow:0 0 .35em .08em var(--gloed)}
.cast-sectie{padding:clamp(4rem,8vw,7rem) 0;background:var(--linnen)}
.cast-sectie h2{margin-bottom:2.5rem}
.cast-raster{list-style:none;padding:0;margin:0;display:grid;gap:2.5rem 1.5rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.cast-raster{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.cast-raster{grid-template-columns:repeat(4,1fr)}}
.cast{display:grid;gap:.3rem;text-decoration:none}
.cast-foto{border-radius:50%;overflow:hidden;aspect-ratio:1;margin-bottom:.8rem;transition:transform .6s var(--ease),box-shadow .6s}
.cast:hover .cast-foto{transform:scale(1.03);box-shadow:0 0 0 3px var(--lamp),0 0 2rem var(--gloed)}
.cast-foto img{width:100%;height:100%;object-fit:cover}
.cast-naam{font:400 clamp(1.35rem,2vw,1.8rem)/1.1 "Stardom"}
.cast-rol{font-weight:600;font-size:.9rem;color:var(--grijs)}
.cast-kort{font-size:.95rem;opacity:.85}
.balie-kop{margin:4rem 0 1.2rem}
.balie{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
@media (min-width:760px){.balie{grid-template-columns:repeat(2,1fr)}}
.balie a{display:flex;align-items:center;gap:1rem;text-decoration:none}
.balie img,.balie .balie-logo{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover;flex-shrink:0}
.balie b{display:block}
.trainer{background:var(--bamboe);color:var(--linnen);padding:clamp(7rem,12vw,10rem) 0 3rem}
.trainer-grid{display:grid;gap:clamp(2rem,5vw,6rem);align-items:center}
@media (min-width:900px){.trainer-grid{grid-template-columns:5fr 7fr}}
.trainer-beeld{max-width:30rem;width:80%;justify-self:center}
.trainer-foto,.trainer-logo{width:100%;height:auto;border-radius:50%;aspect-ratio:1;object-fit:cover;box-shadow:0 0 0 3px var(--lamp),0 0 4rem rgba(243,194,123,.35)}
.trainer-rol{color:var(--blad);font-weight:600;margin-bottom:.6rem}
.trainer h1{font-size:clamp(2.6rem,6vw,5.6rem);margin-bottom:1.2rem}
.trainer-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.2rem;border-top:1px solid rgba(243,238,229,.18)}
.trainer-nav a{text-decoration:none;font-weight:600;padding:.5rem 0}
.juridisch{padding:3rem 0 6rem}
.juridisch h2{font:650 1.35rem/1.3 "Host";margin:2.2rem 0 .8rem}
.juridisch li{margin-bottom:.5rem}
.body-privacybeleid .pkop-tekstonly h1,.body-algemene-voorwaarden .pkop-tekstonly h1{font-size:clamp(2.3rem,5vw,4.5rem)}

/* film */
.film{background:#111;width:100%;height:100%;object-fit:cover}

/* inloop */
.in{opacity:0;transform:translateY(1.4rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.in.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .in{opacity:1;transform:none}.cijfer{height:auto}.cijfer-plak{position:relative;height:auto;padding:5rem 0}}
.body-trainer .contact{background:var(--wand)}
.waarden-lijst .lampen-klein{font-size:1.05rem}
.affiche-titel{text-shadow:0 2px 24px rgba(0,0,0,.55)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
