:root{
    --ink:#142238; --ink-soft:#4A5871; --paper:#FBF9F4; --surface:#F1ECDF;
    --surface-2:#EAE3D2; --line:#E1DACB; --accent:#AD7B3D; --accent-strong:#8C5F26;
    --on-accent:#FFFFFF; --shadow:rgba(20,34,56,0.10);
    --header-h:76px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --ink:#F3EFE4; --ink-soft:#B9C2D3; --paper:#0D1524; --surface:#15203A;
      --surface-2:#1B2A4A; --line:#283358; --accent:#D8A45E; --accent-strong:#E8BB7C;
      --on-accent:#12213A; --shadow:rgba(0,0,0,0.45);
    }
  }
  :root[data-theme="dark"]{
    --ink:#F3EFE4; --ink-soft:#B9C2D3; --paper:#0D1524; --surface:#15203A;
    --surface-2:#1B2A4A; --line:#283358; --accent:#D8A45E; --accent-strong:#E8BB7C;
    --on-accent:#12213A; --shadow:rgba(0,0,0,0.45);
  }

  *{box-sizing:border-box;}
  body{
    background:var(--paper); color:var(--ink);
    font-family:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height:1.55;
  }
  h1,h2,h3,.serif{
    font-family:'Fraunces', Georgia, 'Times New Roman', serif;
    text-wrap:balance; font-weight:600; color:var(--ink); letter-spacing:-0.01em;
  }
  h1{font-size:clamp(2.1rem,5vw,3.6rem); line-height:1.08; font-weight:700;}
  h2{font-size:clamp(1.5rem,3.2vw,2.2rem); line-height:1.15;}
  h3{font-size:1.15rem; line-height:1.3;}
  p{margin:0;}
  a{color:inherit;}
  img{max-width:100%; display:block;}
  .eyebrow{
    text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700;
    color:var(--accent-strong);
  }
  .wrap{max-width:960px; margin-inline:auto; padding-inline:max(16px, env(safe-area-inset-left,0px)) max(16px, env(safe-area-inset-right,0px));}
  .stack{display:flex; flex-direction:column; gap:1rem;}

  /* Header */
  header.site{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
    background:color-mix(in srgb, var(--paper) 92%, transparent);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .header-row{
    max-width:1100px; margin-inline:auto; padding-inline:16px;
    height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:1rem;
  }
  .brand{display:flex; align-items:center; gap:.65rem; text-decoration:none; flex-shrink:0;}
  .brand img{height:34px; width:auto;}
  .brand-text{display:flex; flex-direction:column; line-height:1.15;}
  .brand-text strong{font-family:'Fraunces',serif; font-size:1.02rem; font-weight:700;}
  .brand-text span{font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);}
  nav.primary{display:flex; align-items:center; gap:1.6rem;}
  nav.primary a{
    font-size:.92rem; font-weight:600; text-decoration:none; color:var(--ink-soft);
    padding-block:.3rem; border-bottom:2px solid transparent; white-space:nowrap;
  }
  nav.primary a:hover, nav.primary a[aria-current="page"]{color:var(--ink); border-color:var(--accent);}
  .header-actions{display:flex; align-items:center; gap:.75rem;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    font-weight:700; font-size:.92rem; text-decoration:none; border-radius:3px;
    padding:.75rem 1.3rem; border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .12s ease, background .12s ease, border-color .12s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-accent{background:var(--accent); color:var(--on-accent); border-color:var(--accent);}
  .btn-accent:hover{background:var(--accent-strong); border-color:var(--accent-strong);}
  .btn-outline{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-outline:hover{border-color:var(--ink-soft);}
  .btn-sm{padding:.55rem 1rem; font-size:.85rem;}
  .menu-toggle{
    display:none; background:none; border:1px solid var(--line); border-radius:3px;
    width:42px; height:42px; align-items:center; justify-content:center; cursor:pointer; color:var(--ink);
  }
  .mobile-panel{display:none;}

  @media (max-width: 880px){
    nav.primary{display:none;}
    .menu-toggle{display:inline-flex;}
    .header-actions .btn-book-label{display:none;}
    body.menu-open .mobile-panel{
      display:flex; flex-direction:column; gap:.2rem; padding:.75rem 16px 1.25rem;
      border-bottom:1px solid var(--line); background:var(--paper);
    }
    .mobile-panel a{
      padding:.7rem .2rem; text-decoration:none; color:var(--ink); font-weight:600;
      border-bottom:1px solid var(--line);
    }
  }

  /* Sections */
  main{display:block;}
  section.view{padding-block:3.2rem 3.6rem;}
  .hero{padding-block:3.6rem 3rem; background:var(--surface); border-bottom:1px solid var(--line);}
  .hero .wrap{max-width:760px;}
  .hero h1{margin-top:.6rem;}
  .hero .lede{margin-top:1.1rem; font-size:1.15rem; color:var(--ink-soft); max-width:56ch;}
  .hero-ctas{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.6rem; align-items:center;}
  .hero-split .wrap{max-width:1020px; display:grid; grid-template-columns:1.2fr .8fr; gap:2.5rem; align-items:center;}
  .hero-photo{background:var(--accent); padding:10px; border-radius:6px; max-width:320px;}
  .hero-photo img{display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:3px;}
  .hero-photo-caption{margin:.6rem 0 0; text-align:center; font-size:.8rem; font-weight:600; letter-spacing:.03em; color:var(--on-accent);}

  /* Infographic embed */
  .infographic-frame{margin-top:1.75rem; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff; box-shadow:0 8px 24px var(--shadow);}
  .infographic-scroll{overflow-x:auto;}
  .infographic-scroll img{display:block; min-width:640px; width:100%; height:auto;}
  .infographic-caption{margin:0; padding:.85rem 1.1rem; font-size:.82rem; color:var(--ink-soft); background:var(--surface); border-top:1px solid var(--line);}
  .cert-card{margin-top:1.25rem; max-width:340px; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff; box-shadow:0 8px 24px var(--shadow);}
  .cert-card img{display:block; width:100%; height:auto;}
  @media (max-width:760px){
    .hero-split .wrap{grid-template-columns:1fr; gap:1.5rem;}
    .hero-photo{max-width:220px; justify-self:start;}
  }
  .quote-line{font-family:'Fraunces',serif; font-style:italic; font-size:1rem; color:var(--ink-soft); margin-top:1.6rem;}

  section.band{border-bottom:1px solid var(--line); margin-top:1.75rem;}
  section.band.alt{background:var(--surface);}
  .section-head{max-width:60ch; margin-bottom:2rem;}
  .section-head h2{margin-top:.5rem;}
  .section-head p{margin-top:.8rem; color:var(--ink-soft);}

  /* Pillars grid */
  .pillars{display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem;}
  @media (max-width:760px){.pillars{grid-template-columns:1fr;}}
  .pillar{
    border:1px solid var(--line); border-radius:4px; overflow:hidden;
    display:flex; flex-direction:column; background:var(--paper);
  }
  .pillar .tag{font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--accent-strong); font-weight:700;}
  .pillar p{color:var(--ink-soft); font-size:.94rem;}
  .pillar .go{margin-top:auto; font-weight:700; font-size:.88rem; text-decoration:none; color:var(--ink);}
  .pillar .go:hover{color:var(--accent-strong);}
  .pillar-body{padding:1.35rem 1.5rem 1.5rem; display:flex; flex-direction:column; gap:.7rem; flex:1;}
  .pillar-visual{aspect-ratio:16/10; background:var(--ink); display:block;}
  .pillar-visual svg{width:100%; height:100%; display:block;}
  .viz-line{stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .viz-thin{stroke:var(--accent); fill:none; stroke-width:1.5; stroke-linecap:round;}
  .viz-dot{fill:var(--accent);}
  .viz-dim{stroke:color-mix(in srgb, var(--paper) 30%, transparent); fill:none; stroke-width:1.5;}

  /* HRV comparison chart */
  .hrv-compare{display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.75rem;}
  @media (max-width:640px){.hrv-compare{grid-template-columns:1fr;}}
  .hrv-panel{border-radius:4px; background:var(--ink); padding:1.1rem 1.1rem 1rem;}
  .hrv-panel svg{width:100%; height:auto; display:block;}
  .hrv-caption{margin:.8rem 0 0; font-size:.8rem; font-weight:600; color:var(--on-accent); text-align:center;}

  /* Results list */
  .results{display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem;}
  @media (max-width:640px){.results{grid-template-columns:1fr;}}
  .result{display:flex; gap:.8rem; align-items:flex-start;}
  .result .mark{
    flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--surface-2);
    display:flex; align-items:center; justify-content:center; color:var(--accent-strong); margin-top:.1rem;
  }
  .result strong{display:block; font-size:.98rem;}
  .result span{color:var(--ink-soft); font-size:.9rem;}

  /* Proof strip */
  .proof{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;}
  @media (max-width:760px){.proof{grid-template-columns:1fr;}}
  .proof .stat{border-left:2px solid var(--accent); padding-left:1rem;}
  .proof .stat b{font-family:'Fraunces',serif; font-size:1.9rem; display:block;}
  .proof .stat > span{color:var(--ink-soft); font-size:.85rem;}
  .press-list{display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin-top:1.4rem; color:var(--ink-soft); font-size:.85rem;}
  .press-list span{white-space:nowrap;}
  .press-card{display:block; margin-top:2.6rem; padding:1.6rem 1.8rem; background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:6px; text-decoration:none; color:var(--ink); max-width:720px; transition:box-shadow .2s, transform .2s;}
  .press-card:hover,.press-card:focus-visible{box-shadow:0 10px 28px var(--shadow); transform:translateY(-2px);}
  .press-card .press-meta{font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--accent-strong); margin-bottom:.6rem;}
  .press-card h3{font-size:1.3rem; margin:0 0 .7rem;}
  .press-card p{color:var(--ink-soft);}
  .press-card blockquote{margin:1.1rem 0 0; padding:0;}
  .press-card .press-link{display:inline-block; margin-top:1.1rem; font-weight:700; color:var(--accent-strong);}
  @media (max-width:640px){.press-card{padding:1.3rem 1.2rem;}}

  /* Testimonials */
  .testimonials{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:1.5rem;}
  .testimonial{
    border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:4px;
    background:var(--paper); padding:1.75rem 1.85rem; box-shadow:0 8px 24px var(--shadow);
  }
  .testimonial p{font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; line-height:1.55; color:var(--ink); margin:0;}
  .testimonial cite{display:block; margin-top:1.1rem; font-style:normal; font-weight:700; font-size:.85rem; color:var(--ink-soft);}

  /* Video card (links out to YouTube — artifact sandbox blocks embedded players) */
  .video-card{
    display:block; border-radius:4px; overflow:hidden; border:1px solid var(--line);
    text-decoration:none; color:inherit; box-shadow:0 8px 24px var(--shadow);
    transition:transform .15s ease;
  }
  .video-card:hover{transform:translateY(-2px);}
  .video-card .visual{
    aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
    background:
      radial-gradient(circle at 28% 24%, color-mix(in srgb, var(--accent) 40%, transparent) 0%, transparent 45%),
      var(--ink);
    position:relative;
  }
  .video-card .play{
    width:64px; height:64px; border-radius:50%; background:var(--accent); color:var(--on-accent);
    display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
    box-shadow:0 4px 14px rgba(0,0,0,.35);
  }
  .video-card .meta{
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:1rem 1.25rem; background:var(--paper);
  }
  .video-card .meta strong{display:block; font-size:.98rem;}
  .video-card .meta small{display:block; color:var(--ink-soft); font-size:.82rem; margin-top:.15rem; font-weight:400;}
  .video-card .ext{flex-shrink:0; color:var(--accent-strong); font-weight:700; font-size:.85rem; white-space:nowrap;}

  /* Embedded YouTube video */
  .video-embed{
    position:relative; width:100%; aspect-ratio:16/9; border-radius:4px; overflow:hidden;
    border:1px solid var(--line); box-shadow:0 8px 24px var(--shadow); background:var(--ink);
  }
  .video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

  /* Process steps */
  .steps{display:flex; flex-direction:column; gap:1.1rem; counter-reset:step;}
  .step{display:flex; gap:1rem; align-items:flex-start; border-bottom:1px solid var(--line); padding-bottom:1.1rem;}
  .step:last-child{border-bottom:none; padding-bottom:0;}
  .step .num{
    counter-increment:step; font-family:'Fraunces',serif; font-weight:700; color:var(--accent-strong);
    font-size:1rem; flex-shrink:0; width:2.1rem;
  }
  .step .num::before{content: counter(step, decimal-leading-zero);}
  .step h3{margin-bottom:.25rem;}
  .step p{color:var(--ink-soft); font-size:.94rem;}

  /* Practical facts */
  .facts{display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; margin-top:1.5rem;}
  @media (max-width:640px){.facts{grid-template-columns:1fr;}}
  .fact dt{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:.25rem;}
  .fact dd{margin:0; font-weight:600;}

  /* Duration options */
  .durations{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem;}
  @media (max-width:700px){.durations{grid-template-columns:1fr;}}
  .duration{border:1px solid var(--line); border-radius:4px; padding:1.4rem; background:var(--paper);}
  .duration b{font-family:'Fraunces',serif; font-size:1.6rem; display:block;}
  .duration span{color:var(--ink-soft); font-size:.85rem;}

  blockquote.pull{
    font-family:'Fraunces',serif; font-style:italic; font-size:1.4rem; line-height:1.4;
    border-left:3px solid var(--accent); padding-left:1.3rem; margin:2rem 0; max-width:56ch;
  }
  blockquote.pull cite{display:block; font-style:normal; font-size:.8rem; color:var(--ink-soft); margin-top:.6rem;}

  /* FAQ */
  details.faq{border-bottom:1px solid var(--line); padding-block:1.1rem;}
  details.faq summary{
    cursor:pointer; font-weight:700; list-style:none; display:flex; justify-content:space-between; gap:1rem;
  }
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:"+"; font-family:'Fraunces',serif; font-size:1.3rem; color:var(--accent-strong); flex-shrink:0;}
  details.faq[open] summary::after{content:"–";}
  details.faq p{margin-top:.8rem; color:var(--ink-soft); font-size:.95rem; max-width:64ch;}
  details.faq .faq-video{margin-top:1.1rem;}
  details.faq .faq-video video{display:block; width:100%; aspect-ratio:16/9; border-radius:4px; border:1px solid var(--line); box-shadow:0 8px 24px var(--shadow); background:#000;}
  details.faq .faq-video-caption{margin-top:.5rem; font-size:.82rem;}

  /* Contact */
  .contact-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem;}
  @media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{border:1px solid var(--line); border-radius:4px; padding:1.6rem; background:var(--surface);}
  .contact-card dl{display:flex; flex-direction:column; gap:1rem; margin-top:1rem;}
  .contact-card dt{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft);}
  .contact-card dd{margin:.15rem 0 0; font-weight:600;}
  .contact-card a{text-decoration:underline; text-decoration-color:var(--line);}

  /* CTA band */
  .cta-band{background:var(--ink); color:var(--paper); text-align:center;}
  :root[data-theme="dark"] .cta-band, .cta-band{background:var(--ink);}
  .cta-band h2{color:inherit; font-family:'Fraunces',serif;}
  .cta-band .wrap{max-width:640px; display:flex; flex-direction:column; align-items:center; gap:1.1rem;}
  .cta-band p{color:color-mix(in srgb, var(--paper) 75%, transparent);}
  .cta-band .btn-outline{border-color:color-mix(in srgb, var(--paper) 35%, transparent); color:var(--paper);}
  .cta-band .btn-outline:hover{border-color:var(--paper);}

  /* Lead-magnet banner (free guide download) */
  .lead-magnet .wrap{
    display:flex; align-items:center; justify-content:space-between; gap:2rem;
    background:var(--paper); border:1px solid var(--line); border-radius:6px;
    padding:1.8rem 2rem; box-shadow:0 8px 24px var(--shadow);
  }
  .lead-magnet .eyebrow{color:var(--accent-strong);}
  .lead-magnet h2{margin-top:.2rem; font-size:1.3rem;}
  .lead-magnet p{color:var(--ink-soft); max-width:52ch; margin-top:.4rem;}
  .lead-magnet .btn{flex-shrink:0;}
  @media (max-width:700px){
    .lead-magnet .wrap{flex-direction:column; align-items:flex-start; text-align:left; padding:1.5rem;}
    .lead-magnet .btn{width:100%; text-align:center;}
  }

  footer.site{border-top:1px solid var(--line); padding-block:2.5rem 5.5rem; background:var(--surface);}
  .footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:2rem;}
  @media (max-width:700px){.footer-grid{grid-template-columns:1fr; gap:1.6rem;}}
  .footer-grid h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:.8rem;}
  .footer-grid a{display:block; text-decoration:none; font-size:.92rem; padding-block:.25rem; color:var(--ink);}
  .footer-grid a:hover{color:var(--accent-strong);}
  .footer-brand{display:flex; align-items:center; gap:.6rem; margin-bottom:.9rem;}
  .footer-brand img{height:30px;}
  .footer-legal{
    max-width:1100px; margin:2.2rem auto 0; padding-inline:16px; padding-top:1.4rem; border-top:1px solid var(--line);
    font-size:.8rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; justify-content:space-between;
  }

  /* Mobile sticky CTA */
  .mobile-cta{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:50;
    padding:.7rem 16px calc(.7rem + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter:blur(8px);
    border-top:1px solid var(--line);
  }
  .mobile-cta .btn{width:100%;}
  @media (max-width:640px){
    .mobile-cta{display:block;}
    section.view{padding-bottom:5.5rem;}
  }

  [hidden]{display:none !important;}
  :focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

  /* i18n */
  html:not([lang="en"]) .i18n-en{display:none;}
  html[lang="en"] .i18n-nl{display:none;}
  .lang-switch{display:flex; border:1px solid var(--line); border-radius:20px; overflow:hidden; flex-shrink:0;}
  .lang-btn{background:none; border:none; padding:.4rem .7rem; font-size:.72rem; font-weight:700; letter-spacing:.03em; cursor:pointer; color:var(--ink-soft);}
  .lang-btn[aria-pressed="true"]{background:var(--accent); color:var(--on-accent);}


  /* ===== Boekpagina (boek.html) ===== */
  /* Menu heeft 8 items: iets compacter op middelgrote schermen */
  @media (max-width: 1100px){ nav.primary{gap:1.1rem;} nav.primary a{font-size:.88rem;} }
  /* Past het menu niet (bv. 8 items op een laptop, of Engelse labels)? Dan zet script.js
     de class "nav-compact" op body en tonen we het ☰-menu, net als op mobiel. */
  body.nav-compact nav.primary{display:none;}
  body.nav-compact .menu-toggle{display:inline-flex;}
  body.nav-compact .header-actions .btn-book-label{display:none;}
  body.nav-compact.menu-open .mobile-panel{display:flex; flex-direction:column; gap:.2rem; padding:.75rem 16px 1.25rem; border-bottom:1px solid var(--line); background:var(--paper);}
  body.nav-compact .mobile-panel a{padding:.7rem .2rem; text-decoration:none; color:var(--ink); font-weight:600; border-bottom:1px solid var(--line);}

  html{scroll-behavior:smooth;}
  #volg-het-boek, #waarom{scroll-margin-top:calc(var(--header-h) + 12px);}

  /* Cover (vaste kleuren: het is een fysiek object, ook in dark mode) */
  .book-hero .wrap{grid-template-columns:1.25fr .75fr;}
  .book-cover{
    justify-self:center; width:min(250px, 64vw); aspect-ratio:2/3; position:relative;
    background:linear-gradient(160deg, #1d3152 0%, #142238 55%, #0d1729 100%);
    color:#F3EFE4; border-radius:3px 7px 7px 3px; padding:1.6rem 1.4rem 1.4rem 1.9rem;
    display:flex; flex-direction:column; justify-content:space-between;
    box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 22px 44px -12px rgba(13,23,41,.55), 0 4px 10px rgba(13,23,41,.25);
    outline:1px solid color-mix(in srgb, #D8A45E 35%, transparent); outline-offset:-9px;
    transform:rotate(-2deg);
  }
  .book-cover::before{ /* rug */
    content:""; position:absolute; left:0; top:0; bottom:0; width:12px;
    background:linear-gradient(90deg, rgba(0,0,0,.35), rgba(255,255,255,.07) 70%, transparent);
    border-radius:3px 0 0 3px;
  }
  .book-author{font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:#D8A45E;}
  .book-title-hidden{display:flex; flex-direction:column; gap:.55rem;}
  .book-title-hidden i{display:block; height:15px; background:#0a1220; border-radius:1px; box-shadow:0 0 0 1px rgba(216,164,94,.18);}
  .book-title-hidden small{margin-top:.35rem; font-family:'Fraunces',serif; font-style:italic; font-size:.82rem; color:#B9C2D3;}
  .book-year{font-family:'Fraunces',serif; font-weight:700; font-size:2.6rem; line-height:1; color:#D8A45E;}
  @media (max-width:760px){
    .book-hero .wrap{grid-template-columns:1fr;}
    .book-cover{justify-self:start; width:min(200px, 56vw); margin-top:.5rem;}
    .book-year{font-size:2.1rem;}
  }

  /* Drie plekken waar het stil blijft */
  .silence-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;}
  @media (max-width:760px){.silence-grid{grid-template-columns:1fr;}}
  .silence{border-top:2px solid var(--ink); padding-top:1.1rem;}
  .silence-mark{display:block; font-family:'Fraunces',serif; font-size:1.6rem; line-height:1; color:var(--accent-strong); margin-bottom:.5rem;}
  .silence h3{margin:0 0 .4rem;}
  .silence p{color:var(--ink-soft); font-size:.94rem;}

  /* Waarom */
  .book-why{display:grid; grid-template-columns:1.3fr .7fr; gap:2.5rem; align-items:start;}
  .book-why .stack p{color:var(--ink-soft); font-size:1.02rem; max-width:58ch;}
  .book-scope{border:1px solid var(--line); border-radius:4px; background:var(--paper); padding:1.4rem 1.5rem;}
  .book-scope p{color:var(--ink-soft); font-size:.9rem;}
  .book-scope-flags{font-family:'Fraunces',serif; font-weight:600; font-size:1.45rem !important; color:var(--ink) !important; margin:.4rem 0 .6rem !important; display:flex; flex-wrap:wrap; gap:.4rem; align-items:baseline;}
  .book-scope-flags .amp{color:var(--accent-strong); font-style:italic;}
  @media (max-width:760px){.book-why{grid-template-columns:1fr; gap:1.5rem;}}

  /* Tijdlijn */
  .book-timeline{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; position:relative;}
  .book-timeline::before{content:""; position:absolute; left:6px; right:6px; top:6px; height:2px; background:var(--line);}
  .book-timeline li{position:relative; display:flex; flex-direction:column; gap:1rem;}
  .tl-dot{width:14px; height:14px; border-radius:50%; background:var(--paper); border:2px solid var(--line); position:relative; z-index:1;}
  .book-timeline li.is-now .tl-dot{background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent);}
  .tl-when{font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; color:var(--ink-soft);}
  .book-timeline li.is-now .tl-when{color:var(--accent-strong);}
  .book-timeline h3{margin:.25rem 0 .35rem;}
  .book-timeline p:not(.tl-when){color:var(--ink-soft); font-size:.93rem;}
  @media (max-width:700px){
    .book-timeline{grid-template-columns:1fr; gap:1.4rem; padding-left:1.6rem;}
    .book-timeline::before{left:6px; right:auto; top:6px; bottom:6px; width:2px; height:auto;}
    .book-timeline li{flex-direction:row; gap:0;}
    .tl-dot{position:absolute; left:-1.6rem; top:2px;}
  }

  /* Inschrijving */
  .signup-wrap{display:grid; grid-template-columns:.95fr 1.05fr; gap:2.5rem; align-items:center;}
  @media (max-width:800px){.signup-wrap{grid-template-columns:1fr; gap:1.6rem;}}
  .signup-wrap h2{margin-top:.5rem;}
  .signup-points{list-style:none; padding:0; margin:1.3rem 0 0; display:flex; flex-direction:column; gap:.7rem;}
  .signup-points li{position:relative; padding-left:1.7rem; color:var(--ink-soft);}
  .signup-points li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--accent-strong); font-weight:700;}
  .signup-card{
    position:relative; background:var(--paper); border:1px solid var(--line); border-radius:6px;
    padding:1.7rem; box-shadow:0 8px 24px var(--shadow); display:flex; flex-direction:column; gap:1rem;
  }
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
  @media (max-width:480px){.field-row{grid-template-columns:1fr;}}
  .field{display:flex; flex-direction:column; gap:.35rem; font-size:.82rem; font-weight:600; color:var(--ink);}
  .field b{color:var(--accent-strong);}
  .field input{
    font:inherit; font-size:1rem; font-weight:400; color:var(--ink); background:var(--paper);
    border:1px solid var(--line); border-radius:3px; padding:.75rem .85rem; width:100%;
  }
  .field input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
  .signup-card .btn{width:100%; padding-block:.9rem; font-size:.98rem;}
  .signup-card .btn[disabled]{opacity:.65; cursor:progress;}
  .signup-status{font-size:.92rem; min-height:0;}
  .signup-status:empty{display:none;}
  .signup-status.is-success{color:var(--ink); background:color-mix(in srgb, var(--accent) 14%, transparent); border-left:3px solid var(--accent); padding:.75rem .9rem; border-radius:3px;}
  .signup-status.is-error{color:#b3261e; font-weight:600;}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .signup-status.is-error{color:#ff8a80;} }
  :root[data-theme="dark"] .signup-status.is-error{color:#ff8a80;}
  .signup-legal{font-size:.78rem; color:var(--ink-soft);}

  /* Mediapagina */
  .media-cats{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.6rem;}
  .media-cats a{font-size:.85rem; font-weight:700; text-decoration:none; padding:.45rem .9rem; border:1px solid var(--accent); border-radius:999px; color:var(--accent-strong);}
  .media-cats a:hover{background:var(--accent); color:var(--on-accent);}
  .media-series, #vragen{scroll-margin-top:calc(var(--header-h) + 16px);}
  .episodes{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:1.5rem;}
  .episode{display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:4px; overflow:hidden; box-shadow:0 8px 24px var(--shadow); max-width:380px;}
  .episode-video{aspect-ratio:9/16; background:var(--ink);}
  .episode-video video{display:block; width:100%; height:100%; object-fit:contain; background:#000;}
  .episode-meta{padding:1.1rem 1.25rem 1.35rem; display:flex; flex-direction:column; gap:.55rem;}
  .episode-num{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--accent-strong);}
  .episode-meta p{color:var(--ink-soft); font-size:.92rem;}
  .episode-meta .episode-num{color:var(--accent-strong); font-size:.72rem;}
  .episode-question{font-family:'Fraunces',serif; font-style:italic; color:var(--ink) !important; border-top:1px solid var(--line); padding-top:.6rem;}

  /* ===== Hoofdmenu: groep "Coaching" (uitklapmenu) ===== */
  .nav-group{position:relative; display:flex; align-items:center;}
  .nav-group-toggle{
    font:inherit; font-size:.92rem; font-weight:600; color:var(--ink-soft); background:none; border:0; cursor:pointer;
    padding:.3rem 0; border-bottom:2px solid transparent; display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap;
  }
  .nav-group-toggle .caret{font-size:.7rem; transition:transform .15s ease;}
  .nav-group-toggle:hover, .nav-group.is-active .nav-group-toggle{color:var(--ink); border-color:var(--accent);}
  .nav-group.open .nav-group-toggle .caret{transform:rotate(180deg);}
  .nav-sub{
    display:none; position:absolute; top:calc(100% + 10px); left:-1rem; min-width:270px; z-index:60;
    background:var(--paper); border:1px solid var(--line); border-radius:6px; box-shadow:0 14px 34px var(--shadow);
    padding:.45rem; flex-direction:column;
  }
  .nav-sub::before{content:""; position:absolute; left:0; right:0; top:-12px; height:12px;}
  .nav-group.open .nav-sub{display:flex;}
  @media (hover:hover) and (pointer:fine){ .nav-group:hover .nav-sub{display:flex;} .nav-group:hover .nav-group-toggle .caret{transform:rotate(180deg);} }
  nav.primary .nav-sub a{
    display:flex; flex-direction:column; gap:.1rem; padding:.6rem .8rem; border-radius:4px; border-bottom:0;
    color:var(--ink); white-space:normal;
  }
  nav.primary .nav-sub a small{font-size:.76rem; font-weight:400; color:var(--ink-soft);}
  nav.primary .nav-sub a:hover, nav.primary .nav-sub a[aria-current="page"]{background:var(--surface); border-color:transparent;}
  nav.primary .nav-sub a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--accent);}
  .mobile-panel .mobile-group-label{
    margin:.6rem 0 .1rem; padding:.2rem; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-strong);
  }
  .mobile-panel a.sub{padding-left:1.1rem !important; font-weight:500 !important;}

  /* Peak State Scan (peak-state-scan.html) */
  #scan, #scanResult, #scanReport, #peak-state-scan{scroll-margin-top:calc(var(--header-h) + 12px);}
  .scan-meta{font-size:.85rem; color:var(--ink-soft);}
  .scan-card{
    max-width:760px; margin-inline:auto; background:var(--paper); border:1px solid var(--line); border-radius:6px;
    box-shadow:0 8px 24px var(--shadow); padding:2rem;
  }
  @media (max-width:640px){.scan-card{padding:1.4rem 1.2rem;}}
  .scan-progress{height:4px; background:var(--surface-2); border-radius:2px; overflow:hidden;}
  .scan-progress i{display:block; height:100%; width:0; background:var(--accent); transition:width .25s ease;}
  .scan-count{display:flex; justify-content:space-between; gap:1rem; margin:1rem 0 .8rem; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}
  .scan-count .dim{color:var(--accent-strong);}
  .scan-q{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(1.25rem,2.6vw,1.6rem); line-height:1.3; min-height:2.7em; outline:none;}
  .scan-options{display:grid; grid-template-columns:repeat(5,1fr); gap:.6rem; margin-top:1.4rem;}
  .scan-opt{
    font:inherit; font-size:.88rem; font-weight:600; color:var(--ink); background:var(--paper);
    border:1px solid var(--line); border-radius:4px; padding:.9rem .4rem; cursor:pointer;
    transition:border-color .12s ease, background .12s ease, color .12s ease;
  }
  .scan-opt:hover{border-color:var(--accent);}
  .scan-opt[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--on-accent);}
  @media (max-width:640px){.scan-options{grid-template-columns:1fr;} .scan-opt{text-align:left; padding:.85rem 1rem;}}
  .scan-nav{display:flex; justify-content:space-between; margin-top:1.3rem;}
  .scan-back{background:none; border:none; font:inherit; font-size:.86rem; font-weight:600; color:var(--ink-soft); cursor:pointer; padding:.3rem 0;}
  .scan-back:hover{color:var(--ink);}
  .scan-back[disabled]{visibility:hidden;}

  .scan-result-head{display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:center;}
  @media (max-width:760px){.scan-result-head{grid-template-columns:1fr; gap:1.6rem;}}
  .scan-result-head h2{outline:none;}
  .scan-res-desc{margin-top:.9rem; color:var(--ink-soft); font-size:1.02rem; max-width:56ch;}
  .scan-matrix{background:var(--ink); border-radius:6px; padding:1rem; max-width:380px; width:100%; justify-self:center;}
  .scan-matrix svg{display:block; width:100%; height:auto;}
  .mx-quad{fill:transparent; transition:fill .3s ease;}
  .mx-quad.is-on{fill:color-mix(in srgb, var(--accent) 24%, transparent);}
  .mx-label{fill:var(--paper); font-family:'Public Sans',sans-serif; font-size:11px; font-weight:600; opacity:.8;}
  .mx-axis{fill:var(--paper); font-family:'Public Sans',sans-serif; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.55;}
  .mx-you-ring{fill:none; stroke:var(--accent); stroke-width:1.5; opacity:.55;}
  .scan-gate{margin-top:3rem; padding-top:2.5rem; border-top:1px solid var(--line);}
  .consent{display:flex; gap:.65rem; align-items:flex-start; font-size:.84rem; color:var(--ink-soft); cursor:pointer;}
  .consent input{flex-shrink:0; width:17px; height:17px; margin:.15rem 0 0; accent-color:var(--accent);}

  .scan-report-grid{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem;}
  @media (max-width:760px){.scan-report-grid{grid-template-columns:1fr; gap:2rem;}}
  #scanReport h2{outline:none;}
  .scan-bars{display:flex; flex-direction:column; gap:1.2rem;}
  .scan-bar-top{display:flex; justify-content:space-between; gap:1rem; font-weight:700; font-size:.94rem;}
  .scan-bar-top span:last-child{font-family:'Fraunces',serif; color:var(--accent-strong);}
  .scan-bar{height:8px; margin-top:.45rem; background:var(--surface-2); border-radius:4px; overflow:hidden;}
  .scan-bar i{display:block; height:100%; background:var(--accent); border-radius:4px;}
  .scan-bar.is-load i{background:var(--ink-soft);}
  .scan-bar-note{margin-top:.35rem; font-size:.82rem; color:var(--ink-soft);}

  .breath-wrap{
    display:grid; grid-template-columns:auto 1fr; gap:2.2rem; align-items:center; margin-top:2.8rem;
    background:var(--ink); color:var(--paper); border-radius:6px; padding:2rem;
  }
  .breath-wrap h3{color:var(--paper); margin:.35rem 0 .5rem;}
  .breath-wrap p{color:color-mix(in srgb, var(--paper) 78%, transparent); font-size:.94rem; max-width:52ch;}
  .breath-wrap .btn-outline{margin-top:1rem; color:var(--paper); border-color:color-mix(in srgb, var(--paper) 35%, transparent);}
  .breath-wrap .btn-outline:hover{border-color:var(--paper);}
  .breath-status{margin-top:.8rem; font-weight:700; color:var(--paper) !important; min-height:1.4em;}
  .breath-circle{
    width:150px; height:150px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    border:1px solid color-mix(in srgb, var(--paper) 30%, transparent);
  }
  .breath-orb{width:54px; height:54px; border-radius:50%; background:var(--accent); transform:scale(1); transition:transform 5s ease-in-out;}
  .breath-circle.is-in .breath-orb{transform:scale(2.6);}
  @media (prefers-reduced-motion: reduce){ .breath-orb{transition:none;} }
  @media (max-width:640px){ .breath-wrap{grid-template-columns:1fr; justify-items:center; text-align:center; padding:1.6rem 1.2rem;} .breath-wrap p{margin-inline:auto;} }

  .scan-next{
    display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2.5rem;
    border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:6px; padding:1.6rem 1.8rem; background:var(--surface);
  }
  .scan-next p{color:var(--ink-soft); margin-top:.4rem; max-width:52ch; font-size:.94rem;}
  .scan-next-ctas{display:flex; flex-direction:column; gap:.6rem; flex-shrink:0;}
  @media (max-width:760px){ .scan-next{flex-direction:column; align-items:flex-start;} .scan-next-ctas{width:100%;} }
  .scan-disclaimer{margin:2.2rem auto 0; max-width:760px; font-size:.78rem; color:var(--ink-soft); text-align:center;}
  #scanResult .scan-disclaimer{text-align:left; max-width:none;}
  #assessment{scroll-margin-top:calc(var(--header-h) + 12px);}
  .scan-teaser + .lead-magnet{margin-top:1rem;}


  /* ===== Knop "Mijn coaching" (link naar persoonlijke coachingpagina) ===== */
  .header-actions .btn-mijn{color:var(--ink);}
  .mobile-panel a.mobile-mijn{color:var(--accent-strong, var(--accent)) !important; font-weight:700 !important;}
  @media (max-width: 880px){ .header-actions .btn-mijn{display:none;} }
  body.nav-compact .header-actions .btn-mijn{display:none;}
  /* Extra ruimte in de header zodat menu + beide knoppen op één rij passen */
  .header-row{max-width:1200px;}

  /* ===== Privacy- en cookiebeleid (privacy.html) ===== */
  .legal-updated{margin-top:1rem; font-size:.85rem; color:var(--ink-soft);}
  .legal{max-width:72ch;}
  .legal h2{margin:2.8rem 0 .9rem; scroll-margin-top:calc(var(--header-h) + 16px);}
  .legal h3{margin:1.8rem 0 .6rem;}
  .legal p{margin:0 0 1rem; color:var(--ink-soft);}
  .legal p strong, .legal li strong{color:var(--ink);}
  .legal ul{margin:0 0 1rem; padding-left:1.2rem; color:var(--ink-soft);}
  .legal li{margin-bottom:.45rem;}
  .legal a{color:var(--accent-strong); text-underline-offset:2px;}
  .legal code{font-size:.85em; background:var(--surface); padding:.1em .35em; border-radius:4px; color:var(--ink);}
  .legal-toc{border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:6px; padding:1.2rem 1.4rem; background:var(--surface); margin-bottom:1rem;}
  .legal-toc ol{margin:.6rem 0 0; padding-left:1.2rem; columns:2 260px; column-gap:2rem;}
  .legal-toc li{margin-bottom:.3rem; break-inside:avoid;}
  .legal-toc a{color:var(--ink); text-decoration:none;}
  .legal-toc a:hover{text-decoration:underline;}
  .legal-card{border:1px solid var(--line); border-radius:6px; padding:1.1rem 1.3rem; background:var(--surface); margin:0 0 1rem;}
  .legal-card p{margin:0; color:var(--ink); line-height:1.7;}
  .legal-note{font-size:.88rem; font-style:italic;}
  .table-scroll{overflow-x:auto; margin:0 0 1.2rem; -webkit-overflow-scrolling:touch;}
  .legal-table{width:100%; border-collapse:collapse; font-size:.9rem; min-width:520px;}
  .legal-table th, .legal-table td{text-align:left; vertical-align:top; padding:.65rem .75rem; border-bottom:1px solid var(--line);}
  .legal-table th{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--accent-strong); background:var(--surface);}
  .legal-table td{color:var(--ink-soft);}
  .legal-table td:first-child{color:var(--ink); font-weight:600;}

  /* Footer: privacy-links */
  .footer-legal-links{display:flex; flex-wrap:wrap; gap:.5rem 1.2rem;}
  .footer-legal a, .footer-legal .link-btn{color:var(--ink-soft); text-decoration:underline; text-underline-offset:2px;}
  .link-btn{background:none; border:0; padding:0; font:inherit; cursor:pointer;}
  .footer-legal a:hover, .footer-legal .link-btn:hover{color:var(--ink);}

  /* Cookiebanner */
  .cookie-banner{
    position:fixed; left:16px; right:16px; bottom:16px; z-index:80; margin-inline:auto; max-width:760px;
    background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:8px;
    box-shadow:0 10px 30px var(--shadow); padding:1.1rem 1.3rem;
  }
  .cookie-banner[hidden]{display:none;}
  .cookie-inner{display:flex; align-items:center; gap:1.2rem;}
  .cookie-inner p{font-size:.88rem; color:var(--ink-soft); line-height:1.5;}
  .cookie-inner p strong{color:var(--ink);}
  .cookie-inner a{color:var(--accent-strong);}
  .cookie-actions{display:flex; gap:.6rem; flex-shrink:0;}
  .cookie-btn{background:var(--ink); color:var(--paper); border-color:var(--ink); min-width:7.5rem; justify-content:center;}
  .cookie-btn:hover{opacity:.9;}
  @media (max-width:640px){
    .cookie-banner{bottom:calc(10px + env(safe-area-inset-bottom,0px)); left:10px; right:10px; padding:1rem;}
    .cookie-inner{flex-direction:column; align-items:stretch;}
    .cookie-actions .btn{flex:1;}
  }

  /* YouTube-plaatshouder zolang er geen toestemming is */
  .video-embed .consent-placeholder{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem;
    padding:1.2rem; text-align:center; background:var(--surface); border:1px solid var(--line);
  }
  .video-embed .consent-placeholder[hidden]{display:none;}
  .consent-placeholder p{max-width:44ch; font-size:.92rem; color:var(--ink-soft);}
  .consent-placeholder .consent-more{font-size:.8rem; color:var(--ink-soft);}
  .consent-placeholder .btn{white-space:normal;}


  /* Drie trajecten (executive-coaching.html#trajecten) */
  #trajecten{scroll-margin-top:calc(var(--header-h) + 16px);}
  .tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; align-items:stretch;}
  @media (max-width:860px){.tiers{grid-template-columns:1fr;}}
  .tier{border:1px solid var(--line); border-radius:6px; background:var(--paper); padding:1.6rem 1.5rem; display:flex; flex-direction:column; gap:.75rem;}
  .tier .tag{font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent-strong); font-weight:700;}
  .tier h3{font-size:1.5rem; margin:0;}
  .tier .meta{color:var(--ink-soft); font-size:.9rem;}
  .tier ul{list-style:none; margin:.3rem 0 0; padding:0; display:grid; gap:.45rem; font-size:.92rem;}
  .tier li{display:flex; gap:.55rem; align-items:baseline;}
  .tier li::before{content:"\2713"; color:var(--accent); font-weight:700; flex:none;}
  .tier .tier-note{font-size:.84rem; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:.8rem; margin-top:.4rem;}
  .tier .btn{margin-top:auto; align-self:flex-start;}
  .tier ul + .btn, .tier .tier-note + .btn{margin-top:auto;}
  .tier ul{margin-bottom:1rem;}
  .tier.featured{background:#142238; color:#FBF9F4; border-color:#AD7B3D;}
  .tier.featured h3{color:#FBF9F4;}
  .tier.featured .tag{color:#D8A45E;}
  .tier.featured .meta{color:#B9C2D3;}
  .tier.featured li::before{color:#D8A45E;}
  .tiers-foot{margin-top:1.4rem; color:var(--ink-soft); font-size:.9rem; max-width:70ch;}
  .tiers-link{margin-top:1.2rem;}
  .tiers-link a{font-weight:700; font-size:.92rem; text-decoration:none; color:var(--ink);}
  .tiers-link a:hover{color:var(--accent-strong);}
