
:root{
  color-scheme: dark;
  --bg:#1B2442; --bg-d:#141B33; --bg-l:#232E52;
  --cream:#F2EBDD; --soft:#D9D1C1; --dim:#A3AAC0;
  --koper:#C9A45C; --koper-l:#E0C488; --koper-d:#8A6A2C;
  --line:rgba(242,235,221,.16); --line-k:rgba(201,164,92,.45);
  --paper:#FBF8F2; --ink:#231F1C; --ink-m:#62594d; --rule:#DCD2C0;
  --design:#5E1B25; --geo:#1E3A2F; --ai:#1B2442; --fd:#231F1C;
  --warn:#D98B5F; --ok:#8DBF8A;
  --caslon:"Libre Caslon Display","Libre Caslon Text",Georgia,serif;
  --caslon-t:"Libre Caslon Text",Georgia,serif;
  --sans:"Public Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.6;padding-inline:clamp(16px,4vw,56px);padding-block:0 40px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p,ul,ol{margin:0}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--koper);outline-offset:3px}
.wrap{max-width:1160px;margin-inline:auto}
.label{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--koper)}
em{font-family:var(--caslon-t);font-style:italic;color:var(--koper)}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);color:var(--ink);padding:8px 12px;border-radius:3px;z-index:9}
.skip:focus{left:16px}

.wm{display:grid;color:var(--cream);text-decoration:none}
.wm .het{font-family:var(--caslon-t);font-style:italic;font-size:.42em;line-height:1;margin-bottom:-.06em}
.wm .noun{font-family:var(--caslon);font-size:1em;line-height:.95}
.wm .noun b{font-weight:400;color:var(--koper)}

.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px;border-bottom:1px solid var(--line);position:relative}
.nav .wm{font-size:28px}
.nav ul{display:flex;gap:24px;list-style:none;padding:0;font-size:14px;flex-wrap:wrap;margin:0}
.nav ul a{text-decoration:none;color:var(--soft);transition:color .2s ease;padding-block:4px;border-bottom:1px solid transparent}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--cream);border-bottom-color:var(--koper)}
.nav .cta{font-size:14px;font-weight:500;text-decoration:none;border:1px solid var(--line-k);padding:8px 14px;border-radius:3px;color:var(--koper-l);transition:background .2s ease;white-space:nowrap}
.nav .cta:hover{background:rgba(201,164,92,.12)}
.nav .menu{display:none;font:inherit;font-size:14px;background:none;border:1px solid var(--line);color:var(--cream);padding:8px 12px;border-radius:3px;cursor:pointer}
@media (max-width:860px){
  .nav .menu{display:inline-block}
  .nav ul{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--line);padding-top:8px}
  .nav.open ul{display:flex}
  .nav ul li a{display:block;padding-block:10px;border-bottom:1px solid var(--line)}
  .nav .cta{order:-1;margin-left:auto}
}

.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);padding-block:clamp(40px,7vw,88px) clamp(48px,7vw,88px);align-items:center}
@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero h1{font-family:var(--caslon);font-size:clamp(38px,5.6vw,68px);line-height:1.03;letter-spacing:-.01em;margin-top:14px}
.hero .lead{margin-top:22px;font-size:18px;max-width:48ch;color:var(--soft)}
.hero .where{margin-top:26px;font-family:var(--mono);font-size:12.5px;color:var(--dim)}
.hero.solo{grid-template-columns:minmax(0,1fr);padding-block:clamp(36px,6vw,72px) clamp(28px,4vw,48px)}
.hero.solo .lead{max-width:60ch}

.card{background:var(--paper);color:var(--ink);border-radius:4px;padding:28px 26px 24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.card h2{font-family:var(--caslon);font-size:27px;line-height:1.1}
.card .sub{font-size:14.5px;color:var(--ink-m);margin-top:8px}
.card ul.inc{list-style:none;padding:0;margin-top:16px;display:grid;gap:8px;font-size:14px;color:#3f3932}
.card ul.inc li{display:grid;grid-template-columns:14px 1fr;gap:8px}
.card ul.inc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--koper);margin-top:.6em}
form{display:grid;gap:12px;margin-top:20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.frow{grid-template-columns:minmax(0,1fr)}}
form label{display:grid;gap:5px;font-size:12.5px;font-weight:500;color:var(--ink-m)}
form input,form select,form textarea{font:inherit;font-size:15px;background:#fff;border:1px solid var(--rule);color:var(--ink);border-radius:3px;padding:11px 13px;width:100%;max-width:100%;min-width:0}
form textarea{min-height:92px;resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--koper-d);box-shadow:0 0 0 3px rgba(201,164,92,.25)}
form input:user-invalid{border-color:#B8643E}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.consent{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:13px;color:var(--ink-m);font-weight:400}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--koper-d)}
.consent a{color:var(--ink)}
.btn{font:inherit;font-size:15px;font-weight:600;background:var(--bg);color:var(--cream);border:0;border-radius:3px;padding:14px 20px;cursor:pointer;display:inline-flex;justify-content:center;gap:10px;text-decoration:none;transition:background .2s ease,transform .2s ease}
.btn:hover{background:var(--bg-l)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn.light{background:var(--cream);color:var(--bg)}
.btn.light:hover{background:#fff}
.fine{font-size:12.5px;color:var(--ink-m)}
.fout{font-size:14px;color:#8A3A22;border-left:2px solid #B8643E;padding-left:12px}
.card.dark{background:var(--bg-d);color:var(--cream);box-shadow:none;border:1px solid var(--line)}
.card.dark h2{color:var(--cream)}
.card.dark .sub,.card.dark .fine,.card.dark label,.card.dark .consent{color:var(--dim)}
.card.dark .consent a{color:var(--cream)}
.card.dark input,.card.dark select,.card.dark textarea{background:var(--bg);border-color:var(--line);color:var(--cream)}
.card.dark .btn{background:var(--cream);color:var(--bg)}
.card.dark .btn:hover{background:#fff}

section{padding-block:clamp(48px,7vw,88px);border-top:1px solid var(--line)}
section.first{border-top:0;padding-top:clamp(20px,3vw,32px)}
.sh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:40px}
@media (max-width:820px){.sh{grid-template-columns:minmax(0,1fr)}}
.sh h2{font-family:var(--caslon);font-size:clamp(30px,4vw,50px);line-height:1.04}
.sh p{color:var(--soft);max-width:52ch}
.sh.one{grid-template-columns:minmax(0,1fr)}

.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.2fr);gap:12px 32px;padding-block:28px;border-bottom:1px solid var(--line)}
@media (max-width:820px){.row{grid-template-columns:48px 1fr}.row ul{grid-column:2}}
.row .n{font-family:var(--caslon);font-size:40px;line-height:1;color:var(--koper)}
.row h3{font-family:var(--caslon);font-size:27px;line-height:1.1}
.row h3 a{text-decoration:none;transition:color .2s ease}
.row h3 a:hover{color:var(--koper-l)}
.row p{font-size:15px;color:var(--soft);margin-top:8px;max-width:40ch}
.row ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-content:start}
.row li{font-size:13.5px;border:1px solid var(--line);border-radius:2px;padding:6px 10px;color:var(--soft)}
.row .more{font-family:var(--mono);font-size:12.5px;color:var(--koper-l);margin-top:12px;display:inline-block}
p.ref,.ref{font-size:13.5px;color:var(--dim);margin-top:12px;padding-left:12px;border-left:1px solid var(--koper)}
.ref a,.scan a,.prose a{color:var(--koper-l);text-decoration:underline;text-underline-offset:3px}

.xs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:820px){.xs{grid-template-columns:minmax(0,1fr)}}
.xb{display:grid;gap:12px;align-content:start;padding:28px 26px 24px;border-radius:4px;border:1px solid var(--line);text-decoration:none;transition:transform .25s ease,border-color .25s ease;color:var(--cream)}
.xb:hover{transform:translateY(-3px);border-color:var(--line-k)}
.xb .wm{font-size:34px;margin-bottom:6px}
.xb h3{font-family:var(--caslon);font-size:24px;line-height:1.15}
.xb p{font-size:15px;color:var(--soft);max-width:44ch}
.xb .go{font-family:var(--mono);font-size:12.5px;color:var(--koper-l);margin-top:6px}
.scan{margin-top:22px;font-size:15px;color:var(--soft)}
.b-design{background:var(--design)}.b-geo{background:var(--geo)}.b-ai{background:var(--ai)}.b-fd{background:var(--fd)}

.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
@media (max-width:900px){.why{grid-template-columns:minmax(0,1fr)}}
.why div{padding:28px 28px 28px 0;display:grid;gap:10px;align-content:start}
.why div+div{padding-left:28px;border-left:1px solid var(--line)}
@media (max-width:900px){.why div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.why h3{font-family:var(--caslon);font-size:28px;line-height:1.1}
.why p{font-size:15px;color:var(--soft);max-width:40ch}

.flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;align-items:start}
@media (max-width:820px){.flow{grid-template-columns:minmax(0,1fr)}}
.flow blockquote{margin:0;font-family:var(--caslon-t);font-style:italic;font-size:clamp(24px,2.8vw,34px);line-height:1.3;color:var(--cream)}
.flow ol{list-style:none;padding:0;display:grid;gap:22px;counter-reset:s}
.flow li{display:grid;grid-template-columns:40px 1fr;gap:14px;counter-increment:s}
.flow li::before{content:counter(s);font-family:var(--caslon);font-size:30px;line-height:1;color:var(--koper)}
.flow li b{display:block;font-weight:600;color:var(--cream);margin-bottom:2px}
.flow li span{color:var(--soft);font-size:15px}

.tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}
@media (max-width:900px){.tl{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tl{grid-template-columns:minmax(0,1fr)}}
.tl div{padding:24px 22px;display:grid;gap:8px;align-content:start;border-right:1px solid var(--line)}
.tl div:nth-child(even){background:var(--bg-l)}
.tl div:last-child{border-right:0}
.tl time{font-family:var(--mono);font-size:13px;color:var(--koper-l)}
.tl h3{font-family:var(--caslon);font-size:22px;line-height:1.15}
.tl p{font-size:14.5px;color:var(--soft)}
.note{margin-top:16px;font-family:var(--mono);font-size:11.5px;color:var(--dim)}

.bureaus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.bureaus{grid-template-columns:minmax(0,1fr)}}
.bureau{display:grid;grid-template-rows:auto 1fr auto;gap:18px;padding:30px 26px 24px;border-radius:4px;text-decoration:none;min-height:300px;border:1px solid var(--line);transition:transform .25s ease,border-color .25s ease;color:var(--cream)}
.bureau:hover{transform:translateY(-3px);border-color:var(--line-k)}
.bureau .wm{font-size:46px}
.bureau p{color:var(--soft);font-size:15px;max-width:34ch}
.bureau .go{font-family:var(--mono);font-size:12.5px;color:var(--koper-l)}

.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.path::before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:var(--line-k)}
@media (max-width:820px){.path{grid-template-columns:1fr 1fr;gap:28px 0}.path::before{display:none}}
@media (max-width:480px){.path{grid-template-columns:minmax(0,1fr)}}
.path div{padding-right:24px;display:grid;gap:10px;align-content:start;position:relative}
.path .dot{width:44px;height:44px;border-radius:50%;border:1px solid var(--koper);background:var(--bg);display:grid;place-items:center;font-family:var(--caslon);font-size:22px;color:var(--koper)}
.path h3{font-family:var(--caslon);font-size:25px}
.path p{font-size:14.5px;color:var(--soft)}
.path small{font-family:var(--mono);font-size:11.5px;color:var(--koper-l)}
.path small a{text-decoration:none}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px 64px}
@media (max-width:820px){.about{grid-template-columns:minmax(0,1fr)}}
.about h2{font-family:var(--caslon);font-size:clamp(30px,3.6vw,44px);line-height:1.05}
.about div{display:grid;gap:14px;color:var(--soft);max-width:58ch}

.close{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
@media (max-width:820px){.close{grid-template-columns:minmax(0,1fr)}}
.close h2{font-family:var(--caslon);font-size:clamp(32px,4.4vw,56px);line-height:1.02}
.close p{color:var(--soft);margin-top:16px;max-width:46ch}
.addr{display:grid;gap:4px;font-family:var(--mono);font-size:13.5px;color:var(--koper-l);margin-top:20px}
.addr span{user-select:all}
.addr a{text-decoration:none}

/* geobureau */
.report{background:var(--paper);color:var(--ink);border-radius:4px;padding:26px 26px 22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);display:grid;gap:18px}
.report .rh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:14px;flex-wrap:wrap}
.report .rh span{font-family:var(--mono);font-size:11px;color:var(--ink-m);letter-spacing:.06em}
.report .rh b{font-family:var(--caslon);font-weight:400;font-size:20px}
.score{display:flex;align-items:baseline;gap:10px}
.score strong{font-family:var(--caslon);font-weight:400;font-size:76px;line-height:.9;color:#9A4A2A;font-variant-numeric:tabular-nums}
.score span{font-family:var(--mono);font-size:13px;color:var(--ink-m)}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:minmax(0,1fr) 110px 34px;gap:12px;align-items:center;font-size:13.5px}
.bar .t{height:6px;background:#EDE5D6;border-radius:3px;overflow:hidden}
.bar .t i{display:block;height:100%;background:var(--geo)}
.bar .t i.lo{background:#B8643E}
.bar em{font-style:normal;font-family:var(--mono);font-size:12px;text-align:right;color:var(--ink-m);font-variant-numeric:tabular-nums}
.report .find{font-size:13.5px;background:#F4ECDD;border-radius:3px;padding:12px 14px;color:#4a4232}
.report .find b{font-weight:600}
.report .ex{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-m)}
.what{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;align-items:start}
@media (max-width:820px){.what{grid-template-columns:1fr}}
.what .txt{display:grid;gap:16px;color:var(--soft);max-width:56ch}
.what .txt strong{color:var(--cream);font-weight:600}
.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}
@media (max-width:520px){.vs{grid-template-columns:1fr}}
.vs div{padding:22px;display:grid;gap:10px;align-content:start}
.vs div+div{border-left:1px solid var(--line);background:var(--bg-l)}
@media (max-width:520px){.vs div+div{border-left:0;border-top:1px solid var(--line)}}
.vs h3{font-family:var(--caslon);font-size:24px}
.vs p{font-size:14.5px;color:var(--soft)}
.q{font-family:var(--mono);font-size:12.5px;color:var(--koper-l);border-left:2px solid var(--koper);padding-left:12px;margin-top:6px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}
.facts div{padding:24px 24px 24px 0;display:grid;gap:10px;align-content:start;border-bottom:1px solid var(--line)}
.facts strong{font-family:var(--caslon);font-weight:400;font-size:52px;line-height:1;color:var(--koper);font-variant-numeric:tabular-nums}
.facts p{font-size:14.5px;color:var(--soft)}
.facts cite{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--dim);line-height:1.5}
.facts cite a{color:var(--koper-l);text-decoration:none}
.early{margin-top:28px;font-family:var(--caslon-t);font-style:italic;font-size:clamp(20px,2.2vw,26px);line-height:1.35;max-width:52ch;color:var(--cream)}
.fit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
@media (max-width:900px){.fit{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fit{grid-template-columns:1fr}}
.fit div{padding:22px 22px 22px 0;display:grid;gap:8px;align-content:start;border-bottom:1px solid var(--line)}
.fit h3{font-family:var(--caslon);font-size:23px;line-height:1.1}
.fit p{font-size:14.5px;color:var(--soft)}
.fit .mk{font-family:var(--mono);font-size:12px;color:var(--ok)}
.finds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media (max-width:900px){.finds{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.finds{grid-template-columns:1fr}}
.finds div{background:var(--bg);padding:26px 24px;display:grid;gap:10px;align-content:start}
.finds code{font-family:var(--mono);font-size:12px;color:var(--koper-l)}
.finds h3{font-family:var(--caslon);font-size:24px;line-height:1.1}
.finds p{font-size:14.5px;color:var(--soft)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.step{display:grid;gap:10px;align-content:start;border-top:2px solid var(--koper);padding-top:18px}
.step .n{font-family:var(--caslon);font-size:52px;line-height:1;color:var(--koper)}
.step h3{font-family:var(--caslon);font-size:26px;line-height:1.1}
.step p{font-size:15px;color:var(--soft)}
.step .dur{font-family:var(--mono);font-size:12px;color:var(--dim)}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
@media (max-width:900px){.prices{grid-template-columns:1fr}}
.pk{border:1px solid var(--line);border-radius:4px;padding:28px 26px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:14px}
.pk.main{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.pk .tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--koper)}
.pk.main .tag{color:#8A6A2C}
.pk h3{font-family:var(--caslon);font-size:30px;line-height:1.05}
.pk .amt{font-family:var(--caslon);font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}
.pk .amt small{font-family:var(--mono);font-size:12px;color:var(--dim);display:block;margin-top:4px;letter-spacing:.02em}
.pk.main .amt small{color:var(--ink-m)}
.pk ul{list-style:none;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--soft);align-content:start}
.pk.main ul{color:#3f3932}
.pk li{display:grid;grid-template-columns:14px 1fr;gap:8px}
.pk li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--koper);margin-top:.6em}
.pk .for{font-size:13.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:12px}
.pk.main .for{color:var(--ink-m);border-color:var(--rule)}
.pnote{margin-top:18px;color:var(--dim)}
.month{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}
@media (max-width:820px){.month{grid-template-columns:1fr}}
.month div{padding:26px 24px;display:grid;gap:12px;align-content:start;border-right:1px solid var(--line)}
.month div:last-child{border-right:0}
@media (max-width:820px){.month div{border-right:0;border-bottom:1px solid var(--line)}.month div:last-child{border-bottom:0}}
.month .wk{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--koper)}
.month h3{font-family:var(--caslon);font-size:24px}
.month ul{list-style:none;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--soft)}
.month li{padding-left:16px;position:relative}
.month li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--koper)}
form.scanform{margin-top:30px;display:grid;gap:10px;max-width:560px}
.scanform label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.scanform input,.scanform select,.scanform textarea{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;background:var(--bg-d);border:1px solid var(--line);color:var(--cream);border-radius:3px;padding:12px 14px;width:100%}
.scanform input::placeholder{color:#7F8C7F}
.scanform input:focus,.scanform select:focus,.scanform textarea:focus{outline:none;border-color:var(--koper);box-shadow:none}
.scanform .btn{background:var(--cream);color:var(--bg)}
.scanform .btn:hover{background:#fff}
.scanform .fine,.scanform .consent{color:var(--dim);font-family:var(--sans);text-transform:none;letter-spacing:0}
.scanform .consent a{color:var(--cream)}
.scanform .fout{color:#E8A98A;border-color:#E8A98A}

/* subpagina's */
.crumbs{font-family:var(--mono);font-size:12px;color:var(--dim);padding-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--cream)}
.prose{max-width:68ch;color:var(--soft);font-size:17px;display:grid;gap:18px}
.prose h2{font-family:var(--caslon);font-size:clamp(26px,3vw,34px);line-height:1.1;color:var(--cream);margin-top:18px}
.prose h3{font-family:var(--caslon);font-size:23px;line-height:1.15;color:var(--cream);margin-top:8px}
.prose strong{color:var(--cream);font-weight:600}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:8px}
.prose blockquote{margin:0;padding-left:18px;border-left:2px solid var(--koper);font-family:var(--caslon-t);font-style:italic;font-size:20px;color:var(--cream)}
.prose code{font-family:var(--mono);font-size:.9em;color:var(--koper-l)}
.prose table{border-collapse:collapse;width:100%;font-size:15px}
.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{color:var(--cream);font-weight:600}
.prose ol.onderdelen{list-style:none;padding:0;gap:0;border-top:1px solid var(--line)}
.onderdelen li{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
.onderdelen .nr{font-family:var(--mono);font-size:13px;color:var(--koper-l);padding-top:6px;letter-spacing:.08em}
.onderdelen h3{margin:0 0 6px;font-size:21px}
.onderdelen p{margin:0}
.wk ul.gebouwd{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:5px;font-size:14px;color:var(--soft)}
.wk ul.gebouwd li{padding-left:16px;position:relative}
.wk ul.gebouwd li::before{content:'';position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--koper-l)}
.wk ul.gebouwd li.meer{color:var(--koper-l);font-family:var(--mono);font-size:12px;letter-spacing:.04em}
.wk ul.gebouwd li.meer::before{display:none}
.two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px 64px;align-items:start}
@media (max-width:900px){.two{grid-template-columns:minmax(0,1fr)}}
.side{display:grid;gap:22px;align-content:start;position:sticky;top:24px}
.side .box{border:1px solid var(--line);border-radius:4px;padding:22px 22px 20px;display:grid;gap:10px}
.side h3{font-family:var(--caslon);font-size:22px;line-height:1.15}
.side p,.side li{font-size:14.5px;color:var(--soft)}
.side ul{list-style:none;padding:0;display:grid;gap:6px}
.side a{color:var(--koper-l);text-decoration:underline;text-underline-offset:3px}
.side .btn{width:100%}
.meta{font-family:var(--mono);font-size:12px;color:var(--dim);display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.bronnen{margin-top:36px;border-top:1px solid var(--line);padding-top:18px;font-size:14px;color:var(--dim)}
.bronnen h2{font-family:var(--caslon);font-size:22px;color:var(--cream);margin-bottom:8px}
.bronnen ol{padding-left:20px;display:grid;gap:4px}
.bronnen a{color:var(--koper-l)}
.concept{font-family:var(--mono);font-size:11.5px;color:var(--warn);border:1px solid var(--warn);border-radius:2px;padding:4px 8px;display:inline-block}

/* lijsten */
.list{display:grid;gap:0;border-top:1px solid var(--line)}
.item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px 28px;padding-block:24px;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline;transition:background .2s ease}
.item:hover{background:var(--bg-l)}
@media (max-width:700px){.item{grid-template-columns:minmax(0,1fr)}.item .go{display:none}}
.item time,.item .k{font-family:var(--mono);font-size:12px;color:var(--dim)}
.item h3{font-family:var(--caslon);font-size:25px;line-height:1.15}
.item p{font-size:15px;color:var(--soft);margin-top:6px;max-width:64ch}
.item .go{font-family:var(--mono);font-size:12.5px;color:var(--koper-l)}

.werk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.werk{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.werk{grid-template-columns:minmax(0,1fr)}}
.wk{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:24px 22px 20px;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--cream);transition:transform .25s ease,border-color .25s ease;min-height:240px}
.wk:hover{transform:translateY(-3px);border-color:var(--line-k)}
.wk .logo{height:56px;display:flex;align-items:center}
.wk .logo img{max-height:56px;max-width:170px;width:auto;object-fit:contain}
.wk .logo span{font-family:var(--caslon);font-size:26px;line-height:1}
.wk .sector{font-family:var(--mono);font-size:11.5px;color:var(--dim)}
.wk p{font-size:14.5px;color:var(--soft)}
.wk .tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
.wk .tags li{font-size:12px;border:1px solid var(--line);border-radius:2px;padding:3px 8px;color:var(--soft)}
.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;list-style:none;padding:0}
.filter a{font-family:var(--mono);font-size:12.5px;text-decoration:none;border:1px solid var(--line);border-radius:2px;padding:6px 12px;color:var(--soft);transition:border-color .2s ease}
.filter a:hover,.filter a[aria-current]{border-color:var(--koper);color:var(--koper-l)}
.logo-groot{height:96px;display:flex;align-items:center;margin-bottom:22px}
.logo-groot img{max-height:96px;max-width:280px;object-fit:contain}
.logo-groot span{font-family:var(--caslon);font-size:40px}
dl.feiten{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:15px;margin:0}
dl.feiten dt{font-family:var(--mono);font-size:12px;color:var(--dim);padding-top:3px}
dl.feiten dd{margin:0;color:var(--soft)}
dl.feiten a{color:var(--koper-l)}

.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--caslon);font-size:22px;line-height:1.2;padding-block:20px;display:grid;grid-template-columns:1fr 28px;gap:16px;align-items:center;transition:color .2s ease}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:22px;color:var(--koper);text-align:center;transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--koper-l)}
.faq .a{padding-bottom:22px;color:var(--soft);max-width:66ch;display:grid;gap:10px;font-size:15.5px}
.faq .a a{color:var(--koper-l)}

.bedankt{padding-block:clamp(60px,10vw,120px);max-width:60ch}
.bedankt h1{font-family:var(--caslon);font-size:clamp(38px,5vw,64px);line-height:1.03}
.bedankt p{color:var(--soft);margin-top:20px;font-size:18px}
.bedankt .links{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.bedankt .links a{color:var(--koper-l)}

footer{border-top:1px solid var(--line);padding-block:26px 0;font-size:13px;color:var(--dim);display:grid;gap:18px}
footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:760px){footer .cols{grid-template-columns:minmax(0,1fr)}}
footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--koper);margin-bottom:10px}
footer ul{list-style:none;padding:0;display:grid;gap:5px}
footer a{color:var(--soft);text-decoration:none;transition:color .2s ease}
footer a:hover{color:var(--cream)}
footer .ident{font-family:var(--mono);font-size:11.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer .ident a{color:var(--koper-l)}

/* toestemmingsbanner */
.cb{position:fixed;inset-inline:0;bottom:0;z-index:50;padding:16px;background:rgba(20,17,15,.55);backdrop-filter:blur(4px)}
.cb[hidden]{display:none}
.cb-in{max-width:760px;margin-inline:auto;background:var(--paper);color:var(--ink);border-radius:4px;padding:20px 22px;display:grid;gap:12px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.cb-in p{font-size:14.5px;line-height:1.5}
.cb-in p b{font-family:var(--caslon);font-weight:400;font-size:20px}
.cb-in a{color:var(--ink)}
.cb-knoppen{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cb-knoppen .btn{background:var(--bg);color:var(--cream);font-size:15px;padding:13px 16px;width:100%}
.cb-knoppen .btn:hover{background:var(--bg-l)}
@media (max-width:480px){.cb{padding:8px}.cb-in{padding:16px}}
.prose table.cookies td,.prose table.cookies th{font-size:14px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
