
  :root{
    --ink:#1F1C18;
    --oxblood:#7A2E27;
    --gold:#B08D57;
    --gold-bright:#D4AF37;
    --parchment:#F3ECDD;
    --parchment-dim:#E8DFC8;
    --parchment-deep:#DCCFAE;
    --teal:#2E4A45;
    --line: rgba(31,28,24,0.16);
    --shadow: 0 18px 40px rgba(31,28,24,0.14);
    --serif-display:'Fraunces', 'Iowan Old Style', 'Palatino Linotype', serif;
    --serif-body:'Source Serif 4', 'Iowan Old Style', Georgia, serif;
    --mono:'IBM Plex Mono', ui-monospace, Menlo, monospace;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--parchment);
    color:var(--ink);
    font-family:var(--serif-body);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:5;
    opacity:.5;
    background-image:
      radial-gradient(circle at 20% 30%, rgba(31,28,24,0.025) 0, transparent 45%),
      radial-gradient(circle at 80% 70%, rgba(31,28,24,0.03) 0, transparent 50%),
      repeating-linear-gradient(0deg, rgba(31,28,24,0.012) 0px, transparent 1px, transparent 2px);
  }

  h1,h2,h3,h4{
    font-family:var(--serif-display);
    font-weight:560;
    letter-spacing:0.01em;
    margin:0;
    color:var(--ink);
  }
  a{color:inherit;}
  button{font-family:inherit;}

  .eyebrow{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--oxblood);
  }

  /* ---------- layout shell ---------- */
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(243,236,221,0.92);
    backdrop-filter: blur(6px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 0;
    gap:24px;
  }
  .brand{display:flex; align-items:center; gap:12px; cursor:pointer; background:none; border:none;}
  .brand svg{width:34px;height:34px;flex:none;}
  .brand-word{
    font-family:var(--serif-display);
    font-weight:600;
    font-size:19px;
    letter-spacing:0.05em;
    white-space:nowrap;
  }
  nav{display:flex; align-items:center; gap:2px; flex-wrap:wrap;}
  .navlink{
    background:none; border:none; cursor:pointer;
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--ink);
    padding:9px 13px;
    border-radius:2px;
    position:relative;
    opacity:0.72;
    transition:opacity .15s ease;
  }
  .navlink:hover{opacity:1;}
  .navlink.active{opacity:1; color:var(--oxblood);}
  .navlink.active::after{
    content:"";
    position:absolute; left:13px; right:13px; bottom:3px;
    height:1px; background:var(--gold-bright);
  }
  .langtoggle{
    font-family:var(--mono); font-size:12px; letter-spacing:0.08em;
    border:1px solid var(--gold); background:transparent;
    color:var(--ink); padding:7px 12px; border-radius:2px; cursor:pointer;
    display:flex; gap:6px; align-items:center;
  }
  .langtoggle span{opacity:.4;}
  .langtoggle span.on{opacity:1; color:var(--oxblood); font-weight:600;}
  .header-right{display:flex; align-items:center; gap:18px;}

  @media (max-width: 860px){
    nav{display:none;}
    .header-right{margin-left:auto;}
  }

  /* ---------- ornaments ---------- */
  .flourish-rule{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin:0 auto; width:100%; max-width:420px;
  }
  .flourish-rule .ln{flex:1; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent);}
  .flourish-rule svg{width:22px; height:22px; flex:none; color:var(--gold);}

  .corner-frame{position:relative;}
  .corner-frame svg.corner{position:absolute; width:46px; height:46px; color:var(--gold);}
  .corner-frame .c-tl{top:-6px; left:-6px;}
  .corner-frame .c-tr{top:-6px; right:-6px; transform:scaleX(-1);}
  .corner-frame .c-bl{bottom:-6px; left:-6px; transform:scaleY(-1);}
  .corner-frame .c-br{bottom:-6px; right:-6px; transform:scale(-1,-1);}

  /* ---------- hero ---------- */
  .hero{
    padding:96px 0 76px;
    text-align:center;
    position:relative;
  }
  .hero-frame{
    position:relative;
    max-width:760px;
    margin:0 auto;
    padding:52px 40px 44px;
    border:1px solid var(--line);
  }
  .hero .eyebrow{display:block; margin-bottom:22px;}
  .hero h1{
    font-size:clamp(42px, 7vw, 72px);
    font-weight:620;
    letter-spacing:0.045em;
    color:var(--ink);
  }
  .hero .maison{
    display:block;
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:0.34em;
    font-weight:500;
    color:var(--gold);
    margin-bottom:6px;
  }
  .hero p.sub{
    max-width:520px; margin:26px auto 0;
    font-size:17px; color:rgba(31,28,24,0.78);
    font-style:italic;
    font-family:var(--serif-body);
  }
  .hero .flourish-rule{margin-top:30px;}

  .crest-inline{margin:26px auto 30px; display:flex; flex-direction:column; align-items:center;}
  .crest-img{
    width:160px; height:auto; display:block;
    border:1px solid var(--gold); padding:10px;
    background:var(--parchment-dim); box-shadow:var(--shadow);
  }
  .crest-caption{
    margin-top:14px; font-family:var(--mono); font-size:11px; letter-spacing:0.03em;
    color:rgba(31,28,24,0.6); max-width:320px; text-align:center; line-height:1.6;
  }

  /* ---------- welcome ---------- */
  .welcome{padding:80px 0 88px;}
  .welcome-inner{max-width:660px; margin:0 auto; text-align:center;}
  .welcome h2{font-size:28px; margin-bottom:26px;}
  .welcome p{font-size:17.5px; color:rgba(31,28,24,0.86);}
  .welcome-long{
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height .5s ease, opacity .4s ease, margin .4s ease;
    text-align:left; margin-top:0;
  }
  .welcome-long.open{max-height:1400px; opacity:1; margin-top:22px;}
  .welcome-long p{margin:0 0 16px;}
  .welcome-long p:last-child{margin-bottom:0;}
  .expand-btn{
    margin-top:26px;
    background:none; border:none; cursor:pointer;
    font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--oxblood); border-bottom:1px solid var(--oxblood); padding-bottom:2px;
  }

  /* ---------- three cards ---------- */
  .cards-section{padding:0 0 90px;}
  .cards-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  }
  @media (max-width:860px){ .cards-grid{grid-template-columns:1fr;} }
  .card{
    background:var(--parchment-dim);
    border:1px solid var(--line);
    padding:34px 28px;
    position:relative;
    transition:transform .2s ease, box-shadow .2s ease;
    cursor:pointer;
    text-align:left;
  }
  .card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
  .card .num{
    font-family:var(--mono); font-size:12px; color:var(--gold);
    letter-spacing:0.1em; display:block; margin-bottom:18px;
  }
  .card h3{font-size:21px; margin-bottom:12px; line-height:1.3;}
  .card p{font-size:15px; color:rgba(31,28,24,0.75); margin:0 0 20px;}
  .card .cta{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--oxblood); display:inline-flex; align-items:center; gap:6px;
  }
  .card .cta svg{width:12px;height:12px;}

  /* ---------- hidden stories band ---------- */
  .hidden-band{
    background:var(--ink); color:var(--parchment);
    padding:88px 0;
  }
  .hidden-inner{max-width:680px; margin:0 auto; text-align:center;}
  .hidden-band .eyebrow{color:var(--gold-bright);}
  .hidden-band h2{color:var(--parchment); font-size:32px; margin:18px 0 20px;}
  .hidden-band p{color:rgba(243,236,221,0.75); font-size:16.5px;}
  .hidden-band .cta-btn{
    margin-top:30px; display:inline-block;
    border:1px solid var(--gold); color:var(--gold-bright);
    font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
    padding:12px 26px; cursor:pointer; background:none;
  }
  .hidden-band .cta-btn:hover{background:var(--gold); color:var(--ink);}

  /* ---------- blog ---------- */
  .blog-section{padding:92px 0;}
  .blog-head{text-align:center; margin-bottom:52px;}
  .blog-head h2{font-size:30px; margin-top:14px;}
  .posts-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  }
  @media (max-width:900px){ .posts-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .posts-grid{grid-template-columns:1fr;} }
  .post-card{
    border:1px solid var(--line);
    background:var(--parchment);
    padding:0 0 22px;
    cursor:pointer;
    position:relative;
  }
  .post-thumb{
    height:120px; background:
      linear-gradient(160deg, var(--parchment-deep), var(--parchment-dim));
    border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .post-thumb svg{width:30px;height:30px; color:var(--gold); opacity:.7;}
  .post-num{position:absolute; top:8px; left:10px; font-family:var(--mono); font-size:11px; letter-spacing:0.04em; color:var(--oxblood); background:rgba(243,236,221,0.85); padding:2px 7px; border:1px solid var(--line);}
  .post-like{position:absolute; top:6px; right:8px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; color:rgba(31,28,24,0.35); background:rgba(243,236,221,0.85); border:1px solid var(--line); border-radius:50%; z-index:2;}
  .post-like.liked{color:var(--oxblood);}
  .post-card.is-read .post-thumb::after{content:"✓ gelezen"; position:absolute; bottom:6px; right:8px; font-family:var(--mono); font-size:10px; letter-spacing:0.04em; color:var(--teal); background:rgba(243,236,221,0.9); padding:1px 6px; border:1px solid var(--line);}
  .lang-en .post-card.is-read .post-thumb::after{content:"✓ read";}
  .post-body{padding:20px 20px 0;}
  .post-tag{font-family:var(--mono); font-size:10.5px; letter-spacing:0.12em; color:var(--oxblood); text-transform:uppercase;}
  .post-card h4{font-size:17px; margin:10px 0 8px; line-height:1.35;}
  .post-card p{font-size:13.5px; color:rgba(31,28,24,0.68); margin:0;}
  #backToTop{position:fixed; right:22px; bottom:28px; width:46px; height:46px; border-radius:50%; background:var(--oxblood); color:var(--parchment); border:none; display:none; align-items:center; justify-content:center; font-size:20px; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,0.25); z-index:500;}
  #backToTop.show{display:flex;}
  #backToTop:hover{background:var(--ink);}
  .feedback-note{max-width:640px; margin:36px auto 0; padding:14px 18px; border:1px dashed var(--line); background:var(--parchment-dim); font-size:13px; color:rgba(31,28,24,0.7); text-align:center;}
  .search-overlay{position:fixed; inset:0; background:rgba(20,17,13,0.72); z-index:900; display:none; align-items:flex-start; justify-content:center; padding:9vh 20px 20px;}
  .search-overlay.open{display:flex;}
  .search-box{background:var(--parchment); width:100%; max-width:600px; border:1px solid var(--line); box-shadow:0 12px 40px rgba(0,0,0,0.35); position:relative; padding:18px 18px 10px;}
  .search-input{width:100%; box-sizing:border-box; font-family:var(--serif,inherit); font-size:18px; padding:10px 40px 10px 4px; border:none; border-bottom:2px solid var(--oxblood); background:transparent; color:var(--ink); outline:none;}
  .search-close{position:absolute; top:16px; right:16px; background:none; border:none; font-size:24px; line-height:1; color:rgba(31,28,24,0.5); cursor:pointer;}
  .search-results{max-height:60vh; overflow-y:auto; margin-top:10px;}
  .search-result{display:block; width:100%; text-align:left; padding:11px 6px; border:none; border-top:1px solid var(--line); background:none; cursor:pointer; font-family:inherit;}
  .search-result:hover{background:var(--parchment-dim);}
  .search-result .sr-title{font-weight:600; font-size:14.5px; color:var(--ink);}
  .search-result .sr-snippet{display:block; font-size:12.5px; color:rgba(31,28,24,0.6); margin-top:2px;}
  .search-result mark{background:var(--gold-bright); color:var(--ink); padding:0 1px;}
  .search-empty{padding:16px 6px; font-size:13.5px; color:rgba(31,28,24,0.55); text-align:center;}

  /* ---------- footer ---------- */
  footer{
    background:var(--teal); color:var(--parchment);
    padding:56px 0 34px;
  }
  .footer-inner{
    display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap;
  }
  footer .brand-word{color:var(--parchment);}
  footer .brand svg{color:var(--gold-bright);}
  .footer-note{max-width:420px; font-size:13.5px; color:rgba(243,236,221,0.72); line-height:1.6;}
  .footer-contact{font-family:var(--mono); font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-bright); border-bottom:1px solid var(--gold-bright); padding-bottom:2px; cursor:pointer;}
  .footer-bottom{
    margin-top:44px; padding-top:20px; border-top:1px solid rgba(243,236,221,0.15);
    font-family:var(--mono); font-size:11px; letter-spacing:0.05em; color:rgba(243,236,221,0.5);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  }

  /* ---------- placeholder pages ---------- */
  .placeholder-page{
    max-width:680px; margin:0 auto; padding:130px 32px 140px; text-align:center;
  }
  .placeholder-page .eyebrow{display:block; margin-bottom:20px;}
  .placeholder-page h2{font-size:36px; margin-bottom:22px;}
  .placeholder-page p{color:rgba(31,28,24,0.72); font-size:16.5px;}
  .article-page{max-width:740px;margin:0 auto;padding:70px 32px 120px;}
  .article-back{display:inline-block;margin-bottom:34px;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oxblood);}
  .article-eyebrow{display:block;margin-bottom:16px;}
  .article-title{font-size:clamp(30px,5vw,44px);line-height:1.22;margin-bottom:10px;}
  .article-subtitle{font-family:var(--serif-body);font-style:italic;color:rgba(31,28,24,0.7);font-size:17px;margin-bottom:44px;}
  .article-body h3{font-size:22px;margin:44px 0 16px;}
  .article-body p{margin:0 0 20px;font-size:16.5px;color:rgba(31,28,24,0.88);}
  .article-body ol{margin:0 0 20px;padding-left:22px;}
  .article-body ol li{margin-bottom:8px;font-size:16px;}
  .article-body img{width:100%;max-width:460px;display:block;margin:28px auto 4px;border:1px solid var(--gold);}
  .img-caption{font-family:var(--mono);font-size:10.5px;color:rgba(31,28,24,0.55);text-align:center;margin:0 0 26px;}
  .src-link{color:var(--oxblood);text-decoration:none;border-bottom:1px dotted var(--oxblood);cursor:pointer;}
  .src-link:hover{color:var(--gold-bright);border-bottom-color:var(--gold-bright);}
  .page-link{color:var(--oxblood);text-decoration:none;border-bottom:1px dotted var(--oxblood);cursor:pointer;font-weight:600;}
  .page-link:hover{color:var(--gold-bright);border-bottom-color:var(--gold-bright);}
  .lang-en{display:none;}
  .library-intro{max-width:640px;margin:0 auto 40px;text-align:center;color:rgba(31,28,24,0.72);font-size:15.5px;}
  .source-list{list-style:none;margin:0 auto;padding:0;text-align:left;max-width:640px;}
  .source-entry{padding:16px 4px;border-bottom:1px solid var(--line);transition:background .5s ease;}
  .source-entry a{color:var(--oxblood); word-break:break-word;}
  .source-entry .src-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;color:var(--gold);margin-bottom:4px;text-transform:uppercase;}
  .src-highlight{background:var(--parchment-deep);}

  .placeholder-page .badge{
    display:inline-block; margin-top:28px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--oxblood); border:1px solid var(--oxblood); padding:8px 16px;
  }


  /* ---------- hoofdthema-koppen (Familie, Geschiedenis, Blog, …) ---------- */
  .theme-hero{max-width:860px; margin:0 auto; padding:72px 32px 56px; text-align:center;}
  .theme-hero--inline{padding:0 0 48px;}
  .theme-frame{
    padding:46px 44px 42px;
    border:1px solid var(--line);
    background:linear-gradient(180deg, rgba(232,223,200,0.55), rgba(243,236,221,0));
  }
  .theme-kicker{
    display:block; font-family:var(--mono); font-size:12.5px; font-weight:500;
    letter-spacing:0.34em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;
  }
  .theme-name{
    display:block; font-family:var(--serif-display); font-weight:680;
    font-size:clamp(36px, 5.8vw, 60px); line-height:1.05; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--ink);
  }
  .theme-hero .flourish-rule{max-width:300px; margin:24px auto 22px;}
  .theme-hero h2.theme-sub{
    max-width:600px; margin:0 auto;
    font-family:var(--serif-display); font-style:italic; font-weight:460;
    font-size:clamp(20px, 2.4vw, 25px); line-height:1.4; letter-spacing:0;
    color:var(--oxblood);
  }
  @media (max-width:700px){
    .theme-hero{padding:24px 16px 24px;}
    .theme-hero--inline{padding:0 0 32px;}
    .theme-frame{padding:32px 18px 28px;}
    .theme-kicker{font-size:11px; letter-spacing:0.28em;}
    .theme-name{font-size:clamp(28px, 9vw, 40px); letter-spacing:0.04em;}
    .theme-hero .flourish-rule{margin:18px auto 16px;}
    .theme-hero h2.theme-sub{font-size:18.5px;}
  }


  /* ---------- tekstbescherming: niet 1-op-1 kopieerbaar ---------- */
  body{-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; -webkit-touch-callout:none;}
  input, textarea, select, [contenteditable="true"], [data-cite], .mv-allow-copy{
    -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text; -webkit-touch-callout:default;
  }
  img, svg{-webkit-user-drag:none; user-drag:none;}
  @media print{
    body > *{display:none !important;}
    body::after{
      content:"Maison Verniers — printen van deze website is uitgeschakeld. Citeer als: Maison Verniers, maisonverniers.nl  ·  Printing this website is disabled. Cite as: Maison Verniers, maisonverniers.nl";
      display:block; padding:40px; font:16px/1.6 Georgia, serif; color:#1f1c18;
    }
  }


  /* ---------- statuslabels en versieblok ---------- */
  .mv-status{display:inline-flex; align-items:center; gap:7px; margin:0 0 18px; padding:4px 11px 4px 9px;
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
    border:1px solid currentColor; border-radius:2px; cursor:pointer; background:rgba(255,255,255,0.35);}
  .mv-status i{width:8px; height:8px; border-radius:50%; background:currentColor; flex:none;}
  .mv-status--bevestigd{color:var(--teal);}
  .mv-status--waarschijnlijk{color:#8a6a2c;}
  .mv-status--hypothese{color:var(--oxblood);}
  .mv-status--hypothese i{background:transparent; border:1.5px solid currentColor; width:7px; height:7px;}
  .mv-status--waarschijnlijk i{background:linear-gradient(90deg, currentColor 50%, transparent 50%); border:1.5px solid currentColor; width:7px; height:7px;}
  .article-eyebrow + .mv-status{display:flex; width:max-content;}
  .mv-status--card{display:flex; width:max-content; margin:0 0 8px; padding:2px 8px 2px 7px; font-size:9.5px; cursor:inherit;}
  .mv-version{max-width:640px; margin:26px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 2px; font-size:14.5px;}
  .mv-version summary{cursor:pointer; list-style:none; display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 18px; align-items:baseline;}
  .mv-version summary::-webkit-details-marker{display:none;}
  .mv-version-h{font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--oxblood);}
  .mv-version-h::after{content:" ▾"; color:var(--gold);}
  .mv-version[open] .mv-version-h::after{content:" ▴";}
  .mv-version-d{font-family:var(--mono); font-size:11.5px; color:rgba(31,28,24,0.65);}
  .mv-version ul{margin:12px 0 2px; padding:0; list-style:none;}
  .mv-version li{padding:7px 0; border-top:1px dotted var(--line); color:rgba(31,28,24,0.82); line-height:1.5;}
  .mv-version-date{display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; color:var(--gold); margin-bottom:2px;}
  .mv-version-none{margin:10px 0 2px; color:rgba(31,28,24,0.65); font-style:italic;}
  /* ---------- nieuwe pagina's ---------- */
  a.mv-card-link{color:inherit; text-decoration:none;}
  .mv-gedcom{max-width:640px; margin:0 auto 44px; padding:22px 24px; border:1px solid var(--gold); background:rgba(232,223,200,0.5); text-align:left;}
  .mv-gedcom h3{font-size:20px; margin:0 0 8px;}
  .mv-gedcom p{font-size:15.5px; margin:0 0 14px; color:rgba(31,28,24,0.82);}
  .mv-gedcom-btn{display:inline-flex; align-items:center; gap:10px; padding:10px 18px; background:var(--teal); color:var(--parchment) !important; text-decoration:none; font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; border:none;}
  .mv-gedcom-btn:hover{background:var(--ink);}
  .mv-gedcom-btn svg{width:16px; height:16px;}
  .mv-gedcom-mini{display:inline-block; margin-top:10px; font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em; color:var(--oxblood);}
  .mv-todo{margin:18px 0 22px; padding:14px 16px; border:1.5px dashed var(--gold); background:rgba(176,141,87,0.08); font-size:15px; color:rgba(31,28,24,0.75);}
  .mv-todo::before{content:"In te vullen · To be completed"; display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:6px;}
  .mv-labels{list-style:none; padding:0; margin:0 0 24px;}
  .mv-labels li{display:grid; grid-template-columns:150px 1fr; gap:14px; padding:14px 0; border-top:1px solid var(--line); align-items:start;}
  .mv-labels li .mv-status{margin:2px 0 0; cursor:default; justify-self:start; width:max-content;}
  .mv-conv{width:100%; border-collapse:collapse; margin:0 0 24px; font-size:15.5px;}
  .mv-conv td{padding:9px 10px; border-top:1px solid var(--line); vertical-align:top;}
  .mv-conv td:first-child{font-family:var(--mono); white-space:nowrap; color:var(--oxblood); width:120px;}
  @media (max-width:700px){ .mv-labels li{grid-template-columns:1fr; gap:6px;} }

  .posts-grid--home{grid-template-columns:repeat(auto-fit, minmax(240px, 300px)); justify-content:center;}
  @media (max-width:560px){ .posts-grid--home{grid-template-columns:1fr;} }
  .mv-note{border-left:3px solid var(--gold); background:rgba(232,223,200,0.55); padding:12px 16px; font-size:15.5px;}
  /* ---------- vertical timeline ---------- */
  .timeline-section{max-width:980px; margin:0 auto; padding:10px 32px 130px;}
  .timeline-section .section-head{text-align:center; max-width:640px; margin:0 auto 56px;}
  .timeline-section .section-head .eyebrow{display:block; margin-bottom:16px;}
  .timeline-section .section-head h3{font-size:30px; margin-bottom:16px;}
  .timeline-section .section-head p{color:rgba(31,28,24,0.72); font-size:15.5px;}
  .timeline{position:relative; padding:10px 0;}
  .timeline::before{
    content:""; position:absolute; left:50%; top:6px; bottom:6px; width:3px;
    transform:translateX(-50%);
    background:linear-gradient(180deg, var(--gold-bright) 0%, var(--oxblood) 12%, var(--oxblood) 88%, var(--gold-bright) 100%);
  }
  .tl-item{
    position:relative; display:grid; grid-template-columns:1fr 44px 1fr;
    align-items:start; margin-bottom:6px;
  }
  .tl-item:last-child{margin-bottom:0;}
  .tl-date{
    grid-column:1; text-align:right; padding:14px 30px 14px 0;
  }
  .tl-year{
    display:block; font-family:var(--serif-display); font-weight:680; font-size:19px; color:var(--oxblood);
    letter-spacing:0.01em;
  }
  .tl-loc{
    display:block; margin-top:3px; font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--gold);
  }
  .tl-marker{
    grid-column:2; position:relative; display:flex; justify-content:center; padding-top:19px;
  }
  .tl-dot{
    width:13px; height:13px; border-radius:50%; background:var(--parchment);
    border:3px solid var(--oxblood); box-shadow:0 0 0 3px var(--parchment); position:relative; z-index:2;
  }
  .tl-item.tl-key .tl-dot{background:var(--gold-bright); border-color:var(--oxblood);}
  .tl-content{
    grid-column:3; padding:12px 0 12px 30px; border-left:1px solid transparent;
  }
  .tl-content p{margin:0; font-size:15px; line-height:1.55; color:rgba(31,28,24,0.88);}
  .tl-who{
    display:inline-block; font-family:var(--mono); font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase;
    color:var(--oxblood); border:1px solid var(--oxblood); border-radius:2px; padding:2px 7px; margin-bottom:8px;
  }
  .tl-who.tl-who-abraham{color:var(--teal); border-color:var(--teal);}
  .tl-item.tl-context .tl-dot{background:var(--parchment); border-color:rgba(31,28,24,0.32); box-shadow:0 0 0 3px var(--parchment);}
  .tl-item.tl-context .tl-year{color:rgba(31,28,24,0.55); font-weight:600;}
  .tl-item.tl-context .tl-loc{color:rgba(31,28,24,0.4);}
  .tl-who.tl-who-context{color:rgba(31,28,24,0.55); border-color:rgba(31,28,24,0.32);}
  .tl-item.tl-context .tl-content p{color:rgba(31,28,24,0.68); font-style:italic;}
  @media (max-width:680px){
    .tl-item{grid-template-columns:28px 1fr; column-gap:0;}
    .timeline::before{left:14px; transform:none;}
    .tl-date{grid-column:1 / span 2; text-align:left; padding:0 0 6px 42px;}
    .tl-marker{grid-column:1; padding-top:3px;}
    .tl-content{grid-column:2; padding:0 0 22px 14px;}
  }

  /* ---------- family journeys map ---------- */
  .map-section{max-width:980px; margin:0 auto; padding:70px 32px 130px; border-top:1px solid var(--line);}
  .map-section .section-head{text-align:center; max-width:640px; margin:0 auto 34px;}
  .map-section .section-head .eyebrow{display:block; margin-bottom:16px;}
  .map-section .section-head h3{font-size:30px; margin-bottom:16px;}
  .map-section .section-head p{color:rgba(31,28,24,0.72); font-size:15.5px;}
  .map-toggle{display:flex; justify-content:center; gap:10px; margin-bottom:30px; flex-wrap:wrap;}
  .map-toggle button{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
    padding:9px 18px; border-radius:2px; cursor:pointer; background:none;
    border:1px solid var(--oxblood); color:var(--oxblood); transition:background .2s ease,color .2s ease;
  }
  .map-toggle button.active{background:var(--oxblood); color:var(--parchment);}
  .map-toggle button[data-who="abraham"].active{background:var(--teal); border-color:var(--teal); color:var(--parchment);}
  .map-toggle button[data-who="abraham"]{border-color:var(--teal); color:var(--teal);}
  .map-wrap{
    max-width:640px; margin:0 auto; border:1px solid var(--gold); background:var(--parchment-deep);
    box-shadow:0 2px 24px rgba(31,28,24,0.08);
  }
  .map-wrap svg{display:block; width:100%; height:auto;}
  .map-route-laurens{transition:opacity .3s ease;}
  .map-route-abraham{transition:opacity .3s ease;}
  .map-route-laurens.hidden, .map-route-abraham.hidden{opacity:0; pointer-events:none;}
  .map-stop{cursor:pointer;}
  .map-stop circle.stop-dot{transition:r .15s ease;}
  .map-stop:hover circle.stop-dot{r:11;}
  .map-legend{
    display:flex; justify-content:center; gap:26px; flex-wrap:wrap; margin:22px 0 44px;
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.05em; color:rgba(31,28,24,0.65);
  }
  .map-legend span{display:inline-flex; align-items:center; gap:7px;}
  .map-legend .swatch{width:16px; height:0; border-top:2px dashed var(--oxblood); display:inline-block;}
  .map-legend .swatch.abraham{border-top-color:var(--teal);}
  .map-legend .dot-uncertain{width:10px; height:10px; border-radius:50%; border:1.5px dashed rgba(31,28,24,0.5); display:inline-block;}
  .route-lists{display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:10px;}
  .route-list h4{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
    margin-bottom:16px; padding-bottom:8px; border-bottom:2px solid var(--oxblood); color:var(--oxblood);
  }
  .route-list.abraham-list h4{border-bottom-color:var(--teal); color:var(--teal);}
  .route-stop{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); align-items:baseline;}
  .route-stop:last-child{border-bottom:none;}
  .route-num{
    font-family:var(--mono); font-size:10.5px; width:20px; flex:none; color:var(--gold);
  }
  .route-stop-body{flex:1;}
  .route-stop-body .rs-loc{font-family:var(--serif-display); font-size:14.5px; font-weight:650; color:var(--ink);}
  .route-stop-body .rs-year{font-family:var(--mono); font-size:10px; color:rgba(31,28,24,0.5); margin-left:6px;}
  .route-stop-body p{margin:3px 0 0; font-size:13.5px; color:rgba(31,28,24,0.75); line-height:1.4;}
  .route-stop-body a.rs-jump{
    display:inline-block; margin-top:4px; font-family:var(--mono); font-size:10px; letter-spacing:0.05em;
    text-transform:uppercase; color:var(--oxblood); border-bottom:1px dotted var(--oxblood); cursor:pointer;
  }
  .route-list.abraham-list .rs-jump{color:var(--teal); border-bottom-color:var(--teal);}
  @media (max-width:640px){
    .route-lists{grid-template-columns:1fr;}
  }

  section[data-page]{display:none;}
  section[data-page].active{display:block;}

  .tree-wrap{padding:70px 16px 130px;max-width:none;margin:0 auto;overflow-x:hidden;}
  .tree-intro{max-width:680px;margin:0 auto 50px;text-align:center;}
  .tree-intro p{color:rgba(31,28,24,0.72);font-size:15px;margin-top:14px;}
  .tree-root{display:flex;flex-direction:column;align-items:center;width:max-content;margin:0 auto;}
  .tree-node{margin:0;display:flex;flex-direction:column;align-items:center;}
  /* compact: partner(s) stacked directly below the family member */
  .couple-row{display:flex;flex-direction:column;align-items:center;}
  .connector{width:1px;height:16px;background:var(--gold);flex:none;margin:0;}
  .connector + .person-card{margin-top:0;}
  .person-card{width:108px;background:var(--parchment-dim);border:1px solid var(--line);cursor:pointer;position:relative;margin-top:14px;transition:box-shadow .15s ease, transform .15s ease;flex:none;}
  .person-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
  .person-card.uncertain{border-style:dashed;border-color:var(--oxblood);}
  .role-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--oxblood);color:var(--parchment);font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;white-space:nowrap;}
  .person-photo{height:54px;background:var(--parchment-deep);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .person-photo svg{width:26px;height:26px;color:var(--gold);}
  .person-card .pname{display:block;padding:6px 6px 0;font-size:11px;font-weight:600;line-height:1.25;text-align:center;min-height:28px;}
  .person-card .pdates{display:block;padding:2px 6px 8px;font-family:var(--mono);font-size:8.5px;color:rgba(31,28,24,0.55);text-align:center;}
  .bio-panel{display:none;margin-top:10px;padding:12px 16px;background:var(--parchment);border:1px dashed var(--gold);font-size:12.5px;color:rgba(31,28,24,0.68);max-width:520px;text-align:left;}
  .bio-panel.open{display:block;}
  .unc-note{font-style:italic;color:var(--oxblood);margin-bottom:6px;font-size:11.5px;}
  .tree-children{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-start;margin-top:22px;padding-top:16px;position:relative;}
  .tree-children::before{content:"";position:absolute;top:-22px;left:50%;width:1px;height:22px;background:var(--gold);}
  .tree-children > .tree-node{position:relative;padding:0 6px;}
  .tree-children > .tree-node::before{content:"";position:absolute;top:-16px;left:50%;width:1px;height:16px;background:var(--gold);}
  .tree-children > .tree-node::after{content:"";position:absolute;top:-16px;left:0;right:0;height:1px;background:var(--gold);}
  .tree-children > .tree-node:first-child::after{left:50%;}
  .tree-children > .tree-node:last-child::after{right:50%;}
  .tree-children > .tree-node:only-child::after{display:none;}
  /* biography opens as an overlay so the tree never widens */
  .bio-overlay{position:fixed;inset:0;background:rgba(31,28,24,0.35);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px;}
  .bio-overlay.open{display:flex;}
  .bio-overlay-box{position:relative;background:var(--parchment);max-width:560px;width:100%;max-height:80vh;overflow:auto;padding:34px 24px 22px;box-shadow:var(--shadow);border:1px solid var(--gold);}
  .bio-overlay-box h4{margin:0 0 8px;font-size:16px;}
  .bio-overlay-box .bio-panel{display:block;margin:0;border:none;padding:0;max-width:none;font-size:14px;}
  .bio-overlay-close{position:absolute;top:8px;right:10px;background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--oxblood);}
  .tree-unlinked{max-width:680px;margin:60px auto 0;text-align:center;}
  .tree-unlinked h4{font-size:14px;margin-bottom:14px;color:var(--oxblood);}

  ::selection{background:var(--gold-bright); color:var(--ink);}

  .ref-nav{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:900px; margin:0 auto 44px; padding:0;}
  @media (max-width:820px){ .ref-nav{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:520px){ .ref-nav{grid-template-columns:repeat(2,1fr);} }
  .ref-nav a{display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:16px 10px; border:1px solid var(--line); background:var(--parchment-dim); text-decoration:none; color:var(--ink); transition:border-color .15s, background .15s;}
  .ref-nav a:hover{border-color:var(--oxblood); background:var(--parchment);}
  .ref-nav svg{width:26px; height:26px; color:var(--oxblood); opacity:.85;}
  .ref-nav span{font-family:var(--mono); font-size:11.5px; letter-spacing:0.03em; line-height:1.3;}
  .ref-h3-icon{width:20px; height:20px; color:var(--oxblood); opacity:.85; vertical-align:-5px; margin-right:8px;}

  /* ---------- wijzigingen / updates ---------- */
  .upd-badge{position:absolute;left:10px;bottom:8px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment);background:var(--oxblood);padding:3px 8px;box-shadow:0 0 0 3px rgba(122,46,39,0.15);animation:updPulse 2.4s ease-in-out infinite;}
  .card > .upd-badge{left:auto;right:14px;top:14px;bottom:auto;}
  .has-update{outline:2px solid rgba(122,46,39,0.55);outline-offset:-1px;}
  @keyframes updPulse{0%,100%{box-shadow:0 0 0 3px rgba(122,46,39,0.15);}50%{box-shadow:0 0 0 7px rgba(122,46,39,0.05);}}
  .navlink{position:relative;}
  .upd-dot{position:absolute;top:-2px;right:-7px;width:7px;height:7px;border-radius:50%;background:var(--oxblood);}
  .upd-note{margin:6px auto 30px;max-width:680px;padding:14px 18px;background:var(--parchment-dim);border:1px solid var(--line);border-left:3px solid var(--gold);font-size:14px;line-height:1.6;text-align:left;color:rgba(31,28,24,0.8);}
  .upd-note.fresh{border-left-color:var(--oxblood);box-shadow:0 0 0 4px rgba(122,46,39,0.08);}
  .upd-note .upd-head{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--oxblood);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;}
  .upd-note .upd-fresh-tag{background:var(--oxblood);color:var(--parchment);padding:2px 7px;}
  .upd-note ul{margin:8px 0 0;padding-left:18px;}
  .upd-note li{margin:2px 0;}
  .upd-note .upd-date{font-family:var(--mono);font-size:11px;color:rgba(31,28,24,0.55);margin-right:6px;}
  .upd-note .upd-goto{margin-top:8px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--oxblood);text-decoration:underline;}
  .just-updated{animation:updMark 9s ease-out 1;border-radius:2px;}
  @keyframes updMark{0%,35%{background:rgba(212,172,80,0.38);box-shadow:0 0 0 6px rgba(212,172,80,0.38);}100%{background:transparent;box-shadow:0 0 0 6px transparent;}}
  .upd-list-date{font-family:var(--mono);font-size:11px;color:rgba(31,28,24,0.55);margin-right:6px;}
  .upd-list-new{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment);background:var(--oxblood);padding:1px 6px;margin-left:6px;vertical-align:1px;white-space:nowrap;}

  /* =================== TOEGANKELIJKHEID =================== */
  .skip-link{position:absolute;left:-9999px;top:8px;z-index:100000;background:var(--oxblood);color:#fff;padding:10px 16px;font-family:var(--mono);font-size:13px;text-decoration:none;}
  .skip-link:focus{left:12px;}
  :focus-visible{outline:3px solid var(--oxblood);outline-offset:2px;}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  .a11y-btn{font-family:var(--mono);font-size:12px;letter-spacing:.06em;border:1px solid var(--gold);background:transparent;color:var(--ink);padding:6px 10px;border-radius:2px;cursor:pointer;display:flex;gap:7px;align-items:center;}
  .a11y-btn svg{width:18px;height:18px;flex:none;}
  @media (max-width:1380px){ #a11yBtnLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);} .a11y-btn{padding:6px 8px;} }
  h1[tabindex="-1"]:focus, h2[tabindex="-1"]:focus, main:focus{outline:none;}
  .a11y-btn[aria-expanded="true"]{background:var(--parchment-dim);}
  .a11y-panel{position:absolute;right:0;top:calc(100% + 10px);width:320px;max-width:calc(100vw - 24px);background:var(--parchment);border:1px solid var(--gold);box-shadow:var(--shadow);padding:18px 18px 14px;z-index:200;display:none;text-align:left;}
  .a11y-panel.open{display:block;}
  .a11y-panel h2{font-size:17px;margin:0 0 4px;}
  .a11y-panel .a11y-intro{font-size:13px;color:rgba(31,28,24,0.7);margin:0 0 12px;line-height:1.45;}
  .a11y-group{border-top:1px solid var(--line);padding:10px 0;}
  .a11y-group-label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood);margin-bottom:6px;}
  .a11y-row{display:flex;flex-wrap:wrap;gap:6px;}
  .a11y-opt{flex:1 1 auto;min-height:40px;font-family:var(--serif-body);font-size:14px;border:1px solid var(--line);background:var(--parchment-dim);color:var(--ink);padding:7px 10px;cursor:pointer;border-radius:2px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .a11y-opt[aria-pressed="true"]{border-color:var(--oxblood);background:var(--oxblood);color:#fff;}
  .a11y-opt .a11y-state{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
  .a11y-size{justify-content:center;text-align:center;flex:1 1 0;}
  .a11y-reset{margin-top:6px;background:none;border:none;color:var(--oxblood);text-decoration:underline;cursor:pointer;font-size:13px;padding:4px 0;}
  .a11y-player{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9000;background:var(--ink);color:#fff;padding:8px 10px;border-radius:30px;display:none;align-items:center;gap:6px;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:calc(100vw - 24px);}
  .a11y-player.open{display:flex;}
  .a11y-player button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:20px;min-width:40px;height:40px;padding:0 12px;cursor:pointer;font-size:14px;font-family:var(--serif-body);}
  .a11y-player .a11y-player-label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:0 8px;white-space:nowrap;}
  .a11y-reading{background:rgba(212,172,80,0.28) !important;box-shadow:0 0 0 6px rgba(212,172,80,0.28);border-radius:2px;}

  /* tekstgrootte */
  html.a11y-size-1 main{zoom:1.15;}
  html.a11y-size-2 main{zoom:1.3;}

  /* prikkelarm */
  html.a11y-calm *, html.a11y-calm *::before, html.a11y-calm *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
  html.a11y-calm body::before{display:none;}
  html.a11y-calm .corner-frame svg.corner, html.a11y-calm .flourish-rule{display:none;}
  html.a11y-calm{--oxblood:#6E5A4E;--gold:#A89A84;--gold-bright:#A89A84;}
  html.a11y-calm body{line-height:1.85;word-spacing:.06em;}
  html.a11y-calm .article-body p{max-width:64ch;}
  html.a11y-calm .has-update{outline-color:rgba(110,90,78,.35);}
  html.a11y-calm .person-card:hover,html.a11y-calm .post-card:hover{transform:none;}

  /* leesbaar lettertype */
  html.a11y-font{--serif-display:Verdana, 'Segoe UI', Arial, sans-serif;--serif-body:Verdana, 'Segoe UI', Arial, sans-serif;--mono:Verdana, 'Segoe UI', Arial, sans-serif;}
  html.a11y-font body{font-size:16px;letter-spacing:.02em;}
  html.a11y-font em, html.a11y-font i, html.a11y-font .article-subtitle{font-style:normal;}

  /* hoog contrast */
  html.a11y-contrast{--ink:#000;--parchment:#fff;--parchment-dim:#fff;--parchment-deep:#f0f0f0;--oxblood:#8a0000;--gold:#000;--gold-bright:#000;--teal:#003d33;--line:rgba(0,0,0,.75);}
  html.a11y-contrast body::before{display:none;}
  html.a11y-contrast header{background:#fff;}
  html.a11y-contrast main p, html.a11y-contrast main li, html.a11y-contrast main dd, html.a11y-contrast main td, html.a11y-contrast main span:not(.role-tag):not(.upd-badge):not(.upd-fresh-tag):not(.upd-list-new):not(.page-link):not(.src-link), html.a11y-contrast main .pdates{color:#000 !important;}
  html.a11y-contrast .page-link, html.a11y-contrast .src-link, html.a11y-contrast main a{color:#8a0000 !important;text-decoration:underline !important;}
  html.a11y-contrast .navlink{opacity:1;}
  html.a11y-contrast .person-card, html.a11y-contrast .post-card, html.a11y-contrast .card{border:2px solid #000;}

  /* donkere modus (werkt via kleuromkering; foto's worden teruggedraaid) */
  html.a11y-dark{filter:invert(0.92) hue-rotate(180deg);background:#fff;}
  html.a11y-dark img, html.a11y-dark video, html.a11y-dark .person-photo img{filter:invert(1) hue-rotate(180deg);}
  html.a11y-dark body::before{display:none;}

  /* besturingssysteem vraagt om minder beweging */
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
  }

  /* =================== IN HET KORT =================== */
  .simple-box{max-width:680px;margin:0 auto 28px;background:#FBF7EE;border:2px solid var(--teal);border-radius:6px;padding:0;}
  .simple-box summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;align-items:center;gap:10px;font-family:var(--serif-display);font-size:18px;font-weight:600;color:var(--teal);}
  .simple-box summary::-webkit-details-marker{display:none;}
  .simple-box summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--mono);font-size:16px;flex:none;}
  .simple-box[open] summary::before{content:"−";}
  .simple-box summary .simple-hint{font-family:var(--serif-body);font-weight:400;font-size:14px;color:rgba(31,28,24,0.65);}
  .simple-box .simple-body{padding:0 22px 18px 22px;}
  .simple-box ul{margin:0;padding-left:20px;font-size:18px;line-height:1.75;color:var(--ink);}
  .simple-box li{margin:4px 0;}
  .simple-read{margin-top:10px;background:var(--teal);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:15px;cursor:pointer;min-height:40px;}
  html.a11y-contrast .simple-box{background:#fff;border-color:#000;}
  html.a11y-contrast .simple-box summary{color:#000;}

  /* =================== CONTACT IN FOOTER =================== */
  .footer-contact-block{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
  .footer-mail{color:var(--parchment);font-size:16px;text-decoration:underline;text-underline-offset:3px;}
  .footer-mail:hover{color:var(--gold-bright);}
  .footer-mail-note{font-size:12.5px;color:rgba(243,236,221,0.65);max-width:280px;line-height:1.5;}

  /* =================== HELPDESK =================== */
  .hd-launch{position:fixed;left:22px;bottom:28px;z-index:950;display:flex;align-items:center;gap:8px;background:var(--teal);color:#fff;border:none;border-radius:26px;padding:0 18px 0 14px;height:48px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22);font-family:var(--serif-body);font-size:15px;outline:2px solid rgba(243,236,221,.85);outline-offset:0;}
  .hd-launch svg{width:22px;height:22px;flex:none;}
  .hd-panel{position:fixed;left:22px;bottom:88px;z-index:951;width:370px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 110px);background:var(--parchment);border:1px solid var(--teal);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.25);display:none;flex-direction:column;overflow:hidden;}
  .hd-panel.open{display:flex;}
  .hd-head{background:var(--teal);color:#fff;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;}
  .hd-head h2{color:#fff;font-size:16px;margin:0;}
  .hd-head p{margin:2px 0 0;font-size:12px;opacity:.8;line-height:1.35;}
  .hd-close{margin-left:auto;background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;min-width:36px;min-height:36px;}
  .hd-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}
  .hd-msg{max-width:88%;padding:10px 12px;border-radius:10px;font-size:14.5px;line-height:1.5;}
  .hd-msg.bot{background:var(--parchment-dim);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:2px;}
  .hd-msg.user{background:var(--teal);color:#fff;align-self:flex-end;border-bottom-right-radius:2px;}
  .hd-msg p{margin:0 0 6px;} .hd-msg p:last-child{margin:0;}
  .hd-msg ul{margin:4px 0;padding-left:18px;}
  .hd-msg .page-link, .hd-msg a{color:var(--oxblood);text-decoration:underline;cursor:pointer;}
  .hd-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;}
  .hd-chip{background:transparent;border:1px solid var(--teal);color:var(--teal);border-radius:16px;padding:6px 11px;font-size:13px;cursor:pointer;font-family:var(--serif-body);}
  .hd-chip:hover{background:var(--teal);color:#fff;}
  .hd-form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:var(--parchment-dim);}
  .hd-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;font-size:15px;font-family:var(--serif-body);background:#fff;color:var(--ink);}
  .hd-form button{background:var(--oxblood);color:#fff;border:none;border-radius:6px;padding:0 14px;cursor:pointer;font-size:14px;}
  @media (max-width:520px){ .hd-launch .hd-launch-label{display:none;} .hd-launch{padding:0 13px;} .hd-panel{left:12px;bottom:84px;} }
  @media print{ .hd-launch,.hd-panel,.a11y-player{display:none !important;} }
  main{overflow-x:clip;}
  @media (max-width:520px){ .header-inner{gap:10px;} .brand-word{font-size:15px;letter-spacing:.03em;} .brand svg{width:28px;height:28px;} .header-right{gap:8px;} .langtoggle{padding:6px 8px;} }

#woordenlijst-dl dt{break-inside:avoid;}#woordenlijst-dl dd{break-inside:avoid;break-after:avoid;}

  /* =================== MOBIEL (telefoon) =================== */
  .mv-menu-btn, .mv-menu-label, .mv-readmore, .mv-fold-btn{display:none;}

  /* ---- navigatiemenu voor smalle schermen ---- */
  @media (max-width:860px){
    .mv-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;padding:0;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:2px;cursor:pointer;}
    .mv-menu-btn svg{width:22px;height:22px;}
    header.mv-menu-open .mv-menu-btn{background:var(--ink);border-color:var(--ink);color:var(--parchment);}
    header.mv-menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--parchment);border-bottom:2px solid var(--gold);box-shadow:0 16px 32px rgba(31,28,24,0.2);padding:4px 0 8px;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;}
    header.mv-menu-open .navlink{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 24px !important;font-size:14px;letter-spacing:0.08em;opacity:1;text-align:left;border-bottom:1px solid var(--line);}
    header.mv-menu-open .navlink:last-child{border-bottom:none;}
    header.mv-menu-open .navlink.active{background:var(--parchment-dim);}
    header.mv-menu-open .navlink.active::after{left:0;right:auto;top:0;bottom:0;width:4px;height:auto;background:var(--oxblood);}
    header.mv-menu-open .navlink .upd-dot{position:static;margin-left:4px;}
    header.mv-menu-open .mv-menu-label{display:inline;}
    .langtoggle{min-height:44px;}
    .a11y-btn{min-height:44px;min-width:44px;justify-content:center;}
  }

  /* ---- leesbaarheid, ruimte en aanraakdoelen ---- */
  @media (max-width:760px){
    .wrap{padding:0 18px;}
    .header-inner{padding:10px 0;gap:8px;}
    .header-right{gap:6px;}
    .brand{min-height:44px;}
    .eyebrow{font-size:12px;letter-spacing:0.12em;}

    /* home: belangrijkste info sneller in beeld */
    .hero{padding:20px 18px 14px;}
    .corner-frame .c-tl{top:-3px;left:-3px;} .corner-frame .c-tr{top:-3px;right:-3px;} .corner-frame .c-bl{bottom:-3px;left:-3px;} .corner-frame .c-br{bottom:-3px;right:-3px;}
    .hero-frame{padding:26px 16px 22px;}
    .hero .eyebrow{margin-bottom:10px;font-size:11.5px;}
    .hero h1{font-size:40px;}
    .hero .maison{font-size:12px;}
    .hero p.sub{margin-top:14px;font-size:16.5px;}
    .hero .flourish-rule{margin-top:16px;}
    .corner-frame svg.corner{width:30px;height:30px;}
    .crest-inline{margin:6px auto 10px;}
    .welcome{padding:22px 18px 26px;}
    .welcome h2{font-size:24px;margin-bottom:12px;}
    .welcome p{font-size:17px;}
    .welcome-long.open{max-height:none;}
    .expand-btn{min-height:44px;margin-top:14px;padding:10px 4px 4px;font-size:12.5px;}
    .cards-section{padding-bottom:36px;}
    .cards-grid{gap:12px;}
    .card{padding:20px 20px 18px;}
    .card .num{margin-bottom:8px;}
    .card h3{font-size:19px;margin-bottom:8px;}
    .card p{font-size:15.5px;margin-bottom:12px;}
    .card .cta{font-size:12px;min-height:32px;}
    .hidden-band{padding:40px 0;}
    .hidden-band h2{font-size:25px;margin:12px 0 12px;}
    .hidden-band .cta-btn{width:100%;min-height:50px;margin-top:18px;font-size:13px;}
    .blog-section{padding:40px 18px;}
    .blog-head{margin-bottom:22px;}
    .blog-head h2{font-size:25px;}

    /* verhaalkaartjes: compacter, zodat er meer in beeld past */
    .posts-grid{gap:12px;}
    .post-card{padding-bottom:16px;}
    .post-thumb{height:48px;}
    .post-thumb svg{width:22px;height:22px;}
    .post-num{top:12px;font-size:12px;}
    .post-like{width:40px;height:40px;top:4px;right:4px;font-size:19px;}
    .post-card.is-read .post-thumb::after{bottom:auto;top:13px;right:52px;font-size:11px;}
    .post-body{padding:14px 16px 0;}
    .post-tag{font-size:11.5px;}
    .post-card h4{font-size:18px;margin:6px 0 6px;}
    .post-card p{font-size:15px;}

    /* pagina's en artikelen */
    .placeholder-page{padding:28px 18px 18px;}
    .placeholder-page h2{font-size:28px;margin-bottom:12px;line-height:1.25;}
    .placeholder-page p{font-size:16.5px;}
    .placeholder-page .eyebrow{margin-bottom:10px;}
    .article-page{padding:14px 18px 72px;}
    .article-back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 8px;padding:0 12px 0 0;font-size:12.5px;}
    .article-eyebrow{margin-bottom:10px;}
    .article-title{font-size:28px;line-height:1.2;}
    .article-subtitle{font-size:16.5px;margin-bottom:20px;}
    .article-body p{font-size:17.5px;line-height:1.7;}
    .article-body h3{font-size:21px;line-height:1.3;margin:34px 0 12px;}
    .article-body h4{font-size:18px;line-height:1.3;}
    .article-body li{font-size:17px;line-height:1.6;}
    .article-body blockquote{margin-left:0;margin-right:0;}
    .article-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .img-caption{font-size:12.5px;line-height:1.5;}
    .feedback-note{font-size:15px;}
    .library-intro{font-size:16px;}
    .source-entry{font-size:16px;}
    .source-entry .src-label{font-size:12px;}
    .ref-nav a{min-height:84px;justify-content:center;}
    .ref-nav span{font-size:12.5px;}

    /* tijdlijn en kaart */
    .timeline-section{padding:10px 18px 60px;}
    .timeline-section .section-head{margin-bottom:28px;}
    .timeline-section .section-head h3, .map-section .section-head h3{font-size:24px;}
    .map-section{padding:40px 18px 60px;}
    .tl-year{font-size:20px;}
    .tl-loc{font-size:11.5px;}
    .tl-who{font-size:11px;}
    .tl-content p{font-size:16px;}
    .map-toggle button{min-height:44px;font-size:12.5px;}
    .map-legend{font-size:12px;}
    .route-stop-body p{font-size:15px;}
    .route-stop-body a.rs-jump{padding:8px 0;font-size:11.5px;}

    /* biografie opent als paneel van onderen */
    .bio-overlay{align-items:flex-end;padding:0;}
    .bio-overlay-box{max-height:88vh;border-radius:14px 14px 0 0;padding:48px 20px 28px;}
    .bio-overlay-box h4{font-size:19px;line-height:1.3;}
    .bio-overlay-box .bio-panel{font-size:16.5px;line-height:1.65;}
    .bio-overlay-close{width:44px;height:44px;top:4px;right:4px;font-size:30px;}

    /* zoeken */
    .search-overlay{padding:10px;}
    .search-box{padding:14px 14px 8px;}
    .search-input{font-size:18px;padding-right:52px;}
    .search-close{width:44px;height:44px;top:8px;right:6px;font-size:30px;}
    .search-result{padding:14px 6px;}
    .search-result .sr-title{font-size:16px;}
    .search-result .sr-snippet{font-size:14px;}

    /* 'bijgewerkt'-melding: compact, tik om te openen */
    .upd-note{padding:0;margin:0 0 18px;font-size:15px;}
    .upd-note .upd-head{padding:10px 14px;min-height:44px;cursor:pointer;font-size:11.5px;}
    .upd-note .upd-head::after{content:"▾";margin-left:auto;font-size:14px;}
    .upd-note.mv-open .upd-head::after{content:"▴";}
    .upd-note:not(.mv-open) ul, .upd-note:not(.mv-open) .upd-goto{display:none;}
    .upd-note ul{margin:0 14px 12px 14px;padding-left:18px;}
    .upd-note .upd-goto{margin:0 14px 12px;min-height:40px;font-size:12px;}

    /* overig */
    .simple-read{min-height:44px;}
    .hd-chip{min-height:40px;font-size:14px;}
    .hd-msg{font-size:15.5px;}
    footer{padding:40px 0 104px;}
    .footer-note{font-size:15px;}
    .footer-mail-note{font-size:14px;}
    .footer-bottom{font-size:12px;}
  }

  /* ---- verkorte versie eerst ---- */
  @media (max-width:760px){
    .simple-box.mv-short-box{margin:12px 0 14px;border-radius:8px;}
    .simple-box.mv-short-box summary{cursor:default;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px 6px;}
    .simple-box.mv-short-box summary::before{display:none;}
    .mv-tag{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:#fff;padding:3px 9px;border-radius:3px;}
    .mv-sum-title{font-size:21px;line-height:1.25;}
    .simple-box.mv-short-box .simple-body{padding:0 18px 16px;}
    .simple-box.mv-short-box ul{font-size:17px;line-height:1.6;}
    .simple-box.mv-short-box li{margin:8px 0;}
    .mv-readmore{display:block;margin:0 0 28px;padding:14px 16px 16px;background:var(--parchment-dim);border:1px solid var(--line);border-left:3px solid var(--oxblood);border-radius:6px;}
    .mv-rm-note{margin:0 0 12px;font-size:15.5px;line-height:1.5;color:rgba(31,28,24,0.82);}
    .mv-rm-note:last-child{margin-bottom:0;}
    .mv-rm-btn, .mv-fold-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 16px;border:none;border-radius:6px;background:var(--oxblood);color:var(--parchment);font-family:var(--serif-body);font-size:17px;font-weight:600;line-height:1.3;text-align:center;cursor:pointer;}
    .mv-rm-btn.mv-rm-less, .mv-fold-btn{background:transparent;color:var(--oxblood);border:1.5px solid var(--oxblood);min-height:50px;font-size:16px;}
    .mv-fold-btn{max-width:640px;margin:4px auto 30px;}
    .mv-fold-btn.mv-open{margin-bottom:14px;}
    .simple-box.mv-short-box, .mv-readmore{text-align:left;}
    .article-body [tabindex="-1"]:focus{outline:none;}
    .post-thumb > .upd-badge{left:52px;bottom:auto;top:13px;font-size:9.5px;padding:3px 6px;}
    section[data-page="hidden"] .wrap > p{font-size:15.5px !important;}
    section.mv-collapsed .article-body, section.mv-collapsed .timeline-section, section.mv-collapsed .map-section{display:none !important;}
    .mv-fold:not(.mv-open){display:none !important;}
    html.a11y-contrast .mv-readmore{background:#fff;border-color:#000;}
  }

  /* ---- stamboom als overzichtelijke lijst op de telefoon ---- */
  @media (max-width:760px){
    .tree-wrap{padding:8px 14px 60px;overflow-x:visible;}
    .tree-intro{margin-bottom:18px;text-align:left;}
    .tree-intro p{font-size:16px;}
    .tree-root{display:block;width:auto;zoom:1 !important;}
    .tree-node{display:block;}
    .couple-row{display:flex;flex-direction:column;align-items:stretch;}
    .couple-row .connector{display:none;}
    .person-card{width:auto;margin:8px 0 0;display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center;min-height:66px;padding:6px 10px 6px 6px;}
    .person-card:hover{transform:none;}
    .person-card .role-tag{position:static;transform:none;grid-column:2;grid-row:1;justify-self:start;font-size:10px;padding:2px 6px;}
    .person-photo{grid-column:1;grid-row:1 / span 3;width:52px;height:52px;}
    .person-card .pname{grid-column:2;grid-row:2;padding:2px 0 0;font-size:15.5px;text-align:left;min-height:0;}
    .person-card .pdates{grid-column:2;grid-row:3;padding:0 0 2px;font-size:12.5px;text-align:left;}
    .couple-row .connector + .person-card{margin:4px 0 0 24px;}
    .couple-row .connector + .person-card::before{content:"⚭";position:absolute;left:-19px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:15px;}
    .tree-children{display:block;margin:6px 0 0 8px;padding:0 0 0 10px;border-left:2px solid var(--gold);}
    .tree-children::before, .tree-children > .tree-node::before, .tree-children > .tree-node::after{display:none;}
    .tree-children > .tree-node{padding:0;}
  }

  @media (max-width:400px){
    .brand-word{font-size:14px;letter-spacing:0.02em;}
    .brand{gap:8px;}
    .langtoggle{padding:6px 7px;}
  }
  @media (max-width:350px){
    .brand-word{display:none;}
  }


  /* ===== Maison Verniers — SEO, interne links, boeken ===== */
  html[lang="en"] .lang-en{display:revert;}

  .mv-end{max-width:640px;margin:28px auto 0;display:flex;flex-direction:column;gap:26px;}
  .mv-block-h{font-family:var(--mono);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--oxblood);font-weight:500;margin:0 0 10px;}


  /* citeren */
  .mv-cite{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;}
  .mv-cite summary{cursor:pointer;font-family:var(--mono);font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);}
  .mv-cite-text{font-size:14px;line-height:1.55;background:var(--parchment-dim);padding:12px 14px;margin:12px 0 10px;word-break:break-word;}
  .mv-cite-btns{display:flex;gap:10px;flex-wrap:wrap;}
  .mv-cite-btns button{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;background:none;border:1px solid var(--line);padding:7px 12px;cursor:pointer;color:var(--ink);}
  .mv-cite-btns button:hover{border-color:var(--oxblood);color:var(--oxblood);}

  /* vorige / volgende + verwant */
  .mv-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .mv-pn{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);font-size:15px;line-height:1.35;}
  .mv-next{text-align:right;}
  .mv-pn-l{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(31,28,24,0.55);}
  .mv-related{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.4;}
  .mv-related li{display:flex;gap:10px;align-items:baseline;}
  .mv-rel-n{font-family:var(--mono);font-size:11px;color:var(--gold);min-width:28px;}
  .mv-ext-link{font-family:var(--mono);font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--teal);text-decoration:none;border-bottom:1px solid var(--teal);}
  .mv-ext-link:hover{color:var(--oxblood);border-color:var(--oxblood);}
  .mv-context{font-size:14px;color:rgba(31,28,24,0.7);margin:0;}
  a.page-link{text-decoration:none;}

  /* boeken */
  .mv-books ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
  .mv-book{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);background:rgba(232,223,200,0.45);text-decoration:none;color:var(--ink);transition:border-color .2s;}
  .mv-book:hover{border-color:var(--oxblood);}
  .mv-book-t{font-family:var(--serif-display);font-weight:560;font-size:15.5px;line-height:1.3;}
  .mv-book-a{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--oxblood);}
  .mv-book-d{font-size:13.5px;color:rgba(31,28,24,0.7);}
  .mv-booknote{font-size:12px;color:rgba(31,28,24,0.55);margin:8px 0 0;}
  .mv-litlist{max-width:760px;margin:50px auto 0;}
  .mv-litlist .mv-books ul{grid-template-columns:repeat(2,1fr);}

  /* woordenlijst: komt voor in */
  .gl-refs{display:block;margin-top:3px;font-family:var(--mono);font-size:11px;letter-spacing:0.02em;color:rgba(31,28,24,0.55);}
  .gl-refs .page-link{font-weight:500;margin-right:4px;}
  .gl-refs-l{margin-right:4px;}
  #woordenlijst-dl dd{break-inside:avoid;}

  /* footer extra */
  .mv-foot-extra{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:34px;}
  .mv-foot-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:0.05em;color:rgba(243,236,221,0.7);text-decoration:underline;text-underline-offset:3px;}
  .mv-foot-link:hover{color:var(--gold-bright);}
  .mv-foot-nav{display:flex;flex-wrap:wrap;gap:10px 20px;}
  .mv-foot-link[hidden]{display:none;}

  .mv-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--parchment);font-family:var(--mono);font-size:12px;padding:8px 14px;z-index:1001;opacity:0;transition:opacity .2s;pointer-events:none;}
  .mv-toast.on{opacity:1;}

  @media (max-width:640px){
    .mv-prevnext{grid-template-columns:1fr;}
    .mv-next{text-align:left;}
    .mv-litlist .mv-books ul{grid-template-columns:1fr;}
  }
  @media print{ .mv-books,.mv-prevnext,.mv-related,.mv-foot-extra,.mv-cite summary,.mv-cite-btns{display:none !important;} .mv-cite{border:none;} .mv-cite:not([open]) .mv-cite-text{display:block;} }

