/* ============================================================
   Agency Barometer 2026 — gedeelde vormgeving
   Gedragen door index.html (open samenvatting) en rapport.php
   (het volledige rapport, achter de poortwachter).

   Eén bestand voor allebei, met opzet. Een kopie met "houd deze
   gelijk" erboven blijft niet gelijk; zie Codeconventies in
   CLAUDE.md.

   De tokens komen uit de skill ikag-design. Verzin hier geen
   hexwaarde die daar niet in staat.
   ============================================================ */

:root{
  /* Merkkern */
  --ikag-red:#FC3D39;
  --ikag-red-ink:#C9211D;
  --ikag-bordeaux:#8D0402;
  --ikag-bordeaux-deep:#6E0301;
  --ikag-black:#140100;

  /* Violet: de handtekening */
  --ikag-purple:#B499FF;
  --ikag-purple-ink:#4b3a86;
  --ikag-violet:#ECE5FF;

  /* Neutralen */
  --ikag-cream:#F5F2EC;
  --ikag-cream-2:#EFEAE0;
  --ikag-white:#ffffff;

  /* Kaartpastels */
  --ikag-sage:#DEE8DA;
  --ikag-lavender:#ECE5FF;
  --ikag-pink:#FAE5E9;
  --ikag-sand:#F1E7D6;

  --text-body:#3a2422;
  --text-heading:var(--ikag-black);
  --text-muted:#7a5e5c;
  --text-on-dark:#fdeceb;
  --border-hairline:rgba(20,1,0,.08);

  /* Typografie */
  --font-display:'Libre Caslon Display',Georgia,'Times New Roman',serif;
  --font-accent:'Instrument Serif',Georgia,serif;
  --font-body:'Instrument Sans',system-ui,-apple-system,sans-serif;

  --text-hero:clamp(2.7rem,6.2vw,5.4rem);
  --text-h2:clamp(2rem,4.4vw,3.5rem);
  --text-h3:clamp(1.5rem,2.6vw,2.05rem);
  --text-lead:clamp(1.08rem,1.7vw,1.35rem);

  /* Vorm */
  --radius-input:14px;
  --radius-card:22px;
  --radius-panel:30px;
  --radius-pill:999px;

  --shadow-header:0 6px 26px rgba(20,1,0,.09);
  --shadow-chip:0 8px 22px rgba(141,4,2,.10);
  --shadow-card-hover:0 18px 40px rgba(141,4,2,.12);
  --shadow-cta:0 22px 48px rgba(141,4,2,.28);

  --ease-out:cubic-bezier(.2,.7,.3,1);

  /* Ruimte */
  --container:1240px;
  --gutter:clamp(20px,6%,96px);
  --section-y:clamp(3.5rem,7vw,6rem);

  /* Grafiekpalet: warm en redactioneel, afgeleid van de merkkleuren.
     Zes waarden, want zes clusters. Volgorde is de leesvolgorde. */
  --c1:#8D0402;
  --c2:#FC3D39;
  --c3:#B499FF;
  --c4:#4b3a86;
  --c5:#B8862B;
  --c6:#5C7C67;

  /* Betekeniskleuren in grafieken */
  --goed:#4A6B54;
  --slecht:var(--ikag-red-ink);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  font-size:1.02rem;
  line-height:1.6;
  color:var(--text-body);
  background:var(--ikag-cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--text-heading);line-height:1.06;letter-spacing:-.01em;}
h1{font-size:var(--text-hero);}
h2{font-size:var(--text-h2);}
h3{font-size:var(--text-h3);}
p{max-width:38em;}
a{color:inherit;}
strong,b{font-weight:600;color:var(--text-heading);}
:focus-visible{outline:3px solid var(--ikag-purple);outline-offset:3px;border-radius:6px;}
[hidden]{display:none !important;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ---------- layout ---------- */
.bm-wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);}
.bm-sectie{padding-block:var(--section-y);}
.bm-sectie--alt{background:var(--ikag-cream-2);}
.bm-sectie--donker{background:var(--ikag-bordeaux);color:var(--text-on-dark);}
.bm-sectie--donker h2,.bm-sectie--donker h3{color:var(--ikag-white);}
.bm-sectie--inkt{background:var(--ikag-black);color:var(--text-on-dark);}
.bm-sectie--inkt h2,.bm-sectie--inkt h3{color:var(--ikag-white);}

/* ---------- eyebrow ---------- */
.bm-eyebrow{
  font-size:.82rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ikag-red-ink);margin-bottom:1rem;display:block;
}
.bm-sectie--donker .bm-eyebrow,.bm-sectie--inkt .bm-eyebrow{color:var(--ikag-purple);}

/* ---------- boogonderlijning: precies één per titel ---------- */
.bm-boog{position:relative;white-space:nowrap;}
.bm-boog svg{
  position:absolute;left:0;bottom:-.14em;width:100%;height:.24em;overflow:visible;pointer-events:none;
}
.bm-boog path{
  fill:none;stroke:var(--ikag-purple);stroke-width:3.4;stroke-linecap:round;
  stroke-dasharray:320;stroke-dashoffset:320;
  animation:bm-teken 1s cubic-bezier(.3,.7,.3,1) .35s forwards;
}
@keyframes bm-teken{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion:reduce){ .bm-boog path{stroke-dashoffset:0;animation:none;} }

/* ---------- knoppen ---------- */
.bm-knop{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1;
  background:var(--ikag-red);color:var(--ikag-white);border:none;cursor:pointer;text-decoration:none;
  padding:1.05em 1.75em;border-radius:var(--radius-pill);
  transition:background var(--ease-out) .2s,transform var(--ease-out) .2s,box-shadow var(--ease-out) .2s;
}
.bm-knop:hover{background:var(--ikag-red-ink);transform:translateY(-3px);box-shadow:var(--shadow-cta);}
.bm-knop i{font-size:1.15em;transition:transform .2s var(--ease-out);}
.bm-knop:hover i{transform:translateX(4px);}
.bm-knop--zacht{background:var(--ikag-purple);color:var(--ikag-black);}
.bm-knop--zacht:hover{background:#a184ff;box-shadow:0 22px 48px rgba(75,58,134,.32);}
.bm-knop--lijn{background:transparent;color:var(--text-heading);box-shadow:inset 0 0 0 1.5px var(--border-hairline);}
.bm-knop--lijn:hover{background:var(--ikag-white);color:var(--ikag-black);box-shadow:inset 0 0 0 1.5px rgba(20,1,0,.2),var(--shadow-card-hover);}
.bm-sectie--donker .bm-knop--lijn,.bm-sectie--inkt .bm-knop--lijn{color:var(--ikag-white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);}
.bm-sectie--donker .bm-knop--lijn:hover,.bm-sectie--inkt .bm-knop--lijn:hover{background:rgba(255,255,255,.1);color:var(--ikag-white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);}

/* ---------- tag / chip ---------- */
.bm-tag{
  display:inline-flex;align-items:center;gap:.45em;
  font-size:.8rem;font-weight:600;letter-spacing:.02em;
  background:var(--ikag-violet);color:var(--ikag-purple-ink);
  padding:.5em 1em;border-radius:var(--radius-pill);
}
.bm-tag--voorlopig{background:var(--ikag-sand);color:#6d4f18;}

/* ---------- kaarten ---------- */
.bm-kaart{
  background:var(--ikag-white);border:1px solid var(--border-hairline);
  border-radius:var(--radius-card);padding:1.8rem;
  transition:transform var(--ease-out) .2s,box-shadow var(--ease-out) .2s;
}
.bm-kaart--hover:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);}
.bm-kaart--sage{background:var(--ikag-sage);}
.bm-kaart--lavendel{background:var(--ikag-lavender);}
.bm-kaart--roze{background:var(--ikag-pink);}
.bm-kaart--zand{background:var(--ikag-sand);}
.bm-kaart h3{margin-bottom:.6rem;}
.bm-kaart p{font-size:.98rem;}

.bm-rooster{display:grid;gap:1.6rem;}
.bm-rooster--2{grid-template-columns:repeat(2,1fr);}
.bm-rooster--3{grid-template-columns:repeat(3,1fr);}
.bm-rooster--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){
  .bm-rooster--3,.bm-rooster--4{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:620px){
  .bm-rooster--2,.bm-rooster--3,.bm-rooster--4{grid-template-columns:1fr;}
}

/* ---------- cijferblok ---------- */
.bm-stat .bm-stat__cijfer{
  font-family:var(--font-display);font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1;
  color:var(--text-heading);display:block;letter-spacing:-.02em;
}
.bm-sectie--donker .bm-stat__cijfer,.bm-sectie--inkt .bm-stat__cijfer{color:var(--ikag-purple);}
.bm-stat__label{font-size:.95rem;margin-top:.55rem;color:var(--text-muted);max-width:22em;}
.bm-sectie--donker .bm-stat__label,.bm-sectie--inkt .bm-stat__label{color:rgba(253,236,235,.82);}

/* ---------- lead ---------- */
.bm-lead{font-size:var(--text-lead);line-height:1.45;color:var(--text-body);max-width:34em;}
.bm-sectie--donker .bm-lead,.bm-sectie--inkt .bm-lead{color:rgba(253,236,235,.9);}
.bm-noot{font-size:.85rem;color:var(--text-muted);max-width:44em;}
.bm-sectie--donker .bm-noot,.bm-sectie--inkt .bm-noot{color:rgba(253,236,235,.65);}
.bm-accent{font-family:var(--font-accent);font-style:italic;}

/* ---------- grafiek ---------- */
.bm-fig{
  background:var(--ikag-white);border:1px solid var(--border-hairline);
  border-radius:var(--radius-panel);padding:1.8rem 1.6rem 1.4rem;
}
.bm-sectie--donker .bm-fig,.bm-sectie--inkt .bm-fig{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.bm-fig__kop{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;margin-bottom:1.2rem;}
.bm-fig__titel{font-family:var(--font-body);font-weight:600;font-size:1.05rem;color:var(--text-heading);}
.bm-sectie--donker .bm-fig__titel,.bm-sectie--inkt .bm-fig__titel{color:var(--ikag-white);}
.bm-fig__sub{font-size:.88rem;color:var(--text-muted);margin-top:.25rem;max-width:40em;}
.bm-sectie--donker .bm-fig__sub,.bm-sectie--inkt .bm-fig__sub{color:rgba(253,236,235,.7);}
.bm-fig__doek{position:relative;}
.bm-fig svg{display:block;width:100%;height:auto;overflow:visible;}
/* de knop om een grafiek mee te nemen: aanwezig, niet luid */
.bm-fig__acties{display:flex;justify-content:flex-end;margin-top:.6rem;}
.bm-fig__bewaar{
  display:inline-flex;align-items:center;gap:.45em;min-height:38px;
  font-family:var(--font-body);font-size:.82rem;font-weight:600;
  color:var(--text-muted);background:transparent;border:none;cursor:pointer;
  padding:.5em .9em;border-radius:var(--radius-pill);
  transition:background .2s var(--ease-out),color .2s var(--ease-out);
}
.bm-fig__bewaar:hover{background:var(--ikag-cream-2);color:var(--text-heading);}
.bm-fig__bewaar i{font-size:1.05rem;}
.bm-sectie--donker .bm-fig__bewaar,.bm-sectie--inkt .bm-fig__bewaar{color:rgba(253,236,235,.7);}
.bm-sectie--donker .bm-fig__bewaar:hover,.bm-sectie--inkt .bm-fig__bewaar:hover{background:rgba(255,255,255,.1);color:var(--ikag-white);}

.bm-fig__voet{font-size:.8rem;color:var(--text-muted);margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border-hairline);}
.bm-sectie--donker .bm-fig__voet,.bm-sectie--inkt .bm-fig__voet{color:rgba(253,236,235,.6);border-top-color:rgba(255,255,255,.14);}

/* schakelaars boven een grafiek */
.bm-schakel{display:inline-flex;background:var(--ikag-cream-2);border-radius:var(--radius-pill);padding:4px;gap:2px;flex-wrap:wrap;}
.bm-sectie--donker .bm-schakel,.bm-sectie--inkt .bm-schakel{background:rgba(255,255,255,.1);}
.bm-schakel button{
  font-family:var(--font-body);font-size:.85rem;font-weight:600;line-height:1;
  border:none;background:transparent;color:var(--text-muted);cursor:pointer;
  padding:.65em 1.1em;border-radius:var(--radius-pill);
  transition:background .2s var(--ease-out),color .2s var(--ease-out);
  min-height:38px;
}
.bm-schakel button:hover{color:var(--text-heading);}
.bm-schakel button[aria-pressed="true"]{background:var(--ikag-black);color:var(--ikag-white);}
.bm-sectie--donker .bm-schakel button,.bm-sectie--inkt .bm-schakel button{color:rgba(253,236,235,.7);}
.bm-sectie--donker .bm-schakel button:hover,.bm-sectie--inkt .bm-schakel button:hover{color:var(--ikag-white);}
.bm-sectie--donker .bm-schakel button[aria-pressed="true"],.bm-sectie--inkt .bm-schakel button[aria-pressed="true"]{background:var(--ikag-purple);color:var(--ikag-black);}

/* legende */
.bm-legende{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-size:.85rem;color:var(--text-muted);margin-top:1rem;}
.bm-sectie--donker .bm-legende,.bm-sectie--inkt .bm-legende{color:rgba(253,236,235,.75);}
.bm-legende span{display:inline-flex;align-items:center;gap:.45em;}
.bm-legende i{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;}

/* tooltip */
.bm-tip{
  position:absolute;pointer-events:none;opacity:0;transform:translate(-50%,-118%);
  background:var(--ikag-black);color:var(--ikag-white);
  font-size:.82rem;line-height:1.35;padding:.6em .8em;border-radius:10px;
  white-space:nowrap;transition:opacity .12s;z-index:5;box-shadow:0 8px 22px rgba(20,1,0,.28);
}
.bm-tip strong{color:var(--ikag-purple);font-weight:600;}
.bm-tip.aan{opacity:1;}

/* grafiek-onderdelen */
.bm-as{stroke:rgba(20,1,0,.12);stroke-width:1;}
.bm-raster{stroke:rgba(20,1,0,.07);stroke-width:1;}
.bm-sectie--donker .bm-as,.bm-sectie--inkt .bm-as{stroke:rgba(255,255,255,.22);}
.bm-sectie--donker .bm-raster,.bm-sectie--inkt .bm-raster{stroke:rgba(255,255,255,.12);}
.bm-aslabel{font-family:var(--font-body);font-size:12px;fill:var(--text-muted);}
.bm-sectie--donker .bm-aslabel,.bm-sectie--inkt .bm-aslabel{fill:rgba(253,236,235,.68);}
.bm-waardelabel{font-family:var(--font-body);font-size:12.5px;font-weight:600;fill:var(--text-heading);}
.bm-sectie--donker .bm-waardelabel,.bm-sectie--inkt .bm-waardelabel{fill:var(--ikag-white);}
.bm-nullijn{stroke:rgba(20,1,0,.3);stroke-width:1.5;}
.bm-sectie--donker .bm-nullijn,.bm-sectie--inkt .bm-nullijn{stroke:rgba(255,255,255,.45);}
.bm-staaf{transition:opacity .15s;}
.bm-staaf:hover{opacity:.8;}
.bm-punt{transition:r .15s;}

/* ---------- tabellen ---------- */
.bm-tabelkaart{
  background:var(--ikag-white);border:1px solid var(--border-hairline);
  border-radius:var(--radius-card);overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.bm-tabel{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px;}
/* De cellen zijn compacter dan ze waren (.85rem 1.1rem) en de koppen mogen
   afbreken: gemeten op 19 augustus 2026 liepen acht van de twintig tabellen
   van het rapport uit hun kolom, de clustertabel met 258px, en dan staat de
   laatste kolom ("in krimp", "verlieslatend") achter een schuifbalk die
   niemand ziet en op papier helemaal weg is. Een kop van twee regels kost
   minder dan een kolom die verdwijnt. */
.bm-tabel th,.bm-tabel td{padding:.8rem .75rem;text-align:right;white-space:nowrap;}
.bm-tabel th:first-child,.bm-tabel td:first-child{text-align:left;}
.bm-tabel thead th{
  font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.25;
  white-space:normal;vertical-align:bottom;
  color:var(--text-muted);border-bottom:1.5px solid var(--border-hairline);
  position:sticky;top:0;background:var(--ikag-white);
}
/* Het opschrift staat zichtbaar boven de tabel en zegt waarvan de kolommen
   een percentage of een kwartiel zijn. Het stond eerst alleen voor
   schermlezers; de lezer op papier moest verder lezen om te weten dat
   "eerste kwartiel" over de brutomarge per VTE ging. */
.bm-tabel caption{
  caption-side:top;text-align:left;padding:.8rem .75rem .55rem;
  font-size:.88rem;font-weight:600;color:var(--text-heading);
  border-bottom:1px solid var(--border-hairline);
}
.bm-tabel caption.bm-visueel-verborgen{padding:0;border:0;}
.bm-tabel tbody tr+tr td{border-top:1px solid var(--border-hairline);}
.bm-tabel tbody tr:hover td{background:rgba(180,153,255,.08);}
.bm-tabel td b{font-weight:600;color:var(--text-heading);}
.bm-tabel .bm-r--sector td{background:var(--ikag-cream-2);font-style:italic;color:var(--text-muted);}
.bm-tabel .bm-r--sector:hover td{background:var(--ikag-cream-2);}
.bm-tabel .bm-r--voorlopig td{color:var(--text-muted);font-style:italic;}
.bm-tabel__voet{font-size:.85rem;color:var(--text-muted);margin-top:.9rem;max-width:46em;}

/* ---------- markeringen in lopende tekst ---------- */
.bm-mark{background:linear-gradient(transparent 62%,rgba(180,153,255,.5) 62%);padding:0 .06em;}
.bm-quote{
  font-family:var(--font-display);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.2;
  color:var(--text-heading);max-width:20em;
  border-left:3px solid var(--ikag-purple);padding-left:1.4rem;
}
.bm-sectie--donker .bm-quote,.bm-sectie--inkt .bm-quote{color:var(--ikag-white);}

/* ---------- meter ---------- */
.bm-meter{background:var(--ikag-white);border-radius:var(--radius-panel);padding:2.2rem 2rem 1.8rem;text-align:center;box-shadow:0 18px 50px rgba(141,4,2,.09);border:1px solid var(--border-hairline);}
.bm-meter__label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ikag-red-ink);margin-top:.6rem;}
.bm-meter__stand{font-family:var(--font-display);font-size:clamp(3rem,6vw,4.2rem);line-height:1;margin-top:.1em;color:var(--text-heading);letter-spacing:-.02em;}
.bm-meter__stand small{font-size:.38em;color:var(--text-muted);letter-spacing:0;}
.bm-meter__uitleg{font-size:.88rem;color:var(--text-muted);margin-top:.7rem;max-width:26em;margin-inline:auto;}
#bm-naald{transform-origin:100px 100px;transform:rotate(-90deg);transition:transform 1.8s cubic-bezier(.34,1.15,.4,1);}

/* ---------- formulier / benchmark ---------- */
.bm-veld{display:block;margin-bottom:1.1rem;}
.bm-veld span{display:block;font-size:.85rem;font-weight:600;color:var(--text-heading);margin-bottom:.4rem;}
.bm-veld small{display:block;font-weight:400;color:var(--text-muted);font-size:.8rem;margin-top:.15rem;}
.bm-veld input{
  width:100%;font-family:var(--font-body);font-size:16px;color:var(--text-heading);
  background:var(--ikag-white);border:1.5px solid var(--border-hairline);
  border-radius:var(--radius-input);padding:.8em .95em;min-height:48px;
  transition:border-color .2s;
}
.bm-veld input:focus{border-color:var(--ikag-purple);outline:none;box-shadow:0 0 0 3px rgba(180,153,255,.3);}
.bm-veld input::placeholder{color:rgba(122,94,92,.55);}

.bm-uitslag{display:grid;gap:1rem;}
.bm-uitslag__rij{
  background:var(--ikag-white);border:1px solid var(--border-hairline);border-radius:var(--radius-card);
  padding:1.1rem 1.3rem;
}
.bm-uitslag__kop{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;}
.bm-uitslag__naam{font-size:.9rem;font-weight:600;color:var(--text-heading);}
.bm-uitslag__waarde{font-family:var(--font-display);font-size:1.5rem;line-height:1;color:var(--text-heading);}
.bm-uitslag__band{position:relative;height:34px;margin-top:.9rem;}
.bm-uitslag__spoor{position:absolute;left:0;right:0;top:13px;height:8px;border-radius:99px;background:linear-gradient(90deg,#F3D9D8 0%,#F1E7D6 38%,#DEE8DA 72%,#CBE0D2 100%);}
.bm-uitslag__merk{position:absolute;top:8px;width:2px;height:18px;background:rgba(20,1,0,.28);}
.bm-uitslag__merk b{position:absolute;top:20px;left:50%;transform:translateX(-50%);font-size:.68rem;font-weight:600;color:var(--text-muted);white-space:nowrap;}
.bm-uitslag__jij{position:absolute;top:5px;width:14px;height:24px;margin-left:-7px;border-radius:99px;background:var(--ikag-red);box-shadow:0 0 0 3px var(--ikag-white),0 4px 12px rgba(141,4,2,.35);transition:left .8s var(--ease-out);}
.bm-uitslag__oordeel{font-size:.88rem;color:var(--text-muted);margin-top:1.5rem;}
.bm-uitslag__oordeel b{color:var(--text-heading);}

/* ---------- FAQ ---------- */
.bm-faq details{border-bottom:1px solid var(--border-hairline);}
.bm-faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
  font-weight:600;font-size:1.05rem;color:var(--text-heading);
  cursor:pointer;list-style:none;padding:1.3rem 0;min-height:44px;
}
.bm-faq summary::-webkit-details-marker{display:none;}
.bm-faq summary i{color:var(--ikag-red);font-size:1.3rem;transition:transform .25s var(--ease-out);flex:none;}
.bm-faq details[open] summary i{transform:rotate(45deg);}
.bm-faq details p{padding-bottom:1.4rem;font-size:.98rem;max-width:46em;}

/* ---------- footer ---------- */
.bm-voet{background:var(--ikag-bordeaux);color:var(--text-on-dark);padding-block:3.4rem;}
.bm-voet__in{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between;align-items:flex-end;}
.bm-voet svg.bm-logo{width:118px;height:auto;}
.bm-voet p{font-size:.86rem;color:rgba(253,236,235,.8);max-width:38em;}
.bm-voet a{color:var(--ikag-white);}

/* ---------- de taalkiezer ----------
   Staat in de gedeelde laag omdat vier pagina's hem dragen: de drie
   samenvattingen en het rapport. De huidige taal is geen link, want een link
   naar de pagina waar je al staat leest als een knop die niets doet.
   Hij blijft ook op een smal scherm staan: de hreflang-set vertelt Google
   waar de talen wonen, maar een bezoeker heeft een deur nodig. */
.bm-taal{display:flex;align-items:center;gap:.1rem;font-family:var(--font-body);
  font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;}
.bm-taal a,.bm-taal span{padding:.4em .55em;border-radius:var(--radius-pill);
  color:var(--text-muted);text-decoration:none;line-height:1;}
.bm-taal a:hover{color:var(--ikag-red);background:var(--ikag-cream-2);}
.bm-taal [aria-current="page"]{color:var(--text-heading);background:var(--ikag-cream-2);}

/* ---------- rijzen bij scrollen ---------- */
.bm-rijs{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.bm-rijs.bm-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ .bm-rijs{opacity:1;transform:none;} }

/* ---------- utilities ---------- */
.bm-mt-1{margin-top:.6rem;}
.bm-mt-2{margin-top:1.2rem;}
.bm-mt-3{margin-top:2rem;}
.bm-mt-4{margin-top:3rem;}
.bm-mb-2{margin-bottom:1.2rem;}
.bm-mb-3{margin-bottom:2rem;}
.bm-max{max-width:34em;}
.bm-knoprij{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.bm-visueel-verborgen{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- afdrukken ----------
   Wat op allebei de pagina's geldt. Wat alleen het rapport raakt (de
   inhoudsopgave naast de kolom, de balk bovenaan) staat in rapport.php.
   Een tabel mag op papier niet achter een schuifbalk zitten: de
   tabelkaart laat overlopen, de tabel krimpt mee en de koppen breken af.
   En de secties die nog niet in beeld kwamen, staan zichtbaar - met het
   beforeprint-haakje in barometer.js als eerste lijn, dit als tweede. */
@media print{
  body{background:#fff;color:#000;font-size:10.5pt;}
  .bm-rijs{opacity:1 !important;transform:none !important;transition:none !important;}
  .bm-tabelkaart{overflow:visible;border-color:#bbb;break-inside:avoid;page-break-inside:avoid;}
  .bm-tabel{min-width:0;font-size:9pt;}
  .bm-tabel th,.bm-tabel td{padding:.35rem .4rem;white-space:normal;}
  .bm-tabel thead th{position:static;font-size:7.5pt;letter-spacing:.03em;}
  .bm-tabel tbody tr:hover td{background:transparent;}
  .bm-fig{break-inside:avoid;page-break-inside:avoid;}
  .bm-tip{display:none !important;}
  a{text-decoration:none;color:inherit;}
}
