*,*::before,*::after{box-sizing:border-box}
:root{
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --paper:#FBF8F1;
  --surface:#FFFFFF;
  --band:#F3EFE2;
  --ink:#16201B;
  --muted:#5E6B63;
  --line:#DED8C8;
  --accent:#0F5A3C;
  --accent-soft:#E7EFE8;
  --amber:#EF9C12;
  --bandsolid:#0F5A3C;
  --bandsolid-ink:#FFFFFF;
  --bandsolid-lbl:#A8CBB8;
  --danger:#B3261E;
  --eu-ink:#003399;
  --shadow:0 1px 2px rgba(22,32,27,.05),0 10px 26px -18px rgba(22,32,27,.35);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0E1411;--surface:#16201A;--band:#121A15;--ink:#E9EEE9;--muted:#9FB0A6;
    --line:#27332C;--accent:#6FC79B;--accent-soft:#172C21;--amber:#F0AC3D;
    --bandsolid:#15402C;--bandsolid-ink:#E8F3EC;--bandsolid-lbl:#8FBFA4;--danger:#F2B8B5;--eu-ink:#FFFFFF;
    --shadow:0 1px 2px rgba(0,0,0,.45),0 12px 30px -20px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0E1411;--surface:#16201A;--band:#121A15;--ink:#E9EEE9;--muted:#9FB0A6;
  --line:#27332C;--accent:#6FC79B;--accent-soft:#172C21;--amber:#F0AC3D;
  --bandsolid:#15402C;--bandsolid-ink:#E8F3EC;--bandsolid-lbl:#8FBFA4;--danger:#F2B8B5;--eu-ink:#FFFFFF;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 12px 30px -20px rgba(0,0,0,.9);
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Figtree,"Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:1.0625rem;line-height:1.55;
}
img{max-width:100%;display:block;height:auto}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:from-font}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--amber);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4,.ui{font-family:Archivo,"Segoe UI",system-ui,sans-serif}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

body:not([data-lang="en"]) [lang="en"]{display:none!important}
body[data-lang="en"] [lang="nl"]{display:none!important}

.wrap{max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}
.measure{max-width:37rem}
.eyebrow{font-family:Archivo,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin:0 0 1rem}

/* ---- ribbon + top bar ---- */
.ribbon{display:flex;height:6px}
.ribbon i{display:block;height:100%}
.ribbon i:first-child{background:var(--bandsolid);flex:0 0 62%}
.ribbon i:last-child{background:var(--amber);flex:1}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:color-mix(in srgb,var(--paper) 90%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
@media (max-width:760px){.topbar{position:static}}
.bar{display:flex;align-items:center;gap:1rem;min-height:56px;flex-wrap:wrap;padding-block:.5rem}
.mark{font-family:Archivo,sans-serif;font-weight:700;letter-spacing:-.015em;font-size:.86rem;
  display:flex;align-items:center;gap:.5rem;margin-right:auto;color:var(--accent);line-height:1.15}
.mark .egg{width:14px;height:18px;flex:none}
.bar nav{display:flex;gap:1.05rem;flex-wrap:wrap}
.bar nav a{font-family:Archivo,sans-serif;font-size:.82rem;font-weight:600;color:var(--muted);
  text-decoration:none}
.bar nav a:hover{color:var(--ink);text-decoration:underline}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex:none}
.lang button{font-family:Archivo,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.06em;
  padding:.28rem .62rem;border:0;background:transparent;color:var(--muted);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--accent);color:var(--paper)}
:root[data-theme="dark"] .lang button[aria-pressed="true"]{color:#0E1411}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .lang button[aria-pressed="true"]{color:#0E1411}}

/* ---- hero ---- */
.hero{padding-block:clamp(2.4rem,6vw,4.2rem) clamp(1.5rem,3vw,2.2rem)}
h1{font-size:clamp(2.4rem,7.4vw,4.6rem);font-weight:800;letter-spacing:-.035em;
  line-height:.98;color:var(--accent);max-width:16ch}
.lede{font-size:clamp(1.05rem,2.1vw,1.35rem);line-height:1.35;margin-top:1.2rem;
  color:var(--muted);font-weight:500;max-width:46ch}
.herorow{display:flex;gap:clamp(1.5rem,4vw,3rem);align-items:flex-end}
.heroegg{width:clamp(96px,14vw,168px);flex:none;margin-left:auto;align-self:center}
@media (max-width:640px){.heroegg{display:none}}

/* ---- funding strip ---- */
.funding{background:var(--surface);border:1px solid var(--line);border-radius:6px;
  margin-top:clamp(1.8rem,4vw,2.6rem);box-shadow:var(--shadow);overflow:hidden}
.funding .logos{display:flex;gap:clamp(.9rem,2.4vw,1.6rem);align-items:center;flex-wrap:wrap;
  padding:1rem 1.1rem}
.eu-unit{display:flex;gap:.7rem;align-items:center}
.euflag{width:82px;flex:none;border-radius:2px;display:block}
.eu-unit .ftxt{font-family:Archivo,sans-serif;font-size:.78rem;font-weight:700;line-height:1.25;
  color:var(--eu-ink)}
.logoslot{display:flex;align-items:center;min-height:40px}
.logoslot img{max-height:40px;width:auto;background:#fff;border-radius:3px;padding:3px 6px}
.logoslot .ph{font-family:Archivo,sans-serif;line-height:1.15;color:var(--muted)}
.logoslot .ph b{display:block;font-size:.85rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.logoslot .ph span{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.fund-sentence{font-family:Archivo,sans-serif;font-size:.8rem;line-height:1.45;margin:0;
  padding:.7rem 1.1rem;border-top:1px solid var(--line);background:var(--band);color:var(--muted)}
.fund-sentence b{color:var(--ink)}

/* ---- sections ---- */
section{scroll-margin-top:72px}
.band{background:var(--band);border-block:1px solid var(--line)}
.sec{padding-block:clamp(2.4rem,5.5vw,4rem)}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:800;letter-spacing:-.028em;line-height:1.08;
  color:var(--accent)}
.h2row{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.7rem;
  border-bottom:1px solid var(--line);padding-bottom:.85rem;flex-wrap:wrap}
.h2row .count{font-family:Archivo,sans-serif;font-size:.72rem;font-weight:700;color:var(--muted);
  letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-variant-numeric:tabular-nums}
h3{font-size:1rem;font-weight:700;letter-spacing:.01em}

.aimband{background:var(--bandsolid);color:var(--bandsolid-ink);border-radius:6px;
  padding:clamp(1.2rem,3vw,1.9rem) clamp(1.2rem,3vw,2.1rem);margin-bottom:clamp(1.6rem,4vw,2.4rem)}
.aimband .lbl{font-family:Archivo,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--bandsolid-lbl);margin-bottom:.7rem}
.aimband p{font-size:clamp(1rem,1.9vw,1.15rem);line-height:1.45}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;
  margin:clamp(1.4rem,3vw,2rem) 0}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.statcard{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1rem 1rem 1.1rem}
.statcard .n{font-family:Archivo,sans-serif;font-weight:800;color:var(--accent);
  font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.03em;line-height:1}
.statcard .c{font-size:.83rem;line-height:1.35;margin-top:.5rem;color:var(--muted)}

.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));
  gap:clamp(1.4rem,3.5vw,2.8rem)}
.lbl-dark{font-family:Archivo,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.lead-fig{margin:0 0 clamp(1.6rem,4vw,2.4rem);max-width:46rem}
.lead-fig img{border-radius:4px;border:1px solid var(--line);background:var(--surface);width:100%}
.lead-fig figcaption{font-size:.8rem;color:var(--muted);margin-top:.5rem;line-height:1.45;max-width:38rem}

dl.facts{margin:clamp(1.6rem,4vw,2.4rem) 0 0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:6px;overflow:hidden}
@media (max-width:820px){dl.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){dl.facts{grid-template-columns:1fr}}
dl.facts>div{background:var(--surface);padding:.85rem 1rem}
dl.facts dt{font-family:Archivo,sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted)}
dl.facts dd{margin:.25rem 0 0;font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:500}

/* ---- werkpakketten ---- */
ol.wp{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
ol.wp li{background:var(--surface);padding:1.15rem 1.15rem 1.25rem;display:flex;
  flex-direction:column;gap:.38rem}
ol.wp .n{font-family:Archivo,sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.14em;
  color:var(--amber);font-variant-numeric:tabular-nums}
ol.wp .t{font-family:Archivo,sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.015em;line-height:1.2}
ol.wp .lead{font-family:Archivo,sans-serif;font-size:.7rem;font-weight:700;color:var(--accent);
  letter-spacing:.06em;text-transform:uppercase}
ol.wp .d{font-size:.9rem;color:var(--muted);line-height:1.45;margin-top:.1rem;overflow-wrap:break-word}

/* ---- partners ---- */
.partners{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.partners li{background:var(--surface);padding:1.1rem 1rem 1.25rem;display:flex;
  flex-direction:column;gap:.35rem}
@media (max-width:820px){.partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.partners{grid-template-columns:1fr}}
.partners li.support{background:var(--band)}
.partners .role.sup{color:var(--accent)}
.plogo{background:#fff;border-radius:4px;padding:.5rem .6rem;align-self:flex-start;
  display:flex;align-items:center;min-height:50px;margin-bottom:.3rem;border:1px solid #EFEADD}
.plogo img{max-height:34px;width:auto}
.plogo .wordmark{font-family:Archivo,sans-serif;text-align:left;line-height:1;color:#16201B}
.plogo .wordmark b{display:block;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}
.plogo .wordmark span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.18em;
  color:#5E6B63;margin-top:.22rem}
.partners .role{font-family:Archivo,sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amber)}
.partners .org{font-family:Archivo,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:-.015em;
  line-height:1.18}
.partners .place{font-family:Archivo,sans-serif;font-size:.72rem;color:var(--muted);font-weight:600}
.partners .who{font-family:Archivo,sans-serif;font-size:.76rem;font-weight:600;color:var(--accent)}
.partners .what{font-size:.84rem;color:var(--muted);line-height:1.45;overflow-wrap:break-word;hyphens:auto}
.aside{margin-top:1.5rem;font-size:.9rem;color:var(--muted);max-width:46rem}
.aside a{color:var(--accent)}

/* ---- news ---- */
.news{display:flex;flex-direction:column;border-top:1px solid var(--line)}
details.post{border-bottom:1px solid var(--line)}
details.post > summary{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 2rem;
  gap:clamp(1rem,3vw,2.5rem);align-items:baseline;cursor:pointer;list-style:none;
  padding-block:clamp(1rem,2.4vw,1.35rem)}
details.post > summary::-webkit-details-marker{display:none}
details.post > summary::marker{content:""}
details.post > summary:hover h3{text-decoration:underline;text-underline-offset:.16em}
@media (max-width:760px){
  details.post > summary{grid-template-columns:minmax(0,1fr) 2rem;gap:.3rem 1rem;align-items:start}
  .post .when{grid-column:1}
  .post h3{grid-column:1}
  .post .plus{grid-column:2;grid-row:1 / span 2}
}
.post .when{font-family:Archivo,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.post h3{font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:800;letter-spacing:-.025em;
  line-height:1.15;color:var(--accent)}
.post .plus{justify-self:end;align-self:center;position:relative;width:1.7rem;height:1.7rem;
  border:1px solid var(--line);border-radius:50%;background:var(--surface)}
.post .plus::before,.post .plus::after{content:"";position:absolute;inset:50% 26%;
  border-top:2px solid var(--accent)}
.post .plus::after{transform:rotate(90deg);transition:transform .16s ease}
details.post[open] .plus::after{transform:rotate(0deg)}
details.post[open] .plus{border-color:var(--accent)}
.post .pbody{padding:0 0 clamp(1.4rem,3vw,2.1rem)}
@media (min-width:761px){.post .pbody{padding-left:calc(8.5rem + clamp(1rem,3vw,2.5rem))}}
.post figure{margin:0 0 1.1rem}
.post figure img{border-radius:4px;border:1px solid var(--line);background:var(--surface)}
.post figcaption{font-size:.8rem;color:var(--muted);margin-top:.5rem;line-height:1.45}
.post .body{max-width:38rem}
.empty{color:var(--muted);font-style:italic}
.measure ul,.post .body ul{margin:0 0 1em;padding-left:1.15rem;list-style:none}
.measure ul li,.post .body ul li{position:relative;margin-bottom:.4rem}
.measure ul li::before,.post .body ul li::before{content:"";position:absolute;left:-1.15rem;top:.55em;
  width:.5rem;height:.5rem;border-radius:50%;border:2.5px solid var(--amber)}

/* ---- verantwoording ---- */
.eu-block{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.2rem,4vw,2.5rem);
  align-items:start}
@media (max-width:700px){.eu-block{grid-template-columns:1fr}}
.eu-lock{display:flex;flex-direction:column;gap:.55rem}
.eu-block .euflag{width:168px}
.eu-lock .cap{font-family:Archivo,sans-serif;font-size:.8rem;font-weight:700;max-width:168px;
  line-height:1.3;color:var(--ink)}
.fine{font-size:.88rem;color:var(--muted)}
.pull{font-family:Archivo,sans-serif;font-size:1.02rem;font-weight:700;line-height:1.35;
  letter-spacing:-.012em;border-left:3px solid var(--amber);padding-left:.9rem;margin-bottom:1.2rem}

/* ---- footer ---- */
footer{border-top:1px solid var(--line);background:var(--paper)}
.foot{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:baseline;padding-block:2rem 2.5rem;
  font-family:Archivo,sans-serif;font-size:.78rem;color:var(--muted)}
.foot .grow{margin-right:auto}
.foot a{color:var(--muted)}
.foot .contact{color:var(--ink);font-weight:700}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
