
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Patrick+Hand&display=swap');
:root{--green:#124a25;--ink:#163b23;--cream:#fffdf2;--scale:1;--accent:#124a25}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--scale))}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}h1,h2,h3{font-family:'Patrick Hand','Comic Sans MS',cursive;line-height:1.05}h1{font-size:clamp(2.7rem,5.4vw,5.4rem);margin:0 0 14px}h2{font-size:clamp(2.3rem,4vw,3.6rem);margin:0 0 18px}h3{font-size:1.8rem;margin:0 0 10px}p{line-height:1.65}.wrap{max-width:1390px;margin:auto;padding:0 30px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:1000;background:white;padding:12px}header{background:#10481f;color:white;position:relative;z-index:20}.head{min-height:90px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;margin-right:auto;min-width:230px}.brand svg{width:82px;height:82px;flex:none;overflow:visible}.brand b{font-family:'Patrick Hand',cursive;font-size:1.65rem;line-height:.9}.brand small{display:block;font-size:1.2rem}.navlinks{display:flex;align-items:center;gap:20px}.navlinks a{text-decoration:none;font-weight:800;white-space:nowrap}.navlinks a:hover{text-decoration:underline}.controls{display:flex;align-items:center;gap:8px}.iconbutton{background:transparent;color:white;border:1px solid #ffffff80;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:1.2rem}.lang{display:flex;align-items:center;border:1px solid white;border-radius:28px;padding:3px;height:43px;gap:2px;flex-shrink:0}.lang button{border:0;border-radius:22px;background:transparent;color:white;height:35px;min-width:57px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;font-size:.9rem;font-weight:900;line-height:1}.lang button.active{background:#fffef0;color:#124a25}.lang .flag{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1.05rem;width:19px;height:19px;vertical-align:middle;transform:none;margin:0}.menu{display:none}.prefs{display:none;position:absolute;right:25px;top:80px;background:#fffef5;color:#173d29;padding:22px;border:2px solid #d2e1b7;border-radius:18px;box-shadow:0 16px 50px #0004;width:min(360px,calc(100vw - 40px));z-index:30}.prefs.open{display:block}.prefs label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.prefs select{max-width:150px}.prefs button{padding:9px 15px;background:var(--green);color:white;border:0;border-radius:10px}.hero{min-height:465px;position:relative;background:#376b30;display:flex;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,#0b30176e,#0b301710),url('assets/welcome-basket-landscape.jpg');background-position:center;background-size:cover}.hero:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:45px;background:#fffdf2;clip-path:polygon(0 45%,16% 85%,35% 58%,54% 83%,74% 37%,100% 74%,100% 100%,0 100%)}.hero .wrap{width:100%;position:relative;z-index:1}.hero-card{background:#fffef1ee;border-radius:42px 90px 46px 65px;max-width:620px;padding:32px 42px 38px;box-shadow:0 10px 25px #0002}.hero-card p{font-size:1.25rem;margin:0 0 20px}.btn{display:inline-block;border:0;border-radius:30px;background:var(--accent);color:white;padding:12px 26px;font-weight:900;text-decoration:none}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:34px}.feature{border-radius:18px;padding:22px;min-height:130px;display:flex;align-items:center;gap:15px}.feature:nth-child(1){background:#dcecd8}.feature:nth-child(2){background:#fff0b8}.feature:nth-child(3){background:#f9dce1}.feature:nth-child(4){background:#d4eefa}.feature .emoji{font-size:3rem;flex:none}.feature b{font-size:1.22rem}.feature p{margin:5px 0 0;font-size:.94rem}.section{padding:60px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.intro-photo{width:100%;height:340px;object-fit:cover;border-radius:26px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.gallery img{width:100%;height:215px;object-fit:cover;border-radius:17px}.season{background:#e9f3d8;position:relative;overflow:hidden}.season p{max-width:650px}.season-flower{position:absolute;right:6%;top:12%;font-size:8rem;animation:float 5s ease-in-out infinite}.map-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.map{width:100%;height:330px;border:0;border-radius:20px;background:#dfead5}.maplink{display:inline-block;margin-top:12px}.contact{background:#e5f0db}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}form{background:white;border-radius:22px;padding:24px;display:grid;gap:12px}input,textarea{width:100%;border:1px solid #a7c19c;border-radius:10px;padding:12px;background:#fff}textarea{min-height:110px}footer{background:#114923;color:white;padding:28px 0}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}.modal{border:0;border-radius:24px;max-width:min(520px,90vw);padding:32px;background:#fffef0;color:#194529;box-shadow:0 10px 50px #0005}.modal::backdrop{background:#08250bc9}.modal h2{font-size:2.6rem}.close{float:right;border:0;background:#e0edd2;border-radius:50%;width:36px;height:36px;font-size:1.4rem}.petal{position:fixed;pointer-events:none;z-index:5;top:-35px;animation:fall linear forwards;color:#f5bf47;opacity:.8}@keyframes fall{to{transform:translate(45px,110vh) rotate(400deg);opacity:0}}@keyframes float{50%{transform:translateY(-20px) rotate(9deg)}}[data-contrast=true]{--cream:#fff;--ink:#000;--green:#003400;--accent:#003400}html[data-dark=true] body{background:#16251c;color:#f2f7e9}html[data-dark=true] .section:not(.season):not(.contact){background:#16251c}html[data-dark=true] .hero-card{background:#20372bea;color:#fff}html[data-dark=true] .feature{color:#102b1c}html[data-dark=true] .prefs{background:#20372b;color:white}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;scroll-behavior:auto!important}html[data-motion=reduce] .petal{display:none}@media(max-width:1100px){.head{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.navlinks{order:3;width:100%;justify-content:center}.brand{min-width:0}.features{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.wrap{padding:0 18px}.head{gap:8px}.brand svg{width:47px;height:48px}.brand b{font-size:1.25rem}.brand small{font-size:.95rem}.menu{display:grid}.navlinks{display:none;flex-direction:column;align-items:stretch;gap:12px;padding:12px 0}.navlinks.open{display:flex}.hero{min-height:500px}.hero-card{padding:27px 24px}.features,.two,.map-layout,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:180px}.season-flower{opacity:.15}.controls{margin-left:auto}.feature{min-height:100px}footer .wrap{display:block}}

/* New sections */
.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:800;color:var(--primary,#124a25);margin-bottom:12px}.lead{font-size:1.1rem;max-width:850px;line-height:1.7}.new-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.new-card{background:#fff;border-radius:22px;padding:26px;box-shadow:0 10px 30px #153b2112;border:1px solid #dfe9db}.new-card .emoji{font-size:2rem}.new-card h3{margin:15px 0 10px}.new-card p{line-height:1.65}.section-soft{background:#edf5e9}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:32px 0}.steps>div{background:#fff;padding:22px;border-radius:18px}.step-no{font-size:1.8rem;font-weight:900;color:var(--primary)}.price-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;background:#fff;border:2px solid var(--primary);border-radius:24px}.price-value{font-size:2rem;font-weight:800;color:var(--primary);margin:6px 0}.coming{display:inline-block;background:#e6f0e0;border-radius:50px;padding:7px 12px;font-size:.85rem;font-weight:700;color:#25442a}.parking-wrap{margin-top:32px}.parking-placeholder{border:3px dashed #8ba88c;background:repeating-linear-gradient(45deg,#f3f7ed,#f3f7ed 15px,#eaf1e6 15px,#eaf1e6 30px);border-radius:22px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.parking-placeholder span{font-size:3.5rem}.parking-placeholder small{color:#435745}.event-banner{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--primary,#124a25);color:#fff;border-radius:100px;padding:12px 24px;z-index:9999;box-shadow:0 10px 30px #0004;font-weight:800}.event-particle{position:fixed;top:-45px;z-index:9998;font-size:29px;pointer-events:none;animation:eventFall linear forwards}@keyframes eventFall{to{transform:translateY(115vh) rotate(360deg);opacity:.1}}
/* Primary palette controls */
:root{--primary:#124a25}header,footer{background:var(--primary)!important}.btn{background:var(--primary)!important}.brand,nav a{color:#fff}.eyebrow,.step-no,.price-value{color:var(--primary)}.price-box{border-color:var(--primary)}
/* Full high-contrast palette overrides */
html[data-contrast="true"]{--primary:#000!important;--accent:#000!important;--green:#000!important;color-scheme:light}html[data-contrast="true"] body,html[data-contrast="true"] .section,html[data-contrast="true"] .section-soft,html[data-contrast="true"] .new-card,html[data-contrast="true"] .steps>div,html[data-contrast="true"] .price-box,html[data-contrast="true"] .parking-placeholder,html[data-contrast="true"] .prefs{background:#fff!important;color:#000!important}html[data-contrast="true"] p,html[data-contrast="true"] h1,html[data-contrast="true"] h2,html[data-contrast="true"] h3,html[data-contrast="true"] label,html[data-contrast="true"] small{color:#000!important}html[data-contrast="true"] header,html[data-contrast="true"] footer,html[data-contrast="true"] .btn{background:#000!important;color:#fff!important}html[data-contrast="true"] header *,html[data-contrast="true"] footer *,html[data-contrast="true"] .btn *{color:#fff!important}html[data-contrast="true"] a:not(.btn){text-decoration:underline}html[data-contrast="true"] .new-card,html[data-contrast="true"] .price-box,html[data-contrast="true"] .parking-placeholder{border:2px solid #000!important}html[data-contrast="true"] .hero-card{background:#fff!important;color:#000!important}html[data-contrast="true"] .coming{background:#000!important;color:#fff!important}
html[data-motion="reduce"] .event-particle{display:none!important}
.lang button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;line-height:1!important;vertical-align:middle!important}.lang .flag{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transform:none!important}
@media(max-width:800px){.new-cards,.steps{grid-template-columns:1fr 1fr}.price-box{flex-direction:column;align-items:flex-start}}@media(max-width:550px){.new-cards,.steps{grid-template-columns:1fr}}

/* Verified photos and social/news sections */
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.photo-tile{margin:0;overflow:hidden;background:var(--surface,#f3f6ee);border-radius:17px}.photo-tile img{display:block;width:100%;height:210px;object-fit:cover;border-radius:17px 17px 0 0}.photo-tile figcaption{padding:10px 12px;font-size:.9rem;line-height:1.35;color:inherit}.social-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.social-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:13px 20px;border:2px solid var(--primary,#216337);background:var(--primary,#216337);color:#fff!important;font-weight:750;text-decoration:none}.social-btn:hover{filter:brightness(1.14)}.news-card{padding:24px;border-radius:22px;background:var(--surface,#fff);border:2px solid var(--primary,#216337);color:inherit}.news-card p{line-height:1.6}.news-card .btn{margin-top:12px}footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}html[data-contrast="true"] .social-btn,html[data-contrast="true"] .news-card{background:#000!important;color:#fff!important;border-color:#fff!important}html[data-contrast="true"] .photo-tile{outline:2px solid currentColor}html[data-dark="true"] .news-card{background:#192d22;color:#fff}@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.social-layout{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tile img{height:170px}}

/* VERSION 8: usable high contrast across nested surfaces */
html[data-contrast="true"] .prefs,
html[data-contrast="true"] .prefs.open{background:#fff!important;color:#000!important;border:3px solid #000!important}
html[data-contrast="true"] .prefs *,
html[data-contrast="true"] .prefs h3,
html[data-contrast="true"] .prefs label,
html[data-contrast="true"] .prefs label span{color:#000!important}
html[data-contrast="true"] .prefs select,
html[data-contrast="true"] .prefs input{background:#fff!important;color:#000!important;border:2px solid #000!important;accent-color:#000}
html[data-contrast="true"] .prefs button{background:#000!important;color:#fff!important;border:2px solid #000!important}
html[data-contrast="true"] header,
html[data-contrast="true"] footer{background:#000!important;color:#fff!important}
html[data-contrast="true"] header a,
html[data-contrast="true"] header b,
html[data-contrast="true"] header small,
html[data-contrast="true"] footer a,
html[data-contrast="true"] footer strong,
html[data-contrast="true"] footer small,
html[data-contrast="true"] .brand *,
html[data-contrast="true"] .footer-brand *{color:#fff!important}
html[data-contrast="true"] .lang button.active{background:#fff!important;color:#000!important}
html[data-contrast="true"] .lang button.active span{color:#000!important}
html[data-contrast="true"] .hero-card h1,
html[data-contrast="true"] .hero-card p,
html[data-contrast="true"] .modal h2,
html[data-contrast="true"] .modal p{color:#000!important}
html[data-contrast="true"] .modal{background:#fff!important;color:#000!important}
html[data-contrast="true"] .activity-photo{display:none!important}
html[data-contrast="true"] .new-card h3,
html[data-contrast="true"] .new-card p{color:#000!important}
html[data-contrast="true"] .contact-emails .email-card,
html[data-contrast="true"] .email-card a{background:#fff!important;color:#000!important}
html[data-contrast="true"] .email-card{border:2px solid #000!important}
html[data-contrast="true"] .newspaper-masthead{background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-contrast="true"] .newspaper-masthead *{color:#000!important}
html[data-contrast="true"] .event-banner{background:#000!important;color:#fff!important;border:2px solid #fff!important}
html[data-contrast="true"] .event-banner *{color:#fff!important}
html[data-contrast="true"] .news-card{background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-contrast="true"] .news-card h3,
html[data-contrast="true"] .news-card p,
html[data-contrast="true"] .news-card .eyebrow{color:#000!important}
html[data-contrast="true"] .btn{color:#fff!important}
html[data-contrast="true"] .btn:hover{outline:2px solid #fff;outline-offset:2px}
/* Emails on a shared row, stacking only on narrow screens */
.contact-emails{display:flex;align-items:stretch;gap:12px;margin:18px 0;flex-wrap:wrap}
.email-card{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.78);border:1px solid #b8d3b4;border-radius:13px;padding:12px}
.email-card a{font-size:.92rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
/* Original real photos on activities */
.new-card{position:relative;padding:22px 0;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:320px;isolation:isolate}
.activity-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#d7e5d3;z-index:0}
.activity-photo img{display:block;width:100%;height:100%;object-fit:cover;opacity:.24;transition:transform .25s ease}
.new-card:hover .activity-photo img{transform:scale(1.035)}
.new-card>.emoji,.new-card>h3,.new-card>p,.new-card>.coming{position:relative;z-index:1;margin-left:22px;margin-right:22px}
.new-card>.emoji{margin-top:0}
.new-card>.coming{margin-top:auto;align-self:flex-start}
/* Typographic newspaper masthead, faithfully based on its printed title */
.newspaper-masthead{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:480px;background:#fffdfa;color:#632034;border:1px solid #e4cec4;border-radius:12px;text-decoration:none!important;padding:12px 18px;margin-bottom:18px;box-shadow:0 2px 9px #00000014}
.newspaper-tagline{font-family:Georgia,serif;font-size:.68rem;letter-spacing:.08em;color:#666}
.newspaper-logo{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,2.9vw,2.5rem);font-weight:700;color:#7e2332;white-space:nowrap;letter-spacing:-.04em;line-height:1.12}
.newspaper-logo em{font-family:Georgia,serif;font-weight:400;color:#c18a46}
.newspaper-logo span{color:#802939}
.newspaper-edition{color:#8b6c5b;font-size:.67rem;letter-spacing:.21em;font-weight:900;margin-top:4px}
/* Repeated header daisy in footer */
.footer-brand{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none!important;min-width:220px}
.footer-brand svg{width:75px;height:75px;flex:none}
.footer-brand strong{line-height:1.1;font-family:'Patrick Hand','Comic Sans MS',cursive;font-size:1.65rem}
.footer-brand small{display:block;font-size:1.13rem;font-weight:600}
footer .wrap{flex-wrap:wrap}
/* Show seasonal particles on top of all other page layers */
.event-particle{position:fixed!important;z-index:2147483644!important;pointer-events:none!important;opacity:1;will-change:transform,opacity;filter:drop-shadow(0 2px 2px #0003)}
.event-banner{z-index:2147483645!important;max-width:calc(100vw - 25px);text-align:center}
@media(max-width:680px){.activity-photo{height:100%}.contact-emails{flex-direction:column}.footer-brand svg{width:64px;height:64px}.newspaper-logo{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.new-card:hover .activity-photo img{transform:none}}

/* Viewport motion layer, following the original site's animation model. */
#seasonal-motion{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;display:block;overflow:hidden;pointer-events:none;user-select:none;z-index:80;contain:layout style;isolation:isolate}
#seasonal-motion[hidden]{display:none!important}#seasonal-motion svg{display:block;width:100%;height:100%;overflow:visible}.holiday-particle{position:absolute;display:block}.holiday-flake{top:-14px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff;box-shadow:0 0 1px 1px #415e7899,0 0 6px #6b9bb4b0;animation:holidaySnow var(--duration) linear var(--delay) infinite}
.holiday-egg{bottom:5px;left:var(--x);width:30px;height:35px;opacity:.85;filter:drop-shadow(0 2px 3px #34263855);animation:eggBounce var(--duration) linear var(--delay) infinite}
.holiday-bat{width:32px;height:32px;animation:holidayBat var(--duration) linear var(--delay) infinite}.holiday-bat:nth-child(4n+1){top:26%;left:-40px;--travel-x:calc(100vw + 80px);--travel-y:36vh;--tilt:12deg;--facing:1}.holiday-bat:nth-child(4n+2){top:65%;left:calc(100% + 40px);--travel-x:calc(-100vw - 80px);--travel-y:-45vh;--tilt:-12deg;--facing:-1}.holiday-bat:nth-child(4n+3){top:-40px;left:68%;--travel-x:-45vw;--travel-y:calc(100vh + 80px);--tilt:38deg;--facing:-1}.holiday-bat:nth-child(4n+4){top:calc(100% + 40px);left:28%;--travel-x:42vw;--travel-y:calc(-100vh - 80px);--tilt:-38deg;--facing:1}
.holiday-burst{position:absolute;left:var(--x);top:var(--y);width:1px;height:1px;animation:firework 4.2s ease-out var(--delay) infinite}.holiday-burst i{position:absolute;display:block;left:0;top:0;width:3.5px;height:var(--length);transform-origin:50% 0;transform:rotate(var(--angle));background:linear-gradient(transparent 28%,var(--burst) 80%,#fff9);border-radius:50%;box-shadow:0 0 3px var(--burst)}
.holiday-parcel,.holiday-crown{left:var(--x);bottom:14px;width:33px;height:36px;opacity:.85;animation:presentBounce var(--duration) ease-in-out var(--delay) infinite}.holiday-crown{width:36px;height:36px}
.holiday-confetti{top:-25px;left:var(--x);width:8px;height:14px;border-radius:1px;background:var(--piece);animation:festiveConfetti var(--duration) linear var(--delay) infinite}.holiday-orange{width:6px;height:25px}.holiday-streamer{top:-40px;left:var(--x);width:15px;height:32px;animation:festiveStreamer var(--duration) linear var(--delay) infinite}.holiday-mask{top:-80px;left:var(--x);width:65px;height:45px;animation:festiveStreamer var(--duration) linear var(--delay) infinite}.holiday-bunting{position:absolute;left:0;top:0;width:100%;height:44px;opacity:.9}.holiday-flag{transform-box:fill-box;transform-origin:50% 0;animation:royalFlag 3s ease-in-out infinite alternate}
@keyframes holidaySnow{0%{transform:translate3d(0,0,0);opacity:0}8%,84%{opacity:.8}100%{transform:translate3d(34px,104vh,0);opacity:0}}
@keyframes holidayBat{0%{transform:translate3d(0,0,0) rotate(var(--tilt)) scaleX(var(--facing));opacity:0}18%,78%{opacity:.65}42%{transform:translate3d(calc(var(--travel-x) * .42 + 12px),calc(var(--travel-y) * .42 - 14px),0) rotate(calc(var(--tilt) + 9deg)) scaleX(var(--facing))}100%{transform:translate3d(var(--travel-x),var(--travel-y),0) rotate(var(--tilt)) scaleX(var(--facing));opacity:0}}
@keyframes eggBounce{0%,100%{transform:translateY(0) rotate(-12deg)}17%{transform:translateY(-19vh) rotate(16deg);animation-timing-function:ease-in}34%{transform:translateY(0) rotate(-10deg);animation-timing-function:ease-out}49%{transform:translateY(-11vh) rotate(12deg);animation-timing-function:ease-in}63%{transform:translateY(0) rotate(-7deg);animation-timing-function:ease-out}73%{transform:translateY(-6vh) rotate(7deg);animation-timing-function:ease-in}83%{transform:translateY(0) rotate(0)}}
@keyframes firework{0%,10%,68%,100%{opacity:0}10%{transform:scale(.12)}17%{opacity:.9}60%{opacity:.5}65%,100%{transform:scale(1.3)}}
@keyframes presentBounce{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-20px) rotate(4deg)}}
@keyframes festiveConfetti{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}10%,85%{opacity:.9}100%{transform:translate3d(65px,110vh,0) rotate(var(--spin));opacity:0}}
@keyframes festiveStreamer{0%{transform:translate3d(0,0,0) rotate(-15deg);opacity:0}12%,84%{opacity:.85}48%{transform:translate3d(-45px,52vh,0) rotate(75deg)}100%{transform:translate3d(50px,112vh,0) rotate(190deg);opacity:0}}
@keyframes royalFlag{from{transform:skewX(-9deg) rotate(-3deg)}to{transform:skewX(9deg) rotate(3deg)}}
html[data-seasonal=false] #seasonal-motion{display:none!important}html[data-fx-paused=true] #seasonal-motion *{animation-play-state:paused!important}
/* Codes and the preview selector are an explicit animation request, as in the original. */
html[data-access=true] #seasonal-motion:not([data-preview]){display:none!important}
@media(prefers-reduced-motion:reduce){#seasonal-motion:not([data-preview]){display:none!important}}
@media(max-width:760px){.holiday-flake:nth-child(n+25){display:none}.holiday-bat{width:25px;height:25px}.holiday-egg{width:25px;height:30px}.holiday-burst:nth-child(n+5){display:none}.holiday-mask{width:48px;height:34px}.holiday-bunting{height:34px}}


/* V9 fully themed palette: backgrounds are derived from the selected primary colour. */
:root{--primary:#124a25;--soft-a:color-mix(in srgb,var(--primary) 13%,white);--soft-b:color-mix(in srgb,var(--primary) 8%,#fff0b8);--soft-c:color-mix(in srgb,var(--primary) 9%,#ffe2e5);--soft-d:color-mix(in srgb,var(--primary) 8%,#def4ff)}
header,footer{background:var(--primary)!important}
.section-soft,.season{background:var(--soft-a)!important}
.feature:nth-child(1){background:var(--soft-a)!important}
.feature:nth-child(2){background:var(--soft-b)!important}
.feature:nth-child(3){background:var(--soft-c)!important}
.feature:nth-child(4){background:var(--soft-d)!important}
.new-card,.steps>div,.email-card,.parking-placeholder{border-color:color-mix(in srgb,var(--primary) 30%,white)!important}
.new-card{background:color-mix(in srgb,var(--primary) 5%,white)!important}
.coming{background:color-mix(in srgb,var(--primary) 12%,white)!important;color:var(--primary)!important}
.email-card{display:flex;align-items:flex-start;gap:14px;width:100%;max-width:770px;padding:18px 20px;background:var(--soft-a)!important}
.contact-emails{display:flex;width:100%;max-width:770px;flex-direction:column;gap:0}
.email-lines{display:flex;flex-direction:column;gap:10px;min-width:0}
.email-lines a{display:block;overflow-wrap:anywhere;line-height:1.35}
.email-glyph{font-size:1.6rem}
.business-details{padding:8px 30px 18px;text-align:center;color:#fff;font-weight:700;font-size:.92rem}
/* Original site's seasonal animation layer and banner, restored. */
#seasonal-motion{position:fixed;inset:0;display:block;pointer-events:none;z-index:9994;overflow:hidden;contain:layout style;isolation:isolate;width:100%;height:100dvh}
#seasonal-motion[hidden],#season-banner[hidden]{display:none!important}
#season-banner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:9996;width:min(690px,calc(100vw - 30px));border:2px solid var(--primary);background:#fffdf0;color:#153c27;border-radius:22px;box-shadow:0 16px 44px #0006;display:flex;align-items:center;gap:15px;padding:13px 48px 13px 14px;min-height:92px}
#season-banner .season-scene{display:block;flex:none;width:160px;max-width:33%}#season-banner .season-message{font-size:1.06rem;font-weight:900;line-height:1.4}
#season-banner .season-close{position:absolute;right:10px;top:10px;border:0;background:var(--primary);color:white;border-radius:100px;font-size:1.3rem;line-height:1;width:32px;height:32px;cursor:pointer}
#season-banner[data-theme="newyear"]{background:#132640;color:#fff;border-color:#fed277}
#season-banner[data-theme="halloween"]{background:#3b2646;color:#fff;border-color:#f0a151}
#season-banner[data-theme="kingsday"]{background:#fff0d9;border-color:#ec781e}
#season-banner[data-theme="christmas"]{background:#eaf5eb;border-color:#a82f32}
#seasonal-motion svg{display:block;width:100%;height:100%;overflow:visible}
#seasonal-motion .holiday-particle{z-index:1}
#seasonal-motion .holiday-particle.holiday-flower{top:-50px;left:var(--x);width:29px;height:29px;animation:festiveStreamer var(--duration) linear var(--delay) infinite}
#seasonal-motion .holiday-particle.holiday-harvest{top:-45px;left:var(--x);width:34px;height:34px;animation:festiveConfetti var(--duration) linear var(--delay) infinite}
#seasonal-motion .holiday-particle.holiday-fair{top:-45px;left:var(--x);width:30px;height:30px;animation:festiveStreamer var(--duration) linear var(--delay) infinite}
#seasonal-motion .holiday-particle.holiday-star{top:-45px;left:var(--x);width:28px;height:28px;animation:holidaySnow var(--duration) linear var(--delay) infinite}
#seasonal-motion .holiday-particle.holiday-flake{background:#fff;box-shadow:0 0 2px 1px #46689599,0 0 5px #7da4d5}
/* Make CSS animations work even when reduced motion is stored, on explicit test commands only. */
html[data-motion="reduce"] #seasonal-motion:not([data-preview]) *,html[data-motion="reduce"] #seasonal-motion:not([data-preview]) .holiday-particle{animation:none!important}
html[data-motion="reduce"] #seasonal-motion[data-preview] .holiday-particle,html[data-motion="reduce"] #seasonal-motion[data-preview] .holiday-burst,html[data-motion="reduce"] #seasonal-motion[data-preview] .holiday-flag{animation-play-state:running!important}
/* preserve text contrast and original palette preferences */
html[data-contrast="true"] .feature,html[data-contrast="true"] .new-card,html[data-contrast="true"] .email-card,html[data-contrast="true"] .section-soft,html[data-contrast="true"] .season{background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-contrast="true"] .coming{background:#fff!important;color:#000!important;border:1px solid #000!important}
html[data-contrast="true"] #season-banner{background:#fff!important;color:#000!important;border:3px solid #000!important}
html[data-contrast="true"] .business-details{background:#000!important;color:#fff!important}
@media(max-width:620px){#season-banner{gap:8px;min-height:70px;padding:10px 43px 10px 9px}#season-banner .season-scene{width:92px}#season-banner .season-message{font-size:.84rem}}

html[data-motion=reduce] #seasonal-motion[data-preview] *,html[data-motion=reduce] #seasonal-motion[data-preview] *:before,html[data-motion=reduce] #seasonal-motion[data-preview] *:after{animation-name:revert-layer!important;animation-duration:revert-layer!important} 



/* V10: requested content/layout refinements */
.contact{background:var(--soft-c)!important}
.section-soft,.season,.contact,.new-card,.steps>div,.price-box,.parking-placeholder,.news-card,.photo-tile,.email-card,form{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.email-card.info-card{max-width:820px}
.address-line{display:block;font-weight:800;line-height:1.4}
.story-panel{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:22px;align-items:center;background:color-mix(in srgb,var(--primary) 7%,white);border:1px solid color-mix(in srgb,var(--primary) 25%,white);border-radius:24px;padding:18px;margin:26px 0 10px;overflow:hidden}
.story-photo{width:100%;height:100%;max-height:320px;object-fit:cover;border-radius:18px;display:block}
.story-copy h3{margin:0 0 10px}
.story-copy p{margin:0;line-height:1.7}
.secret-gallery{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-top:18px}
.secret-gallery figure{margin:0}
.secret-gallery img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
.secret-main-photo img{min-height:250px}
.secret-side-photos{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.footer-brand+span{display:inline-flex;flex-wrap:wrap;gap:0;align-items:center;line-height:1.4}
footer .wrap{row-gap:10px}
.newspaper-masthead{cursor:default}
.activity-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:color-mix(in srgb,var(--primary) 12%,#d7e5d3);z-index:0}
.activity-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 72%, white) 4%,color-mix(in srgb,var(--primary) 46%, transparent) 48%,rgba(255,255,255,.24) 100%);opacity:.45;pointer-events:none}
.activity-photo img{opacity:.34}
.new-card>.emoji,.new-card>h3,.new-card>p,.new-card>.coming{color:#183724}
.new-card{background:color-mix(in srgb,var(--primary) 6%,white)!important}
.photo-tile{background:color-mix(in srgb,var(--primary) 6%,white);border:1px solid color-mix(in srgb,var(--primary) 18%,white)}
.photo-tile figcaption{color:#173224}
.news-card{background:color-mix(in srgb,var(--primary) 4%,white)}
.social-btn{border-color:var(--primary)!important;background:var(--primary)!important}
.business-details{display:none!important}
/* Dark mode readability repairs */
html[data-dark="true"] body{background:#122018;color:#edf5e8}
html[data-dark="true"] .section:not(.season):not(.contact),html[data-dark="true"] .section-soft,html[data-dark="true"] .contact{background:#122018!important;color:#edf5e8}
html[data-dark="true"] h1,html[data-dark="true"] h2,html[data-dark="true"] h3,html[data-dark="true"] p,html[data-dark="true"] label,html[data-dark="true"] .lead,html[data-dark="true"] .eyebrow,html[data-dark="true"] .coming,html[data-dark="true"] .photo-tile figcaption,html[data-dark="true"] .story-copy p{color:#edf5e8!important}
html[data-dark="true"] .new-card,html[data-dark="true"] .steps>div,html[data-dark="true"] .price-box,html[data-dark="true"] .parking-placeholder,html[data-dark="true"] .photo-tile,html[data-dark="true"] .news-card,html[data-dark="true"] .email-card,html[data-dark="true"] form,html[data-dark="true"] .story-panel{background:#1a2b21!important;color:#edf5e8!important;border-color:#35513f!important;box-shadow:none}
html[data-dark="true"] input,html[data-dark="true"] textarea{background:#213429!important;color:#f4fbf0!important;border-color:#4b6c58!important}
html[data-dark="true"] input::placeholder,html[data-dark="true"] textarea::placeholder{color:#d5e6d9!important}
html[data-dark="true"] .new-card>.emoji,html[data-dark="true"] .new-card>h3,html[data-dark="true"] .new-card>p,html[data-dark="true"] .new-card>.coming{color:#edf5e8!important}
html[data-dark="true"] .activity-photo::after{background:linear-gradient(180deg,rgba(8,16,12,.76),rgba(14,26,18,.42),rgba(18,32,24,.72));opacity:1}
html[data-dark="true"] .activity-photo img{opacity:.42}
html[data-dark="true"] .photo-tile figcaption{background:#1a2b21}
html[data-dark="true"] .social-btn{background:var(--primary)!important;color:#fff!important}
html[data-dark="true"] .newspaper-masthead{background:#24382c;color:#fff;border-color:#4f6755}
html[data-dark="true"] .newspaper-tagline,html[data-dark="true"] .newspaper-edition{color:#d5dfd4!important}
html[data-dark="true"] .newspaper-logo,html[data-dark="true"] .newspaper-logo em,html[data-dark="true"] .newspaper-logo span{color:#fff!important}
html[data-dark="true"] .modal{background:#1b2f23;color:#eff8eb}
html[data-dark="true"] .close{background:#2a4435;color:#fff}
/* Seasonal harvest now uses falling leaves */
#seasonal-motion .holiday-particle.holiday-harvest{top:-45px;left:var(--x);width:34px;height:34px;animation:autumnLeaf var(--duration) linear var(--delay) infinite}
@keyframes autumnLeaf{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}10%,85%{opacity:.92}35%{transform:translate3d(-22px,34vh,0) rotate(140deg)}70%{transform:translate3d(36px,72vh,0) rotate(285deg)}100%{transform:translate3d(-18px,112vh,0) rotate(420deg);opacity:0}}
@media(max-width:820px){.story-panel,.secret-gallery{grid-template-columns:1fr}.secret-side-photos{grid-template-columns:1fr 1fr;grid-template-rows:none}.secret-main-photo img{min-height:210px}}
@media(max-width:560px){.secret-side-photos{grid-template-columns:1fr}.story-photo{max-height:230px}}


/* V12 unified palette (light/dark), compact contacts, readable controls */
:root{--panel-bg:color-mix(in srgb,var(--primary) 9%, white);--section-bg:color-mix(in srgb,var(--primary) 10%, #fffdf2);--panel-ink:#163824;--field-bg:#fff;--pill-bg:color-mix(in srgb,var(--primary) 14%,white);--pill-ink:#153524}
.contact,.section-soft,.season{background:var(--section-bg)!important}
#contact{background:var(--section-bg)!important}
#contact h2,#contact p{color:var(--ink)!important}
#contact .info-card{display:flex;flex-direction:column;align-items:stretch;width:fit-content;min-width:min(100%,330px);max-width:100%;gap:8px;margin:16px 0 0;padding:14px 17px;border-radius:15px;background:var(--panel-bg)!important;border:1px solid color-mix(in srgb,var(--primary) 26%,white)}
.contact-line{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;line-height:1.4;min-width:0}
.contact-line svg{flex:none;width:20px;height:20px;color:var(--primary)}
.contact-line a,.contact-line span{overflow-wrap:anywhere;font-weight:600;text-decoration:none}
.contact-line a:hover{text-decoration:underline}
footer{padding:14px 0!important}
footer .wrap{display:flex!important;flex-wrap:wrap;align-items:center;gap:14px 34px}
.footer-meta{display:flex!important;align-items:center;flex-wrap:wrap;gap:12px 18px;line-height:1.5}
.footer-meta a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.footer-legal{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.social-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle}
.social-links .social-btn{display:inline-flex;align-items:center;gap:9px}
.activity-links{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin:15px 22px 0}
.activity-links a{display:inline-flex;align-items:center;gap:6px;border-radius:30px;border:1px solid var(--primary);padding:8px 11px;background:var(--primary);color:#fff;text-decoration:none;font-weight:800;font-size:.86rem}
.activity-links .social-icon{width:17px;height:17px}
.secret-gallery{display:block!important}
.secret-main-photo img{height:auto!important;max-height:380px;object-fit:cover}
#fotos .photo-tile figcaption{background:var(--panel-bg);color:var(--panel-ink)}
#activiteiten .new-card{background:var(--panel-bg)!important;color:var(--panel-ink)!important}
#activiteiten .activity-photo::after{background:color-mix(in srgb,var(--primary) 22%,transparent)!important;opacity:.5!important}
#activiteiten .new-card h3,#activiteiten .new-card p{color:var(--panel-ink)!important}
.coming,#activiteiten .coming{background:var(--pill-bg)!important;color:var(--pill-ink)!important}
html[data-dark="true"]{--section-bg:color-mix(in srgb,var(--primary) 20%,#121914);--panel-bg:color-mix(in srgb,var(--primary) 25%,#18221b);--panel-ink:#f2f8ee;--field-bg:#23342b;--pill-bg:color-mix(in srgb,var(--primary) 25%,#f5f4e7);--pill-ink:#17271d;--ink:#f4f8ee}
html[data-dark="true"] #contact{background:var(--section-bg)!important;color:#f4f8ee!important}
html[data-dark="true"] body{background:color-mix(in srgb,var(--primary) 13%,#111913)!important;color:#f4f8ee!important}
html[data-dark="true"] .section:not(.hero),html[data-dark="true"] .section-soft,html[data-dark="true"] .contact,html[data-dark="true"] .season{background:var(--section-bg)!important;color:#f4f8ee!important}
html[data-dark="true"] .new-card,html[data-dark="true"] .steps>div,html[data-dark="true"] .price-box,html[data-dark="true"] .parking-placeholder,html[data-dark="true"] .photo-tile,html[data-dark="true"] .news-card,html[data-dark="true"] .email-card,html[data-dark="true"] form,html[data-dark="true"] .story-panel{background:var(--panel-bg)!important;border-color:color-mix(in srgb,var(--primary) 44%,#789081)!important;color:var(--panel-ink)!important}
html[data-dark="true"] .feature{background:var(--panel-bg)!important;color:var(--panel-ink)!important}
html[data-dark="true"] .feature b,html[data-dark="true"] .feature p{color:var(--panel-ink)!important}
html[data-dark="true"] .new-card h3,html[data-dark="true"] .new-card p,html[data-dark="true"] #activiteiten .new-card h3,html[data-dark="true"] #activiteiten .new-card p{color:var(--panel-ink)!important}
html[data-dark="true"] .coming,html[data-dark="true"] #activiteiten .coming{background:var(--pill-bg)!important;color:var(--pill-ink)!important}
html[data-dark="true"] .photo-tile figcaption,html[data-dark="true"] #fotos .photo-tile figcaption{background:var(--panel-bg)!important;color:var(--panel-ink)!important}
html[data-dark="true"] #contact h2,html[data-dark="true"] #contact p{color:#f4f8ee!important}
html[data-dark="true"] .contact-line svg,html[data-dark="true"] .contact-line a,html[data-dark="true"] .contact-line span{color:var(--panel-ink)!important}
html[data-dark="true"] .hero-card h1,html[data-dark="true"] .hero-card p{color:#fff!important}
html[data-dark="true"] .prefs{background:#20372b;color:#fff}
html[data-dark="true"] .eyebrow,html[data-dark="true"] .step-no,html[data-dark="true"] .price-value{color:#ecf8de!important}
html[data-dark="true"] .newspaper-masthead{background:var(--panel-bg)!important}
html[data-dark="true"] .social-btn,html[data-dark="true"] .activity-links a{background:var(--primary)!important;color:#fff!important}
html[data-dark="true"] input,html[data-dark="true"] textarea{background:var(--field-bg)!important;color:#fff!important}
html[data-contrast="true"] #contact,html[data-contrast="true"] .contact,html[data-contrast="true"] .section,html[data-contrast="true"] .section-soft{background:#fff!important;color:#000!important}
html[data-contrast="true"] .contact-line svg,html[data-contrast="true"] .contact-line a,html[data-contrast="true"] .contact-line span{color:#000!important}
html[data-contrast="true"] .feature,html[data-contrast="true"] #activiteiten .new-card,html[data-contrast="true"] .info-card{background:#fff!important;color:#000!important;border:2px solid #000!important}
html[data-contrast="true"] .feature b,html[data-contrast="true"] .feature p,html[data-contrast="true"] #activiteiten .new-card h3,html[data-contrast="true"] #activiteiten .new-card p{color:#000!important}
@media(max-width:680px){footer .wrap{align-items:flex-start!important;flex-direction:column!important}.footer-meta{gap:8px 13px}}


/* V13: sticky navigation, readable photo-card typography, event effects behind navigation */
header{position:sticky!important;top:0!important;z-index:10050!important;isolation:isolate}
#seasonal-motion{top:var(--site-header-height,90px)!important;bottom:0!important;height:calc(100dvh - var(--site-header-height,90px))!important;z-index:9000!important}
#season-banner{z-index:9001!important}
.event-particle,.event-banner{z-index:9000!important}
.footer-legal{margin-left:14px!important}
/* Photo-backed cards: light mode uses a dark glaze for white text. */
#activiteiten article.new-card,#zelfkweken article.growth-stage-card{position:relative;isolation:isolate;min-height:345px;padding:22px 0!important;overflow:hidden}
#activiteiten article.new-card .activity-photo,#zelfkweken article.growth-stage-card .activity-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:var(--panel-bg)}
#activiteiten article.new-card .activity-photo img,#zelfkweken article.growth-stage-card .activity-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1!important;filter:none!important;transform:scale(1.003)}
#activiteiten article.new-card .activity-photo::after,#zelfkweken article.growth-stage-card .activity-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,21,.76) 0%,rgba(12,32,21,.71) 50%,rgba(11,30,19,.80) 100%)!important;opacity:1!important}
#activiteiten article.new-card > :not(.activity-photo),#zelfkweken article.growth-stage-card > :not(.activity-photo){position:relative;z-index:1}
#activiteiten article.new-card h3,#activiteiten article.new-card p,#activiteiten article.new-card .coming,#zelfkweken article.growth-stage-card h3,#zelfkweken article.growth-stage-card p{color:#fff!important;text-shadow:0 1px 3px #0009}
#activiteiten article.new-card .coming{background:#193c29dd!important;border:1px solid #ffffff77;color:#fff!important;text-shadow:none}
#zelfkweken article.growth-stage-card .emoji,#zelfkweken article.growth-stage-card h3,#zelfkweken article.growth-stage-card p{margin-left:22px;margin-right:22px}
#zelfkweken article.growth-stage-card .emoji{font-size:2rem}
#zelfkweken article.growth-stage-card h3{margin-top:12px}
/* Dark mode uses a pale translucent glaze and black text over the same pictures. */
html[data-dark="true"] #activiteiten article.new-card .activity-photo::after,html[data-dark="true"] #zelfkweken article.growth-stage-card .activity-photo::after{background:linear-gradient(180deg,rgba(255,255,246,.86),rgba(255,252,232,.77),rgba(255,255,243,.90))!important;opacity:1!important}
html[data-dark="true"] #activiteiten article.new-card h3,html[data-dark="true"] #activiteiten article.new-card p,html[data-dark="true"] #activiteiten article.new-card .coming,html[data-dark="true"] #zelfkweken article.growth-stage-card h3,html[data-dark="true"] #zelfkweken article.growth-stage-card p{color:#080d09!important;text-shadow:none}
html[data-dark="true"] #activiteiten article.new-card .coming{background:#fff9e6db!important;border:1px solid #384a3c;color:#080d09!important}
/* Accessibility high contrast retains opaque surfaces, white with black copy. */
html[data-contrast="true"] #activiteiten article.new-card .activity-photo,html[data-contrast="true"] #zelfkweken article.growth-stage-card .activity-photo{display:none!important}
html[data-contrast="true"] #activiteiten article.new-card h3,html[data-contrast="true"] #activiteiten article.new-card p,html[data-contrast="true"] #zelfkweken article.growth-stage-card h3,html[data-contrast="true"] #zelfkweken article.growth-stage-card p{color:#000!important;text-shadow:none}
html[data-contrast="true"] #activiteiten article.new-card .coming{background:#fff!important;color:#000!important;border:2px solid #000!important}
@media(max-width:680px){#activiteiten article.new-card,#zelfkweken article.growth-stage-card{min-height:315px}}


/* V14: distinct blue palette without green-tinted neutral backgrounds. */
html[data-palette="blue"]{--section-bg:#e4efff;--panel-bg:#ecf4ff;--panel-ink:#122f54;--soft-a:#e2edff;--soft-b:#eaf3ff;--soft-c:#dceafe;--soft-d:#eef5ff;--pill-bg:#d5e7ff;--pill-ink:#12345a}
html[data-palette="blue"] body{background:#f5f9ff;color:#142e51}
html[data-palette="blue"] .feature:nth-child(1){background:#d9e9ff!important}
html[data-palette="blue"] .feature:nth-child(2){background:#e6efff!important}
html[data-palette="blue"] .feature:nth-child(3){background:#d4e5fc!important}
html[data-palette="blue"] .feature:nth-child(4){background:#ecf4ff!important}
html[data-palette="blue"] #contact,html[data-palette="blue"] .section-soft,html[data-palette="blue"] .season{background:var(--section-bg)!important}
html[data-palette="blue"] .new-card:not(.growth-stage-card),html[data-palette="blue"] .steps>div,html[data-palette="blue"] .price-box,html[data-palette="blue"] .news-card,html[data-palette="blue"] .story-panel,html[data-palette="blue"] .photo-tile{background:var(--panel-bg)!important}
html[data-palette="blue"][data-dark="true"]{--section-bg:#111d36;--panel-bg:#19294c;--panel-ink:#f0f6ff;--field-bg:#1e3157;--pill-bg:#dce9ff;--pill-ink:#12264a}
html[data-palette="blue"][data-dark="true"] body{background:#0d182d!important;color:#f2f6ff!important}
html[data-palette="blue"][data-dark="true"] .section:not(.hero),html[data-palette="blue"][data-dark="true"] .section-soft,html[data-palette="blue"][data-dark="true"] .contact{background:#111d36!important;color:#eff5ff!important}
html[data-palette="blue"][data-dark="true"] .feature:nth-child(n){background:#21375d!important;color:#f2f6ff!important}
html[data-palette="blue"][data-dark="true"] .feature b,html[data-palette="blue"][data-dark="true"] .feature p{color:#f2f6ff!important}
html[data-palette="blue"][data-dark="true"] .new-card:not(.growth-stage-card),html[data-palette="blue"][data-dark="true"] .steps>div,html[data-palette="blue"][data-dark="true"] .price-box,html[data-palette="blue"][data-dark="true"] .news-card,html[data-palette="blue"][data-dark="true"] .story-panel,html[data-palette="blue"][data-dark="true"] .photo-tile,html[data-palette="blue"][data-dark="true"] form{background:#19294c!important;border-color:#4c6b9b!important}
html[data-palette="blue"][data-dark="true"] #contact .info-card{background:#21375d!important;border-color:#5477a5!important}
html[data-palette="blue"][data-dark="true"] .photo-tile figcaption{background:#19294c!important;color:#f2f6ff!important}
/* Prevent legacy flex:1 1 220px from making the contact box unnecessarily tall. */
#contact .contact-grid{align-items:start!important}
#contact .contact-emails{height:auto!important;min-height:0!important;align-items:flex-start!important;align-content:flex-start!important;flex:0 0 auto!important;max-width:fit-content!important;margin:12px 0 0!important}
#contact .contact-emails .email-card.info-card{flex:0 0 auto!important;align-self:flex-start!important;height:auto!important;min-height:0!important;max-width:min(100%,460px)!important;width:fit-content!important;padding:13px 17px!important;gap:8px!important;margin:0!important}
#contact .contact-line{min-height:26px!important;line-height:1.3!important;gap:10px!important}
#contact .contact-line svg{width:20px;height:20px}
/* High contrast has its own white/black colour system regardless of selected hue. */
html[data-contrast="true"] #contact,html[data-contrast="true"] .section-soft,html[data-contrast="true"] .season,html[data-contrast="true"] .section{background:#fff!important;color:#000!important}
html[data-contrast="true"] .feature:nth-child(n){background:#fff!important;color:#000!important;border-color:#000!important}
html[data-contrast="true"] .feature b,html[data-contrast="true"] .feature p{color:#000!important}
html[data-contrast="true"] #contact .info-card{background:#fff!important;border:2px solid #000!important}
@media(max-width:540px){#contact .contact-emails{width:100%!important;max-width:100%!important}#contact .contact-emails .email-card.info-card{width:100%!important;max-width:100%!important}}

/* V15: align the lower controls in all activity cards at the same baseline. */
#activiteiten .new-cards > article.new-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}
#activiteiten .new-cards > article.new-card > .activity-links{margin-top:auto!important;padding-top:15px!important;margin-bottom:0!important;min-height:53px;align-items:flex-end!important}
#activiteiten .new-cards > article.new-card > .coming{margin-top:auto!important;margin-bottom:0!important;align-self:flex-start!important;min-height:37px;display:inline-flex!important;align-items:center!important}

 
/* V17: targeted improvements on the proven V15 baseline */
/* Use the selected primary colour as the hue for readable light-mode typography,
   instead of leaving default headings and borders fixed dark green. */
html:not([data-dark="true"]):not([data-contrast="true"]){
 --ink:color-mix(in srgb,var(--primary) 65%,#18222a);
 --field-border:color-mix(in srgb,var(--primary) 43%,#d5d9dc);
}
html:not([data-dark="true"]):not([data-contrast="true"]) body,
html:not([data-dark="true"]):not([data-contrast="true"]) .section h2,
html:not([data-dark="true"]):not([data-contrast="true"]) #contact h2,
html:not([data-dark="true"]):not([data-contrast="true"]) #contact p,
html:not([data-dark="true"]):not([data-contrast="true"]) .section .lead,
html:not([data-dark="true"]):not([data-contrast="true"]) .section:not(#activiteiten):not(#zelfkweken) p,
html:not([data-dark="true"]):not([data-contrast="true"]) #contact form label,
html:not([data-dark="true"]):not([data-contrast="true"]) .contact-line a,
html:not([data-dark="true"]):not([data-contrast="true"]) .contact-line span{
 color:var(--ink)!important;
}
/* The readable photo-card text and buttons deliberately keep their white-on-image styles. */
html:not([data-dark="true"]):not([data-contrast="true"]) #contact input,
html:not([data-dark="true"]):not([data-contrast="true"]) #contact textarea{
 color:var(--ink)!important;background:#fff!important;border-color:var(--field-border)!important;
}
html:not([data-dark="true"]):not([data-contrast="true"]) #contact .info-card{
 border-color:var(--field-border)!important;
}
html:not([data-dark="true"]):not([data-contrast="true"]) #contact .contact-line svg{color:var(--primary)!important}
/* Dark-mode headings and form text now follow the selected hue without losing contrast. */
html[data-dark="true"]:not([data-contrast="true"]){
 --ink:color-mix(in srgb,var(--primary) 9%,#f7faff);
 --field-border:color-mix(in srgb,var(--primary) 60%,#b0bfd1);
}
html[data-dark="true"]:not([data-contrast="true"]) #contact h2,
html[data-dark="true"]:not([data-contrast="true"]) #contact p,
html[data-dark="true"]:not([data-contrast="true"]) #contact form label,
html[data-dark="true"]:not([data-contrast="true"]) #contact .contact-line a,
html[data-dark="true"]:not([data-contrast="true"]) #contact .contact-line span{
 color:var(--ink)!important;
}
html[data-dark="true"]:not([data-contrast="true"]) #contact input,
html[data-dark="true"]:not([data-contrast="true"]) #contact textarea{
 color:#fff!important;border-color:var(--field-border)!important;
 background:color-mix(in srgb,var(--primary) 22%,#111821)!important;
}
html[data-dark="true"]:not([data-contrast="true"]) #contact .contact-line svg{color:color-mix(in srgb,var(--primary) 26%,white)!important}
/* The gate is a decorative background; all interactive content remains readable. */
html:not([data-dark="true"]):not([data-contrast="true"]) #contact{
 background-image:linear-gradient(90deg,rgba(250,252,250,.88),rgba(250,252,250,.78)),url("assets/contact-gate.jpg")!important;
 background-size:cover!important;background-position:center 45%!important;background-repeat:no-repeat!important;
}
html[data-dark="true"]:not([data-contrast="true"]) #contact{
 background-image:linear-gradient(90deg,rgba(8,15,24,.91),rgba(8,15,24,.83)),url("assets/contact-gate.jpg")!important;
 background-size:cover!important;background-position:center 45%!important;background-repeat:no-repeat!important;
}
html[data-contrast="true"] #contact{
 background-image:none!important;background:#fff!important;color:#000!important;
}
