@font-face{font-family:Alegreya;src:url('assets/Alegreya-latin-wght.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Lobster;src:url('assets/Lobster-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--paper:#f6efdf;--ink:#283b32;--gold:#eac58a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171f23;color:var(--paper);font:19px/1.55 Alegreya,Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.skip{position:absolute;top:-100px;left:16px;z-index:10;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.plein{position:relative;height:100vh;height:100svh;min-height:540px;display:flex;align-items:center;justify-content:center;padding:88px 0 38px;background:radial-gradient(ellipse at 50% 55%,#49403a,#171f23 76%);isolation:isolate}.header{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 36px;background:linear-gradient(#171f23e6,#171f2300)}.logo{color:#f4c542;font-family:Lobster,Georgia,serif;font-size:36px;text-decoration:none;line-height:1}.logo span{color:#39b54a}.welcome{text-align:center}.welcome h1{font-size:25px;line-height:1.2}.welcome p{font-size:15px;color:#d2c7b7}.explore{font:12px/1.5 Arial,sans-serif;text-decoration:none}.explore span{margin-left:10px;color:var(--gold)}.plein-scene{position:relative;width:min(100%,calc((100svh - 126px)*1712/1152));max-height:100%;line-height:0}.plein-image{display:block;width:100%;height:auto}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;left:var(--dx);top:var(--dy);width:var(--dw);height:var(--dh);border:0;border-radius:12px;background:transparent;transition:background .15s,box-shadow .15s}.hotspot[aria-expanded=true],.hotspot:focus-visible{background:#ffcf8620;box-shadow:0 0 22px #ffd08c55;outline:2px solid #f0ce8bbf;outline-offset:2px}.pub-popup{position:absolute;z-index:4;width:min(280px,calc(100% - 24px));padding:18px 20px;color:var(--paper);background:#202d27f5;border:1px solid #c9a46c;border-radius:6px;box-shadow:0 8px 30px #0008;line-height:1.4;pointer-events:auto}.pub-popup h2{font-size:25px;color:var(--gold);margin-bottom:6px}.pub-popup p{font-size:17px}.plein-hint{position:absolute;bottom:10px;left:16px;right:16px;text-align:center;font-size:14px;color:#d6c9b5}.hint-touch{display:none}
.tour{background:var(--paper);color:var(--ink);padding:64px max(24px,calc((100% - 1240px)/2)) 40px}.tour-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.eyebrow{font:700 11px/1.5 Arial,sans-serif;letter-spacing:2px;color:#8d4934;margin-bottom:10px}.tour-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.15;max-width:620px}.tour-heading>p{font-size:18px;color:#5b655a}.slide{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px;align-items:center}.slide-image{background:#19251f;border:1px solid #b9a88a;border-radius:5px;padding:10px;box-shadow:0 8px 25px #283b3214}.slide-image img{display:block;width:100%;height:auto;aspect-ratio:1440/1000;object-fit:contain}.slide-copy h3{font-size:34px;line-height:1.15;margin-bottom:20px}.slide-copy>p:last-child{font-size:20px;color:#596153}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:28px}.arrow{border:1px solid #b9aa8e;border-radius:50%;width:48px;height:48px;background:transparent;color:var(--ink);font-size:25px}.arrow:hover{background:#e7dcc6}.dots{display:flex;gap:5px}.dot{display:grid;place-items:center;border:0;background:transparent;width:36px;height:44px;padding:0}.dot span{width:8px;height:8px;border-radius:50%;background:#bdb39f;font-size:0}.dot[aria-current=true] span{background:#8d4934;width:22px;border-radius:5px}.tour button:focus-visible{outline-color:#8d4934}.slides{touch-action:pan-y pinch-zoom}
@media(hover:hover){.hotspot:hover{background:#ffcf8620;box-shadow:0 0 22px #ffd08c55}.pub-popup:hover{display:block}}
@media(max-width:950px){.slide{grid-template-columns:minmax(0,1fr) 230px;gap:24px}.slide-copy h3{font-size:29px}.tour-heading>p{display:none}}
@media(max-width:699px){.plein{padding:90px 0 34px;min-height:620px}.header{padding:16px 18px;gap:12px}.logo{font-size:29px}.welcome h1{font-size:20px}.welcome p{font-size:12px}.explore{font-size:0}.explore span{font-size:20px}.plein-scene{width:min(100%,calc((100svh - 124px)*1008/1792))}.hotspot{left:var(--mx);top:var(--my);width:var(--mw);height:var(--mh);border-radius:7px}.pub-popup{padding:14px 16px}.pub-popup h2{font-size:23px}.pub-popup p{font-size:16px}.hint-desktop{display:none}.hint-touch{display:inline}.plein-hint{font-size:12px}.tour{padding:38px 20px 28px}.tour-heading{margin-bottom:24px}.tour-heading h2{font-size:31px}.slide{grid-template-columns:1fr;gap:25px}.slide-image{width:100%;max-width:390px;margin-inline:auto;padding:6px}.slide-image img{aspect-ratio:390/844;max-height:70svh}.slide-copy{min-height:160px}.slide-copy h3{font-size:29px;margin-bottom:10px}.slide-copy>p:last-child{font-size:18px}.carousel-controls{margin-top:16px}}
@media(hover:none){.hint-desktop{display:none}.hint-touch{display:inline}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hotspot{transition:none}}

.usps{background:var(--paper);padding:24px max(24px,calc((100% - 1240px)/2)) 64px}.usp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.usp-grid picture{display:block;min-width:0}.usp-grid img{display:block;width:100%;height:auto}
@media(max-width:699px){.usps{padding:20px 20px 38px}.usp-grid{grid-template-columns:minmax(0,1fr);gap:20px}}

.plans{background:var(--paper);padding:0 max(24px,calc((100% - 1240px)/2)) 64px}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.plan-card{position:relative;min-width:0}.plan-card img{display:block;width:100%;height:auto}.plan-link{position:absolute;display:block;background:transparent;border-radius:4%;outline-offset:3px}.plan-card--free .plan-link{left:9.57%;top:81.34%;width:80.99%;height:11.39%}.plan-card--premium .plan-link{left:13.65%;top:84.42%;width:72.58%;height:11.3%}.plan-link:focus-visible{outline:3px solid var(--gold);box-shadow:0 0 0 6px var(--ink)}
@media(max-width:699px){.plans{padding:0 20px 38px}.plans-grid{grid-template-columns:minmax(0,1fr);gap:20px}}

/* Campaign: warm varnished timber, brass rules and the existing local typefaces. */
.campaign{--campaign-wood:repeating-linear-gradient(2deg,#c18a3c08 0 1px,transparent 1px 6px,#0002 7px 9px,transparent 10px 17px),repeating-linear-gradient(178deg,transparent 0 33px,#d9a0570d 34px 35px,transparent 36px 67px),linear-gradient(100deg,#23150e,#4c2d18 48%,#23150e);background:radial-gradient(ellipse at 50% 0,#e5aa5229,transparent 65%),var(--campaign-wood);color:var(--paper);border-block:4px double #a88246;box-shadow:inset 0 12px 25px #0006,inset 0 -10px 25px #0006;padding:56px max(24px,calc((100% - 1240px)/2));overflow-wrap:anywhere}.campaign-inner{max-width:1240px;margin:auto}.campaign h2{font-family:Lobster,Georgia,serif;font-weight:400;color:var(--gold);font-size:clamp(32px,4vw,52px);line-height:1.2;text-align:center}.campaign-kicker{font:700 11px/1.6 Arial,sans-serif;letter-spacing:2px;color:var(--gold);text-align:center;margin-bottom:12px}.campaign-intro{text-align:center;max-width:720px;margin:16px auto 32px;font-size:21px}.founder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #b78c4d}.founder-offer{color:var(--gold);padding:30px 24px;text-align:center;display:flex;flex-direction:column;min-width:0}.founder-offer+.founder-offer{border-left:1px solid #b78c4d}.founder-offer h3{color:var(--gold);font-size:clamp(26px,2.7vw,36px);line-height:1.2}.founder-benefit{font-weight:800;font-size:clamp(30px,3.3vw,44px);line-height:1.15;min-height:2.3em;margin:24px 0 16px;color:#ffdfa4}.founder-price{font-size:24px;font-weight:600;line-height:1.5;min-height:3em;color:var(--gold);font-variant-numeric:tabular-nums}.founder-price span{display:inline;font-size:17px;font-weight:400}.founder-capacity{margin-top:auto;padding-top:24px;color:#e1ceb0}.availability-slot{height:30px;margin-top:14px;border-radius:3px;background:#120c0880;border:1px solid #8c6b3e;display:flex;align-items:center;padding:4px}.availability-slot progress{appearance:none;display:block;width:100%;height:18px;accent-color:#d6ac63;border:0;background:#20150e}.availability-slot progress::-webkit-progress-bar{background:#20150e}.availability-slot progress::-webkit-progress-value{background:linear-gradient(#edce8e,#aa7637)}.availability-slot progress::-moz-progress-bar{background:#d6ac63}.availability-status{min-height:3.1em;margin-top:12px;font-size:17px}.is-sold-out{filter:saturate(.3);color:#ccbeaa}.is-sold-out .availability-status{font-weight:700}.campaign-footnote{max-width:900px;text-align:center;margin:24px auto 0;font-size:17px;color:#e1ceb0}.preview-label{padding:12px;border:2px dashed var(--gold);text-align:center;margin-bottom:20px}.launch{margin:48px auto 0;max-width:850px;text-align:center;border:4px double #b78c4d;padding:32px clamp(16px,3vw,36px);background:#180f0a80;box-shadow:0 8px 25px #0005}.launch h2{font-size:clamp(30px,3vw,42px);margin-bottom:16px}.launch-zone{display:inline-block}.launch-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:580px;margin:24px auto;font-variant-numeric:tabular-nums}.launch-clock>div{background:linear-gradient(#2a251e,#100e0b);border:1px solid #ad864c;box-shadow:inset 0 2px 8px #0008,0 3px 5px #0006;padding:14px 4px}.launch-clock strong{display:block;color:var(--gold);font-size:clamp(28px,5vw,58px);line-height:1.15}.launch-clock span{font-size:15px}#launch-message{color:var(--gold);font-size:22px;min-height:2em}#launch-access{font-size:17px;margin:12px auto 20px;max-width:650px;min-height:3.1em}.campaign-button{display:inline-block;padding:12px 24px;color:#27170d;background:linear-gradient(#f2d49a,#bc8b4c);border:3px double #593817;box-shadow:0 3px 7px #0005;font:700 19px/1.4 Alegreya,Georgia,serif;text-decoration:none;text-align:center;min-height:48px}.campaign-button:disabled{opacity:.6;cursor:not-allowed}.plans{padding-top:48px}.preregistration-inner{max-width:680px;margin:auto}.preregistration h2{text-align:left;font-size:clamp(30px,3vw,42px);margin-bottom:18px}.preregistration .campaign-kicker{text-align:left}.preregistration form{margin:24px 0}.preregistration fieldset{margin:0;padding:0;border:0;min-width:0}.preregistration label:not(.consent){display:block;margin-bottom:8px}.preregistration input[type=email]{display:block;width:100%;padding:12px;border:2px solid #b78c4d;background:#f6efdf;color:var(--ink);font:inherit;border-radius:0}.preregistration input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.consent{display:flex;gap:12px;align-items:start;margin:20px 0;font-size:17px}.consent input{flex-shrink:0;width:22px;height:22px;margin:3px 0;accent-color:#a27038}.preregistration a{text-underline-offset:3px}.preregistration fieldset:disabled{opacity:.7}#preregistration-status{margin-top:18px;min-height:3.1em;color:var(--gold)}#preregistration-note{font-size:17px;color:#e1ceb0}#voorinschrijven{scroll-margin-top:20px}
@media(max-width:899px){.founder-grid{grid-template-columns:1fr;border:0;gap:20px}.founder-offer{border:1px solid #b78c4d;background:#180f0a66;padding:26px 20px}.founder-offer+.founder-offer{border-left:1px solid #b78c4d}.founder-offer h3{font-size:34px}.founder-benefit{font-size:clamp(30px,6vw,44px)}.availability-status{min-height:1.6em}.founder-capacity{padding-top:20px}}
@media(max-width:699px){.campaign{padding:38px 20px}.campaign-intro{font-size:19px}.launch{padding:28px 14px;margin-top:32px}.launch-clock{gap:6px}.launch-clock span{font-size:12px}.campaign-button{max-width:100%}.plans{padding-top:32px}}

/* A quiet, text-only reminiscence between the Plein and the existing tour. */
.nostalgia{background:radial-gradient(ellipse at 50% 0,#eac58a12,transparent 70%),#202d27;color:var(--paper);border-block:3px double #a88246;padding:clamp(36px,4.5vw,60px) 24px;text-align:center}
.nostalgia-inner{max-width:790px;margin-inline:auto}
.nostalgia h2{font:400 clamp(32px,3.2vw,46px)/1.18 Lobster,Georgia,serif;color:var(--gold);margin-bottom:24px;text-wrap:balance}
.nostalgia h2 span{display:block}
.nostalgia-story,.nostalgia-now{font-size:20px;line-height:1.6;color:#e1d7c5;text-wrap:pretty}
.nostalgia-story p+p{margin-top:18px}
.nostalgia-story strong{color:var(--gold)}
.nostalgia-return{font-size:clamp(23px,2.3vw,29px);line-height:1.3;color:var(--gold);margin:24px 0 16px;text-wrap:balance}
.nostalgia-return strong{font-weight:600}
.nostalgia-signoff{max-width:660px;margin:24px auto 0;padding-top:20px;border-top:1px solid #a8824666;font-size:21px;line-height:1.4;color:var(--gold);text-wrap:balance}
.nostalgia-signoff strong{font-weight:600}
@media(max-width:699px){.nostalgia{padding:34px 20px}.nostalgia h2{font-size:32px;margin-bottom:22px}.nostalgia-story,.nostalgia-now{font-size:19px;line-height:1.55}.nostalgia-return{margin-top:22px}.nostalgia-signoff{font-size:20px;margin-top:22px;padding-top:18px}}

/* Informational pub sign; no connection to app opening-hours logic. */
.opening-hours{margin-top:40px;color:var(--paper)}
.opening-hours-board{max-width:650px;margin-inline:auto;padding:26px 30px;text-align:center;border:4px double #b78c4d;border-radius:4px;background:repeating-linear-gradient(2deg,#c18a3c08 0 1px,transparent 1px 7px,#0002 8px 9px,transparent 10px 19px),radial-gradient(ellipse at 50% 0,#dca95715,transparent 75%),linear-gradient(100deg,#24170f,#44301e 50%,#24170f);box-shadow:inset 0 0 0 5px #17100b66,inset 0 0 24px #0005,0 8px 20px #0005}
.opening-hours h3{font:400 clamp(28px,3vw,36px)/1.2 Lobster,Georgia,serif;color:var(--gold);text-wrap:balance;margin-bottom:20px}
.opening-hours-intro{font-size:17px;line-height:1.55;color:#ead9bb;max-width:540px;margin:0 auto 20px;text-wrap:pretty}
.opening-hours-list{margin:0;border-block:1px solid #a8824677;text-align:left}
.opening-hours-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0}
.opening-hours-list>div+div{border-top:1px solid #a8824644}
.opening-hours-list dt{font-size:20px}
.opening-hours-list dd{margin:0;white-space:nowrap;color:var(--gold);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.opening-hours-note{font-size:15px;line-height:1.45;color:#d5bd96;margin-top:12px;text-wrap:balance}
.opening-hours-signoff{font-size:20px;line-height:1.4;font-style:italic;color:var(--gold);margin:18px auto 0;max-width:440px;text-wrap:balance}
@media(max-width:479px){.opening-hours{margin-top:28px}.opening-hours-intro{font-size:16px}.opening-hours-board{padding:24px 18px}.opening-hours-list>div{flex-direction:column;align-items:center;gap:2px;text-align:center;padding:10px 0}.opening-hours-list dt{font-size:19px}.opening-hours-list dd{font-size:22px}.opening-hours-signoff{font-size:19px}}

/* Founding signup: scoped to the existing campaign, with the same warm palette. */
.founding-claim, #founding-form button { padding: .8rem 1.2rem; font: inherit; font-weight: bold; color: #24160e; background: #e6bc72; border: 2px solid #946b37; border-radius: 3px; cursor: pointer; }
.founding-claim:disabled, #founding-form button:disabled { opacity: .55; cursor: not-allowed; }
.founding-registration { max-width: 760px; margin: 2rem auto; padding: clamp(1rem, 4vw, 2rem); background: #261b16; border: 2px solid #946b37; text-align: left; }
.founding-registration[hidden] { display: none; }
#founding-form fieldset { border: 0; padding: 0; margin: 1rem 0; min-width: 0; }
#founding-form legend { margin-bottom: 1rem; }
.founding-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; }
.founding-fields label { display: block; margin-bottom: .4rem; }
.founding-fields input { width: 100%; min-width: 0; box-sizing: border-box; padding: .8rem; font: inherit; background: #fff5e0; color: #24160e; border: 2px solid #946b37; border-radius: 3px; }
.founding-check { display: flex; gap: .7rem; align-items: flex-start; margin-top: 1rem; }
.founding-check input { flex-shrink: 0; width: 1.3rem; height: 1.3rem; }
#founding-form a { color: #f8d79a; text-decoration: underline; }
#founding-form .field-error { color: #ffb9a8; margin: .3rem 0; }
#founding-form [aria-invalid="true"] { border-color: #ffb9a8; outline: 2px solid #ffb9a8; }
#founding-form :focus-visible, .founding-claim:focus-visible { outline: 3px solid #fff0a8; outline-offset: 3px; }
#founding-status { overflow-wrap: anywhere; }
@media (max-width: 600px) { .founding-fields { grid-template-columns: 1fr; } }

/* Exclusive badge belongs only to The First 250. */
[data-tier="first250"] .founder-badge { margin: 0 auto; max-width: 290px; }
[data-tier="first250"] .founder-badge img { display: block; width: clamp(100px, 28vw, 120px); max-width: 100%; height: auto; margin: 0 auto 16px; }
[data-tier="first250"] .founder-badge strong { display: block; color: var(--gold); font: 700 12px/1.6 Arial, sans-serif; letter-spacing: 1.5px; }
[data-tier="first250"] .founder-badge p { margin: 10px 0 0; color: #e1ceb0; font-size: 17px; line-height: 1.5; }

/* One wordmark in the navigation; the welcome remains centered over the Plein. */
.header{display:grid;grid-template-columns:1fr auto 1fr}.header .welcome{grid-column:2}.header .explore{justify-self:end}
@media(max-width:699px){.header{grid-template-columns:1fr auto;gap:12px}.header .welcome{grid-column:1;justify-self:start;text-align:left}}

/* The First 250 campaign artwork is independent of actual availability. */
[data-tier="first250"] .campaign-bar-label{margin:14px 0 0;color:var(--gold);font-size:16px}
[data-tier="first250"] .campaign-bar{width:100%;height:18px;background:#20150e}
[data-tier="first250"] .campaign-bar span{display:block;width:48%;height:100%;background:linear-gradient(#edce8e,#aa7637)}
[data-tier="first250"] .campaign-bar-label{margin-top:auto;padding-top:24px}

/* Plein, Stamtafels and the people USP. */
.people-usp{position:relative;margin:0 auto 32px;text-align:center;color:var(--ink);max-width:900px}
.people-usp h3{font-size:clamp(25px,3vw,36px);line-height:1.4}
#algorithm-trigger{padding:0;min-height:44px;border:0;border-bottom:2px dotted currentColor;background:transparent;color:inherit;font:inherit}
#algorithm-trigger:focus-visible{outline-color:#8d4934}
#algorithm-tooltip{position:absolute;z-index:5;top:100%;left:50%;transform:translateX(-50%);width:min(420px,100%);padding:20px;text-align:left;font-size:17px;line-height:1.5;color:var(--paper);background:#202d27;border:1px solid #c9a46c;border-radius:6px;box-shadow:0 8px 30px #0008}
#algorithm-tooltip p+p{margin-top:12px}
.premium-board{padding:clamp(24px,4vw,48px);color:var(--paper);background:repeating-linear-gradient(2deg,#c18a3c08 0 1px,transparent 1px 6px),linear-gradient(100deg,#23150e,#4c2d18 48%,#23150e);border:4px double #a88246;border-radius:5px;box-shadow:inset 0 0 24px #0006}
.premium-board .eyebrow{color:var(--gold)}
.premium-board h3{font:400 clamp(36px,5vw,52px)/1.2 Lobster,Georgia,serif;color:var(--gold);margin-bottom:20px}
.premium-board ul{padding-left:24px;margin-block:24px}
.premium-board li{padding-block:4px}
.premium-trial{font-size:22px;line-height:1.4;margin-bottom:16px}
.premium-trial strong{color:var(--gold)}
.premium-terms{font-size:16px;margin-bottom:16px}
.premium-cta{display:block;text-align:center;padding:12px 20px;background:#e6bc72;color:#24160e;border:2px solid #946b37;border-radius:3px;font-weight:700;text-decoration:none}
.stamtafels-cta{margin-block:12px;padding:8px 12px;color:#24160e;background:#e6bc72;border:2px solid #946b37;border-radius:3px}
.stamtafels-cta:disabled{opacity:.65;cursor:not-allowed}
#tip-stamtafels p+p{margin-top:10px}

#tip-stamtafels{overflow-y:auto;overscroll-behavior:contain}
.founder-includes-note { margin: -4px 0 20px; color: #e1ceb0; font-size: 17px; }
.founder-includes { margin: 20px 0 0; padding: 18px 16px 6px; border-block: 1px solid #b78c4d66; text-align: left; }
.founder-includes-title { font: 700 11px/1.6 Arial, sans-serif; letter-spacing: 2px; color: var(--gold); text-align: center; margin-bottom: 12px; }
.founder-includes ul { list-style: none; margin: 0; padding: 0; }
.founder-includes li { position: relative; padding-left: 26px; margin-bottom: 12px; color: #e1ceb0; font-size: 17px; line-height: 1.45; }
.founder-includes li::before { content: "✦"; position: absolute; left: 2px; top: 0; color: var(--gold); }
.founder-includes strong { color: #ffdfa4; }
