@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@500;600;700&display=swap');
:root{--ink:#332844;--cream:#fff9e9;--pink:#f8a6bd;--yellow:#ffd65b;--purple:#67438f;--orange:#f1804e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}a:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--purple);color:white}.topbar{height:92px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.wordmark{font:700 31px/.72 'Fredoka',sans-serif;letter-spacing:-.04em;text-decoration:none;position:relative;display:inline-flex;flex-direction:column;transform:rotate(-4deg)}.wordmark span{font-size:19px;letter-spacing:0;margin-left:18px}.wordmark i{position:absolute;color:var(--orange);font-size:25px;right:-23px;top:-8px;font-style:normal}.topbar nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}.nav-ticket{border:2px solid var(--ink);border-radius:50px;padding:13px 21px}.nav-ticket span{margin-left:16px}.hero{background:var(--yellow);overflow:hidden}.hero-inner{max-width:1440px;margin:auto;min-height:610px;padding:28px 7% 26px;position:relative}.date-strip,.hero-bottom{display:flex;justify-content:space-between;font-weight:700;font-size:12px;letter-spacing:.1em}.date-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:13px 0}.hero h1,.section h2,.footer-title{font-family:'Fredoka',sans-serif;letter-spacing:-.035em;font-weight:600}.hero h1{font-size:clamp(64px,8.5vw,124px);line-height:.91;margin:77px 0 23px;position:relative;z-index:1}.hero h1 em,.footer-title em{font-style:normal;color:var(--purple)}.hero-copy{font-size:19px;line-height:1.5;max-width:360px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;padding:18px 22px;border-radius:50px;text-decoration:none;font-weight:700;font-size:15px}.button.dark{background:var(--ink);color:white}.button:hover{background:var(--purple)}.hero-bottom{margin-top:90px;border-top:1px solid var(--ink);padding-top:16px}.sun{position:absolute;right:13%;top:145px;width:300px;height:300px;background:var(--orange);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 25px #f7bd4e}.sun-face{width:190px;height:160px;position:relative}.sun-face span{position:absolute;top:38px;width:15px;height:27px;border-radius:50%;background:var(--ink)}.sun-face span:first-child{left:48px}.sun-face span:nth-child(2){right:48px}.sun-face b{position:absolute;width:72px;height:40px;border:5px solid var(--ink);border-top:0;border-radius:0 0 60px 60px;left:59px;top:75px}.hero-note{position:absolute;right:6%;top:115px;background:var(--pink);border-radius:50%;width:120px;height:120px;display:grid;place-content:center;text-align:center;transform:rotate(13deg);font:600 19px/1.05 'Fredoka',sans-serif}.ticker{background:var(--purple);color:white;display:flex;justify-content:space-around;gap:32px;white-space:nowrap;overflow:hidden;padding:18px 0;font-size:12px;letter-spacing:.1em;font-weight:700}.ticker b{color:var(--yellow)}.section{padding:110px 7%;max-width:1440px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.section h2{font-size:clamp(52px,6.4vw,88px);line-height:.95;margin:0}.section-head p{max-width:320px;font-size:18px;line-height:1.5;margin:0}.activities{border-top:2px solid var(--ink)}.activities article{display:grid;grid-template-columns:80px 1fr 80px;gap:20px;align-items:center;border-bottom:1px solid #a79da7;padding:27px 0}.activity-no,.ticket-label,.details span{font-size:12px;letter-spacing:.1em;font-weight:700}.activities h3,.ticket-option h3{font:600 30px/1.1 'Fredoka',sans-serif;margin:0 0 8px}.activities p,.ticket-option p{line-height:1.55;margin:0;max-width:550px}.activity-mark{font-size:48px;color:var(--orange);text-align:right}.activities article:nth-child(2) .activity-mark{color:var(--purple)}.activities article:nth-child(3) .activity-mark{color:#d65579}.tickets{max-width:none;background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-left:max(7%,calc((100% - 1240px)/2));padding-right:max(7%,calc((100% - 1240px)/2))}.ticket-intro p{font-size:19px;line-height:1.5;max-width:300px}.ticket-flower{font-size:140px;color:var(--cream);line-height:1;margin-top:45px}.ticket-option{border-top:2px solid var(--ink);padding:25px 0 30px;display:flex;justify-content:space-between;gap:15px}.ticket-option h3{margin:10px 0}.price{font:600 45px/1 'Fredoka',sans-serif;white-space:nowrap}.ticket-action{border-top:2px solid var(--ink);padding-top:25px}.ticket-action p{font-size:13px;line-height:1.5;max-width:350px}.practical{display:grid;grid-template-columns:1fr 1fr;gap:10%}.practical-lead{font-size:21px;line-height:1.45}.details{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:8px}.details>div{border-top:2px solid var(--ink);padding-top:18px}.details p{font-size:18px;line-height:1.6}.details a{font-weight:700;text-underline-offset:4px}footer{background:var(--purple);color:var(--cream);padding:75px 7% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-title{font-size:clamp(60px,8vw,105px);line-height:.9}.footer-title em{color:var(--yellow)}footer p{margin-top:30px}footer a{text-underline-offset:5px;font-weight:700}.footer-sun{font-size:200px;line-height:1;color:var(--yellow)}.footer-bottom{border-top:1px solid #b9a7d2;margin-top:70px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-weight:700;font-size:11px;letter-spacing:.08em}@media(max-width:760px){.topbar{height:75px}.topbar nav{gap:0}.topbar nav a:not(.nav-ticket){display:none}.hero-inner{min-height:0;padding-top:18px}.date-strip{font-size:12px}.hero h1{font-size:clamp(60px,12vw,90px);margin:63px 0 20px}.hero-copy{max-width:290px;font-size:17px}.sun{width:140px;height:140px;right:8%;top:270px;box-shadow:0 0 0 12px #f7bd4e}.sun-face{transform:scale(.55)}.hero-note{width:76px;height:76px;font-size:13px;top:205px;right:5%}.hero-bottom{margin-top:115px;font-size:12px}.ticker{justify-content:flex-start;padding-left:20px}.section{padding:75px 7%}.section-head{display:block;margin-bottom:38px}.section-head p{margin-top:20px}.activities article{grid-template-columns:35px 1fr 32px;gap:12px}.activities h3,.ticket-option h3{font-size:24px}.activity-mark{font-size:30px}.tickets,.practical{grid-template-columns:1fr;gap:38px}.ticket-flower{display:none}.details{gap:18px}.details p{font-size:16px}.footer-sun{font-size:100px}.footer-bottom{flex-direction:column;margin-top:50px}}@media(max-width:390px){.sun{right:5%;top:295px;width:115px;height:115px}.hero-note{top:225px}.hero h1{font-size:57px}.details{grid-template-columns:1fr}.footer-sun{display:none}}

.atmosphere{margin:0;background:#f47c68;position:relative}.atmosphere img{display:block;width:100%;height:clamp(250px,42vw,530px);object-fit:cover}.atmosphere figcaption{position:absolute;bottom:18px;left:7%;background:var(--cream);padding:12px 18px;border-radius:5px;font-weight:700;font-size:14px;max-width:80%}@media(max-width:760px){.atmosphere img{height:300px}.atmosphere figcaption{font-size:13px;bottom:14px}}

/* Beweging: de lichtkrant draagt de sfeer, de rest blijft rustig. */
.ticker-wrap{position:relative;background:var(--purple)}
.ticker{display:block;padding:18px 0;overflow:hidden}
.ticker-track{display:flex;width:max-content;animation:sunny-ticker 38s linear infinite;animation-play-state:paused}
.ticker.is-moving .ticker-track{animation-play-state:running}
.ticker-group{display:flex;align-items:center;justify-content:space-around;gap:clamp(32px,5vw,80px);min-width:100vw;padding-right:clamp(32px,5vw,80px);white-space:nowrap}
.ticker-group b{color:var(--yellow)}
@keyframes sunny-ticker{to{transform:translateX(-50%)}}
.button,.nav-ticket{transition:background-color 250ms cubic-bezier(.22,1,.36,1),color 250ms cubic-bezier(.22,1,.36,1),transform 250ms cubic-bezier(.22,1,.36,1)}
.button span,.nav-ticket span{display:inline-block;transition:transform 250ms cubic-bezier(.22,1,.36,1)}
.button:hover span,.button:focus-visible span,.nav-ticket:hover span,.nav-ticket:focus-visible span{transform:translate(3px,-3px)}
.nav-ticket:hover{background:var(--ink);color:var(--cream)}
.activity-mark{transition:transform 350ms cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.activities article:hover .activity-mark{transform:rotate(12deg) scale(1.08)}}
@media(prefers-reduced-motion:no-preference){
  .hero h1,.hero-copy,.hero .button{animation:sunny-arrive 700ms cubic-bezier(.22,1,.36,1) both}
  .hero-copy{animation-delay:80ms}.hero .button{animation-delay:140ms}
  @keyframes sunny-arrive{from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.button,.nav-ticket,.button span,.nav-ticket span,.activity-mark{transition:none}.activities article:hover .activity-mark,.button:hover span,.button:focus-visible span,.nav-ticket:hover span,.nav-ticket:focus-visible span{transform:none}}
@media(max-width:760px){
  .hero-bottom{margin-top:190px}
  .sun{top:auto;bottom:65px;right:11%}
  .hero-note{top:auto;bottom:175px;right:6%}
}
@media(max-width:390px){.sun{top:auto;bottom:65px;right:11%}.hero-note{top:auto;bottom:155px;right:6%}}
@media(max-width:340px){.sun{bottom:85px}.hero-note{bottom:175px}}
.ticket-action form{display:grid;gap:9px;max-width:360px;margin:22px 0}.ticket-action label{font-weight:700;font-size:14px}.ticket-action input{font:inherit;width:100%;border:2px solid var(--ink);border-radius:8px;padding:12px;background:var(--cream);color:var(--ink)}.ticket-action input:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.ticket-action small{font-size:13px;line-height:1.4}.ticket-action .ticket-total{font-size:16px;font-weight:700;margin:8px 0}.ticket-action button{border:0;cursor:pointer;font-family:inherit}.pay-button{background:var(--cream);color:var(--ink);margin-top:12px}.pay-button:hover{color:white}

.door-payment{display:inline-block;margin-top:12px;font-weight:700;text-underline-offset:4px;line-height:1.5}
#ticket-calculator{display:grid;gap:9px;max-width:360px;margin:22px 0}#ticket-calculator[hidden],#online-payment[hidden]{display:none}#ticket-calculator label{font-weight:700;font-size:14px}
.ticket-action select,.order-result input{font:inherit;width:100%;border:2px solid var(--ink);border-radius:8px;padding:12px;background:var(--cream);color:var(--ink)}.ticket-action select:focus-visible,.order-result input:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.ticket-action form[hidden],.order-result[hidden],.ticket-error[hidden],.pay-button[hidden]{display:none}.order-result{margin-top:25px}.order-result label{display:block;font-size:14px;font-weight:700;margin:20px 0 8px}.copy-link{display:inline-block;margin:12px 12px 0 0;padding:10px 15px;border:2px solid var(--ink);border-radius:24px;background:transparent;color:var(--ink);font:700 14px 'DM Sans',sans-serif;cursor:pointer}.copy-link:hover{background:var(--ink);color:white}.ticket-error{font-weight:700;color:#65102e}.ticket-action button:disabled{opacity:.6;cursor:wait}

/* Kleuren en letterbeeld volgen de aangeleverde poster. */
:root{--ink:#30272e;--cream:#fff8dc;--pink:#f1d5d6;--yellow:#fff8dc;--purple:#72508c;--orange:#e3794b}
.wordmark{color:var(--orange)}
.hero{background:#fff8dc}
.hero-inner{min-height:700px;display:flow-root}
.hero h1{margin-top:70px;line-height:.85;max-width:58%;color:var(--orange)}
.hero-script{display:block;font:500 clamp(90px,10vw,150px)/.8 'Caveat',cursive;letter-spacing:-.02em;transform:rotate(-5deg);transform-origin:left bottom}
.hero-name{display:block;font-size:clamp(68px,8.8vw,128px);margin-top:8px;letter-spacing:-.04em}
.poster{position:absolute;right:8%;top:105px;width:min(32%,360px);margin:0;transform:rotate(2deg)}
.poster img{display:block;width:100%;height:auto;box-shadow:0 12px 28px rgba(48,39,46,.14)}
.poster figcaption{font-size:12px;text-align:center;margin-top:10px;color:#574653}
.hero-bottom{margin-top:115px}
.ticker,.ticker-wrap{background:#d8c2d9;color:#352c37}
.ticker-group b{color:#a94d2e}
.section h2{color:#c75d35}
.activities article:nth-child(3) .activity-mark{color:#a94d4d}
.tickets{background:#e5d3e5}
.ticket-flower{color:#b57aa1}
footer{background:#72508c}
@media(max-width:760px){
 .hero-inner{min-height:0;padding-bottom:26px}
 .hero h1{max-width:none;margin:62px 0 20px}
 .hero-script{font-size:100px}.hero-name{font-size:clamp(72px,16vw,112px)}
 .hero-copy{max-width:350px}
 .poster{position:relative;top:auto;right:auto;width:min(72%,290px);margin:60px auto 0;transform:rotate(2deg)}
 .hero-bottom{margin-top:34px}
}
@media(max-width:390px){.hero-script{font-size:84px}.hero-name{font-size:68px}.poster{width:75%}}
