@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@500&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#050f0c;--paper:#f5f3ec;--green:#006a4d;--deep:#013725;--mint:#0fbe85;--line:rgba(5,15,12,.18);--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.5}
.site-header{height:78px;margin:20px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:10px;padding:0 26px;box-shadow:0 1px 0 rgba(5,15,12,.06)}
.brand{display:flex;align-items:center;text-decoration:none}.brand-logo{display:block;width:131px;height:auto;aspect-ratio:122/21}.secure{font:500 12px DM Mono,monospace;text-transform:uppercase;color:rgba(5,15,12,.65);display:flex;gap:8px;align-items:center}.secure span{width:7px;height:7px;border-radius:50%;background:var(--mint)}
main{max-width:1180px;margin:0 auto;padding:80px 28px 110px}.intro{text-align:center;max-width:940px;margin:0 auto 58px}.eyebrow{font:500 12px DM Mono,monospace;letter-spacing:.08em;color:rgba(5,15,12,.62);margin:0 0 19px}.intro h1{font-size:clamp(52px,7.2vw,92px);line-height:.92;letter-spacing:-.055em;font-weight:500;margin:0}.intro h1 em{font-style:normal;color:var(--green)}.lede{max-width:670px;margin:30px auto 27px;color:rgba(5,15,12,.72)}.facts{display:flex;justify-content:center;gap:34px;font-size:15px}.facts span::first-letter{color:var(--green)}
.booking-card{background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 18px 60px rgba(1,55,37,.09)}.stepper{height:72px;padding:0 44px;display:flex;align-items:center;gap:38px;border-bottom:1px solid var(--line);font:500 12px DM Mono,monospace;color:rgba(5,15,12,.35)}.stepper span{display:flex;gap:10px;align-items:center}.stepper b{font-weight:500}.stepper .active{color:var(--green)}.stepper .completed{color:rgba(0,106,77,.62)}.step{padding:48px 52px 56px}.hidden{display:none!important}.card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}.card-heading h2,.form-heading h2,.confirmation h2{font-size:42px;line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0}.booking-filters{display:flex;align-items:center;gap:18px}.date-control{font-size:13px;color:rgba(5,15,12,.65);display:flex;align-items:center;gap:10px;white-space:nowrap}.date-control input,.date-control select{width:auto;margin:0;font:inherit;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink)}.date-control select:disabled{opacity:.55}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.day{border-top:1px solid var(--ink);padding-top:16px}.day h3{font-size:15px;margin:0 0 16px}.times{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.time{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:13px 8px;font:500 15px Manrope;cursor:pointer;transition:.18s}.time:hover,.time:focus{background:var(--green);color:#fff;border-color:var(--green);outline:none}.loading,.empty{grid-column:1/-1;padding:60px;text-align:center;background:var(--paper);border-radius:8px;color:rgba(5,15,12,.65)}
.back{border:0;background:none;padding:0;color:var(--green);font:600 14px Manrope;cursor:pointer}.selected-slot{margin:22px 0 44px;padding:18px 20px;border-left:4px solid var(--mint);background:var(--paper);font-size:15px}.form-heading{margin-bottom:34px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid label{font-size:14px;font-weight:600}.grid small{font-weight:400;color:rgba(5,15,12,.5)}.wide{grid-column:1/-1}input,textarea{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px 15px;font:inherit;color:var(--ink)}input:focus,textarea:focus{outline:2px solid rgba(15,190,133,.35);border-color:var(--green)}.consent{display:flex;align-items:flex-start;gap:12px;margin:26px 0;font-size:13px;color:rgba(5,15,12,.68)}.consent input{width:auto;margin:4px 0}.turnstile-wrap{margin:0 0 22px;min-height:65px}.turnstile-wrap noscript{display:block;padding:12px;background:#fbe8e5;color:#8d211a;border-radius:6px;font-size:13px}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:7px;background:var(--green);color:#fff;padding:17px 19px;font:500 17px Manrope;cursor:pointer}.primary:hover{background:var(--deep)}.primary:disabled{opacity:.6}.form-error{color:#a22b22;font-size:14px}
.confirmation{text-align:center;padding-top:70px;padding-bottom:75px}.success-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 25px;border-radius:50%;background:var(--mint);color:#fff;font-size:26px}.confirmation>p:not(.eyebrow){color:rgba(5,15,12,.68)}.confirmation-details{max-width:480px;margin:30px auto 0;background:var(--paper);padding:22px;border-radius:8px;display:flex;flex-direction:column;gap:6px}.confirmation-details span{font-size:14px;color:rgba(5,15,12,.65)}
footer{background:var(--deep);color:rgba(255,255,255,.72);padding:34px max(28px,calc((100vw - 1124px)/2));display:flex;justify-content:space-between;font:500 11px DM Mono,monospace;text-transform:uppercase}
@media(max-width:760px){.site-header{margin:10px;height:64px;padding:0 17px}.brand-logo{width:122px}.secure{display:none}main{padding:55px 18px 70px}.intro{margin-bottom:36px}.lede{font-size:15px}.facts{flex-direction:column;gap:6px}.booking-card{border-radius:9px}.stepper{height:58px;padding:0 20px;gap:15px}.stepper b{display:none}.step{padding:31px 22px 38px}.card-heading{align-items:flex-start;flex-direction:column}.booking-filters{width:100%;align-items:stretch;flex-direction:column;gap:10px}.date-control{justify-content:space-between}.date-control select,.date-control input{max-width:68%}.card-heading h2,.form-heading h2,.confirmation h2{font-size:34px}.slots{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.wide{grid-column:auto}footer{gap:14px;flex-direction:column}}
.header-actions{display:flex;align-items:center;gap:22px}.language-menu{position:relative;display:flex}.language-toggle{width:75px;height:43px;padding:10px 16px;border:0;background:transparent;color:#222;display:flex;align-items:center;gap:4px;cursor:pointer}.globe-icon{width:22px;height:22px}.language-chevron{width:20px;height:20px;transition:transform .18s}.language-toggle.open .language-chevron{transform:rotate(180deg)}.language-dropdown{position:absolute;z-index:20;top:51px;right:0;width:136px;padding:16px;border-radius:8px;background:var(--green);color:#fff}.language-dropdown[hidden]{display:none}.language-option{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:17.5px;line-height:17.5px;white-space:nowrap}.language-option+.language-option{margin-top:8px}.language-option:hover,.language-option:focus{text-decoration:underline;outline:none}.language-flag{display:block;flex:0 0 32px;width:32px;height:19px;background:#fff}.flag-de{background:linear-gradient(#000 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66%)}.flag-es{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}.flag-nl{background:linear-gradient(#ae1c28 0 33.33%,#fff 33.33% 66.66%,#21468b 66.66%)}.flag-fr{background:linear-gradient(90deg,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66%)}.flag-en{background:linear-gradient(35deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%),linear-gradient(-35deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%),linear-gradient(90deg,transparent 40%,#fff 40% 45%,#c8102e 45% 55%,#fff 55% 60%,transparent 60%),linear-gradient(transparent 35%,#fff 35% 42%,#c8102e 42% 58%,#fff 58% 65%,transparent 65%),#012169}
@media(max-width:760px){.header-actions{gap:8px}.language-toggle{width:59px;padding-left:8px;padding-right:8px}.language-dropdown{right:-8px}}
.language-dropdown{left:0;right:auto}@media(max-width:760px){.language-dropdown{left:-8px;right:auto}}
