:root{
  --ink:#0d2340;
  --night:#061522;
  --night2:#0d3858;
  --cream:#f4efe6;
  --paper:#fbf8f2;
  --gold:#d9a72e;
  --gold2:#f0c45a;
  --gold-text:#85600c; /* goud voor tekst op licht: contrast ≥ 4,5 */
  --meta:#5c6876;     /* kleine grijze tekst op licht */
  --line:#cda64c;
  --muted:#586878;
  --red:#9f2b2f;
  --display:"Moret","Young Serif",Georgia,serif;
  --nav:"Josefin Sans","Montserrat",Arial,sans-serif;
  --divider:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='24' viewBox='0 0 360 24'%3E%3Cpath d='M196 11.2L360 12 196 12.8Z'/%3E%3Cpath d='M164 11.2L0 12 164 12.8Z'/%3E%3Cpath d='M180 2C180.9 9.6 182.4 11.1 190 12C182.4 12.9 180.9 14.4 180 22C179.1 14.4 177.6 12.9 170 12C177.6 11.1 179.1 9.6 180 2Z'/%3E%3C/svg%3E");
  --frame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23cda64c'%3E%3Cpath stroke-opacity='.55' d='M14.5 .5H49.5A14 14 0 0 0 63.5 14.5V49.5A14 14 0 0 0 49.5 63.5H14.5A14 14 0 0 0 .5 49.5V14.5A14 14 0 0 0 14.5 .5Z'/%3E%3Cpath stroke-opacity='.95' d='M19.8 7H44.2A21 21 0 0 0 57 19.8V44.2A21 21 0 0 0 44.2 57H19.8A21 21 0 0 0 7 44.2V19.8A21 21 0 0 0 19.8 7Z'/%3E%3Cg fill='%23cda64c' stroke='none' fill-opacity='.95'%3E%3Cpath d='M12.4 10.2L14.6 12.4 12.4 14.6 10.2 12.4Z'/%3E%3Cpath d='M51.6 10.2L53.8 12.4 51.6 14.6 49.4 12.4Z'/%3E%3Cpath d='M12.4 49.4L14.6 51.6 12.4 53.8 10.2 51.6Z'/%3E%3Cpath d='M51.6 49.4L53.8 51.6 51.6 53.8 49.4 51.6Z'/%3E%3C/g%3E%3C/svg%3E");
  --frame-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%230d2340'%3E%3Cpath stroke-opacity='.35' d='M14.5 .5H49.5A14 14 0 0 0 63.5 14.5V49.5A14 14 0 0 0 49.5 63.5H14.5A14 14 0 0 0 .5 49.5V14.5A14 14 0 0 0 14.5 .5Z'/%3E%3Cpath stroke-opacity='.6' d='M19.8 7H44.2A21 21 0 0 0 57 19.8V44.2A21 21 0 0 0 44.2 57H19.8A21 21 0 0 0 7 44.2V19.8A21 21 0 0 0 19.8 7Z'/%3E%3Cg fill='%230d2340' stroke='none' fill-opacity='.6'%3E%3Cpath d='M12.4 10.2L14.6 12.4 12.4 14.6 10.2 12.4Z'/%3E%3Cpath d='M51.6 10.2L53.8 12.4 51.6 14.6 49.4 12.4Z'/%3E%3Cpath d='M12.4 49.4L14.6 51.6 12.4 53.8 10.2 51.6Z'/%3E%3Cpath d='M51.6 49.4L53.8 51.6 51.6 53.8 49.4 51.6Z'/%3E%3C/g%3E%3C/svg%3E");
  --frame-soft:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none' stroke='%23cda64c'%3E%3Cpath stroke-opacity='.28' d='M14.5 .5H49.5A14 14 0 0 0 63.5 14.5V49.5A14 14 0 0 0 49.5 63.5H14.5A14 14 0 0 0 .5 49.5V14.5A14 14 0 0 0 14.5 .5Z'/%3E%3Cpath stroke-opacity='.6' d='M19.8 7H44.2A21 21 0 0 0 57 19.8V44.2A21 21 0 0 0 44.2 57H19.8A21 21 0 0 0 7 44.2V19.8A21 21 0 0 0 19.8 7Z'/%3E%3Cg fill='%23cda64c' stroke='none' fill-opacity='.6'%3E%3Cpath d='M12.4 10.2L14.6 12.4 12.4 14.6 10.2 12.4Z'/%3E%3Cpath d='M51.6 10.2L53.8 12.4 51.6 14.6 49.4 12.4Z'/%3E%3Cpath d='M12.4 49.4L14.6 51.6 12.4 53.8 10.2 51.6Z'/%3E%3Cpath d='M51.6 49.4L53.8 51.6 51.6 53.8 49.4 51.6Z'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;color:var(--ink);font-family:"Montserrat",Arial,sans-serif;line-height:1.65;background:
radial-gradient(circle at 15% 12%,rgba(71,52,35,.035) 0 1px,transparent 1.2px) 0 0/8px 8px,
radial-gradient(circle at 80% 70%,rgba(71,52,35,.025) 0 1px,transparent 1.2px) 0 0/11px 11px,
var(--cream)}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(1280px,calc(100% - 48px));margin:auto}

/* TYPOGRAPHY */
.eyebrow{font-family:"Cinzel",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gold-text);margin-bottom:12px}
/* op donkere vlakken lichtgoud */
.page-hero .eyebrow,.feature-copy .eyebrow,.panel.volunteer .eyebrow,.cta .eyebrow,.footer .eyebrow,.info-box .eyebrow,.mobile-menu .eyebrow,.dark .eyebrow{color:var(--gold2)}
h1,h2,h3{font-family:var(--display);line-height:1.02;margin:0;font-weight:400;letter-spacing:-.02em}
h2{font-size:clamp(38px,4.2vw,60px);max-width:860px}
h1,h2,h3{text-wrap:balance}
h3{font-size:36px}
.lead{font-family:var(--display);font-size:21px;line-height:1.4;color:#3b4c5e;margin:22px 0 16px;max-width:680px}
.copy{color:var(--muted);max-width:690px}

/* FAIRYTALE DETAILS */
.magic-divider{width:min(340px,100%);height:24px;color:var(--gold);margin:18px 0 24px;background:currentColor;-webkit-mask:var(--divider) left center/contain no-repeat;mask:var(--divider) left center/contain no-repeat}
.magic-divider .star{display:none}
.magic-divider.dark{color:var(--gold2)}
.section-mark{display:flex;justify-content:center;align-items:center;gap:13px;color:var(--gold);font-family:"Cinzel",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:18px}
.section-mark::before,.section-mark::after{content:"";width:82px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.section-mark::after{background:linear-gradient(90deg,currentColor,transparent)}
.section-mark span{font-size:17px;line-height:1}
.fleur{font-family:Georgia,serif;color:var(--gold);font-size:20px;letter-spacing:.24em}

/* HEADER */
.topbar{height:24px;background:var(--ink);color:#f2e7cf;font-size:10px;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;z-index:70}
.topbar .shell{height:100%;display:flex;align-items:center;justify-content:space-between}
.header{position:sticky;top:24px;z-index:60;background:rgba(248,244,237,.97);border-bottom:1px solid rgba(13,35,64,.10);backdrop-filter:blur(10px)}
.nav{height:66px;display:flex;align-items:center;gap:22px;position:relative;overflow:visible}
.brand{width:184px;flex:0 0 184px;height:66px;position:relative;z-index:4}
.brand img{width:158px;max-height:none;object-fit:contain;object-position:left top;position:absolute;left:0;top:-17px;transition:transform .25s ease}.brand:hover img{transform:translateY(-2px) rotate(-.6deg)}
.menu{margin-left:auto;display:flex;align-items:center;gap:17px;white-space:nowrap;font-family:var(--nav);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.menu a{position:relative;padding:26px 0 21px;line-height:1}
.menu a:not(.ticket)::after{content:"";position:absolute;left:50%;bottom:14px;width:0;height:1px;background:var(--gold);transition:.24s;transform:translateX(-50%)}
.menu a:not(.ticket):hover::after{width:100%}
.ticket,.fairy-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:11px 29px;background:var(--gold2);color:var(--ink);font-weight:800;text-transform:uppercase;font-size:10.5px;letter-spacing:.075em;border:0;cursor:pointer;clip-path:polygon(10px 0,calc(100% - 10px) 0,calc(100% - 7px) 4px,100% 9px,calc(100% - 4px) 50%,100% calc(100% - 9px),calc(100% - 7px) calc(100% - 4px),calc(100% - 10px) 100%,10px 100%,7px calc(100% - 4px),0 calc(100% - 9px),4px 50%,0 9px,7px 4px);transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.ticket:hover,.fairy-btn:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:0 7px 18px rgba(13,35,64,.13)}
.ticket{padding:12px 20px 9px!important;min-height:42px;font-weight:700!important;letter-spacing:.11em!important;font-size:11px!important}
.ticket::before,.fairy-btn::before{content:"";position:absolute;inset:4px;border:1px solid rgba(13,35,64,.38);clip-path:inherit;pointer-events:none}
.fairy-btn::after{content:"→";font-size:15px;font-weight:500;line-height:1;transition:transform .2s ease}
.fairy-btn:hover::after{transform:translateX(4px)}
.ticket::after{content:none}
/* secundaire knop op licht: nachtblauw met gouden binnenlijn (goud = hoofdactie) */
.fairy-btn.outline{background:var(--ink);border:0;color:#fff}
.fairy-btn.outline::before{border-color:rgba(240,196,90,.55)}
.fairy-btn.outline:hover{background:#163a5e}
.feature-copy .fairy-btn.outline,.page-hero .fairy-btn.outline,.volunteer .fairy-btn.outline,.info-box .fairy-btn.outline{background:rgba(255,255,255,.07);color:#fff!important}
.feature-copy .fairy-btn.outline:hover,.page-hero .fairy-btn.outline:hover{background:rgba(255,255,255,.13)}
.feature-copy .fairy-btn.outline::before,.page-hero .fairy-btn.outline::before{border-color:rgba(240,196,90,.55)}
.fairy-btn.dark{background:var(--ink);color:#fff}
.fairy-btn.dark::before{border-color:rgba(240,196,90,.5)}
.mobile-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;position:relative;cursor:pointer;color:var(--ink)}
.mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after{content:"";position:absolute;left:9px;right:9px;height:2px;background:currentColor;transition:.3s}
.mobile-toggle::before{top:13px}.mobile-toggle span{top:21px}.mobile-toggle::after{top:29px}
.mobile-toggle[aria-expanded="true"] span{opacity:0}.mobile-toggle[aria-expanded="true"]::before{transform:translateY(8px) rotate(45deg)}.mobile-toggle[aria-expanded="true"]::after{transform:translateY(-8px) rotate(-45deg)}

/* HERO */
.hero{height:min(54vw,620px);min-height:430px;background:var(--night);position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,15,26,.1),rgba(6,15,26,.55));pointer-events:none;z-index:1}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.footer-scene canvas.snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,rgba(5,17,29,.32));pointer-events:none}
.hero-frame{position:absolute;inset:15px;pointer-events:none;border-top:1px solid rgba(232,180,55,.52);border-bottom:1px solid rgba(232,180,55,.32);z-index:2}
.hero-frame::before,.hero-frame::after{content:"✦";position:absolute;top:-10px;color:var(--gold);font-size:14px;background:rgba(7,21,34,.7);padding:0 8px}
.hero-frame::before{left:24px}.hero-frame::after{right:24px}

.quickfacts{background:var(--ink);color:#fff;position:relative;border-top:1px solid #927321;border-bottom:1px solid #927321}
.quickfacts::before,.quickfacts::after{content:"✦";position:absolute;color:var(--gold2);top:50%;transform:translateY(-50%);font-size:15px;text-shadow:0 0 14px rgba(240,196,90,.25)}
.quickfacts::before{left:15px}.quickfacts::after{right:15px}
.quickfacts .shell{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:16px 26px;border-right:1px solid rgba(255,255,255,.13);position:relative}
.fact:last-child{border-right:0}.fact small{display:block;color:#c3cfdb;text-transform:uppercase;font-weight:700;letter-spacing:.11em;font-size:10px}.fact strong{display:block;font-family:var(--display);font-size:20px;margin-top:1px;font-weight:400}

/* SECTIONS */
.section{padding:92px 0;position:relative}.section.alt{background:#fbf8f2}

.intro-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:86px;align-items:center}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* FAIRYTALE CONCAVE CORNERS */
.notched,.card,.feature,.panel,.cafe-visual,.ornate-frame,.mobile-menu-inner,.sponsor-primary .sponsor-logo,.video-frame{
  -webkit-mask:
    radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,
    radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,
    radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,
    radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;
  -webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;
  mask:
    radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,
    radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,
    radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,
    radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;
  mask-size:51% 51%;mask-repeat:no-repeat;
}
.card-visual,.feature-img{clip-path:none;-webkit-mask:none;mask:none}
/* Sierlijst: buiten- en binnenlijn volgen allebei de holle hoek, met een ruitje in elke hoek */
.card::before,.feature::before,.panel::before,.cafe-visual::before,.ornate-frame::before,.sponsor-primary .sponsor-logo::before,.video-frame::before{content:"";position:absolute;inset:0;border:28px solid transparent;border-image:var(--frame) 28 stretch;pointer-events:none;z-index:3;opacity:1;clip-path:none}
.panel.sponsor::before{border-image-source:var(--frame-ink)}
.sponsor-primary .sponsor-logo::before{border-image-source:var(--frame-soft)}

/* ORNATE PHOTO FRAME */
.ornate-frame{position:relative;padding:12px;background:rgba(255,255,255,.35)}
.intro-photo{aspect-ratio:4/5;overflow:hidden}.ornate-frame img{-webkit-mask:radial-gradient(circle 10px at 0 0,transparent 9.5px,#000 10px) top left,radial-gradient(circle 10px at 100% 0,transparent 9.5px,#000 10px) top right,radial-gradient(circle 10px at 0 100%,transparent 9.5px,#000 10px) bottom left,radial-gradient(circle 10px at 100% 100%,transparent 9.5px,#000 10px) bottom right;-webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 10px at 0 0,transparent 9.5px,#000 10px) top left,radial-gradient(circle 10px at 100% 0,transparent 9.5px,#000 10px) top right,radial-gradient(circle 10px at 0 100%,transparent 9.5px,#000 10px) bottom left,radial-gradient(circle 10px at 100% 100%,transparent 9.5px,#000 10px) bottom right;mask-size:51% 51%;mask-repeat:no-repeat}.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.poster{aspect-ratio:4/5;background:linear-gradient(170deg,#1a6b92,#0e3656 58%,#082239);display:grid;place-items:center;color:#fff;text-align:center;padding:42px;position:relative;overflow:hidden}
.poster::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.12),transparent 32%),radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 0 1px,transparent 2px) 0 0/13px 13px;opacity:.8}
.poster .inner{position:relative;z-index:2}.poster .mini{font-family:"Cinzel",serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.poster h3{font-size:64px;color:#f7f0e7;text-shadow:0 3px 0 rgba(7,25,43,.42);margin:16px 0}.poster .snow{font-size:44px;opacity:.9;margin-top:64px}

.title-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.title-row p{max-width:510px;margin:0;color:var(--muted)}
.programme-heading{text-align:center;max-width:900px;margin:0 auto 42px}.programme-heading .magic-divider{margin:19px auto 18px;width:min(360px,86%);-webkit-mask-position:center;mask-position:center}.programme-heading p{max-width:650px;margin:0 auto;color:var(--muted)}.programme-all{text-align:center;margin-top:34px}.card .fairy-btn{min-height:42px;padding:10px 22px;font-size:10px;margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:0;position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(13,35,64,.05);transition:transform .28s ease,box-shadow .28s ease}.card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(13,35,64,.10)}
.card-visual{height:230px;position:relative;overflow:hidden;background:#0b2239;margin:0}.card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.86);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}.card:hover .card-visual img{transform:scale(1.045);filter:saturate(1) brightness(.9)}.card h3{transition:color .22s ease,transform .22s ease}.card:hover h3{color:#d09d26}.card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,17,31,.56),transparent 68%)}
.badge{position:absolute;top:22px;left:22px;z-index:4;display:inline-flex;align-items:center;gap:7px;color:var(--gold2);font-family:"Cinzel",serif;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;line-height:1;padding:9px 20px 8px;background:
linear-gradient(90deg,transparent 7px,rgba(240,196,90,.75) 7px calc(100% - 7px),transparent 0) 0 3px/100% 1px no-repeat,
linear-gradient(90deg,transparent 7px,rgba(240,196,90,.75) 7px calc(100% - 7px),transparent 0) 0 calc(100% - 3px)/100% 1px no-repeat,
linear-gradient(180deg,#123a5c,#0a2238);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%,8px 50%)}
.badge::before,.badge::after{content:"✦";font-size:8px;letter-spacing:0;transform:translateY(-.5px)}
.card{display:flex;flex-direction:column}.card-body{padding:26px 27px 32px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.card-body>.fairy-btn{margin-top:auto!important}.card-body p{margin-bottom:22px}.card h3{font-size:30px;text-transform:none;color:#b88412}.meta{margin-top:8px;color:var(--meta);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.card p{color:#5e6b79;font-size:14px}.card-link{font-family:"Cinzel",serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#205b7b}

.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);position:relative;overflow:hidden}
.feature-img{background:url('hero.png') 70% center/cover no-repeat;min-height:520px}.feature-copy{padding:66px 62px;color:#fff}.feature-copy h2{color:#fff}.feature-copy p{color:#d9e2e9}.feature-copy .lead{color:#eaf0f4}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 30px}.price{padding:14px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.price small{display:block;color:#9eb0c1}.price b{font-family:"Cinzel",serif;font-weight:700;font-size:21px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:46px 48px;min-height:340px;position:relative;overflow:hidden}.panel h3{font-size:50px}.panel.sponsor{background:#eed18e}.panel.volunteer{background:var(--ink);color:white}.panel.volunteer h3{color:white}.panel.volunteer p{color:#dbe4ec}.panel::after{display:none;content:"✦";position:absolute;right:-14px;bottom:-62px;font-size:210px;line-height:1;opacity:.07;transition:transform .45s ease,opacity .45s ease}.panel:hover::after{transform:rotate(8deg) scale(1.04);opacity:.11}

.cafe{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}.cafe-visual{min-height:440px;background:linear-gradient(rgba(5,14,26,.22),rgba(5,14,26,.64)),url('hero.png') 43% 74%/cover no-repeat;display:flex;align-items:end;padding:38px;color:white;position:relative}.cafe>*,.intro-grid>*{min-width:0}.cafe-visual strong{font:400 clamp(40px,5vw,58px)/.95 var(--display);position:relative;z-index:2}.cafe ul{padding-left:18px;color:#5e6b79}.cafe li{margin:8px 0}

.cta{background:linear-gradient(110deg,#08182a,#134a6c);color:white;padding:58px 0;position:relative;border-top:1px solid #9e7d25}.cta::before,.cta::after{content:"✦";position:absolute;color:var(--gold);top:50%;transform:translateY(-50%)}.cta::before{left:26px}.cta::after{right:26px}.cta .shell{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{color:#fff;font-size:56px}.cta p{margin:8px 0 0;color:#cfd9e2}
.footer{background:#06111f;color:#d5dee6;padding:66px 0 86px;position:relative}
.footer-scene{position:relative;width:100%;margin:-66px 0 34px;padding-top:8px;pointer-events:none;background:linear-gradient(180deg,#134a6c 0%,var(--night) 68%,#06111f 100%)}
.footer-scene img{width:100%;height:auto;display:block}
.footer-top{display:grid;grid-template-columns:1.08fr 2fr;gap:72px;align-items:start;padding-bottom:34px}
.footer-brand img{width:176px;margin-bottom:20px}
.footer .footer-kicker{font-family:var(--display);font-size:27px;line-height:1.12;color:#fff;margin:0 0 14px;max-width:340px}
.footer-intro{color:#93a6b9;max-width:370px;font-size:13px;margin:0}
.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:28px}/* kolommen beginnen op de hoogte van de bovenkant van het logo (niet van de lege rand van het png) */
.footer h4{color:#e3bc59;font-family:"Cinzel",serif;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;margin:3px 0 13px}
.footer a{display:block;margin:7px 0;color:#bac7d3;font-size:13px;transition:color .2s ease,transform .2s ease}
.footer a:hover{color:#fff;transform:translateX(3px)}
.footer p{color:#93a6b9;font-size:13px;margin:7px 0}
.footer .footer-date{color:#fff;font-family:var(--display);font-size:19px;line-height:1.22;margin:0 0 8px}
.footer-social{display:flex;gap:8px;margin-top:18px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(240,196,90,.28);display:grid;place-items:center;margin:0;color:#e4bd5f}
.footer-social svg{width:16px;height:16px;fill:currentColor}
.newsletter{margin:4px 0 34px;padding:18px 20px;background:rgba(112,142,171,.055);display:grid;grid-template-columns:minmax(260px,.9fr) 1.35fr;gap:28px;align-items:center}
.newsletter .eyebrow{margin-bottom:4px}.newsletter h3{font-size:27px;color:#fff;margin:0 0 2px}.newsletter p{margin:0;font-size:12px}.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:8px}.newsletter>*{min-width:0}.newsletter input{min-width:0;height:44px;background:#0b2034;border:1px solid rgba(129,154,177,.28);color:#fff;padding:0 14px;font:inherit;outline:none}.newsletter input:focus{border-color:rgba(240,196,90,.7)}.newsletter .fairy-btn{min-height:44px;padding:9px 23px}
.sponsor-strip{padding:6px 0 34px}.sponsor-strip-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.sponsor-strip-head h4{margin:0;color:#c9d4de}.sponsor-strip-head a{font-size:11px;color:#d8b65e;margin:0}
.sponsor-tier-label{display:flex;align-items:center;gap:12px;font-family:"Cinzel",serif;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:#8fa3b7;margin-bottom:14px}
.sponsor-tier-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(141,163,184,.22),transparent)}
.sponsor-tier-label.main{color:var(--gold2)}.sponsor-tier-label.main::after{background:linear-gradient(90deg,rgba(240,196,90,.4),transparent)}
.sponsor-tier-label.main span{font-size:10px}
/* Hoofdsponsoren: eigen tegel met sierlijst, logo in crème */
.sponsor-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}
.sponsor-primary .sponsor-logo{height:118px;position:relative;background:radial-gradient(ellipse at 50% 40%,rgba(240,196,90,.07),transparent 70%),rgba(255,255,255,.028)}
/* Partners: kleiner, gedempt, op één rij */
.sponsor-secondary{display:grid;grid-template-columns:repeat(8,1fr);gap:22px 26px;align-items:center}
.sponsor-secondary .sponsor-logo{height:52px}
.sponsor-logo{display:grid;place-items:center;min-width:0;transition:transform .25s ease}
.sponsor-logo img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .25s ease,filter .25s ease}
.sponsor-primary .sponsor-logo img{filter:brightness(0) invert(95%) sepia(9%) saturate(420%) hue-rotate(335deg);opacity:.94}
.sponsor-secondary .sponsor-logo img{filter:brightness(0) invert(62%) sepia(12%) saturate(520%) hue-rotate(169deg);opacity:.72}
.sponsor-logo:hover{transform:translateY(-2px)}.sponsor-logo:hover img{opacity:1}
.sponsor-secondary .sponsor-logo:hover img{filter:brightness(0) invert(88%) sepia(8%) saturate(300%) hue-rotate(169deg)}
.sponsor-logo span{display:none;color:#9cafc1;font-family:"Cinzel",serif;font-size:10px;text-align:center}
.sponsor-primary .sponsor-logo span{color:#f4efe6;font-size:13px}
.footer-meta{border-top:1px solid rgba(141,163,184,.14);padding-top:18px;font-size:11px;color:#73879a;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.footer-meta-links{display:flex;gap:18px;flex-wrap:wrap}.footer-meta a{font-size:11px;color:#73879a;margin:0}
.mobile-bottom-nav{display:none}


/* SMALL INTERACTIONS */
.ornate-frame img,.cafe-visual,.feature-img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.ornate-frame:hover img{transform:scale(1.025)}
.cafe-visual:hover{filter:brightness(1.05)}
.card-link{transition:color .2s ease,letter-spacing .2s ease}.card-link:hover{letter-spacing:.02em;color:var(--gold-text)}
.fact{transition:background .2s ease}.fact:hover{background:rgba(255,255,255,.035)}
.footer-social a{transition:transform .2s ease,border-color .2s ease,background .2s ease}.footer-social a:hover{transform:translateY(-3px) rotate(-3deg);border-color:var(--gold2);background:rgba(240,196,90,.06)}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;z-index:55;left:0;right:0;top:90px;height:calc(100dvh - 90px);background:
radial-gradient(circle at 50% 12%,rgba(50,123,160,.25),transparent 28%),
radial-gradient(circle at 20% 30%,rgba(255,255,255,.04) 0 1px,transparent 1.5px) 0 0/15px 15px,
var(--night);color:#fff;overflow:auto;padding:24px 18px 34px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.28s ease}
.mobile-menu.open{opacity:1;transform:none;pointer-events:auto}
.mobile-menu-inner{min-height:100%;position:relative;padding:32px 26px 32px;background:rgba(255,255,255,.02)}
.mobile-menu-topbar{display:none}
.mobile-menu-head{text-align:center;margin-bottom:12px}.mobile-menu-head .fleur{font-size:18px}.mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;position:relative;z-index:2}.mobile-menu nav a{font-family:var(--display);font-size:28px;line-height:1.1;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-menu nav a:nth-last-child(-n+2){border-bottom:0}.mobile-menu .menu-ticket{margin-top:28px;width:100%;font-size:11px;min-height:48px;position:relative;z-index:2}.mobile-menu-foot{text-align:center;margin-top:24px;color:#9db0c0;font-size:11px;letter-spacing:.06em;position:relative;z-index:2}.mobile-menu-login{display:inline-block;margin-top:10px;color:var(--gold2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.mobile-menu-logos{display:none}
body.menu-open{overflow:hidden}
.mobile-menu-close{display:none}
@media(max-width:620px){
  .mobile-menu-topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4;margin:-14px -20px 10px;padding:16px 20px;background:radial-gradient(circle at 50% 12%,rgba(50,123,160,.25),transparent 28%),var(--night)}
  .mobile-menu-logo{height:40px;width:auto}
  .mobile-menu-close{display:flex;align-items:center;justify-content:center;position:static;width:28px;height:28px;border:0;background:none;color:#fff;font-size:20px;line-height:1}
  .mobile-menu-logos{display:block;margin-top:26px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
  .mobile-menu-logos-track{display:inline-flex;align-items:center;gap:32px;white-space:nowrap;animation:topbar-scroll 16s linear infinite}
  .mobile-menu-logos-track img{height:20px;width:auto;flex:0 0 auto;filter:brightness(0) invert(1);opacity:.5}
}

/* Lopende tekst met de datum, alleen op mobiel (zie .topbar-marquee{display:flex} hierboven) */
.topbar-marquee{display:none;white-space:nowrap}
.topbar-marquee-track{display:inline-flex;animation:topbar-scroll 22s linear infinite}
.topbar-marquee-track span{display:inline-block;padding-right:6px;font-family:"Cinzel",serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f2e7cf}
@keyframes topbar-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:1180px){.menu{gap:12px;font-size:10.5px;letter-spacing:.07em}.brand{width:154px;flex-basis:154px}.brand img{width:144px}.shell{width:min(1180px,calc(100% - 36px))}}
@media(max-width:980px){.menu{display:none}.mobile-toggle{display:block}.mobile-menu{display:block}.nav{height:66px}.brand{width:150px;flex-basis:150px}.brand img{width:148px;top:-4px}.hero{height:58vw;min-height:390px}.quickfacts .shell{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.intro-grid,.feature,.cafe{grid-template-columns:1fr}.cards{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.cards::-webkit-scrollbar{display:none;height:0}.cards .card{flex:0 0 46%;min-width:260px;scroll-snap-align:start}.duo{grid-template-columns:1fr}.title-row,.cta .shell{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.feature-img{min-height:330px}.mobile-menu{top:90px;height:calc(100dvh - 90px)}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.topbar{height:22px}.topbar .shell span:last-child{display:none}.header{top:34px}.nav{height:60px}.header{overflow:visible;background:transparent!important;border-bottom:0;margin-bottom:-60px;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .topbar .shell.topbar-desktop{display:none}
  .topbar{height:34px}
  .topbar-marquee{display:flex;height:34px;align-items:center;overflow:hidden}
  .brand{height:84px;width:auto;flex-basis:auto;overflow:visible}
  .brand img{width:auto;height:78px;max-height:78px;max-width:none;position:static;top:auto;left:auto;display:block}
  .mobile-toggle{color:var(--ink);width:40px;height:40px;background:var(--gold2);border:1px solid rgba(13,35,64,.3);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);box-shadow:0 4px 14px rgba(4,20,34,.22)}
  .mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after{left:11px;right:11px}
  .mobile-toggle::before{top:11px}.mobile-toggle span{top:19px}.mobile-toggle::after{top:27px}
  .mobile-menu{top:0;height:100dvh;overflow-y:auto;z-index:90}.mobile-menu-inner{padding-left:20px;padding-right:20px;padding-top:14px}.mobile-menu nav{grid-template-columns:1fr}.mobile-menu nav a{display:flex;align-items:center;gap:10px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:15px;letter-spacing:.01em;line-height:1.3;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu nav a::before{content:"✦";display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:rgba(240,196,90,.12);border:1px solid rgba(240,196,90,.22);color:var(--gold2);font-size:11px;flex:0 0 auto}.mobile-menu nav a::after{content:"›";margin-left:auto;color:rgba(255,255,255,.35);font:400 22px Georgia,serif}.mobile-menu nav a:last-child{border-bottom:0}.hero{height:68vw;min-height:315px}.hero img{object-position:56% center}.hero-frame{inset:9px}.quickfacts{display:none}
  .intro-grid{gap:30px}.lead{font-size:17px;margin:14px 0 12px}.cards .card{flex:0 0 82%;min-width:0}.section{padding:40px 0}.section-head{margin-bottom:24px}.feature-copy,.panel{padding:35px 30px}.price-grid{grid-template-columns:1fr}.panel h3{font-size:42px}.footer-grid{grid-template-columns:1fr}.footer-meta{grid-template-columns:1fr}.footer-meta-links{gap:12px}.cafe{gap:36px}.poster h3{font-size:52px}.title-row{margin-bottom:30px}.cta h2{font-size:48px}}

@media(max-width:980px){.footer-links-grid{padding-top:0}.footer-top{grid-template-columns:1fr;gap:38px}.footer-links-grid{grid-template-columns:repeat(3,1fr)}.newsletter{grid-template-columns:1fr}.sponsor-secondary{display:flex;flex-wrap:wrap;grid-template-columns:none;justify-content:center;gap:16px 20px;overflow-x:visible}.sponsor-secondary .sponsor-logo{flex:0 0 auto;width:90px}}
@media(max-width:620px){
  body{padding-bottom:70px}.footer{padding:36px 0 24px}.footer-scene{margin:-36px 0 20px}.footer-top{gap:26px;padding-bottom:22px}.footer-brand img{width:150px}.footer-brand .footer-intro{font-size:13px}.footer-links-grid{grid-template-columns:1fr 1fr;gap:22px 16px;padding-top:0}.footer-links-grid>div:last-child{grid-column:1/-1}.newsletter{grid-template-columns:1fr;gap:12px;padding:14px;margin:0 0 22px}.newsletter-form{grid-template-columns:1fr auto}.sponsor-primary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
  .sponsor-primary .sponsor-logo{height:auto;padding:10px 6px}
  .sponsor-primary .sponsor-logo img{width:auto!important;height:34px!important;max-width:90%!important;max-height:34px!important}.sponsor-secondary .sponsor-logo{width:76px;height:44px}.footer-meta{grid-template-columns:1fr;padding-top:14px}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:68px;background:rgba(248,244,237,.98);border-top:1px solid rgba(13,35,64,.12);z-index:80;box-shadow:0 -8px 24px rgba(4,20,34,.12);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;color:var(--meta);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font:700 9px/1 "Montserrat",sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:7px 2px;margin:0}.mobile-bottom-nav svg{width:21px;height:21px;fill:none}.mobile-bottom-nav .active,.mobile-bottom-nav .ticket-tab{color:var(--ink)}.mobile-bottom-nav .ticket-tab{position:relative}.mobile-bottom-nav .ticket-tab::before{content:"";position:absolute;inset:5px 5px 4px;background:#efd078;z-index:-1;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}.mobile-toggle{display:block}.mobile-menu-inner{padding-bottom:20px}.hero{min-height:300px}.quickfacts::before,.quickfacts::after{font-size:18px}.intro-photo{aspect-ratio:5/4}
}

/*
  TYPOGRAFIE
  De display-stack begint met Moret. Als de gelicentieerde Moret-webfont later wordt toegevoegd,
  gebruikt de site die automatisch. Tot die tijd valt hij terug op Young Serif (Google Fonts),
  rond en vriendelijk, passend bij de lijnen van het logo. Navigatie: Josefin Sans.
*/

/* =========================================================
   SUBPAGINA'S
   ========================================================= */
.menu a[aria-current="page"]:not(.ticket){color:var(--gold-text)}
.menu a[aria-current="page"]:not(.ticket)::after{width:100%}

/* Paginakop */
.page-hero{position:relative;overflow:hidden;color:#fff;padding:78px 0 70px;text-align:center;background:
radial-gradient(circle at 50% 0%,rgba(50,123,160,.38),transparent 55%),
radial-gradient(circle at 18% 30%,rgba(255,255,255,.07) 0 1px,transparent 1.6px) 0 0/17px 17px,
radial-gradient(circle at 70% 60%,rgba(255,255,255,.05) 0 1px,transparent 1.4px) 0 0/23px 23px,
linear-gradient(180deg,#061522,#0d3858);border-bottom:1px solid #927321}
.page-hero.has-img{background:linear-gradient(180deg,rgba(6,21,34,.55),rgba(6,21,34,.88)),var(--img) center/cover no-repeat}
.page-hero .shell{position:relative;z-index:2}
.page-hero h1{font-size:clamp(46px,6vw,84px);color:#fff;max-width:900px;margin:0 auto}
.page-hero .lead{color:#dfe7ee;margin:0 auto;max-width:640px;font-size:20px;line-height:1.45}
.page-hero .magic-divider{margin:20px auto 20px;color:var(--gold2);-webkit-mask-position:center;mask-position:center}
.page-hero .eyebrow{color:var(--gold2)}
.page-hero .actions{justify-content:center}
/* kruimelpad = de eyebrow van vervolgpagina's */
.crumbs{font-family:"Cinzel",serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:14px}
.crumbs a{color:#c9d4de;transition:color .2s}.crumbs a:hover{color:#fff}.crumbs span{margin:0 10px;color:var(--gold2)}

.section-head{text-align:center;max-width:820px;margin:0 auto 40px}
.section-head .magic-divider{margin:18px auto;-webkit-mask-position:center;mask-position:center}
.section-head p{color:var(--muted);margin:0 auto;max-width:640px}
.narrow{max-width:860px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}
.two-col>*{min-width:0}
.stack>*+*{margin-top:18px}

/* Notitie / waarschuwing */
.notice{display:flex;gap:14px;align-items:flex-start;padding:17px 22px;background:#fff;border:1px solid rgba(205,166,76,.45);border-left:3px solid var(--gold-text);color:#2c3b4d;font-size:14.5px;font-weight:500}
.notice::before{content:"✦";color:var(--gold-text);font-size:16px;line-height:1.4}
.notice.dark{background:rgba(255,255,255,.06);color:#dbe4ec;border-left-color:var(--gold2)}
.placeholder{display:inline-block;background:rgba(217,167,46,.16);color:#7a5a10;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:2px}

/* Filterchips */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 34px}
.chip{border:1px solid rgba(13,35,64,.18);background:#fff;color:var(--ink);font-family:var(--nav);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px 8px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--gold2);border-color:var(--ink)}

/* Datumstempel op kaart */
.date-seal{position:absolute;right:20px;bottom:18px;z-index:4;width:66px;height:66px;display:grid;place-content:center;text-align:center;color:var(--ink);background:var(--gold2);border-radius:50%;box-shadow:0 0 0 3px rgba(240,196,90,.35),0 6px 16px rgba(0,0,0,.3)}
.date-seal::before{content:"";position:absolute;inset:4px;border:1px solid rgba(13,35,64,.35);border-radius:50%}
.date-seal b{font:400 26px/1 var(--display)}.date-seal small{font:700 10px/1.2 "Cinzel",serif;letter-spacing:.12em;text-transform:uppercase}
.card-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 2px;color:var(--meta);font-size:12.5px;font-weight:600}
.card-facts span::before{content:"✦ ";color:var(--gold)}
.card[hidden]{display:none}

/* Info-blok (donker) */
.info-box{background:var(--ink);color:#fff;padding:34px 34px 30px;position:relative}
.info-box h3{color:#fff;font-size:30px;margin-bottom:6px}
.info-rows{margin:16px 0 22px;display:grid;gap:0}
.info-rows div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px}
.info-rows dt,.info-rows .k{font-family:"Cinzel",serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);padding-top:3px}
.info-rows .v{color:#e6edf3}
.info-box .fairy-btn{width:100%}
.info-box,.form-card,.tile{-webkit-mask:radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;-webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;mask-size:51% 51%;mask-repeat:no-repeat}
.info-box::before,.form-card::before,.tile::before{content:"";position:absolute;inset:0;border:28px solid transparent;border-image:var(--frame) 28 stretch;pointer-events:none;z-index:3}
.tile{background:#fff;padding:34px 32px;position:relative;display:flex;flex-direction:column;align-items:flex-start}
.tile>.actions{margin-top:auto;padding-top:22px}
.tile .check-list li{font-size:14px;padding-top:5px;padding-bottom:5px}
.tile h3{font-size:28px;margin-bottom:8px}.tile p{color:#5e6b79;font-size:14px;margin:0}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile .tag{font-family:"Cinzel",serif;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text);display:block;margin-bottom:12px}
.tile .num{font:400 44px/1 var(--display);color:#b88412;display:block;margin-bottom:10px}

/* Prijslijst met stippellijn */
.price-list{list-style:none;padding:0;margin:0}
.price-list li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid rgba(13,35,64,.08)}
.price-list li::after{content:"";order:2;flex:1;border-bottom:1px dotted rgba(13,35,64,.3);transform:translateY(-4px)}
.price-list span{order:1;font-weight:600}.price-list b{order:3;font-family:"Cinzel",serif;font-size:19px;color:#b88412}
.dark .price-list li{border-color:rgba(255,255,255,.12)}.dark .price-list li::after{border-color:rgba(255,255,255,.3)}.dark .price-list b{color:var(--gold2)}

/* Openingstijden */
.day-picker{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:34px;flex-wrap:wrap}
.day-picker label{font-family:"Cinzel",serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#72520b}
.select,.field input,.field select,.field textarea{height:48px;border:1px solid rgba(13,35,64,.2);background:#fff;padding:0 14px;font:inherit;color:var(--ink);outline:none;min-width:0;width:100%}
.day-picker .select{width:auto;min-width:280px}
.select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,167,46,.18)}
.days{display:grid;gap:16px}
.day{display:grid;grid-template-columns:120px 1fr;gap:0;background:#fff;border:1px solid rgba(205,166,76,.4)}
.day[hidden]{display:none}
.day-date{background:var(--ink);color:#fff;display:grid;place-content:center;text-align:center;padding:18px 10px}
.day-date b{font:400 44px/1 var(--display);color:var(--gold2)}.day-date small{font:700 9px/1.4 "Cinzel",serif;letter-spacing:.13em;text-transform:uppercase;color:#b8c5d2}
.day-date.weekend{background:#12304f}
.hours{width:100%;border-collapse:collapse;font-size:14px}
.hours th{font-family:"Cinzel",serif;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--meta);text-align:left;padding:14px 20px 8px;font-weight:700}
.hours td{padding:11px 20px;border-top:1px solid rgba(13,35,64,.07);color:#40505f}
.hours td:first-child{font-weight:700;color:var(--ink)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#2f7a52}.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status.soon{color:var(--gold-text)}

/* Stappen */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;background:#fff;padding:20px 22px;border:1px solid rgba(205,166,76,.4)}
.steps li::before{content:counter(s);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:400 20px/1 var(--display);color:var(--ink);background:var(--gold2);box-shadow:inset 0 0 0 4px var(--gold2),inset 0 0 0 5px rgba(13,35,64,.35)}
.steps h3{font-size:22px;margin:4px 0 4px}.steps p{margin:0;color:#5e6b79;font-size:14px}
.check-list{list-style:none;padding:0;margin:14px 0 0}.check-list li{padding:7px 0 7px 26px;position:relative;color:#4d5a68}.check-list li::before{content:"✦";position:absolute;left:2px;color:var(--gold)}
.dark .check-list li{color:#dbe4ec}

/* Sponsoren */
.tier{margin-bottom:64px}
.tier-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.tier-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(205,166,76,.6),transparent)}
.tier-ribbon{font-family:"Cinzel",serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);padding:11px 24px 10px;background:
linear-gradient(90deg,transparent 8px,rgba(240,196,90,.7) 8px calc(100% - 8px),transparent 0) 0 3px/100% 1px no-repeat,
linear-gradient(90deg,transparent 8px,rgba(240,196,90,.7) 8px calc(100% - 8px),transparent 0) 0 calc(100% - 3px)/100% 1px no-repeat,var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%,9px 50%)}
.tier-count{font-size:12.5px;color:var(--meta);font-weight:600}
/* Sponsorwand: lichte perkamentachtergrond, papieren tegels met gouden binnenlijn, logo's in rustige tinten */
.sponsor-wall{background:transparent}
.sponsor-wall .tier-count{color:var(--meta)}
.sponsor-wall .tier:last-child{margin-bottom:0}
.logo-grid{display:grid;gap:12px}
.logo-grid a{position:relative;display:grid;place-items:center;background:#fdfbf6;border-radius:3px;box-shadow:0 1px 0 rgba(120,90,30,.12),0 6px 16px -10px rgba(80,60,20,.35);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.logo-grid a::before{content:"";position:absolute;inset:5px;border:1px solid rgba(184,132,18,.35);pointer-events:none}
.logo-grid a:hover{background:#fffdf8;transform:translateY(-3px);box-shadow:0 1px 0 rgba(120,90,30,.12),0 14px 24px -12px rgba(80,60,20,.45)}
.logo-grid img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:filter .3s ease,opacity .3s ease}

.logo-grid.t1{grid-template-columns:repeat(3,1fr);gap:18px}.logo-grid.t1 a{height:170px;background:#fffdf9}
.logo-grid.t1 a::before{inset:0;border:28px solid transparent;border-image:var(--frame) 28 stretch}

.logo-grid.t2{grid-template-columns:repeat(5,1fr)}.logo-grid.t2 a{height:128px}
.logo-grid.t3{grid-template-columns:repeat(6,1fr)}.logo-grid.t3 a{height:108px}
.logo-grid.t4{grid-template-columns:repeat(7,1fr)}.logo-grid.t4 a{height:96px}
.logo-grid.t5{grid-template-columns:repeat(8,1fr)}.logo-grid.t5 a{height:88px}
.logo-grid.t6{grid-template-columns:repeat(8,1fr);gap:10px}.logo-grid.t6 a{height:80px}
.friends{columns:3;column-gap:40px;color:#4d5a68;font-size:15px;padding:0;list-style:none}
.friends li{break-inside:avoid;padding:6px 0 6px 20px;position:relative}.friends li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:11px;top:9px}

/* Tellers */
.counters{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(240,196,90,.3);border-bottom:1px solid rgba(240,196,90,.3);margin-top:44px}
.counters div{padding:22px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}.counters div:last-child{border:0}
.counters b{display:block;font:400 38px/1 var(--display);color:var(--gold2)}.counters small{display:block;margin-top:8px;font-family:"Cinzel",serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b8c5d2;font-weight:700}

/* Cijferband (site-brede statistiekenstrook, bv. op de homepage en sponsorpagina's) */
.count-band{background:var(--ink);color:#fff;border-top:1px solid #927321;border-bottom:1px solid #927321}
.count-band .shell{display:grid;grid-template-columns:repeat(5,1fr)}
.count-item{padding:26px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.count-item:last-child{border-right:0}
.count-item b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.count-item small{display:block;margin-top:8px;font-family:"Cinzel",serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b8c5d2;font-weight:700}

/* Aftellen tot opening (op de homepage-cta en de ticketspagina) */
.countdown{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:flex-end}
.countdown>div{min-width:50px;text-align:center}
.countdown b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.countdown small{display:block;margin-top:4px;font-family:"Cinzel",serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#cfd9e2}
.countdown-label{flex-basis:100%;margin:6px 0 0;font-family:"Cinzel",serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cfd9e2}
.countdown-hero{gap:22px 30px;justify-content:center}
.countdown-hero b{font-size:46px}
.countdown-hero small{font-size:10px}
.countdown-hero .countdown-label{text-align:center}

/* Vergelijkingstabel */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid rgba(13,35,64,.1);-webkit-overflow-scrolling:touch}
.compare{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}
.compare th,.compare td{padding:13px 12px;text-align:center;border-bottom:1px solid rgba(13,35,64,.07)}
.compare th:first-child,.compare td:first-child{text-align:left;font-weight:600;color:var(--ink);position:sticky;left:0;background:#fff;min-width:210px}
.compare thead th{background:var(--ink);color:#fff;font-weight:400;vertical-align:bottom;padding-top:18px}
.compare thead th:first-child{background:var(--ink);color:var(--gold2);font-family:"Cinzel",serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.compare thead b{display:block;font:400 19px/1.1 var(--display)}.compare thead small{display:block;color:var(--gold2);font-family:"Cinzel",serif;font-weight:700;font-size:12px;margin-top:4px}
.compare thead th.top{background:#173754;box-shadow:inset 0 3px 0 var(--gold2)}
.compare td{color:#40505f}.compare .yes{color:var(--gold-text);font-size:15px}
.compare .new{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--gold2);color:var(--ink);padding:2px 6px;margin-left:6px;vertical-align:2px}
.compare tbody tr:hover td{background:#fbf8f2}

/* Formulier */
.form-card{background:#fff;padding:40px;position:relative}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px}.field.full{grid-column:1/-1}
.field label,.field legend{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.02em}
.field label i,.field legend i{color:var(--gold-text);font-style:normal}
.field textarea{height:130px;padding:12px 14px;resize:vertical}

/* Contactpagina: kaarten, snelkoppelingen */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact-card{background:#fff;padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 28px rgba(13,35,64,.05);transition:transform .25s ease,box-shadow .25s ease;color:inherit;text-decoration:none}
a.contact-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(13,35,64,.09)}
.contact-icon{width:46px;height:46px;border-radius:50%;background:rgba(217,167,46,.12);display:grid;place-items:center;margin-bottom:16px;color:var(--gold-text)}
.contact-icon svg{width:20px;height:20px;fill:currentColor}
.contact-card .tag{font-family:"Cinzel",serif;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text);display:block;margin-bottom:10px}
.contact-card strong{font:400 19px/1.4 var(--display);color:var(--ink)}
.contact-mail{word-break:break-word}
.contact-meta{display:block;margin-top:10px;font-size:12px;color:var(--meta)}
.contact-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-family:"Cinzel",serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#205b7b}

.quick-links{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-direction:column;gap:0}
.quick-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid rgba(13,35,64,.08);color:var(--ink);font-weight:600;font-size:14px}
.quick-links a em{font-style:normal;color:var(--gold-text)}
.quick-links a:hover{color:var(--gold-text)}
.contact-social{margin-top:2px}

/* Sponsorcommissie-foto's (Tom & Laurens) */
.commissie-fotos{display:flex;gap:16px;margin:18px 0 20px}
.commissie-fotos figure{margin:0;text-align:center}
.commissie-fotos img{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 8px;border:2px solid rgba(240,196,90,.4)}
.commissie-fotos figcaption{font-family:"Cinzel",serif;font-size:11px;letter-spacing:.04em;color:#dbe4ec}

/* Kengetallen in een pagina-hero (bv. schaatsen.html) */
.hero-stats{display:flex;justify-content:center;gap:36px;margin-top:28px;flex-wrap:wrap}
.hero-stats b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.hero-stats small{display:block;margin-top:6px;font-family:"Cinzel",serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#dbe4ec}

/* "Zo ziet zichtbaarheid eruit": compacte tegel-versie i.p.v. grote tabs */
.vis-tiles .tile .vis-img{aspect-ratio:4/3;margin-bottom:16px}
.vis-tiles .tile .vis-img img{width:100%;height:100%;object-fit:cover}
.field fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.opt{display:flex;gap:10px;align-items:center;font-size:14px;color:#40505f;cursor:pointer}
.opt input{width:18px;height:18px;accent-color:#b88412}
.form-note{font-size:12px;color:var(--meta);margin:12px 0 0}
.form-done{display:none;margin-top:16px}.form-card.sent .form-done{display:flex}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid rgba(205,166,76,.4);transition:border-color .2s}
.faq details[open]{border-color:rgba(184,132,18,.75)}
.faq summary{list-style:none;cursor:pointer;padding:19px 56px 17px 22px;position:relative;font:400 20px/1.25 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"✦";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--gold);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0;padding:0 22px 20px;color:#5e6b79;font-size:14px}

/* Media */
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.album-grid .card-visual{height:220px}
.album-grid .card-body{padding:22px 24px 26px}.album-grid h3{font-size:24px}
.pager{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;padding:0 14px;border:1px solid rgba(13,35,64,.15);font-family:var(--nav);font-weight:600;font-size:13px;background:#fff}
.pager .on{background:var(--ink);color:var(--gold2);border-color:var(--ink)}
.gallery{columns:3 280px;column-gap:14px}
.gallery a{display:block;margin:0 0 14px;break-inside:avoid;overflow:hidden;position:relative}
.gallery img{width:100%;transition:transform .5s ease}.gallery a:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;background:rgba(4,12,22,.94);z-index:200;display:none;place-items:center;padding:30px}
.lightbox.open{display:grid}.lightbox img{max-height:86vh;max-width:92vw;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox button{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}
.video-frame{position:relative;aspect-ratio:16/9;background:#061522;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-frame .offline{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;padding:30px;background:radial-gradient(circle at 50% 40%,rgba(50,123,160,.35),transparent 60%),var(--night)}
.video-frame .offline h3{color:#fff;font-size:34px}.video-frame .offline p{color:#b8c5d2;margin:10px auto 0;max-width:460px}
.live-dot{display:inline-flex;align-items:center;gap:8px;font-family:"Cinzel",serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#b8c5d2;margin-bottom:16px;justify-content:center}
.live-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#6c7d8e}

/* Tekstpagina */
.prose h2{font-size:34px;margin:44px 0 12px}.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#4d5a68}
.prose ul{padding-left:0;list-style:none}.prose ul li{padding:6px 0 6px 24px;position:relative}.prose ul li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:11px;top:10px}
.toc{position:sticky;top:120px;background:#fff;padding:24px 26px;border:1px solid rgba(205,166,76,.4)}
.toc h4{margin:0 0 10px;font-family:"Cinzel",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.toc a{display:block;padding:7px 0;border-bottom:1px solid rgba(13,35,64,.06);font-size:14px;font-weight:600}.toc a:hover{color:var(--gold-text)}
.side-layout{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:start}

/* Arrangementen */
.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.menu-cards .tile ul{list-style:none;padding:0;margin:12px 0 18px;color:#5e6b79;font-size:14px}
.menu-cards .tile li{padding:3px 0}.menu-cards .tile li::before{content:"· ";color:var(--gold)}
.menu-cards .price-tag{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(13,35,64,.1);padding-top:14px}
.menu-cards .price-tag b{font:400 26px/1 var(--display);color:#b88412}.menu-cards .price-tag small{color:var(--meta);font-size:12.5px}

@media(max-width:980px){
  .two-col,.side-layout{grid-template-columns:1fr;gap:40px}
  .album-grid,.contact-cards{grid-template-columns:1fr 1fr}
  .count-band .shell{grid-template-columns:repeat(3,1fr)}
  .count-item:nth-child(3){border-right:0}
  .tiles,.menu-cards{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .tiles::-webkit-scrollbar,.menu-cards::-webkit-scrollbar{display:none;height:0}
  .tiles .tile,.menu-cards .tile{flex:0 0 46%;min-width:260px;scroll-snap-align:start}
  .counters{grid-template-columns:repeat(3,1fr)}.counters div:nth-child(3){border-right:0}
  .logo-grid.t2{grid-template-columns:repeat(3,1fr)}.logo-grid.t3{grid-template-columns:repeat(4,1fr)}.logo-grid.t4{grid-template-columns:repeat(4,1fr)}.logo-grid.t5{grid-template-columns:repeat(5,1fr)}.logo-grid.t6{grid-template-columns:repeat(6,1fr)}
  .toc{position:static}.friends{columns:2}
}
@media(max-width:620px){
  .page-hero{padding:96px 0 30px}.page-hero h1{font-size:30px}.page-hero .lead{font-size:15px;margin:10px auto}
  .hero-stats{gap:18px;margin-top:14px}.hero-stats b{font-size:22px}.hero-stats small{font-size:8.5px}
  .countdown-hero{gap:10px 16px;margin-top:14px}.countdown-hero b{font-size:28px}.countdown-hero small{font-size:8px}
  h2{font-size:28px}
  .album-grid{grid-template-columns:1fr 1fr}
  .contact-cards{grid-template-columns:1fr}
  .tiles,.menu-cards{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .tiles::-webkit-scrollbar,.menu-cards::-webkit-scrollbar{display:none;height:0}
  .tiles .tile,.menu-cards .tile{flex:0 0 82%;min-width:0;scroll-snap-align:start}
  .counters{grid-template-columns:1fr 1fr}.counters div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .count-band .shell{grid-template-columns:repeat(3,1fr)}.count-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:12px 6px}.count-item:nth-last-child(-n+2){border-bottom:0}.count-item b{font-size:19px}.count-item small{font-size:8px;letter-spacing:.06em}
  .logo-grid.t1{grid-template-columns:1fr}.logo-grid.t1 a{height:120px}
  .logo-grid.t2,.logo-grid.t3{grid-template-columns:repeat(2,1fr)}.logo-grid.t4,.logo-grid.t5,.logo-grid.t6{grid-template-columns:repeat(3,1fr)}
  .form-card{padding:28px 22px}.form-grid{grid-template-columns:1fr}
  .day{grid-template-columns:1fr}.day-date{grid-auto-flow:column;gap:12px;align-items:center;justify-content:start;padding:12px 18px}.day-date b{font-size:30px}
  .hours th:nth-child(2),.hours td:nth-child(2){display:none}.hours th,.hours td{padding-left:14px;padding-right:14px}
  .day-picker .select{min-width:0;width:100%}
  .info-box{padding:22px 20px}.info-rows div{grid-template-columns:90px 1fr}
  .price-list li{padding:8px 0}
  .faq summary{padding:14px 44px 14px 18px;font-size:16px}
  .faq details p{padding:0 18px 16px}
  .newsletter-form{grid-template-columns:1fr;gap:10px}
  .friends{columns:1}.steps li{grid-template-columns:44px 1fr;gap:14px;padding:18px}
}

.tile .friends{columns:1;margin:14px 0 0}
.album-grid .card a{display:block}

/* Donkere vlakken: leesbare lijsten en labels */
.feature-copy .check-list li,.panel.volunteer .check-list li{color:#dbe4ec}
.feature-copy .placeholder,.info-box .placeholder,.page-hero .placeholder{background:rgba(240,196,90,.18);color:var(--gold2)}
.page-hero.has-img{background:linear-gradient(180deg,rgba(6,21,34,.72),rgba(6,21,34,.92)),var(--img) center/cover no-repeat}
.two-col>aside{position:sticky;top:120px}
.prose h3{font-size:26px;margin:30px 0 8px}
.info-rows .v,.tile p a,.footer a{overflow-wrap:anywhere}

/* Tekstlinks: overal hetzelfde */
.text-link{color:var(--gold-text);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.text-link:hover{color:var(--ink)}
.dark .text-link,.info-box .text-link,.feature-copy .text-link{color:var(--gold2)}
figcaption{font-size:12.5px;color:var(--meta);margin-top:12px;line-height:1.5}

.event-photo{aspect-ratio:16/10;overflow:hidden;margin-bottom:10px}
.event-photo img{width:100%;height:100%;object-fit:cover}
.video-frame::before{z-index:4}
.video-frame{margin-top:30px}
.panel.sponsor .magic-divider{color:#8a6410}

.album-video{max-width:960px;margin:0 auto 40px}
.prose .intro{font-size:17px;color:#40505f;margin-top:0}
.plain-photo{margin:0}.plain-photo img{width:100%;display:block;filter:drop-shadow(0 14px 22px rgba(13,35,64,.18))}

/* Programmategels: de hele tegel is klikbaar via de titel-link */
.card-stretch{color:inherit}
.card-stretch::after{content:"";position:absolute;inset:0;z-index:6}
.card:has(.card-stretch){cursor:pointer}
.card:has(.card-stretch:hover) .fairy-btn,.card:has(.card-stretch:focus-visible) .fairy-btn{transform:translateY(-2px);filter:brightness(1.035)}
.card:has(.card-stretch:hover) .fairy-btn::after{transform:translateX(4px)}
.card:has(.card-stretch:focus-visible){outline:2px solid var(--gold-text);outline-offset:4px}
.card-stretch:focus-visible{outline:none}

/* Hover: sierlijst blijft altijd boven de (ingezoomde) foto */
.card-visual{z-index:1;isolation:isolate}
.card::before{z-index:5}
.card .badge,.card .date-seal{z-index:6}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(13,35,64,.10)}
.card:hover .card-visual img{transform:scale(1.03)}
.card:hover h3{color:var(--gold-text)}

/* Hoofdsponsortegels: holle hoeken ook bij hover, schaduw via drop-shadow op de rij zodat die de hoekvorm volgt */
.logo-grid.t1 a{border-radius:0;box-shadow:none;-webkit-mask:radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;-webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 14px at 0 0,transparent 13.5px,#000 14px) top left,radial-gradient(circle 14px at 100% 0,transparent 13.5px,#000 14px) top right,radial-gradient(circle 14px at 0 100%,transparent 13.5px,#000 14px) bottom left,radial-gradient(circle 14px at 100% 100%,transparent 13.5px,#000 14px) bottom right;mask-size:51% 51%;mask-repeat:no-repeat}
.logo-grid.t1 a:hover{box-shadow:none}
.logo-grid.t1{filter:drop-shadow(0 6px 12px rgba(80,60,20,.14))}

/* Topbalk: planner-login rechtsboven */
.topbar-right{display:flex;align-items:center;gap:18px}
.topbar-login{display:inline-flex;align-items:center;gap:6px;color:var(--gold2);font-weight:700;letter-spacing:.1em;padding-left:18px;border-left:1px solid rgba(255,255,255,.18);transition:color .2s}
.topbar-login svg{width:11px;height:11px;fill:currentColor}
.topbar-login:hover{color:#fff}
@media(max-width:620px){.topbar-right{display:none}}
