/* VeiligOnline.nl huisstijl 2026
   Wordt als laatste geladen en zet de hele site in de stijl van de nieuwe homepage en uitlegpagina's:
   donkere 'grain'-hero en footer, ronde knoppen, witte kaarten met zachte schaduw,
   Bricolage Grotesque voor koppen en Atkinson Hyperlegible voor lopende tekst. */
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/AtkinsonHyperlegible-400.woff2') format('woff2'),url('/assets/fonts/AtkinsonHyperlegible-400.ttf') format('truetype')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/AtkinsonHyperlegible-700.woff2') format('woff2'),url('/assets/fonts/AtkinsonHyperlegible-700.ttf') format('truetype')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/BricolageGrotesque-600.woff2') format('woff2'),url('/assets/fonts/BricolageGrotesque-600.ttf') format('truetype')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/BricolageGrotesque-700.woff2') format('woff2'),url('/assets/fonts/BricolageGrotesque-700.ttf') format('truetype')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/BricolageGrotesque-800.woff2') format('woff2'),url('/assets/fonts/BricolageGrotesque-800.ttf') format('truetype')}
:root{--vo-bg:#f3f8fd;--vo-fg:#092142;--vo-card:#fff;--vo-primary:#082451;--vo-primary-fg:#f7fafe;--vo-accent:#0278e7;--vo-accent-fg:#fff;--vo-secondary:#dceaf8;--vo-muted:#e7f0f8;--vo-muted-fg:#54657a;--vo-border:#d2e0ee;--vo-destructive:#e7000b;--vo-success:#0fa05c;--vo-signal:#86c5fa;--vo-radius:1rem;--vo-shadow:0 1px 0 var(--vo-border),0 18px 40px -24px rgba(8,36,81,.35);--vo-font-sans:"Atkinson Hyperlegible",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--vo-font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;/* Bestaande variabelen van de oude stylesheet laten meebewegen. */--navy:var(--vo-primary);--blue:var(--vo-accent);--blue-dark:#0262bd;--ink:var(--vo-fg);--muted:var(--vo-muted-fg);--line:var(--vo-border);--pale:var(--vo-muted);--radius:var(--vo-radius);--shadow:var(--vo-shadow);--wrap:1152px;}
/* ---------- Basis ---------- */
body{background:var(--vo-bg);color:var(--vo-fg);font-family:var(--vo-font-sans)}
h1,h2,h3,h4,.brand-name,.section-head h2{font-family:var(--vo-font-display);letter-spacing:-.02em}
h1,h2{font-weight:800}
h3{font-weight:700}
.wrap{width:min(var(--wrap),calc(100% - 48px))}
main{background:var(--vo-bg)}
section{padding:72px 0}
a{text-underline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--vo-accent);outline-offset:3px}
/* ---------- Header ---------- */
.topbar{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--vo-border)}
.nav{min-height:72px;gap:16px}
.brand{gap:10px;color:var(--vo-fg)}
.brand-mark{width:36px;height:36px;border-radius:.75rem;clip-path:none;filter:none;background:var(--vo-accent);color:var(--vo-accent-fg)}
.brand-mark svg{width:20px;height:20px}
.brand-name{font-size:1.125rem;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--vo-fg)}
.brand-name span{color:var(--vo-accent)}
.brand-tag{margin-top:4px;font-family:var(--vo-font-sans);font-size:.6rem;font-weight:700;letter-spacing:.2em;color:var(--vo-muted-fg)}
.navlinks{gap:4px}
.navlinks a{padding:8px 12px;border-radius:999px;font-size:.875rem;font-weight:700;color:var(--vo-muted-fg);transition:background .15s,color .15s}
.navlinks a:hover{background:var(--vo-muted);color:var(--vo-fg)}
.navlinks a.active{background:var(--vo-secondary);color:var(--vo-primary)}
.navlinks a.active:after{display:none}
.nav-actions .nav-emergency{display:inline-flex!important;align-items:center;gap:6px;min-height:40px;padding:6px 16px;border:2px solid var(--vo-destructive);border-radius:999px;color:var(--vo-destructive)!important;font-size:.875rem;font-weight:700!important;text-decoration:none;white-space:nowrap}
.nav-actions .nav-emergency svg{width:16px;height:16px}
.nav-actions{gap:8px}
.nav-actions .btn{min-height:40px;padding:8px 18px;font-size:.875rem}
.nav-search-icon,.nav-access-trigger,.access-trigger.nav-access-trigger{width:40px;height:40px;flex:0 0 40px;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--vo-fg)!important;box-shadow:none!important}
.nav-search-icon:hover,.nav-search-icon:focus-visible,.nav-access-trigger:hover{background:var(--vo-muted)!important;color:var(--vo-fg)!important}
.nav-search-icon svg,.nav-access-trigger svg{width:20px;height:20px}
.menu-toggle{border:0;border-radius:999px;background:transparent}
.menu-toggle:hover{background:var(--vo-muted)}
/* ---------- Knoppen en links ---------- */
.btn{min-height:44px;padding:12px 24px;border-radius:999px;border:1px solid transparent;background:var(--vo-accent);color:var(--vo-accent-fg);font-family:var(--vo-font-sans);font-size:1rem;font-weight:700;box-shadow:none;transition:filter .15s,transform .15s}
.btn:hover{background:var(--vo-accent);filter:brightness(1.1);transform:none}
.btn-outline{background:var(--vo-card);color:var(--vo-fg);border-color:var(--vo-border);box-shadow:none}
.btn-outline:hover{background:var(--vo-muted);filter:none}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;filter:none}
.text-link{color:var(--vo-accent);font-size:.875rem;font-weight:700}
.text-link:hover{text-decoration:underline}
/* ---------- Hero (alle pagina's) ---------- */
.hero,.hero.audience-hero,.page-kinderen .hero,.page-bedrijven .hero,.page-eerste-hulp .hero{color:var(--vo-primary-fg);background:radial-gradient(60rem 30rem at 85% -10%,rgba(2,120,231,.35),transparent 60%),radial-gradient(40rem 30rem at -10% 110%,rgba(220,234,248,.25),transparent 60%),var(--vo-primary)!important}
.hero:before,.hero:after{display:none!important}
.hero-grid{min-height:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding-block:80px 96px}
.audience-hero .hero-text{align-self:start}
.audience-hero .hero-grid{padding-top:48px}
.hero .eyebrow{color:var(--vo-signal);font-size:.75rem;font-weight:700;letter-spacing:.2em}
.hero .eyebrow:before{display:none}
.hero h1,.hero h1 .hero-title-dark{color:var(--vo-primary-fg)!important}
.hero h1{max-width:none;margin:16px 0 0;font-size:clamp(2.4rem,5vw,3.75rem);font-weight:800;line-height:1.02;letter-spacing:-.02em}
.hero h1 span,.hero h1 .hero-title-light{color:var(--vo-signal)!important}
.hero-copy{max-width:36rem;margin-top:24px;color:rgba(247,250,254,.8);font-size:1.125rem;line-height:1.6}
.hero-actions{margin-top:32px;gap:12px}
.hero .btn{padding:12px 24px;box-shadow:0 12px 28px -12px rgba(2,120,231,.65)}
.hero .btn-outline{background:transparent;color:var(--vo-primary-fg);border-color:rgba(247,250,254,.4);box-shadow:none}
.hero .btn-outline:hover{background:rgba(247,250,254,.1)}
.hero-visual{min-height:0;border-radius:2rem;background:var(--vo-card);padding:28px;box-shadow:var(--vo-shadow);overflow:hidden}
.hero-visual:after{display:none}
.hero-visual>img,.hero-visual>.hero-slide{position:relative;inset:auto;height:auto;border-radius:1rem}
.hero-visual>.hero-slide-two,.hero-visual>.hero-slide-three{position:absolute;inset:28px;width:calc(100% - 56px);height:calc(100% - 56px)}
.page-eerste-hulp .hero-visual{padding:0;background:var(--vo-card)}
/* Uitlegpagina's: label als pil, zoals op de nieuwe ghost-pairingpagina. */
.topic-hero .eyebrow,.extended-page .hero .eyebrow,.page-volwassenen .audience-hero .eyebrow,.page-kinderen .audience-hero .eyebrow,.page-bedrijven .hero .eyebrow,.page-tools .hero .eyebrow,.page-over-ons .hero .eyebrow{padding:4px 12px;border:1px solid rgba(247,250,254,.3);border-radius:999px;color:var(--vo-primary-fg);font-size:.875rem;font-weight:400;letter-spacing:0;text-transform:none}
.page-volwassenen .audience-hero .eyebrow,.page-kinderen .audience-hero .eyebrow,.page-bedrijven .hero .eyebrow,.page-tools .hero .eyebrow,.page-over-ons .hero .eyebrow{display:inline-block}
.page-kinderen .audience-hero .eyebrow{border-color:rgba(255,185,138,.5)}
.topic-hero .hero-visual{max-width:24rem;justify-self:center;padding:32px}
/* Kinderpagina: speelse kleuren blijven, maar dan goed leesbaar op de donkere achtergrond. */
.page-kinderen .hero h1 .hero-title-warm{color:#ffb98a!important}
.page-kinderen .hero h1 .hero-title-orange{color:#ffa36b!important}
.page-kinderen .hero h1 .hero-title-pink{color:#ff9cc9!important}
.page-kinderen .hero h1 .hero-title-green{color:#7be3b0!important}
.page-kinderen .hero h1 .hero-title-purple{color:#cdb2ff!important}
.page-kinderen .hero .eyebrow{color:#ffb98a}
.hero .hero-title-warm{color:#ffb98a!important}
/* Eerste hulp: rode actieknoppen als ronde pillen. */
.page-eerste-hulp .hero-first-aid .hero-actions .btn,.page-eerste-hulp .hero-first-aid .hero-actions .btn.btn-outline{border-radius:999px!important;background:var(--vo-destructive)!important;border-color:var(--vo-destructive)!important}
.page-eerste-hulp .hero-first-aid .hero-actions .btn.btn-outline{background:transparent!important;border-color:rgba(247,250,254,.6)!important}
/* ---------- Sectiekoppen ---------- */
.section-head{margin-bottom:40px}
.section-head h2{color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
.section-head p{color:var(--vo-muted-fg);font-size:1rem}
.eyebrow{color:var(--vo-accent);font-size:.75rem;font-weight:700;letter-spacing:.18em}
.eyebrow:before{display:none}
/* ---------- Kaarten ---------- */
.tool-card,.stat-card,.topic-card,.first-aid-card,.kids-tool-card,.panel,.search-page-results>*{border:1px solid var(--vo-border)!important;border-radius:var(--vo-radius)!important;background:var(--vo-card);box-shadow:none}
.tool-card,.topic-card,.kids-tool-card{transition:transform .15s,box-shadow .15s}
.tool-card:hover,.topic-card:hover,.kids-tool-card:hover{transform:translateY(-4px);box-shadow:var(--vo-shadow)}
.tool-card h3,.topic-card h3,.stat-card h3{color:var(--vo-fg);font-size:1.125rem}
.audience-content p,.tool-card p,.topic-card p{color:var(--vo-muted-fg);font-size:.875rem;line-height:1.625}
.tool-icon{border-radius:.75rem!important;background:var(--vo-secondary)!important;color:var(--vo-primary)!important;box-shadow:none!important}
.tool-icon svg{color:var(--vo-primary)}
.stat-number{font-family:var(--vo-font-display);color:var(--vo-fg)}
.stat-label{color:var(--vo-accent)}
/* Uitklapbare items (kennisbank, FAQ) */
.knowledge-item{border:1px solid var(--vo-border)!important;border-radius:var(--vo-radius)!important;background:var(--vo-card)!important;box-shadow:none}
details.knowledge-item[open]{box-shadow:var(--vo-shadow)}
.knowledge-item summary{font-family:var(--vo-font-sans);font-weight:700;color:var(--vo-fg)}
.knowledge-item p,.knowledge-item li{color:var(--vo-muted-fg)}
.knowledge-item a{color:var(--vo-accent);font-weight:700}
/* ---------- Waarschuwing en tip van de dag (homepage) ---------- */
/* ---------- Zoeken ---------- */
.site-search{max-width:640px;margin-inline:auto}
input[type=search],input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select,.kb-search input,.reporting-select{border:1px solid var(--vo-border)!important;border-radius:12px;background:var(--vo-card);color:var(--vo-fg);font-family:var(--vo-font-sans)}
.search-page-form input[type=search],.kb-search input{flex:1;min-height:48px;padding:12px 20px;border-radius:999px!important}
input:focus,textarea:focus,select:focus{outline:2px solid var(--vo-accent);outline-offset:1px}
/* ---------- Banden en secties ---------- */
#tips,.cyber-stats-section,.kids-tools-section,.topic-cards-section{background:var(--vo-muted)}
.share-section,.tools-share-section,body.page-home .share-section,body.page-volwassenen .share-section,body.page-tools .tools-share-section{background:transparent!important;border:0!important}
.share-section>.wrap,.tools-share-section>.wrap{padding:32px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow)}
.share-section h2,.tools-share-section h2{font-size:1.5rem;font-weight:800}
.share-action{border:1px solid var(--vo-border)!important;border-radius:999px!important;background:var(--vo-card)!important;box-shadow:none!important;font-weight:700;color:var(--vo-fg)}
.share-action:hover{background:var(--vo-muted)!important}
.share-email-icon,#shareEmail>span{background:var(--vo-secondary)!important;color:var(--vo-primary)!important;border-radius:999px}
/* ---------- Uitlegpagina's ---------- */
.topic-page>section:not(.hero){padding:64px 0}
.topic-page>.topic-content>section{padding:64px 0}
.topic-page .wrap.topic-content{max-width:48rem}
.topic-page>.topic-content{max-width:none;width:100%;margin:0}
.topic-intro{font-size:1.25rem;line-height:1.625;color:var(--vo-fg)}
.topic-content-section{margin-top:56px;padding:0;border-bottom:0}
.topic-content-section:first-child{margin-top:0}
.topic-content-section h2{font-size:1.875rem;font-weight:800;color:var(--vo-fg)}
.topic-content-section p{color:var(--vo-muted-fg);font-size:1.125rem;line-height:1.625}
.topic-content-section>ul{padding:0;list-style:none}
.topic-content-section>ul>li{position:relative;padding-left:22px;margin:12px 0;line-height:1.625;color:var(--vo-fg)}
.topic-content-section>ul>li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--vo-accent)}
.topic-content-section a{color:var(--vo-accent)}
/* Lijsten met stappen staan in een witte kaart. */
.extended-page .topic-content-section:has(>ul):not(.topic-sources):not(.topic-related){padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);box-shadow:var(--vo-shadow)}
.extended-page .topic-content-section:has(>ul):not(.topic-sources):not(.topic-related) h2{font-size:1.25rem}
.topic-sources ul{list-style:none;padding:0}
.topic-sources li{padding-left:0!important;margin:8px 0}
.topic-sources li:before{display:none!important}
.topic-sources a{text-decoration:underline}
.topic-related>ul{display:flex;flex-wrap:wrap;gap:8px}
.topic-related>ul>li{padding:0!important;margin:0!important}
.topic-related>ul>li:before{display:none!important}
.topic-related>ul>li>a{display:inline-block;padding:8px 16px;border:1px solid var(--vo-border);border-radius:999px;background:var(--vo-card);color:var(--vo-fg);font-weight:700;text-decoration:none}
.topic-related>ul>li>a:hover{background:var(--vo-muted)}
.topic-related>ul>li:last-child>a{border-color:var(--vo-primary);background:var(--vo-primary);color:var(--vo-primary-fg)}
.topic-feedback{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.topic-feedback h2{font-size:1.25rem}
.topic-feedback p{font-size:1rem}
.read-aloud-controls{gap:8px}
.read-aloud-controls .btn{min-height:40px;padding:8px 18px;font-size:.875rem}
/* Nieuwe opbouw van topic-page.php */
.topic-article{max-width:48rem;margin-inline:auto}
.topic-band{background:rgba(220,234,248,.5)}
.topic-band-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:20px}
.topic-band-card{scroll-margin-top:112px;padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);box-shadow:var(--vo-shadow)}
.topic-band-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:.75rem;background:var(--vo-secondary);color:var(--vo-primary)}
.topic-band-icon svg{width:24px;height:24px}
.topic-band-card h2{margin:16px 0 0;font-size:1.25rem;font-weight:800;color:var(--vo-fg)}
.topic-band-card ul{margin:16px 0 0;padding:0;list-style:none}
.topic-band-card li{position:relative;margin-top:12px;padding-left:20px;line-height:1.625;color:var(--vo-fg)}
.topic-band-card li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--vo-accent)}
.topic-band-card p{margin:12px 0 0;color:var(--vo-muted-fg);line-height:1.625}
/* ---------- Footer ---------- */
.footer{margin-top:0;padding:56px 0 0;color:rgba(247,250,254,.8);background:radial-gradient(60rem 30rem at 85% -10%,rgba(2,120,231,.35),transparent 60%),radial-gradient(40rem 30rem at -10% 110%,rgba(220,234,248,.25),transparent 60%),var(--vo-primary)}
.footer:before{display:none}
.footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,3fr);gap:40px}
.footer .brand-name{color:var(--vo-primary-fg)}
.footer .brand-name span{color:var(--vo-signal)}
.footer .brand-tag{color:rgba(247,250,254,.6)}
.footer .footer-description{max-width:20rem;color:rgba(247,250,254,.7)!important;font-size:.875rem!important;line-height:1.625}
.footer-nav-groups{gap:32px}
.footer-nav-group h3,.footer-nav-group h3 a{color:var(--vo-signal)!important;font-family:var(--vo-font-display);font-size:1rem;font-weight:800;text-decoration:none}
.footer-nav-group ul{margin-top:16px;gap:10px}
.footer-nav-group a{color:rgba(247,250,254,.8);font-size:.875rem}
.footer-nav-group a:hover{color:var(--vo-primary-fg);text-decoration:underline}
.footer-bottom{margin-top:56px;padding:24px 0;border-top:1px solid rgba(247,250,254,.15);color:rgba(247,250,254,.6);font-size:.875rem}
.footer-bottom a{color:rgba(247,250,254,.6)}
.footer-bottom a:hover{color:var(--vo-primary-fg)}
/* ---------- Overig ---------- */
.back-top{border-radius:999px!important;background:var(--vo-accent)!important;color:#fff!important;box-shadow:0 10px 24px -10px rgba(8,36,81,.45)!important;font-family:var(--vo-font-sans);font-weight:700;letter-spacing:normal}
.access-dialog{border:1px solid var(--vo-border);border-radius:1.5rem;font-family:var(--vo-font-sans)}
.access-control-row button,.access-control-row a{border-radius:999px!important}
.panel h2,.panel h3{color:var(--vo-fg)}
/* ---------- Mobiel ---------- */
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding-block:56px 80px;gap:40px}
  .audience-hero .hero-grid{padding-top:32px}
  .topic-band-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 32px)}
  section{padding:56px 0}
  .share-section>.wrap,.tools-share-section>.wrap{padding:24px}
  .footer-nav-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ---------- Hoog contrast blijft werken ---------- */
.topic-band-card h2,.topic-content-section h2{scroll-margin-top:112px}
.topic-lead{padding-bottom:0!important}
.topic-text+.topic-text{padding-top:0!important}
/* Correcties na eerste controle */
.site-search{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.share-action{border-radius:var(--vo-radius)!important}
.share-action:hover{transform:translateY(-2px)}
.nav-actions .btn svg{display:none}
@media(max-width:1300px){
  .navlinks a{padding:8px 9px}
  .nav-actions .nav-emergency{padding:6px 12px}
  .nav{gap:12px}
}
.topic-content-section a.btn,.panel a.btn,.knowledge-item a.btn{color:var(--vo-fg);text-decoration:none}
.topic-content-section a.btn:not(.btn-outline){color:var(--vo-accent-fg)}
.topic-feedback a.btn,.topic-feedback a.btn.btn-outline{background:var(--vo-accent);border-color:var(--vo-accent);color:var(--vo-accent-fg)}
/* Kinderpagina in dezelfde huisstijl (kleurrijke kop blijft) */
body.page-kinderen,body.page-kinderen main{background:var(--vo-bg)!important}
body.page-kinderen main>.hero,body.page-kinderen .hero,body.page-kinderen>.hero{background:radial-gradient(60rem 30rem at 85% -10%,rgba(2,120,231,.35),transparent 60%),radial-gradient(40rem 30rem at -10% 110%,rgba(220,234,248,.25),transparent 60%),var(--vo-primary)!important}
body.page-kinderen .hero .hero-copy{color:rgba(247,250,254,.8)!important}
body.page-kinderen .hero .eyebrow,body.page-kinderen .audience-hero .eyebrow{color:#ffb98a!important}
body.page-kinderen .hero-visual{background:var(--vo-card)!important;padding:0}
body.page-kinderen .btn:not(.btn-outline){background:var(--vo-accent);border-color:var(--vo-accent);box-shadow:none}
body.page-kinderen .btn:not(.btn-outline):hover{background:var(--vo-accent);border-color:var(--vo-accent)}
body.page-kinderen .btn.btn-outline{background:var(--vo-card);color:var(--vo-fg);border-color:var(--vo-border)}
body.page-kinderen .btn.btn-outline:hover{background:var(--vo-muted);color:var(--vo-fg);border-color:var(--vo-border)}
body.page-kinderen .hero .btn.btn-outline{background:transparent!important;color:var(--vo-primary-fg)!important;border-color:rgba(247,250,254,.4)!important}
body.page-kinderen .share-section{background:transparent!important}
body.page-kinderen .back-top,body.page-kinderen .back-top:hover{background:var(--vo-accent)!important}
.topbar .navlinks a.active{background:var(--vo-secondary)!important;color:var(--vo-primary)!important}
.navlinks a,.share-action,.btn-outline{transition:none}
body.page-kinderen #kidsGameNext{border-color:var(--vo-accent);background:var(--vo-accent)}
body.page-kinderen #kidsGameNext:hover{border-color:var(--vo-accent);background:var(--vo-accent);filter:brightness(1.1)}
select,.reporting-select{min-height:48px;padding:10px 14px}
@media(max-width:1100px){
  .navlinks.open{border:1px solid var(--vo-border);border-top:0;border-radius:0 0 1.25rem 1.25rem;box-shadow:var(--vo-shadow)}
}
/* Eerste hulp in het menu: witte tekst en icoon bij hover/focus (oude stylesheet zet de kleur met !important). */
.nav-actions .nav-emergency:hover,.nav-actions .nav-emergency:focus-visible{background:var(--vo-destructive)!important;border-color:var(--vo-destructive)!important;color:#fff!important}
/* Groen uit de nieuwe huisstijl; specifieker dan de oude regel '#cyber-warning .warning-strip-copy strong' (#174d2b). */
/* Mobiel: Eerste hulp als rond icoon (tekst blijft beschikbaar voor schermlezers) zodat het menu-icoon zichtbaar blijft. */
@media(max-width:600px){
  .nav-actions{gap:4px}
  .nav-actions .nav-emergency{flex:0 0 40px;width:40px;min-height:40px;padding:0!important;justify-content:center;gap:0;font-size:0!important;border-color:transparent}
  .nav-actions .nav-emergency svg{width:18px;height:18px}
}
@media(max-width:600px){
  .nav{gap:8px}
  .brand{gap:8px;min-width:0}
  .brand-mark{width:32px;height:32px}
  .brand-name{font-size:1rem}
  .brand-tag{font-size:.5rem;letter-spacing:.12em}
  .nav-actions{gap:2px;flex-shrink:0}
  .nav-actions .nav-search-icon,.nav-actions .nav-access-trigger,.nav-actions .menu-toggle{width:36px;height:36px;flex:0 0 36px}
  .nav-actions .nav-emergency{flex-basis:36px;width:36px;min-height:36px}
}
/* ---------- Homepage (inhoud en opbouw volgens index.html) ---------- */
.hp section{padding:0}
.hp h1,.hp h2,.hp h3{margin:0}
.hp p{margin:0}
.hp-hero{color:var(--vo-primary-fg);background:radial-gradient(60rem 30rem at 85% -10%,rgba(2,120,231,.35),transparent 60%),radial-gradient(40rem 30rem at -10% 110%,rgba(220,234,248,.25),transparent 60%),var(--vo-primary)}
.hp-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;padding:80px 0 112px}
.hp-kicker{color:var(--vo-signal);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hp-hero h1{margin-top:16px;color:var(--vo-primary-fg);font-size:clamp(2.4rem,5vw,3.75rem);letter-spacing:-.02em;font-weight:800;line-height:1.02}
.hp-hero h1 span{color:var(--vo-signal)}
.hp-hero-copy{max-width:32rem;margin-top:24px!important;color:rgba(247,250,254,.8);font-size:1.125rem;line-height:1.6}
.hp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hp-trust{display:flex;flex-wrap:wrap;gap:8px 24px;margin:32px 0 0;padding:0;list-style:none;color:rgba(247,250,254,.7);font-size:.875rem}
.hp-small{margin-top:4px!important;color:var(--vo-muted-fg);font-size:.875rem}
.hp-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border:1px solid transparent;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.hp-btn-lg{padding:12px 24px}
.hp-btn-accent{background:var(--vo-accent);color:var(--vo-accent-fg)}
.hp-btn-accent:hover{filter:brightness(1.1)}
.hp-hero .hp-btn-accent{box-shadow:0 12px 28px -12px rgba(2,120,231,.65)}
.hp-btn-ghost{border-color:rgba(247,250,254,.4);color:var(--vo-primary-fg)}
.hp-btn-ghost:hover{background:rgba(247,250,254,.1)}
.hp-btn-outline{border-color:var(--vo-border);background:transparent;color:var(--vo-fg)}
.hp-btn-outline:hover{background:var(--vo-muted)}
.hp-card{padding:20px;border:1px solid var(--vo-border);border-radius:1rem;background:var(--vo-card)}
.hp-shadow{box-shadow:var(--vo-shadow)}
.hp-status{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:-48px!important;position:relative;z-index:1}
.hp-status .hp-card{padding:24px}
.hp-status-title{font-weight:700}
.hp-primary{color:var(--vo-primary)}
.hp-search{max-width:48rem;margin:0 auto;padding:80px 24px!important;text-align:center}
.hp-search h2{font-size:2.25rem;font-weight:800}
.hp-search-form{display:flex;gap:8px;max-width:36rem;margin:24px auto 0}
.hp-search-form input{flex:1;min-width:0;padding:12px 20px;border:1px solid var(--vo-border)!important;border-radius:999px!important;background:var(--vo-card);font:inherit}
.hp-search-form input:focus{outline:2px solid var(--vo-accent);outline-offset:1px}
.hp-search-form .hp-btn{padding:0 24px}
.hp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.hp-chip{padding:4px 12px;border:0;border-radius:999px;background:var(--vo-secondary);color:var(--vo-primary);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.hp-chip:hover{filter:brightness(.95)}
.hp-section-tight{padding-bottom:96px!important}
.hp-head{max-width:42rem}
.hp-eyebrow{color:var(--vo-accent);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hp-eyebrow-sm{letter-spacing:.05em}
.hp-head h2{margin-top:8px;font-size:2.25rem;font-weight:800}
.hp-muted{margin-top:12px!important;color:var(--vo-muted-fg)}
.hp-grid{display:grid;gap:16px;margin-top:40px}
.hp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hp-tile{display:flex;flex-direction:column;padding:24px;border:1px solid var(--vo-border);border-radius:1rem;background:var(--vo-card);color:var(--vo-fg);text-decoration:none;transition:transform .15s,box-shadow .15s}
.hp-tile:hover{transform:translateY(-4px);box-shadow:var(--vo-shadow)}
.hp-tile:hover .hp-more{text-decoration:underline}
.hp-emoji{display:grid;place-items:center;width:48px;height:48px;border-radius:.75rem;background:var(--vo-secondary);font-size:1.5rem}
.hp-tile h3{margin-top:16px;font-size:1.125rem;font-weight:700}
.hp-tile>p{flex:1;margin-top:4px!important;color:var(--vo-muted-fg);font-size:.875rem;line-height:1.625}
.hp-tile-title{flex:1;margin-top:12px!important;font-family:var(--vo-font-display);font-size:1.125rem;font-weight:700}
.hp-more{margin-top:16px;color:var(--vo-accent);font-size:.875rem;font-weight:700}
.hp-band{padding:96px 0!important;background:var(--vo-muted)}
.hp-quiz{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:96px 0!important;scroll-margin-top:96px}
.hp-quiz-img{width:18rem;height:auto;margin-top:32px}
.hp-quiz-list{display:flex;flex-direction:column;gap:16px}
.hp-q{font-weight:700}
.hp-answers{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.hp-answer{padding:8px 16px;border:1px solid var(--vo-border);border-radius:999px;background:transparent;color:var(--vo-fg);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer;transition:border-color .15s}
.hp-answer:hover{border-color:var(--vo-accent)}
.hp-answer.is-right{border-color:var(--vo-success);background:var(--vo-success);color:#fff}
.hp-answer.is-wrong{border-color:var(--vo-destructive);background:rgba(231,0,11,.1);color:var(--vo-destructive)}
.hp-score{padding:16px;border-radius:1rem;background:var(--vo-primary);color:var(--vo-primary-fg);font-weight:700;text-align:center}
.hp-link-btn{align-self:flex-start;padding:0;border:0;background:none;color:var(--vo-accent);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.hp-link-btn:hover{text-decoration:underline}
.hp-share-wrap{padding:64px 0!important}
.hp-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:32px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card)}
.hp-share h2{font-size:1.5rem;font-weight:800}
.hp-share .hp-muted{margin-top:0!important}
.hp-share-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1023px){
  .hp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .hp-hero-grid,.hp-status,.hp-quiz{grid-template-columns:1fr}
  .hp-hero-grid{padding:56px 0 112px}
  .hp-quiz-img{display:none}
}
@media(max-width:639px){
  .hp-grid-3,.hp-grid-4{grid-template-columns:1fr}
  .hp-search{padding:64px 16px!important}
  .hp-share{padding:24px}
}
.hp .hp-tile-title{color:var(--vo-fg)!important;font-family:var(--vo-font-display)!important;font-weight:700!important}
.hp .hp-tile>p:not(.hp-tile-title){color:var(--vo-muted-fg)}
.hp-search h2{line-height:1.15}
.hp-search-results{text-align:left}
.hp-search-status{margin-top:24px!important;color:var(--vo-muted-fg);font-weight:700;text-align:center}
.hp-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.hp-search-grid .hp-tile{padding:20px}
.hp-search-grid .hp-tile-title{margin-top:0!important}
.hp-search-all{display:block;margin-top:16px;color:var(--vo-accent);font-weight:700;text-align:center;text-decoration:none}
.hp-search-all:hover{text-decoration:underline}
@media(max-width:639px){
  .hp-search-grid{grid-template-columns:1fr}
}
.hp-search-grid .hp-tile-title{flex:none}
.hp-search-grid .hp-tile>p:not(.hp-tile-title){flex:1;margin-top:6px!important}
/* Footer: 'Toch iets misgegaan?' */
.footer-help{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;padding:0 0 48px;margin-bottom:48px;border-bottom:1px solid rgba(247,250,254,.15)}
.footer-help h2{margin:0;color:var(--vo-primary-fg);font-size:1.875rem;font-weight:800}
.footer-help p{max-width:32rem;margin:8px 0 0;color:rgba(247,250,254,.75)}
.footer-help-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.footer .footer-help-btn{display:inline-flex;padding:12px 24px;border:1px solid transparent;border-radius:999px;font-weight:700;text-decoration:none!important}
.footer .footer-help-btn-light{background:var(--vo-primary-fg);color:var(--vo-primary)!important}
.footer .footer-help-btn-light:hover{opacity:.9}
.footer .footer-help-btn-ghost{border-color:rgba(247,250,254,.4);color:var(--vo-primary-fg)!important}
.footer .footer-help-btn-ghost:hover{background:rgba(247,250,254,.1)}
@media(max-width:767px){
  .footer-help{grid-template-columns:1fr}
  .footer-help-actions{justify-content:flex-start}
}
/* ---------- Volwassenen: cijferbalk over de hero en kennisbank in twee kolommen ---------- */
.page-volwassenen .audience-hero .hero-grid,.page-bedrijven .audience-hero .hero-grid,.page-kinderen .audience-hero .hero-grid{padding-bottom:120px}
.stats-strip{padding:0 0 32px!important;background:transparent!important}
.stats-strip .stats-grid{position:relative;z-index:2;margin-top:-64px;gap:0;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow);overflow:hidden}
.stats-strip .stat-card{padding:24px 28px;border:0!important;border-radius:0!important;background:transparent;box-shadow:none}
.stats-strip .stat-card+.stat-card{border-left:1px solid var(--vo-border)!important}
.stats-strip .stat-card:hover{transform:none;box-shadow:none;background:var(--vo-bg)}
.stats-strip .stat-number{margin:0 0 8px;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:800;line-height:1;letter-spacing:-.03em}
.stats-strip .stat-caption{min-height:0;color:var(--vo-muted-fg);font-size:.875rem;line-height:1.5}
.stats-strip .stats-footnote{margin-top:24px;color:var(--vo-muted-fg);font-size:.875rem}
.stats-strip .stats-footnote a{color:var(--vo-fg);text-decoration:underline;text-underline-offset:3px}
.kb-split{padding:64px 0!important;background:transparent!important}
.kb-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:start}
.kb-split-intro{position:sticky;top:112px}
.kb-split-intro h2{color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.kb-split-intro>p{margin-top:12px;color:var(--vo-muted-fg);font-size:1rem;line-height:1.6}
.kb-split-search{max-width:none;margin:24px 0 0;padding:20px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.kb-split-search label{color:var(--vo-fg);font-size:.875rem}
.kb-split .knowledge-grid{grid-template-columns:1fr;gap:12px}
.kb-split .knowledge-item{padding:0 20px;border-radius:var(--vo-radius)!important}
.kb-split .knowledge-item summary{padding:16px 48px 16px 0;font-size:1rem;font-weight:700;line-height:1.4}
.kb-split .knowledge-item summary:after{top:50%;right:0;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--vo-secondary);color:var(--vo-fg);font-size:1rem;font-weight:700;transform:translateY(-50%)}
.kb-split .knowledge-item[open] summary:after{content:"−"}
.kb-split .knowledge-item>:not(summary){font-size:.9375rem;line-height:1.65}
.kb-split .knowledge-item>:last-child{padding-bottom:20px}
.kb-split .kb-no-results{margin-top:16px;color:var(--vo-muted-fg)}
@media(max-width:900px){
  .stats-strip .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-strip .stat-card:nth-child(3){border-left:0!important}
  .stats-strip .stat-card:nth-child(n+3){border-top:1px solid var(--vo-border)!important}
  .kb-split-grid{grid-template-columns:1fr;gap:40px}
  .kb-split-intro{position:static}
}
@media(max-width:760px){
  .page-volwassenen .audience-hero .hero-grid,.page-bedrijven .audience-hero .hero-grid{padding-bottom:120px}
  .stats-strip .stat-card{padding:18px 16px}
  .kb-split{padding:48px 0!important}
  .kb-split .knowledge-item{padding:0 16px}
  .kb-split .knowledge-item summary{padding:14px 44px 14px 0}
  .kb-split .knowledge-item summary:after{width:28px;height:28px}
}
/* ---------- Over ons ---------- */
.page-over-ons .audience-hero .hero-grid{padding-bottom:120px}
.page-over-ons main>section.ab-promises{padding:0!important;background:transparent}
.ab-promise-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-64px 0 0;padding:0;list-style:none;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow);overflow:hidden}
.ab-promise{padding:24px 28px}
.ab-promise+.ab-promise{border-left:1px solid var(--vo-border)}
.ab-promise h3{margin:16px 0 4px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1rem;font-weight:700;letter-spacing:0}
.ab-promise p{margin:0;color:var(--vo-muted-fg);font-size:.875rem;line-height:1.5}
.ab-promise a{display:inline-block;margin-top:8px;color:var(--vo-accent);font-size:.875rem;font-weight:700}
.ab-promise a:hover{text-decoration:underline}
.ab-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:.75rem;background:var(--vo-secondary);color:var(--vo-primary)}
.ab-icon svg{width:20px;height:20px}
.page-over-ons main>section.ab-section{padding:80px 0!important;background:transparent}
.page-over-ons main>section.ab-contact{padding-top:0!important}
.ab-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px;align-items:start}
.ab-intro{position:sticky;top:112px}
.ab-intro h2{margin-top:8px;color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.ab-intro>p:not(.hp-eyebrow){margin-top:12px;color:var(--vo-muted-fg);font-size:1rem;line-height:1.7}
.ab-never{display:flex;gap:12px;align-items:flex-start;margin-top:24px!important;padding:16px;border-radius:var(--vo-radius);background:var(--vo-secondary);color:var(--vo-primary)!important;font-size:.9375rem!important;line-height:1.5!important}
.ab-never svg{flex:0 0 20px;width:20px;height:20px;margin-top:1px}
.ab-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ab-card{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.ab-card-wide{grid-column:1/-1}
.ab-card h3{margin:0 0 16px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.125rem;font-weight:700;letter-spacing:0}
.ab-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ab-list li{display:flex;gap:12px;align-items:flex-start;color:var(--vo-fg);font-size:.9375rem;line-height:1.5}
.ab-mark{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin-top:1px;border-radius:50%}
.ab-mark svg{width:13px;height:13px;stroke-width:2.6}
.ab-list-do .ab-mark{background:rgba(15,160,92,.12);color:var(--vo-success)}
.ab-list-dont .ab-mark{background:rgba(231,0,11,.08);color:var(--vo-destructive)}
.ab-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.ab-routes>div{padding:16px;border-radius:.75rem;background:var(--vo-bg)}
.ab-route-title{margin:0 0 4px!important;color:var(--vo-fg);font-size:.875rem;font-weight:700}
.ab-routes p:not(.ab-route-title){margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.55}
.ab-contact-list{display:grid;gap:16px;margin:32px 0 0;padding:0;list-style:none}
.ab-contact-list li{display:flex;gap:14px;align-items:flex-start}
.ab-contact-list p,.ab-contact-list a{margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.5}
.ab-contact-list a{color:var(--vo-accent);font-weight:700}
.ab-contact-list a:hover{text-decoration:underline}
.ab-form-card{padding:32px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow)}
.ab-form-card .contact-form{max-width:none;margin:0;gap:16px}
.ab-form-card .contact-form label{color:var(--vo-fg);font-size:.875rem;font-weight:700}
.ab-form-card .contact-form input:not([type=checkbox]):not([type=hidden]),.ab-form-card .contact-form textarea{border:1px solid var(--vo-border)!important;border-radius:.75rem!important;background:var(--vo-bg);transition:border-color .15s,background .15s}
.ab-form-card .contact-form input:focus,.ab-form-card .contact-form textarea:focus{border-color:var(--vo-accent)!important;background:var(--vo-card)}
.ab-form-card .contact-form-note{color:var(--vo-muted-fg);font-size:.8125rem}
.ab-form-card .contact-form-note a{color:var(--vo-accent);font-weight:700}
.ab-form-card>.contact-form-note{margin:0;font-size:.9375rem;line-height:1.6}
@media(max-width:900px){
  .ab-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-promise:nth-child(3){border-left:0}
  .ab-promise:nth-child(n+3){border-top:1px solid var(--vo-border)}
  .ab-split{grid-template-columns:1fr;gap:32px}
  .ab-intro{position:static}
}
@media(max-width:600px){
  .page-over-ons main>section.ab-section{padding:56px 0!important}
  .page-over-ons main>section.ab-contact{padding-top:0!important}
  .ab-promise{padding:20px 16px}
  .ab-cards,.ab-routes{grid-template-columns:1fr}
  .ab-form-card{padding:20px}
}
@media(max-width:420px){
  .ab-promise-grid{grid-template-columns:1fr}
  .ab-promise+.ab-promise{border-left:0;border-top:1px solid var(--vo-border)}
}
/* ---------- Tools: overzicht ---------- */
.page-tools main>section.tl-section{padding:80px 0;background:transparent}
.tl-head{max-width:40rem;margin-bottom:40px}
.tl-head h2{margin-top:8px;color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.tl-head p:not(.hp-eyebrow){margin-top:12px;color:var(--vo-muted-fg);font-size:1rem;line-height:1.6}
.tl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tl-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);transition:transform .15s,box-shadow .15s,border-color .15s}
.tl-card:hover{transform:translateY(-4px);border-color:var(--vo-signal);box-shadow:var(--vo-shadow)}
.tl-card:focus-within{border-color:var(--vo-accent)}
.tl-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.tl-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:.75rem;background:var(--vo-secondary);color:var(--vo-primary)}
.tl-icon svg{width:22px;height:22px}
.tl-tag{padding:4px 10px;border-radius:999px;background:var(--vo-muted);color:var(--vo-muted-fg);font-size:.75rem;font-weight:700}
.tl-card h3{margin:0 0 8px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.125rem;font-weight:700;line-height:1.35;letter-spacing:0}
.tl-card p{flex:1;margin:0 0 20px;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.6}
.tl-link{color:var(--vo-accent);font-size:.9375rem;font-weight:700;text-decoration:none}
.tl-link:after{content:"";position:absolute;inset:0;border-radius:inherit}
.tl-card:hover .tl-link{text-decoration:underline;text-underline-offset:3px}
.tl-link:focus-visible{outline:none}
.tl-card:has(.tl-link:focus-visible){outline:3px solid var(--vo-accent);outline-offset:3px}
.tl-featured{grid-row:span 2;padding:32px;border-color:transparent;color:var(--vo-primary-fg);background:radial-gradient(30rem 20rem at 100% 0%,rgba(2,120,231,.45),transparent 60%),var(--vo-primary)}
.tl-featured:hover{border-color:transparent}
.tl-featured .tl-icon{width:52px;height:52px;background:var(--vo-accent);color:#fff}
.tl-featured .tl-icon svg{width:26px;height:26px}
.tl-featured .tl-tag{background:rgba(247,250,254,.12);color:var(--vo-signal)}
.tl-featured h3{margin-top:auto;color:var(--vo-primary-fg);font-family:var(--vo-font-display);font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.tl-featured p{flex:0 0 auto;margin-bottom:20px;color:rgba(247,250,254,.8);font-size:1rem}
.tl-points{display:grid;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.tl-points li{position:relative;padding-left:26px;color:rgba(247,250,254,.9);font-size:.9375rem}
.tl-points li:before{content:"✓";position:absolute;left:0;top:0;color:var(--vo-signal);font-weight:700}
.tl-featured .tl-link{align-self:flex-start;color:var(--vo-accent-fg)}
.tl-featured:hover .tl-link{text-decoration:none;filter:brightness(1.1)}
@media(max-width:900px){
  .tl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-featured{grid-column:1/-1;grid-row:auto}
  .tl-featured h3{margin-top:0}
}
@media(max-width:600px){
  .page-tools main>section.tl-section{padding:56px 0}
  .tl-grid{grid-template-columns:1fr}
  .tl-card{padding:20px}
  .tl-featured{padding:24px}
}
.page-tools .hero-grid{padding-top:48px}
@media(max-width:860px){
  .page-tools .hero-grid{padding-top:32px}
}
.hero-art-wrap{padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:28px}
.hero-art-wrap:before,.hero-art-wrap:after{display:none!important}
.hero-visual>img.hero-art{position:relative!important;inset:auto!important;display:block;width:100%;height:auto!important;padding:0!important;border-radius:28px;object-fit:contain!important;opacity:1!important;animation:none!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important}
/* ---------- Bedrijven ---------- */
.page-bedrijven .audience-hero .eyebrow{display:inline-block}
.page-bedrijven .audience-hero .hero-grid{align-items:center}
.biz-video{position:relative;aspect-ratio:16/9;min-height:0!important;padding:0!important;border:1px solid rgba(247,250,254,.14);border-radius:1.5rem!important;background:#0b1f42!important;box-shadow:0 30px 60px -24px rgba(0,0,0,.55),0 0 0 8px rgba(247,250,254,.06)!important;overflow:hidden;isolation:isolate}
.biz-video:before,.biz-video:after{display:none!important}
.biz-video-el{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#0b1f42}
.biz-video-play{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;width:100%;padding:24px;border:0;background:linear-gradient(180deg,rgba(8,36,81,0) 40%,rgba(8,36,81,.82) 100%);color:#fff;text-align:left;cursor:pointer;font:inherit}
.biz-video-play[hidden]{display:none}
.biz-video-btn{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--vo-accent);color:#fff;box-shadow:0 12px 30px rgba(2,120,231,.45);transition:transform .2s}
.biz-video-btn:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--vo-accent);opacity:.5;animation:bizPulse 2.4s ease-out infinite;z-index:-1}
.biz-video-btn svg{width:30px;height:30px;margin-left:4px}
.biz-video-play:hover .biz-video-btn{transform:scale(1.08)}
.biz-video-play:focus-visible{outline:3px solid #ffbf47;outline-offset:-6px;border-radius:1.5rem}
.biz-video-meta{display:grid;gap:8px;max-width:26rem}
.biz-video-badge{justify-self:start;padding:4px 10px;border-radius:999px;background:rgba(247,250,254,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.75rem;font-weight:700}
.biz-video-meta strong{font-family:var(--vo-font-display);font-size:1.125rem;font-weight:700;line-height:1.3}
@keyframes bizPulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .biz-video-btn:before{animation:none;opacity:0}
}
.page-bedrijven main>section.biz-weeks{padding:48px 0 16px;background:transparent}
.biz-weeks-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.biz-weeks-head h2{margin-top:8px;color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.biz-weeks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.biz-weeks-grid li{padding:20px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.biz-weeks-grid span{color:var(--vo-accent);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.biz-weeks-grid p{margin:8px 0 0;color:var(--vo-fg);font-size:1rem;font-weight:700;line-height:1.4}
.page-bedrijven main>section.biz-extra{padding:64px 0!important;background:var(--vo-muted)!important}
.biz-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.biz-extra-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.biz-extra-card h3{margin:8px 0 12px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.25rem;font-weight:700;letter-spacing:0}
.biz-extra-card p:not(.hp-eyebrow){margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.65}
.biz-extra-card .biz-extra-note{margin-top:12px!important;color:var(--vo-fg)!important;font-weight:700}
.biz-extra-card .text-link{margin-top:16px}
@media(max-width:900px){
  .biz-weeks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .biz-extra-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .biz-weeks-head{flex-direction:column;align-items:flex-start}
  .biz-weeks-grid{grid-template-columns:1fr}
  .biz-video-play{padding:16px}
  .biz-video-btn{width:60px;height:60px;margin:-30px 0 0 -30px}
  .biz-video-meta strong{font-size:1rem}
}
/* ---------- Kinderen ---------- */
.kd-c-orange{--kd:#d9621c;--kd-ink:#a8460c;--kd-soft:#fff1e6}
.kd-c-pink{--kd:#e04a8a;--kd-ink:#b02d67;--kd-soft:#fde9f2}
.kd-c-green{--kd:#14a05f;--kd-ink:#0b7444;--kd-soft:#e4f6ec}
.kd-c-purple{--kd:#7a4bc2;--kd-ink:#5d33a0;--kd-soft:#f0e8fc}
.kd-c-blue{--kd:#0278e7;--kd-ink:#0262bd;--kd-soft:#e3f0fd}
.kd-c-yellow{--kd:#e0a800;--kd-ink:#8a6400;--kd-soft:#fff6d6}
body.page-kinderen main{background:var(--vo-bg)!important}
.page-kinderen main>section.kd-section{padding:80px 0;background:transparent}
.page-kinderen main>section.kd-section-tint{background:linear-gradient(135deg,#fff8e6 0%,#fdf0f6 40%,#eef5fd 75%,#ebf8f1 100%)}
.kd-head{max-width:44rem;margin-bottom:36px}
.kd-head h2{margin-top:14px;color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.kd-head p{margin-top:12px;color:var(--vo-muted-fg);font-size:1.0625rem;line-height:1.65}
.kd-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--kd-soft);color:var(--kd-ink);font-size:.875rem;font-weight:700}
/* Routes over de hero */
.page-kinderen main>section.kd-routes{padding:0;background:transparent}
.kd-route-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:-64px}
.kd-route{display:flex;align-items:center;gap:16px;padding:22px 24px;border:1px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card);box-shadow:var(--vo-shadow);color:var(--vo-fg);text-decoration:none;transition:transform .15s,border-color .15s}
.kd-route:hover{transform:translateY(-3px);border-color:var(--kd)}
.kd-route-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:1rem;background:var(--kd-soft);font-size:1.6rem}
.kd-route-text{display:grid;gap:2px;flex:1;min-width:0}
.kd-route-text strong{font-family:var(--vo-font-display);font-size:1.125rem;font-weight:800}
.kd-route-text span{color:var(--vo-muted-fg);font-size:.9375rem}
.kd-route-arrow{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--kd-soft);color:var(--kd-ink);font-weight:700}
/* Kaarten */
.kd-grid{display:grid;gap:16px}
.kd-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kd-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kd-card{position:relative;display:flex;flex-direction:column;padding:24px;border:1px solid var(--vo-border);border-top:4px solid var(--kd);border-radius:var(--vo-radius);background:var(--vo-card)}
.kd-card h3{margin:0 0 8px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.125rem;font-weight:700;line-height:1.35;letter-spacing:0}
.kd-card p{margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.65}
.kd-emoji{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin-bottom:16px;border-radius:.9rem;background:var(--kd-soft,var(--vo-secondary));font-size:1.5rem;line-height:1}
.kd-tip{margin-top:auto!important;padding:12px 14px;border-radius:.75rem;background:var(--kd-soft);color:var(--vo-fg)!important;font-size:.875rem!important;line-height:1.5!important}
.kd-card p+.kd-tip{margin-top:16px!important}
.kd-tip strong{color:var(--kd-ink)}
.kd-numbered{padding-top:20px}
.kd-num{display:grid;place-items:center;width:32px;height:32px;margin-bottom:12px;border-radius:50%;background:var(--kd-soft);color:var(--kd-ink);font-weight:800}
.kd-card-link{margin-top:auto!important;padding-top:14px}
.kd-card-link .text-link{font-size:.875rem}
.kd-note{max-width:48rem;margin-top:24px!important;padding:14px 16px;border-left:4px solid var(--vo-accent);border-radius:.5rem;background:var(--vo-card);color:var(--vo-muted-fg);font-size:.875rem;line-height:1.6}
/* Video's */
.kd-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kd-video h3{margin:14px 0 0;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.0625rem;font-weight:700;letter-spacing:0}
.kd-video-frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:1.25rem;background:#0b1f42;box-shadow:var(--vo-shadow)}
.kd-video-frame video,.kd-video-frame img{display:block;width:100%;height:100%;object-fit:cover}
.kd-video-link img{object-fit:contain;background:#fff7d8}
.kd-video-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:#e8312f;color:#fff;box-shadow:0 10px 24px rgba(232,49,47,.35);transition:transform .2s}
.kd-video-play svg{width:28px;height:28px;margin-left:3px}
.kd-video-link:hover .kd-video-play{transform:scale(1.08)}
.kd-video-badge{position:absolute;right:14px;bottom:14px;padding:4px 10px;border-radius:999px;background:rgba(8,36,81,.82);color:#fff;font-size:.75rem;font-weight:700}
/* Tools */
.kd-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.kd-tool{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:28px;border:1px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card);box-shadow:0 1px 0 var(--vo-border)}
.kd-tool-head{display:flex;gap:14px;align-items:flex-start}
.kd-tool-head .kd-emoji{margin:0}
.kd-tool-head h3{margin:2px 0 4px;color:var(--vo-fg);font-family:var(--vo-font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.kd-tool-head p{margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.5}
.kd-tool>.btn{align-self:flex-start}
.kd-label{margin-bottom:-8px;color:var(--vo-fg);font-size:.875rem;font-weight:700}
.kd-select{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--vo-border)!important;border-radius:.75rem!important;background:var(--vo-bg);color:var(--vo-fg);font:inherit}
.kd-quiz-host{min-height:3rem}
.kd-quiz-intro{margin:0;color:var(--vo-muted-fg)}
.kd-progress{margin:0 0 6px;color:var(--kd-ink);font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.kd-question,.kd-scenario{margin:0 0 12px;color:var(--vo-fg);font-size:1.0625rem;font-weight:700;line-height:1.45}
.kd-scenario{margin:0;padding:16px;border-radius:.9rem;background:var(--kd-soft)}
.kd-choices{display:grid;gap:10px}
.kd-choice{width:100%;padding:12px 16px;border:2px solid var(--vo-border);border-radius:.9rem;background:var(--vo-card);color:var(--vo-fg);font:inherit;font-size:.9375rem;font-weight:700;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.kd-choice:hover:not(:disabled){border-color:var(--kd);background:var(--kd-soft)}
.kd-choice:disabled{cursor:default}
.kd-choice.is-right{border-color:var(--vo-success);background:#e4f6ec;color:#0b5c37}
.kd-choice.is-right:before{content:"✓ ";color:var(--vo-success)}
.kd-choice.is-wrong{border-color:#e0a14a;background:#fff4e2;color:#7a4a05}
.kd-feedback{margin:0;font-size:.9375rem;line-height:1.55}
.kd-feedback:empty{display:none}
.kd-feedback[data-state]{padding:12px 14px;border-radius:.75rem}
.kd-feedback[data-state=right]{background:#e4f6ec;color:#0b5c37}
.kd-feedback[data-state=try]{background:#fff4e2;color:#7a4a05}
.kd-score{margin:0 0 4px;color:var(--kd-ink);font-family:var(--vo-font-display);font-size:2rem;font-weight:800}
.kd-help-plan ol{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:step}
.kd-help-plan li{position:relative;padding:10px 12px 10px 48px;border-radius:.75rem;background:var(--kd-soft);color:var(--vo-fg);font-size:.9375rem;line-height:1.5;counter-increment:step}
.kd-help-plan li:before{content:counter(step);position:absolute;left:12px;top:9px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--kd);color:#fff;font-size:.8125rem;font-weight:800}
.kd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kd-fields label{display:grid;gap:6px;color:var(--vo-fg);font-size:.875rem;font-weight:700}
.kd-fields input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--vo-border)!important;border-radius:.75rem!important;background:var(--vo-bg);color:var(--vo-fg);font:inherit;font-weight:400}
.kd-fields input:focus{border-color:var(--vo-accent)!important;background:var(--vo-card)}
.kd-field-wide{grid-column:1/-1}
.kd-tool-wide{grid-column:1/-1}
.kd-challenge{flex-direction:row;align-items:center;gap:20px;border:0;color:var(--vo-primary-fg);background:radial-gradient(30rem 16rem at 100% 0%,rgba(122,75,194,.55),transparent 60%),radial-gradient(24rem 14rem at 0% 100%,rgba(224,74,138,.35),transparent 60%),var(--vo-primary)}
.kd-challenge .kd-emoji{margin:0;background:rgba(247,250,254,.12)}
.kd-challenge-body{flex:1}
.kd-challenge h3{margin:0 0 4px;color:#ffd166;font-family:var(--vo-font-display);font-size:1.125rem;font-weight:800;letter-spacing:0}
.kd-challenge p{margin:0;color:var(--vo-primary-fg);font-size:1.0625rem;line-height:1.5}
body.page-kinderen .kd-challenge .btn.btn-outline{flex:0 0 auto;background:transparent;color:var(--vo-primary-fg);border-color:rgba(247,250,254,.4)}
body.page-kinderen .kd-challenge .btn.btn-outline:hover{background:rgba(247,250,254,.1)}
/* Kleurplaten */
.kd-plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kd-plate{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card)}
.kd-plate-preview{display:block;padding:16px;background:var(--kd-soft)}
.kd-plate-preview img{display:block;width:100%;height:auto;border-radius:.6rem;background:#fff;box-shadow:0 6px 18px rgba(8,36,81,.08);transition:transform .2s}
.kd-plate-preview:hover img{transform:scale(1.02)}
.kd-plate-body{display:flex;flex-direction:column;gap:14px;flex:1;padding:18px 20px 20px}
.kd-plate-body h3{margin:0;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1rem;font-weight:700;letter-spacing:0}
.kd-plate-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.kd-plate-actions .btn{min-height:40px;padding:8px 16px;font-size:.875rem}
@media(max-width:900px){
  .kd-route-grid,.kd-grid-3,.kd-plates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kd-route-grid .kd-route:last-child{grid-column:1/-1}
  .kd-tools,.kd-video-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .page-kinderen main>section.kd-section{padding:56px 0}
  .kd-route-grid,.kd-grid-3,.kd-grid-2,.kd-plates,.kd-fields{grid-template-columns:1fr}
  .kd-route{padding:16px}
  .kd-tool{padding:20px}
  .kd-challenge{flex-direction:column;align-items:flex-start}
}
/* ---------- Zoeken ---------- */
.page-zoeken main>.zk-hero{padding:0}
.zk-hero-inner{display:flex;flex-direction:column;align-items:center;max-width:46rem;padding:64px 0 72px;text-align:center}
.zk-hero .eyebrow{display:inline-block;padding:4px 12px;border:1px solid rgba(247,250,254,.3);border-radius:999px;color:var(--vo-primary-fg);font-size:.875rem;font-weight:400;letter-spacing:0;text-transform:none}
.zk-hero .hero-copy{margin-inline:auto}
.zk-form{width:100%;max-width:none;margin:32px 0 0}
.zk-bar{position:relative;display:flex;align-items:center;gap:8px;padding:8px;border-radius:999px;background:var(--vo-card);box-shadow:0 20px 40px -20px rgba(0,0,0,.45)}
.zk-bar-icon{flex:0 0 22px;width:22px;height:22px;margin-left:14px;color:var(--vo-muted-fg)}
.zk-bar input[type=search]{flex:1;min-width:0;min-height:48px;padding:0 8px!important;border:0!important;background:transparent;color:var(--vo-fg);font:inherit;font-size:1.0625rem;outline:none}
.zk-bar:focus-within{box-shadow:0 0 0 4px rgba(134,197,250,.55),0 20px 40px -20px rgba(0,0,0,.45)}
.zk-bar .btn{flex:0 0 auto;min-height:48px;box-shadow:none}
.zk-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:20px}
.zk-chips>span{color:rgba(247,250,254,.7);font-size:.875rem}
.zk-chip{padding:6px 14px;border:1px solid rgba(247,250,254,.25);border-radius:999px;color:var(--vo-primary-fg);font-size:.875rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s}
.zk-chip:hover{background:rgba(247,250,254,.12);border-color:rgba(247,250,254,.5)}
.page-zoeken main>section.zk-results-section{padding:56px 0 80px;background:transparent}
.zk-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.zk-results-head h2{color:var(--vo-fg);font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:800}
.zk-results-head p{margin:0;color:var(--vo-muted-fg);font-size:.9375rem;white-space:nowrap}
.zk-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.zk-result{position:relative;display:flex;flex-direction:column;padding:22px 24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);transition:transform .15s,border-color .15s,box-shadow .15s}
.zk-result:hover{transform:translateY(-3px);border-color:var(--vo-signal);box-shadow:var(--vo-shadow)}
.zk-result:focus-within{border-color:var(--vo-accent)}
.zk-type{align-self:flex-start;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:var(--vo-secondary);color:var(--vo-primary);font-size:.75rem;font-weight:700}
.zk-type-tool .zk-type{background:#e4f6ec;color:#0b6b3f}
.zk-type-kennisbank .zk-type{background:#f0e8fc;color:#5d33a0}
.zk-result h3{margin:0 0 6px;font-family:var(--vo-font-sans);font-size:1.125rem;font-weight:700;letter-spacing:0}
.zk-result h3 a{color:var(--vo-fg);text-decoration:none}
.zk-result h3 a:after{content:"";position:absolute;inset:0;border-radius:inherit}
.zk-result h3 a:focus-visible{outline:none}
.zk-result:has(h3 a:focus-visible){outline:3px solid var(--vo-accent);outline-offset:3px}
.zk-result:hover h3 a{color:var(--vo-accent)}
.zk-result p{flex:1;margin:0 0 14px;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.6}
.zk-url{color:var(--vo-muted-fg);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zk-url:after{content:" →";color:var(--vo-accent);font-weight:700}
.zk-empty{padding:40px 24px;border:1px dashed var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);text-align:center}
.zk-empty-title{margin:0 0 6px!important;color:var(--vo-fg);font-size:1.125rem;font-weight:700}
.zk-empty p{margin:0;color:var(--vo-muted-fg)}
#search-results[aria-busy=true]{opacity:.55;transition:opacity .15s}
@media(max-width:760px){
  .zk-hero-inner{padding:40px 0 48px}
  .zk-results{grid-template-columns:1fr}
  .zk-bar{flex-wrap:wrap;border-radius:1.25rem}
  .zk-bar input[type=search]{flex-basis:calc(100% - 60px)}
  .zk-bar .btn{width:100%}
  .zk-results-head{flex-direction:column;gap:4px}
}
/* ---------- Homepage: actuele waarschuwing met radar ---------- */
.hp-alert-title{display:flex;align-items:center;gap:10px;color:var(--vo-success)}
.hp-alert-dot{position:relative;flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--vo-success)}
.hp-alert.is-active{border-color:rgba(231,0,11,.25)}
.hp-alert.is-active .hp-alert-title{color:var(--vo-destructive)}
.hp-alert.is-active .hp-alert-dot{background:var(--vo-destructive);box-shadow:0 0 0 3px rgba(231,0,11,.15)}
.hp-alert.is-active .hp-alert-dot:before,.hp-alert.is-active .hp-alert-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--vo-destructive);opacity:.5;animation:hpRadar 2.4s ease-out infinite}
.hp-alert.is-active .hp-alert-dot:after{animation-delay:1.2s}
@keyframes hpRadar{0%{transform:scale(1);opacity:.5}100%{transform:scale(3.2);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .hp-alert.is-active .hp-alert-dot:before,.hp-alert.is-active .hp-alert-dot:after{animation:none;opacity:0}
}
.hp-alert-head{margin-top:10px!important;color:var(--vo-fg);font-size:1rem;font-weight:700;line-height:1.4}
.hp-alert .hp-small{line-height:1.55}
.hp-alert-meta{margin-top:12px!important;color:var(--vo-muted-fg);font-size:.8125rem}
.hp-alert-meta a{color:var(--vo-accent);font-weight:700}
.hp-alert-meta a:hover{text-decoration:underline}

/* ---------- Logo ---------- */
.brand{gap:12px}
.brand-mark{position:relative;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#2b8ff0 0%,var(--vo-accent) 45%,#0a3d8f 100%);box-shadow:0 6px 16px -6px rgba(2,120,231,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.brand-mark svg{width:21px;height:21px}
.brand-name{font-size:1.3rem;font-weight:800;letter-spacing:-.035em;line-height:1}
.brand-tag{display:flex;align-items:center;gap:7px;margin-top:6px;color:var(--vo-muted-fg);font-family:var(--vo-font-sans);font-size:.72rem;font-weight:400;letter-spacing:.02em;text-transform:none}
.brand-tag:before{content:"";flex:0 0 14px;width:14px;height:2px;border-radius:2px;background:var(--vo-accent)}
.footer .brand-tag{color:rgba(247,250,254,.65)}
.footer .brand-tag:before{background:var(--vo-signal)}
@media(max-width:860px){
  .brand{gap:9px}
  .brand-mark{width:34px;height:34px;border-radius:10px}
  .brand-mark svg{width:18px;height:18px}
  .brand-name{font-size:1.1rem}
  .brand-tag{font-size:.64rem;letter-spacing:.01em}
}
@media(max-width:600px){
  .brand{gap:8px;min-width:0}
  .brand-mark{width:32px;height:32px}
  .brand-name{font-size:1rem}
  .brand-tag{gap:5px;margin-top:4px;font-size:.6rem}
  .brand-tag:before{flex-basis:10px;width:10px}
}

/* ---------- Homepage: basis en veelgestelde vragen ---------- */
.hp-basics{padding:0 0 96px!important}
.hp-basics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 0;padding:0;list-style:none}
.hp-basic{display:flex;flex-direction:column;padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.hp-basic-num{display:grid;place-items:center;width:32px;height:32px;margin-bottom:14px;border-radius:50%;background:var(--vo-secondary);color:var(--vo-primary);font-weight:800}
.hp-basic h3{margin:0 0 8px;color:var(--vo-fg);font-family:var(--vo-font-sans);font-size:1.0625rem;font-weight:700;letter-spacing:0}
.hp-basic p{flex:1;margin:0;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.6}
.hp-basic-link{margin-top:14px;color:var(--vo-accent);font-size:.875rem;font-weight:700}
.hp-basic-link:hover{text-decoration:underline}
.hp-faq{max-width:48rem;margin-top:64px}
.hp-faq-title{margin-bottom:16px;color:var(--vo-fg);font-size:1.5rem;font-weight:800}
.hp-faq-item{margin-top:10px;padding:0 20px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.hp-faq-item summary{position:relative;padding:16px 36px 16px 0;color:var(--vo-fg);font-weight:700;list-style:none;cursor:pointer}
.hp-faq-item summary::-webkit-details-marker{display:none}
.hp-faq-item summary:after{content:"+";position:absolute;right:0;top:50%;display:grid;place-items:center;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--vo-secondary);color:var(--vo-primary);font-weight:700}
.hp-faq-item[open] summary:after{content:"−"}
.hp-faq-item p{margin:0;padding-bottom:18px;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.65}
@media(max-width:900px){.hp-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hp-basics-grid{grid-template-columns:1fr}.hp-basics{padding-bottom:64px!important}}

/* ---------- Bedrijven: verzekering en NIS2 ---------- */
.biz-extra-head{max-width:44rem;margin-bottom:32px}
.biz-extra-head h2{margin-top:8px;color:var(--vo-fg);font-size:clamp(1.9rem,3.4vw,2.25rem);font-weight:800;line-height:1.15}
.biz-extra-head p:not(.hp-eyebrow){margin-top:12px;color:var(--vo-muted-fg);font-size:1rem;line-height:1.65}
.biz-extra-grid{align-items:start}
.biz-extra-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:.75rem;background:var(--vo-secondary);color:var(--vo-primary)}
.biz-extra-icon svg{width:22px;height:22px}
.biz-extra-card h3{margin-top:0}
.biz-extra-card .biz-extra-sub{margin:20px 0 8px!important;color:var(--vo-fg)!important;font-size:.9375rem!important;font-weight:700}
.biz-extra-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.biz-extra-list li{position:relative;padding-left:22px;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.55}
.biz-extra-list li:before{content:"";position:absolute;left:4px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--vo-accent)}
.biz-extra-list strong{color:var(--vo-fg)}
.biz-extra-card .biz-extra-note{margin-top:20px!important;padding:14px 16px;border-radius:.75rem;background:var(--vo-bg);color:var(--vo-muted-fg)!important;font-weight:400}
.biz-extra-note strong{color:var(--vo-fg)}
.biz-extra-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px 28px;border-radius:var(--vo-radius);background:var(--vo-primary);color:var(--vo-primary-fg)}
.biz-extra-cta p{margin:0;max-width:40rem;color:rgba(247,250,254,.85);line-height:1.55}
.biz-extra-cta strong{color:#fff}
.biz-extra-cta .btn{flex:0 0 auto}
@media(max-width:600px){.biz-extra-cta{flex-direction:column;align-items:flex-start}}

/* Titeldelen die bij elkaar moeten blijven */
.hero-nowrap{white-space:nowrap}
@media(max-width:480px){.hero-nowrap{white-space:normal}}

/* Terug naar boven: ronde knop met alleen een pijl */
.back-top{place-items:center;width:48px!important;height:48px!important;min-width:0!important;padding:0!important;right:20px;bottom:20px}
.back-top svg{width:22px;height:22px}
@media(max-width:600px){.back-top{width:44px!important;height:44px!important;right:14px;bottom:14px}}

/* ---------- Bedrijven: artikelen voor ondernemers ---------- */
.biz-articles-head{margin:48px 0 20px}
.biz-articles-head h3{color:var(--vo-fg);font-size:1.5rem;font-weight:800}
.biz-articles-head p{max-width:44rem;margin-top:8px;color:var(--vo-muted-fg);line-height:1.6}
.biz-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.biz-article{border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);scroll-margin-top:100px;transition:box-shadow .15s}
.biz-article[open]{box-shadow:var(--vo-shadow)}
.biz-article summary{position:relative;display:grid;gap:6px;padding:22px 64px 22px 24px;list-style:none;cursor:pointer}
.biz-article summary::-webkit-details-marker{display:none}
.biz-article summary:after{content:"+";position:absolute;top:22px;right:22px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vo-secondary);color:var(--vo-primary);font-weight:700}
.biz-article[open] summary:after{content:"−"}
.biz-article-tag{justify-self:start;padding:3px 10px;border-radius:999px;background:var(--vo-secondary);color:var(--vo-primary);font-size:.75rem;font-weight:700}
.biz-article-title{color:var(--vo-fg);font-size:1.125rem;font-weight:700;line-height:1.35}
.biz-article-lead{color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.55}
.biz-article-body{padding:0 24px 24px}
.biz-article-body>p{margin:0 0 14px;color:var(--vo-muted-fg);font-size:.9375rem;line-height:1.65}
.biz-article-body .text-link{display:inline-block;margin-top:16px}
@media(max-width:760px){.biz-articles{grid-template-columns:1fr}}

/* ---------- Homepage: zelftest vraag voor vraag ---------- */
.hp-quiz-progress{display:grid;gap:8px;color:var(--vo-muted-fg);font-size:.875rem;font-weight:700}
.hp-quiz-progress[hidden],.hp-quiz-list .hp-card[hidden]{display:none}
.hp-quiz-bar{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--vo-muted)}
.hp-quiz-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--vo-accent);transition:width .3s ease}
.hp-quiz-list .hp-card{animation:hpQuizIn .3s ease}
@keyframes hpQuizIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hp-quiz-list .hp-card{animation:none}.hp-quiz-bar i{transition:none}}
.hp-answer:disabled{cursor:default}
.hp-answer:disabled:not(.is-right):not(.is-wrong){opacity:.6}
.hp-quiz-feedback{margin:0;padding:12px 16px;border-radius:.75rem;font-weight:700}
.hp-quiz-feedback[data-state=right]{background:#e4f6ec;color:#0b5c37}
.hp-quiz-feedback[data-state=try]{background:#fff4e2;color:#7a4a05}
.hp-quiz-next{align-self:flex-start}
.hp-quiz-next[hidden]{display:none}

/* ---------- Tools: sectie voor kinderen ---------- */
.page-tools main>section.tl-kids{padding-top:0;background:transparent}
.tl-kids .tl-card{border-top:4px solid var(--kd)}
.tl-kids .tl-card:hover{border-color:var(--kd)}
.tl-kids .tl-icon{background:var(--kd-soft);color:var(--kd-ink)}
.tl-kids .tl-tag{background:var(--kd-soft);color:var(--kd-ink)}
.tl-kids .tl-link{color:var(--kd-ink)}
.tl-section{scroll-margin-top:90px}
/* ---------- 30-dagenplan: voortgang, weekkaarten en afvinkbare dagen ---------- */
#actieplan{scroll-margin-top:90px}
.plan-print-head,.plan-print-notes{display:none}
.plan-progress{margin:0 0 24px;padding:20px 24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);box-shadow:var(--vo-shadow)}
.plan-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.plan-progress-top p{margin:0;font-size:1rem;color:var(--vo-fg)}
.plan-progress-top strong{font-family:var(--vo-font-display);font-size:1.5rem;font-weight:800;color:var(--vo-accent)}
.plan-reset{min-height:36px;padding:6px 14px;border:1px solid var(--vo-border);border-radius:999px;background:transparent;color:var(--vo-muted-fg);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.plan-reset:hover{border-color:var(--vo-fg);color:var(--vo-fg)}
.plan-progress-bar{height:10px;margin:14px 0 10px;border-radius:999px;background:var(--vo-muted);overflow:hidden}
.plan-progress-bar span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--vo-accent),var(--vo-success));transition:width .3s ease}
.plan-progress-text{margin:0;font-size:.9375rem;color:var(--vo-muted-fg)}
.plan-weeks{display:grid;gap:20px}
.plan-week{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.plan-week-head{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:start;margin-bottom:8px}
.plan-week-head>*{grid-column:1}
.plan-week-label{margin:0 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vo-accent)}
.plan-week-head h3{margin:0 0 6px;font-size:1.375rem;color:var(--vo-fg)}
.plan-week-head p:not(.plan-week-label):not(.plan-week-count){margin:0;max-width:640px;color:var(--vo-muted-fg);line-height:1.6}
.plan-week-head .plan-week-count{grid-column:2;grid-row:1/span 3;margin:0;padding:6px 12px;border-radius:999px;background:var(--vo-secondary);color:var(--vo-fg);font-weight:700;font-size:.875rem;white-space:nowrap}
.plan-week.is-complete .plan-week-count{background:var(--vo-success);color:#fff}
.plan-tasks{list-style:none;margin:0;padding:0}
.plan-task{display:grid;grid-template-columns:24px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--vo-border)}
.plan-task:last-child{padding-bottom:0}
.plan-task input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--vo-success);cursor:pointer}
.plan-task label{display:block;cursor:pointer}
.plan-day{display:inline-block;margin:0 0 4px;padding:2px 9px;border-radius:999px;background:var(--vo-muted);color:var(--vo-muted-fg);font-size:.75rem;font-weight:700}
.plan-task strong{display:block;font-size:1.0625rem;line-height:1.4;color:var(--vo-fg)}
.plan-task-text{display:block;margin-top:4px;font-size:.9375rem;line-height:1.6;color:var(--vo-muted-fg)}
.plan-task-link{display:inline-block;margin-top:8px;font-size:.9375rem;font-weight:700;color:var(--vo-accent)}
.plan-task.is-done strong{color:var(--vo-muted-fg);text-decoration:line-through;text-decoration-color:var(--vo-success);text-decoration-thickness:2px}
.plan-task.is-done .plan-day{background:var(--vo-success);color:#fff}
.plan-pdf-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:28px}
.plan-pdf-actions .plan-pdf-button{display:inline-flex;align-items:center;gap:8px}
.plan-pdf-actions .plan-pdf-button svg{width:18px;height:18px}
.plan-pdf-actions p{flex:1 1 280px;margin:0;font-size:.875rem;color:var(--vo-muted-fg)}
@media(max-width:600px){
  .plan-progress,.plan-week{padding:18px 16px}
  .plan-week-head{grid-template-columns:1fr}
  .plan-week-head .plan-week-count{grid-column:1;grid-row:auto;justify-self:start;margin-top:10px}
  .plan-task{gap:12px}
}
/* 30-dagenplan als PDF: eigen kop, doorlopende weken, losse dagen niet over twee pagina's. */
@media print{
  body[data-print-target="plan"]{font-size:10pt;color:#000}
  body[data-print-target="plan"] #actieplan{break-inside:auto!important;page-break-inside:auto!important}
  body[data-print-target="plan"] #actieplan .section-head,body[data-print-target="plan"] .plan-progress,body[data-print-target="plan"] .plan-task-link{display:none!important}
  body[data-print-target="plan"] .plan-print-head{display:block;margin:0 0 14pt;padding:0 0 10pt;border-bottom:2pt solid var(--vo-accent)}
  body[data-print-target="plan"] .plan-print-brand{margin:0 0 4pt;font-family:var(--vo-font-display);font-size:11pt;font-weight:800;color:var(--vo-fg)}
  body[data-print-target="plan"] .plan-print-brand span{color:var(--vo-accent)}
  body[data-print-target="plan"] .plan-print-head .plan-print-title{font-family:var(--vo-font-display);font-weight:800;margin:0 0 4pt;font-size:20pt;line-height:1.15;color:var(--vo-fg)}
  body[data-print-target="plan"] .plan-print-meta{margin:0;font-size:9.5pt;color:#40506a}
  body[data-print-target="plan"] .plan-weeks{display:block}
  body[data-print-target="plan"] .plan-week{break-inside:auto;page-break-inside:auto;margin:0 0 12pt;padding:0;border:0;border-radius:0;background:none}
  body[data-print-target="plan"] .plan-week-head{display:block;margin:0 0 4pt;padding:5pt 8pt;border-radius:4pt;background:#eaf3fd;break-after:avoid;page-break-after:avoid}
  body[data-print-target="plan"] .plan-week-label{margin:0;font-size:7.5pt}
  body[data-print-target="plan"] .plan-week-head h3{margin:1pt 0 0;font-size:12.5pt}
  body[data-print-target="plan"] .plan-week-head p:not(.plan-week-label){display:none}
  body[data-print-target="plan"] .plan-task{grid-template-columns:13pt 1fr;gap:8pt;padding:5pt 0;border-top:0.5pt solid #cfdceb;break-inside:avoid;page-break-inside:avoid}
  body[data-print-target="plan"] .plan-task:first-child{border-top:0}
  body[data-print-target="plan"] #actieplan .plan-task input[type=checkbox]{appearance:none;-webkit-appearance:none;width:11pt;height:11pt;margin:1pt 0 0;border:1pt solid #40506a;border-radius:2pt;background:#fff;box-shadow:none}
  body[data-print-target="plan"] #actieplan .plan-task input[type=checkbox][data-print-checked="1"]{border-color:var(--vo-success);background:var(--vo-success);box-shadow:inset 0 0 0 2pt #fff}
  body[data-print-target="plan"] .plan-day{display:inline;margin:0 4pt 0 0;padding:0;background:none!important;color:var(--vo-accent)!important;font-size:8.5pt}
  body[data-print-target="plan"] .plan-task strong{display:inline;font-size:10pt;color:#000}
  body[data-print-target="plan"] .plan-task-text{margin-top:1pt;font-size:8.5pt;line-height:1.4;color:#333}
  body[data-print-target="plan"] .plan-print-notes{display:block;margin-top:14pt;break-inside:avoid;page-break-inside:avoid}
  body[data-print-target="plan"] .plan-print-notes h2{margin:0 0 2pt;font-size:12.5pt;color:var(--vo-fg)}
  body[data-print-target="plan"] .plan-print-notes>p{margin:0;font-size:8.5pt;color:#40506a}
  body[data-print-target="plan"] .plan-print-lines{height:110pt;margin-top:6pt;background:repeating-linear-gradient(to bottom,transparent 0,transparent 21pt,#b8c7d9 21pt,#b8c7d9 22pt)}
  body[data-print-target="plan"] .plan-print-foot{margin-top:10pt!important;padding-top:6pt;border-top:0.5pt solid #cfdceb;font-size:8pt!important;color:#40506a}
}
/* 30-dagenplan: geanimeerde kalenderkaart in de hero (statisch bij prefers-reduced-motion). */
.plan-hero-card,.pw-hero-card,.pk-hero-card,.ai-hero-card,.ts-hero-card{position:relative;padding:24px;border:1px solid rgba(247,250,254,.14);border-radius:1.5rem;background:rgba(247,250,254,.06);box-shadow:0 30px 60px -24px rgba(0,0,0,.55),0 0 0 8px rgba(247,250,254,.04);color:var(--vo-primary-fg);overflow:hidden}
.plan-hero-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}
.plan-hero-top p{margin:0}
.plan-hero-title{font-family:var(--vo-font-display);font-size:1.125rem;font-weight:700}
.plan-hero-count{font-size:.875rem;color:rgba(247,250,254,.7)}
.plan-hero-count strong{display:inline-block;min-width:2ch;font-family:var(--vo-font-display);font-size:1.5rem;font-weight:800;color:var(--vo-signal);text-align:right}
.plan-hero-grid{display:grid;gap:8px}
.plan-hero-row{display:grid;grid-template-columns:76px repeat(7,minmax(0,1fr));gap:6px;align-items:center}
.plan-hero-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(247,250,254,.5);transition:color .3s}
.plan-hero-row.is-current .plan-hero-label{color:var(--vo-signal)}
.plan-hero-row.is-done .plan-hero-label{color:#5fd39a}
.plan-hero-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(247,250,254,.12);border-radius:.5rem;background:rgba(247,250,254,.05);color:rgba(247,250,254,.55);font-size:.75rem;font-weight:700;transition:background .3s,border-color .3s,color .3s,transform .3s}
.plan-hero-day.is-current{border-color:var(--vo-accent);background:rgba(2,120,231,.25);color:#fff;transform:scale(1.08)}
.plan-hero-day.is-current:before{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid var(--vo-accent);animation:planHeroPulse 1.3s ease-out infinite}
.plan-hero-day.is-done{border-color:var(--vo-success);background:var(--vo-success);color:transparent}
.plan-hero-day.is-done:after{content:"";position:absolute;width:36%;height:18%;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-15%) rotate(-45deg);animation:planHeroCheck .3s ease-out}
.plan-hero-bar{height:8px;margin:20px 0 12px;border-radius:999px;background:rgba(247,250,254,.1);overflow:hidden}
.plan-hero-bar span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--vo-accent),var(--vo-success));transition:width .5s ease}
.plan-hero-task{min-height:2.9em;margin:0;font-size:.9375rem;line-height:1.45;color:rgba(247,250,254,.85);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plan-hero-badge{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border-radius:999px;background:var(--vo-success);color:#fff;font-size:.8125rem;font-weight:700;opacity:0;transform:translateY(-8px) scale(.9);transition:opacity .35s,transform .35s;pointer-events:none}
.plan-hero-badge svg{width:16px;height:16px}
.plan-hero-card.is-complete .plan-hero-badge{opacity:1;transform:none}
.plan-hero-card.is-complete .plan-hero-count{opacity:0}
@keyframes planHeroPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.45);opacity:0}}
@keyframes planHeroCheck{from{opacity:0;transform:translateY(-15%) rotate(-45deg) scale(.4)}to{opacity:1;transform:translateY(-15%) rotate(-45deg) scale(1)}}
@media(prefers-reduced-motion:reduce){
  .plan-hero-day,.plan-hero-bar span,.plan-hero-badge{transition:none}
  .plan-hero-day.is-current:before,.plan-hero-day.is-done:after{animation:none}
}
@media(max-width:600px){
  .plan-hero-card{padding:18px 16px}
  .plan-hero-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
  .plan-hero-label{grid-column:1/-1;margin-top:4px}
  .plan-hero-day{font-size:.6875rem;border-radius:.375rem}
}
/* ---------- Wachtwoordgenerator: hero-animatie ---------- */
.pw-hero-top{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.pw-hero-top p{margin:0}
.pw-hero-title{font-family:var(--vo-font-display);font-size:1.125rem;font-weight:700}
.pw-hero-sub{font-size:.8125rem;color:rgba(247,250,254,.6)}
.pw-hero-lock{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:.875rem;background:rgba(2,120,231,.22);color:var(--vo-signal);transition:background .35s,color .35s}
.pw-hero-lock svg{width:26px;height:26px}
.pw-hero-shackle{transform:translateY(-3px);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.pw-hero-card.is-locked .pw-hero-lock{background:var(--vo-success);color:#fff}
.pw-hero-card.is-locked .pw-hero-shackle{transform:none}
.pw-hero-card.is-locked .pw-hero-lock:after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--vo-success);animation:planHeroPulse 1.2s ease-out 2}
.pw-hero-field{display:flex;justify-content:center;gap:1px;padding:16px 12px;border:1px solid rgba(247,250,254,.14);border-radius:.875rem;background:rgba(3,14,34,.45);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1rem,2.4vw,1.375rem);font-weight:700;letter-spacing:.02em;overflow:hidden}
.pw-hero-field span{display:inline-block;min-width:1ch;text-align:center;color:rgba(134,197,250,.45);transition:color .2s,transform .2s}
.pw-hero-field span.is-set{color:#fff;animation:pwHeroSet .25s ease-out}
.pw-hero-card.is-locked .pw-hero-field{border-color:rgba(15,160,92,.6)}
.pw-hero-strength{display:flex;align-items:center;gap:12px;margin:16px 0 14px}
.pw-hero-strength p{flex:0 0 auto;min-width:8.5em;margin:0;font-size:.875rem;font-weight:700;color:rgba(247,250,254,.75);text-align:right}
.pw-hero-meter{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.pw-hero-meter span{height:8px;border-radius:999px;background:rgba(247,250,254,.1);transition:background .3s}
.pw-hero-card[data-level="1"] .pw-hero-meter .is-on{background:var(--vo-destructive)}
.pw-hero-card[data-level="2"] .pw-hero-meter .is-on{background:#f5a524}
.pw-hero-card[data-level="3"] .pw-hero-meter .is-on,.pw-hero-card[data-level="4"] .pw-hero-meter .is-on{background:var(--vo-success)}
.pw-hero-card[data-level="4"] .pw-hero-strength p{color:#5fd39a}
.pw-hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.pw-hero-chips li{padding:4px 10px;border:1px solid rgba(247,250,254,.14);border-radius:999px;font-size:.75rem;font-weight:700;color:rgba(247,250,254,.45);transition:all .3s}
.pw-hero-chips li.is-on{border-color:rgba(15,160,92,.5);background:rgba(15,160,92,.18);color:#c9f2dc}
.pw-hero-chips li.is-on:before{content:"✓ "}
@keyframes pwHeroSet{from{transform:translateY(-6px);opacity:.3}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){
  .pw-hero-field span,.pw-hero-shackle,.pw-hero-lock,.pw-hero-chips li{transition:none}
  .pw-hero-field span.is-set,.pw-hero-card.is-locked .pw-hero-lock:after{animation:none}
}
/* ---------- Wachtwoordgenerator: de tool ---------- */
.pwg-section{padding:0 0 24px;margin-top:-48px;position:relative;z-index:1}
.pwg{max-width:48rem;margin:0 auto;padding:28px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow)}
.pwg-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:18px}
.pwg-head h2{margin:0;font-size:1.5rem}
.pwg-local{display:inline-flex;align-items:center;gap:6px;margin:0;padding:5px 12px;border-radius:999px;background:rgba(15,160,92,.1);color:#0b7a46;font-size:.8125rem;font-weight:700}
.pwg-local svg{width:15px;height:15px}
.pwg-mode{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border:0;border-radius:999px;background:var(--vo-muted)}
.pwg-mode label{position:relative;cursor:pointer}
.pwg-mode input{position:absolute;opacity:0;pointer-events:none}
.pwg-mode span{display:block;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.9375rem;color:var(--vo-muted-fg);transition:background .2s,color .2s}
.pwg-mode input:checked+span{background:var(--vo-card);color:var(--vo-fg);box-shadow:0 1px 3px rgba(8,36,81,.15)}
.pwg-mode input:focus-visible+span{outline:3px solid var(--vo-accent);outline-offset:2px}
.pwg-result{display:flex;align-items:stretch;gap:10px}
.pwg-output{flex:1;min-width:0;display:flex;align-items:center;min-height:64px;padding:14px 18px;border:2px solid var(--vo-border);border-radius:1rem;background:var(--vo-bg);color:var(--vo-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.05rem,2.6vw,1.375rem);font-weight:700;line-height:1.4;word-break:break-all;user-select:all;-webkit-user-select:all}
.pwg-output:focus-visible{border-color:var(--vo-accent);outline:0}
.pwg-output .is-digit{color:var(--vo-accent)}
.pwg-output .is-symbol{color:#c2410c}
.pwg-actions{display:flex;gap:8px;align-items:center}
.pwg-refresh{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--vo-border);border-radius:50%;background:var(--vo-card);color:var(--vo-fg);cursor:pointer;transition:border-color .15s,background .15s}
.pwg-refresh:hover{border-color:var(--vo-accent);background:var(--vo-muted)}
.pwg-refresh svg{width:22px;height:22px}
.pwg-refresh.is-spinning svg{animation:pwgSpin .5s ease-out}
.pwg-copy{display:inline-flex;align-items:center;gap:8px;min-height:52px;white-space:nowrap}
.pwg-copy svg{width:18px;height:18px}
.pwg-copy.is-copied{background:var(--vo-success);border-color:var(--vo-success)}
.pwg-strength{margin-top:14px}
.pwg-meter{height:8px;border-radius:999px;background:var(--vo-muted);overflow:hidden}
.pwg-meter span{display:block;width:0;height:100%;border-radius:inherit;background:var(--vo-success);transition:width .3s ease,background .3s}
.pwg-strength[data-level="weak"] .pwg-meter span{background:var(--vo-destructive)}
.pwg-strength[data-level="fair"] .pwg-meter span{background:#e08a00}
.pwg-strength p{margin:8px 0 0;font-size:.9375rem;color:var(--vo-muted-fg);line-height:1.5}
.pwg-strength strong{color:#0b7a46}
.pwg-strength[data-level="weak"] strong{color:#c4000a}
.pwg-strength[data-level="fair"] strong{color:#9a5b00}
.pwg-status{min-height:1.4em;margin:6px 0 0;font-size:.875rem;font-weight:700;color:var(--vo-accent)}
.pwg-options{display:grid;gap:18px;margin-top:14px;padding-top:20px;border-top:1px solid var(--vo-border)}
.pwg-options[hidden]{display:none}
.pwg-range-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.pwg-range-top label,.pwg-select label,.pwg-toggles legend{font-weight:700;color:var(--vo-fg)}
.pwg-range-top span{color:var(--vo-muted-fg)}
.pwg-range-top output{font-family:var(--vo-font-display);font-size:1.25rem;font-weight:800;color:var(--vo-accent)}
.pwg-range input{width:100%;accent-color:var(--vo-accent);cursor:pointer}
.pwg-toggles{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.pwg-toggles legend{float:left;width:100%;margin-bottom:8px;padding:0}
.pwg-toggles label{position:relative;cursor:pointer}
.pwg-toggles input{position:absolute;opacity:0;pointer-events:none}
.pwg-toggles span{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:2px solid var(--vo-border);border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;color:var(--vo-muted-fg);transition:all .15s}
.pwg-toggles input:checked+span{border-color:var(--vo-accent);background:rgba(2,120,231,.08);color:var(--vo-fg)}
.pwg-toggles input:checked+span:before{content:"✓";color:var(--vo-accent)}
.pwg-toggles input:focus-visible+span{outline:3px solid var(--vo-accent);outline-offset:2px}
.pwg-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:var(--vo-fg);line-height:1.5}
.pwg-check input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--vo-accent)}
.pwg-select{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pwg-select select{min-height:44px;padding:8px 14px;border:2px solid var(--vo-border);border-radius:.75rem;background:var(--vo-card);color:var(--vo-fg);font:inherit}
.pwg-tip{max-width:48rem;margin:16px auto 0;padding:0 4px;font-size:.9375rem;color:var(--vo-muted-fg)}
.pwg-tip a{color:var(--vo-accent);font-weight:700}
.pwg-page .topic-content{padding-top:8px}
.pwg-facts ul{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.pwg-facts li{margin:8px 0;color:var(--vo-muted-fg);line-height:1.6}
.pwg-facts li strong{color:var(--vo-fg)}
.pwg.is-disabled .pwg-options{opacity:.5;pointer-events:none}
@keyframes pwgSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pwg-refresh.is-spinning svg{animation:none}}
@media(max-width:600px){
  .pwg-section{margin-top:-32px}
  .pwg{padding:20px 16px;border-radius:1.25rem}
  .pwg-result{flex-direction:column}
  .pwg-actions .pwg-copy{flex:1;justify-content:center}
  .pwg-mode{display:flex}
  .pwg-mode label{flex:1;text-align:center}
}
/* ---------- Printbare kaarten: de kaart zelf (scherm, print en PDF delen deze opmaak) ---------- */
.pk-card{display:flex;flex-direction:column;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:#fff;color:var(--vo-fg);overflow:hidden;font-family:var(--vo-font-sans);font-size:.9375rem;line-height:1.5;box-shadow:var(--vo-shadow)}
.pk-card-band{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#eaf3fd;border-bottom:1px solid var(--vo-border)}
.pk-card-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--vo-font-display);font-weight:800;font-size:1em;letter-spacing:-.02em;color:var(--vo-fg)}
.pk-card-brand>span:last-child>span{color:var(--vo-accent)}
.pk-card-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:.5rem;background:var(--vo-accent);color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pk-card-mark svg{width:15px;height:15px}
.pk-card-place{padding:3px 10px;border:1px solid var(--vo-border);border-radius:999px;background:#fff;font-size:.8em;font-weight:700;color:var(--vo-muted-fg);white-space:nowrap}
.pk-card-body{flex:1;padding:20px}
.pk-card-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:6px}
.pk-card-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:.875rem;background:var(--vo-secondary);color:var(--vo-accent)}
.pk-card-icon svg{width:24px;height:24px}
.pk-card h3{margin:0;font-family:var(--vo-font-display);font-size:1.45em;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--vo-fg)}
.pk-card-lead{margin:4px 0 0;color:var(--vo-muted-fg)}
.pk-card-section{margin-top:16px;padding:0}
.pk-card-section h4{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--vo-font-display);font-size:1.05em;font-weight:700;color:var(--vo-fg)}
.pk-card-section h4 span{display:grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--vo-accent);color:#fff;font-size:.8em;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pk-card-section ul{margin:0;padding:0;list-style:none}
.pk-card-section li{position:relative;margin:0;padding:5px 0 5px 30px;border-top:1px solid #edf2f8}
.pk-card-section li:first-child{border-top:0}
.pk-card-section li:before{content:"";position:absolute;left:2px;top:8px;width:15px;height:15px;border:2px solid var(--vo-accent);border-radius:4px;background:#fff}
.pk-card-write{margin-top:16px;padding:12px 14px;border:2px dashed var(--vo-accent);border-radius:.75rem}
.pk-card-write p{margin:0;font-weight:700;font-size:.85em;color:var(--vo-muted-fg)}
.pk-card-write span{display:block;height:34px;border-bottom:1.5px solid var(--vo-fg)}
.pk-card-note{margin-top:16px;padding:12px 14px 12px 16px;border-left:4px solid var(--vo-accent);border-radius:.5rem;background:#f1f7fe;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pk-card-note strong{display:block;font-family:var(--vo-font-display);font-size:1.02em;color:var(--vo-fg)}
.pk-card-note p{margin:2px 0 0;color:var(--vo-fg)}
.pk-card-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:10px 20px;border-top:1px solid var(--vo-border);font-size:.75em;color:var(--vo-muted-fg)}
.pk-card-foot span:last-child{font-weight:700;color:var(--vo-accent)}
/* PDF-weergave (gebruikt door het bouwscript voor /downloads/*.pdf) */
body.pk-pdf{margin:0;background:#fff}
body.pk-pdf .pk-card{width:210mm;height:297mm;box-sizing:border-box;padding:0;border:0;border-radius:0;box-shadow:none;font-size:13pt}
body.pk-pdf .pk-card-band,body.pk-pdf .pk-card-foot{padding-left:16mm;padding-right:16mm}
body.pk-pdf .pk-card-band{padding-top:7mm;padding-bottom:7mm}
body.pk-pdf .pk-card-body{padding:10mm 16mm 6mm}
body.pk-pdf .pk-card-foot{padding-top:5mm;padding-bottom:8mm}
body.pk-pdf .pk-card-icon{flex-basis:16mm;width:16mm;height:16mm}
body.pk-pdf .pk-card-icon svg{width:9mm;height:9mm}
body.pk-pdf .pk-card-mark{width:9mm;height:9mm}
body.pk-pdf .pk-card-mark svg{width:5mm;height:5mm}
body.pk-pdf .pk-card-section li{padding:2.4mm 0 2.4mm 10mm}
body.pk-pdf .pk-card-section li:before{top:3.2mm;width:4.6mm;height:4.6mm}
body.pk-pdf .pk-card-section{margin-top:7mm}
body.pk-pdf .pk-card-write span{height:14mm}
/* ---------- Printbare kaarten: pagina ---------- */
.pk-steps-section{padding:0;margin-top:-48px;position:relative;z-index:1}
.pk-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:pkstep}
.pk-steps li{padding:22px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);box-shadow:var(--vo-shadow);counter-increment:pkstep}
.pk-steps h3{margin:12px 0 4px;font-size:1.125rem}
.pk-steps h3:before{content:counter(pkstep) ". ";color:var(--vo-accent)}
.pk-steps p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--vo-muted-fg)}
.pk-step-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:.75rem;background:var(--vo-secondary);color:var(--vo-accent)}
.pk-step-icon svg{width:22px;height:22px}
.pk-cards-section{padding-top:64px}
.pk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pk-item{display:flex;flex-direction:column;gap:14px}
.pk-item .pk-card{flex:1}
.pk-item-actions{display:flex;flex-wrap:wrap;gap:10px}
.pk-item-actions .btn{display:inline-flex;align-items:center;gap:8px}
.pk-item-actions .btn svg{width:18px;height:18px}
.pk-item-actions small{font-weight:400;opacity:.75}
.pk-all{margin:28px 0 0;text-align:center}
.pk-store ul{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.pk-store li{margin:8px 0;color:var(--vo-muted-fg);line-height:1.6}
.pk-store li strong{color:var(--vo-fg)}
@media(max-width:960px){.pk-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .pk-grid{grid-template-columns:1fr}
  .pk-card-band,.pk-card-body,.pk-card-foot{padding-left:16px;padding-right:16px}
}
@media(max-width:480px){.pk-steps{grid-template-columns:1fr}.pk-steps-section{margin-top:-32px}}
/* ---------- Printbare kaarten: hero-animatie (printer → pen → map) ---------- */
.pk-hero-stage{display:block;width:100%;height:auto;overflow:visible}
.pk-h-tray{fill:#fff;opacity:.85}
.pk-h-body{fill:rgba(247,250,254,.14);stroke:rgba(247,250,254,.3);stroke-width:1.5}
.pk-h-slot{fill:#030e22}
.pk-h-detail{fill:rgba(247,250,254,.22)}
.pk-h-light{fill:var(--vo-success);animation:pkHeroLight 9s infinite}
.pk-h-sheet{fill:#fff}
.pk-h-band{fill:#cfe4fb}
.pk-h-title{fill:var(--vo-primary)}
.pk-h-lines rect:nth-child(odd){fill:none;stroke:var(--vo-accent);stroke-width:1.5}
.pk-h-lines rect:nth-child(even){fill:#c9d6e5}
.pk-h-box{fill:none;stroke:var(--vo-accent);stroke-width:1.5;stroke-dasharray:4 3}
.pk-h-ink{fill:none;stroke:var(--vo-primary);stroke-width:2;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;animation:pkHeroInk 9s infinite}
.pk-h-paper{transform-box:view-box;transform-origin:100px 157px;animation:pkHeroPaper 9s infinite}
.pk-h-pen{transform:translate(86px,190px);opacity:0;animation:pkHeroPen 9s infinite}
.pk-h-pen-body{fill:var(--vo-signal)}
.pk-h-pen-tip{fill:var(--vo-primary-fg)}
.pk-h-folder-back path{fill:#0a5bb0}
.pk-h-folder-front path{fill:var(--vo-accent)}
.pk-h-folder-front text{fill:#fff;font-family:var(--vo-font-sans);font-size:13px;font-weight:700}
.pk-h-check{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pkHeroCheck 9s infinite}
.pk-h-check circle{fill:var(--vo-success);stroke:#0b2a55;stroke-width:3}
.pk-h-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pk-hero-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none}
.pk-hero-steps li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(247,250,254,.14);border-radius:.75rem;font-size:.8125rem;font-weight:700;line-height:1.25;color:rgba(247,250,254,.5)}
.pk-hero-steps span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:rgba(247,250,254,.12);font-size:.75rem}
.pk-hero-steps li:nth-child(1){animation:pkHeroStep1 9s infinite}
.pk-hero-steps li:nth-child(2){animation:pkHeroStep2 9s infinite}
.pk-hero-steps li:nth-child(3){animation:pkHeroStep3 9s infinite}
@keyframes pkHeroPaper{0%,6%{transform:translateY(-118px);opacity:1}30%,56%{transform:none;opacity:1}72%,86%{transform:translate(173px,22px) scale(.55);opacity:1}92%{transform:translate(173px,22px) scale(.55);opacity:0}100%{transform:translateY(-118px);opacity:0}}
@keyframes pkHeroLight{0%,5%{opacity:.35}8%,14%,20%,26%{opacity:1}11%,17%,23%{opacity:.35}30%,100%{opacity:.35}}
@keyframes pkHeroInk{0%,36%{stroke-dashoffset:60}50%,100%{stroke-dashoffset:0}}
@keyframes pkHeroPen{0%,31%{transform:translate(70px,196px);opacity:0}35%{transform:translate(70px,196px);opacity:1}38%{transform:translate(78px,192px)}41%{transform:translate(88px,196px)}44%{transform:translate(98px,192px)}47%{transform:translate(110px,196px)}50%{transform:translate(118px,193px);opacity:1}55%,100%{transform:translate(150px,170px);opacity:0}}
@keyframes pkHeroCheck{0%,70%{transform:scale(0)}75%{transform:scale(1.2)}78%,90%{transform:scale(1)}95%,100%{transform:scale(0)}}
@keyframes pkHeroStep1{0%,30%{color:#fff;border-color:var(--vo-accent);background:rgba(2,120,231,.22)}33%,100%{color:rgba(247,250,254,.5);border-color:rgba(247,250,254,.14);background:transparent}}
@keyframes pkHeroStep2{0%,31%{color:rgba(247,250,254,.5);border-color:rgba(247,250,254,.14);background:transparent}34%,55%{color:#fff;border-color:var(--vo-accent);background:rgba(2,120,231,.22)}58%,100%{color:rgba(247,250,254,.5);border-color:rgba(247,250,254,.14);background:transparent}}
@keyframes pkHeroStep3{0%,56%{color:rgba(247,250,254,.5);border-color:rgba(247,250,254,.14);background:transparent}59%,90%{color:#fff;border-color:var(--vo-success);background:rgba(15,160,92,.22)}95%,100%{color:rgba(247,250,254,.5);border-color:rgba(247,250,254,.14);background:transparent}}
@media(prefers-reduced-motion:reduce){
  .pk-h-paper,.pk-h-light,.pk-h-ink,.pk-h-pen,.pk-h-check,.pk-hero-steps li{animation:none}
  .pk-h-ink{stroke-dashoffset:0}
  .pk-h-check{transform:scale(1)}
}
@media(max-width:600px){.pk-hero-steps{grid-template-columns:1fr}}
/* ---------- Printbare kaarten: afdrukken (elke gekozen kaart op een eigen A4) ---------- */
@media print{
  body[data-print-target="cards"] main>*,body[data-print-target="cards"] .topbar,body[data-print-target="cards"] .footer{display:none!important}
  body[data-print-target="cards"] main>.pk-cards-section{display:block!important;padding:0!important}
  body[data-print-target="cards"] .pk-cards-section .section-head,body[data-print-target="cards"] .pk-item-actions,body[data-print-target="cards"] .pk-all{display:none!important}
  body[data-print-target="cards"] .pk-cards-section .wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body[data-print-target="cards"] .pk-grid{display:block}
  body[data-print-target="cards"] .pk-item{display:none}
  body[data-print-target="cards"] .pk-item:has(.pk-card.is-printing){display:block;break-after:page;page-break-after:always}
  body[data-print-target="cards"] .pk-item:has(.pk-card.is-printing):last-of-type,body[data-print-target="cards"] .pk-item:has(.pk-card.is-printing):not(:has(~ .pk-item .pk-card.is-printing)){break-after:auto;page-break-after:auto}
  body[data-print-target="cards"] .pk-card{min-height:267mm;border:1pt solid #c9d8ea;border-radius:10pt;box-shadow:none;font-size:13pt;break-inside:avoid}
  body[data-print-target="cards"] .pk-card-body{padding:8mm 10mm 4mm}
  body[data-print-target="cards"] .pk-card-band,body[data-print-target="cards"] .pk-card-foot{padding-left:10mm;padding-right:10mm}
  body[data-print-target="cards"] .pk-card-section{margin-top:6mm}
  body[data-print-target="cards"] .pk-card-section li{padding:2mm 0 2mm 9mm}
  body[data-print-target="cards"] .pk-card-section li:before{top:2.8mm;width:4.4mm;height:4.4mm}
  body[data-print-target="cards"] .pk-card-write span{height:13mm}
}
/* ---------- AI-fraude en deepfakes: hero-animatie (voicebericht wordt gescand) ---------- */
.ai-hero-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ai-hero-top p{margin:0}
.ai-hero-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:rgba(247,250,254,.14);font-family:var(--vo-font-display);font-weight:800;font-size:1.25rem;color:var(--vo-signal)}
.ai-hero-title{font-family:var(--vo-font-display);font-size:1.0625rem;font-weight:700}
.ai-hero-sub{font-size:.8125rem;color:rgba(247,250,254,.6)}
.ai-hero-tag{margin-left:auto;padding:4px 10px;border:1px solid rgba(247,250,254,.2);border-radius:999px;font-size:.75rem;font-weight:700;color:rgba(247,250,254,.75);white-space:nowrap}
.ai-hero-voice{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:1rem;background:rgba(3,14,34,.45);border:1px solid rgba(247,250,254,.12)}
.ai-hero-play{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--vo-accent);color:#fff}
.ai-hero-play svg{width:16px;height:16px;margin-left:2px}
.ai-hero-wave{position:relative;flex:1;display:flex;align-items:center;justify-content:space-between;height:40px;overflow:hidden}
.ai-hero-wave span{width:3px;height:var(--h);border-radius:2px;background:var(--vo-signal);transform-origin:center;animation:aiWave 1.2s ease-in-out var(--d) infinite alternate}
.ai-hero-scan{position:absolute;top:0;bottom:0;left:0;width:36px;background:linear-gradient(90deg,transparent,rgba(231,0,11,.5),transparent);transform:translateX(-40px);animation:aiScan 10s infinite}
.ai-hero-time{font-size:.75rem;font-weight:700;color:rgba(247,250,254,.6)}
.ai-hero-quote{margin:14px 0 12px;font-size:.9375rem;line-height:1.5;font-style:italic;color:rgba(247,250,254,.85)}
.ai-hero-flags{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;margin:0;padding:0;list-style:none}
.ai-hero-flags li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(231,0,11,.2);border:1px solid rgba(255,110,110,.5);color:#ffd2d2;font-size:.8125rem;font-weight:700;opacity:0;transform:translateY(6px)}
.ai-hero-flags li:before{content:"!";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--vo-destructive);color:#fff;font-size:.6875rem}
.ai-hero-flags li:nth-child(1){animation:aiFlag1 10s infinite}
.ai-hero-flags li:nth-child(2){animation:aiFlag2 10s infinite}
.ai-hero-flags li:nth-child(3){animation:aiFlag3 10s infinite}
.ai-hero-verdict{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:10px 14px;border-radius:.875rem;background:var(--vo-success);color:#fff;font-weight:700;font-size:.9375rem;opacity:0;transform:translateY(8px);animation:aiVerdict 10s infinite}
.ai-hero-verdict svg{flex:0 0 18px;width:18px;height:18px}
@keyframes aiWave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@keyframes aiScan{0%,8%{transform:translateX(-40px);opacity:0}10%{opacity:1}40%{transform:translateX(460px);opacity:1}42%,100%{transform:translateX(460px);opacity:0}}
@keyframes aiFlag1{0%,18%{opacity:0;transform:translateY(6px)}22%,90%{opacity:1;transform:none}95%,100%{opacity:0}}
@keyframes aiFlag2{0%,28%{opacity:0;transform:translateY(6px)}32%,90%{opacity:1;transform:none}95%,100%{opacity:0}}
@keyframes aiFlag3{0%,38%{opacity:0;transform:translateY(6px)}42%,90%{opacity:1;transform:none}95%,100%{opacity:0}}
@keyframes aiVerdict{0%,52%{opacity:0;transform:translateY(8px)}57%,90%{opacity:1;transform:none}95%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .ai-hero-wave span,.ai-hero-scan,.ai-hero-flags li,.ai-hero-verdict{animation:none}
  .ai-hero-scan{display:none}
  .ai-hero-flags li,.ai-hero-verdict{opacity:1;transform:none}
}
/* ---------- AI-fraude en deepfakes: voorbeelden met genummerde signalen ---------- */
.ai-examples-section{padding-top:72px}
.ai-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:5px;border-radius:999px;background:var(--vo-muted);width:max-content;max-width:100%}
.ai-tab{min-height:42px;padding:8px 18px;border:0;border-radius:999px;background:transparent;color:var(--vo-muted-fg);font:inherit;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.ai-tab:hover{color:var(--vo-fg)}
.ai-tab[aria-selected="true"]{background:var(--vo-card);color:var(--vo-fg);box-shadow:0 1px 3px rgba(8,36,81,.15)}
.ai-ex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow)}
.ai-ex[hidden]{display:none}
.ai-ex+.ai-ex{margin-top:20px}
.ai-ex-sample{display:flex;align-items:center;justify-content:center;padding:24px;border-radius:1.25rem;background:linear-gradient(135deg,#e8f2fd,#f3ecfb)}
.ai-ex-info h3{margin:0 0 6px;font-size:1.375rem}
.ai-ex-intro{margin:0 0 16px;color:var(--vo-muted-fg);line-height:1.6}
.ai-hints{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:aihint}
.ai-hints li{position:relative;padding:10px 12px 10px 46px;border:1px solid var(--vo-border);border-radius:.875rem;color:var(--vo-muted-fg);line-height:1.5;counter-increment:aihint;transition:border-color .2s,background .2s}
.ai-hints li:before{content:counter(aihint);position:absolute;left:12px;top:10px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--vo-destructive);color:#fff;font-size:.8125rem;font-weight:700}
.ai-hints li strong{display:block;color:var(--vo-fg)}
.ai-hints li.is-active{border-color:var(--vo-destructive);background:#fff4f4}
.ai-listen{margin-top:16px;padding:14px 16px;border-radius:.875rem;background:var(--vo-muted)}
.ai-listen h4{margin:0 0 6px;font-family:var(--vo-font-display);font-size:1rem;color:var(--vo-fg)}
.ai-listen ul{margin:0;padding-left:18px}
.ai-listen li{margin:4px 0;color:var(--vo-muted-fg);line-height:1.5;font-size:.9375rem}
.ai-caveat{margin:20px 0 0;padding:14px 18px;border-left:4px solid var(--vo-accent);border-radius:.5rem;background:#eaf3fd;color:var(--vo-fg);line-height:1.6}
.ai-pin{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--vo-destructive);color:#fff;font:700 .8125rem/1 var(--vo-font-sans);vertical-align:middle;cursor:pointer;box-shadow:0 2px 6px rgba(231,0,11,.35);transition:transform .15s}
.ai-pin:hover,.ai-pin.is-active{transform:scale(1.18)}
.ai-pin.is-active{box-shadow:0 0 0 4px rgba(231,0,11,.25)}
.ai-pin-at{position:absolute;transform:translate(-50%,-50%)}
/* Nagebootste schermen */
.ai-mock{width:100%;max-width:380px;color:var(--vo-fg);font-size:.9375rem;line-height:1.5}
.ai-mock mark{padding:0 2px;border-radius:3px;background:#ffe0e0;color:inherit}
.ai-mock-chat{padding:16px;border-radius:1.25rem;background:#efe7dc;box-shadow:0 10px 30px -14px rgba(8,36,81,.35)}
.ai-mock-chat-head{display:flex;align-items:center;gap:10px;margin:-16px -16px 14px;padding:12px 16px;border-radius:1.25rem 1.25rem 0 0;background:#0f6b5c;color:#fff}
.ai-mock-chat-head div{flex:1}
.ai-mock-chat-head small{display:block;opacity:.75;font-size:.75rem}
.ai-mock-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.25);font-weight:800}
.ai-mock-bubble{position:relative;padding:10px 12px;border-radius:.875rem;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.ai-mock-voice{display:flex;align-items:center;gap:10px;width:78%}
.ai-mock-play{width:0;height:0;border-left:12px solid #0f6b5c;border-top:8px solid transparent;border-bottom:8px solid transparent}
.ai-mock-wave{flex:1;height:22px;background:repeating-linear-gradient(90deg,#7aa59c 0 3px,transparent 3px 6px);-webkit-mask:linear-gradient(90deg,#000 0 30%,rgba(0,0,0,.5) 30% 45%,#000 45% 70%,rgba(0,0,0,.4) 70%);mask:linear-gradient(90deg,#000 0 30%,rgba(0,0,0,.5) 30% 45%,#000 45% 70%,rgba(0,0,0,.4) 70%)}
.ai-mock-voice small{font-size:.75rem;color:#667}
.ai-mock-transcript{margin:12px 0 0;padding:10px 12px;border-radius:.875rem;background:rgba(255,255,255,.7);font-size:.875rem}
.ai-mock-label{display:block;font-size:.75rem;font-weight:700;color:#667}
.ai-mock-frame{position:relative;aspect-ratio:4/3;border-radius:1rem;background:linear-gradient(160deg,#2a3d5c,#0d1a30);overflow:hidden}
.ai-mock-person{position:absolute;inset:0;width:100%;height:100%}
.ai-mock-person>ellipse:first-child{fill:#3b5f8f}
.ai-mock-face{fill:#e8c2a4}
.ai-mock-hair{fill:#3a2c22}
.ai-mock-mouth{fill:none;stroke:#9c4f45;stroke-width:3;stroke-linecap:round}
.ai-mock-caption{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:.5rem;background:rgba(255,255,255,.94);font-size:.8125rem;font-weight:700}
.ai-mock-live{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:4px;background:var(--vo-destructive);color:#fff;font-size:.6875rem;font-weight:700}
.ai-mock-linkbar{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;border-radius:.75rem;background:#fff;font-size:.8125rem;box-shadow:0 1px 3px rgba(8,36,81,.12)}
.ai-mock-linkbar>span:first-child{color:var(--vo-muted-fg)}
.ai-mock-cta{margin-left:auto;padding:4px 10px;border-radius:999px;background:#16a34a;color:#fff;font-weight:700}
.ai-mock-profile{border-radius:1.25rem;background:#fff;overflow:hidden;box-shadow:0 10px 30px -14px rgba(8,36,81,.35)}
.ai-mock-photo{position:relative}
.ai-mock-photo svg{display:block;width:100%;height:auto;filter:saturate(1.1) contrast(1.05)}
.ai-mock-count{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;font-weight:700}
.ai-mock-profile-body{padding:14px 16px 16px}
.ai-mock-profile-body p{margin:2px 0 10px;color:var(--vo-muted-fg);font-size:.875rem}
.ai-mock-profile-body .ai-mock-bubble{background:#eef4fb}
.ai-mock-call .ai-mock-bubble{margin-top:10px}
.ai-mock-name{position:absolute;left:10px;bottom:10px;padding:3px 10px;border-radius:.5rem;background:rgba(0,0,0,.5);color:#fff;font-size:.75rem;font-weight:700}
.ai-mock-self{position:absolute;right:10px;top:10px;width:22%;aspect-ratio:3/4;border-radius:.5rem;background:linear-gradient(160deg,#5b6f8c,#2c3a52);border:2px solid rgba(255,255,255,.5)}
.ai-mock-glitch{animation:aiGlitch 3s steps(1) infinite}
@keyframes aiGlitch{0%,86%,100%{transform:none;opacity:1}88%{transform:translateX(5px) skewX(-8deg);opacity:.75}91%{transform:translateX(-4px);opacity:.9}}
@media(prefers-reduced-motion:reduce){.ai-mock-glitch{animation:none}}
/* Gouden regels en oefenlab */
.ai-rules-section{padding-top:24px}
.ai-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:airule}
.ai-rules li{padding:22px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);counter-increment:airule}
.ai-rules li:before{content:counter(airule);display:grid;place-items:center;width:36px;height:36px;margin-bottom:12px;border-radius:.75rem;background:var(--vo-success);color:#fff;font-family:var(--vo-font-display);font-weight:800}
.ai-rules h3{margin:0 0 4px;font-size:1.125rem}
.ai-rules p{margin:0;color:var(--vo-muted-fg);line-height:1.55;font-size:.9375rem}
.ai-rules a{color:var(--vo-accent);font-weight:700}
.ai-lab-section{padding-top:24px}
.ai-lab{max-width:48rem;margin:0 auto;padding:28px;border:1px solid var(--vo-border);border-radius:1.5rem;background:var(--vo-card);box-shadow:var(--vo-shadow)}
.ai-lab-head .eyebrow{color:var(--vo-accent);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.ai-lab-head h2{margin:6px 0 6px;font-size:1.5rem}
.ai-lab-head p{margin:0 0 18px;color:var(--vo-muted-fg)}
.ai-lab label{display:block;margin-bottom:6px;font-weight:700}
.ai-lab select{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--vo-border);border-radius:.875rem;background:var(--vo-card);color:var(--vo-fg);font:inherit}
.ai-lab-scenario{margin:14px 0;padding:14px 16px;border-radius:.875rem;background:var(--vo-muted);color:var(--vo-fg);line-height:1.6}
.ai-lab .ai-lab-actions{display:grid;gap:8px}
.ai-lab .ai-lab-actions .btn{justify-content:flex-start;text-align:left;border-color:var(--vo-border);color:var(--vo-fg);background:var(--vo-card)}
.ai-lab .ai-lab-actions .btn:hover{border-color:var(--vo-accent)}
.ai-lab .scam-result{border-radius:1rem;padding:16px 18px}
.ai-lab .scam-result.risk-low{border-color:rgba(15,160,92,.4);background:#effaf4}
.ai-lab .scam-result.risk-low h3{color:#0b7a46}
.ai-lab .scam-result.risk-high{border-color:rgba(231,0,11,.35);background:#fff4f4}
.ai-lab .scam-result.risk-high h3{color:#c4000a}
@media(max-width:960px){.ai-ex{grid-template-columns:1fr}.ai-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .ai-ex,.ai-lab{padding:18px 16px}
  .ai-ex-sample{padding:16px 12px}
  .ai-tabs{border-radius:1rem;width:100%}
  .ai-tab{flex:1 1 40%}
  .ai-rules{grid-template-columns:1fr}
}
/* ---------- Tests: hero-animatie (mini-phishingquiz) ---------- */
.ts-hero-card{overflow:hidden}
.ts-hero-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ts-hero-top p{margin:0}
.ts-hero-title{font-family:var(--vo-font-display);font-size:1.125rem;font-weight:700}
.ts-hero-count{font-size:.875rem;color:rgba(247,250,254,.7)}
.ts-hero-count strong{color:var(--vo-signal);font-family:var(--vo-font-display);font-size:1.25rem}
.ts-hero-dots{display:flex;gap:6px;margin:12px 0 16px}
.ts-hero-dots span{flex:1;height:6px;border-radius:999px;background:rgba(247,250,254,.14);transition:background .3s}
.ts-hero-dots span.is-correct{background:var(--vo-success)}
.ts-hero-dots span.is-wrong{background:var(--vo-destructive)}
.ts-hero-msg{padding:14px 16px;border-radius:1rem;background:#fff;color:var(--vo-fg)}
.ts-hero-msg p{margin:0}
.ts-hero-from{font-size:.75rem;font-weight:700;color:var(--vo-muted-fg)}
.ts-hero-text{margin-top:4px!important;font-size:.9375rem;line-height:1.45;min-height:2.9em}
.ts-hero-ask{margin:14px 0 8px;font-weight:700;color:rgba(247,250,254,.85)}
.ts-hero-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ts-hero-answer{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:2px solid rgba(247,250,254,.22);border-radius:999px;font-weight:700;color:var(--vo-primary-fg);transition:background .25s,border-color .25s,transform .15s}
.ts-hero-answer.is-pressed{transform:scale(.96)}
.ts-hero-answer.is-correct{border-color:var(--vo-success);background:var(--vo-success);color:#fff}
.ts-hero-answer.is-correct:before{content:"✓"}
.ts-hero-answer.is-wrong{border-color:var(--vo-destructive);background:var(--vo-destructive);color:#fff}
.ts-hero-answer.is-wrong:before{content:"✗"}
.ts-hero-fb{min-height:2.9em;margin:12px 0 0;padding:0;font-size:.875rem;line-height:1.45;font-weight:700;opacity:0;transition:opacity .25s}
.ts-hero-fb.is-correct{opacity:1;color:#7fe0ad}
.ts-hero-fb.is-wrong{opacity:1;color:#ffb3b3}
.ts-hero-cursor{position:absolute;left:0;top:0;width:26px;height:26px;margin:-4px 0 0 -6px;fill:#fff;stroke:#0b2a55;stroke-width:1.5;stroke-linejoin:round;opacity:0;pointer-events:none;transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .3s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.ts-hero-cursor.is-visible{opacity:1}
.ts-hero-score{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:inherit;background:rgba(8,36,81,.94);opacity:0;transform:scale(.96);transition:opacity .35s,transform .35s;pointer-events:none}
.ts-hero-score strong{font-family:var(--vo-font-display);font-size:2rem;font-weight:800;color:#7fe0ad}
.ts-hero-score span{color:rgba(247,250,254,.75)}
.ts-hero-card.is-done .ts-hero-score{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ts-hero-answer,.ts-hero-dots span,.ts-hero-fb,.ts-hero-score{transition:none}}
/* ---------- Tests: goed is groen, fout is rood ---------- */
.answers label.is-correct{border-color:var(--vo-success)!important;background:#effaf4!important;color:#0b5c35!important}
.answers label.is-wrong{border-color:var(--vo-destructive)!important;background:#fff4f4!important;color:#9f0008!important}
.answers label.is-correct span:after{content:"  ✓";font-weight:700;color:var(--vo-success)}
.answers label.is-wrong span:after{content:"  ✗";font-weight:700;color:var(--vo-destructive)}
.answers label.is-correct input,.answers label.is-wrong input{accent-color:currentColor}
.feedback.is-correct,.feedback.is-wrong{margin-top:10px;padding:10px 12px 10px 38px;border-radius:.75rem;position:relative}
.feedback.is-correct{background:#effaf4;border:1px solid rgba(15,160,92,.35);color:#0b5c35}
.feedback.is-wrong{background:#fff4f4;border:1px solid rgba(231,0,11,.3);color:#9f0008}
.feedback.is-correct:before,.feedback.is-wrong:before{position:absolute;left:12px;top:10px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:.6875rem}
.feedback.is-correct:before{content:"✓";background:var(--vo-success)}
.feedback.is-wrong:before{content:"✗";background:var(--vo-destructive)}
.result.is-good{border-color:rgba(15,160,92,.4);background:#effaf4;color:#0b5c35}
.result.is-mid{border-color:rgba(224,138,0,.45);background:#fff7e8;color:#7a4700}
.result.is-bad{border-color:rgba(231,0,11,.35);background:#fff4f4;color:#9f0008}
.result.is-good h4{color:#0b7a46}
.result.is-mid h4{color:#9a5b00}
.result.is-bad h4{color:#c4000a}
/* ---------- Nepbericht van de week ---------- */
.nb-hero{display:flex;justify-content:center}
.nb-phone{position:relative;width:min(100%,300px);aspect-ratio:9/16;max-height:520px;padding:18px 14px;border:8px solid #030e22;border-radius:2.5rem;background:linear-gradient(170deg,#3a5f98,#1b2f57 55%,#0e1b36);box-shadow:0 30px 60px -24px rgba(0,0,0,.6),0 0 0 1px rgba(247,250,254,.14);color:#fff;text-align:center;overflow:hidden}
.nb-phone-notch{width:84px;height:20px;margin:-6px auto 18px;border-radius:999px;background:#030e22}
.nb-phone-time{margin:0;font-family:var(--vo-font-display);font-size:3.25rem;font-weight:600;line-height:1}
.nb-phone-date{margin:4px 0 28px;font-size:.875rem;color:rgba(255,255,255,.75)}
.nb-notif{display:grid;gap:2px;padding:12px 14px;border-radius:1.25rem;background:rgba(247,250,254,.92);color:var(--vo-fg);text-align:left;font-size:.8125rem;line-height:1.4;box-shadow:0 10px 24px -10px rgba(0,0,0,.5);animation:nbNotif 7s ease-in-out infinite}
.nb-notif-app{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--vo-muted-fg)}
.nb-notif span:last-child{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nb-notif-flag{display:inline-block;margin-top:16px;padding:6px 14px;border-radius:999px;background:var(--vo-destructive);font-weight:700;font-size:.875rem;animation:nbFlag 7s ease-in-out infinite}
@keyframes nbNotif{0%,6%{transform:translateY(-130%);opacity:0}14%,88%{transform:none;opacity:1}96%,100%{transform:translateY(-130%);opacity:0}}
@keyframes nbFlag{0%,26%{transform:scale(.6);opacity:0}32%,88%{transform:none;opacity:1}96%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.nb-notif,.nb-notif-flag{animation:none}}
.nb-quiz-section{padding:0;margin-top:-48px;position:relative;z-index:1}
.nb-sample{background:linear-gradient(135deg,#e8f2fd,#fbeef0)}
.nb-device{width:100%;max-width:380px}
.nb-kicker{margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vo-accent)}
.nb-quiz h2{margin:0 0 14px;font-size:1.625rem}
.nb-choices p{margin:0 0 12px;color:var(--vo-muted-fg)}
.nb-choices{display:grid;gap:10px}
.nb-choices .btn{justify-content:center;border-color:var(--vo-border);color:var(--vo-fg);background:var(--vo-card)}
.nb-choices .btn:hover:not(:disabled){border-color:var(--vo-accent)}
.nb-choices .btn:disabled{cursor:default;opacity:.55}
.nb-choices .btn.is-picked{opacity:1;border-color:var(--vo-fg)}
.nb-verdict:empty{display:none}
.nb-verdict{margin-top:14px;padding:12px 14px 12px 42px;position:relative;border-radius:.875rem;font-weight:700;line-height:1.45}
.nb-verdict:before{position:absolute;left:14px;top:12px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:.75rem}
.nb-verdict.is-correct{background:#effaf4;border:1px solid rgba(15,160,92,.35);color:#0b5c35}
.nb-verdict.is-correct:before{content:"✓";background:var(--vo-success)}
.nb-verdict.is-wrong{background:#fff4f4;border:1px solid rgba(231,0,11,.3);color:#9f0008}
.nb-verdict.is-wrong:before{content:"✗";background:var(--vo-destructive)}
.nb-reveal{margin-top:18px}
.nb-reveal h3{margin:0 0 10px;font-size:1.125rem}
.nb-do{margin:12px 0 0;padding:12px 14px;border-left:4px solid var(--vo-success);border-radius:.5rem;background:#effaf4;color:var(--vo-fg);line-height:1.55}
.nb-quiz[data-state="ask"] .nb-reveal,.nb-quiz[data-state="ask"] .ai-pin{display:none}
.nb-quiz[data-state="ask"] mark{padding:0;background:transparent}
/* Nagebootste berichten */
.nb-device mark,.nb-card-msg mark{padding:0 2px;border-radius:3px;background:#ffe0e0;color:inherit;transition:background .3s}
.nb-chat{border-radius:1.25rem;overflow:hidden;background:#e9eef5;box-shadow:0 10px 30px -14px rgba(8,36,81,.35);font-size:.9375rem;line-height:1.5}
.nb-whatsapp{background:#efe7dc}
.nb-chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f7f9fc;border-bottom:1px solid var(--vo-border);color:var(--vo-fg)}
.nb-whatsapp .nb-chat-head{background:#0f6b5c;border-bottom:0;color:#fff}
.nb-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--vo-secondary);color:var(--vo-accent);font-weight:800}
.nb-whatsapp .nb-avatar{background:rgba(255,255,255,.25);color:#fff}
.nb-bubble{margin:16px;padding:12px 14px;border-radius:1rem 1rem 1rem .25rem;background:#fff;color:var(--vo-fg);box-shadow:0 1px 1px rgba(0,0,0,.06)}
.nb-bubble p{margin:0}
.nb-bubble small,.nb-time{display:block;margin-top:4px;text-align:right;font-size:.75rem;color:var(--vo-muted-fg)}
.nb-mail{padding:18px;border-radius:1.25rem;background:#fff;color:var(--vo-fg);box-shadow:0 10px 30px -14px rgba(8,36,81,.35);font-size:.9375rem;line-height:1.5}
.nb-mail-subject{margin:0 0 12px;font-family:var(--vo-font-display);font-size:1.0625rem;font-weight:700}
.nb-mail-from{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--vo-border)}
.nb-mail-from div{flex:1;min-width:0}
.nb-mail-from small{display:block;font-size:.8125rem;color:var(--vo-muted-fg);overflow-wrap:anywhere}
.nb-mail-from .nb-time{margin:0}
.nb-mail>p{margin:0 0 14px}
.nb-mail-btn{display:inline-block;padding:10px 18px;border-radius:.5rem;background:#1f4fa3;color:#fff;font-weight:700}
.nb-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--vo-destructive);color:#fff;font-size:.6875rem;font-weight:700;vertical-align:middle}
/* Gouden regels en archief */
.nb-steps-section{padding-top:72px}
.nb-archive-section{padding-top:24px}
.nb-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nb-card{display:flex;flex-direction:column;padding:20px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.nb-card h3{margin:0 0 14px;font-size:1.125rem}
.nb-card-msg{flex:1;padding:14px;border-radius:1rem;background:linear-gradient(135deg,#eef4fb,#f8f1f3)}
.nb-card-msg .nb-chat,.nb-card-msg .nb-mail{box-shadow:none;font-size:.875rem}
.nb-card-msg .nb-bubble{margin:12px}
.nb-card-hints{margin-top:14px}
.nb-card-hints summary{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--vo-border);border-radius:999px;font-weight:700;color:var(--vo-fg);cursor:pointer;list-style:none}
.nb-card-hints summary::-webkit-details-marker{display:none}
.nb-card-hints summary:after{content:"+";color:var(--vo-accent)}
.nb-card-hints[open] summary:after{content:"−"}
.nb-card-hints .ai-hints{margin-top:12px}
.nb-card-hints .ai-hints li{font-size:.875rem}
@media(max-width:960px){.nb-archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.nb-archive{grid-template-columns:1fr}.nb-quiz-section{margin-top:-32px}.nb-phone{max-height:440px}}
.nb-page .ai-pin,.nb-num{margin-left:4px}
.nb-card:not(:has(details[open])) .nb-card-msg mark{padding:0;background:transparent}
.nb-card:not(:has(details[open])) .nb-num{display:none}
/* Wachtwoordgenerator: uitleg direct onder de tool, zonder grote witruimte. */
.topic-page>section.pwg-section{padding:0 0 8px}
.topic-page>section.pwg-section+section{padding-top:24px}
.pwg-page .pwg-section+section .topic-content>.topic-content-section:first-child{margin-top:0}
/* ---------- Eerste hulp: nooddeel, keuzetegels en stappenplannen ---------- */
.eh-page>section{padding:56px 0}
.eh-page>section.eh-urgent-section{padding:0;margin-top:-56px;position:relative;z-index:1}
.eh-urgent{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.eh-call{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);color:var(--vo-fg);text-decoration:none;box-shadow:var(--vo-shadow);line-height:1.4}
a.eh-call:hover{border-color:var(--vo-accent)}
.eh-call strong{display:block;font-size:1rem}
.eh-call>span:last-child{font-size:.875rem;color:var(--vo-muted-fg)}
.eh-call-num{flex:0 0 auto;display:grid;place-items:center;min-width:56px;height:56px;padding:0 10px;border-radius:.875rem;background:var(--vo-secondary);color:var(--vo-primary);font-family:var(--vo-font-display);font-size:1.5rem;font-weight:800}
.eh-call-small{font-size:.875rem;line-height:1.15;text-align:center;max-width:84px}
.eh-call-icon svg{width:26px;height:26px}
.eh-call-red{border-color:rgba(231,0,11,.35)}
.eh-call-red .eh-call-num{background:var(--vo-destructive);color:#fff}
.eh-call-dark .eh-call-num{background:var(--vo-primary);color:#fff}
.eh-group{margin-top:28px}
.eh-group-title{margin:0 0 12px;font-size:.8125rem;font-family:var(--vo-font-sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vo-muted-fg)}
.eh-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.eh-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);color:var(--vo-fg);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.eh-tile:hover{border-color:var(--vo-accent);box-shadow:var(--vo-shadow);transform:translateY(-2px)}
.eh-tile strong{font-size:1.0625rem;line-height:1.35}
.eh-tile>span:last-child{font-size:.875rem;color:var(--vo-muted-fg);line-height:1.5}
.eh-tile:after{content:"Bekijk de stappen →";margin-top:auto;padding-top:6px;font-size:.875rem;font-weight:700;color:var(--vo-accent)}
.eh-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}
.eh-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.eh-spoed{background:#fff0f0;color:#c4000a}
.eh-vandaag{background:#fff5e6;color:#9a5b00}
.eh-rustig{background:#eef7f2;color:#0b7a46}
.eh-page>section.eh-plans-section{padding-top:8px}
.eh-plans{display:grid;gap:12px}
.eh-plan{border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);scroll-margin-top:96px}
.eh-plan[open]{box-shadow:var(--vo-shadow);border-color:var(--vo-accent)}
.eh-plan summary{display:flex;align-items:center;gap:12px;padding:16px 56px 16px 20px;position:relative;cursor:pointer;list-style:none}
.eh-plan summary::-webkit-details-marker{display:none}
.eh-plan summary:after{content:"+";position:absolute;right:18px;top:50%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vo-secondary);color:var(--vo-fg);font-weight:700;transform:translateY(-50%)}
.eh-plan[open] summary:after{content:"−"}
.eh-plan-title{font-family:var(--vo-font-display);font-size:1.0625rem;font-weight:700;color:var(--vo-fg)}
.eh-plan-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px}
.eh-step{padding:16px 18px;border-radius:.875rem;background:var(--vo-muted)}
.eh-step-now{background:#fff4f4;border:1px solid rgba(231,0,11,.2)}
.eh-step h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-family:var(--vo-font-display);font-size:1rem;color:var(--vo-fg)}
.eh-step h3 span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--vo-primary);color:#fff;font-size:.8125rem}
.eh-step-now h3 span{background:var(--vo-destructive)}
.eh-step ol,.eh-step ul{margin:0;padding-left:20px}
.eh-step li{margin:6px 0;color:var(--vo-fg);line-height:1.55;font-size:.9375rem}
.eh-dont,.eh-links{padding:14px 18px;border-radius:.875rem;border:1px solid var(--vo-border)}
.eh-dont strong,.eh-links strong{display:block;margin-bottom:4px;font-family:var(--vo-font-display);color:var(--vo-fg)}
.eh-dont strong:before{content:"✗ ";color:var(--vo-destructive)}
.eh-dont p{margin:0;color:var(--vo-muted-fg);line-height:1.55;font-size:.9375rem}
.eh-links ul{margin:0;padding:0;list-style:none}
.eh-links li{margin:4px 0;font-size:.9375rem}
.eh-links a{color:var(--vo-accent);font-weight:700}
.eh-general{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.eh-box{padding:24px;border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card)}
.eh-box h2{margin:0 0 8px;font-size:1.375rem}
.eh-box p{margin:0 0 10px;color:var(--vo-muted-fg);line-height:1.6}
.eh-box p strong{color:var(--vo-fg)}
.eh-box-warn{border-color:rgba(224,138,0,.4);background:#fffaf0}
.eh-checks{margin:0;padding:0;list-style:none}
.eh-checks li{position:relative;margin:8px 0;padding-left:30px;color:var(--vo-fg);line-height:1.5}
.eh-checks li:before{content:"";position:absolute;left:2px;top:3px;width:16px;height:16px;border:2px solid var(--vo-accent);border-radius:4px}
.eh-report{border:1px solid var(--vo-border);border-radius:var(--vo-radius);background:var(--vo-card);overflow:hidden}
.eh-report-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px 20px;border-top:1px solid var(--vo-border);line-height:1.5}
.eh-report-row:first-child{border-top:0}
.eh-report-head{background:var(--vo-muted);font-weight:700;color:var(--vo-fg);font-size:.875rem}
.eh-report-row a{color:var(--vo-accent);font-weight:700}
.eh-more{margin:18px 0 0}
.eh-support{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:1.5rem;background:var(--vo-primary);color:var(--vo-primary-fg)}
.eh-support h2{margin:0 0 6px;color:#fff;font-size:1.5rem}
.eh-support p{margin:0;max-width:44rem;color:rgba(247,250,254,.8);line-height:1.6}
.eh-support .btn{flex:0 0 auto}
.eh-page>section:last-of-type .topic-content-section:first-child{margin-top:0}
@media(max-width:1050px){.eh-urgent{grid-template-columns:repeat(2,minmax(0,1fr))}.eh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .eh-urgent,.eh-tiles,.eh-plan-body,.eh-general{grid-template-columns:1fr}
  .eh-page>section.eh-urgent-section{margin-top:-40px}
  .eh-plan summary{flex-direction:column;align-items:flex-start;gap:6px}
  .eh-report-row{grid-template-columns:1fr;gap:2px}
  .eh-report-head{display:none}
  .eh-support{flex-direction:column;align-items:flex-start}
}
/* Nepbericht van de week: sectieafstanden (specifieker dan .topic-page>section:not(.hero)). */
.topic-page>section.nb-quiz-section{padding:0 0 8px}
.topic-page>section.nb-steps-section{padding-top:32px}
.eh-call strong{color:var(--vo-fg)}
.eh-plans-head{margin-bottom:16px}
.eh-plans-head h2{margin:0 0 4px;font-size:1.5rem}
.eh-plans-head p{margin:0;color:var(--vo-muted-fg)}
.eh-page>section.eh-plans-section{padding-top:24px}
/* Hero: extra knop onder de hoofdknoppen (bijvoorbeeld naar de seniorenpagina). */
.hero-extra{margin-top:12px}
.hero .hero-senior-link{white-space:normal;text-align:left;border-color:rgba(247,250,254,.4)}
/* ---------- Senioren: grote letters, rustige opbouw, voorlezen ---------- */
.sr-page{--sr-scale:1;font-size:calc(1.25rem * var(--sr-scale));line-height:1.65}
.sr-page .hero-copy{font-size:calc(1.25rem * var(--sr-scale));line-height:1.6}
.sr-page .hero .btn,.sr-page .btn{min-height:56px;padding:14px 26px;font-size:1.125rem}
.sr-page .hero .btn svg,.sr-tool svg,.sr-read svg{width:22px;height:22px;flex:0 0 auto}
.sr-page .hero .btn{display:inline-flex;align-items:center;gap:10px}
.sr-toolbar{position:sticky;top:72px;z-index:20;background:var(--vo-card);border-bottom:1px solid var(--vo-border);box-shadow:0 6px 16px -12px rgba(8,36,81,.3)}
.sr-toolbar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding:12px 0}
.sr-toolbar-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.sr-tool{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:10px 20px;border:2px solid var(--vo-primary);border-radius:999px;background:var(--vo-card);color:var(--vo-primary);font:inherit;font-size:1.0625rem;font-weight:700;cursor:pointer}
.sr-tool:hover:not(:disabled){background:var(--vo-primary);color:#fff}
.sr-tool:disabled{opacity:.4;cursor:default}
.sr-stop{border-color:var(--vo-destructive);color:var(--vo-destructive)}
.sr-stop:hover{background:var(--vo-destructive)!important;color:#fff!important}
.sr-size{min-width:64px;justify-content:center;font-size:1.25rem}
.sr-tool-label{font-weight:700;font-size:1.0625rem;color:var(--vo-fg)}
.sr-status{font-size:1rem;font-weight:700;color:var(--vo-accent)}
.sr-page>.sr-content>section.sr-section{padding:56px 0}
.sr-page .wrap{max-width:60rem}
.sr-section h2{margin:0;font-size:calc(2rem * var(--sr-scale));line-height:1.2;color:var(--vo-fg)}
.sr-section h3{margin:0 0 6px;font-size:calc(1.375rem * var(--sr-scale));line-height:1.3;color:var(--vo-fg)}
.sr-section p,.sr-section li,.sr-section dd{font-size:1em;color:var(--vo-fg)}
.sr-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-bottom:10px}
.sr-lead{margin:0 0 24px;max-width:46rem;color:#33465f!important}
.sr-read{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 18px;border:2px solid var(--vo-border);border-radius:999px;background:var(--vo-card);color:var(--vo-primary);font:inherit;font-size:1rem;font-weight:700;cursor:pointer}
.sr-read:hover{border-color:var(--vo-primary)}
.sr-read-small{margin-top:4px;justify-self:start}
.is-reading{outline:4px solid var(--vo-signal);outline-offset:8px;border-radius:1rem}
.sr-section.is-reading{outline-offset:-4px}
.sr-rules{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.sr-rules li{display:flex;gap:20px;align-items:flex-start;padding:24px 28px;border:2px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card)}
.sr-rule-num{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:var(--vo-success);color:#fff;font-family:var(--vo-font-display);font-size:1.75rem;font-weight:800}
.sr-rules p{margin:0}
.sr-tricks-section{background:var(--vo-muted)}
.sr-tricks,.sr-faq{display:grid;gap:14px}
.sr-trick{border:2px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card)}
.sr-trick[open]{border-color:var(--vo-primary)}
.sr-trick summary{position:relative;padding:22px 76px 22px 26px;font-family:var(--vo-font-display);font-size:calc(1.3125rem * var(--sr-scale));font-weight:700;line-height:1.35;color:var(--vo-fg);cursor:pointer;list-style:none}
.sr-trick summary::-webkit-details-marker{display:none}
.sr-trick summary:after{content:"+";position:absolute;right:20px;top:50%;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--vo-primary);color:#fff;font-size:1.5rem;transform:translateY(-50%)}
.sr-trick[open] summary:after{content:"−"}
.sr-trick-body{display:grid;gap:16px;padding:0 26px 26px}
.sr-trick-body>p{margin:0}
.sr-label{display:block;margin-bottom:6px;font-size:.8em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#33465f}
.sr-quote{padding:16px 20px;border-left:6px solid var(--vo-destructive);border-radius:.75rem;background:#fff4f4}
.sr-quote p{margin:0;font-style:italic}
.sr-signs ul{margin:0;padding-left:1.4em}
.sr-signs li{margin:6px 0}
.sr-do{padding:16px 20px;border-left:6px solid var(--vo-success);border-radius:.75rem;background:#effaf4}
.sr-do p{margin:0;font-weight:700}
.sr-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.sr-tips li{padding:24px;border:2px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card)}
.sr-tips p{margin:0}
.sr-words{display:grid;gap:12px;margin:0}
.sr-words>div{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:16px;padding:18px 22px;border:2px solid var(--vo-border);border-radius:1rem;background:var(--vo-card)}
.sr-words dt{font-family:var(--vo-font-display);font-weight:800;font-size:1.1em;color:var(--vo-primary)}
.sr-words dd{margin:0}
.sr-helpers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.sr-helpers li{display:flex;flex-direction:column;gap:6px;padding:24px;border:2px solid var(--vo-border);border-radius:1.25rem;background:var(--vo-card)}
.sr-helpers p{margin:0 0 6px}
.sr-helpers a,.sr-more a,.sr-steps a{color:var(--vo-accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sr-helpers a{margin-top:auto}
.sr-alert{padding:32px;border:3px solid var(--vo-destructive);border-radius:1.5rem;background:#fff6f6}
.sr-steps{margin:0 0 24px;padding-left:1.4em}
.sr-steps li{margin:12px 0;padding-left:6px}
.sr-cards{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;border-radius:1.5rem;background:var(--vo-primary)}
.sr-cards h2{color:#fff}
.sr-cards p{margin:8px 0 0;color:rgba(247,250,254,.88)!important;max-width:36rem}
.sr-cards .btn{flex:0 0 auto}
.sr-faq{margin-top:20px}
.sr-more{margin-top:28px}
@media(max-width:860px){.sr-tips,.sr-helpers{grid-template-columns:1fr}.sr-words>div{grid-template-columns:1fr;gap:4px}.sr-cards{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){
  .sr-page{font-size:calc(1.125rem * var(--sr-scale))}
  .sr-toolbar{top:64px}
  .sr-toolbar-inner{gap:8px}
  .sr-tool{min-height:48px;padding:8px 14px;font-size:1rem}
  .sr-rules li{flex-direction:column;gap:12px;padding:20px}
  .sr-trick summary{padding:18px 68px 18px 20px}
  .sr-trick-body{padding:0 20px 20px}
  .sr-alert,.sr-cards{padding:24px 20px}
}
@media print{.sr-toolbar,.sr-read{display:none!important}}
.sr-tool[hidden],.sr-read[hidden],.sr-page .btn[hidden]{display:none!important}
/* =====================================================================
   Zwart-witcontrast (toegankelijkheidsinstelling)
   Eén algemene laag voor de hele site, ook voor onderdelen die later worden toegevoegd:
   - overal wit met zwarte tekst en zwarte randen, zonder kleuren, verlopen, schaduwen of halve transparantie;
   - hero en footer zijn zwart met witte tekst;
   - knoppen, labels, nummers en voortgang blijven gevuld (omgekeerd), zodat ze herkenbaar blijven;
   - goed/fout is zonder kleur te zien: doorgetrokken rand + ✓ tegenover gestippelde rand + ✗.
   ===================================================================== */
body.high-contrast:not(#hc){background:#fff!important;color:#000!important}
body.high-contrast:not(#hc) *,body.high-contrast:not(#hc) *::before,body.high-contrast:not(#hc) *::after{color:#000!important;background-color:transparent!important;background-image:none!important;border-color:#000!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;-webkit-text-fill-color:currentColor}
body.high-contrast:not(#hc) ::placeholder{color:#333!important;opacity:1}
body.high-contrast:not(#hc) input,body.high-contrast:not(#hc) select,body.high-contrast:not(#hc) textarea{border:2px solid #000!important}
body.high-contrast:not(#hc) input[type=checkbox],body.high-contrast:not(#hc) input[type=radio],body.high-contrast:not(#hc) input[type=range]{accent-color:#000}
body.high-contrast:not(#hc) a{text-decoration:underline!important;text-underline-offset:3px}
body.high-contrast:not(#hc) :focus-visible{outline:3px solid #000!important;outline-offset:3px!important}
body.high-contrast:not(#hc) mark{background-color:transparent!important;text-decoration:underline wavy!important;text-decoration-thickness:1px!important}
/* Ondoorzichtige achtergrond voor vaste, zwevende en overlappende onderdelen. */
body.high-contrast:not(#hc) :is(.topbar,.sr-toolbar,.access-dialog,.stats-modal-dialog,[role=dialog],.ts-hero-score,.pw-hero-field,.nb-phone,.navlinks.open,.nav-dropdown){background-color:#fff!important}
body.high-contrast:not(#hc) .access-overlay{background-color:rgba(0,0,0,.6)!important}
/* Gevulde onderdelen (zwart met witte tekst). */
body.high-contrast:not(#hc) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.eh-badge,.nb-num,.ai-pin,.sr-rule-num,.eh-call-num,.eh-step h3 span,.pk-card-section h4 span,.pk-card-mark,.brand-mark,.kd-num,.zk-type,.ai-mock-live,.ai-mock-cta,.ai-mock-count,.ai-mock-name,.nb-mail-btn,.plan-hero-badge,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.ai-tab[aria-selected="true"],.pwg-mode input:checked+span,.pwg-toggles input:checked+span,.answers label:has(input:checked),.ts-hero-answer.is-correct,.plan-task.is-done .plan-day,.plan-hero-day.is-done,.plan-hero-day.is-current,.access-trigger,.back-top,.tool-icon,.kids-tool-icon,.kids-tool-button),
body.high-contrast:not(#hc) :is(.ai-hints li,.ai-rules li,.kd-help-plan li,.feedback.is-correct,.feedback.is-wrong,.nb-verdict,.ai-hero-flags li,.eh-dont strong)::before,
body.high-contrast:not(#hc) :is(.sr-trick summary,.eh-plan summary,.kb-split .knowledge-item summary)::after{background-color:#000!important;color:#fff!important;border-color:#000!important}
body.high-contrast:not(#hc) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.eh-badge,.nb-num,.ai-pin,.sr-rule-num,.eh-call-num,.eh-step h3 span,.pk-card-section h4 span,.pk-card-mark,.brand-mark,.kd-num,.zk-type,.ai-mock-live,.ai-mock-cta,.ai-mock-count,.ai-mock-name,.nb-mail-btn,.plan-hero-badge,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.ai-tab[aria-selected="true"],.pwg-mode input:checked+span,.pwg-toggles input:checked+span,.answers label:has(input:checked),.ts-hero-answer.is-correct,.plan-task.is-done .plan-day,.plan-hero-day.is-done,.plan-hero-day.is-current,.access-trigger,.back-top,.tool-icon,.kids-tool-icon,.kids-tool-button) *,body.high-contrast:not(#hc) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.eh-badge,.nb-num,.ai-pin,.sr-rule-num,.eh-call-num,.eh-step h3 span,.pk-card-section h4 span,.pk-card-mark,.brand-mark,.kd-num,.zk-type,.ai-mock-live,.ai-mock-cta,.ai-mock-count,.ai-mock-name,.nb-mail-btn,.plan-hero-badge,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.ai-tab[aria-selected="true"],.pwg-mode input:checked+span,.pwg-toggles input:checked+span,.answers label:has(input:checked),.ts-hero-answer.is-correct,.plan-task.is-done .plan-day,.plan-hero-day.is-done,.plan-hero-day.is-current,.access-trigger,.back-top,.tool-icon,.kids-tool-icon,.kids-tool-button)::before,body.high-contrast:not(#hc) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.eh-badge,.nb-num,.ai-pin,.sr-rule-num,.eh-call-num,.eh-step h3 span,.pk-card-section h4 span,.pk-card-mark,.brand-mark,.kd-num,.zk-type,.ai-mock-live,.ai-mock-cta,.ai-mock-count,.ai-mock-name,.nb-mail-btn,.plan-hero-badge,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.ai-tab[aria-selected="true"],.pwg-mode input:checked+span,.pwg-toggles input:checked+span,.answers label:has(input:checked),.ts-hero-answer.is-correct,.plan-task.is-done .plan-day,.plan-hero-day.is-done,.plan-hero-day.is-current,.access-trigger,.back-top,.tool-icon,.kids-tool-icon,.kids-tool-button)::after{color:#fff!important;stroke:currentColor}
body.high-contrast:not(#hc) .eh-dont strong::before{padding:0 4px;margin-right:4px}
/* Voortgang: zwarte vulling in een omlijnde baan. */
body.high-contrast:not(#hc) :is(.plan-progress-bar,.pwg-meter,.plan-hero-bar,.progress,.hp-quiz-bar,.pw-hero-meter span,.ts-hero-dots span){border:1px solid #000!important}
body.high-contrast:not(#hc) :is(.plan-progress-bar span,.pwg-meter span,.plan-hero-bar span,.progress span,.hp-quiz-bar i,.pw-hero-meter span.is-on,.ts-hero-dots span.is-correct){background-color:#000!important}
body.high-contrast:not(#hc) .ts-hero-dots span.is-wrong{background-image:repeating-linear-gradient(45deg,#000 0 3px,transparent 3px 6px)!important}
/* Goed en fout zonder kleur. */
body.high-contrast:not(#hc) :is(.answers label.is-correct,.feedback.is-correct,.nb-verdict.is-correct,.result.is-good,.scam-result.risk-low,.ai-hints li.is-active){border:3px solid #000!important}
body.high-contrast:not(#hc) :is(.answers label.is-wrong,.feedback.is-wrong,.nb-verdict.is-wrong,.result.is-bad,.result.is-mid,.scam-result.risk-high,.ts-hero-answer.is-wrong){border:3px dashed #000!important}
/* Uitgeschakelde knoppen blijven leesbaar; de gestippelde rand laat zien dat ze niet werken. */
body.high-contrast:not(#hc) :is(button,.btn):disabled{opacity:1!important;border-style:dashed!important}
body.high-contrast:not(#hc) :is(.btn small,.ai-mock-chat-head small,.read-aloud-controls button){opacity:1!important}
/* Donkere zones: hero en footer zwart met witte tekst. */
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer){background-color:#000!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) *,body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) *::before,body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) *::after{color:#fff!important;border-color:#fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.ts-hero-score,.pw-hero-field,.nb-phone){background-color:#000!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :focus-visible{outline-color:#fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.ai-pin,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.plan-hero-badge,.ts-hero-answer.is-correct,.plan-hero-day.is-done,.plan-hero-day.is-current,.brand-mark,.footer-help-btn-light),
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.ai-hero-flags li)::before{background-color:#fff!important;color:#000!important;border-color:#fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.btn:not(.btn-outline),.hp-btn:not(.hp-btn-ghost),.biz-video-btn,.ai-pin,.ai-hero-verdict,.ai-hero-flags li,.nb-notif-flag,.plan-hero-badge,.ts-hero-answer.is-correct,.plan-hero-day.is-done,.plan-hero-day.is-current,.brand-mark,.footer-help-btn-light) :is(*,::before,::after){color:#000!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.plan-hero-bar span,.pw-hero-meter span.is-on,.ts-hero-dots span.is-correct){background-color:#fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) :is(.plan-hero-bar,.pw-hero-meter span,.ts-hero-dots span){border-color:#fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero,.footer) .ts-hero-dots span.is-wrong{background-image:repeating-linear-gradient(45deg,#fff 0 3px,transparent 3px 6px)!important}
/* Zwart-witcontrast: decoratieve vlakken in de hero-animaties blijven zichtbaar (wit op zwart). */
body.high-contrast:not(#hc) :is(.hero,.hp-hero) :is(.ai-hero-wave span,.ai-hero-play,.pw-hero-lock,.nb-phone-notch,.pk-hero-steps span,.ts-hero-answer.is-correct){background-color:#fff!important;color:#000!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero) :is(.ai-hero-play,.pw-hero-lock) *{color:#000!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero) :is(.plan-hero-day,.pw-hero-chips li,.pk-hero-steps li,.ai-hero-voice,.ai-hero-avatar,.ai-hero-tag,.ts-hero-msg,.nb-notif){border:1px solid #fff!important}
body.high-contrast:not(#hc) :is(.hero,.hp-hero) .ai-hero-flags li::before{background-color:#000!important;color:#fff!important}
/* Bedrijven: video onder de statistieken, naast een korte inleiding. */
.page-bedrijven main>section.biz-video-section{padding:56px 0 8px;background:transparent}
.biz-video-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center}
.biz-video-text h2{margin:6px 0 12px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
.biz-video-text p:last-child{margin:0;color:var(--vo-muted-fg);line-height:1.65}
@media(max-width:860px){.biz-video-layout{grid-template-columns:1fr;gap:20px}}
/* Onderwerppagina's: direct-hulpblok en spoedkaart. */
.topic-quickhelp{margin-top:24px;padding:20px 24px;border:2px solid rgba(231,0,11,.25);border-radius:var(--vo-radius);background:#fff6f6}
.topic-quickhelp h2{margin:0 0 8px;font-size:1.25rem}
.topic-quickhelp ol{margin:0;padding-left:1.3em}
.topic-quickhelp li{margin:6px 0;line-height:1.55;color:var(--vo-fg)}
.topic-quickhelp a{color:var(--vo-accent);font-weight:700}
.topic-band-card.topic-band-card-alert{border-color:rgba(231,0,11,.35)!important;background:#fff6f6!important}
.topic-band-card-alert .topic-band-icon{background:var(--vo-destructive)!important;color:#fff!important}
body.high-contrast:not(#hc) .topic-quickhelp,body.high-contrast:not(#hc) .topic-band-card.topic-band-card-alert{border:3px solid #000!important}
/* Bedrijven: balk met de MKB Cyber Alarmcentrale. */
.page-bedrijven main>section.biz-alarm-section{padding:8px 0 32px;background:transparent}
.biz-alarm{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border:2px solid rgba(231,0,11,.25);border-radius:var(--vo-radius);background:#fff6f6}
.biz-alarm h2{margin:0 0 6px;font-size:1.375rem}
.biz-alarm p{margin:0;color:var(--vo-fg);line-height:1.6;max-width:44rem}
.biz-alarm-links{margin-top:8px!important;font-size:.9375rem}
.biz-alarm-links a{color:var(--vo-accent);font-weight:700}
.biz-alarm-call{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.biz-alarm{flex-direction:column;align-items:flex-start;padding:20px}}
body.high-contrast:not(#hc) .biz-alarm{border:3px solid #000!important}
/* Bedrijven: video op de lichte achtergrond. Geen donkere rand of verloop; lichte kaartrand, zachte schaduw en het label rechtsboven. */
.biz-video-section .biz-video{border:0;border-radius:var(--vo-radius)!important;background:var(--vo-card)!important;box-shadow:0 0 0 1px var(--vo-border),0 24px 48px -28px rgba(8,36,81,.35)!important;overflow:hidden}
.biz-video-section .biz-video-el{background:var(--vo-card)}
.biz-video-section .biz-video-play{background:transparent;padding:16px;justify-content:flex-start;align-items:flex-end}
.biz-video-section .biz-video-play:hover{background:rgba(8,36,81,.04)}
.biz-video-section .biz-video-play:focus-visible{border-radius:var(--vo-radius)}
.biz-video-section .biz-video-badge{background:rgba(255,255,255,.95);color:var(--vo-fg);box-shadow:0 2px 8px rgba(8,36,81,.15);backdrop-filter:none;-webkit-backdrop-filter:none}
/* Kinderen: video's als lichte kaarten met posterbeeld, grote afspeelknop en label rechtsboven (zoals op de bedrijvenpagina). */
.kd-video-frame{background:var(--vo-card);box-shadow:0 0 0 1px var(--vo-border),0 24px 48px -28px rgba(8,36,81,.35);border-radius:var(--vo-radius)}
.kd-video-frame video{background:var(--vo-card)}
.kd-video-start{position:absolute;inset:0;z-index:2;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.kd-video-start[hidden]{display:none}
.kd-video-start:hover{background:rgba(8,36,81,.04)}
.kd-video-start:hover .kd-video-play{transform:scale(1.08)}
.kd-video-start:focus-visible{outline:3px solid var(--vo-accent);outline-offset:-6px;border-radius:var(--vo-radius)}
.kd-video-badge{top:14px;right:14px;bottom:auto;background:rgba(255,255,255,.95);color:var(--vo-fg);box-shadow:0 2px 8px rgba(8,36,81,.15)}
