*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.es-lf-err{display:none}.es-lf-err.on{display:block}.es-cc{display:none}.es-cc.show{display:block}.es-es-ccm{display:none}.es-es-ccm.show{display:grid}details.es-qa>summary{list-style:none;cursor:pointer}details.es-qa>summary::-webkit-details-marker{display:none}.es-map{position:relative}.es-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.es-lf-cc{display:inline-flex;align-items:center;justify-content:center;font:inherit}[hidden]{display:none!important}
/* gen4 base layout — one stylesheet, 6 visual variants via html[data-v] */
:root{--bg:#ffffff;--ink:#141414;--mut:#5c5c5c;--card:#fafafa;--line:#e6e6e6;--acc:#2563eb;--acc-ink:#fff;--rad:16px;--serif:Georgia,serif;--sans:system-ui,sans-serif;--maxw:1160px;--pad:26px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans)}
h1,h2,h3,h4{margin:0;line-height:1.1;font-family:var(--serif);font-weight:600;text-wrap:balance}
p{margin:0 0 1em}
a{color:var(--acc)}a:hover{opacity:.72}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.es-u-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
section{padding:76px 0}
.es-u-kick,.es-doc-kicker{display:inline-block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-family:var(--sans);font-weight:600;margin-bottom:14px}
.es-u-lead{font-size:19px;color:var(--mut);max-width:54ch}
.es-u-sec-h{font-size:clamp(30px,4.2vw,46px);max-width:22ch;margin-bottom:12px}
.es-u-sec-p{color:var(--mut);max-width:56ch;margin-bottom:40px}
/* header */
.es-u-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.es-u-head .es-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:20px}
.es-u-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:21px;margin-inline-end:auto}
.es-u-brand .es-mk{width:38px;height:38px;border-radius:12px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;font-size:20px;flex:none}
.es-u-brand .es-mk:has(svg){background:none;border-radius:0}
.es-u-brand .es-mk svg{width:100%;height:100%;display:block}
.es-u-brand .es-wm{letter-spacing:-.015em;line-height:1}
.es-u-brand small{font-family:var(--sans);font-weight:500;color:var(--mut);font-size:13px}
.es-u-nav{display:flex;gap:22px;font-size:15px;font-family:var(--sans)}
.es-u-nav a{color:var(--ink);text-decoration:none}
.es-u-nav a:hover,.es-u-nav a[aria-current]{color:var(--acc)}
.es-u-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;padding:11px 22px;border-radius:999px;background:var(--acc);color:var(--acc-ink);border:1.5px solid var(--acc);cursor:pointer}
.es-u-btn:hover{opacity:1;filter:brightness(1.06)}
.es-u-btn.es-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.es-u-btn.es-ghost:hover{border-color:var(--acc);color:var(--acc)}
.es-u-btn.es-lg{padding:15px 28px;font-size:17px}
.es-u-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* hero */
.es-u-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:68px 0 52px}
.es-u-hero h1{font-size:clamp(40px,6vw,70px);margin:16px 0 18px}
.es-u-art{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.es-u-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;font-family:var(--sans)}
.es-u-chip{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--mut)}
/* media */
.es-pic{margin:0;overflow:hidden;border-radius:var(--rad)}.es-pic img{width:100%;height:100%;object-fit:cover;display:block}
.es-u-bleed{aspect-ratio:21/9}
/* features */
.es-u-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.es-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.es-u-feat i{font-size:30px;color:var(--acc)}
.es-u-feat h3{font-size:21px;margin:12px 0 8px;font-family:var(--sans);font-weight:700}
.es-u-feat p{color:var(--mut);margin:0;font-size:15px}
/* split rows */
.es-u-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.es-u-split+.es-u-split{margin-top:72px}
.es-u-split.es-rev>.es-pic{order:2}
.es-u-split .es-pic{aspect-ratio:4/3}
.es-u-split h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.es-u-split p{color:var(--mut);font-size:18px;margin:0}
/* steps */
.es-u-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:st}
.es-u-step{padding-top:16px;border-top:2px solid var(--acc)}
.es-u-step b{font-family:var(--sans);color:var(--acc);font-size:14px;display:block}
.es-u-step b::before{counter-increment:st;content:"0" counter(st) "  "}
.es-u-step h3{font-size:22px;margin:6px 0 8px;font-family:var(--sans);font-weight:700}
.es-u-step p{color:var(--mut);margin:0;font-size:15px}
/* free band */
.es-u-free{background:var(--ink);color:var(--bg);border-radius:var(--rad);padding:46px;display:flex;flex-wrap:wrap;gap:22px 48px;align-items:center;justify-content:space-between}
.es-u-free h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch;color:var(--bg)}
.es-u-free ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}
.es-u-free li{display:flex;gap:10px;align-items:center;opacity:.92}
.es-u-free li i{opacity:.8}
/* start / form */
.es-u-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.es-u-start h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.es-u-start p{color:var(--mut);font-size:18px}
.es-lf{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;display:grid;gap:16px}
.es-lf h3{font-size:24px;font-family:var(--sans);font-weight:700}
.es-lf-field label{display:block;font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:6px}
.es-lf-input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.es-lf-input:focus{outline:none;border-color:var(--acc)}
.es-lf-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.es-lf-cc{align-self:stretch;display:inline-flex;align-items:center;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;opacity:.8}
.es-lf-check{display:flex;gap:10px;font-family:var(--sans);font-size:13px;color:var(--mut);line-height:1.55}
.es-lf-check input{accent-color:var(--acc);width:18px;height:18px;flex:none;margin-top:2px}
.es-lf-err{color:#c0362b;font-family:var(--sans);font-size:13px}
.es-lf-btn{font:inherit;font-family:var(--sans);font-weight:700;font-size:17px;padding:15px;border-radius:999px;border:0;background:var(--acc);color:var(--acc-ink);cursor:pointer}
.es-lf-btn:hover{filter:brightness(1.06)}
.es-lf-note{font-family:var(--sans);font-size:13px;color:var(--mut)}
/* faq */
.es-u-faq,.es-faq-page{max-width:820px}
.es-faq-page{margin-bottom:40px}
.es-qa{border-bottom:1px solid var(--line);padding:18px 0}
.es-qa summary{font-family:var(--sans);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.es-qa summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.es-qa[open] summary::after{content:"\u2212"}
.es-qa-a{color:var(--mut);margin-top:10px}
.es-qa-a p{margin:0}
/* contact */
.es-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}
.es-map{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--rad)}
.es-info{margin:0;display:grid;gap:18px;font-family:var(--sans)}
.es-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:4px}
.es-info dd{margin:0}.es-info a{color:var(--ink)}
/* footer */
.es-u-foot{border-top:1px solid var(--line);padding:46px 0 34px;margin-top:40px;font-family:var(--sans)}
.es-u-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:30px}
.es-u-foot h4{font-size:13px;color:var(--mut);margin:0 0 12px;font-weight:600}
.es-u-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.es-u-foot a,.es-u-foot button,.es-linkish{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer;text-align:start}
.es-linkish{color:var(--acc);text-decoration:underline}
.es-u-foot a:hover,.es-u-foot button:hover{color:var(--acc)}
.es-u-fine{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);display:grid;gap:6px}
.es-u-fine p{margin:0}
/* legal / pages */
.es-doc{max-width:800px;margin:0 auto;padding:58px 0 36px}
.es-doc h1{font-size:clamp(34px,5vw,54px);margin:10px 0 12px}
.es-doc h2{font-size:22px;margin:36px 0 10px;font-family:var(--sans);font-weight:700}
.es-doc p,.es-doc li{color:#3a3a3a}
.es-doc-date{color:var(--mut);font-size:14px}
.es-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.es-doc th,.es-doc td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:start;vertical-align:top}
.es-doc .box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin:18px 0}
.es-page-head{padding:60px 0 34px}
.es-page-head h1{font-size:clamp(38px,5.4vw,62px);max-width:18ch}
.es-page-head p{color:var(--mut);font-size:19px;max-width:56ch}
.es-about-pic{aspect-ratio:21/8;margin-bottom:12px}
.es-doc ul{padding-inline-start:20px;display:grid;gap:6px}
.es-success{max-width:640px;margin:0 auto;padding:90px 0;text-align:center}
.es-success h1{font-size:clamp(36px,5vw,56px);margin:14px 0}
.es-success p{color:var(--mut)}
/* cookie */
.es-cc{position:fixed;inset-inline:16px;bottom:16px;max-width:560px;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.es-cc strong{font-family:var(--sans)}
.es-cc p{font-size:14px;color:var(--mut);margin:6px 0 14px}
.es-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.es-cc-b{font:inherit;font-family:var(--sans);font-weight:600;font-size:14px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.es-cc-yes{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.es-es-ccm{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);place-items:center;padding:20px}
.es-cc-box{background:var(--bg);border-radius:var(--rad);padding:28px;max-width:480px;width:100%}
.es-cc-box h3{font-family:var(--sans);font-size:24px;margin-bottom:10px}
.es-cc-pref{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.es-cc-pref b{font-family:var(--sans)}
.es-cc-pref small{display:block;color:var(--mut);font-size:13px}
.es-cc-pref input{accent-color:var(--acc);width:20px;height:20px}
.es-cc-box .es-cc-btns{margin-top:18px}
@media(max-width:880px){.es-u-nav{display:none}.es-u-hero,.es-u-split,.es-u-start,.es-contact-grid,.es-u-foot-grid{grid-template-columns:minmax(0,1fr)}.es-u-split.es-rev>.es-pic{order:0}.es-u-steps{grid-template-columns:minmax(0,1fr)}.es-u-free{padding:30px}section{padding:54px 0}.es-u-brand small{display:none}}

/* ============ VARIANT: mag (bold editorial) ============ */
html[data-v=mag] h1,html[data-v=mag] h2,html[data-v=mag] h3,html[data-v=mag] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em;line-height:1.02}
html[data-v=mag] .es-u-btn,html[data-v=mag] .es-lf-btn,html[data-v=mag] .es-cc-b{border-radius:0}
html[data-v=mag] .es-u-feat,html[data-v=mag] .es-u-art,html[data-v=mag] .es-pic,html[data-v=mag] .es-map,html[data-v=mag] .es-lf,html[data-v=mag] .es-cc,html[data-v=mag] .es-cc-box{border-radius:0}
html[data-v=mag] .es-u-feat{border:0;border-top:4px solid var(--ink)}
html[data-v=mag] .es-u-head{border-bottom:3px solid var(--ink)}
html[data-v=mag] .es-u-hero h1{font-size:clamp(46px,8vw,96px)}
html[data-v=mag] .es-lf-input{border-radius:0}
html[data-v=mag] .es-lf-cc{border-radius:0}

/* ============ VARIANT: swiss (minimal hairline) ============ */
html[data-v=swiss]{--rad:0px}
html[data-v=swiss] h1,html[data-v=swiss] h2,html[data-v=swiss] h3,html[data-v=swiss] h4{font-family:var(--sans);font-weight:600;letter-spacing:-.02em}
html[data-v=swiss] .es-u-btn{background:transparent;color:var(--ink);border:0;border-bottom:2px solid var(--acc);border-radius:0;padding:8px 2px}
html[data-v=swiss] .es-u-btn.es-ghost{color:var(--mut);border-bottom-color:var(--line)}
html[data-v=swiss] .es-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);padding-inline:0}
html[data-v=swiss] .es-u-art,html[data-v=swiss] .es-lf{background:transparent;border:1px solid var(--line)}
html[data-v=swiss] .es-u-step{border-top-color:var(--ink)}
html[data-v=swiss] .es-lf-btn{border-radius:0}

/* ============ VARIANT: soft (rounded friendly) ============ */
html[data-v=soft]{--rad:26px}
html[data-v=soft] h1,html[data-v=soft] h2,html[data-v=soft] h3,html[data-v=soft] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em}
html[data-v=soft] body{background:var(--bg)}
html[data-v=soft] .es-u-feat{box-shadow:0 10px 30px rgba(0,0,0,.05);border-color:transparent}
html[data-v=soft] .es-u-step{border-top:0}
html[data-v=soft] .es-u-step b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
html[data-v=soft] .es-u-step b::before{content:"0" counter(st)}

/* ============ VARIANT: tech (dark mono) ============ */
html[data-v=tech] h1,html[data-v=tech] h2,html[data-v=tech] h3,html[data-v=tech] h4{font-family:var(--sans);letter-spacing:-.01em}
html[data-v=tech] .es-u-head{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom-color:var(--line)}
html[data-v=tech] .es-u-chip{background:var(--card)}
html[data-v=tech] .es-u-feat i{color:var(--acc)}
html[data-v=tech] .es-u-free{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-v=tech] .es-u-free h2{color:var(--ink)}
html[data-v=tech] .es-u-foot a,html[data-v=tech] .es-u-foot button{color:var(--ink)}
html[data-v=tech] .es-map{filter:invert(.92) hue-rotate(180deg) saturate(.7)}
html[data-v=tech] .es-u-step{border-top-color:var(--acc)}

/* ============ VARIANT: clock (light indigo cards) ============ */
html[data-v=clock] h1,html[data-v=clock] h2,html[data-v=clock] h3,html[data-v=clock] h4{font-family:var(--serif);font-weight:600}
html[data-v=clock] .es-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=clock] .es-u-free h2{color:var(--acc-ink)}
html[data-v=clock] .es-u-feat{background:var(--card)}

/* signature art shells */
.art-tally{display:grid;gap:14px}
.art-tally .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--sans)}
.art-tally .row:last-child{border-bottom:0}
.art-tally .marks{letter-spacing:3px;color:var(--acc);font-weight:700}
.art-tally .amt{color:var(--mut);font-size:14px}
.art-ring{display:grid;place-items:center;gap:10px;text-align:center;font-family:var(--sans)}
.art-ring .dial{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc) var(--p,72%),var(--line) 0)}
.art-ring .dial span{width:140px;height:140px;border-radius:50%;background:var(--bg);display:grid;place-content:center;font-family:var(--serif);font-size:52px;color:var(--ink)}
.art-ring small{color:var(--mut)}
.art-bars{display:flex;align-items:flex-end;gap:10px;height:180px}
.art-bars i{flex:1;background:var(--acc);border-radius:8px 8px 0 0;opacity:.35}
.art-bars i:nth-child(1){height:30%}.art-bars i:nth-child(2){height:48%}.art-bars i:nth-child(3){height:66%}.art-bars i:nth-child(4){height:84%}.art-bars i:nth-child(5){height:100%}
.art-bars i.on{opacity:1}
.art-ledger{font-family:var(--sans);font-size:15px}
.art-ledger .r{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.art-ledger .r.h{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.art-ledger .r:last-child{border-bottom:0}
.art-ledger .due{color:var(--acc);font-weight:700}
.art-num{font-family:var(--serif);font-size:clamp(120px,20vw,200px);line-height:.85;color:var(--acc)}
.art-num small{display:block;font-family:var(--sans);font-size:18px;color:var(--mut);margin-top:10px}
.art-sms{display:grid;gap:10px;font-family:var(--sans)}
.art-sms .b{max-width:85%;padding:12px 16px;border-radius:18px;font-size:15px}
.art-sms .b.them{background:var(--acc);color:var(--acc-ink);border-end-end-radius:5px;justify-self:end}
.art-sms .b.us{background:var(--card);border:1px solid var(--line);border-end-start-radius:5px}

/* gen5 extras: hero layouts + centered footer */
.es-u-hero.es-stack{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:36px}
.es-u-hero.es-stack .es-u-lead{margin-inline:auto}
.es-u-hero.es-stack .es-u-btns,.es-u-hero.es-stack .es-u-trust{justify-content:center}
.es-u-hero.es-stack h1{max-width:16ch;margin-inline:auto}
.es-u-hero.es-stack .es-u-art{width:min(560px,100%)}
.es-u-hero.flip>.es-u-art{order:-1}
.u-foot-c{text-align:center}
.u-foot-c .es-u-brand{display:inline-flex;margin:0 auto}
.u-foot-blurb{color:var(--mut);max-width:46ch;margin:14px auto 0}
.u-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px 0 10px;font-size:15px}
.u-foot-nav a,.u-foot-nav button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}
.u-foot-nav a:hover,.u-foot-nav button:hover{color:var(--acc)}
.u-foot-addr{color:var(--mut);font-size:14px}
.u-foot-addr a{color:var(--ink)}
.u-foot-c .es-u-fine{text-align:center}
.es-u-head.solid{background:var(--ink);border-bottom:0}
.es-u-head.solid .es-u-brand,.es-u-head.solid .es-u-nav a{color:var(--bg)}
.es-u-head.solid .es-u-nav a:hover,.es-u-head.solid .es-u-nav a[aria-current]{color:var(--acc)}
.es-u-head.es-center .es-in{flex-wrap:wrap;justify-content:center}
.es-u-head.es-center .es-u-brand{margin-inline-end:0;width:100%;justify-content:center}
@media(max-width:880px){.es-u-hero.flip>.es-u-art{order:0}.es-u-head.es-center .es-u-brand{width:auto;margin-inline-end:auto}.es-u-head.es-center .es-in{justify-content:space-between}}

.es-u-promise{padding:64px 0}
.es-u-pr-big{font-family:var(--serif);font-size:clamp(28px,4.4vw,52px);line-height:1.15;max-width:24ch;margin:0 0 14px;text-wrap:balance}
.es-u-pr-sm{color:var(--mut);max-width:58ch;font-size:18px;margin:0}
.art-cap{margin:12px 0 0;color:var(--mut);font-size:13px}
/* BOEKJE — Het Huisboekje, Eindhoven blue notebook */
html[data-v=boekje]{--rad:6px}
html[data-v=boekje] h1,html[data-v=boekje] h2,html[data-v=boekje] h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
html[data-v=boekje] .es-u-hero h1{font-size:clamp(42px,6.4vw,78px);line-height:1.04}
html[data-v=boekje] .es-u-head{border-bottom:1px solid var(--line);box-shadow:0 3px 0 var(--acc)}
html[data-v=boekje] .es-u-feat{background:var(--card);border:1px solid var(--line);border-inline-start:6px solid var(--acc)}
html[data-v=boekje] .es-u-feat i{color:var(--acc)}
html[data-v=boekje] .es-u-free{background:var(--acc)}
html[data-v=boekje] .es-u-step{border-top:1px solid var(--acc)}
html[data-v=boekje] .es-u-step b{font-family:var(--serif);font-size:34px;color:var(--acc2)}
html[data-v=boekje] .es-u-art{background:var(--acc);border:0;padding:14px 14px 14px 28px;position:relative}
html[data-v=boekje] .es-u-art::before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:6px;background:repeating-linear-gradient(var(--card) 0 6px,transparent 6px 18px)}
.art-boek{background:var(--card);padding:20px 18px;font-family:var(--sans);background-image:linear-gradient(transparent 39px,var(--line) 39px 40px);background-size:100% 40px}
.art-boek h4{margin:0;height:40px;font-family:var(--serif);font-weight:500;font-size:22px;display:flex;align-items:center}
.art-boek div{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;height:40px;align-items:center}
.art-boek b{color:var(--acc);font-weight:700}
.art-boek em{font-style:normal;font-size:12px;color:var(--acc2);font-weight:700}
/* VAKMAN — Komt de Vakman, workwear orange */
html[data-v=vakman]{--rad:14px}
html[data-v=vakman] h1,html[data-v=vakman] h2,html[data-v=vakman] h3{font-family:var(--serif);font-weight:800;letter-spacing:-.02em;line-height:1.02}
html[data-v=vakman] .es-u-hero h1{font-size:clamp(44px,7vw,86px)}
html[data-v=vakman] .es-u-btn,html[data-v=vakman] .es-lf-btn,html[data-v=vakman] .es-cc-b{border-radius:999px;font-weight:700}
html[data-v=vakman] .es-u-feat{border:0;background:var(--card);box-shadow:0 10px 30px rgba(30,30,40,.08)}
html[data-v=vakman] .es-u-feat i{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--acc);color:var(--acc-ink)}
html[data-v=vakman] .es-u-free{background:var(--ink);color:var(--bg)}
html[data-v=vakman] .es-u-free h2{color:var(--bg)}
html[data-v=vakman] .es-u-free li i{color:var(--acc)}
html[data-v=vakman] .es-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=vakman] .es-u-step b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
html[data-v=vakman] .es-u-step b::before{content:"" counter(st)}
html[data-v=vakman] .es-u-art{background:transparent;border:0;padding:0}
.art-visit{background:var(--card);border-radius:20px;padding:22px;box-shadow:0 18px 40px rgba(30,30,40,.12);font-family:var(--sans);display:grid;gap:14px}
.art-visit header{display:flex;gap:12px;align-items:center}
.art-visit header i{width:48px;height:48px;border-radius:50%;background:var(--acc);display:grid;place-items:center;font-size:24px;color:var(--acc-ink)}
.art-visit header b{display:block;font-size:18px}
.art-visit header small{color:var(--mut)}
.art-visit .t{display:flex;gap:8px;flex-wrap:wrap}
.art-visit .t span{padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--acc) 14%,var(--card));font-weight:600;font-size:14px}
.art-visit p{margin:0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ink) 5%,var(--card));font-size:14px}
.art-visit p b{display:block;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
/* ZATERDAG — Onderhoud op Zaterdag, seasons */
html[data-v=zaterdag]{--rad:20px}
html[data-v=zaterdag] h1,html[data-v=zaterdag] h2,html[data-v=zaterdag] h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
html[data-v=zaterdag] .es-u-feat{border:0;background:var(--card);border-radius:var(--rad)}
html[data-v=zaterdag] .es-u-feat:nth-child(1) i{color:#5f8f3e}
html[data-v=zaterdag] .es-u-feat:nth-child(2) i{color:#d8902a}
html[data-v=zaterdag] .es-u-feat:nth-child(3) i{color:#2f6f9e}
html[data-v=zaterdag] .es-u-free{background:var(--acc)}
html[data-v=zaterdag] .es-u-step{border-top:3px solid var(--acc2)}
html[data-v=zaterdag] .es-u-step b{font-family:var(--serif);font-size:34px;color:var(--acc)}
html[data-v=zaterdag] .es-u-art{background:transparent;border:0;padding:0}
.art-seasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-family:var(--sans)}
.art-seasons div{border-radius:18px;padding:16px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;color:#16231a}
.art-seasons div:nth-child(1){background:#d9ecc6}.art-seasons div:nth-child(2){background:#f7e3a8}.art-seasons div:nth-child(3){background:#f2c9a3}.art-seasons div:nth-child(4){background:#cfe0ef}
.art-seasons b{font-family:var(--serif);font-size:22px;font-weight:600}
.art-seasons small{font-size:13px;line-height:1.35}
/* PROBEREN — Nog Even Proberen, countdown */
html[data-v=proberen]{--rad:24px}
html[data-v=proberen] h1,html[data-v=proberen] h2,html[data-v=proberen] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.035em}
html[data-v=proberen] .es-u-hero h1{font-size:clamp(46px,7.2vw,90px);line-height:.98}
html[data-v=proberen] .es-u-btn,html[data-v=proberen] .es-lf-btn,html[data-v=proberen] .es-cc-b{border-radius:999px}
html[data-v=proberen] .es-u-feat{border:0;background:var(--card)}
html[data-v=proberen] .es-u-feat i{color:var(--acc)}
html[data-v=proberen] .es-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=proberen] .es-u-free h2,html[data-v=proberen] .es-u-free li i{color:var(--acc-ink)}
html[data-v=proberen] .es-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=proberen] .es-u-step b{font-family:var(--serif);font-size:46px;color:var(--acc2)}
html[data-v=proberen] .es-u-step b::before{content:"" counter(st)}
html[data-v=proberen] .es-u-art{background:var(--card);border:0}
.art-count{font-family:var(--sans);display:grid;gap:16px;text-align:center}
.art-count .n{font-family:var(--serif);font-weight:700;font-size:clamp(90px,12vw,140px);line-height:.9;color:var(--acc2)}
.art-count .n small{display:block;font-family:var(--sans);font-size:16px;font-weight:600;color:var(--mut);margin-top:6px}
.art-count .d{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px}
.art-count .d i{height:22px;border-radius:6px;background:var(--acc)}
.art-count .d i.o{background:color-mix(in srgb,var(--ink) 10%,var(--card))}
.art-count p{margin:0;color:var(--mut);font-size:14px}
/* SEINTJE — Eerst een Seintje, signal flag */
html[data-v=seintje]{--rad:3px}
html[data-v=seintje] h1,html[data-v=seintje] h2,html[data-v=seintje] h3{font-family:var(--serif);font-weight:600;letter-spacing:.005em;text-transform:uppercase;line-height:.98}
html[data-v=seintje] .es-u-hero h1{font-size:clamp(48px,7.6vw,96px)}
html[data-v=seintje] .es-u-head{border-bottom:4px solid var(--acc)}
html[data-v=seintje] .es-u-btn,html[data-v=seintje] .es-lf-btn,html[data-v=seintje] .es-cc-b{border-radius:3px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
html[data-v=seintje] .es-u-feat{background:var(--card);border-color:var(--line);border-top:4px solid var(--acc)}
html[data-v=seintje] .es-u-feat i{color:var(--acc)}
html[data-v=seintje] .es-u-free{background:var(--card);color:var(--ink);border:1px solid var(--acc)}
html[data-v=seintje] .es-u-free h2{color:var(--ink)}
html[data-v=seintje] .es-u-step{border-top:4px solid var(--acc)}
html[data-v=seintje] .es-u-step b{font-family:var(--serif);font-size:40px;color:var(--acc)}
html[data-v=seintje] .es-map{filter:invert(.92) hue-rotate(180deg) saturate(.5)}
html[data-v=seintje] .es-doc p,html[data-v=seintje] .es-doc li{color:var(--ink)}
html[data-v=seintje] .es-u-btn.es-ghost{color:var(--ink)}
html[data-v=seintje] .es-u-art{background:var(--card);border:1px solid var(--line)}
.es-art-flag{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;font-family:var(--sans)}
.es-art-flag .es-f{position:relative;height:170px}
.es-art-flag .es-f::before{content:"";position:absolute;left:12px;top:0;bottom:0;width:5px;border-radius:2px;background:var(--mut)}
.es-art-flag .es-f i{position:absolute;left:17px;top:8px;width:96px;height:64px;background:linear-gradient(135deg,var(--acc) 50%,var(--ink) 50%);clip-path:polygon(0 0,100% 0,82% 50%,100% 100%,0 100%)}
.es-art-flag b{display:block;font-family:var(--serif);font-size:40px;text-transform:uppercase;line-height:1}
.es-art-flag small{display:block;color:var(--mut);margin-top:8px}

:root{--bg:#10141c;--ink:#edf0f5;--mut:#a4adbd;--card:#171d29;--line:#252d3c;--acc:#ffd23f;--acc-ink:#10141c;--serif:"Oswald",system-ui,sans-serif;--sans:"Source Sans 3",system-ui,sans-serif}
a{color:var(--acc)}