@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#071e36;--yellow:#ffcc32;--paper:#f8f7f2;--muted:#6b7378;--line:#dedfd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #d59500;outline-offset:6px}a:hover{transition:background .2s,color .2s,transform .2s}.wrap{width:min(1140px,calc(100% - 96px));margin-inline:auto}.night{position:relative;background:radial-gradient(ellipse at 79% 56%,#14374d 0,transparent 47%),var(--navy);color:white;overflow:hidden}.navigation{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16;gap:20px}.brand{display:flex;align-items:center;gap:9px}.brand img{object-fit:contain;width:65px;height:49px}.brand>span{font-family:Manrope,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.6px}.brand small{display:block;font-family:'DM Sans',sans-serif;letter-spacing:3px;font-size:9px;font-weight:500;margin-top:5px;color:#bfccd3}.navigation nav{display:flex;align-items:center;gap:30px;font-size:13px}.navigation nav>a:not(.button){color:#cbd4dc}.navigation nav>a:not(.button):hover{color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:15px 24px;border-radius:7px;background:var(--yellow);color:var(--navy);font-weight:750;font-size:14px;line-height:1.3}.button:hover{background:#ffda66;transform:translateY(-2px)}.button>span:last-child{font-size:20px;line-height:1}.button-small{min-height:42px;padding:10px 18px;font-size:12px;border-radius:5px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10px;padding-top:46px;padding-bottom:78px;min-height:510px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;display:flex;align-items:center;gap:9px;margin:0 0 18px}.hero .eyebrow{color:var(--yellow)}.light-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--yellow);box-shadow:0 0 15px #ffcc3280}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-1.8px}h1{font-size:clamp(36px,4.1vw,57px);line-height:1.13;margin:0 0 20px;font-weight:800}h1 em{color:var(--yellow);font-style:normal}.hero-description{font-size:14px;line-height:1.8;color:#bccbd7;margin:0}.countdown{display:flex;align-items:flex-start;gap:20px;margin:26px 0}.countdown>div{min-width:43px;text-align:center}.countdown strong{display:block;font-family:Manrope,sans-serif;font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1;font-weight:750;letter-spacing:-1px}.countdown span{display:block;margin-top:7px;font-size:10px;color:#a7bbc9}.countdown b{font-size:21px;color:#647b8e;font-weight:400;line-height:1.4}.countdown-message{color:var(--yellow)}.icon{width:20px;height:20px}.hero-art{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;aspect-ratio:1.15}.hero-art img{width:112%;height:auto;position:relative;z-index:1;filter:drop-shadow(0 18px 30px #0002);transform:rotate(-5deg)}.orbit{position:absolute;width:85%;aspect-ratio:1;border:1px solid #ffffff0b;border-radius:50%;z-index:-1}.orbit-two{width:68%;border-style:dashed;border-color:#ffcc3212}.hero-art:before{content:'';position:absolute;inset:15%;border-radius:50%;background:#ffcc3209;filter:blur(25px)}.spark{position:absolute;color:var(--yellow);font-size:23px;z-index:2}.spark-one{left:7%;top:23%}.spark-two{right:2%;top:15%;font-size:36px}.spark-three{right:6%;bottom:21%;font-size:17px}.art-caption{font-size:8px;letter-spacing:2.4px;color:#a2b5c3;display:flex;gap:13px;align-items:center;margin-top:-16px;z-index:2}.art-caption span{width:27px;height:1px;background:#ffffff26}.wave{position:absolute;bottom:-1px;left:0;width:100%;height:57px}.wave svg{width:100%;height:100%;display:block}.participate{display:grid;grid-template-columns:1fr .92fr;gap:110px;align-items:center;padding-block:76px 70px}.section-intro>.eyebrow{font-size:9px;color:#73796e}h2{font-size:38px;line-height:1.2;font-weight:800;margin:0 0 20px}.section-intro>p:not(.eyebrow){max-width:350px;font-size:15px;line-height:1.8;color:var(--muted)}.welcome{display:flex;gap:15px;margin-top:28px;max-width:360px;align-items:flex-start}.welcome>span{background:#eeeddf;color:#8b771e;display:grid;place-items:center;min-width:35px;height:35px;border-radius:50%;font-size:21px}.welcome p{font-size:13px;line-height:1.75;margin:0;color:var(--muted)}.welcome strong{display:block;color:var(--navy);font-size:14px}.signup-card{background:#fff;border:1px solid #e5e5db;border-radius:13px;padding:30px;box-shadow:0 9px 35px #071e3605;position:relative;overflow:hidden}.signup-card:after{content:'';position:absolute;top:0;left:30px;right:30px;height:3px;background:var(--yellow);border-radius:0 0 3px 3px}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.tag{background:#fff4c9;color:#846714;font-size:9px;letter-spacing:1.3px;font-weight:750;padding:7px 10px;border-radius:4px}.card-date{font-size:10px;letter-spacing:1.4px;color:#8d928e}.signup-card h3{font-size:27px;line-height:1.25;letter-spacing:-.9px;margin:0 0 12px;font-weight:800}.signup-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.price{display:flex;align-items:baseline;gap:12px;margin:24px 0 22px}.price>strong{font-family:Manrope,sans-serif;font-size:43px;letter-spacing:-2px;line-height:1;font-weight:800}.price strong span{font-size:28px}.price>span{font-size:11px;color:var(--muted)}.button-dark{display:flex;width:100%;background:var(--navy);color:#fff;justify-content:space-between;font-size:13px;min-height:50px}.button-dark:hover{background:#163c5d}.signup-card>small{display:block;font-size:10px;color:#87908e;text-align:center;margin-top:14px}.signup-card>small a{text-decoration:underline;text-underline-offset:3px}.contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:36px 40px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact .eyebrow{font-size:9px;color:#7a817c;margin-bottom:12px}.contact h2{font-size:25px;letter-spacing:-.8px;margin-bottom:9px}.contact p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0}.contact-links{display:grid;gap:21px}.contact-links>a{display:flex;align-items:center;gap:15px;font-size:14px}.contact-links>a:hover{color:#a67c00}.contact-icon{width:24px;height:24px;flex:none;font-size:24px;line-height:1}.contact-links small{display:block;font-size:8px;letter-spacing:1.5px;color:#7d8584;margin-bottom:4px}.contact-links b{margin-left:auto;font-size:20px;font-weight:400}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px 30px}.footer-name{font-size:11px;font-weight:700}.footer-name span{font-weight:400;color:#7a817c;margin-left:4px}footer p{font-size:10px;color:#7a817c;margin:0}footer p a{font-weight:700;color:var(--navy);margin-left:3px}footer p a:hover{text-decoration:underline}
@media(min-width:1500px){.hero{padding-block:56px 90px}}
@media(max-width:950px){.wrap{width:calc(100% - 56px)}.hero{grid-template-columns:1.15fr 1fr}h1{font-size:42px}.participate{gap:55px}.brand>span{font-size:14px}.navigation nav{gap:20px}.contact{gap:30px}.contact-links>a{font-size:12px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.navigation{height:83px;gap:10px}.brand img{width:47px;height:38px}.brand{gap:5px}.brand>span{font-size:11px;letter-spacing:-.4px}.brand small{font-size:7px;letter-spacing:2px;margin-top:4px}.navigation nav>a:not(.button){display:none}.button-small{font-size:10px;padding:10px 12px;gap:9px;min-height:36px}.hero{padding-top:32px;padding-bottom:52px;grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{position:relative;z-index:2}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:16px}h1{font-size:clamp(35px,8.6vw,51px);letter-spacing:-1.7px;margin-bottom:17px}.hero-description{font-size:13px}.countdown{gap:17px;margin:23px 0}.countdown strong{font-size:29px}.countdown span{font-size:9px}.hero-button{min-height:48px;padding:13px 20px;font-size:13px}.hero-art{position:absolute;width:180px;right:-42px;bottom:48px;opacity:.15;z-index:0;pointer-events:none}.hero-art img{transform:rotate(-12deg)}.art-caption,.spark,.orbit{display:none}.wave{height:32px}.participate{grid-template-columns:1fr;gap:30px;padding-block:42px}.section-intro>.eyebrow{font-size:8px;letter-spacing:1.6px}h2{font-size:32px}.section-intro>p:not(.eyebrow){font-size:14px;max-width:100%}.welcome{max-width:100%;margin-top:22px}.signup-card{padding:26px}.signup-card h3{font-size:27px}.contact{grid-template-columns:1fr;gap:28px;padding-block:30px}.contact h2{font-size:24px}.contact-links>a{font-size:14px}.contact-links{gap:22px}footer{align-items:flex-start;flex-direction:column;gap:12px;padding-block:23px}.footer-name{font-size:10px}.footer-name span{margin-left:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a:hover{transition:none;transform:none}}

[hidden]{display:none!important}

/* A continuous two-layer wave and gently swaying Christmas lights. */
.wave{overflow:hidden;pointer-events:none}
.wave svg{width:200%;max-width:none}
.wave-layer{animation:wave-drift 22s linear infinite;will-change:transform}
.wave-front{animation-duration:16s;animation-delay:-5s}
@keyframes wave-drift{from{transform:translateX(0)}to{transform:translateX(-1440px)}}
.christmas-lights{pointer-events:none;user-select:none;overflow:hidden}
.christmas-lights svg{display:block;width:100%;height:100%;overflow:visible}
.header-lights{position:absolute;top:99px;left:0;width:100%;height:86px;opacity:.85}
.light-cable{fill:none;stroke:#6e776f;stroke-width:1.3}
.header-lights .light-cable{stroke:#7b8c8c;opacity:.55}
.christmas-bulb{animation:bulb-sway 4.8s ease-in-out infinite alternate;animation-delay:var(--delay);transform-origin:0 0}
.bulb-thread{fill:none;stroke:#67786e;stroke-width:1.5}
.bulb-cap{fill:#4e6258}
.bulb-glass{fill:currentColor;filter:drop-shadow(0 0 5px currentColor);animation:bulb-glow 5s ease-in-out infinite alternate;animation-delay:var(--delay)}
.bulb-shine{fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round;opacity:.65}
.body-lights{height:72px;width:min(720px,90%);margin:-30px auto 18px;opacity:.85}
.hero{padding-top:65px;min-height:470px}
@keyframes bulb-sway{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
@keyframes bulb-glow{0%,100%{opacity:.78}50%{opacity:1}}
@media(max-width:700px){.header-lights{top:79px;width:150%;left:-25%;height:55px}.hero{padding-top:57px;min-height:0}.body-lights{width:100%;margin:-18px auto 10px;height:49px}.body-lights svg{width:100%}}
@media(prefers-reduced-motion:reduce){.wave-layer,.christmas-bulb,.bulb-glass{animation:none}.wave-layer{will-change:auto}}

/* A warmer Christmas evening: evergreen, candlelight and soft falling snow. */
:root{--paper:#faf7ef;--line:#e5e3d7;--muted:#68736c}
body{background:radial-gradient(ellipse at 5% 72%,#ead9ae26,transparent 34%),var(--paper)}
.night{background:radial-gradient(ellipse at 77% 45%,#b98a3426,transparent 40%),radial-gradient(ellipse at 10% 0%,#23574977,transparent 60%),linear-gradient(115deg,#082d2b,#0b252e 62%,#102735)}
.navigation,.hero{position:relative;z-index:3}
.hero{padding-bottom:88px}
h1{font-weight:750;letter-spacing:-2px}
h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;color:#ffdc86;text-shadow:0 0 50px #ffcc3220}
.hero .eyebrow{color:#f6d68d}
.button{border-radius:30px;background:#f8ce70;box-shadow:0 4px 22px #f0b83f16}
.button:hover{background:#ffe0a0}
.button-small{border-radius:24px}
.countdown{gap:10px;align-items:center;margin:27px 0}
.countdown>div{min-width:65px;padding:14px 9px 12px;background:linear-gradient(145deg,#ffffff10,#ffffff04);border:1px solid #f5d48b22;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff08}
.countdown strong{font-size:30px;color:#fff5df}
.countdown span{color:#bdcdc4;font-size:9px}
.countdown b{font-size:17px;color:#c9af7666}
.hero-art:before{inset:9%;background:radial-gradient(circle,#ffcc3225,transparent 70%);filter:blur(16px)}
.orbit-one{border-color:#efd3a31c;box-shadow:0 0 75px #ffc55b08,inset 0 0 65px #ffd06206}
.orbit-two{border-color:#efd3a31a}
.hero-art img{filter:drop-shadow(0 16px 24px #0003) drop-shadow(0 0 25px #e4b64d15)}
.art-caption{color:#cfc4a6}
.winter-forest{position:absolute;bottom:20px;left:0;width:100%;height:140px;background:url('assets/winter-forest.svg') center bottom/cover no-repeat;opacity:.65;pointer-events:none;z-index:0}
.wave{z-index:4}.wave-front{fill:var(--paper)}.wave-back{fill:#e4bd6d}
.header-lights{z-index:4;opacity:1}
.bulb-glass{filter:drop-shadow(0 0 7px currentColor) drop-shadow(0 0 13px currentColor)}
.section-intro .eyebrow{color:#9b6b39}
h2{color:#173d34}
.welcome{padding:17px 19px;background:#f0eee2;border:1px solid #e7e4d4;border-radius:14px;max-width:390px}
.welcome>span{background:#e0e7d9;color:#34634b}
.signup-card{background:linear-gradient(135deg,#fffdf7 35%,#f0f3e8);border-color:#dedfcf;border-radius:22px;box-shadow:0 16px 50px #263e2910;isolation:isolate;padding:32px}
.signup-card:after{height:4px;background:linear-gradient(90deg,#2f614a,#e6c57d,#a44648);left:32px;right:32px}
.pine-decoration{position:absolute;right:-8px;top:-3px;width:138px;height:auto;z-index:-1;opacity:.8;pointer-events:none}
.card-top{position:relative}.card-date{background:#fffaf0d9;padding:5px;border-radius:4px}
.tag{background:#f2e3dc;color:#994746;border-radius:20px;letter-spacing:1.7px}
.signup-card h3{color:#1d4437}.price>strong{color:#214c3e}
.button-dark{background:#214c3e;color:#fff8e8;box-shadow:0 5px 20px #173d3410;border-radius:30px}.button-dark:hover{background:#2d614e}
.contact{border-top-style:dashed}.contact-icon{color:#37614b}
.snowfall{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:5;contain:strict}
.snowflake{position:absolute;left:var(--x);top:-25px;width:var(--size);height:var(--size);border-radius:50%;background:#fff;opacity:var(--alpha);animation:snow-fall var(--duration) var(--delay) linear infinite;will-change:transform;box-shadow:0 0 3px #fff5}
.snow-crystal{background:none;border-radius:0;color:#fff;font-size:var(--size);line-height:1;box-shadow:none}
@keyframes snow-fall{0%{transform:translate3d(0,-30px,0) rotate(0)}50%{transform:translate3d(var(--drift),55vh,0) rotate(90deg)}100%{transform:translate3d(0,calc(100vh + 50px),0) rotate(180deg)}}
@media(max-width:700px){.hero{padding-bottom:62px}.countdown{gap:7px;margin:24px 0}.countdown>div{min-width:57px;padding:12px 7px 10px}.countdown strong{font-size:27px}.countdown b{font-size:15px}.winter-forest{height:88px;background-size:auto 100%;opacity:.5}.signup-card{padding:26px}.pine-decoration{width:115px}.welcome{padding:15px;gap:12px}.snowflake:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){.snowfall{display:none}.snowflake{animation:none}}
@media(min-width:701px){.hero-art{height:350px;aspect-ratio:auto}.hero-art img{width:100%;max-width:480px}.hero{padding-top:60px;padding-bottom:80px;min-height:470px}}

/* Registration stays on the page until the visitor opens their WhatsApp draft. */
#aanmelden{scroll-margin-top:25px}
.signup-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 20px}
.signup-fields label{display:block;font-size:12px;font-weight:700;color:#214c3e;margin-bottom:8px}
.signup-fields input{font:600 18px 'DM Sans',sans-serif;color:var(--navy);width:100%;min-width:0;min-height:50px;padding:11px 14px;background:#fffdf8;border:1px solid #cdd6c8;border-radius:10px;transition:border-color .2s,box-shadow .2s}
.signup-fields input:focus{outline:none;border-color:#3b7256;box-shadow:0 0 0 3px #3b72561c}
#signup-form button{font-family:inherit;border:0;cursor:pointer}
#signup-form button:focus-visible{outline:3px solid #d59500;outline-offset:4px}
#signup-form .signup-note{font-size:10px;line-height:1.6;text-align:center;margin:12px 0 0;color:#637367}
@media(max-width:380px){.signup-fields{gap:10px}.signup-fields label{font-size:11px}}

/* The photographic tractor keeps a natural, level stance. */
.hero-art img{transform:none;filter:drop-shadow(0 14px 20px #0002)}
.art-caption{margin-top:8px}
@media(min-width:701px){.hero-art img{width:110%;max-width:550px;max-height:335px;object-fit:contain}}
@media(max-width:700px){.hero-art{width:210px;right:-36px;opacity:.24}.hero-art img{transform:none}}

#signup-form .button-dark{justify-content:center}

/* The supplied municipal map is a decorative regional accent, not a route map. */
.region-map{position:relative;isolation:isolate;overflow:hidden;height:205px;max-width:390px;margin:23px 0 0;border:1px solid #36564d;border-radius:18px;background:radial-gradient(ellipse at 75% 45%,#39655c66,transparent 66%),linear-gradient(125deg,#153c34,#102b32);box-shadow:0 12px 32px #153c340a}
.region-map:before,.region-map:after{content:'';position:absolute;width:235px;height:235px;right:-25px;top:-20px;border:1px solid #d8c48b18;border-radius:50%;pointer-events:none;z-index:-1}
.region-map:after{width:285px;height:285px;right:-50px;top:-45px;border-style:dashed;border-color:#d8c48b10}
.region-map img{position:absolute;right:0;top:-8px;width:300px;height:auto;filter:brightness(1.25) saturate(.75);opacity:.9}
.region-map figcaption{position:absolute;left:23px;bottom:25px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;z-index:1}
.region-map figcaption>span{font-size:8px;font-weight:600;letter-spacing:2.2px;color:#e9d4a4}
.region-map figcaption>strong{font-family:Manrope,sans-serif;font-size:20px;font-weight:650;letter-spacing:-.7px;color:#fff7e4;text-shadow:0 2px 14px #102c32}
.region-map figcaption>i{display:block;width:32px;height:2px;margin-top:4px;background:#d9b974;border-radius:3px}
.map-star{position:absolute;top:22px;left:24px;color:#e4c57d;font-size:18px;z-index:1}
@media(max-width:700px){.region-map{max-width:none;height:200px;margin-top:22px}.region-map img{width:290px;right:-10px;top:-8px}}

/* Route news and the official social accounts. */
.join-heading{font-size:32px;font-weight:500;line-height:1.25;letter-spacing:-1.1px;overflow-wrap:anywhere}
.join-heading strong{display:block;font-weight:800;font-size:clamp(25px,2.7vw,32px);letter-spacing:-1.3px}
.route-section{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:30px 34px;margin-bottom:56px;border:1px solid #dfdfd1;border-radius:18px;background:linear-gradient(110deg,#efeee1,#f5f2e8);box-shadow:0 8px 24px #153c3404}
.route-section .eyebrow{font-size:8px;letter-spacing:2px;color:#947342;margin-bottom:10px}
.route-section h2{font-size:27px;letter-spacing:-.8px;margin:0 0 10px}
.route-copy{max-width:570px}
.route-copy>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.social-buttons{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.social-button{justify-content:flex-start;background:#fffaf0;border:1px solid #cfd7c7;color:#214c3e;box-shadow:none;font-size:12px;min-height:45px;padding:11px 20px;gap:11px}
.social-button:hover{background:#e5eadb}
.social-button svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:700px){.join-heading{font-size:28px}.join-heading strong{font-size:clamp(22px,6.5vw,31px);letter-spacing:-1.1px}.route-section{align-items:stretch;flex-direction:column;gap:22px;padding:25px;margin-bottom:37px}.social-buttons{gap:10px}.social-button{justify-content:center}}
