/* ============================================================
   steun.koperhorst.nl, inzamelingsactie zorgbus
   Gebouwd op De Koperhorst design-systeem v2 (tokens 1-op-1).
   Bron van waarheid: Design System/v2/tokens.css + HANDOFF.md.
   ============================================================ */

/* ---- Fonts, self-hosted in child theme ---- */
@font-face{font-family:'Lora';src:url('fonts/Lora-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Lora';src:url('fonts/Lora-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Lora';src:url('fonts/Lora-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Lora';src:url('fonts/Lora-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-VariableFont_wght.ttf') format('truetype');font-weight:200 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-Italic-VariableFont_wght.ttf') format('truetype');font-weight:200 900;font-style:italic;font-display:swap;}
@font-face{font-family:'Material Symbols Rounded';src:url('fonts/MaterialSymbolsRounded.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block;}

:root{
  /* ---- Merkkleuren, exact uit Huisstijlleaflet ---- */
  --c-cacao:#513c29;
  --c-oranje:#ea7a0c;
  --c-wit:#ffffff;
  --c-zand:#f9f6ec;
  --c-goudbruin:#936f48;
  --c-warmbruin:#73533b;

  /* ---- Afgeleide warm-neutralen ---- */
  --c-warmwit:#fffdf7;
  --c-zand-diep:#f1ecd9;
  --c-mist:#e2d8c2;
  --c-rook:#a89982;
  --c-inkt:#2a1f14;
  --c-goud:#d5b859;

  /* ---- Oranje states ---- */
  --oranje-hover:#f39647;
  --oranje-active:#c2640a;

  /* ---- Status ---- */
  --success:#6b8e5a; --warning:#d48b1a; --error:#b5482d; --info:#7a8a9a;

  /* ---- Rolaliassen ---- */
  --primary:var(--c-oranje);
  --primary-hover:var(--oranje-hover);
  --primary-active:var(--oranje-active);
  --on-primary:var(--c-wit);
  --base:var(--c-warmwit);
  --surface:var(--c-zand);
  --surface-deep:var(--c-zand-diep);
  --dark:var(--c-cacao);
  --on-dark:var(--c-zand);
  --ink:var(--c-cacao);
  --ink-soft:var(--c-warmbruin);
  --ink-muted:var(--c-rook);
  --border:var(--c-mist);

  /* ---- Typografie ---- */
  --font-head:'Lora',Georgia,serif;
  --font-body:'Source Sans 3',system-ui,sans-serif;

  --fs-display:clamp(2.7rem, 2.5vw + 1.4rem, 3.75rem);
  --fs-h1:clamp(2.25rem, 2.6vw + 1.1rem, 3.4rem);
  --fs-h2:clamp(1.85rem, 1.6vw + 1rem, 2.65rem);
  --fs-h3:clamp(1.5rem, 0.8vw + 1rem, 1.9rem);
  --fs-h4:1.375rem;
  --fs-lead:1.375rem;   /* 22 */
  --fs-body:1.25rem;    /* 20, verhoogd voor oudere doelgroep */
  --fs-small:1.125rem;  /* 18 */
  --fs-eyebrow:0.875rem;  /* 14 */

  --lh-tight:1.05; --lh-snug:1.25; --lh-body:1.65;
  --tracking-eyebrow:0.12em;

  /* ---- Spacing ---- */
  --sp-1:4px; --sp-2:8px; --sp-3:13px; --sp-4:21px;
  --sp-5:34px; --sp-6:55px; --sp-7:89px; --sp-8:144px;

  /* ---- Radii ---- */
  --r-xs:8px; --r-sm:13px; --r-md:21px; --r-lg:32px; --r-pill:999px;

  /* ---- Schaduwen, warm op Cacao ---- */
  --sh-subtle:0 1px 2px rgba(81,60,42,.06), 0 1px 1px rgba(81,60,42,.04);
  --sh-default:0 8px 24px rgba(81,60,42,.10);
  --sh-heavy:0 22px 50px rgba(81,60,42,.15);

  /* ---- Motion ---- */
  --ease:cubic-bezier(.22,1,.36,1);
  --dur:.55s;

  /* ---- Maatvoering ---- */
  --measure:64ch;
  --content:1400px;
  --content-wide:1600px;
  --gutter:clamp(1.25rem, 4vw, 3.5rem);
}

/* ============================================================
   Basis
   ============================================================ */
body{
  background:var(--base);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-body);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.msr{font-family:'Material Symbols Rounded';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;line-height:1;font-weight:normal;font-style:normal;display:inline-block;}
:focus-visible{outline:2.5px solid var(--primary);outline-offset:3px;border-radius:4px;}
html{font-size:100%;scroll-behavior:smooth;}  /* Bricks zet 62.5%; herstel zodat 1rem = 16px */
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

h1,h2,h3,h4{
  font-family:var(--font-head);font-weight:500;color:var(--ink);
  letter-spacing:-.01em;text-wrap:balance;line-height:var(--lh-snug);
}
.brxe-section{padding-left:var(--gutter);padding-right:var(--gutter);}
.brxe-container{max-width:var(--content);width:100%;}
/* Bricks-containers zijn flex; grid- en tekstblokken moeten de volle breedte pakken */
.brxe-container > .brxe-text,
.brxe-container > .brxe-div,
.brxe-container > .brxe-block,
.brxe-container > .brxe-shortcode{width:100%;min-width:0;}
.doneren-layout > *{min-width:0;}
/* wpautop-restjes uit rich-text-blokken */
.brxe-text p:empty{display:none;margin:0;}

/* ---- Eyebrow met streepje ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--sp-2);line-height:1;
  font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--primary);margin:0 0 var(--sp-3);
}
.eyebrow::before{content:"";width:16px;height:1.5px;background:var(--primary);opacity:.85;transform:translateY(-1px);display:inline-block;}

/* ---- Knoppen ---- */
.btn{
  font-family:var(--font-body);font-weight:700;font-size:1.1875rem;
  line-height:1;cursor:pointer;border:1.5px solid transparent;
  border-radius:var(--r-pill);padding:14px 26px;
  display:inline-flex;align-items:center;gap:var(--sp-2);
  text-decoration:none;
  transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);
}
.btn-primary{background:var(--primary);color:var(--on-primary);}
.btn-primary:hover{background:var(--primary-hover);color:var(--on-primary);}
.btn-primary:active{background:var(--primary-active);transform:translateY(1px);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--c-mist);}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink);}
.btn-groot{font-size:1.25rem;padding:18px 34px;}

/* ---- Tekstlink met pijl ---- */
.textlink{font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:gap .2s var(--ease),color .2s var(--ease);}
.textlink .msr{font-size:20px;color:var(--primary);}
.textlink:hover{color:var(--primary);gap:11px;}

/* ============================================================
   Navigatie
   ============================================================ */
.steun-nav{background:var(--base);border-bottom:1px solid var(--border);}
.steun-nav .brxe-container{
  max-width:var(--content);margin:0 auto;padding:var(--sp-3) 0;
  display:flex;flex-direction:row;align-items:center;gap:var(--sp-5);flex-wrap:nowrap;
}
.steun-nav .brxe-container > *{width:auto;}
.steun-nav .nav-logo{flex:0 0 auto;}
.steun-nav .nav-logo img{height:64px;width:auto;display:block;}
.steun-nav .nav-links{
  margin-left:auto;display:flex;align-items:center;gap:var(--sp-5);
  font-size:1.1875rem;font-weight:500;
}
.steun-nav .nav-links a:not(.btn){position:relative;padding:6px 0;color:var(--ink);text-decoration:none;transition:color .2s var(--ease);}
.steun-nav .nav-links a:not(.btn):hover{color:var(--primary);}
.steun-nav .nav-links a:not(.btn)::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--primary);transition:right .3s var(--ease);
}
.steun-nav .nav-links a:not(.btn):hover::after{right:0;}
@media (max-width:880px){
  .steun-nav .nav-links a:not(.btn){display:none;}
}

/* ============================================================
   Hero met teller
   ============================================================ */
.sectie-hero{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem);}
.sectie-hero .brxe-container{
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.hero-copy h1{font-size:var(--fs-display);line-height:var(--lh-tight);margin:0 0 var(--sp-4);}
.hero-copy .lead{font-size:var(--fs-lead);color:var(--ink-soft);max-width:46ch;margin:0 0 var(--sp-5);}
.hero-acties{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;}
.hero-orgregel{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  font-size:var(--fs-small);color:var(--ink-muted);
  margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border);
}
.hero-orgregel .msr{font-size:20px;color:var(--primary);}
@media (max-width:960px){
  .sectie-hero .brxe-container{grid-template-columns:1fr;}
}

/* ---- Teller-card (shortcode-markup) ---- */
.teller-card{
  background:var(--c-wit);border-radius:var(--r-lg);box-shadow:var(--sh-heavy);
  padding:clamp(1.6rem,3vw,2.8rem);min-width:0;
}
.teller-kop{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;}
.teller-opgehaald .waarde{
  font-family:var(--font-head);font-weight:500;font-size:clamp(2.5rem,3.2vw,3.4rem);
  line-height:1.05;color:var(--ink);display:block;
}
.teller-opgehaald .label{font-size:var(--fs-small);color:var(--ink-muted);}
.teller-doel{text-align:right;}
.teller-doel .label{font-size:var(--fs-small);color:var(--ink-muted);display:block;}
.teller-doel .waarde{font-weight:700;font-size:var(--fs-lead);color:var(--ink);}
.teller-balk{
  margin:var(--sp-4) 0;height:13px;border-radius:var(--r-pill);
  background:var(--surface-deep);overflow:hidden;
}
.teller-balk .vulling{
  height:100%;min-width:13px;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--primary),var(--oranje-hover));
  transition:width .8s var(--ease);
}
.teller-feiten{display:flex;gap:var(--sp-5);flex-wrap:wrap;margin-bottom:var(--sp-4);}
.teller-feit .waarde{font-family:var(--font-head);font-weight:500;font-size:var(--fs-h3);color:var(--ink);display:block;line-height:1.1;}
.teller-feit .label{font-size:var(--fs-small);color:var(--ink-muted);}
.teller-update{
  font-size:var(--fs-small);color:var(--ink-soft);
  background:var(--surface);border-radius:var(--r-sm);
  padding:var(--sp-3) var(--sp-4);
  display:flex;gap:var(--sp-2);align-items:baseline;margin-bottom:var(--sp-4);
}
.teller-update .msr{font-size:19px;color:var(--primary);transform:translateY(3px);}
.teller-card .btn{width:100%;justify-content:center;}

/* ============================================================
   Ons verhaal
   ============================================================ */
.sectie-verhaal{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem);}
.sectie-verhaal .brxe-container{
  display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.verhaal-media{position:relative;min-width:0;}
.verhaal-media img{
  width:100%;height:clamp(340px,42vw,520px);object-fit:cover;
  border-radius:var(--r-lg);box-shadow:var(--sh-heavy);display:block;
}
.verhaal-media::before{
  content:"";position:absolute;inset:0;transform:translate(18px,18px);
  background:linear-gradient(to top left, rgba(249,246,236,1), rgba(249,246,236,0) 70%);
  border-radius:var(--r-lg);z-index:-1;
}
.verhaal-copy h2{font-size:var(--fs-h2);margin:0 0 var(--sp-4);}
.verhaal-copy p{margin:0 0 var(--sp-4);color:var(--ink-soft);max-width:var(--measure);}
.verhaal-copy strong{color:var(--ink);}
@media (max-width:960px){
  .sectie-verhaal .brxe-container{grid-template-columns:1fr;}
  .verhaal-media{order:-1;}
  .verhaal-media img{height:clamp(280px,55vw,420px);}
}

/* ---- Quote-card ---- */
.quote-card{
  background:var(--c-wit);border-left:4px solid var(--primary);
  border-radius:var(--r-sm);box-shadow:var(--sh-default);
  padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-5);
}
.quote-card blockquote{
  margin:0;font-family:var(--font-head);font-style:italic;font-weight:400;
  font-size:var(--fs-lead);line-height:1.5;color:var(--ink);
}
.quote-card figcaption{margin-top:var(--sp-3);font-size:var(--fs-small);color:var(--ink-muted);}

/* ============================================================
   Hoe het werkt / stappen
   ============================================================ */
.sectie-band{background:var(--surface);padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);}
.sectie-kop{max-width:56ch;margin-bottom:var(--sp-6);}
.sectie-kop h2{font-size:var(--fs-h2);margin:0 0 var(--sp-3);}
.sectie-kop p{color:var(--ink-soft);margin:0;}
.stappen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4);}
.stap-card{
  background:var(--c-wit);border-radius:var(--r-md);box-shadow:var(--sh-default);
  padding:var(--sp-5) var(--sp-4);min-width:0;
}
.stap-card .stapnr{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--r-pill);
  background:var(--surface);color:var(--primary);
  font-family:var(--font-head);font-weight:600;font-size:1.25rem;
  margin-bottom:var(--sp-3);
}
.stap-card h3{font-size:var(--fs-h4);margin:0 0 var(--sp-2);}
.stap-card p{margin:0;color:var(--ink-soft);font-size:var(--fs-small);line-height:1.6;}

/* ============================================================
   Besteding
   ============================================================ */
.sectie-besteding{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem);}
.besteding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-4);}
.besteding-card{
  background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-subtle);
  padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;
}
.besteding-card .ic{font-size:32px;color:var(--primary);margin-bottom:var(--sp-2);}
.besteding-card h3{font-size:var(--fs-h4);margin:0;}
.besteding-card p{margin:0;color:var(--ink-soft);font-size:var(--fs-small);line-height:1.6;flex-grow:1;}
.besteding-card .bedrag{
  font-family:var(--font-head);font-weight:500;font-size:var(--fs-h3);color:var(--ink);
  padding-top:var(--sp-3);border-top:1px solid var(--border);
}
.besteding-totaal{
  margin-top:var(--sp-4);display:flex;justify-content:flex-end;align-items:baseline;gap:var(--sp-3);
  font-size:var(--fs-lead);color:var(--ink-soft);
}
.besteding-totaal .waarde{font-family:var(--font-head);font-weight:600;font-size:var(--fs-h3);color:var(--ink);}

/* ============================================================
   Doneren
   ============================================================ */
.sectie-doneren{background:var(--surface);padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem);}
.doneren-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
.bedragen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3);}
.bedrag-card{
  background:var(--c-wit);border:1.5px solid var(--border);border-radius:var(--r-md);
  padding:var(--sp-4);text-align:center;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.bedrag-card:hover{border-color:var(--primary);box-shadow:var(--sh-default);}
.bedrag-card .euro{
  font-family:var(--font-head);font-weight:500;font-size:var(--fs-h3);color:var(--ink);display:block;margin-bottom:var(--sp-1);
}
.bedrag-card .betekenis{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.45;display:block;}
.doneer-paneel{
  background:var(--c-wit);border-radius:var(--r-lg);box-shadow:var(--sh-heavy);
  padding:clamp(1.6rem,3vw,2.5rem);text-align:center;
}
.doneer-paneel h3{font-size:var(--fs-h3);margin:0 0 var(--sp-3);}
.doneer-paneel p{color:var(--ink-soft);font-size:var(--fs-small);margin:0 0 var(--sp-4);}
.doneer-qr{
  width:min(220px,60%);aspect-ratio:1;margin:0 auto var(--sp-4);
  border-radius:var(--r-sm);border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--surface);color:var(--ink-muted);font-size:var(--fs-small);
}
.doneer-qr img{width:100%;height:100%;object-fit:contain;display:block;background:var(--c-wit);}
.doneer-paneel .btn{width:100%;justify-content:center;margin-bottom:var(--sp-3);}
.doneer-klein{font-size:var(--fs-small);color:var(--ink-muted);}
.iban-blok{
  background:var(--surface);border-radius:var(--r-sm);
  padding:var(--sp-4);margin-bottom:var(--sp-4);
  font-size:var(--fs-small);color:var(--ink-soft);line-height:1.8;
}
.iban-blok strong{color:var(--ink);}
.anbi-regel{
  display:flex;align-items:baseline;gap:var(--sp-2);text-align:left;
  font-size:var(--fs-small);color:var(--ink-soft);margin:0 0 var(--sp-3);
}
.anbi-regel .msr{font-size:19px;color:var(--success);transform:translateY(3px);flex-shrink:0;}
.besteding-naschrift{margin-top:var(--sp-3);text-align:right;font-size:var(--fs-small);color:var(--ink-muted);}
.besteding-naschrift a{color:var(--primary);text-decoration:none;}
.besteding-naschrift a:hover{text-decoration:underline;}
@media (max-width:960px){
  .doneren-layout{grid-template-columns:1fr;}
}

/* ============================================================
   Stemmen
   ============================================================ */
.sectie-stemmen{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem);}
.stemmen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-4);}
.stem-card{
  background:var(--c-wit);border-radius:var(--r-md);box-shadow:var(--sh-default);
  padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;min-width:0;
}
.stem-card .msr{font-size:28px;color:var(--primary);margin-bottom:var(--sp-3);}
.stem-card blockquote{
  margin:0 0 var(--sp-3);font-family:var(--font-head);font-style:italic;
  font-size:var(--fs-lead);line-height:1.5;color:var(--ink);flex-grow:1;
}
.stem-card figcaption{font-size:var(--fs-small);color:var(--ink-muted);}

/* ============================================================
   FAQ
   ============================================================ */
.sectie-faq{background:var(--surface);padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);}
.faq-lijst{max-width:820px;}
.faq-lijst details{
  background:var(--c-wit);border-radius:var(--r-sm);box-shadow:var(--sh-subtle);
  margin-bottom:var(--sp-3);padding:0;overflow:hidden;
}
.faq-lijst summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);
  padding:var(--sp-4);font-weight:600;font-size:var(--fs-body);color:var(--ink);
}
.faq-lijst summary::-webkit-details-marker{display:none;}
.faq-lijst summary::after{
  content:"add";font-family:'Material Symbols Rounded';font-size:22px;color:var(--primary);
  transition:transform .25s var(--ease);flex-shrink:0;
}
.faq-lijst details[open] summary::after{content:"remove";}
.faq-lijst details p{margin:0;padding:0 var(--sp-4) var(--sp-4);color:var(--ink-soft);max-width:var(--measure);}

/* ============================================================
   Contact-band
   ============================================================ */
.sectie-contact{padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);text-align:center;}
.sectie-contact h2{font-size:var(--fs-h2);margin:0 0 var(--sp-3);}
.sectie-contact p{color:var(--ink-soft);max-width:52ch;margin:0 auto var(--sp-4);}
.contact-regel{display:flex;justify-content:center;gap:var(--sp-5);flex-wrap:wrap;font-weight:600;}
.contact-regel a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:var(--sp-2);transition:color .2s var(--ease);}
.contact-regel a:hover{color:var(--primary);}
.contact-regel .msr{font-size:22px;color:var(--primary);}

/* ============================================================
   Footer
   ============================================================ */
.steun-footer{background:var(--dark);color:var(--on-dark);padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:var(--sp-5);}
.steun-footer .brxe-container{max-width:var(--content);}
.footer-kern{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:var(--sp-6);}
.footer-kern img{height:44px;width:auto;display:block;}
.footer-kern .footer-adres{font-size:var(--fs-small);color:var(--on-dark);opacity:.85;line-height:1.8;}
.footer-kern a{color:var(--on-dark);text-decoration:underline;text-decoration-color:rgba(249,246,236,.4);transition:text-decoration-color .2s var(--ease);}
.footer-kern a:hover{text-decoration-color:var(--on-dark);}
.footer-onder{
  border-top:1px solid rgba(249,246,236,.18);padding-top:var(--sp-4);
  display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;
  font-size:var(--fs-small);opacity:.7;
}

/* ============================================================
   Tekstpagina's (privacyverklaring, donatiebeleid)
   ============================================================ */
.sectie-tekst{padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);}
.sectie-tekst .brxe-container{max-width:820px;}
.sectie-tekst h1{font-size:var(--fs-h1);margin:0 0 var(--sp-4);}
.sectie-tekst h2{font-size:var(--fs-h3);margin:var(--sp-6) 0 var(--sp-3);}
.sectie-tekst p, .sectie-tekst li{color:var(--ink-soft);max-width:var(--measure);}
.sectie-tekst ul{padding-left:1.2em;margin:0 0 var(--sp-4);}
.sectie-tekst li{margin-bottom:var(--sp-2);}
.sectie-tekst a{color:var(--primary);text-decoration:none;}
.sectie-tekst a:hover{text-decoration:underline;}
.tekst-meta{font-size:var(--fs-small);color:var(--ink-muted);}

/* ============================================================
   Scroll-reveal, subtiel en met reduced-motion-respect
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(16px);animation:steunfadeup var(--dur) var(--ease) forwards;}
  .d1{animation-delay:.05s;}.d2{animation-delay:.15s;}.d3{animation-delay:.25s;}.d4{animation-delay:.35s;}
  @keyframes steunfadeup{to{opacity:1;transform:none;}}
}
