/* rot.tdgdigital.com — Rotary Club Nuenen. Huisstijl van de klant: Rotary-blauw + goud uit het logo. Alles in rem/vw. */
@font-face{font-family:"Sofia Cond";src:url(/fonts/sofia-cond.woff2) format("woff2");font-weight:600 900;font-display:swap}
@font-face{font-family:"Sofia";src:url(/fonts/sofia.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--blauw:#34498c;--nacht:#131b38;--goud:#e0a52a;--papier:#f5f1e8;--wit:#fff;--inkt:#141a2e;--rood:#e1321f;
  --rand:clamp(1.25rem,5vw,6rem);--blok:clamp(4.5rem,9vw,9.5rem);--kop-h:4.75rem;
  --tandvorm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20V13h11l5-13h28l5 13h11v7z'/%3E%3C/svg%3E")}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--kop-h)}
@media (min-width:1440px){html{font-size:clamp(100%,1.1111vw,200%)}}
body{margin:0;background:var(--papier);color:var(--inkt);font-family:"Sofia",system-ui,sans-serif;font-size:1.125rem;line-height:1.6;overflow-x:clip}
img,video,svg{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
p,li,dd{hyphens:manual;overflow-wrap:break-word}
p{margin:0 0 1.1em}
h1,h2,h3{hyphens:manual;overflow-wrap:normal;text-wrap:balance;margin:0;font-family:"Sofia Cond",sans-serif;font-weight:800;line-height:.95;letter-spacing:-.005em}
h3{font-size:1.6rem;line-height:1.05}
a{color:inherit}
ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:.19rem solid var(--goud);outline-offset:.19rem}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--wit);padding:.5rem 1rem}
.wiel{width:100%;height:auto;aspect-ratio:1}

.label{font-weight:700;font-size:1rem;margin:0 0 1.1rem;display:flex;align-items:center;gap:.55rem}
.label::before{content:"";flex:none;width:1.05em;height:1.05em;background:var(--goud);-webkit-mask:url(/img/wiel-masker.svg) center/contain no-repeat;mask:url(/img/wiel-masker.svg) center/contain no-repeat}
.h-groot{font-size:clamp(2.9rem,7.2vw,7.4rem);font-weight:800}
.groot{font-size:clamp(1.4rem,2.2vw,2.1rem);line-height:1.32;font-weight:500}
.knop{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.7rem 1.6rem;background:var(--inkt);color:var(--wit);
  font-weight:700;font-size:1.05rem;text-decoration:none;border:0;border-radius:.25rem;cursor:pointer;transition:transform .2s,background-color .2s,color .2s}
.knop:hover{transform:translateY(-.12rem)}
.knop-goud{background:var(--goud);color:var(--inkt)}
.knop-donker{background:var(--inkt);color:var(--wit)}
.knop-rood{background:var(--rood);color:var(--wit)}
.tekstlink{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.25em}
.rond{display:inline-grid;place-items:center;width:3.1rem;height:3.1rem;border-radius:50%;border:.13rem solid currentColor;background:none;cursor:pointer;font-size:1.5rem;line-height:1;flex:none;transition:background-color .2s,color .2s}
.rond:hover{background:var(--goud);color:var(--inkt);border-color:var(--goud)}
.tand{position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:clamp(.75rem,1.3vw,1.25rem);background:var(--vlak);
  -webkit-mask:var(--tandvorm) left bottom/clamp(2.25rem,3.9vw,3.75rem) 100% repeat-x;mask:var(--tandvorm) left bottom/clamp(2.25rem,3.9vw,3.75rem) 100% repeat-x;pointer-events:none}
.js .rv{opacity:0;transform:translateY(1.6rem);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s}
.film.speelt{opacity:1}

/* ---------- kop ---------- */
.kop{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--kop-h);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:0 var(--rand);color:var(--wit);transition:background-color .35s,color .35s,box-shadow .35s}
.kop-logo{position:relative;display:block;flex:none;width:clamp(10.5rem,15vw,14rem);min-height:2.75rem}
.kop-logo img{width:100%;height:auto;transition:opacity .35s}
.kop-logo .logo-blauw{position:absolute;inset:0;opacity:0}
.kop.vast,.kop.licht,.p-bijeenkomsten .kop,.p-leden .kop,.p-kunst .kop{background:var(--papier);color:var(--inkt);box-shadow:0 .06rem 0 rgba(20,26,46,.12)}
.kop.vast .logo-wit,.kop.licht .logo-wit,.p-bijeenkomsten .logo-wit,.p-leden .logo-wit,.p-kunst .kop .logo-wit{opacity:0}
.kop.vast .logo-blauw,.kop.licht .logo-blauw,.p-bijeenkomsten .logo-blauw,.p-leden .logo-blauw,.p-kunst .kop .logo-blauw{opacity:1}
.kop-nav{display:flex;align-items:center;gap:clamp(.9rem,1.9vw,2.2rem)}
.kop-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;font-weight:600;font-size:1.02rem;text-decoration:none;white-space:nowrap}
.kop-nav a:not(.knop):hover,.kop-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:.13em;text-underline-offset:.4em;text-decoration-color:var(--goud)}
.kop-nav .kop-knop{min-height:2.75rem;padding:.4rem 1.2rem}
.menu-knop{display:none;align-items:center;gap:.6rem;min-height:2.9rem;padding:.4rem .2rem .4rem .6rem;background:none;border:0;font-weight:700;cursor:pointer;flex-shrink:0}
.streepjes{position:relative;width:1.6rem;height:.16rem;background:currentColor;box-shadow:0 .45rem 0 currentColor,0 -.45rem 0 currentColor}
@media (max-width:62.5rem){
  .menu-knop{display:inline-flex;position:relative;z-index:2}
  .kop-logo{position:relative;z-index:2}
  .kop-nav{position:fixed;inset:0;z-index:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem;padding:calc(var(--kop-h) + 1rem) var(--rand) 2rem;
    background:var(--nacht);color:var(--wit);overflow-y:auto;max-height:100dvh;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
  .kop-nav a{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:clamp(2rem,9vw,3.4rem);line-height:1.1;min-height:3.2rem}
  .kop-nav .kop-knop{font-family:"Sofia",sans-serif;font-size:1.1rem;margin-top:1.2rem}
  .menu-open .kop-nav{visibility:visible;opacity:1}
  .menu-open .kop{background:transparent!important;color:var(--wit)!important;box-shadow:none!important}
  .menu-open .kop .logo-wit{opacity:1!important}.menu-open .kop .logo-blauw{opacity:0!important}
  .menu-open{overflow:hidden}
}
@media (max-width:62.5rem) and (orientation:landscape) and (max-height:31rem){.kop-nav{justify-content:flex-start}.kop-nav a{font-size:1.7rem;min-height:2.75rem}}

/* ---------- hero ---------- */
.hero{position:relative;z-index:1;background:var(--nacht);color:var(--wit);overflow:hidden}
.hero-dag{position:relative;z-index:2;min-height:100svh;display:flex;align-items:flex-end;background:var(--nacht)}
.hero-beeld{position:absolute;inset:0}
.hero-beeld img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:28% 50%}
.hero-beeld::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(19,27,56,.96) 0,rgba(19,27,56,.74) 30%,rgba(19,27,56,.18) 62%,rgba(19,27,56,.42) 100%)}
.hero-tekst{position:relative;width:100%;padding:calc(var(--kop-h) + 2rem) var(--rand) clamp(2rem,5.5svh,4.5rem)}
.hero h1{font-weight:900;font-size:min(10.2vw,30svh);line-height:.84;white-space:nowrap;margin:0 0 clamp(1.2rem,3svh,2.4rem) -.04em}
.hero-intro{font-size:clamp(1.15rem,1.75vw,1.7rem);line-height:1.35;font-weight:500;max-width:34em;margin-bottom:clamp(1.1rem,2.6svh,2rem)}
.hero-knoppen{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.8rem;margin-bottom:clamp(1rem,2.4svh,1.8rem)}
.hero-maandag{margin:0;font-size:1rem;opacity:.9;max-width:44em}
.hero-maandag span{font-weight:700;color:var(--goud)}
.hero-nacht,.hero-sla{display:none}
/* opening */
.hero--opening{height:100svh}
.hero--opening .hero-dag{position:absolute;inset:0;min-height:0;overflow:hidden;
  -webkit-mask:url(/img/wiel-masker.svg) center/var(--iris,0px) var(--iris,0px) no-repeat;mask:url(/img/wiel-masker.svg) center/var(--iris,0px) var(--iris,0px) no-repeat}
.hero--opening .hero-nacht{display:flex;position:absolute;inset:0;z-index:1;align-items:center;padding:var(--kop-h) var(--rand) 2rem;
  background:radial-gradient(120% 90% at 78% 62%,#43260f 0,#1c110a 46%,#0a0708 100%);color:#efe2cb}
.nacht-beeld{position:absolute;inset:0}
.nacht-beeld img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nacht-beeld::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,7,8,.86) 0,rgba(10,7,8,.5) 55%,rgba(10,7,8,.2) 100%)}
.nacht-tekst{position:relative;width:100%}
.nacht-vraag{margin:0;font-family:"Sofia Cond",sans-serif;font-weight:700;font-size:min(6vw,11.5svh);line-height:1.02}
.nacht-vraag span{display:block;opacity:0;transform:translateY(.5em);transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}
.nacht-vraag span.aan{opacity:1;transform:none}
.nacht-vraag.uit span{opacity:.22}
.nacht-nee{position:absolute;left:0;top:50%;margin:0;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:min(15vw,27svh);line-height:.84;color:var(--goud);
  white-space:nowrap;opacity:0;transform:translateY(-50%) rotate(-4deg) scale(1.5);transition:opacity .18s,transform .42s cubic-bezier(.2,1.5,.4,1)}
.nacht-nee.aan{opacity:1;transform:translateY(-50%) rotate(-4deg) scale(1)}
.hero--opening .nacht-wiel{display:block}
.nacht-wiel{display:none;position:absolute;left:50%;top:50%;width:var(--iris,0px);height:var(--iris,0px);max-width:none;transform:translate(-50%,-50%) rotate(var(--draai,0deg));opacity:var(--wiel-o,1);z-index:3;pointer-events:none}
.hero--opening .hero-sla{display:inline-flex;position:absolute;z-index:4;right:var(--rand);bottom:clamp(1.2rem,4svh,2.5rem);min-height:2.9rem;align-items:center;padding:.4rem 1.1rem;
  background:rgba(10,7,8,.5);color:#efe2cb;border:.07rem solid rgba(239,226,203,.5);border-radius:.25rem;font-weight:600;font-size:.95rem;cursor:pointer}
@media (max-width:43.75rem),(max-width:68.75rem) and (orientation:portrait){
  .hero-dag{display:block}
  .hero-beeld{position:relative;height:44svh}
  .hero-beeld img{object-position:24% 40%}
  .hero-beeld::after{background:linear-gradient(to top,rgba(19,27,56,1) 0,rgba(19,27,56,.2) 38%,rgba(19,27,56,.3) 100%)}
  .hero-tekst{padding:0 var(--rand) 2.6rem;margin-top:-3.2rem}
  .hero h1{white-space:normal;font-size:min(calc((100vw - 2*var(--rand))/3.4),15.5svh);line-height:.86}
  .hero h1 .w{display:block}
  .hero--opening .hero-beeld{position:absolute;inset:0;height:auto}
  .nacht-vraag{font-size:min(10.4vw,7.4svh)}
  .nacht-nee{font-size:min(19.5vw,17svh)}
}
@media (min-width:43.76rem) and (max-width:68.75rem) and (orientation:portrait){
  .hero-beeld{height:50svh}
  .hero h1{font-size:min(calc((100vw - 2*var(--rand))/8.6),12svh)}
  .hero h1 .w{display:inline}
}
@media (orientation:landscape) and (max-height:31rem){
  .hero h1{font-size:min(9vw,24svh);margin-bottom:.8rem}
  .hero-intro{font-size:1rem;margin-bottom:.7rem}
  .hero-maandag{display:none}
  .hero-tekst{padding-bottom:1rem}
}

/* ---------- intro ---------- */
.intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,7rem);padding:var(--blok) var(--rand)}
.intro h2{font-size:clamp(3rem,6.6vw,7rem);color:var(--blauw)}
.intro h2 span{color:var(--goud)}
.intro-tekst p:not(.groot){max-width:44rem}
@media (max-width:56.25rem){.intro{grid-template-columns:minmax(0,1fr)}}

/* ---------- jaarwiel ---------- */
.jaarwiel{position:relative;--vlak:var(--jw-bg);background:var(--jw-bg);color:var(--jw-tekst);padding:var(--blok) var(--rand) clamp(3rem,6vw,6rem);
  overflow-x:clip;transition:background-color .7s,color .7s}
.jaarwiel .tand{transition:background-color .7s}
.jaarwiel.is-even{--jw-bg:#fff;--jw-tekst:var(--inkt);--jw-accent:var(--rood)}
.jaarwiel.is-oneven{--jw-bg:var(--nacht);--jw-tekst:#fff;--jw-accent:var(--goud)}
.jw-kop{max-width:none;margin-bottom:clamp(2.5rem,5vw,5rem)}
.jw-kop p:last-child{max-width:38rem;margin:1.4rem 0 0}
.jw-toestel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:clamp(7.2rem,9vw,9.5rem);align-items:center}
.jw-as{position:relative;container-type:inline-size;aspect-ratio:1;margin-left:calc(-1*var(--rand) - 16%)}
.jw-wiel{position:absolute;inset:0;transform:rotate(calc(var(--jw-rot,-60deg) + var(--jw-as,0deg)));transition:transform 1s cubic-bezier(.25,.8,.25,1);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.jw-wiel.sleept{cursor:grabbing}
.jw-wiel.sleept,.jw-wiel.sleept .jw-label{transition:none}
.jw-wiel .wiel{pointer-events:none}
.jw-ring{position:absolute;inset:0}
.jw-label{position:absolute;left:50%;top:50%;width:4.4rem;height:2.9rem;margin:-1.45rem 0 0 -2.2rem;padding:0;border:0;background:none;cursor:pointer;
  font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:1.5rem;color:inherit;opacity:.5;
  transform:rotate(var(--h)) translateX(calc(50cqw + 2.6rem)) rotate(calc(-1*var(--h) - var(--jw-rot,-60deg) - var(--jw-as,0deg)));
  transition:transform 1s cubic-bezier(.25,.8,.25,1),opacity .4s,color .4s}
.jw-label[aria-pressed=true]{opacity:1;color:var(--jw-accent);font-size:1.9rem}
.jw-wijzer{position:absolute;left:calc(100% + 5.1rem);top:50%;width:clamp(.9rem,1.8vw,1.9rem);height:.19rem;margin-top:-.1rem;background:var(--jw-accent);transition:background-color .7s}
.jw-paneel{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(1.5rem,3.5vw,4rem);align-items:center;animation:jw-in .7s cubic-bezier(.2,.7,.2,1)}
@keyframes jw-in{from{opacity:0;transform:translateX(2rem)}to{opacity:1;transform:none}}
.jw-soort{margin:0;font-weight:700;color:var(--jw-accent)}
.jw-jaartal{margin:0 0 .15em -.03em;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(5.4rem,9.6vw,10rem);line-height:.8;color:var(--jw-accent);white-space:nowrap}
.jw-paneel h3{font-size:clamp(1.9rem,3.2vw,3.2rem);margin-bottom:.9rem}
.jw-tekst{max-width:30rem}
.jw-feiten{display:grid;gap:0;margin:0 0 1.6rem;border-top:.07rem solid color-mix(in srgb,currentColor 28%,transparent)}
.jw-feiten div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem;padding:.6rem 0;border-bottom:.07rem solid color-mix(in srgb,currentColor 28%,transparent)}
.jw-feiten dt{font-weight:700}
.jaarwiel.is-oneven .knop{background:var(--goud);color:var(--inkt)}
.jaarwiel.is-even .knop{background:var(--rood)}
.jw-foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.jw-knoppen{display:flex;align-items:center;gap:1.2rem;margin-top:clamp(2rem,4vw,4rem)}
.jw-nu{font-weight:600}
@media (max-width:56.25rem){
  .jw-toestel{grid-template-columns:minmax(0,1fr);gap:4.6rem}
  .jw-as{--jw-as:90deg;width:min(60vw,46svh);margin:2.4rem auto 0}
  .jw-label{transform:rotate(var(--h)) translateX(calc(50cqw + 2.1rem)) rotate(calc(-1*var(--h) - var(--jw-rot,-60deg) - 90deg));font-size:1.25rem}
  .jw-label[aria-pressed=true]{font-size:1.6rem}
  .jw-wijzer{left:50%;top:calc(100% + 3.7rem);width:.19rem;height:1.6rem;margin:0 0 0 -.1rem}
  .jw-paneel{grid-template-columns:minmax(0,1fr)}
  .jw-foto img{aspect-ratio:3/2}
  .jw-knoppen{justify-content:center}
}
@media (min-width:43.76rem) and (max-width:56.25rem){.jw-paneel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.jw-foto img{aspect-ratio:4/5}}

/* ---------- projectkaarten ---------- */
.pr-rij{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,3.5rem);padding:0 var(--rand) var(--blok);background:#fff}
.p-projecten .pr-rij{padding-top:0}
.pr-kaart{display:block;text-decoration:none}
.pr-kaart figure{overflow:hidden;margin-bottom:1.3rem}
.pr-kaart img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pr-kaart:hover img{transform:scale(1.04)}
.pr-kaart h3{font-size:clamp(2rem,3.6vw,3.6rem);margin-bottom:.6rem}
.pr-kaart .label{margin-bottom:.5rem}
.pr-kaart p:last-child{margin:0}
@media (max-width:43.75rem){.pr-rij{grid-template-columns:minmax(0,1fr);gap:3rem}}

/* ---------- roadary (stijl van hun affiche) ---------- */
.roadary{position:relative;--zon:clamp(15rem,34vw,33rem);background:#faf6ed;color:#17383f;overflow-x:clip}
.rd-zon{position:absolute;inset:0 0 auto 0;height:var(--zon);overflow:hidden;background:#335c77}
.rd-zon i{position:absolute;left:50%;top:100%;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;border-radius:50%;
  background:repeating-conic-gradient(#e0ac2f 0 5deg,#335c77 5deg 10deg);animation:rd-draai 300s linear infinite}
@keyframes rd-draai{to{transform:rotate(360deg)}}
.rd-binnen{position:relative;padding:calc(var(--zon) - clamp(6rem,11vw,11rem)) var(--rand) var(--blok)}
.rd-kop{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(2.5rem,5vw,5rem)}
.rd-logo{width:clamp(12rem,22vw,22rem);height:auto;border-radius:50%;margin-bottom:1.4rem}
.rd-titel,.rd-onder{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rd-datum{margin:0;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(2.2rem,5.6vw,5.8rem);line-height:.95;color:#4fae9b;text-transform:uppercase;text-wrap:balance;max-width:14em}
.rd-twee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center;margin-bottom:clamp(3rem,6vw,6rem)}
.rd-tekst p:not(.groot){max-width:36rem}
.rd-punten{margin-top:1.4rem;border-top:.07rem solid rgba(23,56,63,.25)}
.rd-punten li{padding:.55rem 0 .55rem 1.7rem;border-bottom:.07rem solid rgba(23,56,63,.25);position:relative}
.rd-punten li::before{content:"";position:absolute;left:0;top:1.05rem;width:.85rem;height:.85rem;background:#e0ac2f;-webkit-mask:url(/img/wiel-masker.svg) center/contain no-repeat;mask:url(/img/wiel-masker.svg) center/contain no-repeat}
.rd-film{position:relative;overflow:hidden;border-radius:1.4rem}
.rd-film img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.rd-reken{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,6rem);align-items:center;background:#17383f;color:#faf6ed;border-radius:1.4rem;padding:clamp(1.5rem,4vw,4.5rem)}
.rd-reken h3{font-size:clamp(2rem,3.6vw,3.6rem);margin-bottom:1.5rem}
.rd-reken fieldset{border:0;padding:0;margin:0 0 1.4rem;min-width:0}
.rd-reken legend,.rd-stap>span,.rd-team{font-weight:700;font-size:1rem;padding:0;margin-bottom:.6rem;display:block}
.rd-pakketrij{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.6rem}
.rd-pakket{position:relative;display:flex;flex-direction:column;gap:.1rem;min-height:4.4rem;padding:.7rem 1rem;border:.13rem solid rgba(250,246,237,.4);border-radius:.6rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.rd-pakket input{position:absolute;opacity:0;width:1px;height:1px}
.rd-pk-naam{font-weight:700}
.rd-pk-prijs{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:1.7rem;line-height:1;white-space:nowrap}
.rd-pakket:has(input:checked){background:#e0ac2f;border-color:#e0ac2f;color:#17383f}
.rd-pakket:has(input:focus-visible){outline:.19rem solid #fff;outline-offset:.19rem}
.rd-rij{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin-bottom:1.4rem}
.stapper{display:flex;align-items:center;gap:1rem}
.stapper output{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:2rem;min-width:1.2em;text-align:center}
.rd-team input{display:block;width:100%;min-height:3.1rem;margin-top:.6rem;padding:.5rem .9rem;background:transparent;border:.13rem solid rgba(250,246,237,.4);border-radius:.6rem;color:#faf6ed}
.rd-team input::placeholder{color:rgba(250,246,237,.55)}
.rd-inbegrepen{columns:2;column-gap:2rem;font-size:.98rem;opacity:.92}
.rd-inbegrepen li{break-inside:avoid;padding:.2rem 0 .2rem 1.1rem;position:relative}
.rd-inbegrepen li::before{content:"";position:absolute;left:0;top:.75em;width:.4rem;height:.4rem;border-radius:50%;background:#e0ac2f}
.rd-schildvak{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}
.rd-schild{width:100%;background:#faf6ed;color:#17383f;border-radius:1.1rem;border:.3rem solid #e0ac2f;padding:1.3rem 1.5rem 1.1rem;transform:rotate(-2.5deg);box-shadow:0 1.2rem 2.2rem rgba(0,0,0,.28)}
.rd-s-kop{margin:0 0 .6rem;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:1.5rem;text-transform:uppercase;display:flex;justify-content:space-between;border-bottom:.13rem solid #17383f;padding-bottom:.4rem}
.rd-s-kop span{color:#4fae9b}
.rd-s-team{margin:0 0 .8rem;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:.95;text-transform:uppercase;overflow-wrap:anywhere;min-height:1.9em}
.rd-s-team.leeg{opacity:.3}
.rd-s-totaal{margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:700}
.rd-s-totaal strong{font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(2.4rem,4vw,4rem);line-height:1;white-space:nowrap}
.rd-noot{margin:0;font-size:.98rem;opacity:.9}
.rd-reken .knop-donker{background:#e0ac2f;color:#17383f}
.rd-pakketten{margin-top:clamp(3rem,6vw,6rem)}
.rd-pakketten h2{font-size:clamp(2.6rem,5.4vw,5.6rem);margin-bottom:.8rem}
.rd-drie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3.5rem);margin-top:2rem}
.rd-lijst h3{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:2.2rem;padding-bottom:.6rem;border-bottom:.19rem solid #17383f}
.rd-lijst h3 span{color:#2f7f70;white-space:nowrap}
.rd-lijst li{padding:.55rem 0;border-bottom:.07rem solid rgba(23,56,63,.25)}
@media (max-width:56.25rem){
  .rd-twee,.rd-reken,.rd-drie{grid-template-columns:minmax(0,1fr)}
  .rd-rij{grid-template-columns:minmax(0,1fr)}
  .rd-inbegrepen{columns:1}
  .rd-schild{transform:rotate(-1.5deg)}
}

/* ---------- maandag ---------- */
.maandag{padding:var(--blok) var(--rand);background:var(--papier)}
.p-bijeenkomsten .maandag,.p-leden .leden{padding-top:calc(var(--kop-h) + clamp(3rem,6vw,6rem))}
.ma-kop{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}
.ma-kop .label{grid-column:1/-1}
.ma-kop .h-groot{grid-row:2/5;color:var(--blauw);font-size:min(clamp(3rem,7.3vw,7.3rem),calc((100vw - 2*var(--rand))/6.5))}
.ma-kop p{margin-bottom:.8rem}
.ma-eerst{font-weight:700;color:var(--blauw)}
.ma-avond{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.25rem,2.6vw,3rem);margin-bottom:clamp(2.5rem,5vw,5rem)}
.ma-avond li{border-top:.25rem solid var(--blauw);padding-top:1rem}
.ma-avond li.nu{border-top-color:var(--goud)}
.ma-tijd{margin:0 0 .5rem;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(3.6rem,7.4vw,8rem);line-height:.82;color:var(--blauw);font-variant-numeric:tabular-nums}
.ma-avond li.nu .ma-tijd{color:var(--goud)}
.ma-avond h3{margin-bottom:.5rem}
.ma-avond p:last-child{margin:0}
.ma-rest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.6vw,3rem);margin-bottom:clamp(2.5rem,5vw,5rem)}
.ma-rest p{margin:0;font-size:1.2rem;line-height:1.45}
.ma-lijsten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem)}
.ma-lijsten h3{margin-bottom:1.1rem}
.naamlijst{border-top:.13rem solid var(--inkt)}
.naamlijst li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:.07rem solid rgba(20,26,46,.22)}
.naamlijst strong{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:1.45rem;line-height:1.1}
@media (max-width:62.5rem){.ma-avond{grid-template-columns:repeat(2,minmax(0,1fr))}.ma-rest{grid-template-columns:minmax(0,1fr)}}
@media (max-width:43.75rem){
  .ma-kop,.ma-lijsten{grid-template-columns:minmax(0,1fr)}
  .ma-kop .h-groot{grid-row:auto;margin-bottom:1.5rem}
  .ma-avond{grid-template-columns:minmax(0,1fr)}
  .ma-avond li{display:grid;grid-template-columns:7.4rem minmax(0,1fr);gap:1rem}
  .ma-tijd{font-size:3.1rem;white-space:nowrap}
}

/* ---------- dna ---------- */
.dna{position:relative;--vlak:var(--nacht);background:var(--nacht);color:#fff;padding:var(--blok) var(--rand)}
.dna-kop{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 clamp(2rem,6vw,7rem);margin-bottom:clamp(2.5rem,5vw,5rem)}
.dna-kop .label{grid-column:1/-1}
.dna-kop .h-groot{grid-row:2/4}
.dna-kop p{align-self:end}
.dna-intro{max-width:52rem;font-size:1.2rem;margin-bottom:2rem}
.dna-item{border-top:.07rem solid rgba(255,255,255,.28)}
.dna-item:last-child{border-bottom:.07rem solid rgba(255,255,255,.28)}
.dna-item summary{display:grid;grid-template-columns:clamp(2.6rem,5vw,6rem) minmax(0,1fr) 2.75rem;align-items:center;gap:.5rem;min-height:4rem;padding:.6rem 0;cursor:pointer;list-style:none}
.dna-item summary::-webkit-details-marker{display:none}
.dna-n{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:1.5rem;color:var(--goud)}
.dna-naam{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:clamp(2rem,4.6vw,4.8rem);line-height:1;transition:color .25s}
.dna-item[open] .dna-naam,.dna-item summary:hover .dna-naam{color:var(--goud)}
.dna-plus{position:relative;width:2.75rem;height:2.75rem}
.dna-plus::before,.dna-plus::after{content:"";position:absolute;left:50%;top:50%;width:1.3rem;height:.16rem;margin:-.08rem 0 0 -.65rem;background:currentColor;transition:transform .3s}
.dna-plus::after{transform:rotate(90deg)}
.dna-item[open] .dna-plus::after{transform:none}
.dna-item>p{margin:0;padding:0 2.75rem 1.6rem clamp(3.1rem,calc(5vw + .5rem),6.5rem);max-width:60rem;font-size:1.2rem}
.vier{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,6vw,7rem);margin-top:var(--blok)}
.vier-intro{margin:0;max-width:26rem}
.vier-lijst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3.5rem)}
.vier-lijst li{font-family:"Sofia Cond",sans-serif;font-weight:700;font-size:clamp(1.6rem,2.7vw,2.8rem);line-height:1.08;border-top:.25rem solid var(--goud);padding-top:.8rem}
.vier-lijst span{display:block;font-weight:900;font-size:clamp(3.4rem,6vw,6.4rem);line-height:.9;color:var(--goud);margin-bottom:.3rem}
.vier-slot{grid-column:2;margin:0;max-width:46rem}
@media (max-width:56.25rem){.dna-kop,.vier{grid-template-columns:minmax(0,1fr)}.dna-kop .h-groot{grid-row:auto;margin-bottom:1.5rem}.vier-slot{grid-column:1}}
@media (max-width:37.5rem){.vier-lijst{grid-template-columns:minmax(0,1fr)}.dna-item>p{padding-left:0;padding-right:0}}
/* dna-pagina */
.dna-vol{padding-top:calc(var(--kop-h) + clamp(3rem,7vw,7rem));background:linear-gradient(#0a0708 0,#1c110a 26rem,var(--nacht) 58rem)}
.dna-op{color:#efe2cb;margin-bottom:clamp(3rem,7vw,7rem)}
.dna-vraag{font-weight:700;font-size:min(6vw,5.6rem);line-height:1.02}
.dna-vraag span{display:block}
.dna-nee{margin:clamp(1.5rem,3vw,3rem) 0 0;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:min(15vw,15rem);line-height:.86;color:var(--goud);transform:rotate(-3deg);transform-origin:left center}
.dna-wel{display:grid;gap:.4rem;justify-items:start;margin:0 0 var(--blok) auto;width:min(100%,66%)}
.dna-wel p{margin-bottom:.8rem}
.dna-wel .knop{margin-top:.8rem}
@media (max-width:56.25rem){.dna-wel{width:100%}.dna-vraag{font-size:min(9.6vw,3.4rem)}.dna-nee{font-size:min(19.5vw,9rem)}}

/* ---------- doelen ---------- */
.doelen{position:relative;--vlak:var(--goud);background:var(--goud);color:var(--inkt);padding:var(--blok) var(--rand)}
.doelen .label::before{background:var(--blauw)}
.dl-kop{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:0 clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}
.dl-kop .label{grid-column:1/-1}
.dl-kop p:last-child{margin:0}
.dl-namen{display:flex;flex-wrap:wrap;gap:.1em .5em;font-family:"Sofia Cond",sans-serif;font-weight:900;font-size:clamp(2.3rem,6.2vw,6.6rem);line-height:.98;color:var(--blauw)}
.dl-namen li{display:flex;align-items:center;gap:.5em}
.dl-namen li:not(:last-child)::after{content:"";flex:none;width:.32em;height:.32em;background:var(--inkt);-webkit-mask:url(/img/wiel-masker.svg) center/contain no-repeat;mask:url(/img/wiel-masker.svg) center/contain no-repeat}
.dl-namen li:nth-child(even){color:var(--inkt)}
.dl-bedacht{margin-top:clamp(2.5rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1rem clamp(2rem,6vw,7rem);border-top:.13rem solid var(--inkt);padding-top:1.4rem}
.dl-bedacht ul{columns:2;column-gap:2rem;font-size:1.25rem;font-weight:600}
.dl-bedacht li{padding:.2rem 0;break-inside:avoid}
@media (max-width:56.25rem){.dl-kop,.dl-bedacht{grid-template-columns:minmax(0,1fr)}.dl-kop .h-groot{margin-bottom:1.2rem}}
@media (max-width:37.5rem){.dl-bedacht ul{columns:1}.dl-namen{flex-direction:column;align-items:flex-start;gap:.18em;font-size:2.5rem}.dl-namen li::after{display:none}}
@media (max-width:43.75rem){.groot{font-size:1.3rem}}

/* ---------- leden ---------- */
.leden{background:#fff;padding:var(--blok) 0}
.ld-kop{padding:0 var(--rand);margin-bottom:clamp(2rem,4vw,4rem)}
.ld-kop .h-groot{color:var(--blauw)}
.ld-strook{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ld-strook::-webkit-scrollbar{display:none}
.ld-strook img{width:100%;height:auto;max-width:none}
.ld-veeg{display:none;margin:.6rem var(--rand) 0;font-size:.95rem;font-weight:600;opacity:.6}
.ld-namen{columns:5;column-gap:clamp(1.5rem,3vw,3.5rem);padding:0 var(--rand);margin-top:clamp(2rem,4vw,4rem)}
.ld-namen li{break-inside:avoid;padding:.55rem 0;border-bottom:.07rem solid rgba(20,26,46,.2);font-family:"Sofia Cond",sans-serif;font-weight:700;font-size:1.45rem;line-height:1.15}
.ld-jij a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--blauw);font-weight:900;text-decoration:underline;text-decoration-color:var(--goud);text-decoration-thickness:.14em;text-underline-offset:.2em}
.ld-namen .ld-jij{padding:0}
@media (max-width:75rem){.ld-namen{columns:4}}
@media (max-width:56.25rem){.ld-namen{columns:3}.ld-strook img{width:auto;height:clamp(11rem,34vw,15rem)}.ld-veeg{display:block}}
@media (max-width:37.5rem){.ld-namen{columns:2}.ld-namen li{font-size:1.25rem}}

/* ---------- contact ---------- */
.contact{position:relative;--vlak:var(--blauw);background:var(--blauw);color:#fff;padding:var(--blok) var(--rand);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,7rem);overflow-x:clip}
.p-contact .contact{padding-top:calc(var(--kop-h) + clamp(3rem,7vw,7rem));min-height:92svh;align-items:center}
.p-contact .contact .tand{display:none}
.ct-wiel{position:absolute;left:-9%;bottom:-32%;width:clamp(18rem,40vw,42rem);color:rgba(255,255,255,.07);pointer-events:none}
.ct-kop,.ct-form{position:relative}
.ct-kop p{max-width:34rem}
.ct-kop .h-groot{margin-bottom:1.6rem}
.ct-maandag span{font-weight:700;color:var(--goud)}
.ct-form{display:grid;gap:1.1rem;align-content:start}
.ct-form label{display:grid;gap:.35rem;font-weight:700;font-size:1rem}
.ct-form input,.ct-form textarea{width:100%;min-height:3.1rem;padding:.6rem .9rem;background:rgba(255,255,255,.08);border:.1rem solid rgba(255,255,255,.55);border-radius:.25rem;color:#fff;font-weight:400}
.ct-form textarea{resize:vertical;min-height:8rem}
.ct-form .knop{justify-self:start}
.ct-status{margin:0;min-height:1.6em;font-weight:600}
.ct-status.fout{color:#ffd9a0}
@media (max-width:56.25rem){.contact{grid-template-columns:minmax(0,1fr)}}

/* ---------- voet ---------- */
.voet{position:relative;z-index:1;background:var(--nacht);color:#fff;padding:clamp(3rem,6vw,6rem) var(--rand) 2rem}
.voet-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem;margin-bottom:clamp(2.5rem,5vw,5rem)}
.voet-logo{display:block;width:clamp(14rem,26vw,28rem)}
.voet-logo img{width:100%;height:auto}
.voet-motto{margin:0;font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:clamp(1.8rem,3.4vw,3.4rem);line-height:1;text-align:right;color:var(--goud)}
.voet-kolommen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:2rem 0;border-top:.07rem solid rgba(255,255,255,.25);border-bottom:.07rem solid rgba(255,255,255,.25)}
.voet h2{font-family:"Sofia",sans-serif;font-size:1rem;font-weight:700;line-height:1.4;color:var(--goud);margin-bottom:.5rem}
.voet li a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none;overflow-wrap:anywhere;max-width:100%}
.voet-kolommen>div{min-width:0}
.voet li a:hover{text-decoration:underline}
.voet-onder{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding-top:1.4rem;font-size:.95rem;opacity:.85}
.voet-onder p{margin:0}
.voet-onder a{display:inline-flex;align-items:center;min-height:2.75rem}
@media (max-width:43.75rem){.voet-kolommen{grid-template-columns:minmax(0,1fr);gap:1.2rem}.voet-motto{text-align:left}}

/* ---------- paginakop + proza ---------- */
.pk{position:relative;background:var(--blauw);color:#fff;padding:calc(var(--kop-h) + clamp(3rem,7vw,7rem)) var(--rand) clamp(3rem,6vw,6rem);overflow:hidden}
.pk h1{position:relative;font-weight:900;font-size:min(clamp(3rem,9.4vw,9.8rem),calc((100vw - 2*var(--rand))/(var(--n)*.5)));line-height:.9;max-width:12em}
.pk .label,.pk-intro{position:relative}
.pk-intro{margin:1.6rem 0 0;font-size:1.3rem;max-width:36rem}
.pk-wiel{position:absolute;right:-8%;top:-22%;width:clamp(18rem,44vw,46rem);color:rgba(255,255,255,.07)}
.proza{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,6vw,7rem);padding:var(--blok) var(--rand);background:#fff}
.proza-tekst{grid-column:2}
.proza-tekst p:not(.groot){max-width:46rem}
.proza-tekst .groot{margin-bottom:1.6rem}
.proza-tekst .knop{margin-top:1rem}
.p-projecten .proza{padding-bottom:clamp(2rem,4vw,4rem)}
@media (max-width:56.25rem){.proza{grid-template-columns:minmax(0,1fr)}.proza-tekst{grid-column:1}}

/* ---------- KunsT ---------- */
.kt-kop{background:#fff;padding-top:var(--kop-h)}
.kt-banner img{width:100%;height:min(64svh,56.25vw);object-fit:cover;object-position:50% 30%}
.kt-titel{padding:clamp(2rem,4vw,4rem) var(--rand) 0}
.kt-titel h1{font-weight:900;font-size:min(11.2vw,12rem);line-height:.86;margin-bottom:1.2rem}
.kt-titel h1 span{color:var(--rood)}
.kt-datum{margin:0;font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:clamp(1.6rem,3vw,3rem);line-height:1.05;color:var(--rood)}
.p-kunst .label::before{background:var(--rood)}
.kt-proza{padding-top:clamp(3rem,6vw,6rem)}
.kt-fotos{background:var(--inkt);color:#fff;padding:var(--blok) var(--rand)}
.kt-fotos>p{margin:1rem 0 clamp(2rem,4vw,4rem)}
.kt-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.75rem)}
.kt-raster img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.kt-l{grid-column:1/-1}
.kt-l img{aspect-ratio:21/10}
.p-kunst .contact{--vlak:var(--blauw)}

/* ---------- Company Award ---------- */
.aw-kop{position:relative;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:2rem;align-items:end;background:var(--nacht);color:#fff;
  padding:calc(var(--kop-h) + clamp(3rem,7vw,7rem)) var(--rand) 0;overflow:hidden}
.aw-licht{position:absolute;inset:0;background:radial-gradient(34% 62% at 84% 58%,rgba(224,165,42,.4) 0,rgba(224,165,42,0) 100%)}
.aw-titel{position:relative;padding-bottom:clamp(3rem,6vw,6rem)}
.aw-titel h1{font-weight:900;font-size:clamp(2.9rem,7.6vw,8rem);line-height:.92}
.aw-titel em{font-style:normal;color:var(--goud)}
.aw-vincent{position:relative;align-self:end}
.aw-vincent img{width:100%;height:auto}
.aw-proza{background:var(--nacht);color:#fff}
.aw-winnaar{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,6rem);align-items:center;background:var(--nacht);color:#fff;padding:0 var(--rand) var(--blok)}
.aw-winnaar img{width:100%;height:auto}
.aw-winnaar .h-groot{font-size:clamp(2.6rem,5.4vw,5.6rem);color:var(--goud)}
.aw-thema{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);background:var(--goud);color:var(--inkt);padding:var(--blok) var(--rand)}
.aw-thema .label::before{background:var(--blauw)}
.aw-thema-kop{font-weight:900;font-size:clamp(3.4rem,8vw,8.4rem);line-height:.86;margin-bottom:1.6rem;color:var(--nacht)}
.aw-thema h3{margin-bottom:1rem}
.aw-slot{font-family:"Sofia Cond",sans-serif;font-weight:800;font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1.12}
.aw-slot span{display:block;margin-bottom:.35em}
.aw-knoppen{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.8rem}
.aw-thema .knop-goud{background:var(--nacht);color:#fff}
.p-award .contact .tand{display:block}
@media (max-width:56.25rem){.aw-kop,.aw-winnaar,.aw-thema{grid-template-columns:minmax(0,1fr)}.aw-vincent{width:min(74%,22rem);justify-self:end}.aw-titel{padding-bottom:1rem}}

/* roadary-pagina: zon bovenaan onder de kop */
.p-roadary .roadary{--zon:clamp(18rem,38vw,36rem)}
.p-roadary .kop:not(.vast){color:#fff}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}}
@media print{.kop,.hero-nacht,.hero-sla{display:none!important}.js .rv{opacity:1;transform:none}}
