:root{
  --navy:#173328; --navy-2:#20423a; --bordeaux:#6a1b1b; --bordeaux-2:#862626;
  --goud:#b08d2e; --goud-tekst:#76601a; --goud-licht:#e0c66e; --perkament:#f2f3ef; --perkament-2:#e4e9e3;
  --inkt:#2a2622; --grijs:#6e665c; --lijn:rgba(176,141,46,.45);
  --kop:"Old Standard TT",Georgia,serif; --tekst:"Libre Caslon Text",Georgia,serif; --script:"Old Standard TT",serif;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--tekst);font-size:1.2rem;line-height:1.7;color:var(--inkt);background:var(--perkament);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--bordeaux)}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.smal{max-width:820px;margin:0 auto}

h1,h2,h3,h4{font-family:var(--kop);font-weight:600;line-height:1.15;color:var(--bordeaux);letter-spacing:.02em}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);text-transform:uppercase}
h3{font-size:1.35rem;text-transform:uppercase;letter-spacing:.05em}
p+p{margin-top:1em}
.script{font-family:var(--script);font-weight:400;color:var(--goud);text-transform:none;letter-spacing:0;line-height:1}
.bovenkop{display:block;font-family:var(--kop);font-size:.8rem;letter-spacing:0.11em;text-transform:uppercase;color:var(--goud);margin-bottom:.9rem}
.lead{font-size:1.38rem;color:var(--inkt)}

.ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin:1.4rem auto;color:var(--goud);max-width:340px}
.ornament::before,.ornament::after{content:"";flex:1;height:1px;background:var(--goud)}
.ornament svg{width:26px;height:26px;fill:currentColor}
.center{text-align:center}

.btn{display:inline-block;font-family:var(--kop);font-size:.82rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;text-decoration:none;padding:16px 30px;border:1px solid var(--goud);transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.btn-goud{background:var(--goud);color:var(--navy)}
.btn-goud:hover{background:var(--goud-licht);border-color:var(--goud-licht)}
.btn-rand{color:#fff;background:transparent;border-color:rgba(255,255,255,.7)}
.btn-rand:hover{background:#fff;color:var(--navy)}
.btn-donker{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
.btn-donker:hover{background:var(--bordeaux-2);border-color:var(--bordeaux-2)}
.btn-lijn{color:var(--bordeaux);border-color:var(--bordeaux)}
.btn-lijn:hover{background:var(--bordeaux);color:#fff}
.knoppen{display:flex;flex-wrap:wrap;gap:14px}

.topbalk{background:var(--navy);color:var(--goud-licht);font-family:var(--kop);font-size:.72rem;letter-spacing:0.07em;text-transform:uppercase}
.topbalk .container{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:12px}
.topbalk a{color:var(--goud-licht);text-decoration:none}
.topbalk .rechts{display:flex;gap:20px}
@media(max-width:700px){.topbalk .rechts{display:none}.topbalk .container{justify-content:center}}

.header{position:absolute;left:0;right:0;top:38px;z-index:40;color:#fff}
.header .container{display:flex;flex-direction:column;align-items:center;padding-top:22px}
.header .logo img{height:130px;width:auto;margin:-14px 0 -10px}
.hoofdmenu{margin-top:14px;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.hoofdmenu>ul{display:flex;list-style:none}
.hoofdmenu li{position:relative}
.hoofdmenu>ul>li>a{display:block;padding:14px 18px;font-family:var(--kop);font-size:.8rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#fff;text-decoration:none}
.hoofdmenu>ul>li>a:hover,.hoofdmenu a.actief{color:var(--goud-licht)}
.hoofdmenu .sub{position:absolute;left:50%;top:100%;transform:translateX(-50%);min-width:230px;background:var(--navy);list-style:none;padding:10px 0;border-top:2px solid var(--goud);opacity:0;visibility:hidden;transition:.2s}
.hoofdmenu li:hover>.sub,.hoofdmenu li:focus-within>.sub{opacity:1;visibility:visible}
.hoofdmenu .sub a{display:block;padding:9px 22px;color:#fff;text-decoration:none;font-size:1.05rem}
.hoofdmenu .sub a:hover{color:var(--goud-licht);background:rgba(255,255,255,.04)}

.vastebalk{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(23,51,40,.97);transform:translateY(-100%);transition:transform .3s;box-shadow:0 2px 20px rgba(0,0,0,.25)}
.vastebalk.zichtbaar{transform:none}
.vastebalk .container{display:flex;align-items:center;justify-content:space-between;height:66px}
.vastebalk .logo img{height:62px;width:auto}
.vastebalk .hoofdmenu{margin:0;border:0}
.vastebalk .hoofdmenu>ul>li>a{padding:22px 13px;font-size:.74rem}
.menuknop{display:none;background:none;border:0;color:#fff;cursor:pointer;font-family:var(--kop);font-size:.8rem;letter-spacing:0.07em;text-transform:uppercase;align-items:center;gap:10px}
.menuknop span{display:block;width:26px;height:2px;background:currentColor;box-shadow:0 -8px 0 currentColor,0 8px 0 currentColor}

.mobielmenu{position:fixed;inset:0;z-index:80;background:var(--navy);color:#fff;padding:90px 30px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .35s}
.mobielmenu.open{transform:none}
.mobielmenu ul{list-style:none}
.mobielmenu>ul>li{border-bottom:1px solid rgba(255,255,255,.1)}
.mobielmenu a{display:block;color:#fff;text-decoration:none;padding:14px 0;font-family:var(--kop);letter-spacing:0.05em;text-transform:uppercase;font-size:.95rem}
.mobielmenu .sub a{font-family:var(--tekst);text-transform:none;letter-spacing:0;font-size:1.15rem;padding:6px 0 6px 16px;color:var(--goud-licht)}
.mobielmenu .sluit{position:absolute;top:22px;right:24px;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1}
@media(max-width:1020px){
  .header .hoofdmenu,.vastebalk .hoofdmenu{display:none}
  .menuknop{display:flex}
  .header .container{flex-direction:row;justify-content:space-between;padding-top:16px}
  .header .logo img{height:84px;margin:0}
}

.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy) center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,26,20,.75) 0%,rgba(10,26,20,.25) 35%,rgba(10,26,20,.35) 60%,rgba(10,26,20,.9) 100%)}
.hero .container{width:100%;padding-bottom:150px;text-align:center}
.hero h1{color:#fff;font-size:clamp(2.4rem,6.4vw,5rem);text-transform:uppercase;letter-spacing:.06em;text-shadow:0 3px 24px rgba(0,0,0,.45)}
.hero .script{display:block;font-size:clamp(2.6rem,6vw,4.6rem);margin:.15em 0 .25em;color:var(--goud-licht)}
.hero .datumregel{font-family:var(--kop);letter-spacing:0.11em;text-transform:uppercase;font-size:clamp(.8rem,1.6vw,1rem);margin-bottom:2.2rem;color:#fff}
.hero .datumregel b{color:var(--goud-licht);font-weight:600}
.hero .knoppen{justify-content:center}
.schuin{position:absolute;left:0;right:0;bottom:-1px;height:90px;pointer-events:none}
.schuin svg{width:100%;height:100%;display:block}

.paginakop{position:relative;min-height:62vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy) center/cover no-repeat;isolation:isolate}
.paginakop::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,26,20,.8) 0%,rgba(10,26,20,.35) 45%,rgba(10,26,20,.85) 100%)}
.paginakop .container{width:100%;text-align:center;padding-bottom:120px}
.paginakop h1{color:#fff;font-size:clamp(2.1rem,5vw,3.8rem);text-transform:uppercase;letter-spacing:.07em}
.paginakop .script{display:block;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--goud-licht);margin-top:.2em}
.kruimel{font-family:var(--kop);font-size:.72rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1rem;color:var(--goud-licht)}
.kruimel a{color:#fff;text-decoration:none}

.infobalk{background:var(--perkament);position:relative;z-index:5}
.infobalk .container{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--lijn);background:#fff;transform:translateY(-55px);box-shadow:0 18px 45px rgba(23,51,40,.12)}
.infobalk .vak{padding:30px 20px;text-align:center;border-right:1px solid var(--lijn)}
.infobalk .vak:last-child{border-right:0}
.infobalk .label{font-family:var(--kop);font-size:.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--goud)}
.infobalk .waarde{font-family:var(--kop);font-size:1.15rem;color:var(--bordeaux);margin-top:.35rem}
@media(max-width:800px){.infobalk .container{grid-template-columns:1fr 1fr;padding:0}.infobalk .vak:nth-child(2){border-right:0}.infobalk .vak:nth-child(-n+2){border-bottom:1px solid var(--lijn)}}

.sectie{padding:110px 0}
.sectie.compact{padding:80px 0}
.sectie.wit{background:#fff}
.sectie.perkament{background:var(--perkament) url("../media/sfeer/529858718.jpg") center/cover}
.sectie.perkament-zacht{background:var(--perkament-2)}
.sectie.donker{background:var(--navy);color:rgba(255,255,255,.86)}
.sectie.donker h2,.sectie.donker h3{color:#fff}
.sectie.bordeaux{background:var(--bordeaux);color:rgba(255,255,255,.9)}
.sectie.bordeaux h2,.sectie.bordeaux h3{color:#fff}
.sectiekop{text-align:center;max-width:760px;margin:0 auto 60px}
.sectiekop p{margin-top:1rem;color:var(--grijs)}
.donker .sectiekop p,.bordeaux .sectiekop p{color:rgba(255,255,255,.75)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.duo.omgekeerd .duo-beeld{order:-1}
.duo-tekst p{color:var(--inkt)}
.duo-tekst .btn{margin-top:2rem}
.collage{position:relative;padding:0 0 60px 60px}
.collage img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 25px 50px rgba(23,51,40,.25)}
.collage img+img{position:absolute;left:0;bottom:0;width:52%;aspect-ratio:1;border:10px solid var(--perkament)}
.kader{position:relative}
.kader::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--goud);z-index:-1}
.kader img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.duo{grid-template-columns:1fr;gap:50px}.duo.omgekeerd .duo-beeld{order:0}.collage{padding:0 0 40px 30px}}

.kaarten{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.kaart{background:#fff;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(23,51,40,.08);transition:transform .35s,box-shadow .35s}
.kaart:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(23,51,40,.16)}
.kaart .foto{overflow:hidden;aspect-ratio:4/3}
.kaart .foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.kaart:hover .foto img{transform:scale(1.05)}
.kaart .inhoud{padding:30px 30px 34px;border-top:3px solid var(--goud);flex:1;display:flex;flex-direction:column}
.kaart h3{margin-bottom:.7rem}
.kaart p{color:var(--grijs);font-size:1.1rem}
.kaart .meer{margin-top:auto;padding-top:1.3rem;font-family:var(--kop);font-size:.75rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--bordeaux);text-decoration:none}
.kaart .meer::after{content:" →"}
@media(max-width:900px){.kaarten{grid-template-columns:1fr}}

.beeldband{position:relative;padding:150px 0;color:#fff;text-align:center;background:center/cover fixed no-repeat;isolation:isolate}
.beeldband::before{content:"";position:absolute;inset:0;background:rgba(14,34,27,.62);z-index:-1}
.beeldband blockquote{font-family:var(--tekst);font-style:italic;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.35;max-width:880px;margin:0 auto}
.beeldband cite{display:block;margin-top:1.4rem;font-family:var(--kop);font-style:normal;font-size:.78rem;letter-spacing:0.11em;text-transform:uppercase;color:var(--goud-licht)}
@media(hover:none){.beeldband{background-attachment:scroll}}

.cijfers{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.cijfers div{padding:10px 20px;border-right:1px solid rgba(255,255,255,.15)}
.cijfers div:last-child{border:0}
.cijfers b{display:block;font-family:var(--kop);font-size:clamp(2.2rem,4.5vw,3.4rem);color:var(--goud-licht);font-weight:600;line-height:1.1}
.cijfers span{font-family:var(--kop);font-size:.75rem;letter-spacing:0.09em;text-transform:uppercase}
@media(max-width:800px){.cijfers{grid-template-columns:1fr 1fr;row-gap:30px}.cijfers div:nth-child(2){border:0}}

.video{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.video::before{content:"";position:absolute;inset:0;background:rgba(8,20,15,.35);transition:background .3s}
.video:hover::before{background:rgba(8,20,15,.2)}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;background:rgba(176,141,46,.85)}
.video .play::after{content:"";border-left:26px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:7px}
.video .melding{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:.95rem;color:#fff;opacity:.85}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.tegels{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--goud)}
.tegel{position:relative;min-height:440px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;overflow:hidden;isolation:isolate}
.tegel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s}
.tegel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,34,27,.05) 30%,rgba(14,34,27,.9) 100%)}
.tegel:hover img{transform:scale(1.06)}
.tegel .t{padding:36px}
.tegel h3{color:#fff;font-size:1.6rem}
.tegel p{margin:.5rem 0 1.2rem;color:rgba(255,255,255,.85);font-size:1.1rem}
.tegel .meer{font-family:var(--kop);font-size:.74rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--goud-licht)}
@media(max-width:900px){.tegels{grid-template-columns:1fr}.tegel{min-height:340px}}

.logoband{overflow:hidden;padding:10px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logoband .rij{display:flex;gap:70px;align-items:center;width:max-content;animation:schuif 55s linear infinite}
.logoband:hover .rij{animation-play-state:paused}
.logoband img{height:62px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.3s}
.logoband img:hover{filter:none;opacity:1}
@keyframes schuif{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.logoband .rij{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
.logomuur{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--lijn);border:1px solid var(--lijn)}
.logomuur div{background:#fff;display:grid;place-items:center;padding:28px;aspect-ratio:3/2}
.logomuur img{max-height:80px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.85;transition:.3s}
.logomuur div:hover img{filter:none;opacity:1}
.logomuur div.donker{background:var(--navy)}
.logoband img.licht{filter:grayscale(1) brightness(.35)}
.logoband img.licht:hover{filter:grayscale(1) brightness(.2)}
.logomuur{background:#fff}
.namenlijst{columns:4 200px;column-gap:40px;list-style:none;font-size:1.08rem}
.namenlijst li{break-inside:avoid;padding:6px 0;border-bottom:1px dotted var(--lijn)}
.pakketten{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pakket{background:#fff;border:1px solid var(--lijn);padding:44px 34px;text-align:center;display:flex;flex-direction:column}
.pakket.uitgelicht{background:var(--navy);color:rgba(255,255,255,.88);border-color:var(--goud);transform:translateY(-14px);box-shadow:0 25px 50px rgba(23,51,40,.25)}
.pakket.uitgelicht h3{color:var(--goud-licht)}
.pakket .niveau{font-family:var(--kop);font-size:.7rem;letter-spacing:0.11em;text-transform:uppercase;color:var(--goud)}
.pakket h3{font-size:1.5rem;margin:.5rem 0 1.4rem}
.pakket ul{list-style:none;text-align:left;margin-bottom:2rem;flex:1}
.pakket li{padding:9px 0 9px 26px;border-bottom:1px solid var(--lijn);position:relative;font-size:1.08rem}
.pakket li::before{content:"✦";position:absolute;left:0;color:var(--goud);font-size:.85rem;top:12px}
@media(max-width:900px){.pakketten{grid-template-columns:1fr}.pakket.uitgelicht{transform:none}}

.infoblokken{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.infoblok{background:#fff;padding:40px;border-left:3px solid var(--goud)}
.infoblok h3{margin-bottom:1rem}
.infoblok ul{list-style:none}
.infoblok li{padding:7px 0 7px 24px;position:relative}
.infoblok li::before{content:"✦";position:absolute;left:0;top:10px;font-size:.75rem;color:var(--goud)}
.infoblok .groot{grid-column:1/-1}
@media(max-width:800px){.infoblokken{grid-template-columns:1fr}}
.feitenlijst{display:grid;grid-template-columns:auto 1fr;gap:12px 30px;font-size:1.15rem}
.feitenlijst dt{font-family:var(--kop);font-size:.78rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--goud);padding-top:.3rem}
.feitenlijst dd{border-bottom:1px solid var(--lijn);padding-bottom:12px}

.personen{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.persoon{background:#fff;padding:36px 20px;border-top:3px solid var(--goud)}
.persoon .rol{font-family:var(--kop);font-size:.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--goud)}
.persoon .naam{font-family:var(--kop);font-size:1.25rem;color:var(--bordeaux);margin-top:.4rem}
.vrijwilligerslijst{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 40px}
.vrijwilligerslijst div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--lijn)}
.vrijwilligerslijst span:first-child{font-family:var(--kop);font-size:.78rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--goud);padding-top:.25rem}
.vrijwilligerslijst span:last-child{text-align:right}
@media(max-width:800px){.personen{grid-template-columns:1fr}}

.formulier{background:#fff;padding:50px;border-top:3px solid var(--goud);box-shadow:0 20px 50px rgba(23,51,40,.1)}
.formulier .rij2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.veld{margin-bottom:20px}
.veld label{display:block;font-family:var(--kop);font-size:.72rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--bordeaux);margin-bottom:6px}
.veld input,.veld select,.veld textarea{width:100%;font:inherit;font-size:1.1rem;padding:13px 14px;border:1px solid #d6ccb8;background:var(--perkament);color:var(--inkt);border-radius:0}
.veld input:focus,.veld select:focus,.veld textarea:focus{outline:2px solid var(--goud);outline-offset:0;background:#fff}
.veld textarea{min-height:130px;resize:vertical}
.vinkjes{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}
.vinkjes label{font-family:var(--tekst);text-transform:none;letter-spacing:0;font-size:1.1rem;color:var(--inkt);display:flex;gap:10px;align-items:center}
.vinkjes input{width:auto}
.formnoot{font-size:.98rem;color:var(--grijs);margin-top:14px}
@media(max-width:700px){.formulier{padding:30px 22px}.formulier .rij2,.vinkjes{grid-template-columns:1fr}}

.tarieven{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.tarief{background:#fff;border:1px solid var(--lijn);padding:40px;text-align:center}
.tarief .prijs{font-family:var(--kop);font-size:2.8rem;color:var(--bordeaux);line-height:1.1;margin:.6rem 0}
.tarief .prijs small{font-size:.95rem;color:var(--grijs)}
@media(max-width:700px){.tarieven{grid-template-columns:1fr}}

.faq details{border-bottom:1px solid var(--lijn)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-family:var(--kop);font-size:1.02rem;letter-spacing:.05em;color:var(--bordeaux);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-size:1.7rem;color:var(--goud);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--grijs)}

.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:40px;flex-wrap:wrap}
.tabs button{font-family:var(--kop);font-size:.78rem;letter-spacing:0.07em;text-transform:uppercase;padding:13px 24px;border:1px solid var(--goud);background:transparent;color:var(--bordeaux);cursor:pointer}
.tabs button.actief{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
.galerij{columns:3 300px;column-gap:14px}
.galerij a{display:block;margin-bottom:14px;overflow:hidden;break-inside:avoid;cursor:zoom-in}
.galerij img{width:100%;transition:transform .7s,opacity .3s}
.galerij a:hover img{transform:scale(1.04)}
.galerij[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,10,18,.95);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:88vh;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:14px;line-height:1}
.lightbox .sluit{top:10px;right:16px}.lightbox .vorige{left:10px;top:50%;transform:translateY(-50%)}.lightbox .volgende{right:10px;top:50%;transform:translateY(-50%)}
.fotostrook{display:grid;grid-template-columns:repeat(6,1fr)}
.fotostrook img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:800px){.fotostrook{grid-template-columns:repeat(3,1fr)}}

.aankondiging{background:var(--perkament-2);border:1px solid var(--lijn);padding:34px 40px;text-align:center}
.aankondiging h3{margin-bottom:.5rem}

.footer{background:var(--navy);color:rgba(255,255,255,.72);font-size:1.05rem}
.footer-cta{background:var(--bordeaux);color:#fff;padding:60px 0}
.footer-cta .container{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.footer-cta h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem)}
.footer-cta .script{font-size:2.2rem;display:block;color:var(--goud-licht)}
.footer-hoofd{padding:80px 0 50px}
.footer-hoofd .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}
.footer img.flogo{height:110px;width:auto;margin:-10px 0 14px -14px}
.footer h4{color:var(--goud-licht);font-size:.78rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:1.2rem}
.footer ul{list-style:none}
.footer li{padding:4px 0}
.footer a{color:rgba(255,255,255,.8);text-decoration:none}
.footer a:hover{color:var(--goud-licht)}
.footer-onder{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;font-size:.92rem}
.footer-onder .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.social{display:flex;gap:12px;margin-top:20px}
.social a{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center}
.social a:hover{border-color:var(--goud-licht)}
.social svg{width:18px;height:18px;fill:currentColor}
@media(max-width:900px){.footer-hoofd .container{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-hoofd .container{grid-template-columns:1fr}}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}

:root{--ui:"Libre Franklin",Arial,sans-serif}
.btn,.bovenkop,.topbalk,.hoofdmenu>ul>li>a,.kruimel,.infobalk .label,.cijfers span,.kaart .meer,.tegel .meer,.footer h4,.tabs button,.veld label,.pakket .niveau,.feitenlijst dt,.vrijwilligerslijst span:first-child,.persoon .rol,.beeldband cite,.menuknop,.mobielmenu a{font-family:var(--ui);font-weight:700}
.bovenkop{letter-spacing:0.08em;font-size:.74rem}
.btn{letter-spacing:0.05em;font-size:.78rem;padding:17px 32px;position:relative;overflow:hidden;transition:background .3s,color .3s,border-color .3s,transform .3s}
.btn::after{content:"→";display:inline-block;margin-left:.7em;transition:transform .3s}
.btn:hover{transform:translateY(-2px)}
.btn:hover::after{transform:translateX(5px)}
h2{font-size:clamp(2rem,4.2vw,3.3rem);letter-spacing:.01em}
.sectie{padding:130px 0}

.hero{overflow:hidden;background:none}
.hero .hero-beeld{position:absolute;inset:0;z-index:-2;background:center/cover no-repeat;animation:kenburns 22s ease-out forwards;transform-origin:60% 40%}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.hero .hero-beeld{animation:none}}
.hero h1{font-size:clamp(2.6rem,7.4vw,6rem);letter-spacing:.04em}
.hero .container>*{animation:omhoog 1.2s cubic-bezier(.2,.7,.2,1) both}
.hero .script{animation-delay:.15s}.hero .datumregel{animation-delay:.3s}.hero .knoppen{animation-delay:.45s}.hero .aftellen{animation-delay:.6s}
@keyframes omhoog{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.aftellen{display:flex;justify-content:center;gap:0;margin-top:46px}
.aftellen div{min-width:96px;padding:6px 18px;border-left:1px solid rgba(255,255,255,.25)}
.aftellen div:first-child{border-left:0}
.aftellen b{display:block;font-family:var(--kop);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.aftellen span{font-family:var(--ui);font-size:.66rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--goud-licht)}
.scrollhint{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);width:1px;height:46px;background:linear-gradient(rgba(255,255,255,0),#fff);animation:hint 2.2s ease-in-out infinite}
@keyframes hint{0%,100%{opacity:.2;transform:translate(-50%,-8px)}50%{opacity:1;transform:translate(-50%,0)}}
@media(max-width:700px){.scrollhint{display:none}.aftellen div{min-width:70px;padding:4px 10px}}

.vastebalk{background:rgba(16,38,30,.78);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.08)}
.hoofdmenu>ul>li>a{position:relative}
.hoofdmenu>ul>li>a::after{content:"";position:absolute;left:18px;right:18px;bottom:8px;height:1px;background:var(--goud-licht);transform:scaleX(0);transition:transform .3s}
.hoofdmenu>ul>li>a:hover::after,.hoofdmenu a.actief::after{transform:scaleX(1)}
.voortgang{position:fixed;top:0;left:0;height:2px;background:var(--goud);z-index:70;width:0}

.kaart{box-shadow:none;border:1px solid rgba(176,141,46,.25)}
.kaart:hover{box-shadow:0 30px 60px -20px rgba(23,51,40,.3)}
.kaart .inhoud{border-top:0;padding:30px 30px 36px}
.kaart .foto{aspect-ratio:5/4}
.infobalk .container{box-shadow:0 30px 70px -25px rgba(23,51,40,.35)}
.pakket{transition:transform .35s,box-shadow .35s}
.pakket:hover{transform:translateY(-8px);box-shadow:0 30px 60px -20px rgba(23,51,40,.3)}
.pakket.uitgelicht:hover{transform:translateY(-20px)}

.sponsorband{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;background:var(--navy);color:rgba(255,255,255,.85)}
.sponsorband .tekst{padding:90px 70px;display:flex;flex-direction:column;justify-content:center}
.sponsorband h2{color:#fff}
.sponsorband .beeld{background:center/cover no-repeat}
.sponsorband ul{list-style:none;margin:1.6rem 0 2.2rem}
.sponsorband li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid rgba(255,255,255,.1)}
.sponsorband li::before{content:"✦";position:absolute;left:0;top:10px;color:var(--goud);font-size:.8rem}
@media(max-width:900px){.sponsorband{grid-template-columns:1fr}.sponsorband .beeld{min-height:300px;order:-1}.sponsorband .tekst{padding:60px 28px}}

:root{--max:1440px}
.container{padding:0 clamp(24px,4vw,64px)}
body{font-size:clamp(1.15rem,0.9rem + .45vw,1.35rem)}
.sectie{padding:clamp(90px,9vw,170px) 0}
.sectie.compact{padding:clamp(70px,6vw,110px) 0}
.sectiekop{max-width:900px;margin-bottom:clamp(50px,5vw,80px)}
h2{font-size:clamp(2rem,1.2rem + 2.4vw,3.8rem)}
.duo{gap:clamp(50px,7vw,130px)}
.kaarten{gap:clamp(24px,2.4vw,44px)}

.header .container{padding-top:34px}
.header .logo img{height:clamp(70px,6.5vw,112px);width:auto;margin:0}
.hoofdmenu{margin-top:26px}
.hoofdmenu>ul>li>a{padding:16px clamp(14px,1.4vw,26px);font-size:clamp(.74rem,.6rem + .2vw,.86rem)}
.vastebalk .container{height:86px}
.vastebalk .logo img{height:54px;width:auto}
.vastebalk .hoofdmenu>ul>li>a{padding:32px clamp(10px,1vw,18px)}
.topbalk .container{min-height:44px}
.header{top:44px}
@media(max-width:1020px){.header .logo img{height:62px}.header .container{padding-top:20px}}

.hero .container{padding-bottom:clamp(140px,12vw,200px)}
.infobalk .vak{padding:clamp(28px,2.6vw,44px) 20px}
.infobalk .waarde{font-size:clamp(1.1rem,.9rem + .5vw,1.45rem)}

.logoband{padding:30px 0}
.logoband .rij{gap:clamp(60px,6vw,110px)}
.logoband img{height:clamp(56px,4.6vw,86px);max-width:220px}
.logomuur{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.logomuur img{max-height:100px}

.tegel{min-height:clamp(380px,34vw,620px)}
.tegel .t{padding:clamp(30px,3vw,56px)}
.tegel h3{font-size:clamp(1.5rem,1.1rem + 1vw,2.2rem)}

.footer-cta{padding:clamp(60px,6vw,100px) 0}
.footer-cta h2{font-size:clamp(1.6rem,1.1rem + 1.4vw,2.6rem)}
.footer-hoofd{padding:clamp(80px,7vw,130px) 0 clamp(60px,5vw,90px)}
.footer-hoofd .container{gap:clamp(40px,5vw,100px)}
.footer img.flogo{height:auto;width:min(260px,70%);margin:0 0 28px}
.footer li{padding:7px 0}
.footer h4{margin-bottom:1.6rem}
.footer-onder{padding:30px 0}

.kaartblok{display:grid;grid-template-columns:360px 1fr;min-height:640px;background:var(--navy);border:1px solid var(--lijn)}
.kaartblok .legenda{padding:34px 30px;color:rgba(255,255,255,.85);overflow-y:auto;max-height:720px}
.kaartblok .legenda h3{color:#fff;margin-bottom:.4rem}
.kaartblok .legenda p{font-size:1rem;color:rgba(255,255,255,.7)}
.filters{display:flex;flex-direction:column;gap:8px;margin:22px 0}
.filters button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;padding:12px 14px;font-family:var(--ui);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}
.filters button:hover{border-color:var(--goud)}
.filters button.uit{opacity:.4}
.filters .stip{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:.72rem;color:#fff;border:2px solid #fff}
.filters .aantal{margin-left:auto;opacity:.6;font-weight:500}
#kerstkaart{min-height:640px;height:100%;background:#2a2a33}
#kerstkaart .leaflet-tile-pane{filter:sepia(.45) saturate(.9) brightness(.92) contrast(1.05)}
.kf-pin{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.kf-pin span{transform:rotate(45deg);color:#fff;font:700 12px/1 var(--ui)}
.leaflet-popup-content-wrapper{border-radius:0;border-top:3px solid var(--goud);font-family:var(--tekst)}
.leaflet-popup-content{margin:16px 18px;font-size:1.05rem;line-height:1.5}
.leaflet-popup-content b{font-family:var(--kop);color:var(--bordeaux);font-size:1.05rem;display:block;margin-bottom:4px}
.kaartnoot{font-size:.95rem;color:var(--grijs);margin-top:14px;text-align:center}
@media(max-width:900px){.kaartblok{grid-template-columns:1fr}.kaartblok .legenda{max-height:none}#kerstkaart{min-height:480px}}

.ovd{display:grid;grid-template-columns:260px 1fr;gap:clamp(40px,5vw,90px);align-items:center;max-width:1100px;margin:0 auto}
.ovd-logo{background:var(--perkament);border:1px solid var(--lijn);aspect-ratio:1;display:grid;place-items:center;padding:40px}
.ovd-logo img{max-height:180px;width:auto}
@media(max-width:800px){.ovd{grid-template-columns:1fr;text-align:center}.ovd-logo{max-width:220px;margin:0 auto}}

.video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}

.topbalk .kort{display:none}
@media(max-width:700px){
  .topbalk{font-size:.62rem;letter-spacing:0.06em}
  .topbalk .lang{display:none}.topbalk .kort{display:inline}
  .hero .datumregel{letter-spacing:0.05em;line-height:1.9}
  .hero .datumregel .sep{display:block;height:0;overflow:hidden}
  .hero h1{font-size:2.5rem}
}
.ovd{grid-template-columns:minmax(260px,380px) 1fr;max-width:1240px}
.ovd-logo{padding:50px;background:#fff;box-shadow:0 30px 60px -30px rgba(23,51,40,.35);position:relative}
.ovd-logo::after{content:"";position:absolute;inset:16px;border:1px solid var(--lijn);pointer-events:none}
.ovd-logo img{max-height:240px;filter:none;opacity:1}
.ovd h2{font-size:clamp(2.2rem,1.4rem + 2.6vw,4rem)}
.logomuur{grid-template-columns:repeat(6,1fr);background:var(--lijn);gap:1px;border:1px solid var(--lijn)}
.logomuur div{background:#fff;aspect-ratio:4/3;padding:clamp(18px,2vw,34px)}
.logomuur img{max-height:76px;max-width:100%}
@media(max-width:1100px){.logomuur{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.logomuur{grid-template-columns:repeat(2,1fr)}}

.header{top:0}

.citaten{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:clamp(20px,2.5vw,44px);align-items:stretch}
.citaat{background:#fff;padding:clamp(34px,3.5vw,60px) clamp(28px,3vw,50px);display:flex;flex-direction:column;justify-content:space-between;position:relative;border-top:3px solid var(--goud)}
.citaat::before{content:"\201C";position:absolute;top:-6px;right:24px;font-family:var(--kop);font-size:7rem;line-height:1;color:var(--goud);opacity:.22}
.citaat blockquote{font-family:var(--tekst);font-style:italic;font-size:clamp(1.5rem,1.1rem + 1vw,2.1rem);line-height:1.3;color:var(--bordeaux)}
.citaat.groot{background:var(--bordeaux);border-top-color:var(--goud-licht)}
.citaat.groot blockquote{color:#fff;font-family:var(--kop);font-style:normal;text-transform:uppercase;font-size:clamp(1.7rem,1.2rem + 1.4vw,2.6rem)}
.citaat.groot figcaption,.citaat.groot a{color:rgba(255,255,255,.85)}
.citaat figcaption{margin-top:1.8rem;font-size:1.05rem;color:var(--grijs)}
.citaat figcaption span{display:block;font-family:var(--ui);font-weight:700;font-size:.7rem;letter-spacing:0.07em;text-transform:uppercase;margin-top:.5rem}
.citaat figcaption a{color:var(--goud);text-decoration:none}
.tip{text-align:center;margin-top:clamp(40px,4vw,70px);font-style:italic;font-size:1.25rem;color:var(--grijs)}
.tip a{color:var(--bordeaux)}
@media(max-width:900px){.citaten{grid-template-columns:1fr}}

@media(max-width:1020px){.vastebalk .container{height:64px}.vastebalk .logo img{height:40px}}

.verblijven{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.4vw,44px)}
.verblijf{background:var(--perkament);display:flex;flex-direction:column}
.verblijf .foto{aspect-ratio:4/3;overflow:hidden}
.verblijf .foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.verblijf:hover .foto img{transform:scale(1.05)}
.verblijf .inhoud{padding:clamp(26px,2.4vw,40px);display:flex;flex-direction:column;flex:1}
.verblijf h3{font-size:clamp(1.4rem,1.1rem + .7vw,1.9rem);margin-bottom:.6rem}
.verblijf .adres{margin-top:.8rem;font-family:var(--ui);font-weight:700;font-size:.78rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--grijs)}
.verblijf .meer{margin-top:auto;padding-top:1.4rem;font-family:var(--ui);font-weight:700;font-size:.75rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--bordeaux);text-decoration:none}
.verblijf .meer::after{content:" →"}
@media(max-width:900px){.verblijven{grid-template-columns:1fr}}

.hoofdmenu li.taal{display:flex;align-items:center;gap:6px;margin-left:12px;padding-left:16px;border-left:1px solid rgba(255,255,255,.25);font-family:var(--ui);font-weight:700;font-size:.74rem;letter-spacing:0.05em}
.hoofdmenu li.taal a{color:rgba(255,255,255,.65);text-decoration:none;padding:4px}
.hoofdmenu li.taal a:hover{color:#fff}
.hoofdmenu li.taal span{color:var(--goud-licht);padding:4px}
.mobielmenu li.taal{display:flex;gap:18px;padding:18px 0;font-family:var(--ui);font-weight:700}
.mobielmenu li.taal a{padding:0;display:inline}
.mobielmenu li.taal span{color:var(--goud-licht)}

.cultuur{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(260px,auto);gap:clamp(14px,1.4vw,24px)}
.cultuur-item{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;min-height:300px;isolation:isolate}
.cultuur-item.groot{grid-column:span 2;grid-row:span 2}
.cultuur-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s}
.cultuur-item::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,34,27,0) 35%,rgba(14,34,27,.88) 100%)}
.cultuur-item:hover img{transform:scale(1.05)}
.cultuur-item div{padding:clamp(22px,2vw,36px)}
.cultuur-item h3{color:#fff;font-size:clamp(1.15rem,.9rem + .6vw,1.6rem);margin-bottom:.4rem}
.cultuur-item.groot h3{font-size:clamp(1.5rem,1rem + 1.2vw,2.3rem)}
.cultuur-item p{color:rgba(255,255,255,.85);font-size:1.05rem;line-height:1.5}
@media(max-width:1000px){.cultuur{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cultuur{grid-template-columns:1fr}.cultuur-item.groot{grid-column:auto;grid-row:auto;min-height:380px}}

.kf-pin.groot{width:46px;height:46px;border-color:var(--goud-licht);box-shadow:0 0 0 6px rgba(176,141,46,.35),0 6px 14px rgba(0,0,0,.4)}
.kf-pin.groot span{font-size:18px}
.kf-kraam{width:22px;height:22px;background:#8a6d2f;border:2px solid #fff;color:#fff;font:700 10px/18px var(--ui);text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.kraamzoek{display:block;margin-top:18px}
.kraamzoek span{display:block;font-family:var(--ui);font-weight:700;font-size:.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--goud-licht);margin-bottom:6px}
.kraamzoek input{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:1rem}
.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.55)!important;color:#777!important}
@media(max-width:900px){.kaartblok .legenda{padding:24px 22px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filters button{font-size:.66rem;padding:10px;gap:8px}.filters .stip{width:22px;height:22px}}

.kraamzoek[hidden]{display:none!important}
.kaartblok .legenda{max-height:none;overflow:visible}

.kaartsectie{background:var(--navy);padding:clamp(80px,7vw,130px) 0 0;color:#fff}
.kaartkop{text-align:center;margin-bottom:clamp(30px,3vw,50px)}
.kaartkop h2{color:#fff}
.kaartvlak{position:relative;height:min(82vh,860px);min-height:520px}
#kerstkaart{position:absolute;inset:0;background:#11131f}
.kaartpaneel{position:absolute;top:clamp(16px,2vw,28px);left:clamp(16px,2vw,28px);width:300px;padding:18px;background:rgba(12,30,23,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(217,196,142,.25);display:flex;flex-direction:column;gap:10px;z-index:2}
.kaartpaneel .filters{display:flex;flex-direction:column;gap:6px;margin:0}
.chip{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#fff;font:700 .74rem/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;transition:.2s}
.chip i{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 10px currentColor}
.chip:hover{border-color:var(--goud)}
.chip.uit{opacity:.35}
.naar-binnenstad{margin-top:4px;padding:12px;background:var(--goud);color:var(--navy);border:0;font:700 .74rem var(--ui);letter-spacing:0.06em;text-transform:uppercase;cursor:pointer}
.naar-binnenstad:hover{background:var(--goud-licht)}
.kraamzoek input{width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:1rem}
.mk{width:34px;height:34px;border-radius:50%;background:var(--k);color:#fff;border:2px solid rgba(255,255,255,.9);font:700 12px/1 var(--ui);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 4px color-mix(in srgb,var(--k) 30%,transparent),0 6px 16px rgba(0,0,0,.5);transition:transform .2s}
.mk:hover{transform:scale(1.15)}
.mk-groot{width:52px;height:52px;font-size:20px;border-color:var(--goud-licht);animation:gloed 2.6s ease-in-out infinite}
@keyframes gloed{50%{box-shadow:0 0 0 12px rgba(163,36,44,.15),0 0 30px rgba(224,180,90,.55)}}
.mk-kraam{width:20px;height:20px;border-radius:3px;font-size:9px}
.kf-pop .maplibregl-popup-content{background:var(--navy);color:#fff;border:1px solid rgba(217,196,142,.4);border-radius:0;padding:14px 16px;font-family:var(--tekst);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.kf-pop .maplibregl-popup-content b{display:block;font-family:var(--kop);color:var(--goud-licht);font-size:1rem}
.kf-pop .maplibregl-popup-content span{display:block;margin-top:4px;font-size:.98rem;color:rgba(255,255,255,.8)}
.kf-pop .maplibregl-popup-tip{border-top-color:var(--navy)!important;border-bottom-color:var(--navy)!important}
.maplibregl-ctrl-attrib{font-size:9px;background:rgba(12,30,23,.6)!important;color:#888}
.maplibregl-ctrl-attrib a{color:#999}
@media(max-width:800px){
  .kaartvlak{height:78vh}
  .kaartpaneel{left:10px;right:10px;top:10px;width:auto;padding:10px;flex-direction:column}
  .kaartpaneel .filters{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px}
  .chip{width:auto;white-space:nowrap;padding:8px 10px;font-size:.64rem}
  .naar-binnenstad{display:none}
}

.sectie.perkament{background:var(--perkament-2)}
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:0;border-left:3px solid transparent;box-shadow:0 6px 20px -12px rgba(23,51,40,.25);transition:border-color .2s}
.faq details[open]{border-left-color:var(--goud)}
.faq summary{font-family:var(--ui);font-weight:700;font-size:clamp(1rem,.9rem + .3vw,1.15rem);letter-spacing:0;text-transform:none;color:var(--navy);padding:22px 56px 22px 26px}
.faq summary::after{right:24px;top:15px}
.faq details p{padding:0 26px 24px;font-size:1.15rem;color:var(--inkt)}

.verblijven{grid-template-columns:repeat(2,1fr);max-width:1100px;margin:0 auto}
@media(max-width:800px){.verblijven{grid-template-columns:1fr}}

.regels{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,24px);max-width:1200px}
.regel{display:flex;gap:22px;background:#fff;padding:clamp(24px,2.4vw,36px);border-left:3px solid var(--goud)}
.regel .nr{font-family:var(--kop);font-size:2rem;line-height:1;color:var(--goud)}
.regel h3{font-size:1.15rem;margin-bottom:.35rem}
.regel p{color:var(--inkt);font-size:1.12rem}
@media(max-width:800px){.regels{grid-template-columns:1fr}}

.regel .nr{font-size:1.5rem;color:var(--goud)}

.tijdlijn-dag{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:2px solid var(--goud);max-width:1300px;margin:0 auto}
.tijdlijn-dag .moment{position:relative;padding:34px 18px 0}
.tijdlijn-dag .moment::before{content:"";position:absolute;top:-8px;left:18px;width:14px;height:14px;border-radius:50%;background:var(--bordeaux);box-shadow:0 0 0 4px #fff}
.tijdlijn-dag b{display:block;font-family:var(--kop);font-size:1.5rem;color:var(--bordeaux);margin-bottom:.4rem}
.tijdlijn-dag span{font-size:1.05rem;color:var(--inkt);line-height:1.5}
@media(max-width:1000px){.tijdlijn-dag{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--goud);margin-left:8px}.tijdlijn-dag .moment{padding:0 0 26px 28px}.tijdlijn-dag .moment::before{top:6px;left:-8px}}

.programma{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(30px,4vw,80px);max-width:1200px;margin:0 auto}
.programma .pr{display:grid;grid-template-columns:150px 1fr;gap:4px 20px;padding:18px 0;border-bottom:1px solid var(--lijn)}
.programma b{font-family:var(--ui);font-weight:700;font-size:.9rem;color:var(--bordeaux);grid-row:span 2;padding-top:3px}
.programma span{font-family:var(--kop);font-size:1.15rem;color:var(--navy)}
.programma i{font-style:normal;color:var(--grijs);font-size:1rem}
@media(max-width:800px){.programma{grid-template-columns:1fr}.programma .pr{grid-template-columns:110px 1fr}}

.pijlers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,70px);text-align:center}
.pijler .nr{display:block;font-size:2rem;color:var(--goud-licht);margin-bottom:.8rem}
.pijler h3{color:#fff;font-size:clamp(1.3rem,1rem + .8vw,1.8rem);margin-bottom:.6rem}
.pijler p{color:rgba(255,255,255,.8);font-size:1.15rem}
@media(max-width:800px){.pijlers{grid-template-columns:1fr}}

.verhalen{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:clamp(16px,1.8vw,28px)}
.verhaal{background:#fff;display:flex;flex-direction:column;overflow:hidden}
.verhaal img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .9s}
.verhaal:hover img{transform:scale(1.04)}
.verhaal>div{padding:clamp(22px,2vw,34px);display:flex;flex-direction:column;flex:1}
.verhaal h3{font-size:clamp(1.25rem,1rem + .6vw,1.7rem);margin-bottom:.5rem}
.verhaal p{color:var(--inkt);font-size:1.12rem;line-height:1.55}
.verhaal q{font-style:italic;color:var(--bordeaux)}
.verhaal cite{margin-top:auto;padding-top:1rem;font-style:normal;font-family:var(--ui);font-weight:700;font-size:.68rem;letter-spacing:0.07em;text-transform:uppercase}
.verhaal cite a{color:var(--goud);text-decoration:none}
.verhaal.groot{grid-row:span 2;background:var(--navy)}
.verhaal.groot img{aspect-ratio:auto;flex:1;min-height:320px}
.verhaal.groot h3{color:#fff;font-size:clamp(1.6rem,1.1rem + 1.4vw,2.6rem)}
.verhaal.groot p{color:rgba(255,255,255,.85)}
.verhaal.groot>div{flex:none}
.friesquote{text-align:center;margin:clamp(50px,5vw,90px) auto 0;font-family:var(--tekst);font-style:italic;font-size:clamp(1.8rem,1.2rem + 1.8vw,3rem);color:var(--bordeaux);max-width:900px}
.friesquote cite{display:block;margin-top:.8rem;font-style:normal;font-family:var(--ui);font-weight:700;font-size:.72rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--grijs)}
.friesquote cite a{color:var(--goud);text-decoration:none}
@media(max-width:1000px){.verhalen{grid-template-columns:1fr 1fr}.verhaal.groot{grid-column:span 2;grid-row:auto}}
@media(max-width:600px){.verhalen{grid-template-columns:1fr}.verhaal.groot{grid-column:auto}}

.kaarten.vier{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.kaarten.vier{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kaarten.vier{grid-template-columns:1fr}}

.taal .vlag{width:26px;height:auto;display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.hoofdmenu li.taal{gap:10px}
.hoofdmenu li.taal span .vlag{box-shadow:0 0 0 2px var(--goud-licht)}
.hoofdmenu li.taal a .vlag{opacity:.55;transition:opacity .2s}
.hoofdmenu li.taal a:hover .vlag{opacity:1}
.mobielmenu li.taal .vlag{width:34px}
.formulier .bedankt{background:var(--perkament);border-left:3px solid var(--goud);padding:24px;font-size:1.2rem}

.vervoer{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px)}
.vv{background:#fff;padding:clamp(26px,2.4vw,38px);border-top:3px solid var(--goud);display:flex;flex-direction:column}
.vv:last-child{opacity:.85;border-top-color:var(--lijn)}
.vv .ico{font-size:2rem;line-height:1;margin-bottom:14px}
.vv h3{margin-bottom:.4rem}
.vv p{font-size:1.1rem;color:var(--inkt)}
.vv a{margin-top:auto;padding-top:12px;color:var(--bordeaux);font-family:var(--ui);font-weight:700;font-size:.82rem}
@media(max-width:1000px){.vervoer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vervoer{grid-template-columns:1fr}}

.hoofdmenu{border-top:0!important;border-bottom:0!important}
.hoofdmenu>ul>li>a::after{display:none}
.header .hoofdmenu{margin-top:18px}

.mk-boom{width:30px;height:30px;font-size:15px;background:rgba(12,30,23,.85)!important;border-color:var(--goud-licht)}

.mk{width:38px;height:38px;border-radius:10px;padding:6px;position:relative;border:2px solid #fff}
.mk svg{width:100%;height:100%;display:block}
.mk em{position:absolute;right:-8px;top:-8px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#fff;color:#173328;font:700 11px/20px var(--ui);font-style:normal;box-shadow:0 2px 6px rgba(0,0,0,.4)}

.kaart-sneeuw{position:absolute;inset:0;pointer-events:none;z-index:1}

.plattegrondband{background:radial-gradient(ellipse at 70% 50%,#24493d 0%,var(--navy) 60%);color:#fff;padding:clamp(70px,7vw,120px) 0}
.plattegrondband .container{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.plattegrondband h2{color:#fff}
.plattegrondband p{color:rgba(255,255,255,.8);margin-top:.6rem;font-size:1.2rem}

html,body{overflow-x:hidden;max-width:100%}
img,svg,video,iframe{max-width:100%}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
@media(max-width:480px){
  .header .container,.vastebalk .container{padding-left:16px;padding-right:16px;gap:10px}
  .header .logo img{height:52px}
  .menuknop{font-size:.72rem;letter-spacing:0.05em;flex-shrink:0}
  .hero h1{font-size:2.1rem;letter-spacing:.02em}
  .hero .script{font-size:2.2rem}
  .paginakop h1{font-size:1.9rem;letter-spacing:.03em}
  .infobalk .container{grid-template-columns:1fr;transform:translateY(-40px);margin:0 16px}
  .infobalk .vak{border-right:0!important;border-bottom:1px solid var(--lijn);padding:18px 14px}
  .infobalk .vak:last-child{border-bottom:0}
  .infobalk .label{letter-spacing:0.05em;font-size:.64rem}
  .bovenkop{letter-spacing:0.06em}
  .btn{padding:15px 22px;letter-spacing:0.04em}
  .aftellen div{min-width:0;flex:1;padding:4px 6px}
}

.formulier .privacy{font-size:.95rem;color:var(--grijs);margin:4px 0 18px}
.formnoot.fout{color:#a3242c}

.regels{display:block;max-width:760px;margin:0 auto}
.regel{display:block;background:none;padding:18px 0;border-left:0;border-bottom:1px solid rgba(0,0,0,.12)}
.regel:last-child{border-bottom:0}
.regel .nr{display:none}
.regel h3{font-size:1.1rem;margin-bottom:.25rem}

.sectie.donker p,.sectie.donker li,.bordeaux .duo-tekst p{color:rgba(255,255,255,.86)}
.sectie.donker .lead{color:#fff}
.sectie.donker a.meer{color:var(--goud)}

.bovenkop,.infobalk .label,cite a,.niveau{color:var(--goud-tekst)}
.bovenkop{font-size:.85rem;font-weight:600}
.sectie.donker .bovenkop,.bordeaux .bovenkop,.paginakop .bovenkop,.hero .bovenkop,.plattegrondband .bovenkop,.beeldband .bovenkop,.footer .bovenkop,.sectie.donker cite a,.bordeaux cite a{color:var(--goud-licht)}
.footer a.btn-goud{color:var(--navy)}
.footer a.btn-goud:hover{color:var(--navy)}
.pakket .niveau{color:var(--goud-tekst);font-weight:600}
.pakket.uitgelicht .niveau{color:var(--goud-licht)}
.pakket h3{font-size:2rem}
.pakket ul{text-align:left}

.hero::before{background:linear-gradient(180deg,rgba(10,26,20,.75) 0%,rgba(10,26,20,.5) 30%,rgba(10,26,20,.55) 65%,rgba(10,26,20,.92) 100%)}
.hero .script,.hero .datumregel,.hero .aftellen{text-shadow:0 2px 14px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.6)}

.aftellen span{font-size:.72rem;letter-spacing:0.06em}
.verhaal cite,.friesquote cite{font-size:.75rem}
@media(max-width:480px){.aftellen span{font-size:.7rem;letter-spacing:0.04em}}

.regel{position:relative;padding-left:46px}
.regel::before{content:"";position:absolute;left:4px;top:19px;width:26px;height:26px;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%23b08d2e'%3E%3Cpath d='M16 1l2.6 10.2L28 6.5l-5 8.9L32 16l-9 .6 5 8.9-9.4-4.7L16 31l-2.6-10.2L4 25.5l5-8.9L0 16l9-.6-5-8.9 9.4 4.7z' opacity='.35'/%3E%3Cpath d='M16 3.5l1.9 9.3 8.2-5.4-5.4 8.2 9.3 1.9-9.3 1.9 5.4 8.2-8.2-5.4L16 31.5l-1.9-9.3-8.2 5.4 5.4-8.2L2 17.5l9.3-1.9-5.4-8.2 8.2 5.4z' transform='translate(0 -1.5)'/%3E%3Ccircle cx='16' cy='16' r='2.2' fill='%23fff8dc'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}

.ovd-logo.duo-logo{aspect-ratio:auto;display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,44px);padding:clamp(34px,3.5vw,54px)}
.ovd-logo.duo-logo img{max-height:170px;max-width:46%;width:auto;height:auto;object-fit:contain}
.ovd-logo.duo-logo img:last-child{max-height:120px}
@media(max-width:800px){.ovd-logo.duo-logo{max-width:340px}}
.ovd{grid-template-columns:minmax(300px,460px) 1fr}@media(max-width:800px){.ovd{grid-template-columns:1fr}}
.ovd-logo.duo-logo{background:none;border:0;box-shadow:none;padding:0}.ovd-logo.duo-logo::after{display:none}
.ovd-logo.duo-logo img{max-height:230px;max-width:48%}.ovd-logo.duo-logo img:last-child{max-height:165px}@media(max-width:800px){.ovd-logo.duo-logo{max-width:400px}.ovd-logo.duo-logo img{max-height:170px}.ovd-logo.duo-logo img:last-child{max-height:120px}}
.ovd{grid-template-columns:minmax(320px,600px) 1fr}.ovd-logo.duo-logo{gap:clamp(30px,4vw,60px)}.ovd-logo.duo-logo img{max-height:320px;max-width:50%}.ovd-logo.duo-logo img:last-child{max-height:220px}.ovd h2{hyphens:manual;-webkit-hyphens:manual}@media(max-width:800px){.ovd{grid-template-columns:1fr}.ovd-logo.duo-logo{max-width:440px}.ovd-logo.duo-logo img{max-height:200px}.ovd-logo.duo-logo img:last-child{max-height:140px}}

.sectie.wit{background:var(--perkament-2)}
.sectie.wit .tarief,.sectie.wit .pakket:not(.uitgelicht),.sectie.wit .formulier,.sectie.wit .faq details,.sectie.wit .citaat,.sectie.wit .verhaal{background:#fafbf8}
.logomuur,.logomuur div{background:#fafbf8}
.tarief{border-color:rgba(176,141,46,.35)}
.logomuur div:not(.donker) img,.logoband img{mix-blend-mode:multiply}
.ovd{grid-template-columns:minmax(300px,1fr) 1fr}.ovd h2{font-size:clamp(2rem,1.4rem + 2vw,3.2rem)}

.btn-goud,.footer a.btn-goud{background:var(--bordeaux-2);border-color:var(--bordeaux-2);color:#fff}
.btn-goud:hover,.footer a.btn-goud:hover{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}

.sponsorband .bovenkop,.verhaal.groot .bovenkop,.verhaal.groot cite a{color:var(--goud-licht)}
.verhaal cite a,.friesquote cite a,.citaat figcaption a,.persoon .rol,.vrijwilligerslijst span:first-child{color:var(--goud-tekst)}
