@font-face{font-family: 'Bricolage Grotesque';src: url('../fonts/bricolage-grotesque-latin-wght-normal.woff2') format('woff2-variations');font-weight: 200 800;font-style: normal;font-display: swap}@font-face{font-family: 'Figtree';src: url('../fonts/figtree-latin-wght-normal.woff2') format('woff2-variations');font-weight: 300 900;font-style: normal;font-display: swap}:root{--kleur-primair: #3F0E3D;--kleur-accent: #FF5F5A;--kleur-accent-2: #B5D10F;--aubergine: var(--kleur-primair);--aubergine-2: #5A2457;--coral: var(--kleur-accent);--coral-hover: #FF7A76;--lime: var(--kleur-accent-2);--terracotta: #B8372F;--terracotta-hover: #9E2C25;--cream: #FBF7EF;--cream-2: #F5EEE2;--peach: #F6D2C0;--peach-soft: #FBE6DB;--sage: #8E9C7C;--sage-soft: #DFE3D2;--white: #FFFFFF;--bg: var(--cream);--text: var(--aubergine);--text-muted: #6B4A63;--line: rgba(61,16,56,0.14);--focus: var(--terracotta);--accent: var(--terracotta);--font-display: 'Bricolage Grotesque','Arial Narrow',system-ui,sans-serif;--font-body: 'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;--step--1: clamp(0.84rem,0.82rem + 0.1vw,0.9rem);--step-0: clamp(1rem,0.97rem + 0.15vw,1.0625rem);--step-1: clamp(1.1rem,1.05rem + 0.25vw,1.25rem);--step-2: clamp(1.3rem,1.2rem + 0.5vw,1.6rem);--step-3: clamp(1.55rem,1.35rem + 1vw,2.25rem);--step-4: clamp(1.85rem,1.5rem + 1.8vw,3rem);--step-5: clamp(2.25rem,1.7rem + 3vw,4.25rem);--gutter: clamp(1rem,0.6rem + 2vw,2.5rem);--section: clamp(4rem,3rem + 5vw,8rem);--radius-s: 10px;--radius-m: 18px;--radius-l: 28px;--radius-xl: 44px;--shadow: 0 1px 0 rgba(61,16,56,0.06),0 14px 32px -18px rgba(61,16,56,0.35);--ease-out: cubic-bezier(0.22,1,0.36,1);--ease-bounce: cubic-bezier(0.34,1.56,0.64,1);--ease-motion: cubic-bezier(0.16,1,0.3,1);--ease-in-out: cubic-bezier(0.65,0,0.35,1);--dur-kort: 180ms;--dur-mid: 420ms;--dur-lang: 900ms;--stagger: 90ms;--shadow-hover: 0 2px 0 rgba(61,16,56,0.05),0 28px 48px -26px rgba(61,16,56,0.45)}*,*::before,*::after{box-sizing: border-box}a,button,label,summary{-webkit-tap-highlight-color: rgba(185,71,42,0.15)}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: 6rem}body{margin: 0;background: var(--bg);color: var(--text);font-family: var(--font-body);font-size: var(--step-0);line-height: 1.6;overflow-x: clip;-webkit-font-smoothing: antialiased}img,svg{display: block;max-width: 100%}img{height: auto}h1,h2,h3,h4{font-family: var(--font-display);font-weight: 750;line-height: 1.05;letter-spacing: -0.025em;margin: 0;text-wrap: balance;overflow-wrap: break-word;hyphens: auto;hyphenate-limit-chars: 10 4 4}p{margin: 0 0 1em;text-wrap: pretty}p:last-child{margin-bottom: 0}a{color: inherit;text-decoration-thickness: 1.5px;text-underline-offset: 0.18em}a:hover{text-decoration-color: var(--terracotta)}strong{font-weight: 700}main:focus{outline: none}[hidden]{display: none !important}ul[role='list'],ol[role='list']{list-style: none;padding: 0;margin: 0}:focus-visible{outline: 3px solid var(--focus);outline-offset: 3px;border-radius: 6px}.section--dark :focus-visible,.cta-band :focus-visible,.site-footer :focus-visible{outline-color: var(--lime)}.sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip-link{position: absolute;left: 1rem;top: -4rem;z-index: 100;background: var(--aubergine);color: var(--cream);padding: 0.75rem 1.1rem;border-radius: var(--radius-s);font-weight: 700;text-decoration: none}.skip-link:focus{top: 1rem}.wrap{width: min(100% - 2 * var(--gutter),76rem);margin-inline: auto}.icon{display: inline-flex;width: 1.15em;height: 1.15em;flex: none}.icon svg{width: 100%;height: 100%}.btn{--btn-bg: var(--aubergine);--btn-fg: var(--cream);display: inline-flex;align-items: center;justify-content: center;gap: 0.5em;min-height: 3rem;padding: 0.7rem 1.35rem;border: 2px solid transparent;border-radius: 999px;background: var(--btn-bg);color: var(--btn-fg);font: 700 var(--step-0)/1.15 var(--font-body);text-decoration: none;cursor: pointer;transition: background-color 0.2s,color 0.2s,border-color 0.2s,transform 0.25s var(--ease-out);touch-action: manipulation}.btn:active{transform: translateY(0)}.btn--primary{--btn-bg: var(--terracotta);--btn-fg: var(--white)}.btn--primary:hover{--btn-bg: var(--terracotta-hover)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--aubergine);border-color: currentColor}.btn--ghost:hover{--btn-bg: var(--aubergine);--btn-fg: var(--cream);border-color: var(--aubergine)}.btn--light{--btn-bg: var(--cream);--btn-fg: var(--aubergine)}.btn--light:hover{--btn-bg: var(--peach)}.btn--small{min-height: 2.6rem;padding: 0.5rem 1.05rem;font-size: var(--step--1)}.btn--large{min-height: 3.4rem;padding: 0.85rem 1.7rem;font-size: var(--step-1)}.btn--block{width: 100%}.btn--disabled{--btn-bg: var(--cream-2);--btn-fg: var(--text-muted);border: 2px dashed var(--line);cursor: not-allowed;width: 100%}.btn--disabled:hover{transform: none}.btn .icon{width: 1.1em;height: 1.1em}.text-link{display: inline-flex;align-items: center;gap: 0.4em;font-weight: 700;color: var(--terracotta);text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 0.25em}.text-link:hover{color: var(--terracotta-hover)}.text-link--light{color: var(--peach)}.text-link--light:hover{color: var(--white)}.tag{display: inline-flex;align-items: center;padding: 0.22rem 0.7rem;border-radius: 999px;background: rgba(255,255,255,0.7);border: 1px solid var(--line);font-size: var(--step--1);font-weight: 600;line-height: 1.4;text-decoration: none}.tag--voorbeeld{background: transparent;color: var(--text-muted);border: 1.5px dashed rgba(61,16,56,0.35);font-weight: 600}.tag--klein{padding: 0 0.45rem;font-size: 0.72rem;vertical-align: 0.1em}.tag--link:hover{background: var(--white);border-color: var(--aubergine)}.notice{display: flex;gap: 0.8rem;align-items: flex-start;margin: 0 0 2rem;padding: 1rem 1.2rem;background: var(--peach-soft);border: 1px solid var(--peach);border-radius: var(--radius-m)}.notice__pin{width: 1.1rem;height: 1.4rem;flex: none;color: var(--terracotta);margin-top: 0.15rem;--pin-hole: var(--peach-soft)}.site-header{--header-h: 4.75rem;position: sticky;top: 0;z-index: 50;background: color-mix(in srgb,var(--cream) 90%,transparent);backdrop-filter: saturate(1.4) blur(12px);-webkit-backdrop-filter: saturate(1.4) blur(12px);border-bottom: 1px solid transparent;transition: border-color 0.3s}.site-header.is-scrolled{border-bottom-color: var(--line)}.site-header__inner{display: flex;align-items: center;justify-content: space-between;gap: 1rem;min-height: var(--header-h)}.site-header__logo{display: block;flex: none;border-radius: 8px}.site-header__logo img{width: 92px;height: auto}.site-nav{display: flex;align-items: center;gap: 1.75rem}.site-nav__list{display: flex;gap: 1.5rem;list-style: none;margin: 0;padding: 0}.site-nav__list a{position: relative;display: inline-flex;align-items: center;min-height: 2.75rem;font-weight: 600;text-decoration: none}.site-nav__list a::after{content: '';position: absolute;left: 0;right: 0;bottom: 0.45rem;height: 2px;background: var(--terracotta);border-radius: 2px;transform: scaleX(0);transform-origin: left;transition: transform 0.3s var(--ease-out)}.site-nav__list a:hover::after,.site-nav__list a[aria-current='page']::after{transform: scaleX(1)}.nav-toggle{display: none;align-items: center;gap: 0.6rem;min-height: 2.75rem;padding: 0.4rem 1rem 0.4rem 0.85rem;background: var(--aubergine);color: var(--cream);border: 0;border-radius: 999px;font: 700 var(--step--1) var(--font-body);cursor: pointer;touch-action: manipulation}.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display: block;width: 18px;height: 2px;background: currentColor;border-radius: 2px;transition: transform 0.3s var(--ease-out),background-color 0.2s}.nav-toggle__bars{position: relative}.nav-toggle__bars::before,.nav-toggle__bars::after{content: '';position: absolute;left: 0}.nav-toggle__bars::before{top: -6px}.nav-toggle__bars::after{top: 6px}.nav-toggle[aria-expanded='true'] .nav-toggle__bars{background: transparent}.nav-toggle[aria-expanded='true'] .nav-toggle__bars::before{transform: translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded='true'] .nav-toggle__bars::after{transform: translateY(-6px) rotate(-45deg)}@media (min-width: 60em){.site-header{--header-h: 5.5rem}.site-header__logo img{width: 112px}}@media (max-width: 59.99em){.js .nav-toggle{display: inline-flex}.js .site-nav{position: absolute;left: 0;right: 0;top: 100%;height: calc(100dvh - var(--header-h));flex-direction: column;align-items: stretch;justify-content: space-between;gap: 2rem;padding: 1.25rem var(--gutter) max(2rem,env(safe-area-inset-bottom));background: var(--cream);border-top: 1px solid var(--line);overflow-y: auto;overscroll-behavior: contain;visibility: hidden;opacity: 0;transform: translateY(-8px);transition: opacity 0.25s var(--ease-out),transform 0.35s var(--ease-out),visibility 0s linear 0.35s}.js .site-nav.is-open{visibility: visible;opacity: 1;transform: none;transition-delay: 0s}.nav-open,.nav-open body{overflow: hidden}.site-nav__list{flex-direction: column;gap: 0}.site-nav__list a{display: flex;justify-content: space-between;min-height: 4rem;font: 750 var(--step-3)/1 var(--font-display);letter-spacing: -0.03em;border-bottom: 1px solid var(--line)}.site-nav__list a::after{display: none}.site-nav__list a[aria-current='page']{color: var(--terracotta)}.site-nav__list a[aria-current='page']::before{content: '';order: 2;width: 0.9rem;height: 0.9rem;border-radius: 50%;background: var(--coral)}.site-nav__cta{min-height: 3.25rem;font-size: var(--step-0)}.js .site-nav.is-open .site-nav__list li{animation: menu-in 0.4s var(--ease-out) both}.js .site-nav.is-open .site-nav__list li:nth-child(2){animation-delay: 0.04s}.js .site-nav.is-open .site-nav__list li:nth-child(3){animation-delay: 0.08s}.js .site-nav.is-open .site-nav__list li:nth-child(4){animation-delay: 0.12s}html:not(.js) .site-header__inner{flex-wrap: wrap;padding-block: 0.75rem}html:not(.js) .site-nav{flex-wrap: wrap;gap: 0.75rem}html:not(.js) .site-nav__list{flex-direction: row;flex-wrap: wrap;gap: 0 1.25rem}}@keyframes menu-in{from{opacity: 0;transform: translateY(10px)}to{opacity: 1;transform: none}}.section{padding-block: var(--section)}.section--tight{padding-block: calc(var(--section) * 0.5)}.section--flush-top{padding-top: 0}.section--tinted{background: var(--cream-2)}.section--dark{background: var(--aubergine);color: var(--cream)}.section-head{display: flex;flex-wrap: wrap;align-items: end;justify-content: space-between;gap: 1rem 2rem;margin-bottom: clamp(2rem,1.5rem + 2vw,3.25rem)}.section-head__titel{font-size: var(--step-4);max-width: 18ch}.section--tinted .section-head__titel{margin-bottom: clamp(2rem,1.5rem + 2vw,3rem)}.section--tinted .section-head .section-head__titel{margin-bottom: 0}.hero{position: relative;overflow: clip;padding-block: clamp(2rem,1rem + 4vw,5rem) clamp(3rem,2rem + 5vw,7rem)}.hero__blob{position: absolute;right: -16vw;top: -20vw;width: min(64vw,56rem);aspect-ratio: 1;border-radius: 50%;background: var(--peach);opacity: 0.7;z-index: -1}.hero__grid{display: grid;gap: clamp(2.5rem,1rem + 4vw,4.5rem);align-items: center}@media (min-width: 60em){.hero__grid{grid-template-columns: minmax(0,1.15fr) minmax(0,1fr)}}.hero__titel{font-size: var(--step-5);font-weight: 800;letter-spacing: -0.04em;line-height: 0.96}.hero__regels{display: block}.regel{display: block;overflow: hidden;padding-bottom: 0.08em;margin-bottom: -0.08em}.regel>span{display: inline-block}.hero__lead{margin-top: 1.75rem;font-size: var(--step-1);line-height: 1.5;max-width: 31rem}.hero__actions{display: flex;flex-wrap: wrap;gap: 0.75rem;margin-top: 2.25rem}.hero__actions--center{justify-content: center}.route{position: relative;width: 100%;max-width: 34rem;justify-self: center;aspect-ratio: 560 / 520}.route__svg{position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible}.route__path{stroke: var(--aubergine)}.route__reveal{stroke-dasharray: 1;stroke-dashoffset: 0}.route__stops{list-style: none;margin: 0;padding: 0}.route__start,.route__stop{position: absolute;left: var(--x);top: var(--y);z-index: 1}.route__dot{position: absolute;left: 0;top: 0;width: 1.35rem;height: 1.35rem;translate: -50% -50%;border-radius: 50%;background: var(--lime);box-shadow: 0 0 0 6px rgba(193,214,16,0.25)}.route__link{display: block;text-decoration: none;color: var(--aubergine);border-radius: 999px}.route__link:focus-visible{outline: none}.route__link:focus-visible .route__chip{outline: 3px solid var(--focus);outline-offset: 3px}.route__pin{position: absolute;left: 0;bottom: 0;translate: -50% 0;width: clamp(2.2rem,1.6rem + 2vw,3.1rem);max-width: none;height: auto;aspect-ratio: 24 / 30;color: var(--coral);--pin-hole: var(--cream);filter: drop-shadow(0 8px 10px rgba(61,16,56,0.18));transform-origin: 50% 100%;transition: transform var(--dur-mid) var(--ease-bounce)}.route__chip{position: absolute;display: grid;white-space: nowrap;padding: 0.5rem 0.95rem;border-radius: var(--radius-m);background: var(--white);color: var(--aubergine);font: 500 clamp(0.78rem,0.72rem + 0.3vw,0.95rem)/1.25 var(--font-body);box-shadow: var(--shadow);transition: background-color var(--dur-mid) var(--ease-motion),color var(--dur-mid) var(--ease-motion),transform var(--dur-mid) var(--ease-motion)}.route__chip strong{font: 750 clamp(1rem,0.9rem + 0.45vw,1.25rem)/1.1 var(--font-display)}.route__stop .route__chip{bottom: clamp(3rem,2.2rem + 2.6vw,4.2rem)}.route__stop--links .route__chip{right: -1.25rem}.route__stop--rechts .route__chip{left: -1.25rem}.route__link:hover .route__chip,.route__link:focus-visible .route__chip{background: var(--aubergine);color: var(--cream);transform: translateY(-3px)}.route__link:hover .route__pin,.route__link:focus-visible .route__pin{transform: translateY(-6px)}.route__chip--jij{left: 1.2rem;top: 0.5rem;background: var(--aubergine);color: var(--cream);font-weight: 700;padding: 0.35rem 0.8rem;border-radius: 999px}.route__note{position: absolute;right: 0;bottom: 0;margin: 0;font-size: var(--step--1);color: var(--text-muted)}@media (max-width: 59.99em){.route{max-width: 24rem}}@media (max-width: 37.5em){.route__chip{padding: 0.35rem 0.7rem}}@media (prefers-reduced-motion: no-preference){.regel>span{animation: regel-in var(--dur-lang) var(--ease-motion) both;animation-delay: calc(80ms + var(--i) * var(--stagger))}.hero-in{animation: hero-in 700ms var(--ease-motion) both;animation-delay: calc(140ms + var(--i) * var(--stagger))}.route__reveal{animation: route-teken 1600ms var(--ease-in-out) 300ms both}.route__dot{animation: stip-in 500ms var(--ease-bounce) 200ms both}.route__chip--jij{animation: chip-in 450ms var(--ease-motion) 420ms both}.route__stop .route__pin{animation: pin-val 700ms var(--ease-bounce) calc(650ms + var(--i) * 420ms) both}.route__stop .route__chip{animation: chip-in 450ms var(--ease-motion) calc(950ms + var(--i) * 420ms) both}}@keyframes regel-in{from{transform: translateY(105%)}to{transform: none}}@keyframes hero-in{from{opacity: 0;transform: translateY(16px)}to{opacity: 1;transform: none}}@keyframes route-teken{from{stroke-dashoffset: 1}to{stroke-dashoffset: 0}}@keyframes stip-in{from{transform: scale(0)}to{transform: none}}@keyframes chip-in{from{transform: translateY(8px) scale(0.94)}to{transform: none}}@keyframes beeld-open{from{clip-path: inset(100% 0 0 0)}to{clip-path: inset(0 0 0 0)}}@keyframes beeld-zoom{from{transform: scale(1.14)}to{transform: none}}@keyframes lijn-teken{from{clip-path: inset(0 100% 0 0)}to{clip-path: inset(0 0 0 0)}}@keyframes ticket-in{from{opacity: 0;transform: translate(-18px,28px)}to{opacity: 1;transform: none}}@keyframes pin-val{0%{opacity: 0;transform: translateY(-36px)}60%{opacity: 1;transform: translateY(0) scale(1.05,0.93)}100%{opacity: 1;transform: none}}@keyframes pin-ring{from{opacity: 0.7;transform: scale(0.4)}to{opacity: 0;transform: scale(1.8)}}.event-card--peach{--tint: var(--peach);--tint-soft: var(--peach-soft);--tint-dot: var(--terracotta)}.event-card--sage{--tint: var(--sage-soft);--tint-soft: #ECEEE3;--tint-dot: var(--sage)}.event-grid{display: grid;gap: clamp(1.25rem,0.75rem + 1.5vw,2rem);grid-template-columns: repeat(auto-fill,minmax(min(100%,19rem),1fr));list-style: none;padding: 0;margin: 0}.event-grid>li{display: flex}.event-card{position: relative;display: flex;flex-direction: column;width: 100%;overflow: hidden;background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-l);container-type: inline-size;transition: box-shadow var(--dur-mid) var(--ease-motion),border-color var(--dur-mid) var(--ease-motion)}.event-card:hover,.event-card:focus-within{box-shadow: var(--shadow-hover);border-color: rgba(61,16,56,0.28)}.event-card__media{position: relative;aspect-ratio: 16 / 10;overflow: hidden;background: var(--tint)}.event-card__media .foto{height: 100%;border-radius: 0;background: var(--tint)}.event-card__media .foto img,.event-featured__media .foto img{transition: transform 1100ms var(--ease-motion)}.event-card:hover .foto img,.event-featured:hover .foto img{transform: scale(1.06)}.event-card__media .foto__label,.event-featured__media .foto__label{top: 0.75rem;bottom: auto}.event-card__inhoud{display: flex;flex-direction: column;gap: 0.8rem;flex: 1;padding: 1.15rem 1.25rem 0}.event-card__thema{display: flex;align-items: center;gap: 0.45rem;margin: 0;font-size: var(--step--1);font-weight: 700;line-height: 1.3}.event-card__thema::before{content: '';flex: none;width: 0.6rem;height: 0.6rem;border-radius: 50%;background: var(--tint-dot,var(--terracotta))}.event-card__titel{font-size: clamp(1.25rem,7cqi,1.65rem);line-height: 1.08}.event-card__voorbeeld{position: absolute;right: 0.75rem;top: 0.75rem;z-index: 1;font-size: 0.72rem;padding: 0.1rem 0.55rem;background: rgba(251,247,239,0.92)}.date-block{display: grid;justify-items: center;flex: none;min-width: 4.4rem;padding: 0.45rem 0.55rem 0.5rem;background: var(--tint,var(--peach));border-radius: var(--radius-m);line-height: 1}.date-block--zwevend{position: absolute;left: 0.9rem;bottom: 0.9rem;z-index: 1;background: var(--cream);box-shadow: 0 10px 24px -14px rgba(61,16,56,0.6)}.date-block--groot{min-width: 5.6rem;padding: 0.6rem 0.75rem}.date-block--groot .date-block__dag{font-size: 2.8rem}.date-block__weekdag{font-weight: 700;font-size: 0.78rem;text-transform: capitalize}.date-block__dag{font: 800 2rem/1 var(--font-display);letter-spacing: -0.04em;margin-block: 0.15rem}.date-block__maand{font-weight: 600;font-size: 0.78rem}.event-facts{display: grid;gap: 0.45rem;margin: 0;padding: 0;list-style: none;font-size: var(--step--1);color: var(--text-muted)}.event-facts li{display: flex;gap: 0.55rem;align-items: flex-start;min-width: 0}.event-facts .icon{color: var(--aubergine);margin-top: 0.12em}.event-card__foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem 1rem;margin: auto -1.25rem 0;padding: 0.85rem 1.25rem;border-top: 1px dashed var(--line)}.event-card__prijs{display: grid;margin: 0;font-weight: 700;line-height: 1.2}.event-card__prijslabel{font-size: 0.75rem;font-weight: 600;color: var(--text-muted)}.event-card__link{display: inline-flex;align-items: center;gap: 0.6rem;min-height: 2.75rem;font-weight: 700;color: var(--terracotta);text-decoration: none}.event-card__link::after{content: '';position: absolute;inset: 0;border-radius: inherit}.event-card .event-card__link:focus-visible,.event-featured .event-card__link:focus-visible{outline: none}.event-card:has(.event-card__link:focus-visible),.event-featured:has(.event-card__link:focus-visible){outline: 3px solid var(--focus);outline-offset: 3px}.pijl-cirkel{display: grid;place-items: center;width: 2.1rem;height: 2.1rem;border-radius: 50%;border: 1.5px solid currentColor;transition: background-color var(--dur-mid) var(--ease-motion),color var(--dur-mid) var(--ease-motion)}.pijl-cirkel .icon{width: 1rem;height: 1rem;transition: transform var(--dur-mid) var(--ease-motion)}.event-card:hover .pijl-cirkel,.event-featured:hover .pijl-cirkel{background: var(--terracotta);color: var(--white);border-color: var(--terracotta)}.event-card:hover .pijl-cirkel .icon,.event-featured:hover .pijl-cirkel .icon{transform: translateX(2px)}.upcoming{display: grid;gap: clamp(1.5rem,1rem + 2vw,2.5rem)}.upcoming>*{min-width: 0}@media (min-width: 60em){.upcoming{grid-template-columns: 1.4fr 1fr;align-items: start}}.event-featured{position: relative;display: grid;overflow: hidden;background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-xl);transition: box-shadow var(--dur-mid) var(--ease-motion),border-color var(--dur-mid) var(--ease-motion)}@media (min-width: 45em){.event-featured{grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr)}}.event-featured:hover,.event-featured:focus-within{box-shadow: var(--shadow-hover);border-color: rgba(61,16,56,0.28)}.event-featured__media{position: relative;min-height: 16rem;overflow: hidden;background: var(--tint)}.event-featured__media .foto{position: absolute;inset: 0;border-radius: 0}.event-featured__body{display: flex;flex-direction: column;gap: 0.85rem;padding: clamp(1.25rem,1rem + 1.5vw,2rem) clamp(1.25rem,1rem + 1.5vw,2rem) 0}.event-featured{container-type: inline-size}.event-featured__titel{font-size: clamp(1.5rem,5cqi,2.4rem)}.event-featured__intro{color: var(--text-muted);margin: 0}.event-featured .event-card__foot{margin-inline: calc(-1 * clamp(1.25rem,1rem + 1.5vw,2rem));padding-inline: clamp(1.25rem,1rem + 1.5vw,2rem)}.event-featured .event-card__link::after{content: '';position: absolute;inset: 0}.event-featured .event-card__voorbeeld{top: 0.9rem;right: 0.9rem}.event-rows{list-style: none;margin: 0;padding: 0;border-top: 2px solid var(--aubergine)}.event-row{position: relative;display: grid;grid-template-columns: 3.4rem 1fr auto;gap: 1rem;align-items: center;padding: 1rem 0.5rem;border-bottom: 1px solid var(--line);transition: background-color 0.25s}.event-row>*{transition: transform 0.35s var(--ease-out)}.event-row:hover,.event-row:focus-within{background: var(--peach-soft)}.event-row:hover>.icon{transform: translateX(4px)}.event-row:has(a:focus-visible){outline: 3px solid var(--focus);outline-offset: -3px;border-radius: var(--radius-s)}.event-row a:focus-visible{outline: none}.event-row__datum{display: grid;justify-items: center;line-height: 1;font-weight: 700;font-size: 0.8rem;color: var(--text-muted)}.event-row__dag{font: 800 1.6rem/1 var(--font-display);color: var(--aubergine);letter-spacing: -0.03em}.event-row__body{min-width: 0}.event-row__titel{font-size: var(--step-1);line-height: 1.15}.event-row__titel a{text-decoration: none}.event-row__titel a::after{content: '';position: absolute;inset: 0}.event-row__meta{margin: 0.3rem 0 0;font-size: var(--step--1);color: var(--text-muted)}.event-row>.icon{color: var(--terracotta)}.empty-state{display: grid;justify-items: start;gap: 1rem;max-width: 40rem;padding: clamp(1.5rem,1rem + 2vw,2.75rem);background: var(--cream-2);border: 2px dashed var(--line);border-radius: var(--radius-l)}.empty-state__pin{width: 2.2rem;color: var(--coral);--pin-hole: var(--cream-2)}.empty-state__titel{font-size: var(--step-2)}.empty-state p{color: var(--text-muted)}.empty-state--filters{margin-top: 1rem}/* --- thema's (donker) --------------------------------------------------------- */

.themes { display: grid; gap: clamp(2rem, 1rem + 3vw, 4rem); }
@media (min-width: 60em) { .themes { grid-template-columns: 1fr 2fr; align-items: start; } .themes__intro { position: sticky; top: 8rem; } }
.themes__titel { font-size: var(--step-4); margin-bottom: 1rem; max-width: 12ch; }
.themes__intro p { color: color-mix(in srgb, var(--cream) 80%, var(--aubergine)); font-size: var(--step-1); max-width: 22rem; }
.theme-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(251, 247, 239, 0.22); }
.theme-list__item { border-bottom: 1px solid rgba(251, 247, 239, 0.22); }
.theme-list__link {
  position: relative; display: grid; row-gap: 0.4rem;
  padding: 1.6rem 0.25rem; text-decoration: none;
}
.theme-list__link > :not(.theme-list__pin) { transition: transform 0.4s var(--ease-out); }
.theme-list__pin {
  position: absolute; left: 0.25rem; top: 1.95rem; width: 2rem; color: var(--coral); --pin-hole: var(--aubergine);
  opacity: 0; transform: translateY(-12px) scale(0.8); transform-origin: 50% 100%;
  transition: opacity 0.25s, transform 0.45s var(--ease-bounce);
}
.theme-list__label { font: 800 var(--step-3)/1.02 var(--font-display); letter-spacing: -0.03em; }
.theme-list__tekst { color: color-mix(in srgb, var(--cream) 78%, var(--aubergine)); max-width: 38rem; }
.theme-list__count { font-weight: 700; font-size: var(--step--1); color: var(--peach); }
.theme-list__link:hover > :not(.theme-list__pin), .theme-list__link:focus-visible > :not(.theme-list__pin) { transform: translateX(2.9rem); }
.theme-list__link:hover .theme-list__pin, .theme-list__link:focus-visible .theme-list__pin { opacity: 1; transform: none; }
.theme-list__link:hover .theme-list__label { text-decoration: underline; text-decoration-color: var(--coral); text-decoration-thickness: 3px; text-underline-offset: 0.15em; }

/* --- doelgroep ------------------------------------------------------------- */

.audience { display: grid; gap: 1.25rem clamp(2rem, 1rem + 4vw, 5rem); }
.audience__foto { aspect-ratio: 4 / 5; width: min(100%, 22rem); margin-bottom: 0.75rem; }
@media (min-width: 60em) {
  .audience { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); align-items: baseline; }
  .audience__zin, .audience__uitleg { grid-column: 2; }
}
.audience__titel { font-size: var(--step-2); color: var(--text-muted); }
.audience__zin {
  margin: 0; max-width: 24ch;
  font: 750 var(--step-4)/1.12 var(--font-display); letter-spacing: -0.03em; text-wrap: balance;
}
.audience__zin a {
  text-decoration: none; color: var(--aubergine);
  background: linear-gradient(var(--peach), var(--peach)) 0 88% / 100% 0.32em no-repeat;
  transition: background-size 0.3s var(--ease-out);
  border-radius: 4px;
}
.audience__zin a:hover, .audience__zin a:focus-visible { background-size: 100% 100%; }
.audience__uitleg { margin: 0; max-width: 36rem; color: var(--text-muted); font-size: var(--step-1); }

/* --- organisatoren-band ---------------------------------------------------- */

.org-band {
  display: grid; gap: 1.5rem 3rem; align-items: center;
  padding: clamp(1.75rem, 1rem + 4vw, 3.5rem);
  background: var(--peach); border-radius: var(--radius-xl);
}
.org-band > * { min-width: 0; }
@media (min-width: 60em) { .org-band { grid-template-columns: 1.1fr 1fr; } }
.org-band__text .btn { margin-top: 1.5rem; }
.org-band__foto { aspect-ratio: 16 / 10; border-radius: var(--radius-l); }
.org-band__titel { font-size: var(--step-3); margin-bottom: 0.75rem; max-width: 20ch; }
.org-band__text p { max-width: 34rem; }
.org-band .btn { justify-self: start; }

.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.steps li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; padding: 1.25rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-m); }
.steps__nr {
  display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%;
  background: var(--aubergine); color: var(--cream); font: 800 1.15rem/1 var(--font-display);
}
.steps p { margin: 0; padding-top: 0.3rem; }
@media (min-width: 60em) { .steps--row { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } .steps--row li { grid-template-columns: 1fr; padding: 1.5rem; } }
.steps__note { margin-top: 1.75rem; color: var(--text-muted); }

/* --- afsluiting (home) en CTA-band (subpagina's) ---------------------------- */ .closing{display: grid;gap: 2.5rem clamp(2rem,1rem + 5vw,6rem);padding: clamp(1.75rem,1rem + 5vw,5rem);background: var(--aubergine);color: var(--cream);border-radius: var(--radius-xl)}@media (min-width: 60em){.closing{grid-template-columns: 1.3fr 1fr;align-items: end}}.closing__titel{font-size: var(--step-3);max-width: 16ch;margin-bottom: 1rem}.closing__over p{color: color-mix(in srgb,var(--cream) 80%,var(--aubergine));max-width: 34rem}.closing__actie{display: grid;justify-items: start;gap: 1rem}@media (min-width: 60em){.closing__actie{padding-left: 2.5rem;border-left: 1px solid rgba(251,247,239,0.2)}}.closing__pin{width: 2.4rem;color: var(--coral);--pin-hole: var(--aubergine)}.closing__vraag{margin: 0;font: 750 var(--step-2)/1.1 var(--font-display)}.cta-band{position: relative;overflow: hidden;display: grid;justify-items: start;gap: 2rem;padding: clamp(2rem,1rem + 5vw,5rem);background: var(--aubergine);color: var(--cream);border-radius: var(--radius-xl)}.cta-band__pin{position: absolute;right: clamp(2rem,1rem + 6vw,7rem);top: clamp(2rem,1rem + 3vw,4rem);width: clamp(3rem,2rem + 4vw,5.5rem);color: var(--coral);--pin-hole: var(--aubergine)}.cta-band__titel{position: relative;font-size: var(--step-4);max-width: 16ch}.cta-band__actions{display: flex;flex-wrap: wrap;gap: 0.75rem;position: relative}@media (max-width: 37.5em){.cta-band__pin{position: relative;right: auto;top: auto;width: 2.75rem}}.foto{position: relative;margin: 0;overflow: hidden;border-radius: var(--radius-l);background: var(--peach)}.foto picture,.foto img{display: block;width: 100%;height: 100%}.foto img{object-fit: cover}.foto--boog{border-radius: 999px 999px var(--radius-l) var(--radius-l)}.foto__label{position: absolute;left: 0.75rem;bottom: 0.75rem;padding: 0.15rem 0.55rem;border-radius: 999px;background: rgba(251,247,239,0.9);color: var(--aubergine);font-size: 0.72rem;font-weight: 600;line-height: 1.5}.foto--boog .foto__label{left: 1rem;bottom: 1rem}/* --- subpagina's ----------------------------------------------------------- */

.page-hero { position: relative; overflow: clip; padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.page-hero::before {
  content: ''; position: absolute; z-index: -1; right: -10rem; top: -12rem; width: 30rem; aspect-ratio: 1;
  border-radius: 50%; background: var(--peach); opacity: 0.6;
}
.page-hero__titel { font-size: var(--step-5); font-weight: 800; letter-spacing: -0.035em; line-height: 0.98; max-width: 16ch; }
.page-hero--org .page-hero__titel { max-width: 15ch; }
.page-hero__lead { margin-top: 1.25rem; font-size: var(--step-1); max-width: 40rem; color: var(--text-muted); }
.page-hero .btn { margin-top: 2rem; }
.page-hero__split { display: grid; gap: 2.5rem clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.page-hero__foto { aspect-ratio: 4 / 5; width: min(100%, 22rem); }
@media (min-width: 60em) {
  .page-hero__split { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .page-hero__foto { width: 100%; max-height: 32rem; justify-self: end; }
}
.page-hero--center { text-align: center; }
.page-hero--center .page-hero__titel, .page-hero--center .page-hero__lead { margin-inline: auto; }
.big-pin { display: block; width: 3.5rem; margin: 0 auto 1.5rem; color: var(--coral); }

.split { display: grid; gap: 1.5rem clamp(2rem, 1rem + 4vw, 5rem); }
@media (min-width: 60em) { .split { grid-template-columns: 1fr 1.6fr; } }
.split__titel { font-size: var(--step-3); max-width: 14ch; }
.split__kop { display: grid; gap: 1.75rem; align-content: start; }
.split__foto { aspect-ratio: 3 / 2; }
@media (max-width: 59.99em) { .split__foto { display: none; } }

.feature-list { margin: 0; display: grid; }
.feature-list > div { padding-block: 1.25rem; border-top: 2px solid var(--aubergine); }
.feature-list > div:last-child { border-bottom: 2px solid var(--aubergine); }
.feature-list dt { font: 750 var(--step-2)/1.1 var(--font-display); letter-spacing: -0.02em; margin-bottom: 0.5rem; }
.feature-list dd { margin: 0; color: var(--text-muted); max-width: 40rem; }

.prose { max-width: 42rem; }
.prose h2 { font-size: var(--step-3); margin: 0 0 1rem; }
.prose section + section { margin-top: clamp(2.5rem, 2rem + 2vw, 3.5rem); }
.prose p { color: var(--text-muted); }
.prose strong { color: var(--aubergine); }

/* --- filters --------------------------------------------------------------- */

.filters { display: none; }
.js .filters {
  display: grid; gap: 1rem; margin-bottom: 2rem;
  padding: clamp(1rem, 0.75rem + 1vw, 1.5rem);
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-l);
}
@media (min-width: 45em) { .js .filters { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 70em) { .js .filters { grid-template-columns: 1.4fr 1fr 1fr auto 1.15fr; align-items: end; } }
.filter { display: grid; gap: 0.4rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.filter label, .filter legend { font-weight: 700; font-size: var(--step--1); padding: 0; }
.filter--search { grid-column: 1 / -1; }
.filters__toggle { display: none; }
@media (max-width: 44.99em) {
  .js .filters { grid-template-columns: 1fr auto; align-items: end; }
  .filters__toggle {
    display: inline-flex; align-items: center; gap: 0.5rem; min-height: 3rem; padding: 0 1rem;
    background: var(--aubergine); color: var(--cream); border: 0; border-radius: var(--radius-s);
    font: 700 var(--step--1) var(--font-body); cursor: pointer; touch-action: manipulation;
  }
  .filters__toggle::after {
    content: ''; width: 0.5rem; height: 0.5rem; border: solid currentColor; border-width: 0 2px 2px 0;
    transform: translateY(-2px) rotate(45deg); transition: transform 0.25s var(--ease-out);
  }
  .filters__toggle[aria-expanded='true']::after { transform: translateY(2px) rotate(-135deg); }
  .filter--search { grid-column: 1; }
  .filters__opties { grid-column: 1 / -1; display: none; gap: 1rem; }
  .filters__opties.is-open { display: grid; animation: menu-in 0.3s var(--ease-out) both; }
}
@media (min-width: 45em) { .filters__opties { display: contents; } }
.filters__badge { padding: 0.05rem 0.45rem; border-radius: 999px; background: var(--lime); color: var(--aubergine); font-size: 0.75rem; }
.filter--segmented legend { float: left; width: 100%; margin-bottom: 0.4rem; }
.filter--segmented .segmented { clear: both; }
@media (min-width: 70em) { .filter--search { grid-column: auto; } }
.filters__bar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--line); }
.filters__count { margin: 0; font-weight: 700; }

input, select, textarea {
  width: 100%; min-height: 3rem; padding: 0.7rem 0.95rem;
  font: inherit; font-size: max(16px, 1rem); color: var(--aubergine);
  background: var(--cream); border: 2px solid rgba(61, 16, 56, 0.28); border-radius: var(--radius-s);
  transition: border-color 0.2s, background-color 0.2s;
}
input:hover, select:hover, textarea:hover { border-color: rgba(61, 16, 56, 0.5); }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--aubergine); background: var(--white); }
select {
  appearance: none; padding-right: 2.5rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%233D1038' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.8rem center; background-size: 1.1rem;
}
textarea { min-height: 9rem; resize: vertical; }
::placeholder { color: #8A7185; opacity: 1; }

.segmented { display: flex; padding: 0.25rem; background: var(--cream-2); border-radius: 999px; }
.segmented input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; pointer-events: none; }
.segmented label {
  flex: 1; text-align: center; white-space: nowrap; display: grid; place-items: center; min-height: 2.6rem;
  padding: 0.3rem 0.9rem; border-radius: 999px; cursor: pointer;
  font-size: var(--step--1); font-weight: 600; transition: background-color 0.2s, color 0.2s;
}
.segmented input:checked + label { background: var(--aubergine); color: var(--cream); }
.segmented input:focus-visible + label { outline: 3px solid var(--focus); outline-offset: 2px; }
.segmented label:hover { background: var(--peach-soft); }
.segmented input:checked + label:hover { background: var(--aubergine); }

/* Filterovergang: kaarten die weer zichtbaar worden komen rustig in beeld */
.event-grid > li.is-entering { animation: card-in 0.4s var(--ease-out) both; }
@keyframes card-in { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: none; } }

/* --- detail ---------------------------------------------------------------- */

.detail-hero { background: var(--tint-soft); padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(2.5rem, 1.5rem + 4vw, 5rem); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; list-style: none; margin: 0 0 2rem; padding: 0; font-size: var(--step--1); }
.breadcrumb li:not(:last-child)::after { content: '/'; margin-left: 0.5rem; color: var(--text-muted); }
.breadcrumb a { color: var(--text-muted); display: inline-block; padding-block: 0.4rem; }
.breadcrumb [aria-current] { font-weight: 600; }
.detail-hero__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.25rem; }
.detail-hero__titel { font-size: clamp(1.6rem, 0.6rem + 5vw, 5.6rem); font-weight: 800; letter-spacing: -0.035em; line-height: 0.98; max-width: 18ch; }
.detail-hero__lead { margin-top: 1.25rem; font-size: var(--step-1); max-width: 42rem; color: var(--text-muted); }

.detail { display: grid; gap: clamp(2rem, 1rem + 4vw, 5rem); padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) var(--section); }
@media (min-width: 60em) {
  .detail { grid-template-columns: 1.6fr 1fr; align-items: start; }
  .detail__aside { grid-column: 2; grid-row: 1; position: sticky; top: 7rem; margin-top: calc(-1 * clamp(4.5rem, 3rem + 5vw, 8rem)); }
  .detail__main { grid-column: 1; grid-row: 1; }
}

.ticket {
  position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-l);
  box-shadow: var(--shadow);
}
.facts { margin: 0; padding: 1.5rem 1.5rem 1.25rem; display: grid; gap: 1rem; }
.facts__row { position: relative; padding-left: 2.2rem; }
.facts__row .icon { position: absolute; left: 0; top: 0.1rem; width: 1.35rem; height: 1.35rem; color: var(--terracotta); }
.facts dt { font-size: var(--step--1); color: var(--text-muted); font-weight: 600; }
.facts dd { margin: 0; font-weight: 700; }
.facts dd::first-letter { text-transform: uppercase; }
.register {
  position: relative; padding: 1.5rem; border-top: 2px dashed var(--line);
  display: grid; gap: 0.85rem;
}
.register::before, .register::after { /* ticketinkepingen */
  content: ''; position: absolute; top: -0.85rem; width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--cream); border: 1px solid var(--line);
}
.register::before { left: -0.85rem; clip-path: inset(0 0 0 50%); }
.register::after { right: -0.85rem; clip-path: inset(0 50% 0 0); }
.register__titel { font: 750 var(--step-1)/1.1 var(--font-display); margin: 0; }
.register p { margin: 0; color: var(--text-muted); font-size: var(--step--1); }
.register .btn .icon { width: 1rem; height: 1rem; }

.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.check-list li { position: relative; padding-left: 2rem; }
.check-list li::before {
  content: ''; position: absolute; left: 0; top: 0.35em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
  background: var(--sage-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 12.5 3.2 3L17 8.5' fill='none' stroke='%233D1038' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.9rem no-repeat;
}

.programme { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--peach); }
.programme li { position: relative; display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: 0.65rem 0 0.65rem 1.5rem; }
.programme li::before { content: ''; position: absolute; left: -7px; top: 1.05rem; width: 12px; height: 12px; border-radius: 50%; background: var(--cream); border: 2px solid var(--terracotta); }
.programme time { font-weight: 700; font-variant-numeric: tabular-nums; }

/* --- formulieren ---------------------------------------------------------- */

.form-wrap { max-width: 52rem; }
.form-wrap--narrow { max-width: 40rem; }
.form {
  padding: clamp(1.25rem, 0.75rem + 2.5vw, 3rem);
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-xl);
}
.form__kop { font-size: var(--step-3); margin-bottom: 0.5rem; }
.form__intro { color: var(--text-muted); font-size: var(--step--1); margin-bottom: 1.75rem; }
.form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__grid { display: grid; gap: 1.35rem 1.25rem; }
@media (min-width: 45em) { .form__grid { grid-template-columns: 1fr 1fr; } .field--wide { grid-column: 1 / -1; } }
.field { display: grid; gap: 0.4rem; align-content: start; }
.field label { font-weight: 700; }
.field__optional { font-weight: 500; color: var(--text-muted); }
.field__hint { margin: 0; font-size: var(--step--1); color: var(--text-muted); }
.field__error { margin: 0; font-size: var(--step--1); font-weight: 700; color: #A3291A; display: flex; gap: 0.4rem; }
.field__error::before { content: '!'; display: inline-grid; place-items: center; flex: none; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #A3291A; color: var(--white); font-size: 0.8rem; margin-top: 0.1rem; }
.field.has-error input, .field.has-error textarea, .field.has-error select { border-color: #A3291A; background: #FFF5F2; }
.form__privacy { margin-top: 1.5rem; font-size: var(--step--1); color: var(--text-muted); }
.form__actions { margin-top: 1.25rem; }
.form__actions .btn[aria-busy='true'] { opacity: 0.75; cursor: progress; }
.form__summary { margin-bottom: 1.5rem; padding: 1rem 1.2rem; border-radius: var(--radius-m); background: #FFF5F2; border: 2px solid #A3291A; }
.form__summary:focus { outline: 3px solid var(--focus); outline-offset: 2px; }
.form__summary p { margin: 0 0 0.5rem; font-weight: 700; }
.form__summary ul { margin: 0; padding-left: 1.2rem; }
.form__status:empty { display: none; }
.form__status { margin-top: 1.25rem; padding: 1rem 1.2rem; border-radius: var(--radius-m); font-weight: 600; }
.form__status.is-error { background: #FFF5F2; border: 2px solid #A3291A; }
.form-success {
  display: grid; justify-items: start; gap: 1rem;
  padding: clamp(1.5rem, 1rem + 3vw, 3rem); background: var(--sage-soft); border-radius: var(--radius-xl);
}
.form-success:focus { outline: 3px solid var(--focus); outline-offset: 3px; }
.form-success__pin { width: 2.4rem; color: var(--coral); --pin-hole: var(--sage-soft); }
.form-success h2 { font-size: var(--step-3); }
.form-aside { margin-top: 1.5rem; color: var(--text-muted); }

/* --- footer ----------------------------------------------------------------- */

.site-footer { background: var(--aubergine); color: var(--cream); padding-top: clamp(3rem, 2rem + 4vw, 5rem); }
.site-footer__grid { display: grid; gap: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 50em) { .site-footer__grid { grid-template-columns: 2fr 1fr; } }
.site-footer__badge { display: inline-block; padding: 0.9rem 1.1rem; background: var(--cream); border-radius: var(--radius-m); margin-bottom: 1.25rem; }
.site-footer__badge img { width: 120px; height: auto; }
.site-footer p { color: color-mix(in srgb, var(--cream) 80%, var(--aubergine)); max-width: 26rem; font-size: var(--step--1); }
.site-footer__heading { font-size: var(--step-1); margin-bottom: 1rem; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.site-footer ul a { text-decoration: none; display: inline-flex; align-items: center; min-height: 2.75rem; }
.site-footer ul a:hover { text-decoration: underline; text-decoration-color: var(--coral); }
.site-footer .btn { margin-top: 1rem; }
.site-footer__base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem;
  padding-block: 1.5rem; border-top: 1px solid rgba(251, 247, 239, 0.2); font-size: var(--step--1);
}
.site-footer__base p { margin: 0; }
.site-footer__base a { color: var(--cream); display: inline-flex; align-items: center; min-height: 2.75rem; }

/* --- scrollentrees (JavaScript zet .motion; zonder JS is alles direct zichtbaar) -- */

.motion [data-reveal] {
  transition: opacity var(--dur-lang) var(--ease-motion), transform var(--dur-lang) var(--ease-motion);
  transition-delay: calc(var(--i, 0) * var(--stagger));
}
.motion [data-reveal]:not(.is-in) { opacity: 0; transform: translateY(28px); }
.motion [data-reveal='beeld'] { transition: none; }
.motion [data-reveal='beeld']:not(.is-in) { opacity: 1; transform: none; }
.motion [data-reveal='beeld'] picture { transition: clip-path 1100ms var(--ease-motion); }
.motion [data-reveal='beeld']:not(.is-in) picture { clip-path: inset(100% 0 0 0); }
.motion [data-reveal='beeld'] .foto__label { transition: opacity var(--dur-mid) var(--ease-motion) 500ms; }
.motion [data-reveal='beeld']:not(.is-in) .foto__label { opacity: 0; }
.motion [data-reveal='beeld'] img { transition: transform 1500ms var(--ease-motion); }
.motion [data-reveal='beeld']:not(.is-in) img { transform: scale(1.12); }
@media (max-width: 44.99em) { .motion [data-reveal]:not(.is-in):not([data-reveal='beeld']) { transform: translateY(16px); } }

/* Het opvallende scrollmoment: het onderwerpenblok vouwt open en het onderwerp in het midden licht op */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .section--onderwerpen {
      animation: ontvouw linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }
  }
}
@keyframes ontvouw {
  from { clip-path: inset(5% 4% 0 4% round 56px 56px 0 0); }
  to { clip-path: inset(0 0 0 0 round 0); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .filters, .hero__actions, .route, .band, .mobiele-actie { display: none !important; }
}

/* --- wisselend woord in de hero ------------------------------------------- */

.wissel { display: inline-grid; vertical-align: top; color: var(--terracotta); }
.wissel__woord {
  grid-area: 1 / 1; white-space: nowrap; opacity: 0; transform: translateY(0.35em);
  transition: opacity 0.35s var(--ease-out), transform 0.5s var(--ease-out);
}
.wissel__woord { transition-duration: 0.2s, 0.25s; }
.wissel__woord.is-actief { opacity: 1; transform: none; transition-duration: 0.35s, 0.5s; transition-delay: 0.2s; }
.wissel__woord:not(.is-actief) { transform: translateY(-0.35em); }
.wissel__woord.is-actief ~ .wissel__woord { transform: translateY(0.35em); }

/* --- lijst "zo ziet een avond eruit" -------------------------------------- */

.avond-lijst { list-style: none; margin: 0 0 1.75rem; padding: 0; display: grid; gap: 0.8rem; max-width: 34rem; }
.avond-lijst li { position: relative; padding-left: 1.6rem; }
.avond-lijst li::before { content: ''; position: absolute; left: 0; top: 0.5em; width: 0.65rem; height: 0.65rem; border-radius: 50%; background: var(--terracotta); }

/* --- knoppen: kleurvulling bij hover, knop blijft staan -------------------- */

.btn { position: relative; overflow: hidden; isolation: isolate; --btn-fill: var(--aubergine-2); transition: color var(--dur-mid) var(--ease-motion), border-color var(--dur-mid) var(--ease-motion), transform var(--dur-kort) var(--ease-motion); }
.btn::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: var(--btn-fill); transform: scaleX(0); transform-origin: right center;
  transition: transform var(--dur-mid) var(--ease-motion);
}
.btn:hover { transform: none; }
.btn:hover::before { transform: scaleX(1); transform-origin: left center; }
.btn:active { transform: scale(0.97); }
.btn--primary, .btn--primary:hover { --btn-bg: var(--terracotta); --btn-fill: var(--terracotta-hover); }
.btn--ghost:hover { --btn-bg: transparent; --btn-fg: var(--cream); --btn-fill: var(--aubergine); border-color: var(--aubergine); }
.btn--light:hover { --btn-bg: var(--cream); --btn-fill: var(--peach); }
.btn--disabled::before { display: none; }

/* --- header: verdwijnt bij naar beneden scrollen, komt terug bij omhoog --- */

.site-header { transition: transform var(--dur-mid) var(--ease-motion), border-color 0.3s; }
.site-header.is-verborgen:not(:focus-within) { transform: translateY(-100%); }

/* --- detailpagina ---------------------------------------------------------- */

.detail-hero { position: relative; overflow: clip; background: none; padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.detail-hero::before { content: ''; position: absolute; z-index: -1; right: -12rem; top: -14rem; width: 34rem; aspect-ratio: 1; border-radius: 50%; background: var(--peach); opacity: 0.6; }
.detail-hero__grid { display: grid; gap: 2.5rem clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
@media (min-width: 60em) { .detail-hero__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.detail-hero__foto { aspect-ratio: 4 / 5; width: min(100%, 24rem); justify-self: end; }
@media (max-width: 59.99em) { .detail-hero__foto { display: none; } }
.detail-hero__kern { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.detail-hero__kern time { font-weight: 700; font-size: var(--step-1); }
.detail-hero__kern time strong { font: 800 2.6rem/1 var(--font-display); letter-spacing: -0.04em; margin-right: 0.2rem; }
.detail-hero__kern span { color: var(--text-muted); font-weight: 600; }
@media (min-width: 60em) { .detail__aside { margin-top: 0; } }
.register:target, .register:focus { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: var(--radius-m); }

.mobiele-actie {
  position: fixed; z-index: 40; left: var(--gutter); right: var(--gutter); bottom: max(1rem, env(safe-area-inset-bottom));
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.5rem 0.5rem 0.5rem 1.25rem; border-radius: 999px;
  background: var(--aubergine); color: var(--cream); box-shadow: 0 18px 40px -18px rgba(61, 16, 56, 0.7);
  transform: translateY(160%); transition: transform var(--dur-mid) var(--ease-motion);
}
.mobiele-actie:not(.is-zichtbaar) { visibility: hidden; transition: transform var(--dur-mid) var(--ease-motion), visibility 0s linear var(--dur-mid); }
.mobiele-actie.is-zichtbaar { transform: none; }
.mobiele-actie p { display: grid; margin: 0; line-height: 1.25; font-size: var(--step--1); }
.mobiele-actie span { color: color-mix(in srgb, var(--cream) 75%, var(--aubergine)); }
.mobiele-actie :focus-visible { outline-color: var(--lime); }
@media (min-width: 60em) { .mobiele-actie { display: none; } }
@media (max-width: 59.99em) { .page-detail .site-footer { padding-bottom: 5rem; } }

/* Subpagina's: dezelfde intro als de homepage,korter */ @media (prefers-reduced-motion: no-preference){.page-hero__titel{animation: hero-in 800ms var(--ease-motion) 60ms both}.page-hero__lead{animation: hero-in 800ms var(--ease-motion) 150ms both}.page-hero .btn,.page-hero__split>div>.btn{animation: hero-in 800ms var(--ease-motion) 240ms both}.page-hero__foto,.detail-hero__foto{animation: beeld-open 1100ms var(--ease-motion) 160ms both}}.audience>*{min-width: 0}.audience__zin{font-size: clamp(1.75rem,1.2rem + 2.6vw,4rem)}@media (max-width: 30em){.event-row__titel{font-size: var(--step-0)}}.band{position: relative;background: var(--aubergine);color: var(--cream);border-block: 1px solid rgba(251,247,239,0.08)}.band__venster{overflow: hidden;padding-block: 1.05rem;mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.band__spoor{display: flex;width: max-content}.band__groep{display: flex;flex: none;list-style: none;margin: 0;padding: 0}.band__groep li{display: flex;align-items: center;white-space: nowrap;font: 800 clamp(1.05rem,0.9rem + 0.7vw,1.5rem)/1 var(--font-display);letter-spacing: 0.02em;text-transform: uppercase}.band__groep li::after{content: '';width: 0.5em;height: 0.5em;margin-inline: 1.4em;border-radius: 50%;background: var(--lime)}.band__groep li:nth-child(3n + 2){color: var(--peach)}@media (prefers-reduced-motion: no-preference){.band__spoor{animation: band-loop 38s linear infinite}.band:hover .band__spoor,.band__spoor.is-gepauzeerd{animation-play-state: paused}}@keyframes band-loop{to{transform: translateX(-50%)}}.band__pauze{position: absolute;right: var(--gutter);top: 50%;translate: 0 -50%;display: grid;place-items: center;width: 2.25rem;height: 2.25rem;border-radius: 50%;background: var(--aubergine);border: 1.5px solid rgba(251,247,239,0.5);color: var(--cream);cursor: pointer}.band__pauze:focus-visible{outline: 3px solid var(--lime);outline-offset: 2px}.band__pauze-icoon{width: 0.7rem;height: 0.8rem;border-inline: 3px solid currentColor}.band__pauze[aria-pressed='true'] .band__pauze-icoon{border: 0;border-left: 0.7rem solid currentColor;border-block: 0.4rem solid transparent;width: 0;height: 0;margin-left: 3px}@media (prefers-reduced-motion: reduce){.band__pauze{display: none}}.btn--primary,.btn--primary:hover{--btn-bg: var(--kleur-primair);--btn-fg: var(--cream);--btn-fill: var(--aubergine-2)}.btn--accent,.btn--accent:hover{--btn-bg: var(--kleur-accent);--btn-fg: var(--kleur-primair);--btn-fill: var(--coral-hover)}.btn--accent .icon{width: 1rem;height: 1rem}.section--dark .btn--primary,.closing .btn--primary,.cta-band .btn--primary{--btn-bg: var(--kleur-accent);--btn-fg: var(--kleur-primair);--btn-fill: var(--coral-hover)}.site-nav__cta{font-weight: 800}.site-nav__cta[aria-current='page']{box-shadow: inset 0 0 0 2px var(--kleur-primair)}.site-header__logo .logo-nieuw{width: auto;height: 34px}@media (min-width: 60em){.site-header__logo .logo-nieuw{height: 40px}}.site-footer__badge .logo-nieuw{width: auto;height: 34px}.labels{display: flex;flex-wrap: wrap;gap: 0.35rem;list-style: none;margin: 0;padding: 0}.label{display: inline-flex;align-items: center;gap: 0.3rem;padding: 0.2rem 0.6rem;border-radius: 999px;border: 1px solid var(--line);background: var(--cream);font-size: 0.78rem;font-weight: 600;line-height: 1.35}.label .icon{width: 0.9rem;height: 0.9rem}.label--soort{background: var(--kleur-primair);border-color: var(--kleur-primair);color: var(--cream)}.label--kosten{background: color-mix(in srgb,var(--kleur-accent-2) 28%,var(--cream));border-color: color-mix(in srgb,var(--kleur-accent-2) 60%,transparent)}.detail-hero__tags{align-items: center}.detail-hero__tags .label{font-size: var(--step--1)}.js .filters{grid-template-columns: 1fr}@media (min-width: 45em){.js .filters{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 70em){.js .filters{grid-template-columns: repeat(5,minmax(0,1fr));align-items: end}}@media (max-width: 44.99em){.js .filters{grid-template-columns: 1fr auto;align-items: end}.filters__toggle span:first-child{white-space: nowrap}}.filter--periode{grid-column: 1 / -1;display: grid;grid-template-columns: 1fr 1fr;gap: 1rem}.filter--periode[hidden]{display: none !important}@media (min-width: 70em){.filter--periode{grid-column: 2 / span 3}}.filters__badge:not([hidden]){display: inline-grid;place-items: center;min-width: 1.4rem}.route__reveal{stroke-dashoffset: calc(1 - var(--eind,1))}@keyframes route-teken{from{stroke-dashoffset: 1}to{stroke-dashoffset: calc(1 - var(--eind,1))}}.route__chip{white-space: normal;width: max-content;max-width: 13rem}.route__titel{font-weight: 600;line-height: 1.25;margin-top: 0.15rem;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.route__plaats{color: var(--text-muted);font-size: 0.85em;margin-top: 0.1rem}.route__link:hover .route__plaats,.route__link:focus-visible .route__plaats{color: inherit}@media (max-width: 37.5em){.route__chip{max-width: 9.5rem}}@media (min-width: 45em){.theme-list{display: grid;grid-template-columns: 1fr 1fr;column-gap: 2rem}}.theme-list__link{padding-block: 1.15rem}.theme-list__label{font-size: var(--step-2)}/* Filters op mobiel: "Voor wie" over de volle breedte,knop eronder;datumvelden binnen het kader */ @media (max-width: 44.99em){.js .filters{grid-template-columns: 1fr}.filters__toggle{justify-content: center;width: 100%}}.filter--periode .filter,.filter--periode input{min-width: 0}.filter--periode input{padding-inline: 0.7rem}@media (min-width: 70em){.filter--periode{grid-column: 1 / -1;max-width: 32rem}}@media (min-width: 50em){.site-footer__grid{grid-template-columns: 1.6fr 1fr 1fr}}.site-footer__contact a{display: inline-flex;align-items: center;gap: 0.55rem}.site-footer__contact .icon{width: 1.15rem;height: 1.15rem;color: var(--kleur-accent)}/* --- formulier "Activiteit aanmelden" ------------------------------------- */ .page-hero--compact{padding-block: clamp(2rem,1rem + 3vw,3.5rem) clamp(1.5rem,1rem + 2vw,2.5rem)}.page-hero--compact .page-hero__titel{font-size: var(--step-4)}.aanmeld-raster{display: grid;gap: 2rem;align-items: start}@media (min-width: 64em){.aanmeld-raster{grid-template-columns: minmax(0,1fr) 20rem;gap: 2.5rem}}.aanmeld{display: grid;gap: 1rem;min-width: 0}.stap{margin: 0;padding: clamp(1.15rem,0.8rem + 1.5vw,1.75rem);background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-l);display: grid;gap: 1rem;min-width: 0}.stap__kop{display: flex;align-items: center;gap: 0.7rem;padding: 0;font: 750 var(--step-1)/1.2 var(--font-display);letter-spacing: -0.01em}.stap__nr{display: grid;place-items: center;width: 1.9rem;height: 1.9rem;border-radius: 50%;background: var(--kleur-accent);color: var(--kleur-primair);font: 800 0.95rem/1 var(--font-display)}.stap__uitleg{margin: -0.4rem 0 0;color: var(--text-muted);font-size: var(--step--1)}.stap .form__grid{gap: 1rem}@media (min-width: 45em){.form__grid--3{grid-template-columns: repeat(3,minmax(0,1fr))}.form__grid--4{grid-template-columns: repeat(4,minmax(0,1fr))}.form__grid--locatie{grid-template-columns: 1.3fr 1.3fr 0.7fr 1fr}}.stap input,.stap select,.stap textarea{min-height: 2.75rem;padding: 0.55rem 0.8rem;background: var(--cream)}.stap textarea{min-height: 6.5rem}.stap .field label{font-size: var(--step--1)}.keuzes{display: flex;flex-wrap: wrap;gap: 0.5rem;border-radius: var(--radius-s)}.keuze{position: relative;display: inline-flex;cursor: pointer}.keuze input{position: absolute;opacity: 0;width: 1px;height: 1px}.keuze span{display: inline-flex;align-items: center;gap: 0.45rem;min-height: 2.6rem;padding: 0.4rem 0.95rem;border: 1.5px solid rgba(61,16,56,0.25);border-radius: 999px;background: var(--cream);font-weight: 600;font-size: var(--step--1);transition: background-color var(--dur-kort) var(--ease-motion),border-color var(--dur-kort) var(--ease-motion),color var(--dur-kort) var(--ease-motion)}.keuze span::before{content: '';width: 1rem;height: 1rem;border-radius: 5px;border: 1.5px solid currentColor;opacity: 0.55}.keuze:hover span{border-color: var(--kleur-primair)}.keuze input:checked + span{background: var(--kleur-primair);border-color: var(--kleur-primair);color: var(--cream)}.keuze input:checked + span::before{opacity: 1;border-color: var(--kleur-accent-2);background: var(--kleur-accent-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%233F0E3D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.8rem no-repeat}.keuze input:focus-visible + span{outline: 3px solid var(--focus);outline-offset: 2px}.keuzes[aria-invalid='true'] .keuze span{border-color: #A3291A}.keuze--akkoord span{border-radius: var(--radius-m);background: var(--white);line-height: 1.4;padding-block: 0.6rem}.segmented--breed{max-width: 30rem}.link-knop{justify-self: start;background: none;border: 0;padding: 0.35rem 0;color: var(--terracotta);font: 700 var(--step--1) var(--font-body);cursor: pointer;text-decoration: underline;text-underline-offset: 0.2em}.link-knop:hover{color: var(--terracotta-hover)}.extra-data{display: grid;gap: 0.75rem}.extra-data:empty{display: none}.extra-data__invoer{display: flex;gap: 0.75rem;align-items: center;max-width: 22rem}.upload__label{font-weight: 700;font-size: var(--step--1)}.upload{position: relative;display: grid;grid-template-columns: auto 1fr;column-gap: 0.9rem;align-items: center;padding: 1rem 1.1rem;border: 2px dashed rgba(61,16,56,0.25);border-radius: var(--radius-m);background: var(--cream);cursor: pointer;transition: border-color var(--dur-kort) var(--ease-motion),background-color var(--dur-kort) var(--ease-motion)}.upload:hover,.upload.is-sleep{border-color: var(--kleur-primair);background: var(--peach-soft)}.upload input{position: absolute;inset: 0;opacity: 0;cursor: pointer;width: 100%;height: 100%;min-height: 0}.upload:has(input:focus-visible){outline: 3px solid var(--focus);outline-offset: 2px}.upload__icoon{grid-row: span 2;display: grid;place-items: center;width: 2.6rem;height: 2.6rem;border-radius: 12px;background: var(--white);color: var(--kleur-primair)}.upload__icoon svg{width: 1.4rem}.upload__tekst{font-size: var(--step--1);overflow-wrap: anywhere}.upload__hint{font-size: 0.78rem;color: var(--text-muted)}.meer{border-top: 1px dashed var(--line);padding-top: 0.75rem}.meer summary{cursor: pointer;font-weight: 700;font-size: var(--step--1);list-style: none;display: flex;align-items: center;gap: 0.5rem;min-height: 2.5rem}.meer summary::-webkit-details-marker{display: none}.meer summary::before{content: '+';display: grid;place-items: center;width: 1.5rem;height: 1.5rem;border-radius: 50%;background: var(--cream-2);font-weight: 800;transition: transform var(--dur-mid) var(--ease-motion)}.meer[open] summary::before{transform: rotate(45deg)}.meer .form__grid{margin-top: 0.75rem}.aanmeld__slot{display: grid;gap: 0.9rem;justify-items: start;padding: 0.5rem 0 0}.aanmeld__privacy{margin: 0;font-size: var(--step--1);color: var(--text-muted);max-width: 40rem}.aanmeld-voorbeeld{display: none}@media (min-width: 64em){.aanmeld-voorbeeld{display: grid;gap: 0.85rem;position: sticky;top: 6.5rem}}.aanmeld-voorbeeld__kop{margin: 0;font: 750 var(--step-0)/1.2 var(--font-display)}.aanmeld-voorbeeld .event-card{pointer-events: none}.aanmeld-voorbeeld .event-card__media{aspect-ratio: 16 / 10}.aanmeld-voorbeeld__beeld{position: absolute;inset: 0;display: grid;place-items: center;background: var(--peach) center / cover no-repeat}.aanmeld-voorbeeld__beeld.heeft-foto .aanmeld-voorbeeld__pin{display: none}.aanmeld-voorbeeld__pin{width: 2.6rem;color: var(--coral);--pin-hole: var(--peach);opacity: 0.8}.aanmeld-voorbeeld__tekst{margin: 0;font-size: var(--step--1);color: var(--text-muted)}.aanmeld-voorbeeld .event-card__inhoud{padding-bottom: 1.15rem}.aanmeld-voorbeeld__noot{margin: 0;font-size: 0.8rem;color: var(--text-muted)}.stap__kop{float: left;width: 100%;margin: 0}.stap__kop + *{clear: both}.stap .field,.stap input,.stap select{min-width: 0}@media (min-width: 30em){.form__grid--4,.form__grid--locatie{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 45em){.form__grid--locatie{grid-template-columns: 1.4fr 1.4fr 0.8fr 1.1fr}}@media (min-width: 45em) and (max-width: 63.99em),(min-width: 64em) and (max-width: 82em){.form__grid--4{grid-template-columns: repeat(2,minmax(0,1fr))}.form__grid--locatie{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 82.01em){.form__grid--4{grid-template-columns: repeat(4,minmax(0,1fr))}}.eyebrow{margin: 0 0 0.9rem;font: 700 0.78rem/1.3 var(--font-body);letter-spacing: 0.18em;text-transform: uppercase;color: var(--kleur-primair)}/* "Vind jouw volgende spot." met de pin als o,zoals in het logo */ .spot-kop{display: flex;flex-wrap: wrap;align-items: end;justify-content: space-between;gap: 0.5rem 2rem;margin-bottom: clamp(1.5rem,1rem + 1.5vw,2.25rem)}.spot-kop__titel{font-size: var(--step-4);font-weight: 800;letter-spacing: -0.04em;line-height: 1}.spot-kop__bij{margin: 0;color: var(--text-muted)}.spot{white-space: nowrap}.spot__o{position: relative;display: inline-block;width: 0.56em;height: 0.7em;vertical-align: -0.05em;margin-inline: 0.01em}.spot__pin{position: absolute;inset: 0;width: 100%;height: 100%;color: var(--kleur-accent);--pin-hole: var(--cream);transform-origin: 50% 100%}.spot__punt{display: inline-block;width: 0.2em;height: 0.2em;margin-left: 0.04em;border-radius: 50%;background: var(--kleur-accent-2)}@media (prefers-reduced-motion: no-preference){.motion .spot-kop.is-in .spot__pin{animation: pin-val 800ms var(--ease-bounce) 250ms both}.motion .spot-kop.is-in .spot__punt{animation: stip-in 500ms var(--ease-bounce) 650ms both}}.zoeker{display: grid;gap: 1.25rem;padding: clamp(1rem,0.6rem + 1.6vw,2rem);background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-l)}.zoeker__zoek{position: relative}.zoeker__zoek svg{position: absolute;left: 1.1rem;top: 50%;translate: 0 -50%;width: 1.35rem;color: var(--kleur-primair);pointer-events: none}.zoeker__zoek input{width: 100%;min-height: 3.6rem;padding: 0.8rem 1rem 0.8rem 3.2rem;font-size: var(--step-0);background: var(--cream);border: 1px solid var(--line);border-radius: var(--radius-m);transition: border-color var(--dur-kort) var(--ease-motion),box-shadow var(--dur-kort) var(--ease-motion)}.zoeker__zoek input:focus{outline: none;border-color: var(--kleur-primair);box-shadow: 0 0 0 4px rgba(63,14,61,0.1)}.zoeker__groepen{margin: 0;padding: 0 0 1.25rem;border: 0;border-bottom: 1px solid var(--line);min-width: 0}.zoeker__groepen legend{padding: 0;margin-bottom: 0.75rem;font-weight: 700;font-size: var(--step--1)}.chips{display: flex;flex-wrap: wrap;gap: 0.55rem}.chip{position: relative;display: inline-flex;cursor: pointer}.chip input{position: absolute;opacity: 0;width: 1px;height: 1px}.chip>span{display: inline-flex;align-items: center;gap: 0.55rem;min-height: 2.75rem;padding: 0.45rem 1.15rem;border: 1px solid var(--line);border-radius: 999px;background: var(--white);white-space: nowrap;font-size: var(--step--1);font-weight: 500;transition: background-color var(--dur-kort) var(--ease-motion),border-color var(--dur-kort) var(--ease-motion),color var(--dur-kort) var(--ease-motion),transform var(--dur-mid) var(--ease-bounce)}.chip i{width: 0.6rem;height: 0.6rem;border-radius: 50%;background: var(--kleur)}.chip:hover>span{border-color: var(--kleur-primair)}.chip:active>span{transform: scale(0.96)}.chip input:checked + span{background: var(--kleur-primair);border-color: var(--kleur-primair);color: var(--cream);font-weight: 600}.chip input:focus-visible + span{outline: 3px solid var(--focus);outline-offset: 2px}.chips__meer{position: relative}.chips__meer summary{display: inline-flex;align-items: center;gap: 0.5rem;min-height: 2.75rem;padding: 0.45rem 1rem 0.45rem 1.15rem;border: 1px dashed rgba(63,14,61,0.3);border-radius: 999px;cursor: pointer;list-style: none;font-size: var(--step--1);color: var(--text-muted);white-space: nowrap;transition: border-color var(--dur-kort),color var(--dur-kort),background-color var(--dur-kort)}.chips__meer summary::-webkit-details-marker{display: none}.chips__meer summary svg{width: 1rem;transition: transform var(--dur-mid) var(--ease-motion)}.chips__meer[open] summary svg{transform: rotate(180deg)}.chips__meer summary:hover{border-color: var(--kleur-primair);color: var(--kleur-primair)}.chips__meer.is-actief summary{background: var(--kleur-primair);color: var(--cream);border: 1px solid var(--kleur-primair);font-weight: 600}.chips__menu{position: absolute;z-index: 20;top: calc(100% + 0.5rem);left: 0;display: grid;gap: 0.25rem;min-width: 16rem;padding: 0.5rem;background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-m);box-shadow: var(--shadow-hover)}.chips__menu .chip>span{width: 100%;border-color: transparent;border-radius: var(--radius-s)}.chips__menu .chip:hover>span{background: var(--cream)}.chips__menu .chip input:checked + span{background: var(--kleur-primair)}@media (prefers-reduced-motion: no-preference){.chips__meer[open] .chips__menu{animation: menu-open 260ms var(--ease-motion) both}}@keyframes menu-open{from{opacity: 0;transform: translateY(-6px) scale(0.98)}to{opacity: 1;transform: none}}.zoeker__keuzes{display: grid;gap: 1rem;grid-template-columns: repeat(2,minmax(0,1fr))}@media (min-width: 60em){.zoeker__keuzes{grid-template-columns: 1.25fr 1fr 1fr 1fr}}.zoeker__keuze{display: grid;gap: 0.45rem;min-width: 0}.zoeker__keuze label{font-weight: 700;font-size: var(--step--1)}.zoeker__keuze select,.zoeker__keuze input{width: 100%;min-width: 0;min-height: 3.2rem;padding: 0.6rem 0.9rem;font-size: var(--step-0);background-color: var(--white);border: 1px solid var(--line);border-radius: var(--radius-m)}.zoeker__periode{grid-column: 1 / -1;display: grid;grid-template-columns: 1fr 1fr;gap: 1rem}.zoeker__periode[hidden]{display: none}@media (min-width: 60em){.zoeker__periode{max-width: 34rem}}.resultbalk{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem 1.25rem;margin: 1.75rem 0 1.25rem}.resultbalk__aantal{margin: 0;margin-right: auto}.resultbalk__sort{font-size: var(--step--1);color: var(--text-muted)}.resultbalk .link-knop[hidden]{display: none}.weergave{display: flex;gap: 0.4rem}.weergave button{display: grid;place-items: center;width: 2.75rem;height: 2.75rem;padding: 0;cursor: pointer;border: 1px solid var(--line);border-radius: var(--radius-s);background: var(--white);color: var(--kleur-primair);transition: background-color var(--dur-kort),color var(--dur-kort)}.weergave button svg{width: 1.2rem}.weergave button[aria-pressed='true']{background: var(--kleur-primair);color: var(--cream);border-color: var(--kleur-primair)}@media (max-width: 44.99em){.resultbalk__sort,.weergave{display: none}}@media (min-width: 45em){.event-grid--lijst{grid-template-columns: 1fr}.event-grid--lijst .event-card{display: grid;grid-template-columns: minmax(14rem,30%) 1fr}.event-grid--lijst .event-card__media{aspect-ratio: auto;min-height: 100%}.event-grid--lijst .event-card__inhoud{padding-bottom: 1.1rem}}.zoeker__meer{display: flex;justify-content: center;margin: 2rem 0 0}.zoeker__meer[hidden]{display: none}@media (max-width: 44.99em){.zoeker{border-radius: var(--radius-m)}.zoeker__groepen{position: relative}.chips{flex-wrap: nowrap;overflow-x: auto;margin-inline: -1rem;padding: 0.15rem 1rem 0.4rem;scroll-snap-type: x proximity;scrollbar-width: none;overscroll-behavior-x: contain}.chips::-webkit-scrollbar{display: none}.chips>*{scroll-snap-align: start;flex: none}.chips__meer{position: static}.chips__menu{left: 0;right: 0;min-width: 0}.zoeker__keuze select,.zoeker__keuze input{min-height: 2.9rem;font-size: 0.95rem;padding-inline: 0.7rem}}.org-cta{position: relative;overflow: hidden;display: grid;gap: 1.75rem;align-items: center;padding: clamp(1.75rem,1rem + 3.5vw,4.25rem);border-radius: var(--radius-l);background: #D7F553;color: var(--kleur-primair)}@media (min-width: 60em){.org-cta{grid-template-columns: 1fr auto}}.org-cta__ster{position: absolute;right: clamp(-5rem,8vw,12rem);top: 50%;width: clamp(12rem,20vw,17rem);margin-top: calc(clamp(12rem,20vw,17rem) / -2);color: var(--kleur-accent-2);opacity: 0.7}.org-cta__tekst,.org-cta__knop{position: relative}.org-cta__titel{font-size: var(--step-4);font-weight: 800;letter-spacing: -0.04em;line-height: 1.02;margin-bottom: 1rem}.org-cta__tekst p:last-child{margin: 0;max-width: 38rem}.org-cta__knop{justify-self: start;gap: 0.9rem}.org-cta__knop svg{width: 1.2rem;transition: transform var(--dur-mid) var(--ease-motion)}.org-cta__knop:hover svg{transform: translate(3px,-3px)}@media (prefers-reduced-motion: no-preference){.org-cta__ster{animation: ster-draai 40s linear infinite}}@keyframes ster-draai{to{rotate: 360deg}}.voorstellen{display: grid;gap: 1.5rem 4rem;margin-top: clamp(3rem,2rem + 4vw,6rem);padding-top: clamp(2.5rem,2rem + 2vw,4rem);border-top: 1px solid var(--line)}@media (min-width: 60em){.voorstellen{grid-template-columns: 1fr 1fr}}.voorstellen__titel{font-size: var(--step-3);font-weight: 800;letter-spacing: -0.035em;line-height: 1.08}.voorstellen__titel em{display: block;font: italic 400 1em/1.15 Georgia,"Times New Roman",serif;letter-spacing: -0.02em;color: var(--kleur-accent)}.voorstellen__tekst p{color: var(--text-muted);line-height: 1.85}.lijnlink{display: inline-flex;align-items: center;gap: 1.5rem;margin-top: 0.5rem;padding-bottom: 0.6rem;font-weight: 700;color: var(--kleur-primair);text-decoration: none;border-bottom: 1px solid var(--line);background: linear-gradient(var(--kleur-primair),var(--kleur-primair)) left bottom / 0 1px no-repeat;transition: background-size var(--dur-mid) var(--ease-motion)}.lijnlink:hover{background-size: 100% 1px}.lijnlink svg{width: 1.1rem;transition: transform var(--dur-mid) var(--ease-motion)}.lijnlink:hover svg{transform: translate(3px,-3px)}.stappen{margin-top: clamp(3rem,2rem + 4vw,6rem)}.stappen>.eyebrow{margin-bottom: clamp(1.5rem,1rem + 2vw,3rem)}.stappen__lijst{display: grid;gap: 2.25rem 3rem;list-style: none;margin: 0;padding: 0}@media (min-width: 45em){.stappen__lijst{grid-template-columns: repeat(3,1fr)}}.stappen__nr{display: block;font: 300 clamp(2.6rem,2rem + 2vw,3.4rem)/1 var(--font-display);color: #CDB3D6;letter-spacing: -0.03em;margin-bottom: 1.25rem}.stappen h3{font-size: var(--step-2);font-weight: 750;letter-spacing: -0.03em;margin-bottom: 0.6rem}.stappen p{color: var(--text-muted);line-height: 1.85;margin: 0;max-width: 26rem}.tijdlijn{display: none}@media (max-width: 59.99em){.route{display: none}.tijdlijn{display: block}.hero{padding-top: 1.75rem}.hero__grid{gap: 2.25rem}.hero__blob{right: -40vw;top: -30vw;width: 95vw}.hero__lead{margin-top: 1.25rem;font-size: var(--step-0)}.hero__actions{margin-top: 1.5rem}.hero__actions .btn{flex: 1 1 12rem;justify-content: center}}.tijdlijn__kop{display: flex;align-items: center;gap: 0.6rem;margin: 0 0 0.9rem;font-weight: 700;font-size: var(--step--1);letter-spacing: 0.14em;text-transform: uppercase}.tijdlijn__stip{width: 0.7rem;height: 0.7rem;border-radius: 50%;background: var(--kleur-accent-2);box-shadow: 0 0 0 5px rgba(181,209,15,0.25)}.tijdlijn ol{position: relative;display: grid;gap: 0.6rem;list-style: none;margin: 0;padding: 0}.tijdlijn ol::before{content: "";position: absolute;left: 1.35rem;top: 1rem;bottom: 1rem;border-left: 2px dotted rgba(63,14,61,0.35)}.tijdlijn a{position: relative;isolation: isolate;display: grid;grid-template-columns: 2.7rem 3.6rem 1fr;align-items: center;gap: 0.25rem 0.6rem;padding: 0.7rem 0.9rem 0.7rem 0;text-decoration: none;color: var(--kleur-primair)}.tijdlijn a::after{content: "";position: absolute;inset: 0 0 0 2.7rem;z-index: -1;border-radius: var(--radius-m);background: var(--white);box-shadow: var(--shadow);transition: transform var(--dur-mid) var(--ease-motion)}.tijdlijn a:active::after{transform: scale(0.98)}.tijdlijn__pin{justify-self: center;width: 1.7rem;height: auto;color: var(--kleur-accent);--pin-hole: var(--cream);filter: drop-shadow(0 4px 6px rgba(61,16,56,0.2));transform-origin: 50% 100%}.tijdlijn__datum{padding-left: 0.9rem;font-size: 0.8rem;line-height: 1.1;color: var(--text-muted)}.tijdlijn__datum strong{display: block;font: 800 1.5rem/1 var(--font-display);color: var(--kleur-primair);letter-spacing: -0.03em}.tijdlijn__tekst{display: grid;min-width: 0}.tijdlijn__titel{font-weight: 700;line-height: 1.25;font-size: 0.95rem;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.tijdlijn__plaats{font-size: 0.8rem;color: var(--text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}@media (prefers-reduced-motion: no-preference){.tijdlijn__kop{animation: hero-in 600ms var(--ease-motion) 450ms both}.tijdlijn li{animation: tijdlijn-in 700ms var(--ease-motion) calc(550ms + var(--i) * 130ms) both}.tijdlijn li .tijdlijn__pin{animation: pin-val 700ms var(--ease-bounce) calc(700ms + var(--i) * 130ms) both}.tijdlijn ol::before{animation: lijn-omlaag 900ms var(--ease-in-out) 500ms both}}@keyframes tijdlijn-in{from{opacity: 0;transform: translateX(-18px)}to{opacity: 1;transform: none}}@keyframes lijn-omlaag{from{clip-path: inset(0 0 100% 0)}to{clip-path: inset(0)}}/* Het wisselwoord past altijd op één regel,ook "netwerkbijeenkomst" */ .regel--wissel{font-size: min(1em,10.4vw)}@media (prefers-reduced-motion: no-preference){.regel>span{animation-duration: 800ms;animation-delay: calc(40ms + var(--i) * 80ms)}.hero-in{animation-delay: calc(200ms + var(--i) * 70ms)}.route__stop .route__link{animation: zweef 5s ease-in-out calc(3s + var(--i) * 0.8s) infinite}.hero__blob{animation: blob-in 1400ms var(--ease-motion) both}}@keyframes zweef{0%,100%{transform: none}50%{transform: translateY(-5px)}}@keyframes blob-in{from{opacity: 0;transform: scale(0.85)}to{opacity: 0.7;transform: none}}.regel--wissel{font-size: min(1em,9.4vw)}.hero__text{min-width: 0}.wissel__woord,.wissel__woord.is-actief{transition: transform 700ms var(--ease-motion),opacity 400ms var(--ease-motion);transition-delay: 0s}.wissel__woord:not(.is-actief){transform: translateY(-105%);opacity: 0}.wissel__woord.is-actief ~ .wissel__woord{transform: translateY(105%)}.zoeker__keuze select{padding-right: 2.4rem;background-position: right 0.75rem center}/* --- formulier "Geef jouw activiteit een plek" (ontwerp Dentspot) ------- */ .aanmeld-titel{font-size: var(--step-5) !important;max-width: 14ch}.aanmeld-titel span{display: block;color: var(--kleur-accent)}@media (prefers-reduced-motion: no-preference){.aanmeld-titel span{animation: hero-in 800ms var(--ease-motion) 180ms both}}@media (min-width: 64em){.aanmeld-raster{grid-template-columns: minmax(0,1fr) 22rem;gap: 2.25rem}}.aanmeld{gap: 1.25rem}.stap{border-radius: var(--radius-m);padding: clamp(1.15rem,0.7rem + 1.6vw,1.85rem);gap: 1.15rem}.stap__nr{background: #FBE3E1;color: var(--kleur-accent);font-weight: 700;width: 2.1rem;height: 2.1rem}.stap__kop{font-size: var(--step-1);gap: 0.85rem;margin-bottom: 0.25rem}.stap .field label,.field__label{margin: 0;font-weight: 700;font-size: var(--step--1);color: var(--kleur-primair)}.field__ster{color: var(--kleur-primair)}.stap input,.stap select,.stap textarea{background: var(--white);border: 1px solid rgba(63,14,61,0.2);border-radius: var(--radius-s);min-height: 3rem}.stap input:focus-visible,.stap select:focus-visible,.stap textarea:focus-visible{outline: none;border-color: #8C5D9B;box-shadow: 0 0 0 3px rgba(140,93,155,0.18)}.stap .field__hint{margin: 0;font-size: 0.8rem;color: var(--text-muted)}.stap .field{gap: 0.45rem}.vinkjes{display: grid;gap: 0.35rem 1.5rem;margin-top: 0.35rem;border-radius: var(--radius-s)}@media (min-width: 30em){.vinkjes{grid-template-columns: 1fr 1fr}}.vink{position: relative;display: flex;align-items: center;gap: 0.7rem;min-height: 2.5rem;cursor: pointer;font-size: var(--step--1)}.vink input{position: absolute;opacity: 0;width: 1.2rem;height: 1.2rem;min-height: 0;margin: 0}.vink>span{display: flex;align-items: center;gap: 0.7rem;line-height: 1.35}.vink>span::before{content: "";flex: none;width: 1.2rem;height: 1.2rem;border: 1.5px solid rgba(63,14,61,0.45);border-radius: 4px;background: var(--white);transition: background-color var(--dur-kort) var(--ease-motion),border-color var(--dur-kort) var(--ease-motion),transform var(--dur-mid) var(--ease-bounce)}.vink:hover>span::before{border-color: var(--kleur-primair)}.vink input:checked + span::before{border-color: var(--kleur-primair);transform: scale(1.06);background: var(--kleur-primair) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.85rem no-repeat}.vink input:focus-visible + span::before{outline: 3px solid var(--focus);outline-offset: 2px}.vinkjes[aria-invalid='true'] .vink>span::before{border-color: #A3291A}.vink--akkoord{align-items: flex-start}.sfeer{display: grid;gap: 0.6rem}.sfeer__groot{position: relative;overflow: hidden;border-radius: var(--radius-m);aspect-ratio: 10 / 3;background: var(--cream-2);margin-top: 0.4rem}@media (max-width: 44.99em){.sfeer__groot{aspect-ratio: 16 / 9}}.sfeer__groot img{width: 100%;height: 100%;object-fit: cover}.sfeer__label{position: absolute;left: 0.75rem;bottom: 0.75rem;padding: 0.3rem 0.7rem;border-radius: 999px;background: rgba(255,255,255,0.92);font-size: 0.75rem;font-weight: 700}.sfeer .link-knop{color: var(--kleur-primair);font-weight: 500}.sfeer .link-knop[hidden]{display: none}.sfeer__keuzes{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: clamp(0.5rem,0.3rem + 1vw,1rem)}.sfeer__optie{position: relative;display: block;cursor: pointer;border-radius: var(--radius-s)}.sfeer__optie[hidden]{display: none}.sfeer__optie input{position: absolute;opacity: 0;inset: 0;width: 100%;height: 100%;min-height: 0;margin: 0;cursor: pointer}.sfeer__optie img{display: block;width: 100%;aspect-ratio: 16 / 9;object-fit: cover;border-radius: var(--radius-s);transition: transform var(--dur-mid) var(--ease-motion),opacity var(--dur-kort)}.sfeer__optie:hover img{transform: scale(0.97)}.sfeer__optie::after{content: "";position: absolute;inset: -4px;border: 2px solid transparent;border-radius: calc(var(--radius-s) + 4px);pointer-events: none;transition: border-color var(--dur-kort)}.sfeer__optie:has(input:checked)::after{border-color: var(--kleur-primair)}.sfeer__optie:has(input:focus-visible)::after{border-color: var(--focus)}.sfeer__vink{position: absolute;right: 0.45rem;bottom: 0.45rem;width: 1.4rem;height: 1.4rem;border-radius: 50%;background: var(--white);opacity: 0;transform: scale(0.5);transition: opacity var(--dur-kort),transform var(--dur-mid) var(--ease-bounce)}.sfeer__vink::after{content: "";position: absolute;inset: 0;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%233F0E3D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.85rem no-repeat}.sfeer__optie:has(input:checked) .sfeer__vink{opacity: 1;transform: none}.sfeer .upload{margin-top: 0.4rem;background: var(--white);border-width: 1.5px}.aanmeld-uitleg{display: grid;gap: 1rem;align-content: start;padding: clamp(1.5rem,1rem + 1.5vw,2rem);border-radius: var(--radius-m);background: #EFEBF4;color: var(--kleur-primair)}@media (min-width: 64em){.aanmeld-uitleg{position: sticky;top: 6.5rem}}@media (max-width: 63.99em){.aanmeld-uitleg{order: -1}}.aanmeld-uitleg__icoon{display: grid;place-items: center;width: 2.75rem;height: 2.75rem;border-radius: 12px;background: #D7F553}.aanmeld-uitleg__icoon svg{width: 1.45rem}.aanmeld-uitleg__titel{font-size: var(--step-2);font-weight: 800;letter-spacing: -0.03em;margin: 0.25rem 0 0}.aanmeld-uitleg__stappen{display: grid;gap: 0.6rem;margin: 0;padding: 0 0 1.25rem 1.25rem;border-bottom: 1px solid rgba(63,14,61,0.15);font-size: var(--step--1)}.aanmeld-uitleg p{margin: 0;font-size: var(--step--1);color: var(--text-muted);line-height: 1.7}.aanmeld-uitleg .aanmeld-uitleg__klein{font-size: 0.8rem}@media (prefers-reduced-motion: no-preference){.aanmeld-uitleg{animation: hero-in 800ms var(--ease-motion) 250ms both}.aanmeld-uitleg__icoon{animation: stip-in 600ms var(--ease-bounce) 600ms both}}@media (max-width: 63.99em){.aanmeld-uitleg{grid-template-columns: auto 1fr;column-gap: 1rem}.aanmeld-uitleg__icoon{grid-row: span 1}.aanmeld-uitleg__titel{align-self: center;margin: 0}.aanmeld-uitleg>:not(.aanmeld-uitleg__icoon):not(.aanmeld-uitleg__titel){grid-column: 1 / -1}}.site-header__logo .logo-nieuw{height: 28px}@media (min-width: 60em){.site-header__logo .logo-nieuw{height: 32px}}.site-footer__badge .logo-nieuw{height: 28px}.btn--large{min-height: 3.1rem;padding: 0.75rem 1.5rem;font-size: var(--step-0)}.event-card__titel{font-size: clamp(1.1rem,6cqi,1.4rem);line-height: 1.12}.date-block__dag{font-size: 1.6rem}.band__groep li{font-size: clamp(0.95rem,0.85rem + 0.45vw,1.2rem)}.band__venster{padding-block: 0.85rem}.route__dot{display: none}.route__chip--jij{top: -0.9rem;left: -0.6rem}.chip>span,.chips__meer summary{min-height: 2.5rem;padding-inline: 1rem}.zoeker__zoek input{min-height: 3.2rem}.org-cta__ster{width: clamp(9rem,15vw,13rem);margin-top: calc(clamp(9rem,15vw,13rem) / -2)}@media (max-width: 44.99em){.page-home .event-grid{gap: 0.75rem}.page-home .event-card{display: grid;grid-template-columns: 6.5rem 1fr;border-radius: var(--radius-m)}.page-home .event-card__media{aspect-ratio: auto;min-height: 100%}.page-home .event-card__media .foto__label,.page-home .event-card .labels,.page-home .event-card .event-facts li:nth-child(n+2),.page-home .event-card__foot .event-card__prijs{display: none}.page-home .date-block--zwevend{left: 0.5rem;bottom: 0.5rem;padding: 0.35rem 0.45rem}.page-home .date-block__weekdag{display: none}.page-home .date-block__dag{font-size: 1.3rem}.page-home .event-card__inhoud{gap: 0.4rem;padding: 0.8rem 0.9rem}.page-home .event-card__titel{font-size: 1rem}.page-home .event-card__foot{padding: 0;border: 0;margin: auto 0 0;justify-content: flex-start}.page-home .event-card__link{font-size: 0.85rem}}.theme-list__item{transition: opacity var(--dur-mid) var(--ease-motion)}.theme-list__link>*{transition: transform var(--dur-mid) var(--ease-motion),opacity var(--dur-mid) var(--ease-motion)}@media (hover: hover) and (min-width: 60em){.theme-list:hover .theme-list__item:not(:hover){opacity: 0.4}.theme-list__item:hover .theme-list__pin{opacity: 1;transform: none}.theme-list__item:hover .theme-list__link>:not(.theme-list__pin){transform: translateX(2.9rem)}}@media (min-width: 60em){.theme-list__item:focus-within .theme-list__pin{opacity: 1;transform: none}.theme-list__item:focus-within .theme-list__link>:not(.theme-list__pin){transform: translateX(2.9rem)}}.chip[hidden]{display: none}.chips__meer{display: inline-flex;align-items: center;gap: 0.5rem;min-height: 2.5rem;padding: 0.45rem 1rem;border: 1px dashed rgba(63,14,61,0.3);border-radius: 999px;background: none;cursor: pointer;font: inherit;font-size: var(--step--1);color: var(--text-muted);white-space: nowrap;transition: border-color var(--dur-kort),color var(--dur-kort)}.chips__meer:hover{border-color: var(--kleur-primair);color: var(--kleur-primair)}.chips__meer:focus-visible{outline: 3px solid var(--focus);outline-offset: 2px}.chips__meer svg{width: 1rem;transition: transform var(--dur-mid) var(--ease-motion)}.chips__meer[aria-expanded='true'] svg{transform: rotate(180deg)}@media (max-width: 44.99em){.chips__meer{position: relative}}/* Hero: "Jij" staat op het beginpunt van de route */ .route__start .route__chip--jij{left: 0;top: 0;translate: -50% -50%}.regel--wissel{font-size: min(1em,11vw)}.wissel{color: #EE4A45}.org-hero__grid{display: grid;gap: 1.5rem 4rem;align-items: end}@media (min-width: 60em){.org-hero__grid{grid-template-columns: 1.1fr 1fr}}.org-hero__titel{font-size: var(--step-5);font-weight: 800;letter-spacing: -0.04em;line-height: 1.02}.org-hero__titel em,.stappen__kop em,.org-slot__tekst em{display: block;font: italic 400 0.82em/1.15 Georgia,"Times New Roman",serif;letter-spacing: -0.02em;color: var(--kleur-accent);margin-top: 0.2em}.org-hero__intro{margin: 0;font-size: var(--step-1);line-height: 1.6;color: var(--text-muted);max-width: 34rem}@media (prefers-reduced-motion: no-preference){.org-hero .eyebrow,.org-hero__titel{animation: hero-in 800ms var(--ease-motion) 60ms both}.org-hero__titel em{animation: hero-in 800ms var(--ease-motion) 220ms both}.org-hero__intro{animation: hero-in 800ms var(--ease-motion) 340ms both}}.opleveren{display: grid;gap: 2rem 5rem;padding-top: clamp(2rem,1.5rem + 2vw,3.5rem);border-top: 1px solid var(--line)}@media (min-width: 60em){.opleveren{grid-template-columns: 1fr 1.2fr}}.opleveren__titel{font-size: var(--step-3);font-weight: 800;letter-spacing: -0.035em;margin-bottom: 1rem}.opleveren__tekst{color: var(--text-muted);line-height: 1.8;max-width: 30rem;margin: 0}.voordelen{display: grid;gap: 1rem;list-style: none;margin: 0;padding: 0}.voordelen li{display: grid;grid-template-columns: auto 1fr;gap: 1.1rem;padding: 1.4rem 1.5rem;background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-m);transition: border-color var(--dur-mid) var(--ease-motion),transform var(--dur-mid) var(--ease-motion)}.voordelen li:hover{border-color: rgba(63,14,61,0.3);transform: translateY(-2px)}.voordelen__pin{width: 1.6rem;height: auto;color: var(--kleur-accent);--pin-hole: var(--white);margin-top: 0.1rem}.voordelen h3{font-size: var(--step-1);font-weight: 750;letter-spacing: -0.02em;margin-bottom: 0.35rem}.voordelen p{margin: 0;color: var(--text-muted);line-height: 1.7;font-size: var(--step--1)}.stappen--los{margin-top: 0}.stappen__kop{font-size: var(--step-3);font-weight: 800;letter-spacing: -0.035em;margin-bottom: clamp(1.75rem,1rem + 2vw,3rem)}.stappen__kop em{display: inline;margin: 0}.org-slot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1.5rem 2rem;padding: clamp(1.75rem,1rem + 3vw,3.5rem);border-radius: var(--radius-l);background: #D7F553}.org-slot__tekst{margin: 0;font: 800 var(--step-3)/1.1 var(--font-display);letter-spacing: -0.035em;max-width: 22ch}.site-footer__mail{margin: 0 0 1.1rem}.site-footer__mail a{font-weight: 600}.social-rij{display: flex;gap: 0.6rem;list-style: none;margin: 0;padding: 0}.social-rond{display: grid;place-items: center;width: 2.75rem;height: 2.75rem;border-radius: 50%;border: 1px solid currentColor;color: inherit;opacity: 0.85;transition: background-color var(--dur-kort) var(--ease-motion),color var(--dur-kort) var(--ease-motion),border-color var(--dur-kort),transform var(--dur-mid) var(--ease-bounce),opacity var(--dur-kort)}.social-rond svg{width: 1.2rem;height: 1.2rem}.social-rond:hover,.social-rond:focus-visible{opacity: 1;background: var(--kleur-accent);border-color: var(--kleur-accent);color: var(--kleur-primair);transform: translateY(-2px)}.site-footer .social-rij{display: flex;flex-direction: row;flex-wrap: wrap;gap: 0.6rem}.site-footer .social-rij a{display: grid;padding: 0;text-decoration: none}.site-footer .social-rij a:hover{text-decoration: none}.route__stop[hidden],.tijdlijn li[hidden],.tijdlijn[hidden]{display: none}.eyebrow--accent{color: var(--kleur-accent)}.over-hero__titel{font-size: var(--step-5);font-weight: 800;letter-spacing: -0.04em;line-height: 1.02;max-width: 20ch}.over-hero__lead{margin: 1.25rem 0 0;max-width: 52rem;font-size: var(--step-1);line-height: 1.5;color: #8C5D9B}@media (prefers-reduced-motion: no-preference){.over-hero .eyebrow,.over-hero__titel{animation: hero-in 800ms var(--ease-motion) 60ms both}.over-hero__lead{animation: hero-in 800ms var(--ease-motion) 220ms both}}.nawid{display: grid;gap: 2.5rem 4rem;align-items: start}@media (min-width: 60em){.nawid{grid-template-columns: 1fr 1fr}}.nawid__fotos{margin: 0}.nawid__beeld{position: relative;padding: 0 2.5rem 2.5rem 0}.nawid__groot img{width: 100%;aspect-ratio: 4 / 5;object-fit: cover;border-radius: var(--radius-m)}.nawid__klein{position: absolute;right: 0;bottom: 0;width: 42%}.nawid__klein img{width: 100%;aspect-ratio: 3 / 4;object-fit: cover;border-radius: var(--radius-m);border: 5px solid var(--cream);box-shadow: var(--shadow-hover)}.nawid__fotos figcaption{margin-top: 0.9rem;font-size: var(--step--1);color: #8C5D9B;line-height: 1.5}.nawid__fotos figcaption strong{color: var(--kleur-primair)}.nawid__titel{font-size: var(--step-4);font-weight: 800;letter-spacing: -0.04em;margin-bottom: 1.25rem}.nawid__tekst p:not(.eyebrow){color: #8C5D9B;line-height: 1.75;max-width: 34rem}@media (min-width: 60em){.nawid__tekst{padding-top: 1rem}}@media (prefers-reduced-motion: no-preference){.motion .nawid__fotos.is-in .nawid__klein{animation: klein-in 900ms var(--ease-motion) 350ms both}}@keyframes klein-in{from{opacity: 0;transform: translate(14px,18px) rotate(2deg)}to{opacity: 1;transform: none}}.groei{display: grid;gap: 1.5rem 2rem;align-items: center;padding: clamp(1.5rem,1rem + 2.5vw,2.75rem);border-radius: var(--radius-m);background: #EFEBF4}@media (min-width: 60em){.groei{grid-template-columns: 1fr auto}}.groei__titel{font-size: var(--step-3);font-weight: 800;letter-spacing: -0.035em;margin-bottom: 0.5rem}.groei p{margin: 0;color: #8C5D9B;max-width: 34rem}.groei__acties{display: flex;flex-wrap: wrap;align-items: center;gap: 1rem 2rem}.groei .lijnlink{border-bottom-color: var(--kleur-primair);margin: 0}@media (max-width: 44.99em){.chips{flex-wrap: wrap;overflow: visible;margin-inline: 0;padding: 0;gap: 0.4rem;scroll-snap-type: none}.chip>span,.chips__meer{min-height: 2.25rem;padding: 0.3rem 0.8rem;font-size: 0.82rem;gap: 0.4rem}.chip i{width: 0.5rem;height: 0.5rem}}/* Sfeerbeeld kiezen: alle 8 foto's met de naam van de activiteit */
.sfeer__keuzes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 30em) { .sfeer__keuzes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sfeer__optie img { aspect-ratio: 3 / 2; }
.sfeer__naam { display: block; margin-top: 0.35rem; font-size: 0.75rem; font-weight: 600; line-height: 1.25; color: var(--kleur-primair); }
.sfeer__optie.is-auto .sfeer__naam::after { content: " · automatisch"; font-weight: 400; color: var(--text-muted); }
.sfeer__vink { bottom: auto; top: 0.45rem; }

/* Formulier: doelgroepen in twee vaste kolommen */
.vinkjes__kolom { display: grid; gap: 0.35rem; align-content: start; }
/* Organisatoren: "Wij helpen je publiek / je te vinden." */
@media (min-width: 45em) { .org-hero__titel em { white-space: nowrap; } }
.zoeker__hint { font-weight: 400; color: var(--text-muted); margin-left: 0.4rem; }

/* --- formulier: stappenbalk 01/02/03 en controlestap ----------------------- */
.aanmeld-kolom { display: grid; gap: 1.25rem; min-width: 0; }
.voortgang { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; list-style: none; margin: 0; padding: 0; counter-reset: none; }
.voortgang li {
  position: relative; display: grid; gap: 0.35rem; padding: 0.85rem 1rem 0.9rem;
  border-radius: var(--radius-m); background: var(--white); border: 1px solid var(--line);
  font-size: var(--step--1); font-weight: 600; line-height: 1.25; color: var(--text-muted);
  transition: background-color var(--dur-mid) var(--ease-motion), color var(--dur-mid) var(--ease-motion), border-color var(--dur-mid) var(--ease-motion);
}
.voortgang__nr { font: 300 1.6rem/1 var(--font-display); color: #8E6A92; letter-spacing: -0.03em; transition: color var(--dur-mid) var(--ease-motion); }
.voortgang li[aria-current] { background: var(--kleur-primair); border-color: var(--kleur-primair); color: var(--cream); }
.voortgang li[aria-current] .voortgang__nr { color: var(--kleur-accent); }
.voortgang li.is-klaar { color: var(--kleur-primair); }
.voortgang li.is-klaar .voortgang__nr { color: var(--kleur-primair); }
.voortgang li.is-klaar::after {
  content: ""; position: absolute; top: 0.75rem; right: 0.75rem; width: 1.25rem; height: 1.25rem; border-radius: 50%;
  background: var(--kleur-accent-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%233F0E3D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}
@media (max-width: 37.5em) {
  .voortgang li { padding: 0.65rem 0.7rem; font-size: 0.75rem; }
  .voortgang__nr { font-size: 1.25rem; }
  .voortgang li.is-klaar::after { top: 0.5rem; right: 0.5rem; width: 1rem; height: 1rem; background-size: 0.6rem; }
}
.js .voortgang { display: grid; }
.voortgang { display: none; }

.controle {
  display: grid; gap: 1rem; padding: clamp(1.15rem, 0.7rem + 1.6vw, 1.85rem);
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-m);
}
.controle[hidden] { display: none; }
.controle__kop { font-size: var(--step-2); font-weight: 800; letter-spacing: -0.03em; outline: none; }
.controle__intro { margin: -0.4rem 0 0; color: var(--text-muted); font-size: var(--step--1); }
.controle__inhoud { display: grid; gap: 0.75rem; }
.controle__blok { padding: 1rem 1.1rem; border-radius: var(--radius-s); background: var(--cream); }
.controle__blokkop { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 0.6rem; }
.controle__blokkop h3 { font-size: var(--step-0); font-weight: 750; letter-spacing: -0.01em; }
.controle__blokkop .link-knop { color: var(--kleur-primair); white-space: nowrap; }
.controle__blok dl { display: grid; gap: 0.45rem; margin: 0; }
.controle__rij { display: grid; gap: 0.15rem 1rem; }
@media (min-width: 37.5em) { .controle__rij { grid-template-columns: 10rem 1fr; } }
.controle__rij dt { font-size: var(--step--1); font-weight: 700; color: var(--kleur-primair); }
.controle__rij dd { margin: 0; font-size: var(--step--1); color: var(--text); overflow-wrap: anywhere; white-space: pre-line; }
.controle__foto { display: flex; align-items: center; gap: 0.75rem; white-space: normal; }
.controle__foto img { width: 6.5rem; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-s); flex: none; }
@media (prefers-reduced-motion: no-preference) {
  .controle:not([hidden]) { animation: hero-in 500ms var(--ease-motion) both; }
}

.aanmeld__verzend { display: grid; gap: 0.9rem; justify-items: start; }
.aanmeld__verzend[hidden] { display: none; }
.aanmeld__knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; }
.aanmeld__slot [data-naar-controle][hidden], .aanmeld__knoppen [hidden] { display: none; }

/* --- WhatsApp-knop rechtsonder ---------------------------------------------- */
.wa-knop {
  position: fixed; z-index: 45; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom));
  display: flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--kleur-primair);
  transition: bottom var(--dur-mid) var(--ease-motion), opacity var(--dur-mid) var(--ease-motion), visibility var(--dur-mid);
}
.wa-knop__rond {
  display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%;
  background: #25D366; color: #fff; box-shadow: 0 10px 24px -10px rgba(37, 211, 102, 0.7), 0 2px 6px rgba(63, 14, 61, 0.18);
  transition: transform var(--dur-mid) var(--ease-bounce), box-shadow var(--dur-mid) var(--ease-motion);
}
.wa-knop__rond svg { width: 1.9rem; height: 1.9rem; }
.wa-knop__tekst {
  padding: 0.5rem 0.9rem; border-radius: 999px; background: var(--white); box-shadow: var(--shadow);
  font-weight: 700; font-size: var(--step--1); white-space: nowrap;
  opacity: 0; transform: translateX(8px); pointer-events: none;
  transition: opacity var(--dur-kort) var(--ease-motion), transform var(--dur-mid) var(--ease-motion);
}
.wa-knop:hover .wa-knop__rond, .wa-knop:focus-visible .wa-knop__rond { transform: scale(1.08); }
.wa-knop:hover .wa-knop__tekst, .wa-knop:focus-visible .wa-knop__tekst { opacity: 1; transform: none; }
.wa-knop:focus-visible { outline: none; }
.wa-knop:focus-visible .wa-knop__rond { outline: 3px solid var(--focus); outline-offset: 3px; }
/* Niet over het open menu en niet over de aanmeldbalk op eventpagina's */ .nav-open .wa-knop{opacity: 0;visibility: hidden}body:has(.mobiele-actie.is-zichtbaar) .wa-knop{bottom: calc(max(1rem,env(safe-area-inset-bottom)) + 5.25rem)}.site-footer__base{padding-bottom: 4.5rem}@media (max-width: 44.99em){.wa-knop__rond{width: 3.1rem;height: 3.1rem}.wa-knop__rond svg{width: 1.7rem;height: 1.7rem}.wa-knop__tekst{display: none}}@media print{.wa-knop{display: none}}.wa-knop.is-weg{opacity: 0;visibility: hidden;pointer-events: none}.org-blok{display: grid;gap: 1.5rem 2.5rem;align-items: center;overflow: hidden;padding: clamp(1.75rem,1rem + 3vw,3.5rem);border-radius: var(--radius-l);background: var(--peach-soft)}@media (min-width: 60em){.org-blok{grid-template-columns: 1.1fr 1fr}}.org-blok__titel{font-size: var(--step-4);font-weight: 800;letter-spacing: -0.04em;line-height: 1.05;margin-bottom: 1rem}.org-blok__tekst>p:not(.eyebrow){margin: 0;max-width: 34rem;font-size: var(--step-1);line-height: 1.5;color: var(--text-muted)}.org-blok__acties{display: flex;flex-wrap: wrap;align-items: center;gap: 1rem 1.75rem;margin-top: 1.75rem}.org-blok__acties .lijnlink{margin: 0;border-bottom-color: var(--kleur-primair)}.org-blok__beeld img{width: 100%;height: auto}@media (max-width: 59.99em){.org-blok__beeld{max-width: 28rem;justify-self: center}}@media (prefers-reduced-motion: no-preference){.motion .org-blok.is-in .org-blok__beeld img{animation: hero-in 900ms var(--ease-motion) 200ms both}}.stappen--kaarten{margin-top: clamp(2.5rem,2rem + 2vw,4rem)}.stappen--kaarten .stappen__kop{margin-bottom: 1.5rem}.stappen--kaarten .stappen__lijst{gap: 1rem}.stappen--kaarten .stappen__lijst li{padding: 1.5rem 1.5rem 1.6rem;background: var(--white);border: 1px solid var(--line);border-radius: var(--radius-m);transition: border-color var(--dur-mid) var(--ease-motion),transform var(--dur-mid) var(--ease-motion)}.stappen--kaarten .stappen__lijst li:hover{border-color: rgba(63,14,61,0.3);transform: translateY(-2px)}.stappen--kaarten .stappen__nr{display: grid;place-items: center;width: 2.6rem;height: 2.6rem;margin-bottom: 1rem;border-radius: 50%;background: #FBE3E1;color: var(--kleur-accent);font: 700 1rem/1 var(--font-display);letter-spacing: 0}.stappen--kaarten h3{font-size: var(--step-1);margin-bottom: 0.4rem}.stappen--kaarten p{line-height: 1.6;font-size: var(--step--1)}.detail-hero__titel{font-size: clamp(1.6rem,1.1rem + 2.1vw,2.9rem);line-height: 1.08;letter-spacing: -0.03em;max-width: 32ch;hyphens: manual;text-wrap: balance}@media (min-width: 60em){.detail-hero__grid{grid-template-columns: minmax(0,1.8fr) minmax(0,1fr)}}@media (max-width: 37.5em){.detail-hero__titel{font-size: 1.4rem;line-height: 1.12}}/* --- foto's per event (kolom "foto" in de sheet) ------------------------- */
.foto-event { display: block; overflow: hidden; background: var(--cream-2); }
.foto-event img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.event-card__media .foto-event, .event-card__media .foto-leeg { position: absolute; inset: 0; height: 100%; }
.event-card__media .foto-event img { transition: transform 1100ms var(--ease-motion); }
.event-card:hover .foto-event img { transform: scale(1.04); }

/* Geen foto: rustige placeholder in de huisstijl */
.foto-leeg {
  position: relative; display: grid; place-content: center; justify-items: center; gap: 0.5rem; overflow: hidden;
  background: radial-gradient(120% 90% at 20% 15%, #5A2457 0%, var(--kleur-primair) 60%);
  color: var(--cream); text-align: center;
}
.foto-leeg::after { content: ""; position: absolute; right: -18%; bottom: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: var(--kleur-accent); opacity: 0.16; }
.foto-leeg__pin { position: relative; z-index: 1; width: 2.2rem; height: auto; color: var(--kleur-accent); --pin-hole: var(--kleur-primair); }
.foto-leeg__soort { position: relative; z-index: 1; padding: 0 1rem; font: 700 var(--step--1)/1.2 var(--font-display); letter-spacing: 0.02em; }

/* Kleine beeldjes in route en tijdlijn */
.thumb { display: block; flex: none; overflow: hidden; border-radius: 10px; background: var(--cream-2); }
.thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.thumb--leeg { display: grid; place-items: center; background: var(--kleur-primair); }
.thumb__pin { width: 42%; height: auto; color: var(--kleur-accent); --pin-hole: var(--kleur-primair); }
.route__chip--beeld { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr); align-items: center; gap: 0.65rem; padding-left: 0.5rem; }
.route__thumb { width: 3.1rem; height: 3.1rem; }
.route__chiptekst { display: grid; min-width: 0; }
.route__link:hover .thumb--leeg, .route__link:focus-visible .thumb--leeg { background: var(--aubergine-2); }
.tijdlijn a { grid-template-columns: 2.7rem 3.6rem minmax(0, 1fr) auto; }
.tijdlijn__thumb { width: 3rem; height: 3rem; margin-left: 0.25rem; }

/* Activiteitpagina: foto ook op de telefoon, vaste verhouding */
.detail-hero__beeld { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-l); }
.detail-hero__beeld.foto-leeg { aspect-ratio: 4 / 3; }
@media (min-width: 60em) { .detail-hero__beeld { aspect-ratio: 4 / 5; max-height: 32rem; justify-self: end; } }
@media (max-width: 59.99em) { .detail-hero__beeld { aspect-ratio: 16 / 10; } .detail-hero__beeld.foto-leeg { display: none; } }
@media (prefers-reduced-motion: no-preference) {
  .detail-hero__beeld { animation: hero-in 900ms var(--ease-motion) 120ms both; }
}

/* Formulier: voorbeeld van de eigen foto */
.sfeer__groot[hidden] { display: none; }
.sfeer__groot img { width: 100%; height: 100%; object-fit: cover; }

/* --- wandelende poppetjes (homepage) ---------------------------------------
   Computer: ze lopen de route; de kaartjes staan waar ze nooit komen (ze lopen altijd bóven de lijn).
   Telefoon: ze lopen links langs de lijst mee met scrollen. Zie poppetjes.js.
   Zonder JavaScript of met "minder beweging" is alles gewoon zichtbaar en zijn er geen poppetjes. */
@media (min-width: 60em) {
  .route { max-width: none; width: 122%; margin-left: -16%; aspect-ratio: 640 / 560; justify-self: stretch; }
}
.route .route__stop, .route .route__start { z-index: 3; }
.route .route__start .route__chip--jij { left: 0; translate: -50% -50%; top: 1.7rem; }
.route .route__stop .route__chip { right: auto; left: 50%; translate: -50% 0; }
/* Pin 1: bordje hoog boven de pin, met een stippellijntje ernaartoe; de poppetjes lopen eronderdoor */
.route .route__stop--bord .route__chip { bottom: 11.6rem; }
.route .route__stop--bord .route__chip::after { content: ""; position: absolute; left: 50%; top: 100%; height: 8.6rem; border-left: 2px dashed rgba(63, 14, 61, 0.35); pointer-events: none; }
/* Pin 2 ligt in het dal: kaartje er direct onder */
.route .route__stop--onder .route__chip { bottom: auto; top: 1.9rem; }
/* Pin 3 is het eindpunt: kaartje erboven, hoog genoeg voor de hoofden */
.route .route__stop--boven .route__chip { bottom: 5.2rem; }

.loper { position: absolute; left: 0; top: 0; z-index: 4; width: 10.5rem; pointer-events: none; transform-origin: 42% 97%; will-change: transform, opacity; }
.loper__frame { position: relative; width: 100%; aspect-ratio: 978 / 897; transform-origin: 50% 100%; }
.loper__schaduw { position: absolute; left: 50%; bottom: -2%; width: 80%; height: 9%; border-radius: 50%; background: radial-gradient(closest-side, rgba(63, 14, 61, 0.22), rgba(63, 14, 61, 0)); transform: translateX(-50%); }
.loper__benen { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.loper__boven { position: absolute; height: auto; transform-origin: 50% 100%; }
.loper__boven--man { left: calc(100 / 978 * 100%); top: 0; width: calc(355 / 978 * 100%); }
.loper__boven--vrouw { left: calc(470 / 978 * 100%); top: calc(55 / 897 * 100%); width: calc(435 / 978 * 100%); }
.loper[hidden] { display: none; }
/* Op de route schalen ze mee met de route (10.5rem bij een route van ± 650px breed) */
.route .loper { width: 25.8%; }

/* Computer: kaartje verschijnt pas als de poppetjes bij de pin zijn */
.lopen .route[data-poppetjes] .route__reveal { animation: none !important; stroke-dashoffset: 1; }
.lopen .route[data-poppetjes] .route__stop .route__pin, .lopen .route[data-poppetjes] .route__stop .route__chip, .lopen .route[data-poppetjes] .route__stop .route__link { animation: none; }
.lopen .route[data-poppetjes] .route__stop .route__pin { transition: transform 600ms var(--ease-bounce); }
.lopen .route[data-poppetjes] .route__stop .route__chip { opacity: 0; scale: 0.9; pointer-events: none; transition: opacity 600ms var(--ease-motion), scale 600ms var(--ease-bounce), transform 600ms var(--ease-motion), box-shadow 600ms var(--ease-motion), background-color var(--dur-mid) var(--ease-motion), color var(--dur-mid) var(--ease-motion); }
.lopen .route[data-poppetjes] .route__stop.is-gezien .route__chip, .lopen .route[data-poppetjes] .route__link:focus-visible .route__chip { opacity: 1; scale: 1; pointer-events: auto; }
.lopen .route[data-poppetjes] .route__stop.is-bereikt .route__chip { transform: translateY(-4px) scale(1.04); box-shadow: 0 18px 36px -16px rgba(63, 14, 61, 0.55), 0 0 0 3px rgba(255, 95, 90, 0.35); }
.lopen .route[data-poppetjes] .route__stop.is-bereikt .route__pin { transform: translateY(-8px) scale(1.1); }

/* Telefoon: poppetjes links langs de lijst; elk event verschijnt als ze erbij zijn, de lijn wordt achter ze getekend */
.zijpad { display: none; }
@media (max-width: 59.99em) {
  .lopen .tijdlijn[data-poppetjes] { position: relative; --kolom: 4.9rem; }
  .lopen .tijdlijn[data-poppetjes] .zijpad { display: block; position: absolute; inset: 0; pointer-events: none; z-index: 3; }
  .lopen .tijdlijn[data-poppetjes] .tijdlijn__kop { padding-left: var(--kolom); animation: none; }
  .loper--zijpad { width: 4.6rem; transform-origin: 50% 100%; }
  .lopen .tijdlijn[data-poppetjes] a { grid-template-columns: var(--kolom) 3.6rem minmax(0, 1fr) auto; }
  .lopen .tijdlijn[data-poppetjes] a::after { inset: 0 0 0 var(--kolom); }
  .lopen .tijdlijn[data-poppetjes] .tijdlijn__pin { visibility: hidden; }
  .lopen .tijdlijn[data-poppetjes] ol::before { left: calc(var(--kolom) / 2 - 1px); top: 0; bottom: auto; height: var(--lijn, 0px); animation: none; }
  .lopen .tijdlijn[data-poppetjes] li { animation: none; opacity: 0; translate: 22px 0; transition: opacity 650ms var(--ease-motion), translate 650ms var(--ease-motion); }
  .lopen .tijdlijn[data-poppetjes] li.is-gezien, .lopen .tijdlijn[data-poppetjes] li:focus-within { opacity: 1; translate: 0 0; }
  .lopen .tijdlijn[data-poppetjes] li.is-bereikt a::after { box-shadow: 0 14px 30px -14px rgba(63, 14, 61, 0.5), 0 0 0 2.5px rgba(255, 95, 90, 0.4); }
}

/* --- juridische pagina's en footer-gegevens -------------------------------- */ .vink__tekst{display: block}.vink__tekst a{color: var(--kleur-primair);text-decoration: underline;text-underline-offset: 0.15em}.juridisch ul{margin: 0 0 1rem;padding-left: 1.2rem;color: var(--text-muted);display: grid;gap: 0.35rem}.juridisch ul.juridisch__gegevens{list-style: none;padding-left: 0}.juridisch a{color: var(--kleur-primair);text-decoration: underline;text-underline-offset: 0.15em}.site-footer__bedrijf{max-width: none !important;display: flex;flex-wrap: wrap;align-items: center;column-gap: 0.15rem}.site-footer__base .site-footer__juridisch{display: flex;flex-wrap: wrap;gap: 0 1.25rem}.event-acties{padding: 1.25rem 1.5rem 1.5rem;border-top: 1px solid var(--line);display: grid;gap: 0.6rem}.event-acties__kop{margin: 0;font-size: var(--step--1);font-weight: 700;color: var(--aubergine)}.event-acties__kop:not(:first-child){margin-top: 0.4rem}.event-acties__rij{display: flex;flex-wrap: wrap;gap: 0.5rem}.actieknop{display: inline-flex;align-items: center;gap: 0.45rem;min-height: 2.75rem;padding: 0.45rem 0.9rem;border: 1.5px solid var(--line);border-radius: 999px;background: var(--white);color: var(--aubergine);font: 600 var(--step--1)/1.1 var(--font-body);text-decoration: none;cursor: pointer;transition: border-color var(--dur-kort) var(--ease-motion),background-color var(--dur-kort) var(--ease-motion)}.actieknop svg{width: 1.05rem;height: 1.05rem;flex: none}.actieknop:hover{border-color: var(--aubergine);background: var(--cream)}.actieknop:focus-visible{outline: 3px solid var(--focus);outline-offset: 2px}.actieknop[hidden]{display: none}.event-acties__melding{margin: 0;min-height: 1.2em;font-size: var(--step--1);color: var(--text-muted)}.site-header__logo{display: inline-flex;align-items: center;min-height: 2.75rem}.chips__meer,.lijnlink,.text-link,.link-knop{min-height: 2.75rem;display: inline-flex;align-items: center}.meer>summary{min-height: 2.75rem;display: flex;align-items: center}.breadcrumb a{display: inline-flex;align-items: center;justify-content: center;min-height: 2.75rem;min-width: 2.75rem}.upload:has(input:focus-visible){outline: 3px solid var(--focus);outline-offset: 3px}.lopen .route[data-poppetjes] .route__stop{transition: opacity 400ms var(--ease-motion)}.lopen .route[data-poppetjes]:not(.is-lopend) .route__stop{opacity: 0}