/*
Theme Name: Spijkerschrift Academie
Theme URI: https://example.com/
Author: prof. Rinus van Hagen
Description: Een educatief WordPress-thema voor de online cursus Mesopotamisch Spijkerschrift.
Version: 2.76
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: spijkerschrift-academie
*/

:root {
  --purple: #c9b8e8;
  --purple-dark: #735a9b;
  --purple-deep: #49365f;
  --sand: #f4efe7;
  --tablet: #d7c4a4;
  --ink: #211d26;
  --white: #fffdf9;
  --muted: #6d6672;
  --shadow: 0 18px 45px rgba(57, 39, 72, .12);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--sand);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.75;
}
a { color: var(--purple-deep); }
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,253,249,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(73,54,95,.1);
}
.header-inner {
  max-width: 1180px; margin: auto; padding: 14px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { text-decoration: none; display:flex; align-items:center; gap:12px; }
.brand-mark {
  width:44px; height:44px; border-radius:12px;
  background: var(--purple); display:grid; place-items:center;
  color:var(--purple-deep); font-size:24px; font-weight:bold;
}
.brand-title { font-weight:bold; font-size:19px; color:var(--ink); }
.brand-sub { display:block; font-size:12px; color:var(--muted); font-family:Arial,sans-serif; }
.main-nav { display:flex; gap:20px; align-items:center; font-family:Arial,sans-serif; font-size:14px; }
.main-nav a { text-decoration:none; color:var(--ink); }
.main-nav a:hover { color:var(--purple-dark); }
.btn {
  display:inline-block; padding:13px 20px; border-radius:999px;
  text-decoration:none; font-family:Arial,sans-serif; font-weight:700;
  border:0; cursor:pointer;
}
.btn-primary { background:var(--purple-deep); color:white; }
.btn-secondary { background:var(--purple); color:var(--purple-deep); }
.hero {
  background:
    radial-gradient(circle at 82% 22%, rgba(201,184,232,.9), transparent 30%),
    linear-gradient(135deg, #fffdf9 0%, #f1e8f6 55%, #e8dccd 100%);
  padding: 88px 24px 78px;
  overflow:hidden;
}
.hero-inner { max-width:1180px; margin:auto; display:grid; grid-template-columns:1.2fr .8fr; gap:55px; align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.13em; font:700 12px Arial,sans-serif; color:var(--purple-dark); }
.hero h1 { font-size:clamp(42px,6vw,76px); line-height:1.03; margin:12px 0 22px; }
.hero p { font-size:20px; max-width:680px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.tablet-card {
  min-height:390px; border-radius:32px; transform:rotate(2deg);
  background:linear-gradient(145deg,#dfcda9,#c6ad82);
  box-shadow:var(--shadow); padding:35px; display:flex; align-items:center; justify-content:center;
  position:relative;
}
.tablet-card:after {
  content:"𒀭 𒂊 𒆠 𒌋\A𒀭 𒂍 𒈗 𒀀\A𒆠 𒌋 𒂊 𒀭";
  white-space:pre; text-align:center; color:#5c4833;
  font-size:43px; line-height:2; opacity:.72;
}
.section { max-width:1180px; margin:auto; padding:72px 24px; }
.section h2 { font-size:40px; line-height:1.15; margin:0 0 14px; }
.section-intro { max-width:760px; color:var(--muted); font-size:18px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; }
.card {
  background:var(--white); border-radius:var(--radius); padding:28px;
  box-shadow:var(--shadow); border:1px solid rgba(73,54,95,.07);
}
.card h3 { margin-top:0; font-size:24px; }
.card p { color:var(--muted); }
.lesson-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px; }
.lesson {
  background:var(--white); border-radius:16px; padding:20px;
  text-decoration:none; color:inherit; border:1px solid rgba(73,54,95,.08);
  transition:.2s ease; box-shadow:0 8px 24px rgba(57,39,72,.05);
}
.lesson:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.lesson-number { font:700 12px Arial,sans-serif; color:var(--purple-dark); text-transform:uppercase; }
.lesson-title { font-size:20px; font-weight:bold; margin-top:5px; }
.feature { background:#fffdf9; }
.progress-demo { background:var(--purple); border-radius:20px; padding:30px; }
.progress-track { height:13px; background:rgba(255,255,255,.65); border-radius:99px; overflow:hidden; margin:15px 0; }
.progress-bar { width:66%; height:100%; background:var(--purple-deep); }
.cta { background:var(--purple-deep); color:white; }
.cta h2, .cta p { color:white; }
.site-footer { background:#292330; color:#eee; padding:45px 24px; }
.footer-inner { max-width:1180px; margin:auto; display:flex; justify-content:space-between; gap:30px; }
.site-footer a { color:#ddd; }
.single-wrap { max-width:900px; margin:auto; padding:65px 24px; }
.lesson-header { background:linear-gradient(135deg,#fffdf9,#eadff2); padding:45px; border-radius:25px; margin-bottom:35px; }
.lesson-sign { font-size:68px; background:var(--tablet); display:inline-block; padding:18px 30px; border-radius:18px; margin:15px 0; }
.exercise { background:var(--white); padding:28px; border-left:6px solid var(--purple-dark); border-radius:12px; margin:30px 0; }
.answer { display:none; background:#f0eaf5; padding:20px; border-radius:12px; margin-top:15px; }
.answer.open { display:block; }
.site-content img { max-width:100%; height:auto; border-radius:15px; }
@media (max-width:850px) {
  .main-nav { display:none; }
  .hero-inner { grid-template-columns:1fr; }
  .cards, .lesson-grid { grid-template-columns:1fr; }
  .hero { padding-top:55px; }
  .footer-inner { flex-direction:column; }
}


/* v2 — course dashboard and learning UI */
.dashboard-card {
  max-width:1180px; margin:0 auto; padding:38px; background:var(--white);
  border-radius:24px; box-shadow:var(--shadow); border:1px solid rgba(73,54,95,.08);
}
.dashboard-card h2 { font-size:36px; line-height:1.15; margin:8px 0 12px; }
.dashboard-card > p { max-width:760px; color:var(--muted); }
.dashboard-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:25px;
}
.dashboard-lesson {
  display:flex; align-items:center; gap:14px; padding:15px 17px; border-radius:13px;
  background:#faf7fb; color:var(--ink); text-decoration:none;
  border:1px solid rgba(73,54,95,.08); transition:.2s;
}
.dashboard-lesson:hover { transform:translateY(-2px); background:#f2eaf7; }
.dashboard-num {
  min-width:34px; height:34px; display:grid; place-items:center;
  border-radius:10px; background:var(--purple); color:var(--purple-deep);
  font:700 13px Arial,sans-serif;
}
.lesson-meta {
  display:flex; flex-wrap:wrap; gap:8px; margin:15px 0 5px;
}
.lesson-meta span {
  background:rgba(201,184,232,.55); padding:5px 10px; border-radius:99px;
  font:700 11px Arial,sans-serif; color:var(--purple-deep);
}
.cuneiform-sign {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:110px; min-height:110px; margin:15px 0; padding:18px 25px;
  background:linear-gradient(145deg,#dfcda9,#c6ad82); border-radius:18px;
  font-size:62px; color:#5c4833; box-shadow:0 10px 25px rgba(80,60,30,.12);
}
.lesson-table {
  width:100%; border-collapse:collapse; margin:25px 0; background:var(--white);
  border-radius:12px; overflow:hidden;
}
.lesson-table th,.lesson-table td { padding:12px 15px; text-align:left; border-bottom:1px solid #e6e0e7; }
.lesson-table th { background:#f0eaf5; }
@media(max-width:700px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card{padding:25px}}


.is-complete { background:#f0eaf5; }
.completion-box {
  display:flex; align-items:center; gap:15px; flex-wrap:wrap;
  margin:45px 0 30px; padding:22px; background:#f5f0f7; border-radius:16px;
}
.completion-message { color:var(--muted); font-family:Arial,sans-serif; font-size:14px; }
.login-note {
  margin:45px 0 30px; padding:20px; background:#f5f0f7; border-radius:16px;
  font-family:Arial,sans-serif; color:var(--muted);
}
.quiz-card {
  margin-top:45px; padding:30px; background:#fffdf9; border-radius:20px;
  box-shadow:var(--shadow); border:1px solid rgba(73,54,95,.08);
}
.quiz-card h2 { margin-top:6px; }
.quiz-question label {
  display:block; padding:12px 14px; margin:8px 0; background:#faf7fb;
  border-radius:10px; cursor:pointer;
}
.quiz-question input { margin-right:9px; }

.lab-shell { max-width:1180px; margin:0 auto; }
.lab-intro { background:linear-gradient(135deg,#fffdf9,#eadff2); padding:42px; border-radius:24px; margin-bottom:30px; }
.lab-intro h1 { font-size:48px; margin:8px 0 10px; }
.lab-intro p { max-width:760px; color:var(--muted); }
.lab-search { display:flex; gap:10px; max-width:720px; margin-top:22px; }
.lab-search input { flex:1; min-width:0; padding:14px 17px; border-radius:999px; border:1px solid #d8d0dc; font-size:16px; }
.sign-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sign-card { background:var(--white); border-radius:18px; padding:22px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:7px; box-shadow:0 8px 24px rgba(57,39,72,.06); }
.sign-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.sign-glyph { font-size:55px; line-height:1.1; background:var(--tablet); border-radius:14px; min-height:100px; display:grid; place-items:center; margin-bottom:5px; }
.sign-card span:last-child { color:var(--muted); font-size:14px; }
.sign-large { display:inline-grid; place-items:center; min-width:170px; min-height:170px; font-size:110px; background:var(--tablet); border-radius:25px; margin:10px 0 25px; color:#5c4833; }
.quiz-option { display:block; padding:11px 14px; margin:7px 0; background:#faf7fb; border-radius:10px; }
@media(max-width:900px){.sign-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sign-grid{grid-template-columns:1fr}.lab-search{flex-direction:column}.lab-intro h1{font-size:38px}}

.exam-shell { max-width:900px; margin:0 auto; padding:65px 24px; }
.exam-header { background:linear-gradient(135deg,#fffdf9,#eadff2); padding:40px; border-radius:24px; margin-bottom:25px; }
.exam-header h1 { font-size:44px; line-height:1.1; margin:8px 0 12px; }
.exam-question { background:var(--white); border-radius:16px; padding:24px; margin:15px 0; box-shadow:0 8px 24px rgba(57,39,72,.05); }
.exam-question label { display:block; padding:10px 12px; margin:7px 0; background:#faf7fb; border-radius:9px; cursor:pointer; }
.exam-result { display:none; margin-top:20px; padding:20px; background:#f0eaf5; border-radius:13px; }
.exam-result.open { display:block; }

.certificate-shell { max-width:1000px; margin:0 auto; padding:65px 24px; }
.certificate-card {
  text-align:center; background:#fffdf9; padding:65px 55px; border:12px double var(--purple);
  border-radius:20px; box-shadow:var(--shadow); position:relative;
}
.certificate-card h1 { font-size:46px; line-height:1.1; margin:10px 0 20px; }
.certificate-card h2 { font-size:34px; margin:5px 0; }
.certificate-card h3 { font-size:24px; }
.certificate-kicker { font:700 13px Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--purple-dark); }
.certificate-symbol { font-size:72px; color:#5c4833; margin:18px auto; }
.certificate-signature { margin:35px 0 25px; padding-top:20px; border-top:1px solid #ddd4e0; display:inline-block; min-width:260px; }
.certificate-card.locked { border-style:solid; }
.certificate-lock { max-width:900px; margin:60px auto; padding:40px; background:var(--white); border-radius:20px; box-shadow:var(--shadow); }
@media print {
  .site-header,.site-footer,.btn,.completion-box { display:none!important; }
  body { background:#fff; }
  .certificate-shell { padding:0; }
  .certificate-card { box-shadow:none; border:12px double #735a9b; min-height:85vh; display:flex; flex-direction:column; justify-content:center; }
}

.answer-toggle { cursor:pointer; position:relative; z-index:2; }
.exercise .answer.open { display:block !important; visibility:visible; opacity:1; }


/* ===== V8: Portfolio ===== */
.portfolio-hero {
  max-width:1180px; margin:0 auto; padding:75px 24px;
  display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; align-items:center;
}
.portfolio-photo {
  background:var(--purple); padding:12px; border-radius:28px;
  box-shadow:var(--shadow); transform:rotate(-1.2deg);
}
.portfolio-photo img {
  display:block; width:100%; height:auto; border-radius:20px;
}
.portfolio-intro h1 { font-size:clamp(48px,6vw,76px); line-height:1; margin:10px 0 16px; }
.portfolio-lead { font-size:25px; color:var(--muted); max-width:650px; }
.portfolio-section {
  max-width:1180px; margin:0 auto; padding:70px 24px;
}
.portfolio-copy { max-width:900px; }
.portfolio-section h2 { font-size:42px; line-height:1.1; margin:8px 0 18px; }
.portfolio-section p { font-size:18px; }
.portfolio-highlight {
  display:grid; grid-template-columns:1fr .35fr; gap:45px; align-items:center;
  background:#fffdf9; border-radius:25px; box-shadow:var(--shadow);
}
.portfolio-sign-panel {
  background:linear-gradient(145deg,#dfcda9,#c6ad82); border-radius:22px;
  min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#5c4833;
}
.portfolio-sign-panel span { font-size:115px; line-height:1; }
.portfolio-sign-panel small { font:700 12px Arial,sans-serif; letter-spacing:.12em; margin-top:8px; }
.portfolio-pillars {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:25px;
}
.portfolio-pillars div {
  background:var(--purple); border-radius:15px; padding:18px;
  display:flex; align-items:center; gap:14px;
}
.portfolio-pillars strong { font:700 18px Arial,sans-serif; color:var(--purple-deep); }
.portfolio-pillars span { font-weight:bold; }
.portfolio-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px; }
.portfolio-card {
  background:var(--white); padding:25px; border-radius:18px;
  box-shadow:0 8px 24px rgba(57,39,72,.06);
}
.portfolio-card h3 { font-size:23px; margin:8px 0; }
.portfolio-card p { font-size:15px; color:var(--muted); }
.card-icon { font-size:42px; color:#5c4833; }
.portfolio-quote {
  text-align:center; background:var(--purple-deep); color:white; max-width:none;
  padding:75px 24px; margin-top:20px;
}
.portfolio-quote blockquote {
  max-width:900px; margin:0 auto 15px; font-size:30px; line-height:1.4;
}
.portfolio-quote p { color:#eee; font-size:15px; }
@media(max-width:900px){
  .portfolio-hero,.portfolio-highlight{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-pillars{grid-template-columns:1fr}
}


/* ===== V9: Boeken ===== */
.books-hero {
  max-width:1180px; margin:0 auto; padding:70px 24px;
  display:grid; grid-template-columns:1.2fr .45fr; gap:35px; align-items:center;
  background:linear-gradient(135deg,#fffdf9,#eadff2);
  border-radius:26px;
}
.books-hero h1 { font-size:52px; line-height:1.05; margin:8px 0 15px; }
.books-hero p { max-width:720px; font-size:19px; color:var(--muted); }
.books-symbol {
  min-height:270px; border-radius:22px; display:grid; place-items:center;
  background:linear-gradient(145deg,#dfcda9,#c6ad82);
  color:#5c4833; font-size:120px;
}
.books-section { max-width:1180px; margin:0 auto; padding:55px 24px; }
.books-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.book-card {
  background:var(--white); border-radius:20px; overflow:hidden;
  box-shadow:var(--shadow); border:1px solid rgba(73,54,95,.07);
}
.book-cover-placeholder {
  min-height:235px; background:linear-gradient(145deg,#c9b8e8,#8c76ac);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff;
}
.book-cover-placeholder span { font-size:85px; line-height:1; }
.book-cover-placeholder small { margin-top:12px; font:700 12px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.book-body { padding:25px; }
.book-body h2 { font-size:24px; line-height:1.2; margin:8px 0 12px; }
.book-body p { color:var(--muted); font-size:15px; }
.book-link { font-family:Arial,sans-serif; font-weight:700; text-decoration:none; color:var(--purple-deep); }
.books-cta {
  max-width:none; margin-top:20px; padding:65px 24px; text-align:center;
  background:var(--purple-deep); color:#fff;
}
.books-cta h2 { font-size:40px; margin:8px 0 12px; }
.books-cta p { color:#eee; }
@media(max-width:900px){.books-grid{grid-template-columns:repeat(2,1fr)}.books-hero{grid-template-columns:1fr}}
@media(max-width:600px){.books-grid{grid-template-columns:1fr}.books-hero h1{font-size:40px}}


/* ===== V10: echte boekomslagen ===== */
.books-grid-real { align-items:start; }
.book-card-real { overflow:hidden; }
.book-cover { display:block; background:#eee8f0; overflow:hidden; }
.book-cover img {
  display:block; width:100%; height:auto; aspect-ratio: 0.707 / 1;
  object-fit:cover; transition:transform .35s ease;
}
.book-cover:hover img { transform:scale(1.025); }
.book-card-real .book-body { min-height:205px; }
.book-card-real .book-link { display:inline-block; margin-top:8px; }
@media(max-width:900px){ .books-grid-real{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .books-grid-real{grid-template-columns:1fr} }


/* ===== V11: uitgelichte boeken op de homepage ===== */
.featured-books {
  margin-top:30px;
  padding:75px 24px;
  background:linear-gradient(180deg,#f7f2fa 0%,#eee5f3 100%);
}
.featured-books-inner { max-width:1180px; margin:0 auto; }
.featured-books-heading {
  display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px;
}
.featured-books-heading h2 { font-size:42px; line-height:1.08; margin:8px 0 12px; }
.featured-books-heading p { max-width:720px; margin:0; color:var(--muted); font-size:17px; }
.featured-book-covers {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:end;
}
.featured-book {
  display:block; text-decoration:none; color:var(--ink); text-align:center;
  transition:transform .25s ease;
}
.featured-book:hover { transform:translateY(-7px); }
.featured-book img {
  display:block; width:100%; max-width:360px; margin:0 auto;
  aspect-ratio:.707 / 1; object-fit:cover; border-radius:8px;
  box-shadow:0 18px 35px rgba(35,24,47,.20);
}
.featured-book span {
  display:block; margin-top:14px; font:700 14px Arial,sans-serif;
  letter-spacing:.16em; color:var(--purple-deep);
}
@media(max-width:800px){
  .featured-books-heading{flex-direction:column;align-items:flex-start}
  .featured-book-covers{grid-template-columns:1fr;max-width:440px;margin:0 auto}
}

.bookmundo-direct-link {
  display:inline-block; margin-left:14px; font:700 14px Arial,sans-serif;
  color:var(--purple-deep); text-decoration:underline;
}
.menu-item-books > a, .menu-item-bookmundo > a { white-space:nowrap; }
@media(max-width:700px){ .bookmundo-direct-link{margin:12px 0 0;display:block;} }

/* V17: native answer disclosure */
.answer-details {
  margin:18px 0; border-radius:14px; background:#faf7fb;
  overflow:hidden; border:1px solid rgba(73,54,95,.10);
}
.answer-details summary {
  cursor:pointer; padding:15px 18px; font-weight:700;
  list-style:none; color:var(--purple-deep);
}
.answer-details summary::-webkit-details-marker { display:none; }
.answer-details summary::before { content:"＋"; margin-right:9px; }
.answer-details[open] summary::before { content:"−"; }
.answer-details .answer {
  display:block !important; padding:0 18px 18px; color:var(--ink);
}

/* ===== V18: uitgebreide Les 1 ===== */
.lesson-page { max-width:1000px; margin:0 auto; }
.lesson-card { padding:0; overflow:hidden; }
.lesson-top { padding:48px; background:linear-gradient(135deg,#fffdf9,#eadff2); }
.lesson-top h1 { font-size:48px; line-height:1.08; margin:8px 0 15px; }
.lesson-lead { font-size:20px; color:var(--muted); max-width:820px; }
.lesson-block, .exercise { padding:34px 48px; }
.lesson-block h2, .exercise h2 { font-size:31px; line-height:1.15; margin-top:0; }
.lesson-block p, .exercise p, .lesson-block li { font-size:17px; line-height:1.75; }
.sign-intro { display:flex; align-items:center; gap:30px; padding:25px; background:#f8f4ec; border-radius:18px; }
.cuneiform-sign { font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif; }
.cuneiform-sign.big { font-size:105px; line-height:1; color:#5c4833; }
.cuneiform-sign.inline { display:block; margin:10px 0 20px; }
.lesson-table { width:100%; border-collapse:collapse; margin:22px 0; }
.lesson-table th,.lesson-table td { text-align:left; padding:13px 15px; border-bottom:1px solid #e1d9e4; }
.lesson-table th { background:#f3edf6; }
.exercise { margin:10px 34px 34px; background:#fbf8fc; border-radius:18px; }
.answer-details { margin-top:20px; background:#fff; border:1px solid rgba(73,54,95,.12); border-radius:13px; }
.answer-details summary { cursor:pointer; padding:16px 18px; font-weight:700; color:var(--purple-deep); }
.answer-details .answer { padding:0 18px 18px; }
.exercise-list { list-style:none; padding:0; }
.exercise-list li { padding:8px 12px; background:#fff; margin:7px 0; border-radius:9px; }
.next-lesson { background:#f2ebf6; }
@media(max-width:650px){
 .lesson-top,.lesson-block,.exercise{padding:28px 22px}
 .lesson-top h1{font-size:38px}
 .exercise{margin:8px 12px 22px}
 .sign-intro{flex-direction:column;align-items:flex-start}
}

/* ===== V19: portfolio als openingsscherm ===== */
.portfolio-opening { background:#fbf8f4; }
.opening-hero {
  max-width:1250px; min-height:680px; margin:0 auto; padding:70px 30px;
  display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:center;
}
.opening-photo {
  padding:12px; background:var(--purple); border-radius:30px;
  box-shadow:0 25px 55px rgba(39,26,52,.18);
}
.opening-photo img { display:block; width:100%; border-radius:21px; }
.opening-content .eyebrow { margin-bottom:8px; }
.opening-content h1 {
  font-size:clamp(58px,7vw,92px); line-height:.95; margin:0 0 18px;
  letter-spacing:-.035em;
}
.opening-subtitle {
  font-size:27px; line-height:1.35; max-width:800px; color:var(--purple-deep);
}
.opening-content > p:not(.opening-subtitle) {
  font-size:18px; line-height:1.75; max-width:790px; color:var(--muted);
}
.opening-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:28px; }
.opening-navigation {
  max-width:1250px; margin:0 auto; padding:0 30px 70px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.opening-tile {
  background:#fff; border-radius:20px; padding:28px; text-decoration:none;
  color:var(--ink); box-shadow:0 12px 30px rgba(39,26,52,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}
.opening-tile:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.opening-icon { display:block; font-size:50px; color:#5c4833; margin-bottom:10px; }
.opening-tile strong { display:block; font-size:25px; }
.opening-tile small { display:block; color:var(--muted); font-size:15px; margin-top:6px; }
.opening-about {
  max-width:1250px; margin:0 auto 70px; padding:45px 30px;
  display:grid; grid-template-columns:.65fr 1.35fr; gap:50px;
  background:#eee5f3; border-radius:25px;
}
.opening-about h2 { font-size:40px; line-height:1.1; margin:8px 0; }
.opening-about p { font-size:18px; line-height:1.75; margin:0; color:var(--muted); }
@media(max-width:850px){
  .opening-hero{grid-template-columns:1fr;gap:35px;min-height:0}
  .opening-navigation{grid-template-columns:1fr}
  .opening-about{grid-template-columns:1fr;gap:15px}
}
@media(max-width:600px){
  .opening-hero{padding:40px 20px}
  .opening-navigation{padding:0 20px 45px}
  .opening-about{margin:0 20px 45px;padding:30px 22px}
  .opening-subtitle{font-size:22px}
}

/* ===== V20: Les 1 content styling ===== */
.lesson-intro-box,.sign-lesson-box {
  background:#f1e8f5; border-radius:18px; padding:28px; margin:0 0 28px;
}
.lesson-intro-box h2,.sign-lesson-box h2 { margin-top:7px; }
.sign-intro { display:flex; align-items:center; gap:25px; }
.next-lesson { margin-top:30px; padding:25px; background:#f1e8f5; border-radius:18px; }

/* V21: Lesson 1 is rendered directly by single-lesson.php */
.lesson-intro-box,.sign-lesson-box{background:#f1e8f5;border-radius:18px;padding:28px;margin:0 0 28px}
.lesson-intro-box h2,.sign-lesson-box h2{margin-top:7px}
.sign-intro{display:flex;align-items:center;gap:25px}
.lesson-table{width:100%;border-collapse:collapse;margin:22px 0}
.lesson-table th,.lesson-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #e1d9e4}
.lesson-table th{background:#f3edf6}
.exercise{margin:25px 0;padding:28px;background:#fbf8fc;border-radius:18px}
.answer-details{margin-top:18px;border:1px solid rgba(73,54,95,.14);border-radius:13px;background:#fff}
.answer-details summary{cursor:pointer;padding:16px 18px;font-weight:700;color:var(--purple-deep)}
.answer-details .answer{padding:0 18px 18px;display:block!important}
.cuneiform-sign.big{font-size:105px;line-height:1;color:#5c4833}
.next-lesson{margin-top:30px;padding:25px;background:#f1e8f5;border-radius:18px}

/* ===== V22: uitgebreide Les 2 ===== */
.lesson-card ol,.lesson-card ul{line-height:1.75}
.lesson-card ol li,.lesson-card ul li{margin:6px 0}

/* ===== V23: kleinere spijkerschrifttekens in de les ===== */
.lesson-card .cuneiform-sign { font-size:1.08em; line-height:1; }
.lesson-card .cuneiform-sign.big {
  font-size:3.2rem;
  line-height:1;
}
.lesson-card p .cuneiform-sign,
.lesson-card li .cuneiform-sign,
.lesson-card h2 .cuneiform-sign,
.lesson-card h3 .cuneiform-sign,
.lesson-card td .cuneiform-sign {
  font-size:1.05em;
  vertical-align:-0.08em;
}
.lesson-card .sign-intro .cuneiform-sign.big {
  font-size:3.4rem;
}
@media(max-width:650px){
  .lesson-card .cuneiform-sign.big { font-size:2.8rem; }
}

/* ===== V24: language switcher ===== */
.spa-language-switcher-wrap {
  position:absolute; top:18px; right:24px; z-index:20;
}
.spa-language-switcher {
  display:flex; align-items:center; gap:5px; padding:4px;
  background:rgba(255,255,255,.92); border:1px solid rgba(73,54,95,.13);
  border-radius:999px; box-shadow:0 6px 18px rgba(39,26,52,.08);
  font:700 12px/1 Arial,sans-serif;
}
.spa-language-switcher a,.spa-lang-label {
  display:inline-flex; min-width:35px; min-height:30px; align-items:center; justify-content:center;
  padding:0 9px; border-radius:999px; text-decoration:none;
}
.spa-language-switcher a { background:var(--purple-deep); color:#fff; }
.spa-lang-label { color:var(--muted); }
@media(max-width:600px){
 .spa-language-switcher-wrap{top:12px;right:12px}
}

/* V25 bilingual lessons */
.lesson-card .lesson-intro-box h2{margin-bottom:10px}
.lesson-card .cuneiform-sign{font-size:1.05em}
.lesson-card .cuneiform-sign.big{font-size:3.2rem}

/* ===== V26: account system ===== */
.spa-header-tools{position:absolute;top:15px;right:22px;z-index:30;display:flex;gap:8px;align-items:center}
.header-account{font:700 12px/1 Arial,sans-serif;text-decoration:none;background:#fff;padding:9px 13px;border-radius:999px;color:var(--purple-deep);border:1px solid rgba(73,54,95,.13)}
.account-card,.account-dashboard{max-width:760px;margin:50px auto;padding:38px;background:#fff;border-radius:22px;box-shadow:0 15px 40px rgba(39,26,52,.08)}
.account-card h2,.account-dashboard h1{margin-top:8px}
.account-form{display:grid;gap:18px;margin-top:22px}
.account-form label{font-weight:700}
.account-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px;border:1px solid #d8cfdb;border-radius:10px;font-size:16px}
.form-error{padding:13px;border-radius:10px;background:#f7e7e7;margin:15px 0}
.progress-card{background:#f1e8f5;border-radius:17px;padding:23px;margin:25px 0}
.progress-head{display:flex;justify-content:space-between}
.progress-bar{height:12px;background:#fff;border-radius:999px;overflow:hidden;margin:12px 0}
.progress-bar span{display:block;height:100%;background:var(--purple-deep)}
.lesson-dashboard-list{display:grid;gap:9px}
.dashboard-lesson{display:flex;align-items:center;gap:14px;padding:16px;background:#faf8fb;border-radius:13px;text-decoration:none;color:var(--ink)}
.dashboard-lesson>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9deee;color:var(--purple-deep);font-weight:700}
.dashboard-lesson.completed>span{background:var(--purple-deep);color:#fff}
.dashboard-lesson div{flex:1}.dashboard-lesson small{display:block;color:var(--muted);margin-top:3px}
.complete-form{margin:30px 0}
.btn-completed{background:#e7f1e9!important;color:#244b2d!important}
@media(max-width:650px){.spa-header-tools{top:10px;right:10px}.header-account{padding:8px 10px}.account-card,.account-dashboard{margin:25px 15px;padding:25px}}

/* ===== V28 account pages ===== */
.account-form button{cursor:pointer;border:0}
.account-form input:focus{outline:2px solid rgba(73,54,95,.18);outline-offset:1px}

/* ===== V29: site-wide language UI ===== */
html[lang="en"] .spa-language-switcher a{font-weight:800}
.spa-language-switcher a,.spa-language-switcher span{white-space:nowrap}

/* ===== V30: uitgebreid cursusvoortgang-dashboard ===== */
.dashboard-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#f1e8f5;border-radius:20px;padding:30px;margin-bottom:18px}
.dashboard-hero h1{margin:6px 0 8px;font-size:clamp(32px,5vw,52px)}
.dashboard-hero p{margin:0;max-width:650px;color:var(--muted);line-height:1.65}
.dashboard-percent{min-width:125px;height:125px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(39,26,52,.08)}
.dashboard-percent strong{font-size:34px;color:var(--purple-deep);line-height:1}
.dashboard-percent span{font-size:12px;color:var(--muted);margin-top:5px}
.dashboard-progress-card{background:#fff;border:1px solid rgba(73,54,95,.1);border-radius:18px;padding:24px;margin-bottom:18px}
.progress-bar-large{height:16px}
.dashboard-actions{margin-bottom:32px}
.dashboard-next{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--purple-deep);color:#fff;text-decoration:none;border-radius:16px}
.dashboard-next>span:nth-child(2){flex:1}
.dashboard-next small{display:block;opacity:.75;font-size:11px;font-weight:800;letter-spacing:.12em}
.dashboard-next strong{display:block;font-size:20px;margin-top:3px}
.dashboard-next b{font-size:24px}
.dashboard-action-icon{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--purple-deep);display:grid;place-items:center;font-size:14px}
.dashboard-finished{background:#e7f1e9;color:#244b2d}
.dashboard-finished .dashboard-action-icon{color:#244b2d}
.dashboard-section-title{margin-bottom:14px}
.dashboard-section-title h2{margin:5px 0 0}
.dashboard-lesson{transition:transform .15s ease,box-shadow .15s ease;border:1px solid transparent}
.dashboard-lesson:hover{transform:translateX(3px)}
.dashboard-lesson.is-next{border-color:rgba(73,54,95,.2);background:#f5eef8}
.dashboard-number{flex:0 0 auto}
.dashboard-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}
.dashboard-summary div{background:#f8f5f9;border-radius:15px;padding:20px;text-align:center}
.dashboard-summary strong{display:block;font-size:30px;color:var(--purple-deep)}
.dashboard-summary span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.dashboard-footer-links{display:flex;align-items:center;justify-content:space-between;margin-top:25px}
@media(max-width:650px){
 .dashboard-hero{align-items:flex-start;flex-direction:column}
 .dashboard-percent{width:90px;height:90px;min-width:90px}
 .dashboard-percent strong{font-size:25px}
 .dashboard-summary{grid-template-columns:1fr}
 .dashboard-footer-links{flex-direction:column;align-items:stretch;gap:14px}
 .dashboard-footer-links .account-logout{text-align:center}
}

/* V32: progress dashboard is the canonical Mijn cursus screen */
.account-dashboard .progress-bar span{transition:width .35s ease}

/* ===== V33: persistent language selector ===== */
.spa-language-switcher .spa-lang-label{font-weight:800}
.spa-language-switcher a{cursor:pointer}

/* ===== V34: Lesson 3 sign practice ===== */
.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}
.practice-grid>div{background:#f8f5f9;border-radius:14px;padding:18px;text-align:center}
.practice-grid .cuneiform-sign{display:block;font-size:2rem;line-height:1.2;margin-bottom:8px}
.practice-grid small{display:block;color:var(--muted);font-weight:700}
@media(max-width:650px){.practice-grid{grid-template-columns:repeat(2,1fr)}}



/* V44 — robust mobile navigation. Desktop layout is intentionally unchanged. */
.mobile-menu-toggle{
  display:none !important;
  position:relative;
  width:46px;
  height:46px;
  flex:0 0 46px;
  margin-left:auto;
  border:1px solid rgba(73,54,95,.18);
  border-radius:12px;
  background:#fffdf9;
  cursor:pointer;
  padding:9px;
  z-index:100;
  box-shadow:0 4px 12px rgba(39,26,52,.08);
}
.mobile-menu-toggle span{
  display:block;
  width:100%;
  height:3px;
  background:#49365f;
  margin:5px 0;
  border-radius:3px;
}
.mobile-menu{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:99;
  background:#fffdf9;
  border-bottom:1px solid rgba(73,54,95,.15);
  box-shadow:0 18px 35px rgba(57,39,72,.16);
}
.mobile-menu.is-open{
  display:block;
  max-height:calc(100vh - 70px);
  overflow-y:auto;
}
.mobile-nav{
  list-style:none;
  margin:0;
  padding:12px 18px 22px;
}
.mobile-nav li{
  list-style:none;
  margin:0;
  padding:0;
  border-bottom:1px solid rgba(73,54,95,.10);
}
.mobile-nav li:last-child{border-bottom:0}
.mobile-nav a{
  display:block;
  padding:15px 8px;
  text-decoration:none;
  color:#211d26;
  font-family:Arial,sans-serif;
  font-size:16px;
  font-weight:700;
}
.mobile-nav a:hover{color:#735a9b}
.mobile-menu .main-nav{
  display:block !important;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:12px 18px 22px;
}
.mobile-menu .main-nav a{
  display:block;
  padding:15px 8px;
  border-bottom:1px solid rgba(73,54,95,.10);
}
.mobile-menu .main-nav .btn{
  margin-top:12px;
  text-align:center;
  color:#fff;
  background:#49365f;
  border-radius:999px;
}
@media (max-width:850px){
  .site-header{position:sticky;top:0;z-index:1000}
  .header-inner{
    position:relative;
    padding:11px 18px;
    min-height:68px;
  }
  .header-inner > .main-nav{display:none !important}
  .mobile-menu-toggle{display:block !important}
  .spa-header-tools{
    top:12px;
    right:72px;
    z-index:70;
  }
  .header-account{font-size:11px;padding:8px 10px}
  .brand-title{font-size:17px}
  .brand-sub{font-size:11px}
}
@media (max-width:560px){
  .spa-header-tools .header-account{display:none}
  .spa-header-tools{right:64px;top:10px}
  .header-inner{padding:9px 12px;gap:8px}
  .brand{gap:8px}
  .brand-mark{width:39px;height:39px;font-size:21px}
  .brand-title{font-size:15px}
  .brand-sub{font-size:9px;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-toggle{width:42px;height:42px;flex-basis:42px;padding:8px}
}

/* V45 — single mobile menu controller; prevent accidental double-toggle. */
@media (max-width:850px){
  .mobile-menu.is-open{display:block !important; visibility:visible !important; opacity:1 !important;}
  body.mobile-menu-open{overflow:hidden;}
}


/* V48 — Over Rinus matches the compact homepage layout. */
.portfolio-rinus{background:#fffdf9}
.portfolio-rinus .portfolio-hero{max-width:1240px;margin:auto;padding:65px 24px 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.portfolio-rinus .portfolio-hero h1{font-size:clamp(46px,5.7vw,72px);margin:8px 0 13px}
.portfolio-rinus .portfolio-lead{font-size:18px;color:#756c79;max-width:650px}
.portfolio-rinus .portfolio-photo-wrap{width:min(390px,100%);justify-self:end;position:relative}
.portfolio-rinus .portfolio-photo-wrap:before{content:"";position:absolute;inset:16px -16px -16px 16px;background:#eee5f2;border-radius:28px}
.portfolio-rinus .portfolio-photo-wrap img{position:relative;z-index:1;width:100%;display:block;border-radius:27px}
.portfolio-rinus .portfolio-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.portfolio-rinus .portfolio-tags span{background:#eee5f2;color:#4b3859;border-radius:99px;padding:6px 11px;font-size:9px;font-weight:900}
.portfolio-rinus .hero-actions{margin-top:22px}
.portfolio-rinus .portfolio-intro{max-width:900px;margin:auto;padding:25px 24px 55px}
.portfolio-rinus .portfolio-intro h2{font-size:39px;margin:7px 0 13px}
.portfolio-rinus .portfolio-intro p{color:#756c79;font-size:15px}
.portfolio-rinus .portfolio-cards{max-width:1240px;margin:auto;padding:0 24px 65px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.portfolio-rinus .portfolio-cards article{background:#fff;border:1px solid #e4dbe7;border-radius:21px;padding:25px;min-height:275px}
.portfolio-rinus .portfolio-card-icon{font-size:37px;color:#72527f;margin-bottom:13px}
.portfolio-rinus .portfolio-cards h3{font-size:21px;margin:8px 0}
.portfolio-rinus .portfolio-cards p{font-size:13px;color:#756c79}
.portfolio-rinus .portfolio-method{max-width:1240px;margin:0 auto 60px;padding:48px 50px;display:grid;grid-template-columns:1fr 1fr;gap:55px;background:#f1e8f4;border-radius:28px}
.portfolio-rinus .portfolio-method h2{font-size:34px;margin:8px 0}
.portfolio-rinus .portfolio-method p{font-size:14px;color:#5f5663}
.portfolio-rinus .portfolio-pillars{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.portfolio-rinus .portfolio-pillars span{background:#fff;border:1px solid #ded2e3;border-radius:99px;padding:7px 11px;font-size:9px;font-weight:900;color:#4b3859}
.portfolio-rinus .portfolio-cta{max-width:1240px;margin:0 auto 65px;padding:38px 45px;border-radius:28px;background:#4b3859;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}
.portfolio-rinus .portfolio-cta h2{font-size:29px;margin:7px 0}
.portfolio-rinus .portfolio-cta .eyebrow{color:#d7c9de}
@media(max-width:850px){
 .portfolio-rinus .portfolio-hero{grid-template-columns:1fr;gap:35px;padding:45px 18px 55px}
 .portfolio-rinus .portfolio-photo-wrap{justify-self:start;max-width:330px}
 .portfolio-rinus .portfolio-cards{grid-template-columns:1fr;padding:0 18px 50px}
 .portfolio-rinus .portfolio-method{margin:0 18px 50px;padding:38px 24px;grid-template-columns:1fr;gap:22px}
 .portfolio-rinus .portfolio-cta{margin:0 18px 50px;padding:32px 24px;display:block}
 .portfolio-rinus .portfolio-cta .btn{margin-top:16px}
}
@media(max-width:560px){
 .portfolio-rinus .portfolio-hero{padding:35px 16px 45px}
 .portfolio-rinus .portfolio-hero h1{font-size:41px}
 .portfolio-rinus .portfolio-lead{font-size:16px}
 .portfolio-rinus .portfolio-intro{padding:15px 16px 42px}
 .portfolio-rinus .portfolio-intro h2{font-size:31px}
 .portfolio-rinus .portfolio-cards{padding-left:16px;padding-right:16px}
 .portfolio-rinus .portfolio-method{margin-left:16px;margin-right:16px;padding:31px 19px}
 .portfolio-rinus .portfolio-method h2{font-size:29px}
 .portfolio-rinus .portfolio-cta{margin-left:16px;margin-right:16px}
}

/* V51: klikbare antwoordkeuzes voor interactieve oefeningen */
.choice-list{display:grid;gap:8px;margin:14px 0}
.choice{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#fff;border:1px solid rgba(73,54,95,.10);border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.choice:hover{border-color:rgba(73,54,95,.25);background:#faf7fc}
.choice input{width:17px;height:17px;flex:0 0 auto;margin:0;accent-color:#4b3859;cursor:pointer}
.choice span{display:block;line-height:1.5;cursor:pointer}
.choice:has(input:checked){background:#f1e8f5;border-color:#8b6aa0;box-shadow:0 0 0 2px rgba(139,106,160,.08)}
@media(max-width:650px){.choice{padding:11px 12px}}


/* V58: Les 3 leesstappen en directe vraagfeedback */
.spa-reading-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.spa-reading-steps>div{padding:18px;text-align:center;border:1px solid rgba(73,54,95,.12);border-radius:14px;background:#fff}
.spa-reading-steps strong{display:block;font-size:20px;color:#4b3859}.spa-reading-steps span{display:block;font-weight:800;color:#302835}.spa-reading-steps small{display:block;color:#766c7a;margin-top:3px}
.interactive-question{margin:15px 0;padding:15px;border:1px solid rgba(73,54,95,.10);border-radius:14px;background:#fff}
.instant-feedback{display:none;margin-top:10px;padding:9px 12px;border-radius:10px;font-size:12px}
.instant-feedback.is-correct,.choice.is-correct{background:#f1e8f4;border-color:#8b6aa0}.instant-feedback.is-wrong,.choice.is-wrong{background:#faf0ef;border-color:#b98278}
.instant-feedback.is-correct,.instant-feedback.is-wrong{display:block}.choice.is-correct,.choice.is-wrong{border-width:1px}
@media(max-width:650px){.spa-reading-steps{grid-template-columns:1fr}}


/* v106 — Kennisbank */
.knowledge-wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
.knowledge-hero{padding:95px 0 85px;background:radial-gradient(circle at 82% 22%,rgba(201,184,232,.92),transparent 27%),linear-gradient(135deg,#fffdf9 0%,#f1e8f6 55%,#e8dccd 100%);overflow:hidden}
.knowledge-kicker{font:800 11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--purple-dark)}
.knowledge-hero h1{font-size:clamp(48px,7vw,82px);line-height:1.02;margin:12px 0 22px;max-width:850px}
.knowledge-lead{font-size:21px;max-width:780px;color:#51495a}
.knowledge-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.knowledge-intro{padding:75px 0;background:#fffdf9}
.knowledge-intro-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center}
.knowledge-intro h2,.knowledge-section h2{font-size:42px;line-height:1.15;margin:10px 0 18px}
.knowledge-quote{padding:34px;border-radius:24px;background:var(--purple-deep);color:#fff;box-shadow:var(--shadow)}
.knowledge-quote span{font-size:54px;color:#e8dccd;display:block;margin-bottom:8px}.knowledge-quote strong{font-size:22px;line-height:1.35;display:block}.knowledge-quote p{opacity:.85;margin-bottom:0}
.knowledge-section{padding:78px 0}.knowledge-soft{background:#f4efe7}.knowledge-dark{background:#302936;color:#fff}.knowledge-dark h2{color:#fff}.knowledge-dark .knowledge-kicker{color:#d8c4e2}.knowledge-section-heading{max-width:820px;margin-bottom:34px}.knowledge-section-heading>p{font-size:18px;color:var(--muted)}.knowledge-dark .knowledge-section-heading>p{color:#ddd1df}
.knowledge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.knowledge-grid-3{grid-template-columns:repeat(3,1fr)}
.knowledge-card{display:block;text-decoration:none;color:inherit;background:#fffdf9;border:1px solid rgba(73,54,95,.1);border-radius:20px;padding:26px;min-height:190px;box-shadow:0 10px 28px rgba(57,39,72,.07);transition:.22s ease}.knowledge-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.knowledge-card.static{cursor:default}.knowledge-card.static:hover{transform:none}.knowledge-card h3{font-size:24px;margin:8px 0 10px}.knowledge-card p{margin:0;color:var(--muted)}.knowledge-icon{font-size:34px;color:var(--purple-dark)}
.dark-card{background:#3b3340;border-color:#5b4d60;color:#fff;box-shadow:none}.dark-card p{color:#d9cfdc}
.knowledge-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.knowledge-feature{background:#fffdf9;border-radius:24px;padding:28px;border:1px solid rgba(73,54,95,.1);box-shadow:0 10px 28px rgba(57,39,72,.06)}.knowledge-feature-symbol{font-size:46px;color:var(--purple-dark)}.knowledge-feature h3{font-size:25px;margin:8px 0}.knowledge-feature p{color:var(--muted)}.knowledge-feature a{font-family:Arial,sans-serif;font-weight:800;text-decoration:none}
.knowledge-cta{padding:70px 0;background:linear-gradient(135deg,#eee2f2,#fffdf9)}.knowledge-cta-inner{display:flex;justify-content:space-between;gap:36px;align-items:center}.knowledge-cta-inner>div:first-child{max-width:720px}.knowledge-cta-inner h2{margin-top:8px}.knowledge-cta-buttons{display:flex;gap:12px;flex-wrap:wrap;min-width:280px;justify-content:flex-end}
@media(max-width:900px){.knowledge-intro-grid{grid-template-columns:1fr}.knowledge-grid,.knowledge-feature-grid{grid-template-columns:repeat(2,1fr)}.knowledge-grid-3{grid-template-columns:repeat(2,1fr)}.knowledge-cta-inner{flex-direction:column;align-items:flex-start}.knowledge-cta-buttons{justify-content:flex-start}}
@media(max-width:620px){.knowledge-hero{padding:65px 0}.knowledge-hero h1{font-size:48px}.knowledge-intro,.knowledge-section{padding:55px 0}.knowledge-intro h2,.knowledge-section h2{font-size:33px}.knowledge-grid,.knowledge-grid-3,.knowledge-feature-grid{grid-template-columns:1fr}}

.knowledge-readmore{display:block;margin-top:18px;font-family:Arial,sans-serif;color:var(--purple-dark);font-size:14px}

/* Kennisbank linked feature cards */
a.knowledge-feature { text-decoration:none; color:inherit; display:block; }
a.knowledge-feature strong { display:inline-block; margin-top:10px; color:inherit; }

/* Kennisbank linked cards */
a.knowledge-card { text-decoration:none; color:inherit; display:block; }
a.knowledge-card:hover { text-decoration:none; }


/* ==========================================================
   INTERACTIEVE KAART VAN MESOPOTAMIË
   ========================================================== */
.meso-map-section{
  padding:88px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(106,81,137,.10), transparent 32%),
    linear-gradient(180deg, rgba(247,244,238,.88), rgba(235,228,216,.92));
}
.meso-map-heading{max-width:850px;margin-bottom:34px}
.meso-map-card{
  border:1px solid rgba(67,55,48,.13);
  border-radius:28px;
  overflow:hidden;
  background:#efe6d6;
  box-shadow:0 22px 55px rgba(40,30,24,.12);
}
.meso-map-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:25px 30px;
  background:rgba(255,255,255,.58);
  border-bottom:1px solid rgba(67,55,48,.11);
}
.meso-map-eyebrow,.meso-map-hint{
  display:inline-block;
  color:#5b4c75;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
}
.meso-map-toolbar h3{margin:7px 0 0;font-size:1.45rem;color:#2f2938}
.meso-map-hint{
  padding:10px 14px;border-radius:999px;
  background:rgba(91,76,117,.10);
  white-space:nowrap;
}
.meso-map-wrap{
  position:relative;
  padding:12px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.42), transparent 55%),
    #e6d9c2;
}
.meso-map-svg{display:block;width:100%;height:auto;color:#493d34}
.meso-land{fill:#d8c4a2;filter:url(#mapShadow)}
.meso-border{fill:none;stroke:#8a7358;stroke-width:3;stroke-dasharray:8 9;opacity:.75}
.river{fill:none;stroke:#5d7891;stroke-width:15;stroke-linecap:round;opacity:.9}
.river-small{fill:none;stroke:#6f8aa0;stroke-width:8;stroke-linecap:round;opacity:.7}
.map-river-label{
  fill:#547086;font-size:24px;font-weight:800;letter-spacing:.18em;opacity:.75;
}
.map-region-label{
  fill:#7d654b;font-size:26px;font-weight:800;letter-spacing:.24em;opacity:.65;text-anchor:middle;
}
.map-marker{cursor:pointer;outline:none}
.map-marker circle:first-child{
  fill:#4f3b67;stroke:#fff7e9;stroke-width:6;
  filter:drop-shadow(0 5px 5px rgba(45,31,56,.25));
  transition:transform .18s ease, fill .18s ease;
}
.map-marker .map-marker-core{fill:#f2d998;pointer-events:none}
.map-marker text{
  fill:#332d29;font-size:22px;font-weight:800;
  paint-order:stroke;stroke:#f0e3cc;stroke-width:6;stroke-linejoin:round;
}
.map-marker:hover circle:first-child,
.map-marker:focus circle:first-child{fill:#7b5a9d;transform:scale(1.22)}
.meso-map-legend{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:18px 28px;
  color:#6b5a4c;font-size:.88rem;background:rgba(255,255,255,.45);
}
.meso-map-legend span:first-child{font-weight:700}
.meso-map-legend i{
  display:inline-block;width:12px;height:12px;border-radius:50%;
  margin-right:7px;background:#4f3b67;vertical-align:-1px;
}
.meso-city-modal{
  position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;padding:22px;
}
.meso-city-modal.is-open{display:flex}
.meso-city-modal-backdrop{
  position:absolute;inset:0;background:rgba(25,20,30,.56);backdrop-filter:blur(4px);
}
.meso-city-modal-dialog{
  position:relative;z-index:2;width:min(560px,100%);
  padding:42px;border-radius:26px;background:#fbf8f2;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  border:1px solid rgba(77,59,94,.16);
  animation:mesoModalIn .2s ease-out;
}
@keyframes mesoModalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.meso-city-modal-kicker{
  color:#685080;font-size:.72rem;font-weight:800;letter-spacing:.16em;margin-bottom:10px;
}
.meso-city-modal-dialog h3{font-size:2.25rem;margin:0 0 14px;color:#302a38}
.meso-city-modal-dialog p{font-size:1.08rem;line-height:1.8;color:#554b45;margin-bottom:28px}
.meso-city-modal-close{
  position:absolute;right:17px;top:13px;border:0;background:transparent;
  color:#5b4c75;font-size:2rem;line-height:1;cursor:pointer;
}
body.meso-modal-open{overflow:hidden}
@media (max-width:760px){
  .meso-map-section{padding:62px 0}
  .meso-map-toolbar{padding:20px;align-items:flex-start;flex-direction:column}
  .meso-map-svg{min-height:500px;object-fit:cover}
  .map-marker text{font-size:18px}
  .map-region-label{font-size:20px}
  .meso-city-modal-dialog{padding:34px 25px}
  .meso-city-modal-dialog h3{font-size:1.9rem}
}


/* =========================================
   INTERACTIEVE KAART — grafische upgrade
   ========================================= */
.meso-map-section{
  background:
    radial-gradient(circle at 12% 16%, rgba(91,76,117,.14), transparent 30%),
    radial-gradient(circle at 88% 70%, rgba(190,151,97,.13), transparent 28%),
    linear-gradient(180deg, #f7f4ee 0%, #e8ddcb 100%);
}
.meso-map-card{
  border:1px solid rgba(67,55,48,.16);
  box-shadow:0 28px 75px rgba(40,30,24,.16), inset 0 1px 0 rgba(255,255,255,.75);
}
.meso-map-toolbar{
  background:linear-gradient(90deg, rgba(255,255,255,.92), rgba(249,244,235,.78));
}
.meso-map-toolbar h3{
  display:flex;
  align-items:center;
  gap:10px;
  letter-spacing:.01em;
}
.map-title-ornament{
  width:34px;height:34px;
  display:inline-flex;
  align-items:center;justify-content:center;
  border-radius:11px;
  background:linear-gradient(135deg,#5b4c75,#80669b);
  color:#fff8e9;
  font-size:1rem;
  box-shadow:0 8px 18px rgba(78,61,101,.22);
}
.meso-map-hint{
  border:1px solid rgba(91,76,117,.12);
  box-shadow:0 5px 14px rgba(91,76,117,.08);
}
.meso-map-wrap{
  padding:18px;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.52), transparent 28%),
    radial-gradient(circle at 82% 70%, rgba(255,255,255,.22), transparent 30%),
    linear-gradient(135deg,#d8c3a3,#bda078);
}
.meso-map-svg{
  border-radius:20px;
  box-shadow:inset 0 0 0 1px rgba(89,68,45,.16);
  background:#d9c3a0;
}
.map-ocean{fill:#c7d4d4;opacity:.42}
.meso-land{fill:url(#landGradient)}
.map-grain-overlay{fill:url(#mapGrain);opacity:.6;pointer-events:none}
.map-contour{
  fill:none;
  stroke:#8e7457;
  stroke-width:2;
  stroke-dasharray:3 10;
  opacity:.20;
}
.map-mountains path{
  fill:none;
  stroke:#725d4b;
  stroke-width:8;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.river{
  stroke:url(#riverGradient);
  stroke-width:18;
  filter:drop-shadow(0 4px 4px rgba(44,76,94,.20));
}
.river-small{stroke:#83a8b6}
.map-river-label{
  font-size:25px;
  fill:#41697d;
  text-shadow:0 2px 0 rgba(255,255,255,.22);
}
.map-region-label{
  font-size:28px;
  letter-spacing:.28em;
  fill:#6f573f;
  opacity:.62;
}
.map-title-cartouche rect{
  fill:rgba(75,57,47,.88);
  stroke:#e8d4a5;
  stroke-width:2;
  filter:drop-shadow(0 8px 10px rgba(42,30,22,.20));
}
.map-title-cartouche text{
  fill:#fff3d8;
  font-size:20px;
  font-weight:900;
  letter-spacing:.16em;
  text-anchor:middle;
}
.map-title-cartouche .map-title-sub{
  font-size:8px;
  letter-spacing:.22em;
  opacity:.8;
}
.map-compass circle{
  fill:#f4ead8;
  stroke:#735f4b;
  stroke-width:2;
  filter:drop-shadow(0 6px 8px rgba(45,34,25,.18));
}
.map-compass .map-compass-inner{fill:none;stroke-width:1.5}
.map-compass path{fill:#5b4c75}
.map-compass .map-compass-east{fill:#c9a76a}
.map-compass text{
  fill:#5b4c75;font-weight:900;font-size:15px;text-anchor:middle;
}
.map-scale path{stroke:#5c4b3b;stroke-width:3}
.map-scale text{
  fill:#5c4b3b;font-size:10px;font-weight:900;letter-spacing:.14em;
}
.map-marker{transform-box:fill-box;transform-origin:center}
.map-marker-halo{
  fill:#6d4f8b !important;
  opacity:.14;
  stroke:none !important;
  animation:mapPulse 2.8s ease-in-out infinite;
}
.map-marker circle:first-of-type + circle{
  fill:#4f3b67;
  stroke:#fff8e8;
  stroke-width:6;
  filter:drop-shadow(0 6px 7px rgba(45,31,56,.30));
  transition:transform .22s ease, fill .22s ease, stroke-width .22s ease;
}
.map-marker .map-marker-core{
  fill:#f6dc91;
  stroke:#fff8e8;
  stroke-width:1;
}
.map-marker text{
  font-size:21px;
  fill:#2d2825;
  stroke:#f7edda;
  stroke-width:7;
  transition:fill .22s ease;
}
.map-marker:hover .map-marker-halo,
.map-marker:focus .map-marker-halo{opacity:.28}
.map-marker:hover circle:first-of-type + circle,
.map-marker:focus circle:first-of-type + circle{
  fill:#7b5a9d;
  transform:scale(1.18);
  stroke-width:7;
}
.map-marker:hover text,
.map-marker:focus text{fill:#4f3b67}
@keyframes mapPulse{
  0%,100%{transform:scale(.92);opacity:.10}
  50%{transform:scale(1.10);opacity:.22}
}
.meso-map-legend{
  align-items:center;
  background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(247,240,228,.78));
}
.meso-map-legend-rivers{
  color:#557b8d;
  font-weight:700;
}
@media(max-width:760px){
  .meso-map-wrap{padding:8px}
  .meso-map-svg{min-height:520px}
  .map-title-cartouche{display:none}
  .map-compass{transform:translate(1020px,650px) scale(.85)}
  .map-marker text{font-size:19px}
}


/* =========================================
   START DE CURSUS — betere leesbaarheid
   ========================================= */
.site-header .header-cta,
.site-header a.header-cta,
a.header-cta,
.start-course-button{
  background:#735a9a;
  color:#ffffff !important;
  text-shadow:0 1px 1px rgba(45,30,65,.25);
  box-shadow:0 8px 20px rgba(91,76,117,.22);
}
.site-header .header-cta:hover,
.site-header a.header-cta:hover,
a.header-cta:hover,
.start-course-button:hover{
  background:#8066a8;
  color:#ffffff !important;
}


/* =========================================
   START DE CURSUS — witte knop
   ========================================= */
.site-header .header-cta,
.site-header a.header-cta,
a.header-cta,
.start-course-button{
  background:#ffffff !important;
  color:#4f3b67 !important;
  text-shadow:none !important;
  border:1px solid rgba(79,59,103,.18);
  box-shadow:0 8px 20px rgba(45,35,55,.12);
}
.site-header .header-cta:hover,
.site-header a.header-cta:hover,
a.header-cta:hover,
.start-course-button:hover{
  background:#f4f0f8 !important;
  color:#3f2f54 !important;
  box-shadow:0 10px 24px rgba(79,59,103,.18);
}


/* =========================================
   VANDAAG IN MESOPOTAMIË — dynamisch blok
   ========================================= */
.today-mesopotamia{
  padding:42px 0 56px;
  background:
    radial-gradient(circle at 14% 25%, rgba(255,255,255,.75), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(103,78,139,.13), transparent 28%),
    linear-gradient(135deg,#e8dece 0%,#f6f2eb 48%,#e5d8c7 100%);
}
.today-mesopotamia-inner{
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:42px;
  align-items:center;
}
.today-mesopotamia-intro h2{
  margin:10px 0 16px;
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:1.05;
  color:#2f2b38;
}
.today-mesopotamia-intro p{
  max-width:520px;
  font-size:1.08rem;
  line-height:1.75;
  color:#5d5863;
}
.today-card{
  position:relative;
  overflow:hidden;
  padding:34px 38px 36px;
  border:1px solid rgba(79,59,103,.16);
  border-radius:26px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(247,243,249,.88));
  box-shadow:0 24px 60px rgba(65,49,82,.15), inset 0 1px 0 rgba(255,255,255,.92);
}
.today-card:before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-85px;
  top:-85px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(117,88,158,.18),rgba(117,88,158,0) 70%);
  pointer-events:none;
}
.today-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.today-icon{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#5a456f,#80649b);
  color:#fff6dc;
  font-size:1.6rem;
  box-shadow:0 10px 22px rgba(79,59,103,.23);
}
.today-type{
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  color:#665277;
  text-transform:uppercase;
}
.today-sun{
  margin-left:auto;
  font-size:1.4rem;
  color:#c89c54;
  opacity:.9;
}
.today-card h3{
  margin:0 0 14px;
  font-size:clamp(1.55rem,3vw,2.3rem);
  line-height:1.16;
  color:#31293d;
}
.today-card p{
  margin:0 0 24px;
  max-width:720px;
  font-size:1.04rem;
  line-height:1.75;
  color:#57515d;
}
.today-link{
  display:inline-flex;
  align-items:center;
  padding:13px 20px;
  border-radius:999px;
  background:#5c4674;
  color:#fff !important;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 9px 18px rgba(74,54,94,.18);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.today-link:hover{
  background:#745a92;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(74,54,94,.24);
}
@media(max-width:820px){
  .today-mesopotamia{padding:34px 0 42px}
  .today-mesopotamia-inner{
    width:min(100% - 32px,680px);
    grid-template-columns:1fr;
    gap:26px;
  }
  .today-card{padding:28px 24px 30px}
}


/* =========================================
   V133 — START DE CURSUS: WITTE KNOP
   Betere leesbaarheid in de hoofdnavigatie
   ========================================= */
.site-header .nav-cta,
.site-header .header-cta,
.site-header .button-cta,
.site-header .primary-cta,
.site-header .menu-cta,
.site-header .start-course-button,
.site-header a[href*="/lessen"],
.site-header a[href*="/cursus"],
.main-navigation a[href*="/lessen"],
.main-navigation a[href*="/cursus"],
.primary-navigation a[href*="/lessen"],
.primary-navigation a[href*="/cursus"]{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#4b365f !important;
  -webkit-text-fill-color:#4b365f !important;
  text-shadow:none !important;
  border:1px solid rgba(75,54,95,.18) !important;
  box-shadow:0 6px 18px rgba(55,40,70,.12) !important;
}

.site-header .nav-cta:hover,
.site-header .header-cta:hover,
.site-header .button-cta:hover,
.site-header .primary-cta:hover,
.site-header .menu-cta:hover,
.site-header .start-course-button:hover,
.site-header a[href*="/lessen"]:hover,
.site-header a[href*="/cursus"]:hover,
.main-navigation a[href*="/lessen"]:hover,
.main-navigation a[href*="/cursus"]:hover,
.primary-navigation a[href*="/lessen"]:hover,
.primary-navigation a[href*="/cursus"]:hover{
  background:#f7f3fa !important;
  background-color:#f7f3fa !important;
  color:#3f2d52 !important;
  -webkit-text-fill-color:#3f2d52 !important;
  text-shadow:none !important;
}


/* =========================================
   V134 — VERKEN MESOPOTAMIË
   Hoofdingang naar de Kennisbank
   ========================================= */
.explore-mesopotamia{
  position:relative;
  overflow:hidden;
  padding:78px 0 82px;
  background:
    radial-gradient(circle at 8% 8%, rgba(255,255,255,.78), transparent 25%),
    radial-gradient(circle at 93% 82%, rgba(92,70,116,.18), transparent 29%),
    linear-gradient(135deg,#d9cfbf 0%,#f2ede5 48%,#ddd2c3 100%);
}
.explore-mesopotamia:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(88,69,103,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(88,69,103,.08) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
}
.explore-mesopotamia-inner{
  position:relative;
  z-index:1;
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
}
.explore-mesopotamia-heading{
  max-width:760px;
  margin-bottom:34px;
}
.explore-mesopotamia-heading h2{
  margin:10px 0 15px;
  color:#2f2938;
  font-size:clamp(2.3rem,5vw,4.35rem);
  line-height:1;
}
.explore-mesopotamia-heading p{
  margin:0;
  color:#5b5660;
  font-size:1.1rem;
  line-height:1.8;
}
.explore-mesopotamia-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
}
.explore-card{
  position:relative;
  min-height:286px;
  padding:28px 26px 26px;
  overflow:hidden;
  border:1px solid rgba(76,58,94,.14);
  border-radius:24px;
  background:rgba(255,255,255,.76);
  color:#312a3b;
  text-decoration:none;
  box-shadow:0 15px 35px rgba(58,43,72,.10);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.explore-card:before{
  content:"";
  position:absolute;
  width:145px;
  height:145px;
  right:-58px;
  top:-58px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(101,75,134,.20),rgba(101,75,134,0) 68%);
  transition:transform .3s ease;
}
.explore-card:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,.94);
  border-color:rgba(82,60,109,.28);
  box-shadow:0 24px 48px rgba(58,43,72,.18);
}
.explore-card:hover:before{transform:scale(1.2)}
.explore-cities{grid-column:span 2}
.explore-time{grid-column:span 2}
.explore-gods{grid-column:span 2}
.explore-writing{grid-column:span 3}
.explore-life{grid-column:span 3}
.explore-card-number{
  display:block;
  margin-bottom:20px;
  color:#897d91;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
}
.explore-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  margin-bottom:20px;
  border-radius:20px;
  background:linear-gradient(135deg,#f5f0f8,#e3d8ed);
  color:#5a4372;
  font-size:2rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.explore-gods .explore-symbol,
.explore-writing .explore-symbol{
  font-family:"Noto Sans Cuneiform","Segoe UI Symbol","Noto Sans",sans-serif;
}
.explore-card h3{
  margin:0 0 10px;
  color:#30283a;
  font-size:1.45rem;
  line-height:1.2;
}
.explore-card p{
  margin:0 0 20px;
  color:#625b67;
  line-height:1.65;
}
.explore-arrow{
  position:absolute;
  left:26px;
  bottom:24px;
  color:#5b4375;
  font-weight:900;
  font-size:.9rem;
}
.explore-mesopotamia-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:30px;
  padding:18px 22px;
  border-radius:16px;
  background:rgba(255,255,255,.45);
  border:1px solid rgba(78,59,95,.12);
  color:#625b67;
}
.explore-mesopotamia-footer a{
  color:#543c6d;
  font-weight:900;
  text-decoration:none;
}
.explore-mesopotamia-footer a:hover{text-decoration:underline}
@media(max-width:900px){
  .explore-mesopotamia{padding:58px 0 62px}
  .explore-mesopotamia-grid{grid-template-columns:repeat(2,1fr)}
  .explore-cities,.explore-time,.explore-gods,.explore-writing,.explore-life{grid-column:span 1}
}
@media(max-width:620px){
  .explore-mesopotamia-inner{width:min(100% - 30px,620px)}
  .explore-mesopotamia-grid{grid-template-columns:1fr}
  .explore-card{min-height:250px}
  .explore-cities,.explore-time,.explore-gods,.explore-writing,.explore-life{grid-column:span 1}
  .explore-mesopotamia-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================
   V135 — VANDAAG IN MESOPOTAMIË UITGEBREID
   100 onderwerpen in meerdere rubrieken
   ========================================= */
.today-categories{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.today-categories span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 11px;
  border:1px solid rgba(77,59,94,.13);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  color:#62576b;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
}
.today-card{
  position:relative;
}
.today-card .today-type{
  letter-spacing:.12em;
}
.today-card .today-icon{
  font-family:"Noto Sans Cuneiform","Segoe UI Symbol","Noto Sans",sans-serif;
}
@media(max-width:620px){
  .today-categories{gap:7px}
  .today-categories span{font-size:.72rem;padding:7px 9px}
}

/* V136 DIGITAAL MUSEUM */
.museum-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.museum-hero{padding:110px 0;background:radial-gradient(circle at 82% 20%,rgba(113,83,138,.18),transparent 30%),linear-gradient(135deg,#eee7dc,#d8c6b1);position:relative}.museum-kicker{font-size:.78rem;font-weight:800;letter-spacing:.16em;color:#65516f;text-transform:uppercase}.museum-hero h1{font-size:clamp(3rem,7vw,5.8rem);line-height:1;margin:18px 0;color:#282536}.museum-hero p{font-size:1.2rem;line-height:1.8;max-width:850px;color:#56505a}.museum-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.museum-intro{padding:70px 0;background:#f7f3ec}.museum-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.museum-intro h2,.museum-head h2,.museum-future h2{font-size:clamp(2rem,4vw,3.2rem);margin:12px 0;color:#292535}.museum-intro p,.museum-head p{font-size:1.08rem;line-height:1.9;color:#625c63}.museum-galleries{padding:80px 0;background:#eae2d6}.museum-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:34px}.museum-head>p{max-width:480px}.museum-category-grid,.museum-object-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.museum-category-card,.museum-object-card{border:1px solid rgba(76,58,91,.13);background:rgba(255,255,255,.72);border-radius:22px;padding:28px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:.25s;box-shadow:0 12px 30px rgba(66,48,40,.07)}.museum-category-card{min-height:230px}.museum-category-card:hover,.museum-category-card.is-active,.museum-object-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 20px 45px rgba(77,59,94,.15)}.museum-category-card>span{font-size:2.4rem;margin-bottom:18px}.museum-category-card strong,.museum-object-card strong{font-family:Georgia,serif;font-size:1.35rem;color:#302a3b}.museum-category-card small,.museum-object-card small{color:#6b6470;margin-top:8px}.museum-category-card b,.museum-object-card b{margin-top:auto;padding-top:24px;color:#5c4670;font-size:.86rem}.museum-all{background:linear-gradient(135deg,#51405f,#6d577f)}.museum-all strong,.museum-all small,.museum-all b{color:#fff}.museum-collection{padding:90px 0;background:#f8f6f2}.museum-count{padding:10px 15px;border-radius:999px;background:#ece5f1;color:#604b70;font-weight:800}.museum-object-card{min-height:300px}.museum-object-card>span{font-size:3.7rem;margin:28px 0 22px;font-family:'Noto Sans Cuneiform','Segoe UI Symbol',sans-serif}.museum-object-card em{color:#746d76;font-style:normal;margin-top:10px}.museum-future{padding:70px 0;background:linear-gradient(120deg,#302a3a,#4a3b56);color:#fff}.museum-future>.museum-wrap{display:grid;grid-template-columns:80px 1fr auto;gap:28px;align-items:center}.museum-future>div>span{font-size:3.5rem}.museum-future h2{color:#fff;font-size:2rem}.museum-future p{color:#ddd5e0;line-height:1.75}.museum-modal{display:none;position:fixed;inset:0;z-index:99999}.museum-modal.is-open{display:block}.museum-backdrop{position:absolute;inset:0;background:rgba(22,18,28,.72);backdrop-filter:blur(5px)}.museum-panel{position:relative;z-index:2;width:min(760px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;background:#fbf8f2;border-radius:28px;padding:48px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.museum-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#ece5ef;color:#4c3b59;font-size:1.8rem;cursor:pointer}.museum-modal-icon{font-size:4.4rem;margin-bottom:12px}.museum-panel h2{font-family:Georgia,serif;color:#2e2938;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;margin:10px 0 26px}.museum-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px}.museum-facts>div{padding:16px;border-radius:16px;background:#f0ebe5}.museum-facts span{display:block;color:#746b76;font-size:.75rem;font-weight:800;text-transform:uppercase;margin-bottom:6px}.museum-panel p{font-size:1.08rem;line-height:1.9;color:#56505a}.museum-lock{overflow:hidden}@media(max-width:850px){.museum-category-grid,.museum-object-grid{grid-template-columns:repeat(2,1fr)}.museum-intro-grid{grid-template-columns:1fr;gap:20px}.museum-head{display:block}.museum-future>.museum-wrap{grid-template-columns:60px 1fr}.museum-future .btn{grid-column:1/-1;width:max-content}}@media(max-width:580px){.museum-wrap{width:calc(100% - 28px)}.museum-hero{padding:76px 0}.museum-category-grid,.museum-object-grid,.museum-facts{grid-template-columns:1fr}.museum-head{display:block}.museum-count{display:inline-block;margin-top:18px}.museum-panel{padding:34px 22px}.museum-future>.museum-wrap{grid-template-columns:1fr}.museum-future>div>span{display:none}}
.knowledge-museum-link{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin-top:24px;padding:13px 18px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(77,59,94,.14);color:#4d3b5e;text-decoration:none}.knowledge-museum-link>span{font-size:1.8rem}.knowledge-museum-link strong{display:block;font-family:Georgia,serif}.knowledge-museum-link small{display:block;margin-top:3px;color:#766d78}

/* V137 verified museum collection expansion */
.museum-real{position:relative;background:linear-gradient(180deg,#fff,#f6f0e8)}.museum-real:after{content:"COLLECTIE";position:absolute;top:16px;right:16px;font-size:.65rem;font-weight:800;letter-spacing:.08em;color:#7a5d3d;background:#eee2cf;padding:5px 8px;border-radius:999px}.museum-source{display:inline-block;margin-top:18px;padding:12px 18px;border-radius:12px;background:#5c4670;color:#fff;text-decoration:none;font-weight:700}.museum-source:hover{filter:brightness(1.08)}

/* V138: museumbron-indicator op objectkaart */
.museum-card-source{display:inline-flex;align-items:center;gap:6px;color:#5b3f70!important}.museum-object-card[data-has-source="1"]{border-color:rgba(92,70,112,.28)}.museum-object-card[data-has-source="1"]:before{content:"Museumbron beschikbaar";position:absolute;left:16px;top:16px;background:#eee2f4;color:#5b3f70;border:1px solid rgba(92,70,112,.14);padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.04em}.museum-object-card[data-has-source="1"] small{padding-top:28px}

/* =========================================
   V140 — MESOPOTAMISCH UITSPRAAK LAB
   ========================================= */
.pronunciation-wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.pronunciation-hero{padding:110px 0 100px;background:radial-gradient(circle at 82% 22%,rgba(136,107,165,.22),transparent 28%),linear-gradient(135deg,#f1ede6,#e1d7ca)}
.pronunciation-kicker{color:#654f74;font-size:.76rem;letter-spacing:.16em;font-weight:900;text-transform:uppercase}
.pronunciation-hero h1{font-size:clamp(3.2rem,7vw,6.4rem);line-height:.98;max-width:950px;margin:18px 0;color:#282536}
.pronunciation-hero p{max-width:850px;font-size:1.18rem;line-height:1.9;color:#5b5660}
.pronunciation-tool-section{padding:78px 0;background:#f8f5ef}
.pronunciation-tool-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:28px}
.pronunciation-tool-card,.pronunciation-method-card{background:rgba(255,255,255,.76);border:1px solid rgba(83,65,101,.13);border-radius:28px;padding:42px;box-shadow:0 16px 45px rgba(65,49,42,.08)}
.pronunciation-icon{display:block;font-size:2.6rem;margin-bottom:18px}
.pronunciation-tool-card h2,.pronunciation-method-card h2,.pronunciation-section-head h2{font-size:clamp(2rem,4vw,3rem);margin:10px 0 16px;color:#2c2737}
.pronunciation-tool-card p,.pronunciation-method-card p{color:#635d66;line-height:1.85}
.pronunciation-search-row{display:flex;gap:10px;margin-top:26px}
.pronunciation-search-row input{flex:1;min-width:0;border:1px solid rgba(83,65,101,.2);border-radius:15px;padding:16px 18px;background:#fff;color:#2f2a38;font:inherit;font-size:1.05rem}
.pronunciation-search-row button{border:0;border-radius:15px;padding:0 24px;background:#5a4370;color:#fff;font:inherit;font-weight:900;cursor:pointer}
.pronunciation-search-row button:hover{background:#6a4f84}
.meso-result{display:none;margin-top:18px;padding:20px;border-radius:18px;background:#eee8f0;border:1px solid rgba(91,70,112,.13)}
.meso-result.is-visible{display:block}
.meso-result strong{display:block;font-family:Georgia,serif;font-size:1.5rem;color:#302a3b}
.meso-result .meso-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.meso-result .meso-meta span{padding:5px 9px;border-radius:999px;background:#fff;color:#66586e;font-size:.78rem;font-weight:800}
.meso-audio{width:100%;margin-top:10px}.pronunciation-note{font-size:.88rem;margin-top:14px}.pronunciation-note em{font-family:Georgia,serif}
.pronunciation-method-card{background:linear-gradient(160deg,#3b3045,#554162);color:#fff}.pronunciation-method-card .pronunciation-kicker{color:#d8c7e5}.pronunciation-method-card h2{color:#fff}.pronunciation-method-card p{color:#e2d9e6}
.pronunciation-list-section{padding:84px 0;background:#eae3d8}.pronunciation-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.pronunciation-section-head p{max-width:420px;color:#645e66;line-height:1.8}
.pronunciation-word-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pronunciation-word-card{position:relative;text-align:left;border:1px solid rgba(83,65,101,.12);background:rgba(255,255,255,.72);border-radius:20px;padding:22px;min-height:175px;cursor:pointer;transition:.2s;font:inherit}.pronunciation-word-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 18px 36px rgba(73,57,53,.1)}.pronunciation-word-card strong{display:block;font-family:Georgia,serif;font-size:1.55rem;color:#302a3a;margin:10px 0 7px}.pronunciation-word-card small{display:block;color:#6b6470;line-height:1.5}.pronunciation-word-card b{display:block;margin-top:18px;color:#5b4271;font-size:.82rem}.pronunciation-lang{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#765d87}
@media(max-width:900px){.pronunciation-tool-grid{grid-template-columns:1fr}.pronunciation-word-grid{grid-template-columns:repeat(2,1fr)}.pronunciation-section-head{display:block}}
@media(max-width:600px){.pronunciation-wrap{width:calc(100% - 30px)}.pronunciation-hero{padding:78px 0}.pronunciation-tool-card,.pronunciation-method-card{padding:28px 20px}.pronunciation-search-row{flex-direction:column}.pronunciation-search-row button{padding:16px}.pronunciation-word-grid{grid-template-columns:1fr}}

/* V141 — zichtbare ingang naar Uitspraak Lab */
.spa-pronunciation-home{padding:72px 0;background:linear-gradient(135deg,#ede7f0,#f7f4ee)}
.spa-pronunciation-home-inner{width:min(1120px,calc(100% - 48px));margin:auto;padding:42px 46px;border:1px solid rgba(83,65,101,.15);border-radius:30px;background:rgba(255,255,255,.68);display:flex;gap:32px;align-items:center;justify-content:space-between;box-shadow:0 18px 48px rgba(65,49,42,.08)}
.spa-pronunciation-home h2{font-size:clamp(2rem,4vw,3.4rem);margin:10px 0 14px;color:#2d2738}.spa-pronunciation-home p{max-width:760px;color:#5f5865;line-height:1.8;margin:0}.spa-pronunciation-home .btn{white-space:nowrap}
@media(max-width:760px){.spa-pronunciation-home-inner{width:calc(100% - 30px);padding:30px 24px;display:block}.spa-pronunciation-home .btn{margin-top:22px;display:inline-flex}}

/* =========================================
   V142 — HOOFDMENU HERSTELD EN COMPACTER
   Voorkomt dat menu-items op desktop afbreken
   ========================================= */
.site-header{
  overflow:visible;
}
.site-header .header-inner{
  max-width:1280px;
  width:100%;
  min-height:92px;
  padding:12px 28px;
  gap:18px;
  justify-content:flex-start;
}
.site-header .brand{
  flex:0 0 auto;
  min-width:240px;
}
.site-header .brand-title{
  white-space:nowrap;
}
.site-header .brand-sub{
  white-space:nowrap;
}
.site-header .main-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:14px;
  line-height:1.2;
}
.site-header .main-nav li{
  flex:0 0 auto;
  margin:0;
  padding:0;
  list-style:none;
}
.site-header .main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 10px;
  white-space:nowrap;
  border-radius:12px;
  line-height:1.2;
}
.site-header .main-nav a:hover{
  background:rgba(115,90,155,.07);
}
.site-header .main-nav .btn,
.site-header .main-nav a.btn,
.site-header .main-nav a[href*="/lessen"],
.site-header .main-nav a[href*="/cursus"]{
  flex:0 0 auto;
  min-height:52px;
  padding:13px 22px !important;
  margin-left:6px;
  border-radius:999px !important;
  white-space:nowrap !important;
}

/* Op middelgrote schermen blijft het menu netjes leesbaar. */
@media (max-width:1180px) and (min-width:851px){
  .site-header .header-inner{
    padding:11px 18px;
    gap:10px;
  }
  .site-header .brand{min-width:210px;}
  .site-header .brand-title{font-size:17px;}
  .site-header .main-nav{gap:0;font-size:13px;}
  .site-header .main-nav a{padding:9px 7px;}
  .site-header .main-nav .btn,
  .site-header .main-nav a.btn,
  .site-header .main-nav a[href*="/lessen"],
  .site-header .main-nav a[href*="/cursus"]{
    padding:12px 16px !important;
    margin-left:3px;
  }
}

/* Schakel iets eerder naar het mobiele menu, voordat er afbreking kan ontstaan. */
@media (max-width:850px){
  .site-header .header-inner{
    min-height:76px;
  }
  .site-header .brand{min-width:0;}
}

/* V143 — Uitspraak Lab: taalherkenning en zoekverbeteringen */
.pronunciation-language-choice{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.meso-language-button{border:1px solid rgba(83,65,101,.16);background:#f4f0f6;color:#4f3b61;border-radius:999px;padding:10px 15px;font:inherit;font-weight:800;font-size:.88rem;cursor:pointer;transition:.18s}
.meso-language-button:hover{transform:translateY(-1px);background:#ebe3f0}.meso-language-button.is-active{background:#5a4370;color:#fff;border-color:#5a4370;box-shadow:0 8px 18px rgba(90,67,112,.18)}
.meso-search-help{margin:11px 2px 0;color:#716a75;font-size:.9rem}
.meso-detected{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;margin-bottom:16px;border-radius:13px;background:#f0ebf3;color:#5b4271;font-size:.86rem}.meso-detected strong{font-size:.9rem}
.meso-result-word{display:block;font-family:Georgia,serif;font-size:2.15rem;color:#2e2738;margin:2px 0 8px}.meso-match-note{margin:0 0 14px;color:#655d69}.meso-match-note strong{font-size:inherit}
.meso-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.meso-suggestion{border:1px solid rgba(83,65,101,.14);background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;font:inherit;transition:.18s}.meso-suggestion:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(65,49,42,.08)}.meso-suggestion span,.meso-suggestion strong,.meso-suggestion small{display:block}.meso-suggestion span{color:#765d87;font-size:.68rem;font-weight:900;margin-bottom:5px}.meso-suggestion strong{color:#302a3a;font-family:Georgia,serif;font-size:1.05rem}.meso-suggestion small{color:#6b6470;margin-top:3px}
@media(max-width:600px){.pronunciation-language-choice{display:grid;grid-template-columns:1fr}.meso-language-button{width:100%}.meso-detected{display:block}.meso-detected strong{display:block;margin-top:4px}.meso-suggestions{grid-template-columns:1fr}}


/* V144 — Uitspraak Lab: langzaam en normaal afspelen */
.meso-speed-panel{margin:18px 0 12px;padding:16px 17px;border:1px solid rgba(83,65,101,.13);border-radius:16px;background:rgba(255,255,255,.74);display:flex;align-items:center;justify-content:space-between;gap:18px}
.meso-speed-panel>div:first-child strong{display:block;color:#3a3044;font-family:Georgia,serif;font-size:1.04rem}
.meso-speed-panel>div:first-child small{display:block;margin-top:3px;color:#716976;line-height:1.45}
.meso-speed-actions{display:flex;gap:8px;flex-wrap:wrap}
.meso-speed-button{border:1px solid rgba(83,65,101,.16);background:#f4f0f6;color:#4f3b61;border-radius:999px;padding:10px 13px;font:inherit;font-weight:800;font-size:.84rem;cursor:pointer;transition:.18s;white-space:nowrap}
.meso-speed-button span{opacity:.72;font-size:.78rem;margin-left:4px}
.meso-speed-button:hover{transform:translateY(-1px);background:#ebe3f0}
.meso-speed-button.is-active{background:#5a4370;color:#fff;border-color:#5a4370;box-shadow:0 8px 18px rgba(90,67,112,.18)}
@media(max-width:700px){.meso-speed-panel{display:block}.meso-speed-actions{margin-top:12px}.meso-speed-button{flex:1;text-align:center}}


/* V145 — Uitspraak Lab: interactieve uitspraakgids */
.pronunciation-sounds-section{padding:88px 0;background:linear-gradient(135deg,#f3eef4,#e6ddd2)}
.pronunciation-sounds-head{align-items:end}
.pronunciation-sound-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.pronunciation-sound-card{appearance:none;width:100%;min-height:245px;border:1px solid rgba(83,65,101,.14);background:rgba(255,255,255,.8);border-radius:22px;padding:22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;font:inherit;color:#2f2937;box-shadow:0 12px 30px rgba(65,49,42,.06);transition:.2s}
button.pronunciation-sound-card{cursor:pointer}
button.pronunciation-sound-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 20px 40px rgba(73,57,53,.12)}
.pronunciation-sound-card.is-info{background:rgba(249,247,243,.72)}
.sound-symbol{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:64px;padding:0 14px;border-radius:18px;background:#5a4370;color:#fff;font-family:Georgia,serif;font-size:2rem;line-height:1;margin-bottom:18px}
.pronunciation-sound-card strong{font-family:Georgia,serif;font-size:1.18rem;color:#302a3b}
.pronunciation-sound-card small{display:block;margin-top:9px;color:#665f69;line-height:1.55;font-size:.88rem}
.pronunciation-sound-card b{margin-top:auto;padding-top:18px;color:#5a4370;font-size:.8rem}
.pronunciation-sound-card.is-info b{color:#776d79}
.pronunciation-guide-note{margin-top:24px;padding:18px 22px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(83,65,101,.11);color:#625b65;line-height:1.75}
.pronunciation-guide-note strong{color:#44354f}
@media(max-width:1050px){.pronunciation-sound-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pronunciation-sound-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pronunciation-sound-card{min-height:225px;padding:18px}.sound-symbol{min-width:56px;height:56px;font-size:1.7rem}}
@media(max-width:440px){.pronunciation-sound-grid{grid-template-columns:1fr}}

/* V146 — Uitspraak Lab: voorbeeldzinnen in context */
.pronunciation-sentences-section{padding:88px 0;background:#fffdf9}
.pronunciation-sentences-head{align-items:end}
.pronunciation-sentence-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 22px}
.pronunciation-sentence-tab{border:1px solid rgba(83,65,101,.15);background:#f5f1f6;color:#4f3b61;border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer;transition:.18s}
.pronunciation-sentence-tab:hover{transform:translateY(-1px);background:#ece4f0}.pronunciation-sentence-tab.is-active{background:#5a4370;color:#fff;border-color:#5a4370;box-shadow:0 8px 18px rgba(90,67,112,.16)}
.pronunciation-sentence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pronunciation-sentence-card{padding:24px;border:1px solid rgba(83,65,101,.12);border-radius:22px;background:linear-gradient(180deg,#fff,#faf7f3);box-shadow:0 12px 30px rgba(65,49,42,.055)}
.pronunciation-sentence-card[hidden]{display:none!important}
.pronunciation-sentence-card h3{font-family:Georgia,serif;font-size:1.65rem;color:#332b3c;margin:12px 0 6px}.sentence-reading{margin:0;color:#80698d;font-weight:800;letter-spacing:.02em}.sentence-translation{margin:18px 0 15px;color:#5f5864;line-height:1.6}.sentence-translation strong{color:#332b3c}.sentence-word-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sentence-word-buttons button{border:1px solid rgba(90,67,112,.16);background:#eee7f1;color:#4e385f;border-radius:10px;padding:9px 12px;font:inherit;font-weight:850;cursor:pointer;transition:.18s}.sentence-word-buttons button:hover{background:#5a4370;color:#fff;transform:translateY(-1px)}.sentence-word-info{padding:9px 12px;border-radius:10px;background:#f4f0ea;color:#746c73;font-size:.88rem}.sentence-note{margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(83,65,101,.1);color:#766f79;font-size:.9rem;line-height:1.55}.pronunciation-sentence-guide{margin-top:24px;padding:18px 22px;border-radius:18px;background:#f2edf3;border:1px solid rgba(83,65,101,.11);color:#625b65;line-height:1.75}.pronunciation-sentence-guide strong{color:#44354f}
@media(max-width:760px){.pronunciation-sentence-grid{grid-template-columns:1fr}.pronunciation-sentence-card{padding:20px}.pronunciation-sentences-section{padding:70px 0}}


/* Kennisbank – verbeterde ontdeklinks */
.knowledge-actions-upgraded{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:32px;max-width:1180px}
.knowledge-action{min-height:112px;display:flex;align-items:center;gap:13px;padding:18px 17px;border-radius:22px;background:rgba(255,255,255,.58);border:1px solid rgba(77,59,94,.14);box-shadow:0 10px 26px rgba(55,41,70,.07);color:#4d3b5e;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border-left:4px solid rgba(92,72,116,.18)}
.knowledge-action:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(55,41,70,.13);background:rgba(255,255,255,.82)}
.knowledge-action-primary{background:#514064;color:#fff;border-color:#514064;border-left-color:#7c65a0}.knowledge-action-primary:hover{background:#5b4970}
.knowledge-action-museum{border-left-color:#a06b3d}.knowledge-action-texts{border-left-color:#6d5f8d}
.knowledge-action-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:rgba(81,64,100,.09);font-size:1.35rem}.knowledge-action-primary .knowledge-action-icon{background:rgba(255,255,255,.15)}
.knowledge-action strong{display:block;font-size:.96rem;line-height:1.2}.knowledge-action small{display:block;margin-top:6px;font-size:.78rem;line-height:1.35;opacity:.78}
@media(max-width:1100px){.knowledge-actions-upgraded{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.knowledge-actions-upgraded{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.knowledge-action{min-height:96px;padding:15px 13px;border-radius:18px}.knowledge-action-icon{width:38px;height:38px;flex-basis:38px;font-size:1.15rem}}
@media(max-width:520px){.knowledge-actions-upgraded{grid-template-columns:1fr}.knowledge-action{min-height:78px}.knowledge-action small{font-size:.8rem}}
/* V150 — Uitspraak Lab: uitgebreide woordenbank */
.meso-audio-pending{margin-top:16px;padding:18px 20px;border:1px dashed rgba(74,55,96,.35);border-radius:18px;background:rgba(255,255,255,.62)}
.meso-audio-pending strong{display:block;color:#4a3760;margin-bottom:6px}.meso-audio-pending p{margin:0;color:#5d5964}
.pronunciation-word-card b{font-size:.82rem}
/* V150 — Uitspraak Lab: uitgebreide woordenbank */
.meso-audio-pending{margin-top:16px;padding:18px 20px;border:1px dashed rgba(74,55,96,.35);border-radius:18px;background:rgba(255,255,255,.62)}
.meso-audio-pending strong{display:block;color:#4a3760;margin-bottom:6px}.meso-audio-pending p{margin:0;color:#5d5964}
.pronunciation-word-card b{font-size:.82rem}

/* V152 Contactpagina */
.contact-page{max-width:1180px;margin:0 auto;padding:76px 32px 90px}.contact-hero{max-width:760px;margin-bottom:42px}.contact-page .eyebrow{letter-spacing:.18em;font-size:.78rem;font-weight:800;color:var(--purple,#5b4a74);margin:0 0 12px}.contact-hero h1{font-size:clamp(3rem,7vw,5.7rem);line-height:.95;margin:0 0 20px}.contact-hero p{font-size:1.18rem;line-height:1.8}.contact-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:28px;align-items:start}.contact-card{background:rgba(255,255,255,.72);border:1px solid rgba(73,58,93,.14);border-radius:26px;padding:38px;box-shadow:0 18px 50px rgba(64,49,83,.08)}.contact-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e8e0f2;font-size:1.7rem;margin-bottom:14px}.contact-card h2{margin:0 0 14px;font-size:1.8rem}.contact-email{display:inline-block;font-size:1.1rem;font-weight:800;color:#4e3d68;word-break:break-word;margin:6px 0 18px}.contact-note{opacity:.78;line-height:1.7}.contact-form{display:grid;gap:17px}.contact-form label{display:grid;gap:8px;font-weight:700;color:#332c3d}.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(73,58,93,.2);border-radius:13px;background:#fff;padding:13px 15px;font:inherit;color:#2f2937}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(125,101,161,.22);border-color:#7d65a1}.contact-submit{justify-self:start;padding:14px 24px}.contact-message{border-radius:14px;padding:14px 16px;margin:0 0 18px;font-weight:700}.contact-message.success{background:#e9f5ed;color:#245c35}.contact-message.error{background:#faecec;color:#8a2e2e}.contact-bottom{margin-top:34px;padding:34px 38px;border-radius:26px;background:linear-gradient(135deg,#4c3b63,#66507f);color:#fff}.contact-bottom h2{margin:0 0 10px}.contact-bottom p{max-width:720px;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px}.contact-links a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}@media(max-width:820px){.contact-page{padding:48px 20px 70px}.contact-grid{grid-template-columns:1fr}.contact-card{padding:28px}.contact-bottom{padding:28px}.contact-hero h1{font-size:3.4rem}}

/* V155 — Ruimte tussen logo en hoofdnavigatie */
@media (min-width: 1001px){
  .header-inner{
    justify-content:flex-start;
    gap:0;
  }
  .brand{
    flex:0 0 auto;
    margin-right:52px;
  }
  .main-nav{
    margin-left:0;
    flex:1 1 auto;
    justify-content:flex-start;
    gap:18px;
  }
  .main-nav li{white-space:nowrap;}
  .main-nav a{display:block;padding:8px 0;}
}
/* =========================================
   INTERACTIEVE KAART — ONDERZOEKSLAGEN V164
   ========================================= */
.meso-map-layers{display:grid;grid-template-columns:1.1fr 2fr auto;gap:22px;align-items:center;padding:22px 30px;background:linear-gradient(135deg,#f8f4ec,#ece3d3);border-bottom:1px solid rgba(67,55,48,.12)}
.meso-map-layer-intro strong{display:block;margin-top:6px;color:#322a38;font-family:Georgia,serif;font-size:1.05rem}.meso-map-layer-grid{display:flex;flex-wrap:wrap;gap:9px 12px}.meso-map-layer-grid label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(91,76,117,.13);border-radius:999px;background:rgba(255,255,255,.68);color:#4a4039;font-size:.82rem;font-weight:700;cursor:pointer;transition:.18s ease}.meso-map-layer-grid label:hover{transform:translateY(-1px);box-shadow:0 6px 15px rgba(50,40,35,.08)}.meso-map-layer-grid input{accent-color:#5b4c75}.meso-map-layer-grid span{color:#6d4f8b}.meso-map-period{display:grid;gap:6px;min-width:180px}.meso-map-period label{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#5b4c75;text-transform:uppercase}.meso-map-period select{border:1px solid rgba(91,76,117,.18);border-radius:10px;background:#fffaf0;color:#3e3446;padding:9px 10px;font:inherit;font-size:.84rem}.map-layer{transition:opacity .25s ease}.map-layer.is-hidden{opacity:0;pointer-events:none}.map-marker{transition:opacity .2s ease}.map-marker.is-filtered-out{opacity:0;pointer-events:none}.map-trade-route{fill:none;stroke:#9c613b;stroke-width:5;stroke-linecap:round;stroke-dasharray:10 10;opacity:.78;filter:drop-shadow(0 2px 2px rgba(80,45,20,.18))}.map-arch-site{cursor:pointer}.map-arch-site rect{fill:#d9b760;stroke:#624f2f;stroke-width:2;filter:drop-shadow(0 3px 3px rgba(70,50,30,.2))}.map-arch-site text{font-size:14px;font-weight:800;fill:#4b3d30;paint-order:stroke;stroke:#f6ead3;stroke-width:5;stroke-linejoin:round}.map-arch-site:hover rect,.map-arch-site:focus rect{fill:#b88945;transform:scale(1.15);transform-box:fill-box;transform-origin:center}@media(max-width:980px){.meso-map-layers{grid-template-columns:1fr;gap:14px}.meso-map-period{max-width:320px}}


/* =========================================
   INTERACTIEVE KAART — TIJDLIJN V165
   ========================================= */
.meso-map-timeline{padding:22px 30px 18px;background:linear-gradient(135deg,#322a38,#514366);color:#fff7eb;border-bottom:1px solid rgba(255,255,255,.1)}
.meso-map-timeline-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.meso-map-timeline-head strong{display:block;margin-top:5px;font-family:Georgia,serif;font-size:1.15rem}.meso-map-year{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;color:#ead9b0;white-space:nowrap}.meso-map-timeline-controls{display:flex;align-items:center;gap:14px;margin-top:18px}.meso-timeline-play{width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#ead9b0;color:#342b3b;font-weight:900;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.18)}.meso-timeline-play:hover{transform:translateY(-1px)}#mesoTimeline{flex:1;accent-color:#ead9b0;cursor:pointer}.meso-map-timeline-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-left:56px;color:#d8cfe1;font-size:.68rem;font-weight:800;letter-spacing:.02em}.meso-map-timeline-labels span:last-child{text-align:right}.meso-map-timeline p{margin:14px 0 0;max-width:850px;color:#eee7f1;line-height:1.55;font-size:.92rem}.meso-map-svg{transition:filter .4s ease}.meso-map-wrap{position:relative}.meso-map-card:has(#mesoTimeline[value="5"]) .meso-map-svg{filter:saturate(.86) contrast(1.03)}@media(max-width:700px){.meso-map-timeline{padding:18px}.meso-map-timeline-head{align-items:flex-start;flex-direction:column}.meso-map-year{font-size:1rem}.meso-map-timeline-labels{margin-left:0;font-size:.58rem}.meso-map-timeline-labels span{overflow:hidden}.meso-map-timeline-labels span:nth-child(2),.meso-map-timeline-labels span:nth-child(4),.meso-map-timeline-labels span:nth-child(6){text-align:center}.meso-map-timeline p{font-size:.85rem}}


/* =========================================
   V166 — TABLET & TELEFOON HEADER-OPTIMALISATIE
   Voorkomt dat navigatie over het logo loopt.
   ========================================= */
@media (max-width:1180px){
  .site-header .header-inner{
    min-height:76px;
    padding:10px 18px;
    padding-right:250px;
  }
  .site-header .header-inner > .main-nav{display:none !important;}
  .mobile-menu-toggle{display:block !important;position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:90;}
  .spa-header-tools{
    position:absolute;
    right:72px;
    top:50%;
    transform:translateY(-50%);
    z-index:80;
  }
  .spa-header-tools .header-mesopotamia{display:inline-flex !important;}
  .header-account{font-size:11px;padding:8px 10px;}
  .mobile-menu{
    top:76px;
    z-index:2000;
    padding:18px 22px 22px;
  }
  .spa-mobile-account-links{
    display:grid;
    gap:10px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid rgba(73,54,95,.12);
  }
  .spa-mobile-account-links a{
    display:block;
    text-decoration:none;
    font-family:Arial,sans-serif;
    font-weight:800;
    padding:13px 14px;
    border-radius:12px;
  }
  .spa-mobile-mesopotamia{background:#f1e8f6;color:#49365f;}
  .spa-mobile-course{background:#49365f;color:#fff;}
}
@media (min-width:1181px){.spa-mobile-account-links{display:none;}}
@media (max-width:700px){
  .site-header .header-inner{
    min-height:70px;
    padding:9px 12px;
    padding-right:58px;
  }
  .brand-title{font-size:15px;}
  .brand-sub{font-size:9px;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .brand-mark{width:39px;height:39px;font-size:21px;}
  .spa-header-tools{right:64px;gap:5px;}
  .spa-header-tools .header-account{display:none !important;}
  .spa-header-tools .header-mesopotamia{display:none !important;}
  .spa-header-tools > *:not(.header-account){transform:scale(.92);transform-origin:right center;}
  .mobile-menu-toggle{right:10px;}
  .mobile-menu{top:70px;left:0;right:0;max-height:calc(100vh - 70px);overflow:auto;}
}
@media (max-width:390px){
  .brand-title{font-size:14px;}
  .brand-sub{max-width:120px;}
}

/* =========================================
   V167 — TABLET GEBRUIKT HETZELFDE MENU ALS TELEFOON
   Op tablets verdwijnt de volledige navigatie én de accountzone
   uit de header. Alles verschijnt overzichtelijk achter het
   hamburgermenu, net als op een telefoon.
   ========================================= */
@media (max-width:1180px){
  .site-header .header-inner{
    min-height:72px;
    padding:10px 64px 10px 18px;
    position:relative;
  }
  .site-header .header-inner > .main-nav{display:none !important;}
  .site-header .spa-header-tools{display:none !important;}
  .site-header .header-inner > .mobile-menu-toggle{
    display:flex !important;
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    z-index:2100;
  }
  .site-header .mobile-menu{
    top:72px;
    left:0;
    right:0;
    width:100%;
    box-sizing:border-box;
    z-index:2000;
  }
  .site-header .mobile-menu .main-nav,
  .site-header .mobile-menu .mobile-nav{
    display:flex !important;
    flex-direction:column;
    width:100%;
  }
  .site-header .spa-mobile-account-links{display:grid !important;}
}
@media (max-width:700px){
  .site-header .header-inner{
    min-height:70px;
    padding:9px 58px 9px 12px;
  }
  .site-header .mobile-menu{top:70px;}
}

/* =========================================
   V168 — TABLET IN LANDSCAPE
   Veel 11-inch tablets worden in landschapsstand breder dan 1180px.
   Daarom gebruiken touch-apparaten ook in landscape het compacte
   hamburgermenu, terwijl gewone desktop/laptop-schermen behouden blijven.
   ========================================= */
@media (min-width:1181px) and (max-width:1400px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .site-header .header-inner{
    min-height:72px;
    padding:10px 64px 10px 18px;
    position:relative;
  }
  .site-header .header-inner > .main-nav{display:none !important;}
  .site-header .spa-header-tools{display:none !important;}
  .site-header .header-inner > .mobile-menu-toggle{
    display:flex !important;
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    z-index:2100;
  }
  .site-header .mobile-menu{
    top:72px;
    left:0;
    right:0;
    width:100%;
    box-sizing:border-box;
    z-index:2000;
  }
  .site-header .mobile-menu .main-nav,
  .site-header .mobile-menu .mobile-nav{
    display:flex !important;
    flex-direction:column;
    width:100%;
  }
  .site-header .spa-mobile-account-links{display:grid !important;}
}



/* V179 — Google Translate engine stays available without showing its toolbar. */
#google_translate_element {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame {
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  width:0 !important;
}
.goog-te-gadget,
.goog-te-balloon-frame,
.goog-te-menu-frame,
.goog-tooltip,
.goog-text-highlight {
  display:none !important;
}
body { top:0 !important; }
html { margin-top:0 !important; }


/* =========================================
   V179 — TAALKNOP IN HET MOBIELE MENU
   De NL/EN-keuze verhuist op telefoon en tablet naar het
   hamburgermenu, zodat hij altijd bereikbaar blijft.
   ========================================= */
.spa-mobile-language-switcher{display:none;}
@media (max-width:1180px){
  .site-header .spa-mobile-language-switcher{
    display:flex !important;
    align-items:center;
    justify-content:flex-start;
    margin:0 0 2px;
  }
  .site-header .spa-mobile-language-switcher .spa-language-switcher{
    display:flex !important;
    width:max-content;
    font-size:13px;
    box-shadow:none;
    border:1px solid rgba(73,54,95,.16);
    background:#fff;
  }
  .site-header .spa-mobile-language-switcher .spa-language-switcher a,
  .site-header .spa-mobile-language-switcher .spa-lang-label{
    min-height:38px;
    min-width:42px;
    padding:0 12px;
  }
}
@media (max-width:700px){
  .site-header .spa-mobile-language-switcher{
    margin:0 0 8px;
  }
}

/* V179 — extra robuuste onderdrukking van dynamisch toegevoegde Google-balken. */
.goog-te-banner-frame,
iframe.goog-te-banner-frame,
.skiptranslate iframe.goog-te-banner-frame,
body > .skiptranslate{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}
body{top:0 !important;position:static !important;}
html{margin-top:0 !important;}


/* =========================================
   V180 — ALWAYS-VISIBLE LANGUAGE BUTTONS IN MOBILE MENU
   Two direct language links are used here instead of relying on the
   desktop language-switcher. This prevents responsive rules from hiding
   the selector on phones and tablets.
   ========================================= */
.spa-mobile-language-switcher{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:8px;
  width:100%;
  margin:0 0 8px;
  padding:0;
}
.spa-mobile-language-switcher .spa-mobile-lang-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  box-sizing:border-box;
  padding:11px 14px;
  border:1px solid rgba(73,54,95,.18);
  border-radius:12px;
  background:#fff;
  color:#49365f;
  text-decoration:none;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:900;
  letter-spacing:.05em;
}
.spa-mobile-language-switcher .spa-mobile-lang-button.is-active{
  background:#49365f;
  color:#fff;
  border-color:#49365f;
}
@media (max-width:1180px){
  .site-header #spa-mobile-menu .spa-mobile-account-links .spa-mobile-language-switcher{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    height:auto !important;
    width:100% !important;
  }
}
@media (min-width:1181px) and (max-width:1400px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .site-header #spa-mobile-menu .spa-mobile-account-links .spa-mobile-language-switcher{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    height:auto !important;
    width:100% !important;
  }
}
/* V190 — aanvullende boekomslagen voor titels waarvan geen lokale cover beschikbaar is */
.books-collection-heading{max-width:900px;margin:0 auto 2rem;text-align:center}
.book-cover-fallback{min-height:330px;padding:2rem 1.4rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-decoration:none;background:linear-gradient(145deg,#2f2237,#6f4b74);color:#fff;position:relative;overflow:hidden}
.book-cover-fallback:before{content:'𒀭';position:absolute;right:1rem;top:.5rem;font-size:4rem;opacity:.22}
.book-fallback-title{font-size:1.45rem;font-weight:800;line-height:1.15;position:relative}
.book-fallback-subtitle{margin-top:.8rem;font-size:.95rem;opacity:.9;position:relative}
@media(max-width:700px){.book-cover-fallback{min-height:260px}}


/* ===== V192: compactere Bookmundo-weergave ===== */
.books-grid-real{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.book-card-real{border-radius:14px;box-shadow:0 10px 24px rgba(35,26,43,.08)}
.book-card-real .book-body{padding:14px 14px 16px;min-height:0}
.book-card-real .book-body .eyebrow{font-size:10px;line-height:1.35;letter-spacing:.09em}
.book-card-real .book-body h2{font-size:18px;line-height:1.2;margin:6px 0 7px}
.book-card-real .book-body p{font-size:13px;line-height:1.5;margin:0 0 8px}
.book-card-real .book-link{font-size:13px;margin-top:5px}
.book-cover img{aspect-ratio:0.707 / 1;object-fit:cover}
@media(max-width:1180px){.books-grid-real{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.book-card-real .book-body h2{font-size:17px}}
@media(max-width:900px){.books-grid-real{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:680px){.books-grid-real{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-card-real .book-body{padding:11px}.book-card-real .book-body h2{font-size:15px}.book-card-real .book-body p{display:none}.book-card-real .book-link{font-size:12px}}
@media(max-width:390px){.books-grid-real{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-card-real .book-body h2{font-size:14px}}


/* ===== V193: historische categorieën voor de boekenpagina ===== */
.books-category-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 28px;max-width:1100px}
.books-category-button{appearance:none;border:1px solid rgba(72,55,86,.18);background:#fff;color:#44364d;border-radius:999px;padding:11px 15px;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.books-category-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(35,26,43,.10);border-color:rgba(72,55,86,.38)}
.books-category-button.is-active{background:#4b3b57;color:#fff;border-color:#4b3b57;box-shadow:0 10px 20px rgba(75,59,87,.18)}
.books-category-button span{display:inline-grid;place-items:center;min-width:1.55em;height:1.55em;margin-left:6px;border-radius:999px;background:rgba(255,255,255,.22);font-size:.82em}
.books-category-button:not(.is-active) span{background:rgba(75,59,87,.09)}
.book-card-real[hidden]{display:none!important}
.books-empty-state{margin:20px auto 0;max-width:620px;padding:18px 22px;border:1px dashed rgba(72,55,86,.25);border-radius:14px;text-align:center;color:#5b4a63;background:rgba(255,255,255,.65)}
@media(max-width:680px){.books-category-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:2px 2px 8px;scrollbar-width:thin}.books-category-button{white-space:nowrap;padding:9px 13px;font-size:13px}}
\n\n/* ===== V219 — cursuslayout met navigatie en lesinhoud ===== */
.spa-lesson-layout{max-width:1540px;margin:28px auto 50px;padding:0 24px;display:grid;grid-template-columns:300px minmax(0,1fr) 330px;gap:24px;align-items:start}.spa-lesson-sidebar,.spa-lesson-rightbar{position:sticky;top:96px}.spa-back-lessons{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;color:var(--purple-deep);font-weight:800;text-decoration:none}.spa-progress-panel,.spa-course-nav,.spa-toc-card{background:#fffdf9;border:1px solid rgba(73,54,95,.11);border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(39,26,52,.05)}.spa-progress-panel{margin-bottom:14px}.spa-progress-panel strong{font-family:Georgia,serif;font-size:31px;color:#2d2733}.spa-progress-track{height:10px;background:#eeeaf0;border-radius:99px;overflow:hidden;margin:16px 0 10px}.spa-progress-track span{display:block;width:0;height:100%;background:var(--purple-deep);border-radius:inherit;transition:width .35s ease}.spa-progress-panel small{display:block;color:var(--muted);font-weight:700}.spa-course-nav-list{max-height:620px;overflow:auto;margin:12px -8px;padding:0 8px}.spa-course-nav-item{display:grid;grid-template-columns:34px 1fr 22px;gap:10px;align-items:start;padding:11px 9px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:700}.spa-course-nav-item:hover{background:#f4edf7}.spa-course-nav-item.is-current{background:#eee5f3;color:var(--purple-deep)}.spa-course-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0edf2;color:#726a76;font-size:12px}.spa-course-nav-item.is-current .spa-course-number{background:var(--purple-deep);color:#fff}.spa-course-status{color:var(--purple-deep);font-weight:900}.spa-all-lessons{display:block;margin-top:14px;padding:14px;border:1px solid rgba(73,54,95,.18);border-radius:12px;text-align:center;text-decoration:none;color:var(--ink);font-weight:800}.spa-lesson-main{min-width:0}.spa-lesson-main .lesson-page{max-width:none;background:#fffdf9;border:1px solid rgba(73,54,95,.08);border-radius:28px;padding:38px 40px;box-shadow:0 18px 55px rgba(39,26,52,.05)}.spa-lesson-main .lesson-header{background:transparent;padding:0 0 26px;border-radius:0;border-bottom:1px solid rgba(73,54,95,.12);margin-bottom:28px}.spa-lesson-main .lesson-header h1{font-size:clamp(40px,4.2vw,58px);line-height:1.05}.spa-lesson-main .lesson-meta{margin:14px 0}.spa-lesson-main .cuneiform-sign{display:inline-flex;align-items:center;justify-content:center}.spa-lesson-main .lesson-header>.cuneiform-sign{width:104px;height:104px;margin:0 18px 0 0;background:#e4d0a3;border-radius:20px;font-size:44px;vertical-align:middle}.spa-lesson-main .lesson-header>p{display:inline-block;max-width:520px;font-family:Georgia,serif;font-size:19px;vertical-align:middle}.spa-lesson-toc{display:grid;gap:4px;margin:14px 0 20px}.spa-lesson-toc a{display:block;padding:9px 8px;border-radius:9px;color:#4f4655;text-decoration:none;font-weight:700;font-size:14px}.spa-lesson-toc a:hover{background:#f3edf6;color:var(--purple-deep)}.spa-lesson-tools{border-top:1px solid rgba(73,54,95,.12);padding-top:20px;display:grid;gap:10px}.spa-lesson-tools .eyebrow{margin-bottom:4px}.spa-lesson-tools a,.spa-download-lesson{display:block;width:100%;box-sizing:border-box;padding:14px 15px;background:#fff;border:1px solid rgba(73,54,95,.17);border-radius:13px;color:var(--ink);font:inherit;font-weight:800;text-align:left;text-decoration:none;cursor:pointer}.spa-lesson-tools a:hover,.spa-download-lesson:hover{background:#f5eef8}.spa-lesson-quote{margin:22px 0 0;padding:24px;background:#eee6f1;border-radius:18px;color:#4b4051}.spa-lesson-quote span{font-size:52px;line-height:.6;color:#8c7a99}.spa-lesson-quote p{font:italic 19px/1.55 Georgia,serif;margin:6px 0 14px}.spa-lesson-quote cite{font-style:normal;font-size:13px;color:#756b7d}@media(max-width:1180px){.spa-lesson-layout{grid-template-columns:260px minmax(0,1fr)}.spa-lesson-rightbar{display:none}}@media(max-width:820px){.spa-lesson-layout{display:block;padding:0 14px;margin-top:16px}.spa-lesson-sidebar{position:static;margin-bottom:16px}.spa-course-nav-list{max-height:300px}.spa-lesson-main .lesson-page{padding:24px 18px;border-radius:20px}.spa-lesson-main .lesson-header>.cuneiform-sign{width:78px;height:78px;font-size:34px}.spa-lesson-main .lesson-header h1{font-size:38px}.spa-lesson-main .lesson-header>p{font-size:16px}.spa-lesson-rightbar{display:block;position:static;margin-top:16px}.spa-lesson-rightbar .spa-toc-card{padding:18px}}@media print{.spa-lesson-sidebar,.spa-lesson-rightbar,.site-header,.site-footer{display:none!important}.spa-lesson-layout{display:block;margin:0;padding:0}.spa-lesson-main .lesson-page{box-shadow:none;border:0;padding:0}}


/* ===== V220 — correctie cursuslayout ===== */
/* Deze regels gebruiken normale CSS-regeleinden zodat de driedelige cursusgrid altijd correct wordt toegepast. */
@media (min-width: 1181px){
  .spa-lesson-layout{display:grid!important;grid-template-columns:300px minmax(0,1fr) 330px!important;gap:24px!important;align-items:start!important;}
  .spa-lesson-sidebar{grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important;}
  .spa-lesson-main{grid-column:2!important;grid-row:1!important;width:auto!important;min-width:0!important;}
  .spa-lesson-rightbar{grid-column:3!important;grid-row:1!important;width:auto!important;min-width:0!important;}
}
@media (max-width:1180px) and (min-width:821px){
  .spa-lesson-layout{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;}
  .spa-lesson-rightbar{display:none!important;}
}


/* V221 — Mobiel gebruikt opnieuw de klassieke lessenweergave. */
@media (max-width: 820px) {
  .spa-lesson-layout {
    display: block !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 48px 20px 70px !important;
  }
  .spa-lesson-sidebar,
  .spa-lesson-rightbar {
    display: none !important;
  }
  .spa-lesson-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .spa-lesson-main .lesson-page {
    display: block !important;
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .spa-lesson-main .lesson-header {
    padding: 0 0 24px !important;
    margin: 0 0 24px !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .spa-lesson-main .lesson-header h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
  }
}


/* V226 — Professionele Mesopotamische academiestijl */
:root{
  --clay:#a84f2a;
  --clay-dark:#6d2f1c;
  --bronze:#a87832;
  --parchment:#f3ead8;
  --ink-deep:#17120f;
}
body{
  background:linear-gradient(180deg,#efe4cf 0,#f7f2e8 42%,#eee2ce 100%);
}
.site-header{
  background:rgba(248,243,233,.97);
  border-bottom:1px solid rgba(86,51,29,.16);
  box-shadow:0 8px 28px rgba(44,29,18,.08);
}
.cuneiform-inscription{
  background:linear-gradient(90deg,#241a15,#3b291f 45%,#241a15);
  color:#d6a967;
  border-bottom:1px solid rgba(214,169,103,.35);
  overflow:hidden;
}
.cuneiform-inscription__inner{
  max-width:1180px;
  margin:0 auto;
  padding:7px 24px 8px;
  text-align:center;
  white-space:nowrap;
  letter-spacing:.38em;
  font-size:21px;
  line-height:1;
  text-shadow:0 1px 0 rgba(255,255,255,.08);
}
.header-inner{padding:17px 24px;}
.brand{gap:14px;}
.brand-mark{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(145deg,#c7854c,#9c4b2c);
  color:#fff6df;
  border:2px solid rgba(95,43,24,.45);
  box-shadow:0 5px 15px rgba(58,29,16,.18);
}
.brand-title{
  color:#211811;
  font-size:21px;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.brand-sub{
  color:#8b6241;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.main-nav{gap:24px;font-size:13px;letter-spacing:.025em;}
.main-nav a{color:#33261d;font-weight:600;position:relative;padding:7px 0;}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--clay);transform:scaleX(0);transform-origin:center;transition:.2s;}
.main-nav a:hover:after,.main-nav .current-menu-item>a:after{transform:scaleX(1);}
.main-nav a:hover{color:var(--clay-dark);}
.spa-header-tools{background:#f0e5d2;border-top:1px solid rgba(99,59,35,.1);}
@media(max-width:700px){
  .cuneiform-inscription__inner{font-size:16px;letter-spacing:.22em;padding:7px 12px;}
  .brand-title{font-size:17px;}
  .brand-sub{font-size:9px;}
}


/* V228 — Header update: alleen de twee accountknoppen duidelijk verder omlaag.
   Dit is een update van het bestaande thema; de zoekknop en de rest van de
   header blijven op hun huidige positie. */
@media (min-width:1181px){
  .spa-header-tools .header-account{
    transform:translateY(26px);
  }
}

/* V229 — Header update: zoekbalk/zoekknop en accountknoppen als één groep lager plaatsen.
   Alleen de bestaande headerpositie wordt aangepast; dit blijft hetzelfde thema. */
@media (min-width:1181px){
  .spa-header-tools .spa-header-search,
  .spa-header-tools .header-account{
    transform:translateY(26px);
  }
}


/* V230 — Header update: de volledige zoek- en accountzone als één geheel lager plaatsen.
   Hierdoor verschuift ook de lichte achtergrond van de zoekzone mee; niet alleen
   de pictogrammen en knoppen. */
@media (min-width:1181px){
  .site-header .spa-header-tools{
    top:41px;
  }
  .site-header .spa-header-tools .spa-header-search,
  .site-header .spa-header-tools .header-account{
    transform:none;
  }
}


/* ==========================================================
   V231 — PROFESSIONELE MESOPOTAMISCHE VISUELE IDENTITEIT
   Doorvoering op homepage, Kennisbank, interactieve kaart
   en boekenpagina. Bestaande functionaliteit blijft intact.
   ========================================================== */
:root{
  --meso-ink:#35291f;
  --meso-umber:#5a4030;
  --meso-clay:#a96f46;
  --meso-sand:#eadcc6;
  --meso-papyrus:#f8f3e9;
  --meso-gold:#b88a4a;
  --meso-lapis:#4c6874;
}

/* Subtiele textuur: warm kleitablet/papyrus-effect zonder afbeeldingen. */
.portfolio-opening,
.knowledge-hero,
.meso-map-section,
.featured-books,
.books-section{
  position:relative;
}
.portfolio-opening:before,
.knowledge-hero:before,
.featured-books:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    radial-gradient(circle at 18% 24%, rgba(89,61,39,.08) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 64%, rgba(89,61,39,.06) 0 1px, transparent 1.6px);
  background-size:19px 19px,31px 31px;
  mix-blend-mode:multiply;
}
.portfolio-opening > *,
.knowledge-hero > *,
.featured-books > *{position:relative;z-index:1}

/* ================= HOMEPAGE ================= */
.portfolio-opening{
  background:
    radial-gradient(circle at 88% 8%, rgba(184,138,74,.16), transparent 24%),
    linear-gradient(180deg,#f8f3e9 0%,#eee2d0 100%);
}
.opening-hero{
  position:relative;
}
.opening-content .eyebrow,
.opening-about .eyebrow,
.featured-books .eyebrow{
  color:var(--meso-clay);
  letter-spacing:.18em;
}
.opening-content h1,
.opening-about h2,
.featured-books-heading h2{
  color:var(--meso-ink);
}
.opening-photo{
  padding:10px;
  background:
    linear-gradient(135deg,rgba(184,138,74,.95),rgba(90,64,48,.96));
  border:1px solid rgba(255,246,225,.6);
  box-shadow:0 24px 55px rgba(61,42,28,.24), inset 0 0 0 2px rgba(255,244,214,.18);
}
.opening-photo:after{
  content:"𒀭";
  position:absolute;
  width:58px;height:58px;
  display:grid;place-items:center;
  right:-18px;bottom:28px;
  border-radius:50%;
  background:#4b3627;
  color:#e8c681;
  border:3px solid #f4e5c8;
  box-shadow:0 10px 24px rgba(48,31,20,.22);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:25px;
}
.opening-photo{position:relative}
.opening-tile{
  border:1px solid rgba(90,64,48,.18);
  background:linear-gradient(145deg,rgba(255,252,245,.94),rgba(238,225,205,.92));
  box-shadow:0 12px 30px rgba(74,52,34,.11), inset 0 1px 0 rgba(255,255,255,.9);
}
.opening-tile:before{background:linear-gradient(90deg,var(--meso-clay),var(--meso-gold)) !important}
.opening-icon{
  color:var(--meso-clay) !important;
  background:rgba(184,138,74,.10);
  border:1px solid rgba(184,138,74,.22);
}
.opening-about{
  border-top:1px solid rgba(90,64,48,.14);
  border-bottom:1px solid rgba(90,64,48,.14);
  background:rgba(255,250,240,.55);
}

/* Verken Mesopotamië: meer archeologisch en minder generiek paars. */
.explore-mesopotamia{
  background:
    radial-gradient(circle at 8% 12%, rgba(184,138,74,.16), transparent 25%),
    radial-gradient(circle at 92% 78%, rgba(76,104,116,.12), transparent 30%),
    linear-gradient(135deg,#e9ddc8 0%,#f7f1e7 50%,#dfcdb4 100%);
}
.explore-mesopotamia:before{
  opacity:.38;
  background-image:
    linear-gradient(rgba(90,64,48,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(90,64,48,.08) 1px,transparent 1px);
}
.explore-card{
  border-color:rgba(90,64,48,.18);
  background:linear-gradient(145deg,rgba(255,252,246,.90),rgba(246,237,223,.90));
  box-shadow:0 14px 34px rgba(73,50,31,.10);
}
.explore-card:after{
  content:"𒀭";
  position:absolute;
  right:18px;bottom:16px;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  color:rgba(90,64,48,.09);
  font-size:44px;
  line-height:1;
}
.explore-card:hover{
  border-color:rgba(169,111,70,.46);
  box-shadow:0 24px 48px rgba(73,50,31,.18);
}
.explore-symbol{
  border:1px solid rgba(184,138,74,.25);
  background:linear-gradient(135deg,#f7e9cc,#e3c995);
  color:#6a4630;
}
.explore-card h3{color:var(--meso-ink)}
.explore-arrow{color:#855334}
.explore-mesopotamia-footer{
  background:rgba(91,64,43,.92);
  color:#f8eedc;
  border-color:rgba(232,198,129,.35);
}
.explore-mesopotamia-footer a{color:#f2cf86}

/* ================= KENNISBANK ================= */
.knowledge-hero{
  background:
    radial-gradient(circle at 86% 18%,rgba(184,138,74,.23),transparent 25%),
    radial-gradient(circle at 7% 82%,rgba(76,104,116,.13),transparent 30%),
    linear-gradient(135deg,#fbf7ee 0%,#eee1cc 58%,#d8c3a2 100%);
  border-bottom:1px solid rgba(90,64,48,.14);
}
.knowledge-kicker{color:#8a5635}
.knowledge-hero h1{color:var(--meso-ink)}
.knowledge-lead{color:#5c4b3f}
.knowledge-action{
  border-color:rgba(90,64,48,.17);
  border-left-color:rgba(169,111,70,.46);
  background:linear-gradient(145deg,rgba(255,252,246,.82),rgba(245,235,219,.82));
  color:#4d382b;
  box-shadow:0 10px 28px rgba(69,48,31,.09);
}
.knowledge-action:hover{background:#fffaf0;box-shadow:0 18px 36px rgba(69,48,31,.15)}
.knowledge-action-primary{background:linear-gradient(135deg,#5a4030,#7a5337);border-color:#5a4030;border-left-color:#d2a260}
.knowledge-action-primary:hover{background:linear-gradient(135deg,#674735,#8a5d3d)}
.knowledge-action-museum{border-left-color:#b88a4a}
.knowledge-action-texts{border-left-color:#4c6874}
.knowledge-action-icon{background:rgba(169,111,70,.10)}
.knowledge-card,
.knowledge-feature{
  border-color:rgba(90,64,48,.15);
  background:linear-gradient(145deg,#fffdf8,#f5ebdc);
  box-shadow:0 12px 28px rgba(69,48,31,.08);
}
.knowledge-card:hover,
.knowledge-feature:hover{box-shadow:0 20px 42px rgba(69,48,31,.15)}
.knowledge-card h3,.knowledge-feature h3{color:var(--meso-ink)}
.knowledge-icon,.knowledge-feature-symbol{color:#9a613b}
.knowledge-soft{background:linear-gradient(180deg,#eee2d0,#e6d6be)}
.knowledge-quote,.knowledge-dark{
  background:linear-gradient(135deg,#3d2d23,#5b4030);
}
.knowledge-cta{background:linear-gradient(135deg,#ead8b8,#f9f4ea)}

/* ================= INTERACTIEVE KAART ================= */
.meso-map-section{
  background:
    radial-gradient(circle at 12% 18%, rgba(184,138,74,.16), transparent 30%),
    radial-gradient(circle at 90% 78%, rgba(76,104,116,.10), transparent 28%),
    linear-gradient(180deg,#f5efe4,#e4d4bd);
}
.meso-map-card{
  border:1px solid rgba(90,64,48,.23);
  border-radius:30px;
  background:#eadcc7;
  box-shadow:0 30px 76px rgba(58,39,25,.18), inset 0 1px 0 rgba(255,255,255,.65);
}
.meso-map-toolbar,
.meso-map-layers,
.meso-map-timeline{
  border-color:rgba(90,64,48,.14) !important;
  background:linear-gradient(90deg,rgba(255,252,246,.94),rgba(239,225,204,.88)) !important;
}
.meso-map-eyebrow{color:#9a613b !important}
.map-title-ornament{
  background:linear-gradient(135deg,#6d4934,#b88a4a);
  color:#fff5df;
}
.meso-map-hint{
  background:#5a4030 !important;
  color:#f6e7c9 !important;
  border-color:#76533b !important;
}
.meso-map-wrap{
  background:
    radial-gradient(circle at 16% 22%,rgba(255,255,255,.40),transparent 25%),
    linear-gradient(135deg,#d8bd92,#b58d62);
}
.meso-map-svg{background:#d5bd96}
.map-ocean{fill:#91a9aa;opacity:.34}
.map-region-label{fill:#765238}
.map-marker-halo{fill:#b88a4a !important}
.map-marker circle:first-of-type + circle{fill:#5b4030}
.map-marker .map-marker-core{fill:#f4d789}
.map-marker:hover circle:first-of-type + circle,
.map-marker:focus circle:first-of-type + circle{fill:#a96f46}
.map-marker:hover text,.map-marker:focus text{fill:#7a4e31}
.meso-map-legend{background:linear-gradient(90deg,rgba(255,252,246,.92),rgba(239,225,204,.86))}

/* ================= BOEKENPAGINA ================= */
.spa-books-page,
.books-section{background:transparent}
.books-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(90,64,48,.18);
  background:
    radial-gradient(circle at 88% 20%,rgba(184,138,74,.22),transparent 28%),
    linear-gradient(135deg,#fffaf0,#ead9bc);
  box-shadow:0 22px 52px rgba(69,48,31,.11);
}
.books-hero:after{
  content:"𒀭  𒂊  𒈗";
  position:absolute;
  right:38px;bottom:20px;
  color:rgba(90,64,48,.08);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:62px;
  letter-spacing:16px;
}
.books-hero > *{position:relative;z-index:1}
.books-hero h1{color:var(--meso-ink)}
.books-symbol{
  border:1px solid rgba(255,244,220,.48);
  background:linear-gradient(145deg,#5b4030,#a96f46 62%,#c79b5a);
  color:#f6dfac;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.book-card{
  border-color:rgba(90,64,48,.16);
  background:linear-gradient(180deg,#fffdf8,#f5ecdf);
  box-shadow:0 14px 32px rgba(69,48,31,.10);
}
.book-card:hover{box-shadow:0 24px 48px rgba(69,48,31,.18)}
.book-cover{
  background:#e7d6bd;
  border-bottom:1px solid rgba(90,64,48,.12);
}
.book-cover img{box-shadow:0 14px 26px rgba(47,32,22,.12)}
.book-body h2{color:var(--meso-ink)}
.book-link{color:#8a5635}
.books-category-button{
  border-color:rgba(90,64,48,.18) !important;
  background:#fbf6ec !important;
  color:#5a4030 !important;
}
.books-category-button:hover,
.books-category-button.is-active{
  background:#5a4030 !important;
  color:#fff4dd !important;
  border-color:#5a4030 !important;
}
.books-cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%,rgba(184,138,74,.20),transparent 24%),
    linear-gradient(135deg,#3d2d23,#5b4030 58%,#7a5337);
}
.books-cta:after{
  content:"𒀭 𒂊 𒈗";
  position:absolute;right:6%;bottom:-18px;
  color:rgba(255,231,180,.08);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:96px;
}
.books-cta > *{position:relative;z-index:1}

/* Rustige mobiele verfijning. */
@media(max-width:760px){
  .opening-photo:after{right:10px;bottom:10px;width:46px;height:46px;font-size:20px}
  .books-hero:after{right:14px;font-size:38px;letter-spacing:8px}
  .explore-card:after{font-size:36px}
}

/* V232 — Uitspraak Lab: verbeterde leesbaarheid en contrast */
.pronunciation-page{
  color:#30271f;
}
.pronunciation-hero p,
.pronunciation-tool-card p,
.pronunciation-section-head p,
.pronunciation-guide-note,
.pronunciation-sentence-guide,
.sentence-translation,
.sentence-note,
.meso-search-help,
.meso-match-note{
  color:#4b4038 !important;
}
.pronunciation-kicker,
.pronunciation-lang{
  color:#6b4528 !important;
}
.pronunciation-tool-card h2,
.pronunciation-method-card h2,
.pronunciation-section-head h2,
.pronunciation-sentence-card h3,
.pronunciation-word-card strong,
.meso-result strong,
.meso-result-word{
  color:#2c211a !important;
}
.pronunciation-sound-card small,
.pronunciation-word-card small,
.meso-suggestion small,
.sentence-word-info{
  color:#51473f !important;
}
.pronunciation-sound-card strong,
.pronunciation-sentence-guide strong,
.pronunciation-guide-note strong{
  color:#38261c !important;
}
.pronunciation-sound-card b,
.pronunciation-word-card b,
.sentence-reading,
.meso-suggestion span,
.meso-detected{
  color:#6a4327 !important;
}
.pronunciation-tool-card,
.pronunciation-sound-card,
.pronunciation-sentence-card,
.pronunciation-word-card{
  border-color:rgba(79,52,32,.20) !important;
}
.pronunciation-sound-card.is-info{
  background:#f8f1e7 !important;
}
.pronunciation-guide-note{
  background:#fffaf2 !important;
  border-color:rgba(79,52,32,.18) !important;
}
.pronunciation-sentence-guide{
  background:#f4eadc !important;
  border-color:rgba(79,52,32,.18) !important;
}
.meso-search-help,
.sentence-note{
  font-weight:600;
}

/* ==========================================================
   UPDATE V233 – KENNISBANK: verbeterd tekstcontrast
   Herstelt leesbaarheid na de Mesopotamische kleurupdate.
   ========================================================== */
.knowledge-section{color:#3b3027}
.knowledge-section-heading>p{color:#51463c}
.knowledge-card{color:#3b3027}
.knowledge-card p{color:#4d4238}
.knowledge-card .knowledge-readmore{color:#744829}
.knowledge-feature{color:#3b3027}
.knowledge-feature p{color:#4d4238}
.knowledge-feature strong{color:#744829}

/* Donkere religiesectie: behoud de warme Mesopotamische uitstraling,
   maar herstel helderheid van alle koppen en lopende tekst. */
.knowledge-dark{color:#fff8ec}
.knowledge-dark h2,
.knowledge-dark .knowledge-section-heading>p{color:#fff8ec}
.knowledge-dark .knowledge-kicker{color:#e9c986}
.knowledge-dark .knowledge-card.dark-card{background:#4a3427;border-color:#8d6848;color:#fff8ec}
.knowledge-dark .knowledge-card.dark-card h3{color:#fff8ec}
.knowledge-dark .knowledge-card.dark-card p{color:#f2e4d0}
.knowledge-dark .knowledge-card.dark-card .knowledge-readmore{color:#efc477}

/* Hero en actiekaarten: kleine tekst krijgt meer contrast. */
.knowledge-lead{color:#493d34}
.knowledge-action{color:#382b23}
.knowledge-action strong{color:inherit}
.knowledge-action small{color:#4a3d33;opacity:1}
.knowledge-action-primary,
.knowledge-action-primary strong,
.knowledge-action-primary small{color:#fff9ef}
.knowledge-action-primary small{opacity:.92}

/* Tijdlijn en secundaire toelichtingen. */
.timeline-card p{color:#443b34 !important}
.timeline-card .timeline-more{color:#704729 !important}
.timeline-detail{border-top-color:rgba(90,64,48,.20) !important}
.timeline-filter{color:#5a3925 !important;border-color:rgba(90,64,48,.28) !important}
.timeline-filter.is-active{background:#5a4030 !important;color:#fff8ec !important}

/* Leesbaarheid voor keyboard focus en hover zonder kleurverlies. */
.knowledge-card:hover p,.knowledge-feature:hover p{color:#352b24}
.knowledge-card:focus-visible,.knowledge-feature:focus-visible,.knowledge-action:focus-visible{outline:3px solid rgba(184,138,74,.65);outline-offset:4px}

/* UPDATE V234 — maximale leesbaarheid interactieve tijdlijn Kennisbank */
body.page-template-page-kennisbank .mesopotamia-timeline{
  color:#2f241d !important;
}
body.page-template-page-kennisbank .mesopotamia-timeline:before{
  width:3px !important;
  background:#8a684c !important;
  opacity:.9;
}
body.page-template-page-kennisbank .timeline-card{
  background:#fffdf7 !important;
  border:1px solid #cdbca8 !important;
  box-shadow:0 12px 28px rgba(57,42,31,.10) !important;
}
body.page-template-page-kennisbank .timeline-card h3{
  color:#2f241d !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}
body.page-template-page-kennisbank .timeline-card p,
body.page-template-page-kennisbank .timeline-detail p{
  color:#352a23 !important;
  opacity:1 !important;
  font-weight:500 !important;
  line-height:1.72 !important;
}
body.page-template-page-kennisbank .timeline-card .timeline-more{
  color:#6a3518 !important;
  opacity:1 !important;
  font-weight:800 !important;
}
body.page-template-page-kennisbank .timeline-date{
  width:72px !important;
  height:72px !important;
  padding:8px !important;
  box-sizing:border-box !important;
  background:#4a3021 !important;
  color:#fffdf5 !important;
  font-size:.88rem !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:.01em !important;
  text-shadow:0 1px 1px rgba(0,0,0,.25) !important;
  box-shadow:0 0 0 9px #f1e6d6, 0 6px 18px rgba(49,33,23,.20) !important;
}
body.page-template-page-kennisbank .timeline-detail{
  border-top-color:#cbb7a0 !important;
}
body.page-template-page-kennisbank .timeline-filter{
  background:#fffdf7 !important;
  color:#402b1d !important;
  border:1px solid #9c7758 !important;
  font-weight:800 !important;
}
body.page-template-page-kennisbank .timeline-filter:hover,
body.page-template-page-kennisbank .timeline-filter:focus-visible{
  background:#eadfce !important;
  color:#2f2017 !important;
}
body.page-template-page-kennisbank .timeline-filter.is-active{
  background:#4a3021 !important;
  color:#fffdf5 !important;
  border-color:#4a3021 !important;
}
@media(max-width:760px){
  body.page-template-page-kennisbank .mesopotamia-timeline:before{left:35px !important}
  body.page-template-page-kennisbank .timeline-item{grid-template-columns:72px minmax(0,1fr) !important}
  body.page-template-page-kennisbank .timeline-date{width:68px !important;height:68px !important;font-size:.82rem !important}
}

/* UPDATE V235 – LEESBAARHEID TIJDREIS OP DE INTERACTIEVE KAART */
/* De kaart-tijdlijn gebruikt een lichte kleiachtergrond; alle historische tekst krijgt daarom een donker, hoog-contrast palet. */
.meso-map-card .meso-map-timeline{
  background:linear-gradient(90deg,#fffdf8 0%,#f3e7d4 100%) !important;
  color:#332820 !important;
  border-top:1px solid rgba(90,64,48,.18) !important;
  border-bottom:1px solid rgba(90,64,48,.18) !important;
}
.meso-map-card .meso-map-timeline-head,
.meso-map-card .meso-map-timeline-head strong{
  color:#332820 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.meso-map-card .meso-map-timeline-head strong{
  font-size:1.18rem !important;
  font-weight:800 !important;
}
.meso-map-card .meso-map-timeline .meso-map-eyebrow{
  color:#7a4e31 !important;
  opacity:1 !important;
}
.meso-map-card .meso-map-year{
  color:#6b4026 !important;
  opacity:1 !important;
  font-size:1.3rem !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.meso-map-card .meso-map-timeline p,
.meso-map-card #mesoTimelineDescription{
  color:#44352b !important;
  opacity:1 !important;
  font-weight:500 !important;
  text-shadow:none !important;
}
.meso-map-card .meso-map-timeline-labels,
.meso-map-card .meso-map-timeline-labels span{
  color:#5a4030 !important;
  opacity:1 !important;
  font-size:.74rem !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.meso-map-card .meso-timeline-play{
  background:#b88a4a !important;
  color:#2f241d !important;
  border-color:#8a6038 !important;
}
.meso-map-card #mesoTimeline{
  accent-color:#8b5c34 !important;
}
.meso-map-card #mesoTimeline::-webkit-slider-runnable-track{
  height:6px;
  background:#5b4030;
  border-radius:999px;
}
.meso-map-card #mesoTimeline::-webkit-slider-thumb{
  margin-top:-6px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#c79b55;
  border:2px solid #fffaf0;
}
.meso-map-card #mesoTimeline::-moz-range-track{
  height:6px;
  background:#5b4030;
  border-radius:999px;
}
.meso-map-card #mesoTimeline::-moz-range-thumb{
  width:16px;
  height:16px;
  border-radius:50%;
  background:#c79b55;
  border:2px solid #fffaf0;
}
@media(max-width:700px){
  .meso-map-card .meso-map-timeline-head strong{font-size:1.05rem !important}
  .meso-map-card .meso-map-timeline-labels,
  .meso-map-card .meso-map-timeline-labels span{font-size:.64rem !important}
  .meso-map-card .meso-map-timeline p{font-size:.9rem !important}
}

/* UPDATE V236 — EXTRA STERK CONTRAST TIJDREIS KENNISBANK
   Deze regels gebruiken directe ID-selectors omdat de historische tekst op sommige browsers/caches
   nog een te lichte geërfde kleur kreeg. */
body.page-template-page-kennisbank .meso-map-card .meso-map-timeline{
  background:#f7ecdc !important;
  color:#241a15 !important;
}
body.page-template-page-kennisbank .meso-map-card #mesoTimelineTitle{
  display:block !important;
  color:#2a1d16 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
body.page-template-page-kennisbank .meso-map-card #mesoTimelineYear{
  color:#633b21 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
body.page-template-page-kennisbank .meso-map-card #mesoTimelineDescription{
  color:#34251d !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
body.page-template-page-kennisbank .meso-map-card .meso-map-timeline-labels,
body.page-template-page-kennisbank .meso-map-card .meso-map-timeline-labels span{
  color:#493227 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
body.page-template-page-kennisbank .meso-map-card .meso-map-eyebrow{
  color:#704529 !important;
  opacity:1 !important;
  font-weight:900 !important;
}
body.page-template-page-kennisbank .meso-map-card .meso-map-timeline-controls{opacity:1 !important}

/* =========================================================
   UPDATE V237 — PROFESSIONELE MESOPOTAMISCHE VORMGEVING
   Doorvoering naar de resterende pagina's en contenttypen.
   Bestaande functionaliteit en templates blijven ongewijzigd.
   ========================================================= */
:root{
  --meso-ink:#2d211b;
  --meso-ink-soft:#554238;
  --meso-clay:#9b643d;
  --meso-clay-dark:#5a3927;
  --meso-gold:#c59a5a;
  --meso-sand:#f4ecde;
  --meso-sand-deep:#e9d8bd;
  --meso-paper:#fffaf1;
  --meso-line:rgba(104,70,43,.22);
  --meso-shadow:0 18px 44px rgba(70,45,27,.12);
}

/* Algemene pagina-identiteit */
body{
  background:
    radial-gradient(circle at 12% 6%, rgba(197,154,90,.10), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(155,100,61,.08), transparent 27rem),
    var(--meso-sand) !important;
  color:var(--meso-ink);
}
main, .site-main{color:var(--meso-ink)}
.entry-content, .page-content, .knowledge-detail-content, .lesson-content, .spa-page{
  color:var(--meso-ink-soft);
}
h1,h2,h3,h4,h5,h6,
.entry-title,.page-title,.knowledge-hero h1,.contact-hero h1,.portfolio-hero h1,
.museum-hero h1,.spa-hero h1{
  color:var(--meso-ink) !important;
  text-wrap:balance;
}
p,li{color:inherit}
a{color:#704529}
a:hover{color:#9b643d}

/* Een rustige, archeologisch geïnspireerde sectie-opbouw */
.page-section, section.knowledge-section, .knowledge-section, .lesson-page,
.contact-page, .portfolio-rinus, .museum-wrap, .spa-page, .spa-wrap,
.mesopotamia-timeline{
  position:relative;
}
.knowledge-section,.spa-docent-section,.lesson-content,.museum-collection,
.museum-galleries,.portfolio-method,.portfolio-pillars{
  border-color:var(--meso-line) !important;
}

/* Kennisbank-detailpagina's */
.knowledge-detail-page,.knowledge-page{
  background:transparent !important;
}
.knowledge-detail-hero,.knowledge-hero,.knowledge-intro{
  background:
    linear-gradient(135deg, rgba(255,250,241,.98), rgba(239,224,197,.96)) !important;
  border:1px solid var(--meso-line);
  box-shadow:var(--meso-shadow);
}
.knowledge-detail-lead,.knowledge-lead,.knowledge-intro p{
  color:#513d31 !important;
  font-size:1.08rem;
}
.knowledge-reading,.knowledge-reading-block,.knowledge-feature,
.knowledge-soft,.knowledge-card,.knowledge-quote,.knowledge-action{
  background:rgba(255,250,241,.90) !important;
  color:var(--meso-ink-soft) !important;
  border:1px solid var(--meso-line) !important;
  box-shadow:0 10px 26px rgba(70,45,27,.07);
}
.knowledge-card:hover,.knowledge-action:hover,.knowledge-feature:hover{
  border-color:rgba(155,100,61,.45) !important;
  box-shadow:0 16px 34px rgba(70,45,27,.12);
  transform:translateY(-2px);
}
.knowledge-kicker,.knowledge-section-heading,.knowledge-reading h2,
.knowledge-detail-hero .eyebrow{
  color:#815132 !important;
}
.knowledge-icon,.knowledge-feature-symbol,.knowledge-action-icon{
  background:linear-gradient(135deg,#d8b77d,#9b643d) !important;
  color:#fffaf1 !important;
  border-color:#80502f !important;
}
.knowledge-readmore,.knowledge-detail-actions a{
  color:#6f4328 !important;
  font-weight:800;
}
.knowledge-dark,.dark-card{
  background:linear-gradient(145deg,#38271f,#5b3927) !important;
  color:#fff7e9 !important;
  border:1px solid rgba(213,181,126,.32) !important;
  box-shadow:var(--meso-shadow);
}
.knowledge-dark h1,.knowledge-dark h2,.knowledge-dark h3,.knowledge-dark p,
.dark-card h1,.dark-card h2,.dark-card h3,.dark-card p{color:#fff7e9 !important}

/* Museum */
.museum-hero,.museum-panel,.museum-category-card,.museum-object-card,
.museum-facts,.museum-intro-grid > *{
  background:linear-gradient(145deg,rgba(255,250,241,.98),rgba(241,229,208,.96)) !important;
  border-color:var(--meso-line) !important;
  box-shadow:var(--meso-shadow);
}
.museum-kicker,.museum-card-source,.museum-source{color:#815132 !important}
.museum-category-card:hover,.museum-object-card:hover{
  transform:translateY(-3px);
  border-color:rgba(155,100,61,.48) !important;
}
.museum-count{
  background:#5a3927 !important;
  color:#fff7e9 !important;
}

/* Boeken en publicaties */
.spa-books-page,.books-page,.portfolio-hero,.portfolio-intro,.portfolio-method{
  color:var(--meso-ink);
}
.portfolio-hero,.portfolio-intro,.portfolio-method{
  background:linear-gradient(135deg,rgba(255,250,241,.98),rgba(236,220,192,.96)) !important;
  border-color:var(--meso-line) !important;
}
.portfolio-card,.book-card,.books-grid > article{
  background:var(--meso-paper) !important;
  border:1px solid var(--meso-line) !important;
  box-shadow:0 14px 32px rgba(70,45,27,.09);
}
.portfolio-card:hover,.book-card:hover,.books-grid > article:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 42px rgba(70,45,27,.16);
}
.portfolio-tags span,.portfolio-tags a{
  background:#efe0c5 !important;
  color:#5b3927 !important;
  border:1px solid rgba(104,70,43,.20);
}

/* Docent, Over Rinus en onderwijs */
.spa-docent-hero,.spa-docent-feature,.spa-docent-goal,.spa-docent-final,
.contact-hero,.contact-card,.contact-form-card,.contact-direct,
.portfolio-rinus,.portfolio-pillars > *{
  background:linear-gradient(145deg,rgba(255,250,241,.98),rgba(239,225,202,.96)) !important;
  border-color:var(--meso-line) !important;
  box-shadow:var(--meso-shadow);
}
.spa-docent-kicker,.spa-docent-final-kicker,.contact-note,.portfolio-lead{
  color:#815132 !important;
}
.spa-docent-feature-icon,.contact-icon,.portfolio-card-icon{
  background:linear-gradient(135deg,#c79b5b,#8b5734) !important;
  color:#fffaf1 !important;
}

/* Cursus, lessen en oefeningen */
.lesson-page,.lesson-card,.spa-lesson-card,.spa-note-card,.spa-text-card,
.spa-summary,.spa-exercise,.exercise,.answer-box,.spa-quiz,.spa-toc-card,
.spa-progress-panel,.spa-score-card,.spa-search-item{
  background:rgba(255,250,241,.94) !important;
  border-color:var(--meso-line) !important;
  box-shadow:0 10px 24px rgba(70,45,27,.07);
}
.lesson-header,.spa-lesson-header,.lesson-intro-box,.spa-lesson-highlight,
.spa-golden-rule,.spa-example-tip,.spa-texts-note{
  background:linear-gradient(135deg,#f2e2c4,#fff8ec) !important;
  border-color:var(--meso-line) !important;
  color:var(--meso-ink) !important;
}
.lesson-number,.spa-lesson-number,.spa-course-number,.spa-hero-symbol,
.spa-final-symbol{
  background:#5a3927 !important;
  color:#fff7e9 !important;
  border-color:#c59a5a !important;
}
.spa-progress-track{background:#e4d3b7 !important}
.spa-progress,.spa-progress-track > span{background:linear-gradient(90deg,#8b5734,#c59a5a) !important}
.spa-table th,.lesson-table th,.spa-text-table th{
  background:#5a3927 !important;
  color:#fff7e9 !important;
}
.spa-table td,.lesson-table td,.spa-text-table td{
  background:#fffaf1 !important;
  color:var(--meso-ink-soft) !important;
  border-color:var(--meso-line) !important;
}

/* Contactformulieren en invoervelden */
input,select,textarea,
.contact-form input,.contact-form textarea,.contact-form select{
  background:#fffaf1 !important;
  color:var(--meso-ink) !important;
  border-color:rgba(104,70,43,.30) !important;
}
input::placeholder,textarea::placeholder{color:#846f60 !important;opacity:1}
input:focus,select:focus,textarea:focus{
  outline:3px solid rgba(197,154,90,.22) !important;
  border-color:#9b643d !important;
}

/* Knoppen overal consistent */
.btn-primary,.button,.contact-submit,.spa-download-lesson,
.museum-actions .btn-primary,.knowledge-cta .btn-primary{
  background:linear-gradient(135deg,#5a3927,#8b5734) !important;
  color:#fffaf1 !important;
  border:1px solid #6f4328 !important;
}
.btn-secondary,.button-secondary,.btn-ghost{
  background:#f2e4ca !important;
  color:#5a3927 !important;
  border:1px solid rgba(104,70,43,.28) !important;
}
.btn-primary:hover,.button:hover,.contact-submit:hover,
.btn-secondary:hover,.button-secondary:hover,.btn-ghost:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* Zoeken en historische contextcomponenten */
.meso-search-help,.meso-result,.spa-context-dialog{
  background:#fffaf1 !important;
  color:var(--meso-ink-soft) !important;
  border-color:var(--meso-line) !important;
  box-shadow:var(--meso-shadow);
}

/* Tijdlijn- en historische componenten buiten de hoofdkennisbank */
.timeline-card,.timeline-item,.timeline-detail,.timeline-filter{
  background:rgba(255,250,241,.94) !important;
  border-color:var(--meso-line) !important;
  color:var(--meso-ink-soft) !important;
}
.timeline-date,.timeline-more,.timeline-filter.active{
  background:#5a3927 !important;
  color:#fff7e9 !important;
}

/* Kleine schermen: minder visuele ruis, maar hetzelfde karakter */
@media(max-width:780px){
  .knowledge-detail-hero,.knowledge-hero,.museum-hero,.portfolio-hero,
  .spa-docent-hero,.contact-hero{border-radius:22px !important}
  .knowledge-card:hover,.knowledge-action:hover,.museum-category-card:hover,
  .museum-object-card:hover,.portfolio-card:hover,.book-card:hover{transform:none}
  .knowledge-detail-lead,.knowledge-lead,.knowledge-intro p{font-size:1rem}
}

/* =========================================================
   UPDATE V238 — LEESBAARHEID & VERFIJNING MESOPOTAMISCHE UI
   Herstelt onvoldoende contrast en te zware/lege panelen.
   ========================================================= */
:root{
  --meso-ink-strong:#33261f;
  --meso-text:#4b3a30;
  --meso-text-muted:#6a5749;
  --meso-card:#fffaf2;
  --meso-card-alt:#f5ead9;
  --meso-border:rgba(105,72,45,.20);
}

/* Voorkom dat decoratieve secties op kleine schermen horizontaal wegvallen. */
html,body{overflow-x:hidden}
.knowledge-wrap,.museum-wrap{max-width:100%}

/* KENNISBANK: consequente donkere tekst op de lichte klei/papier-achtergrond. */
.knowledge-hero,
.knowledge-intro,
.knowledge-card,
.knowledge-feature,
.knowledge-action,
.knowledge-reading,
.knowledge-reading-block,
.knowledge-quote{
  color:var(--meso-text) !important;
}
.knowledge-card h3,
.knowledge-feature h3,
.knowledge-action h3,
.knowledge-intro h2,
.knowledge-section h2{
  color:var(--meso-ink-strong) !important;
}
.knowledge-card p,
.knowledge-feature p,
.knowledge-action p,
.knowledge-intro p,
.knowledge-section-heading>p{
  color:var(--meso-text-muted) !important;
  opacity:1 !important;
}
.knowledge-card,
.knowledge-feature,
.knowledge-action{
  background:linear-gradient(145deg,var(--meso-card),var(--meso-card-alt)) !important;
  border-color:var(--meso-border) !important;
}
/* Minder lege ruimte wanneer een kaart weinig inhoud bevat. */
.knowledge-card{min-height:0 !important}
.knowledge-card .knowledge-icon{color:#fffaf1 !important}
.knowledge-card .knowledge-icon,
.knowledge-feature-symbol,
.knowledge-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:16px;
  background:linear-gradient(135deg,#c39a62,#8b5a34) !important;
  box-shadow:0 8px 18px rgba(86,54,31,.16);
}

/* MUSEUM: de intro was door twee grote achtergrondpanelen te zwaar.
   De sectie krijgt nu één rustige compositie met twee compacte, leesbare kaarten. */
.museum-intro-grid{
  align-items:start !important;
  gap:42px !important;
}
.museum-intro-grid > *{
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
  padding:34px 36px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#fffaf2,#f4e8d5) !important;
  border:1px solid var(--meso-border) !important;
  box-shadow:0 14px 34px rgba(70,45,27,.08) !important;
}
.museum-intro h2{
  max-width:11ch;
  font-size:clamp(2.25rem,3.6vw,3.65rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.02em;
  color:var(--meso-ink-strong) !important;
  margin:12px 0 0 !important;
}
.museum-intro p{
  margin:0 !important;
  font-size:1.1rem !important;
  line-height:1.9 !important;
  color:var(--meso-text) !important;
  opacity:1 !important;
}
.museum-kicker{
  color:#805132 !important;
  font-weight:900 !important;
}

/* Museumkaarten: betere hiërarchie en geen bleke bijteksten. */
.museum-category-card,
.museum-object-card,
.museum-panel,
.museum-facts{
  color:var(--meso-text) !important;
}
.museum-category-card strong,
.museum-object-card strong,
.museum-panel h2{
  color:var(--meso-ink-strong) !important;
}
.museum-category-card small,
.museum-object-card small,
.museum-object-card em,
.museum-facts span{
  color:var(--meso-text-muted) !important;
  opacity:1 !important;
}
.museum-category-card b,
.museum-object-card b{
  color:#754625 !important;
}
.museum-category-card{min-height:210px !important}
.museum-object-card{min-height:270px !important}

/* Mobiel: ruime maar compacte hiërarchie, zonder afgekapt ogende koppen. */
@media(max-width:620px){
  .knowledge-wrap{padding-left:20px;padding-right:20px}
  .knowledge-hero h1{
    font-size:clamp(2.7rem,15vw,4rem) !important;
    line-height:1.02 !important;
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
  .knowledge-lead{font-size:1.05rem !important;line-height:1.7 !important}
  .knowledge-card,.knowledge-feature,.knowledge-action{padding:22px !important}
  .museum-wrap{width:calc(100% - 32px) !important}
  .museum-intro{padding:46px 0 !important}
  .museum-intro-grid{gap:18px !important}
  .museum-intro-grid > *{padding:26px 24px !important;border-radius:20px !important}
  .museum-intro h2{max-width:none;font-size:clamp(2rem,10vw,2.85rem) !important}
  .museum-intro p{font-size:1rem !important;line-height:1.78 !important}
}

/* =========================================================
   UPDATE V239 — SITEBREDE CONTENTCONTAINERS & LAYOUTBALANS
   Achtergronden blijven beeldvullend; inhoud krijgt weer een
   professionele, gecentreerde leesbreedte.
   ========================================================= */
:root{
  --meso-content:1280px;
  --meso-wide:1440px;
  --meso-gutter:clamp(18px,3vw,42px);
}

/* Alleen de achtergrond is full-width. De inhoud zelf niet. */
.site-content,
main.site-content,
.site-main{width:100%;max-width:none;}

/* Algemene inhoudsbreedtes. Deze regel staat bewust NA eerdere
   V238-regels die knowledge-wrap en museum-wrap beeldvullend maakten. */
.knowledge-wrap,
.contact-page,
.books-section,
.museum-wrap{
  box-sizing:border-box !important;
}

.knowledge-wrap{
  width:min(var(--meso-content),calc(100% - (2 * var(--meso-gutter)))) !important;
  max-width:var(--meso-content) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.museum-wrap{
  width:min(var(--meso-content),calc(100% - (2 * var(--meso-gutter)))) !important;
  max-width:var(--meso-content) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact-page{
  width:min(var(--meso-content),calc(100% - (2 * var(--meso-gutter)))) !important;
  max-width:var(--meso-content) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.books-section{
  width:min(var(--meso-content),calc(100% - (2 * var(--meso-gutter)))) !important;
  max-width:var(--meso-content) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Brede componenten mogen meer ruimte krijgen, maar nooit onbeperkt uitrekken. */
.knowledge-actions-upgraded,
.books-grid-real,
.museum-category-grid,
.museum-object-grid,
.contact-grid{
  width:100%;
  max-width:var(--meso-content);
  box-sizing:border-box;
}

/* Hero's: rustige academische leesbreedte binnen de bredere achtergrond. */
.knowledge-hero,
.museum-hero,
.contact-hero{
  box-sizing:border-box;
}
.knowledge-hero > *,
.museum-hero > *,
.contact-hero > *{
  max-width:100%;
}

/* Bescherm tekstkolommen tegen te brede regels op grote schermen. */
.knowledge-lead,
.knowledge-section-heading,
.museum-hero p,
.museum-intro p,
.contact-hero p,
.contact-card p{
  max-width:72ch;
}

/* De kaarten worden niet langer door minimale hoogtes of brede schermen
   kunstmatig opgeblazen. */
@media (min-width:1181px){
  .knowledge-card,
  .knowledge-feature,
  .knowledge-action,
  .museum-category-card,
  .museum-object-card,
  .contact-card{
    min-width:0;
  }
}

/* Tablet en mobiel: behoud comfortabele zijruimte en voorkom 100vw-overflow. */
@media (max-width:700px){
  .knowledge-wrap,
  .museum-wrap,
  .contact-page,
  .books-section{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }
  .contact-page{padding-top:52px !important;padding-bottom:64px !important;}
}

/* Veiligheidsnet voor oude full-width overrides in pagina-specifieke styles. */
@media (min-width:1450px){
  .knowledge-wrap,
  .museum-wrap,
  .contact-page,
  .books-section{
    max-width:var(--meso-content) !important;
  }
}

/* =========================================================
   UPDATE V240 — KENNISBANK ACTIEKAART & CONTACTPAGINA
   Herstelt de eerste Kennisbank-kaart en geeft Contact een
   rustiger, professioneler en meer samenhangend ontwerp.
   ========================================================= */

/* De primaire Kennisbank-kaart was door de algemene lichte kaartregel
   uit V238 licht geworden, terwijl de tekst licht bleef. Daarom krijgt
   deze kaart expliciet opnieuw een donkere, Mesopotamische basis. */
.knowledge-action.knowledge-action-primary{
  background:linear-gradient(135deg,#4b3325 0%,#6f472d 55%,#9b643d 100%) !important;
  border-color:#754b30 !important;
  color:#fffaf1 !important;
  box-shadow:0 16px 34px rgba(76,47,28,.20) !important;
}
.knowledge-action.knowledge-action-primary strong,
.knowledge-action.knowledge-action-primary small,
.knowledge-action.knowledge-action-primary span{
  color:#fffaf1 !important;
  opacity:1 !important;
}
.knowledge-action.knowledge-action-primary small{color:#f5e5cc !important;}
.knowledge-action.knowledge-action-primary .knowledge-action-icon{
  background:linear-gradient(145deg,#d7b475,#9a5e36) !important;
  border-color:rgba(255,247,232,.28) !important;
  color:#fffaf1 !important;
}
.knowledge-action.knowledge-action-primary:hover{
  background:linear-gradient(135deg,#3d2a20 0%,#603d28 55%,#8b5734 100%) !important;
  border-color:#a9794d !important;
}

/* CONTACT: duidelijke hero, betere hiërarchie en minder 'lege' vlakken. */
.contact-page{
  padding-top:56px !important;
  padding-bottom:88px !important;
}
.contact-hero{
  max-width:none !important;
  margin:0 0 34px !important;
  padding:clamp(32px,5vw,58px) !important;
  border-radius:30px !important;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%,rgba(197,154,90,.20),transparent 24%),
    linear-gradient(135deg,#fffaf2 0%,#f3e5d0 100%) !important;
}
.contact-hero:after{
  content:"𒀭 𒂊 𒈗";
  position:absolute;
  right:clamp(22px,4vw,54px);
  bottom:-18px;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:clamp(52px,8vw,100px);
  letter-spacing:.12em;
  color:rgba(100,65,39,.07);
  pointer-events:none;
}
.contact-hero > *{position:relative;z-index:1;}
.contact-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#7d4f30 !important;
  font-weight:900;
  letter-spacing:.18em;
  margin-bottom:14px !important;
}
.contact-hero h1{
  font-size:clamp(3.1rem,6vw,5.2rem) !important;
  line-height:.98 !important;
  max-width:11ch;
  margin:0 0 18px !important;
}
.contact-hero p:not(.eyebrow){
  font-size:clamp(1.05rem,1.8vw,1.24rem) !important;
  line-height:1.75 !important;
  color:#4b3a30 !important;
  max-width:68ch !important;
  margin-bottom:0 !important;
}

.contact-grid{
  gap:30px !important;
  align-items:stretch !important;
}
.contact-card{
  border-radius:28px !important;
  padding:clamp(30px,4vw,44px) !important;
  min-height:100%;
}
.contact-direct{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 16%,rgba(197,154,90,.15),transparent 26%),
    linear-gradient(145deg,#fffaf2,#f2e3cc) !important;
}
.contact-direct:after{
  content:"𒀭";
  position:absolute;
  right:24px;
  bottom:-34px;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:120px;
  color:rgba(100,65,39,.06);
  pointer-events:none;
}
.contact-direct > *{position:relative;z-index:1;}
.contact-icon{
  width:64px !important;
  height:64px !important;
  border-radius:20px !important;
  box-shadow:0 10px 22px rgba(78,48,27,.16);
}
.contact-card h2{
  font-size:clamp(1.75rem,2.5vw,2.25rem) !important;
  color:var(--meso-ink-strong) !important;
  margin-bottom:16px !important;
}
.contact-card p{
  color:var(--meso-text) !important;
  line-height:1.78 !important;
  font-size:1.02rem;
}
.contact-note{
  display:inline-block;
  margin-top:8px !important;
  padding:10px 14px;
  border-radius:12px;
  background:rgba(255,250,241,.72);
  border:1px solid var(--meso-border);
  color:#704529 !important;
  font-weight:700;
}
.contact-form-card{
  background:linear-gradient(145deg,#fffdf8,#f7eddf) !important;
}
.contact-form{
  gap:19px !important;
}
.contact-form label{
  color:#3e3028 !important;
  font-weight:800 !important;
}
.contact-form input,
.contact-form textarea{
  border-radius:16px !important;
  padding:15px 17px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.contact-form textarea{min-height:170px;resize:vertical;}
.contact-submit{
  margin-top:4px;
  border-radius:14px !important;
  padding:15px 26px !important;
  box-shadow:0 10px 22px rgba(78,48,27,.16);
}
.contact-bottom{
  margin-top:30px !important;
  padding:clamp(30px,4vw,48px) !important;
  border-radius:28px !important;
  border:1px solid rgba(218,182,120,.28);
  box-shadow:0 18px 42px rgba(57,37,24,.16);
  background:
    radial-gradient(circle at 85% 18%,rgba(197,154,90,.22),transparent 28%),
    linear-gradient(135deg,#39271f,#5a3927 60%,#754c31) !important;
}
.contact-bottom h2{font-size:clamp(1.7rem,3vw,2.35rem) !important;}
.contact-bottom p{color:#f5e8d6 !important;opacity:1 !important;}
.contact-links a{
  border:1px solid rgba(255,243,220,.20);
  border-radius:12px;
  padding:11px 14px !important;
  background:rgba(255,255,255,.05);
  transition:.2s ease;
}
.contact-links a:hover{
  background:rgba(255,255,255,.11);
  border-color:rgba(239,196,119,.55);
  transform:translateY(-1px);
}

@media(max-width:820px){
  .contact-page{padding-top:32px !important;}
  .contact-hero{padding:32px 26px !important;border-radius:24px !important;}
  .contact-hero h1{font-size:clamp(2.8rem,13vw,4.1rem) !important;max-width:none;}
  .contact-grid{gap:20px !important;}
  .contact-card{padding:28px 24px !important;border-radius:22px !important;}
  .contact-bottom{padding:30px 24px !important;border-radius:22px !important;}
}

/* =========================================================
   UPDATE V241 — MUSEUM LINK & OVER RINUS
   ========================================================= */

/* Museummodal: de knop/link naar de museumbron moet op de donkere knop
   helder blijven en mag niet door algemene kennisbankkleurregels worden
   overschreven. */
.museum-panel .museum-source,
.museum-modal .museum-source,
#museum-modal .museum-source{
  background:linear-gradient(135deg,#5d476f,#735783) !important;
  color:#fff7e8 !important;
  border:1px solid rgba(255,244,221,.34) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.20) !important;
  box-shadow:0 10px 24px rgba(52,37,64,.22) !important;
}
.museum-panel .museum-source:hover,
.museum-modal .museum-source:hover,
#museum-modal .museum-source:hover{
  color:#ffffff !important;
  background:linear-gradient(135deg,#6b527f,#876796) !important;
}

/* OVER RINUS: rustige academische presentatie in dezelfde Mesopotamische
   vormentaal als de rest van de vernieuwde website. */
.portfolio-rinus.v48{
  background:
    radial-gradient(circle at 12% 5%,rgba(194,147,78,.12),transparent 25%),
    radial-gradient(circle at 88% 22%,rgba(120,77,45,.08),transparent 23%),
    linear-gradient(180deg,#fffdf8 0%,#f7efe3 100%) !important;
  color:#3b2c24 !important;
  padding:0 0 26px;
}
.portfolio-rinus.v48 .portfolio-hero{
  max-width:1240px !important;
  margin:0 auto !important;
  padding:clamp(56px,7vw,96px) 32px clamp(62px,7vw,100px) !important;
  gap:clamp(38px,6vw,76px) !important;
  position:relative;
}
.portfolio-rinus.v48 .portfolio-hero:before{
  content:"𒀭 𒂊 𒈗";
  position:absolute;
  left:32px;
  top:22px;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:clamp(18px,2vw,28px);
  letter-spacing:.34em;
  color:rgba(122,78,42,.22);
  pointer-events:none;
}
.portfolio-rinus.v48 .portfolio-hero-copy{position:relative;z-index:1;}
.portfolio-rinus.v48 .portfolio-hero .eyebrow,
.portfolio-rinus.v48 .portfolio-intro .eyebrow,
.portfolio-rinus.v48 .portfolio-cards .eyebrow,
.portfolio-rinus.v48 .portfolio-method .eyebrow,
.portfolio-rinus.v48 .portfolio-cta .eyebrow{
  color:#8a5a35 !important;
  letter-spacing:.18em !important;
  font-weight:900 !important;
}
.portfolio-rinus.v48 .portfolio-hero h1{
  color:#35261f !important;
  font-size:clamp(3.6rem,7vw,6.2rem) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  margin:12px 0 20px !important;
}
.portfolio-rinus.v48 .portfolio-lead{
  color:#4f4037 !important;
  font-size:clamp(1.05rem,1.6vw,1.25rem) !important;
  line-height:1.78 !important;
  max-width:60ch !important;
}
.portfolio-rinus.v48 .portfolio-tags{margin-top:24px !important;gap:10px !important;}
.portfolio-rinus.v48 .portfolio-tags span{
  background:rgba(255,251,244,.82) !important;
  color:#704a2d !important;
  border:1px solid rgba(151,104,60,.22) !important;
  padding:9px 14px !important;
  font-size:.72rem !important;
  letter-spacing:.04em;
  box-shadow:0 8px 18px rgba(74,48,29,.06);
}
.portfolio-rinus.v48 .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px !important;}
.portfolio-rinus.v48 .hero-actions .btn{
  border-radius:14px !important;
  padding:13px 20px !important;
  font-weight:800 !important;
}
.portfolio-rinus.v48 .hero-actions .btn-primary{
  background:linear-gradient(135deg,#6a442c,#9b6a3f) !important;
  border-color:#8b5b36 !important;
  color:#fffaf2 !important;
  box-shadow:0 12px 24px rgba(82,50,28,.18);
}
.portfolio-rinus.v48 .hero-actions .btn-ghost{
  background:#fffaf2 !important;
  color:#5c3c28 !important;
  border:1px solid rgba(112,72,40,.22) !important;
}
.portfolio-rinus.v48 .portfolio-photo-wrap{
  width:min(410px,100%) !important;
  padding:10px;
  border-radius:34px !important;
  background:linear-gradient(145deg,#fffaf2,#e7cfad) !important;
  box-shadow:0 28px 60px rgba(72,46,28,.16) !important;
}
.portfolio-rinus.v48 .portfolio-photo-wrap:before{
  inset:18px -18px -18px 18px !important;
  background:rgba(146,95,52,.13) !important;
  border-radius:32px !important;
}
.portfolio-rinus.v48 .portfolio-photo-wrap img{
  border-radius:27px !important;
  border:1px solid rgba(104,67,39,.13);
}
.portfolio-rinus.v48 .portfolio-intro{
  max-width:1040px !important;
  padding:clamp(48px,6vw,78px) 34px !important;
  margin:0 auto !important;
  text-align:center;
}
.portfolio-rinus.v48 .portfolio-intro h2{
  color:#35261f !important;
  font-size:clamp(2.2rem,4.2vw,3.7rem) !important;
  line-height:1.08 !important;
  margin:12px 0 18px !important;
}
.portfolio-rinus.v48 .portfolio-intro p{
  color:#4d4037 !important;
  max-width:78ch;
  margin:0 auto !important;
  font-size:1.04rem !important;
  line-height:1.85 !important;
}
.portfolio-rinus.v48 .portfolio-cards{
  max-width:1240px !important;
  padding:0 32px clamp(62px,7vw,92px) !important;
  gap:20px !important;
}
.portfolio-rinus.v48 .portfolio-cards article{
  min-height:300px !important;
  padding:30px !important;
  background:linear-gradient(145deg,#fffdf8,#f6ead9) !important;
  border:1px solid rgba(139,91,51,.18) !important;
  border-radius:26px !important;
  box-shadow:0 16px 34px rgba(73,48,29,.08) !important;
  position:relative;
  overflow:hidden;
}
.portfolio-rinus.v48 .portfolio-cards article:after{
  content:"";
  position:absolute;
  left:30px;right:30px;bottom:0;height:3px;
  background:linear-gradient(90deg,#8b5b36,#d0ad78,transparent);
  opacity:.8;
}
.portfolio-rinus.v48 .portfolio-card-icon{
  width:62px;height:62px;
  display:grid;place-items:center;
  border-radius:18px;
  margin-bottom:18px !important;
  font-size:1.7rem !important;
  color:#fff7ea !important;
  background:linear-gradient(145deg,#6d482f,#a87642) !important;
  box-shadow:0 12px 24px rgba(89,55,29,.16);
}
.portfolio-rinus.v48 .portfolio-cards h3{
  color:#35261f !important;
  font-size:1.55rem !important;
  line-height:1.2 !important;
  margin:10px 0 13px !important;
}
.portfolio-rinus.v48 .portfolio-cards p{
  color:#54453b !important;
  font-size:.98rem !important;
  line-height:1.72 !important;
}
.portfolio-rinus.v48 .portfolio-method{
  max-width:1176px !important;
  margin:0 auto clamp(56px,7vw,90px) !important;
  padding:clamp(38px,5vw,62px) !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 88% 15%,rgba(205,163,101,.22),transparent 28%),
    linear-gradient(135deg,#3c2a21,#60402d 62%,#785136) !important;
  color:#fff5e5 !important;
  box-shadow:0 24px 50px rgba(61,38,25,.18) !important;
}
.portfolio-rinus.v48 .portfolio-method h2{color:#fff8ed !important;font-size:clamp(2rem,3.5vw,3.25rem) !important;}
.portfolio-rinus.v48 .portfolio-method p{color:#f4e4cc !important;font-size:1.02rem !important;line-height:1.82 !important;}
.portfolio-rinus.v48 .portfolio-method .eyebrow{color:#dcb37a !important;}
.portfolio-rinus.v48 .portfolio-pillars{gap:10px !important;margin-top:24px !important;}
.portfolio-rinus.v48 .portfolio-pillars span{
  background:rgba(255,255,255,.08) !important;
  color:#fff2de !important;
  border:1px solid rgba(244,211,164,.25) !important;
  padding:10px 14px !important;
  font-size:.74rem !important;
}
.portfolio-rinus.v48 .portfolio-cta{
  max-width:1176px !important;
  margin:0 auto 66px !important;
  padding:clamp(34px,5vw,56px) !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,#f0dfc6,#d6b27d) !important;
  color:#39291f !important;
  box-shadow:0 18px 40px rgba(75,48,27,.11) !important;
}
.portfolio-rinus.v48 .portfolio-cta h2{color:#38281f !important;font-size:clamp(1.9rem,3.2vw,3rem) !important;}
.portfolio-rinus.v48 .portfolio-cta .eyebrow{color:#79502f !important;}
.portfolio-rinus.v48 .portfolio-cta .btn-light{
  background:#4b3325 !important;
  color:#fff8eb !important;
  border:1px solid rgba(75,51,37,.2) !important;
  border-radius:14px !important;
  padding:14px 22px !important;
  font-weight:800 !important;
  box-shadow:0 12px 24px rgba(70,44,27,.14);
}
@media(max-width:820px){
  .portfolio-rinus.v48 .portfolio-hero{padding:54px 22px 60px !important;}
  .portfolio-rinus.v48 .portfolio-hero:before{left:22px;}
  .portfolio-rinus.v48 .portfolio-photo-wrap{justify-self:start !important;}
  .portfolio-rinus.v48 .portfolio-intro{padding:48px 22px !important;text-align:left;}
  .portfolio-rinus.v48 .portfolio-cards{padding:0 22px 56px !important;}
  .portfolio-rinus.v48 .portfolio-method,.portfolio-rinus.v48 .portfolio-cta{margin-left:22px !important;margin-right:22px !important;}
}
@media(max-width:520px){
  .portfolio-rinus.v48 .portfolio-hero h1{font-size:clamp(3.1rem,16vw,4.7rem) !important;}
  .portfolio-rinus.v48 .portfolio-cards article{padding:26px !important;}
  .portfolio-rinus.v48 .portfolio-method{padding:32px 24px !important;}
  .portfolio-rinus.v48 .portfolio-cta{padding:32px 24px !important;}
}

/* V243 — OVER RINUS: knowledge-base visual system
   Brings the biography page into the same clay / parchment / cuneiform
   design language used by the Kennisbank. */
.portfolio-rinus.v48{
  --rinus-ink:#33261f;
  --rinus-muted:#6a5748;
  --rinus-clay:#8a5a35;
  --rinus-bronze:#b98b52;
  --rinus-paper:#fffdf8;
  --rinus-sand:#f3e8d7;
  background:#f8f1e5 !important;
  position:relative;
  overflow:hidden;
}
.portfolio-rinus.v48:before{
  content:"𒀭 𒂍 𒆠 𒈗 𒌓 𒌋 𒀀 𒊩 𒋗 𒂊 𒆠 𒈗 𒀭";
  display:block;
  height:40px;
  line-height:40px;
  overflow:hidden;
  white-space:nowrap;
  text-align:center;
  color:#c49b62 !important;
  background:#3b2a20;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:18px;
  letter-spacing:.65em;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}
.portfolio-rinus.v48 .portfolio-hero{
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr) !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 86% 16%,rgba(198,157,96,.25),transparent 23%),
    linear-gradient(180deg,#fffdf8 0%,#f4e8d7 100%) !important;
  border-bottom:1px solid rgba(121,81,46,.16);
  padding:clamp(62px,8vw,108px) max(32px,calc((100vw - 1180px)/2)) !important;
}
.portfolio-rinus.v48 .portfolio-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:linear-gradient(90deg,transparent,#b8874f 15%,#6d452c 50%,#b8874f 85%,transparent);
  opacity:.6;
}
.portfolio-rinus.v48 .portfolio-hero-copy{max-width:760px;}
.portfolio-rinus.v48 .portfolio-hero .eyebrow,
.portfolio-rinus.v48 .portfolio-intro .eyebrow,
.portfolio-rinus.v48 .portfolio-cards .eyebrow,
.portfolio-rinus.v48 .portfolio-method .eyebrow,
.portfolio-rinus.v48 .portfolio-cta .eyebrow{
  font-family:Georgia,"Times New Roman",serif;
  font-size:.78rem !important;
  letter-spacing:.18em !important;
}
.portfolio-rinus.v48 .portfolio-hero h1{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(3.3rem,6vw,5.7rem) !important;
  color:var(--rinus-ink) !important;
  max-width:9ch;
}
.portfolio-rinus.v48 .portfolio-lead{font-size:1.1rem !important;}
.portfolio-rinus.v48 .portfolio-tags span{
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
}
.portfolio-rinus.v48 .portfolio-photo-wrap{
  justify-self:end;
  width:min(390px,100%) !important;
  border-radius:28px !important;
  position:relative;
}
.portfolio-rinus.v48 .portfolio-photo-wrap:after{
  content:"𒀭";
  position:absolute;
  right:-18px;
  bottom:-18px;
  width:64px;height:64px;
  display:grid;place-items:center;
  border-radius:18px;
  color:#fff8ed;
  background:#6d482f;
  box-shadow:0 14px 30px rgba(74,47,28,.22);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:26px;
}
.portfolio-rinus.v48 .portfolio-intro{
  max-width:1180px !important;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px 52px;
  text-align:left !important;
  padding:clamp(58px,7vw,94px) 32px !important;
}
.portfolio-rinus.v48 .portfolio-intro .eyebrow{grid-row:span 2;align-self:start;padding-top:10px;}
.portfolio-rinus.v48 .portfolio-intro h2{
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(2.5rem,4vw,4rem) !important;
}
.portfolio-rinus.v48 .portfolio-intro p{grid-column:2;max-width:78ch;margin:0 !important;}
.portfolio-rinus.v48 .portfolio-cards{
  max-width:1180px !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  padding:0 32px clamp(70px,8vw,104px) !important;
}
.portfolio-rinus.v48 .portfolio-cards article{
  background:linear-gradient(180deg,#fffdf8,#f4e6d2) !important;
  border-radius:22px !important;
  border:1px solid rgba(132,88,49,.16) !important;
  min-height:330px !important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.portfolio-rinus.v48 .portfolio-cards article:hover{
  transform:translateY(-6px);
  border-color:rgba(139,91,54,.36) !important;
  box-shadow:0 24px 46px rgba(73,48,29,.14) !important;
}
.portfolio-rinus.v48 .portfolio-cards article:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#6d482f,#c69b62,#6d482f);
  opacity:.8;
}
.portfolio-rinus.v48 .portfolio-card-icon{
  border-radius:16px !important;
}
.portfolio-rinus.v48 .portfolio-method{
  max-width:1180px !important;
  display:grid !important;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr) !important;
  gap:52px !important;
  border:1px solid rgba(214,177,122,.22);
  position:relative;
  overflow:hidden;
}
.portfolio-rinus.v48 .portfolio-method:after{
  content:"𒀭 𒂊 𒈗 𒆠";
  position:absolute;
  right:32px;bottom:24px;
  color:rgba(245,226,198,.12);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:56px;
  letter-spacing:.35em;
  pointer-events:none;
}
.portfolio-rinus.v48 .portfolio-method>div{position:relative;z-index:1;}
.portfolio-rinus.v48 .portfolio-method h2{
  font-family:Georgia,"Times New Roman",serif !important;
  margin:8px 0 0 !important;
}
.portfolio-rinus.v48 .portfolio-cta{
  max-width:1180px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px;
  position:relative;
  overflow:hidden;
}
.portfolio-rinus.v48 .portfolio-cta:before{
  content:"𒀭";
  position:absolute;
  right:42%;top:-34px;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:120px;
  color:rgba(99,63,37,.08);
}
.portfolio-rinus.v48 .portfolio-cta>div,.portfolio-rinus.v48 .portfolio-cta>a{position:relative;z-index:1;}
@media(max-width:900px){
  .portfolio-rinus.v48 .portfolio-hero{grid-template-columns:1fr !important;}
  .portfolio-rinus.v48 .portfolio-photo-wrap{justify-self:start;margin-top:14px;}
  .portfolio-rinus.v48 .portfolio-intro{grid-template-columns:1fr !important;gap:16px;}
  .portfolio-rinus.v48 .portfolio-intro .eyebrow{grid-row:auto;padding-top:0;}
  .portfolio-rinus.v48 .portfolio-intro p{grid-column:auto;}
  .portfolio-rinus.v48 .portfolio-cards{grid-template-columns:1fr !important;}
  .portfolio-rinus.v48 .portfolio-method{grid-template-columns:1fr !important;gap:26px !important;}
}
@media(max-width:600px){
  .portfolio-rinus.v48:before{font-size:14px;letter-spacing:.34em;}
  .portfolio-rinus.v48 .portfolio-hero{padding-left:22px !important;padding-right:22px !important;}
  .portfolio-rinus.v48 .portfolio-intro{padding-left:22px !important;padding-right:22px !important;}
  .portfolio-rinus.v48 .portfolio-cta{display:block !important;}
  .portfolio-rinus.v48 .portfolio-cta .btn-light{display:inline-flex;margin-top:20px;}
}


/* =========================================================
   V244 — OVER RINUS: forced Kennisbank visual system
   Cache-safe, page-specific selectors. These rules intentionally
   do not depend only on the legacy v48 class.
   ========================================================= */
body.page-template-page-over-rinus-van-hagen,
body.page-template-page-over-rinus-van-hagen .site-main{background:#f6efe3 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-rinus,
.portfolio-rinus.v244{background:#f6efe3 !important;color:#30231d !important;}
.page-template-page-over-rinus-van-hagen .portfolio-rinus:before,
.portfolio-rinus.v244:before{content:"𒀭 𒂍 𒆠 𒈗 𒌓 𒌋 𒀀 𒊩 𒋗 𒂊 𒆠 𒈗 𒀭" !important;display:block !important;height:44px !important;line-height:44px !important;text-align:center !important;white-space:nowrap !important;overflow:hidden !important;background:#3a291f !important;color:#d8ae72 !important;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif !important;font-size:19px !important;letter-spacing:.58em !important;}
.page-template-page-over-rinus-van-hagen .portfolio-hero,
.portfolio-rinus.v244 .portfolio-hero{max-width:none !important;margin:0 !important;padding:78px max(36px,calc((100vw - 1180px)/2)) 84px !important;display:grid !important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important;gap:64px !important;align-items:center !important;position:relative !important;background:radial-gradient(circle at 86% 10%,rgba(195,151,89,.30),transparent 28%),linear-gradient(135deg,#fffdf8 0%,#f0dfc7 100%) !important;border-bottom:4px solid #9d7042 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-hero:before,
.portfolio-rinus.v244 .portfolio-hero:before{content:"SPIJKERSCHRIFT · MESOPOTAMIË · CULTUURGESCHIEDENIS" !important;position:absolute !important;left:0 !important;top:0 !important;width:100% !important;padding:10px 0 !important;text-align:center !important;background:#5a3c29 !important;color:#e4bf84 !important;font-family:Georgia,"Times New Roman",serif !important;font-size:11px !important;letter-spacing:.22em !important;}
.page-template-page-over-rinus-van-hagen .portfolio-hero-copy{padding-top:18px !important;max-width:720px !important;}
.page-template-page-over-rinus-van-hagen .portfolio-hero h1,
.portfolio-rinus.v244 .portfolio-hero h1{font-family:Georgia,"Times New Roman",serif !important;font-size:clamp(3.8rem,7vw,6.5rem) !important;line-height:.95 !important;letter-spacing:-.045em !important;color:#33241c !important;margin:12px 0 22px !important;max-width:9ch !important;}
.page-template-page-over-rinus-van-hagen .portfolio-lead{font-size:1.22rem !important;line-height:1.75 !important;color:#5e4b3e !important;max-width:60ch !important;}
.page-template-page-over-rinus-van-hagen .portfolio-tags span{background:#fdf8ef !important;color:#67462f !important;border:1px solid rgba(119,76,41,.20) !important;padding:8px 14px !important;font-size:.73rem !important;box-shadow:0 8px 18px rgba(70,44,27,.06) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-photo-wrap{width:min(430px,100%) !important;padding:12px !important;justify-self:end !important;background:linear-gradient(145deg,#fff9ee,#caa36f) !important;border-radius:34px !important;box-shadow:0 30px 65px rgba(71,44,27,.22) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-photo-wrap img{border-radius:26px !important;display:block !important;width:100% !important;}
.page-template-page-over-rinus-van-hagen .portfolio-intro{max-width:1180px !important;margin:0 auto !important;padding:82px 34px 60px !important;display:grid !important;grid-template-columns:180px minmax(0,1fr) !important;gap:24px 54px !important;text-align:left !important;}
.page-template-page-over-rinus-van-hagen .portfolio-intro .eyebrow{grid-row:span 2 !important;align-self:start !important;padding-top:12px !important;}
.page-template-page-over-rinus-van-hagen .portfolio-intro h2{font-family:Georgia,"Times New Roman",serif !important;font-size:clamp(2.7rem,5vw,4.5rem) !important;line-height:1.03 !important;margin:0 !important;color:#34251d !important;}
.page-template-page-over-rinus-van-hagen .portfolio-intro p{grid-column:2 !important;max-width:78ch !important;margin:0 !important;color:#59483c !important;font-size:1.06rem !important;line-height:1.9 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cards{max-width:1180px !important;margin:0 auto !important;padding:20px 34px 90px !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cards article{min-height:350px !important;padding:34px !important;background:linear-gradient(180deg,#fffdf8,#f1dfc8) !important;border:1px solid rgba(129,82,44,.18) !important;border-radius:24px !important;box-shadow:0 18px 40px rgba(73,47,29,.10) !important;position:relative !important;overflow:hidden !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cards article:before{content:"" !important;position:absolute !important;left:0 !important;top:0 !important;width:100% !important;height:6px !important;background:linear-gradient(90deg,#6c452c,#c59a61,#6c452c) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-card-icon{width:62px !important;height:62px !important;display:grid !important;place-items:center !important;border-radius:18px !important;background:#6a452d !important;color:#fff5e6 !important;font-size:1.8rem !important;margin-bottom:20px !important;box-shadow:0 12px 24px rgba(71,45,27,.16) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cards h3{font-family:Georgia,"Times New Roman",serif !important;font-size:1.65rem !important;color:#34251d !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cards p{color:#59483c !important;font-size:1rem !important;line-height:1.78 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-method{max-width:1180px !important;margin:0 auto 72px !important;padding:58px !important;display:grid !important;grid-template-columns:.82fr 1.18fr !important;gap:60px !important;background:linear-gradient(135deg,#35251c,#60412c 62%,#805737) !important;border:1px solid rgba(217,178,116,.28) !important;border-radius:30px !important;box-shadow:0 28px 60px rgba(55,35,23,.20) !important;color:#fff4e2 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-method h2{font-family:Georgia,"Times New Roman",serif !important;color:#fff8ec !important;font-size:clamp(2.3rem,4vw,3.8rem) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-method p{color:#f2e1c8 !important;font-size:1.08rem !important;line-height:1.9 !important;}
.page-template-page-over-rinus-van-hagen .portfolio-pillars span{background:rgba(255,255,255,.08) !important;color:#fff2df !important;border:1px solid rgba(232,193,132,.24) !important;padding:11px 15px !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cta{max-width:1180px !important;margin:0 auto 76px !important;padding:50px 58px !important;border-radius:28px !important;display:flex !important;justify-content:space-between !important;align-items:center !important;gap:30px !important;background:linear-gradient(135deg,#e9d3b2,#c89b61) !important;box-shadow:0 22px 48px rgba(72,46,27,.13) !important;}
.page-template-page-over-rinus-van-hagen .portfolio-cta h2{font-family:Georgia,"Times New Roman",serif !important;color:#39291f !important;font-size:clamp(2rem,3.5vw,3.3rem) !important;}
@media(max-width:820px){.page-template-page-over-rinus-van-hagen .portfolio-hero{grid-template-columns:1fr !important;padding:64px 22px 60px !important;}.page-template-page-over-rinus-van-hagen .portfolio-photo-wrap{justify-self:start !important;}.page-template-page-over-rinus-van-hagen .portfolio-intro{grid-template-columns:1fr !important;padding:60px 22px 40px !important;}.page-template-page-over-rinus-van-hagen .portfolio-intro .eyebrow,.page-template-page-over-rinus-van-hagen .portfolio-intro p{grid-column:auto !important;grid-row:auto !important;}.page-template-page-over-rinus-van-hagen .portfolio-cards{grid-template-columns:1fr !important;padding:20px 22px 60px !important;}.page-template-page-over-rinus-van-hagen .portfolio-method{grid-template-columns:1fr !important;margin-left:22px !important;margin-right:22px !important;padding:38px 28px !important;}.page-template-page-over-rinus-van-hagen .portfolio-cta{margin-left:22px !important;margin-right:22px !important;padding:36px 28px !important;flex-direction:column !important;align-items:flex-start !important;}}


/* =========================================================
   V245 — OVER RINUS: exact reference layout
   The page uses a unique wrapper so old portfolio rules cannot
   influence this composition.
   ========================================================= */
.rvh-reference-v245{
  --rvh-ink:#34251d;
  --rvh-copy:#5c544e;
  --rvh-brown:#7a4c2d;
  --rvh-gold:#b78950;
  --rvh-paper:#fbf8f1;
  --rvh-sand:#f3eadc;
  width:100%;
  background:
    radial-gradient(circle at 72% 9%,rgba(198,158,95,.14),transparent 23%),
    linear-gradient(180deg,#faf7ef 0%,#f5eee2 100%);
  color:var(--rvh-ink);
  padding:0 0 84px;
}
.rvh-reference-v245 *{box-sizing:border-box;}
.rvh-reference-hero{
  width:min(1120px,calc(100% - 72px));
  margin:0 auto;
  min-height:590px;
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:78px;
  align-items:center;
  padding:82px 0 62px;
}
.rvh-reference-photo{position:relative;width:100%;align-self:center;}
.rvh-reference-photo:before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:28px;
  background:linear-gradient(145deg,#d7b47b,#8b6137);
  z-index:0;
  box-shadow:0 20px 48px rgba(83,55,31,.24);
}
.rvh-reference-photo img{
  position:relative;z-index:1;display:block;width:100%;aspect-ratio:1.22/1;
  object-fit:cover;border-radius:22px;
}
.rvh-reference-medallion{
  position:absolute;right:-28px;bottom:18px;z-index:2;
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:#654426;color:#f8e4b9;border:2px solid #dec093;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:28px;
  box-shadow:0 10px 24px rgba(59,37,20,.22);
}
.rvh-reference-copy{padding-top:4px;}
.rvh-reference-eyebrow{
  color:#87654a!important;font-family:Georgia,"Times New Roman",serif!important;
  font-size:12px!important;line-height:1.2!important;letter-spacing:.20em!important;
  font-weight:700!important;text-transform:uppercase!important;
}
.rvh-reference-copy h1{
  margin:12px 0 22px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(4.4rem,7.1vw,6.8rem)!important;
  line-height:.88!important;letter-spacing:-.055em!important;color:#32231b!important;
  max-width:7ch!important;
}
.rvh-reference-lead{
  margin:0 0 24px!important;max-width:760px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.55rem,2.55vw,2.1rem)!important;line-height:1.24!important;
  color:#56505a!important;
}
.rvh-reference-text{
  margin:0!important;max-width:790px!important;color:#625c56!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.08rem!important;line-height:1.72!important;
}
.rvh-reference-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.rvh-reference-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:50px!important;padding:0 24px!important;border-radius:999px!important;
  text-decoration:none!important;font-weight:700!important;font-size:14px!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.rvh-reference-button:hover{transform:translateY(-2px)!important;}
.rvh-reference-button-primary{background:#7c4d2e!important;color:#fff8ec!important;box-shadow:0 12px 22px rgba(93,55,29,.17)!important;}
.rvh-reference-button-secondary{background:transparent!important;color:#6a4a31!important;border:1px solid rgba(133,92,53,.35)!important;}

.rvh-reference-cards{
  width:min(1120px,calc(100% - 72px));margin:12px auto 64px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
}
.rvh-reference-card{
  min-height:220px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;
  border:1px solid rgba(139,104,69,.23);border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(244,232,210,.72));
  text-decoration:none!important;color:var(--rvh-ink)!important;
  box-shadow:0 14px 32px rgba(88,62,37,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rvh-reference-card:hover{transform:translateY(-4px);border-color:rgba(132,84,45,.42);box-shadow:0 22px 44px rgba(83,54,30,.12);}
.rvh-reference-card-icon{
  width:100%;height:84px;margin-bottom:18px;display:flex;align-items:center;
  padding-left:6px;color:#98663c;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:44px;
  border:1px solid rgba(163,124,76,.22);background:linear-gradient(135deg,rgba(252,248,239,.7),rgba(235,215,184,.42));
}
.rvh-reference-card h2{margin:0 0 8px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.6rem!important;color:#3c3029!important;}
.rvh-reference-card p{margin:0!important;color:#6d645d!important;font-family:Georgia,"Times New Roman",serif!important;font-size:15px!important;line-height:1.55!important;}

.rvh-reference-work{
  width:min(1180px,calc(100% - 72px));margin:0 auto 28px;
  min-height:240px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:58px;
  padding:48px 58px;border:1px solid rgba(145,108,70,.20);border-radius:22px;
  background:rgba(255,253,248,.50);box-shadow:0 14px 34px rgba(90,62,38,.05);
}
.rvh-reference-work h2{margin:12px 0 0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2.8rem,4.4vw,4rem)!important;line-height:1.03!important;color:#34251d!important;}
.rvh-reference-work-text{align-self:center;}
.rvh-reference-work-text p{margin:0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.14rem!important;line-height:1.75!important;color:#625b54!important;}
.rvh-reference-detail-grid{width:min(1120px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.rvh-reference-detail-grid article{padding:30px;border-radius:18px;border:1px solid rgba(145,108,70,.18);background:rgba(255,255,255,.42);}
.rvh-reference-detail-grid h2{margin:14px 0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.55rem!important;color:#3c3029!important;}
.rvh-reference-detail-grid p{margin:0!important;color:#6a625a!important;line-height:1.7!important;}

@media(max-width:900px){
  .rvh-reference-hero{grid-template-columns:1fr;gap:38px;padding-top:54px;}
  .rvh-reference-photo{width:min(430px,100%);}
  .rvh-reference-copy h1{max-width:none!important;}
  .rvh-reference-cards{grid-template-columns:1fr;}
  .rvh-reference-work{grid-template-columns:1fr;gap:26px;}
  .rvh-reference-detail-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .rvh-reference-v245{padding-bottom:46px;}
  .rvh-reference-hero,.rvh-reference-cards,.rvh-reference-work,.rvh-reference-detail-grid{width:calc(100% - 32px);}
  .rvh-reference-hero{padding:38px 0 32px;}
  .rvh-reference-copy h1{font-size:4.1rem!important;}
  .rvh-reference-lead{font-size:1.5rem!important;}
  .rvh-reference-actions{flex-direction:column;align-items:stretch;}
  .rvh-reference-work{padding:32px 26px;}
}


/* V247 — final Over Rinus rebuild safeguard */
body.page-template-page-over-rinus-van-hagen .entry-content > .portfolio-rinus{display:none!important;}
body.page-template-page-over-rinus-van-hagen .rvh-reference-v245{display:block!important;}

/* =========================================================
   V248 — OVER RINUS: definitive content and visual rebuild
   ========================================================= */
body.page-template-page-over-rinus-van-hagen .rvh-v248{display:block!important;background:#f7f1e7!important;color:#34271f!important;overflow:hidden;}
.rvh-v248 *{box-sizing:border-box;}
.rvh-v248-hero{position:relative;padding:78px 0 72px;background:radial-gradient(circle at 78% 16%,rgba(187,139,83,.16),transparent 24%),linear-gradient(180deg,#fbf8f1 0%,#f4eadb 100%);}
.rvh-v248-hero:before{content:"𒀭 𒂊 𒈗";position:absolute;left:50%;top:18px;transform:translateX(-50%);font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;color:rgba(110,74,43,.16);letter-spacing:1.2rem;font-size:22px;white-space:nowrap;}
.rvh-v248-hero-inner{width:min(1180px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:420px minmax(0,1fr);gap:90px;align-items:center;}
.rvh-v248-photo-wrap{position:relative;}
.rvh-v248-photo-frame{padding:9px;border-radius:28px;background:linear-gradient(145deg,#e1c38d,#78502e);box-shadow:0 26px 65px rgba(75,46,24,.20);}
.rvh-v248-photo-frame img{display:block;width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:21px;filter:saturate(.9) contrast(1.03);}
.rvh-v248-sign{position:absolute;right:-25px;bottom:26px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#493021;color:#f7e7c8;border:2px solid #d8b77d;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:31px;box-shadow:0 15px 30px rgba(55,32,17,.25);}
.rvh-v248-copy{padding:18px 0;}
.rvh-v248-eyebrow{font-family:Georgia,"Times New Roman",serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.20em!important;color:#8a6443!important;text-transform:uppercase!important;}
.rvh-v248-copy h1{margin:13px 0 25px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(4.8rem,8vw,7.4rem)!important;line-height:.84!important;letter-spacing:-.06em!important;color:#32231b!important;}
.rvh-v248-lead{max-width:780px;margin:0 0 25px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(1.45rem,2.3vw,2.02rem)!important;line-height:1.25!important;color:#51473f!important;}
.rvh-v248-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;}
.rvh-v248-tags span{padding:8px 13px;border:1px solid rgba(123,83,47,.22);border-radius:999px;background:rgba(255,255,255,.5);font-size:13px;color:#71543d;font-weight:700;}
.rvh-v248-actions{display:flex;flex-wrap:wrap;gap:13px;}
.rvh-v248-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none!important;font-weight:700!important;font-size:14px!important;transition:.2s ease;}
.rvh-v248-btn:hover{transform:translateY(-2px);}
.rvh-v248-btn-primary{background:#71472c!important;color:#fff8eb!important;box-shadow:0 14px 26px rgba(91,53,27,.18);}
.rvh-v248-btn-secondary{border:1px solid rgba(113,71,44,.32);color:#63452f!important;background:rgba(255,255,255,.45);}
.rvh-v248-work{width:min(1180px,calc(100% - 72px));margin:0 auto;padding:82px 0 55px;}
.rvh-v248-section-label{display:inline-block;margin-bottom:24px;padding-bottom:10px;border-bottom:2px solid #b48654;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-weight:700;letter-spacing:.20em;color:#89623f;}
.rvh-v248-work-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start;}
.rvh-v248-work h2{margin:0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(3rem,5.2vw,5.3rem)!important;line-height:.95!important;letter-spacing:-.04em!important;color:#34251d!important;}
.rvh-v248-work p{margin:8px 0 0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.14rem!important;line-height:1.85!important;color:#5e554d!important;}
.rvh-v248-pillars{width:min(1180px,calc(100% - 72px));margin:0 auto 86px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.rvh-v248-pillar{position:relative;padding:32px 30px 34px;border:1px solid rgba(128,91,53,.18);border-radius:22px;background:linear-gradient(145deg,#fffdf8,rgba(239,222,196,.74));box-shadow:0 18px 40px rgba(78,48,27,.08);overflow:hidden;}
.rvh-v248-pillar:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#8a5b36,#d1a56b,#8a5b36);}
.rvh-v248-pillar-sign{margin-bottom:22px;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:42px;color:#9b6a42;line-height:1;}
.rvh-v248-pillar h3{margin:13px 0 16px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.75rem!important;line-height:1.18!important;color:#382920!important;}
.rvh-v248-pillar p{margin:0!important;color:#625951!important;line-height:1.78!important;font-size:1rem!important;}
.rvh-v248-education{position:relative;padding:82px 0;background:linear-gradient(135deg,#30221b 0%,#573b28 56%,#765033 100%);color:#fff6e8;overflow:hidden;}
.rvh-v248-education:before{content:"𒀭 𒂊 𒈗 𒀭 𒂊 𒈗";position:absolute;right:-25px;bottom:-44px;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:132px;letter-spacing:.15em;color:rgba(255,234,197,.045);white-space:nowrap;}
.rvh-v248-education-mark{position:absolute;left:50%;top:20px;transform:translateX(-50%);font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;letter-spacing:1rem;color:rgba(235,204,154,.38);font-size:18px;white-space:nowrap;}
.rvh-v248-education-grid{position:relative;width:min(1180px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center;}
.rvh-v248-eyebrow-light{color:#d5af7b!important;}
.rvh-v248-education h2{margin:15px 0 0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(3rem,5vw,5.1rem)!important;line-height:.98!important;letter-spacing:-.04em!important;color:#fff8ed!important;}
.rvh-v248-education-copy p{margin:0!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.15rem!important;line-height:1.9!important;color:#f0dfc6!important;}
.rvh-v248-number-nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(231,198,145,.24);}
.rvh-v248-number-nav span{font-size:13px;color:#e8cfac;letter-spacing:.03em;}
.rvh-v248-number-nav b{margin-right:7px;color:#fff8ed;font-size:17px;font-family:Georgia,"Times New Roman",serif;}
@media(max-width:920px){.rvh-v248-hero-inner,.rvh-v248-work-grid,.rvh-v248-education-grid{grid-template-columns:1fr;gap:42px;}.rvh-v248-photo-wrap{width:min(470px,100%);}.rvh-v248-pillars{grid-template-columns:1fr;}.rvh-v248-work{padding-top:64px;}.rvh-v248-work h2 br{display:none;}}
@media(max-width:620px){.rvh-v248-hero{padding:58px 0 50px;}.rvh-v248-hero-inner,.rvh-v248-work,.rvh-v248-pillars,.rvh-v248-education-grid{width:calc(100% - 32px);}.rvh-v248-hero-inner{gap:36px;}.rvh-v248-copy h1{font-size:4.55rem!important;}.rvh-v248-actions{flex-direction:column;align-items:stretch;}.rvh-v248-btn{width:100%;}.rvh-v248-work{padding:55px 0 40px;}.rvh-v248-pillars{margin-bottom:58px;}.rvh-v248-education{padding:68px 0;}.rvh-v248-education-grid{gap:36px;}.rvh-v248-education h2{font-size:3rem!important;}}

/* =========================================================
   UPDATE V249 — MESOPOTAMISCHE ORNAMENTBANDEN
   ========================================================= */
:root{
  --meso-ink:#24170f;
  --meso-clay:#5c3b28;
  --meso-bronze:#a8783e;
  --meso-sand:#efe2c8;
  --meso-parchment:#f8f1e5;
}

/* Reusable ornamental band for major page introductions */
.meso-ornament-band{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 24px;
  color:#f7ead1;
  background:
    linear-gradient(90deg, rgba(35,22,14,.98), rgba(92,59,40,.98) 50%, rgba(35,22,14,.98));
  border-top:1px solid rgba(201,154,83,.55);
  border-bottom:1px solid rgba(201,154,83,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(0,0,0,.22);
}
.meso-ornament-band::before,
.meso-ornament-band::after{
  content:'𒀭  ·  𒂊  ·  𒈗  ·  𒀭  ·  𒂊  ·  𒈗  ·  𒀭';
  position:absolute;
  left:0; right:0;
  text-align:center;
  white-space:nowrap;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:20px;
  letter-spacing:.24em;
  opacity:.18;
  pointer-events:none;
}
.meso-ornament-band::before{transform:translateY(-18px)}
.meso-ornament-band::after{transform:translateY(18px)}
.meso-ornament-band span{
  position:relative;
  z-index:1;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:25px;
  letter-spacing:.55em;
  text-shadow:0 1px 0 rgba(0,0,0,.45);
}
.meso-ornament-band--light{
  color:var(--meso-clay);
  background:linear-gradient(90deg,#e9d6b4,#f8f0e1,#e9d6b4);
  border-color:rgba(126,80,40,.28);
}
.meso-ornament-band--light span{color:var(--meso-clay);text-shadow:none}
.meso-ornament-band--light::before,
.meso-ornament-band--light::after{opacity:.11;color:var(--meso-clay)}

/* Over Rinus: ornamental architecture */
.rvh-v248 .meso-ornament-band{margin:0}
.rvh-v248-hero{position:relative}
.rvh-v248-hero-inner{position:relative}
.rvh-v248-work{position:relative}
.rvh-v248-work::before{
  content:'';
  display:block;
  height:18px;
  margin:-1px 0 44px;
  background:repeating-linear-gradient(90deg,transparent 0 42px,rgba(92,59,40,.16) 42px 44px),linear-gradient(90deg,#e5cfaa,#f6eddf,#e5cfaa);
  border-top:1px solid rgba(92,59,40,.2);
  border-bottom:1px solid rgba(92,59,40,.2);
}
.rvh-v248-education .meso-ornament-band{margin:-1px -1px 34px}

/* Generic WordPress pages: opt-in band through page header wrappers */
.page .page-hero > .meso-ornament-band,
.page-intro > .meso-ornament-band,
.hero > .meso-ornament-band{margin:-88px -24px 46px}

@media(max-width:700px){
  .meso-ornament-band{min-height:48px;padding:8px 14px}
  .meso-ornament-band span{font-size:19px;letter-spacing:.28em}
  .meso-ornament-band::before,.meso-ornament-band::after{font-size:15px;letter-spacing:.14em}
}


/* =========================================================
   UPDATE V250 — SITE-WIDE CONTRAST & READABILITY SYSTEM
   Light backgrounds = dark brown text
   Dark backgrounds = light cream text
   ========================================================= */
:root{
  --meso-text-dark:#2d1b12;
  --meso-text-dark-soft:#4a3022;
  --meso-text-cream:#f8efdc;
  --meso-text-cream-soft:#eadcc3;
  --meso-link-dark:#6b3f1f;
  --meso-link-light:#f2c987;
}

/* Global readable default for content on light surfaces */
body,
.site-content,
main,
article,
.entry-content,
.page-content,
.post-content,
[class*="content"],
[class*="card"],
[class*="panel"]{
  color:var(--meso-text-dark);
}

/* Strong hierarchy on light backgrounds */
.site-content :is(p,li,dd,dt,blockquote,figcaption,.description,.subtitle,.lead,.excerpt,.entry-content,.page-content),
main :is(p,li,dd,dt,blockquote,figcaption,.description,.subtitle,.lead,.excerpt),
.meso-map-card :is(p,li,span:not(.meso-map-timeline-labels span)),
.spa-text-card :is(p,li,span),
.spa-lesson-card :is(p,li,span),
.spa-summary :is(p,li,span),
.spa-lesson-example :is(p,li,span),
.spa-table :is(td,th),
.rvh-v248 :is(p,li,span:not(.meso-ornament-band span)){
  color:var(--meso-text-dark) !important;
}
.site-content :is(h1,h2,h3,h4,h5,h6),
main :is(h1,h2,h3,h4,h5,h6),
.meso-map-card :is(h1,h2,h3,h4),
.spa-text-card :is(h1,h2,h3,h4),
.spa-lesson-card :is(h1,h2,h3,h4),
.rvh-v248 :is(h1,h2,h3,h4,h5,h6){
  color:#24150e !important;
}
.site-content a:not(.button):not(.btn):not(.wp-element-button),
main a:not(.button):not(.btn):not(.wp-element-button){
  color:var(--meso-link-dark);
}

/* Explicit dark-surface contract: every piece of normal text becomes cream */
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],[class*="dark-bg"],[class*="dark-hero"]){
  color:var(--meso-text-cream) !important;
}
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],[class*="dark-bg"],[class*="dark-hero"])
:is(p,li,span,small,em,strong,b,i,blockquote,figcaption,dd,dt,.description,.subtitle,.lead,.excerpt){
  color:var(--meso-text-cream-soft) !important;
}
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],[class*="dark-bg"],[class*="dark-hero"])
:is(h1,h2,h3,h4,h5,h6,.title,.heading){
  color:var(--meso-text-cream) !important;
}
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],[class*="dark-bg"],[class*="dark-hero"]) a:not(.button):not(.btn):not(.wp-element-button){
  color:var(--meso-link-light) !important;
}

/* Preserve intentional button and badge contrast */
:where(.button,.btn,.wp-element-button,.spa-button,.spa-save-button,.spa-badge) :is(span,strong),
:where(a.button,a.btn,a.wp-element-button,.spa-button,.spa-save-button,.spa-badge){
  color:inherit;
}

/* Timeline: permanently high contrast, regardless of inherited page colours */
.meso-map-timeline,
.meso-map-timeline-head,
.meso-map-timeline-labels{color:var(--meso-text-dark) !important;}
.meso-map-timeline :is(h1,h2,h3,h4,strong,b,span,p),
.meso-map-timeline-head :is(h1,h2,h3,h4,strong,b,span,p),
.meso-map-timeline-labels :is(h1,h2,h3,h4,strong,b,span,p){color:var(--meso-text-dark) !important;}

/* Form fields must never inherit low-contrast decorative colours */
input:not([type="submit"]),textarea,select{
  background:#fffdf8;
  color:var(--meso-text-dark) !important;
  border-color:#9b795b;
}
input::placeholder,textarea::placeholder{color:#765b48 !important;opacity:1;}

/* Selection and focus remain readable */
::selection{background:#7a4a2d;color:#fff6e8;}


/* ============================================================
   V251 — SITEWIDE READABILITY CONTRACT
   Dark backgrounds = white text. Light backgrounds = brown text.
   ============================================================ */
:root{
  --meso-light-text:#ffffff;
  --meso-light-text-soft:#f7f7f5;
  --meso-brown-text:#3f2416;
  --meso-brown-heading:#2f190f;
  --meso-brown-link:#6b3f24;
}

/* LIGHT SURFACES: brown text, never inherited pale/white text */
.site-content,
main,
article,
.page,
.post,
[class*="light-section"],
[class*="light-panel"],
[class*="light-card"],
[class*="cream"],
[class*="parchment"],
[class*="sand"],
[class*="paper"]{
  color:var(--meso-brown-text);
}
.site-content :is(p,li,span,small,em,strong,b,i,blockquote,figcaption,dd,dt,.description,.subtitle,.lead,.excerpt),
main :is(p,li,span,small,em,strong,b,i,blockquote,figcaption,dd,dt,.description,.subtitle,.lead,.excerpt){
  color:var(--meso-brown-text);
}
.site-content :is(h1,h2,h3,h4,h5,h6,.title,.heading),
main :is(h1,h2,h3,h4,h5,h6,.title,.heading){
  color:var(--meso-brown-heading);
}
.site-content a:not(.button):not(.btn):not(.wp-element-button),
main a:not(.button):not(.btn):not(.wp-element-button){
  color:var(--meso-brown-link);
}

/* DARK SURFACES: pure white text */
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,
[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],
[class*="dark-bg"],[class*="dark-hero"],[class*="dark-surface"],
[class*="dark"]){
  color:var(--meso-light-text) !important;
}
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,
[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],
[class*="dark-bg"],[class*="dark-hero"],[class*="dark-surface"])
:is(h1,h2,h3,h4,h5,h6,.title,.heading,p,li,span,small,em,strong,b,i,
blockquote,figcaption,dd,dt,.description,.subtitle,.lead,.excerpt){
  color:var(--meso-light-text) !important;
}
:where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,
[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],
[class*="dark-bg"],[class*="dark-hero"],[class*="dark-surface"])
a:not(.button):not(.btn):not(.wp-element-button){
  color:#ffffff !important;
  text-decoration-color:rgba(255,255,255,.7);
}

/* Common buttons retain their intended component contrast */
.button,.btn,.wp-element-button,.spa-button,.spa-save-button,.spa-badge{
  color:inherit;
}


/* ============================================================
   V252 — HOMEPAGE DARK FEATURE HEADLINE CONTRAST FIX
   Any dark promotional surface must override the general brown
   headline rule, including nested headings and text.
   ============================================================ */
main :where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,
[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],
[class*="dark-bg"],[class*="dark-hero"],[class*="dark-surface"],[class*="dark"])
:is(h1,h2,h3,h4,h5,h6,.title,.heading){
  color:#ffffff !important;
  text-shadow:0 1px 1px rgba(0,0,0,.28) !important;
}
main :where(.knowledge-dark,.rvh-v248-education,.site-footer,.footer,
[class*="dark-section"],[class*="dark-panel"],[class*="dark-card"],
[class*="dark-bg"],[class*="dark-hero"],[class*="dark-surface"],[class*="dark"])
:is(p,li,span,small,em,strong,b,i,blockquote,figcaption,dd,dt,.description,.subtitle,.lead,.excerpt){
  color:#ffffff !important;
}
/* Specifically reinforce large book/promotion headings on the homepage. */
body.home main :where([class*="book"],[class*="promo"],[class*="feature"])[class*="dark"]
:is(h1,h2,h3,.title,.heading){color:#ffffff !important;}


/* ============================================================
   V253 — WHOLE-SITE CONTRAST AUDIT
   Final readability contract:
   - dark rendered surface  -> white text
   - light rendered surface -> dark brown text
   The classes below are added by a small runtime contrast auditor
   that checks the actual computed background of each text element.
   ============================================================ */
:root{
  --spa-readable-light:#ffffff;
  --spa-readable-dark:#3b2114;
  --spa-readable-dark-heading:#2c180f;
}

.spa-auto-contrast-dark,
.spa-auto-contrast-dark:is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a){
  color:var(--spa-readable-light) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.24);
}
.spa-auto-contrast-light,
.spa-auto-contrast-light:is(p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label){
  color:var(--spa-readable-dark) !important;
  text-shadow:none !important;
}
.spa-auto-contrast-light:is(h1,h2,h3,h4,h5,h6){
  color:var(--spa-readable-dark-heading) !important;
  text-shadow:none !important;
}
a.spa-auto-contrast-dark:not(.button):not(.btn):not(.wp-element-button){color:#ffffff !important;}
a.spa-auto-contrast-light:not(.button):not(.btn):not(.wp-element-button){color:#6b3f24 !important;}

/* Explicit utility classes for any component or template. */
.spa-surface-dark :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a:not(.button):not(.btn):not(.wp-element-button)){
  color:#ffffff !important;
}
.spa-surface-light :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label){
  color:var(--spa-readable-dark) !important;
}
.spa-surface-light :is(h1,h2,h3,h4,h5,h6){color:var(--spa-readable-dark-heading) !important;}

/* Controls remain readable in their own right. */
button,input[type="submit"],input[type="button"],.button,.btn,.wp-element-button,.spa-button{
  text-shadow:none;
}

/* ============================================================
   V254 — KENNISBANK RELIGIE: HARD CONTRAST LOCK
   Dark knowledge sections must never be recoloured brown by the
   generic contrast auditor.  The whole religious section and all
   nested cards use white text on their dark rendered surfaces.
   ============================================================ */
.knowledge-section.knowledge-dark,
.knowledge-section.knowledge-dark .knowledge-wrap,
.knowledge-section.knowledge-dark .knowledge-section-heading,
.knowledge-section.knowledge-dark .knowledge-grid,
.knowledge-section.knowledge-dark .knowledge-card.dark-card{
  color:#ffffff !important;
}
.knowledge-section.knowledge-dark :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a),
.knowledge-section.knowledge-dark .knowledge-section-heading > p,
.knowledge-section.knowledge-dark .knowledge-card.dark-card :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a){
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.knowledge-section.knowledge-dark .knowledge-kicker{
  color:#f0d79a !important;
}
.knowledge-section.knowledge-dark .knowledge-card.dark-card{
  background:#4a3427 !important;
  border-color:#8d6848 !important;
}
.knowledge-section.knowledge-dark .knowledge-card.dark-card:hover,
.knowledge-section.knowledge-dark .knowledge-card.dark-card:focus-visible{
  background:#5a4030 !important;
}
.knowledge-section.knowledge-dark .knowledge-readmore,
.knowledge-section.knowledge-dark a.knowledge-card.dark-card .knowledge-readmore{
  color:#f6d18a !important;
}
/* Protect this section from stale runtime light-contrast classes. */
.knowledge-section.knowledge-dark .spa-auto-contrast-light,
.knowledge-section.knowledge-dark .spa-auto-contrast-light:is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a){
  color:#ffffff !important;
}


/* ============================================================
   V255 — UNIFIED SEMANTIC CONTRAST SYSTEM
   One rule across the entire site:
   DARK SURFACE  -> WHITE TEXT
   LIGHT SURFACE -> DARK BROWN TEXT
   The previous per-text JavaScript auditor is deliberately removed.
   Contrast is assigned by the actual component/surface hierarchy.
   ============================================================ */
:root{
  --spa-contrast-light:#ffffff;
  --spa-contrast-light-soft:#ffffff;
  --spa-contrast-brown:#3f2416;
  --spa-contrast-brown-heading:#2f190f;
  --spa-contrast-brown-link:#6b3f24;
}

/* Remove any stale classes that may still be present during a cached session. */
.spa-auto-contrast-light,
.spa-auto-contrast-dark{
  color:inherit !important;
  text-shadow:none !important;
}

/* ============================================================
   1. LIGHT SURFACES — ALWAYS DARK BROWN TEXT
   ============================================================ */
body,
.site-content,
main,
article,
.entry-content,
.page-content,
.post-content,
.knowledge-section:not(.knowledge-dark),
.knowledge-card:not(.dark-card),
.knowledge-feature,
.meso-map-card,
.spa-text-card,
.spa-lesson-card,
.spa-summary,
.spa-lesson-example,
.rvh-v248,
[class*="light-section"],
[class*="light-panel"],
[class*="light-card"],
[class*="cream"],
[class*="parchment"],
[class*="sand"],
[class*="paper"]{
  color:var(--spa-contrast-brown);
}

body :where(.site-content,main,article,.entry-content,.page-content,.post-content,
.knowledge-section:not(.knowledge-dark),.knowledge-card:not(.dark-card),.knowledge-feature,
.meso-map-card,.spa-text-card,.spa-lesson-card,.spa-summary,.spa-lesson-example,.rvh-v248,
[class*="light-section"],[class*="light-panel"],[class*="light-card"],[class*="cream"],[class*="parchment"],[class*="sand"],[class*="paper"])
:is(p,li,dd,dt,blockquote,figcaption,small,.description,.subtitle,.lead,.excerpt,label){
  color:var(--spa-contrast-brown) !important;
  opacity:1 !important;
}
body :where(.site-content,main,article,.entry-content,.page-content,.post-content,
.knowledge-section:not(.knowledge-dark),.knowledge-card:not(.dark-card),.knowledge-feature,
.meso-map-card,.spa-text-card,.spa-lesson-card,.spa-summary,.spa-lesson-example,.rvh-v248,
[class*="light-section"],[class*="light-panel"],[class*="light-card"],[class*="cream"],[class*="parchment"],[class*="sand"],[class*="paper"])
:is(h1,h2,h3,h4,h5,h6,.title,.heading){
  color:var(--spa-contrast-brown-heading) !important;
  opacity:1 !important;
}
body :where(.site-content,main,article,.entry-content,.page-content,.post-content,
.knowledge-section:not(.knowledge-dark),.knowledge-card:not(.dark-card),.knowledge-feature,
.meso-map-card,.spa-text-card,.spa-lesson-card,.spa-summary,.spa-lesson-example,.rvh-v248,
[class*="light-section"],[class*="light-panel"],[class*="light-card"],[class*="cream"],[class*="parchment"],[class*="sand"],[class*="paper"])
a:not(.button):not(.btn):not(.wp-element-button):not(.spa-button){
  color:var(--spa-contrast-brown-link) !important;
  opacity:1 !important;
}

/* ============================================================
   2. DARK SURFACES — ALWAYS WHITE TEXT
   This is intentionally later and stronger than the light defaults.
   ============================================================ */
:where(
  .knowledge-dark,
  .dark-card,
  .rvh-v248-education,
  .site-footer,
  footer,
  .footer,
  .meso-ornament-band,
  [class*="dark-section"],
  [class*="dark-panel"],
  [class*="dark-card"],
  [class*="dark-bg"],
  [class*="dark-hero"],
  [class*="dark-surface"],
  .spa-surface-dark
){
  color:var(--spa-contrast-light) !important;
}

:where(
  .knowledge-dark,
  .dark-card,
  .rvh-v248-education,
  .site-footer,
  footer,
  .footer,
  .meso-ornament-band,
  [class*="dark-section"],
  [class*="dark-panel"],
  [class*="dark-card"],
  [class*="dark-bg"],
  [class*="dark-hero"],
  [class*="dark-surface"],
  .spa-surface-dark
)
:is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,.title,.heading,.description,.subtitle,.lead,.excerpt,.knowledge-kicker){
  color:var(--spa-contrast-light) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

:where(
  .knowledge-dark,
  .dark-card,
  .rvh-v248-education,
  .site-footer,
  footer,
  .footer,
  .meso-ornament-band,
  [class*="dark-section"],
  [class*="dark-panel"],
  [class*="dark-card"],
  [class*="dark-bg"],
  [class*="dark-hero"],
  [class*="dark-surface"],
  .spa-surface-dark
)
a:not(.button):not(.btn):not(.wp-element-button):not(.spa-button){
  color:#ffffff !important;
  opacity:1 !important;
  text-decoration-color:rgba(255,255,255,.78) !important;
}

/* ============================================================
   3. KENNISBANK — EXPLICIT COMPONENT LOCKS
   ============================================================ */
.knowledge-section.knowledge-dark,
.knowledge-section.knowledge-dark .knowledge-wrap,
.knowledge-section.knowledge-dark .knowledge-section-heading,
.knowledge-section.knowledge-dark .knowledge-grid,
.knowledge-section.knowledge-dark .knowledge-card,
.knowledge-section.knowledge-dark .knowledge-card.dark-card{
  color:#ffffff !important;
}
.knowledge-section.knowledge-dark :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,i,small,blockquote,figcaption,dt,dd,label,a,.knowledge-kicker,.knowledge-readmore){
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.knowledge-section.knowledge-dark .knowledge-card,
.knowledge-section.knowledge-dark .knowledge-card.dark-card{
  background:#3a2b25 !important;
  border-color:#745747 !important;
}
.knowledge-section.knowledge-dark .knowledge-card:hover,
.knowledge-section.knowledge-dark .knowledge-card:focus-visible{
  background:#4a372f !important;
}
.knowledge-section.knowledge-dark .knowledge-kicker,
.knowledge-section.knowledge-dark .knowledge-readmore{
  color:#ffffff !important;
}

/* ============================================================
   4. BUTTONS AND FORM CONTROLS
   Their own background decides their text colour; never inherit a
   section colour accidentally.
   ============================================================ */
button,
input[type="submit"],
input[type="button"],
.button,
.btn,
.wp-element-button,
.spa-button,
.spa-save-button{
  opacity:1 !important;
}
input:not([type="submit"]):not([type="button"]),textarea,select{
  background:#fffdf8 !important;
  color:var(--spa-contrast-brown) !important;
  border-color:#9b795b !important;
}
input::placeholder,textarea::placeholder{color:#6d4a37 !important;opacity:1 !important;}

/* ============================================================
   5. TIMELINES AND SPECIAL LIGHT PANELS
   ============================================================ */
.meso-map-timeline,
.meso-map-timeline-head,
.meso-map-timeline-labels,
.meso-map-timeline :is(h1,h2,h3,h4,h5,h6,p,strong,b,span),
.meso-map-timeline-head :is(h1,h2,h3,h4,h5,h6,p,strong,b,span),
.meso-map-timeline-labels :is(h1,h2,h3,h4,h5,h6,p,strong,b,span){
  color:var(--spa-contrast-brown) !important;
  opacity:1 !important;
}

/* Accessibility: keyboard focus remains visible on both surface types. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #c58b45 !important;
  outline-offset:3px !important;
}

/* ============================================================
   V256 — RENDERED WHOLE-SITE CONTRAST SYSTEM
   The JavaScript classifier assigns each readable text element from
   its effective rendered background, including ancestor colours,
   transparency and CSS gradients.
   ============================================================ */
:root{
  --spa-v256-light-text:#ffffff;
  --spa-v256-dark-text:#3f2416;
  --spa-v256-dark-heading:#2f190f;
}

/* Absolute final text rule. These classes are appended by the V256
   contrast engine and deliberately override earlier theme generations. */
.spa-v256-dark-text{
  color:var(--spa-v256-light-text) !important;
  opacity:1 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
}
.spa-v256-light-text{
  color:var(--spa-v256-dark-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
:is(h1,h2,h3,h4,h5,h6).spa-v256-light-text,
.spa-v256-light-text.title,
.spa-v256-light-text.heading{
  color:var(--spa-v256-dark-heading) !important;
}
a.spa-v256-dark-text:not(.button):not(.btn):not(.wp-element-button):not(.spa-button){
  color:#ffffff !important;
  text-decoration-color:rgba(255,255,255,.75) !important;
}
a.spa-v256-light-text:not(.button):not(.btn):not(.wp-element-button):not(.spa-button){
  color:#6b3f24 !important;
}

/* Component controls keep their own intentionally designed contrast. */
button,button *,input,select,textarea,.button,.button *,.btn,.btn *,
.wp-element-button,.wp-element-button *,.spa-button,.spa-button *{
  text-shadow:none !important;
}

/* Manual opt-out for any deliberately exceptional artwork. */
.spa-v256-fixed-contrast,.spa-v256-fixed-contrast *{text-shadow:none !important;}

/* =========================================================
   V257 — UNIVERSELE TERUG-NAAR-BOVEN KNOP
   ========================================================= */
#rvh-scroll-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 50%;
  background: #3b2417;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
  z-index: 99999;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
#rvh-scroll-top:hover, #rvh-scroll-top:focus-visible {
  background: #6a4327;
  color: #ffffff;
  outline: 3px solid rgba(255,255,255,.55);
  outline-offset: 3px;
}
#rvh-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 600px) {
  #rvh-scroll-top { right: 16px; bottom: 16px; width: 48px; height: 48px; font-size: 24px; }
}


/* =========================================================
   V258 — HOMEPAGE DARK-SURFACE SAFETY + SCROLL TOP POSITION
   ========================================================= */
/* The nearest dark promotional/card surface always wins. */
.featured-book-promo,
.featured-book-promo *,
.new-release,
.new-release *,
.book-promo-dark,
.book-promo-dark *,
.dark-promo,
.dark-promo *,
.dark-panel,
.dark-panel *{
  color:#ffffff !important;
}
/* Preserve the deliberately designed orange call-to-action button. */
.featured-book-promo .btn,
.featured-book-promo .button,
.new-release .btn,
.new-release .button,
.book-promo-dark .btn,
.book-promo-dark .button,
.dark-promo .btn,
.dark-promo .button{
  color:#ffffff !important;
}
/* The Google Translate control can occupy the lower-right corner.
   Keep the return-to-top control above that reserved area. */
#rvh-scroll-top{
  right:24px !important;
  bottom:96px !important;
  z-index:2147483647 !important;
  isolation:isolate;
}
@media(max-width:600px){
  #rvh-scroll-top{right:16px !important;bottom:88px !important;}
}

/* =========================================================
   V259 — PLUGINPROOF CONTRAST OVERRIDE
   Final fallback for third-party blocks with dark rendered panels.
   ========================================================= */
body .spa-v256-dark-text,
body .spa-v256-dark-text *,
body [style*="background: rgb(43, 38, 52)"] .spa-v256-dark-text,
body [style*="background-color: rgb(43, 38, 52)"] .spa-v256-dark-text{
  color:#ffffff !important;
  opacity:1 !important;
}
/* Inline contrast declarations from the contrast engine are the final source
   of truth; plugins cannot silently replace them with dark text. */

#rvh-scroll-top{
  position:fixed !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
}


/* V260 — CUNEIFORM LAB RESTYLE
   Rebuilds the sign library to match the site's current Mesopotamian visual system. */
.cuneiform-lab-page{background:#f7efe2;color:#3b2a20;padding-bottom:72px;min-height:70vh}
.cuneiform-lab-page *{box-sizing:border-box}
.clab-hero{position:relative;background:linear-gradient(180deg,#fffdf8 0%,#f2e3cf 100%);border-bottom:1px solid rgba(91,58,33,.16);overflow:hidden}
.clab-ornament{height:44px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;background:#3b2a20;color:#ead3a7;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:18px;letter-spacing:.5em;border-bottom:3px solid #a97845}
.clab-hero-inner{max-width:1180px;margin:0 auto;padding:72px 28px 78px}
.clab-kicker{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.2em;font-weight:800;color:#7c542f;text-transform:uppercase}
.clab-hero h1,.clab-library h2,.clab-info h2{font-family:Georgia,"Times New Roman",serif;color:#3b2a20}
.clab-hero h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.95;max-width:800px;margin:12px 0 22px;letter-spacing:-.035em}
.clab-hero p{max-width:760px;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.75;color:#574536;margin:0}
.clab-search{display:flex;gap:12px;max-width:820px;margin-top:30px}
.clab-search input{flex:1;min-width:0;padding:17px 20px;border:1px solid #c9b49a;border-radius:12px;background:#fffdf8;color:#3b2a20;font-size:16px;box-shadow:0 8px 24px rgba(70,45,26,.06)}
.clab-search input::placeholder{color:#806c59}
.clab-search button{border:0;border-radius:12px;padding:0 25px;background:#4b3325;color:#fffdf8;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(70,45,26,.14)}
.clab-library{max-width:1180px;margin:0 auto;padding:64px 28px 30px}
.clab-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;border-bottom:1px solid rgba(91,58,33,.16);padding-bottom:20px}
.clab-library h2{font-size:clamp(2rem,4vw,3.2rem);margin:7px 0 0}
.clab-count{font-size:.85rem;font-weight:800;color:#70553f;background:#ead9c3;padding:9px 13px;border-radius:999px;white-space:nowrap}
.clab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.clab-card{display:flex;flex-direction:column;min-height:310px;padding:20px;text-decoration:none;background:#fffdf8;color:#3b2a20;border:1px solid rgba(91,58,33,.12);border-radius:18px;box-shadow:0 12px 30px rgba(70,45,26,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.clab-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(70,45,26,.12);border-color:#b98b52}
.clab-glyph{display:grid;place-items:center;min-height:130px;margin-bottom:18px;border-radius:14px;background:#d8c4a3;color:#4b3325;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:66px;line-height:1}
.clab-card-kicker{font-size:.68rem;letter-spacing:.16em;font-weight:800;color:#8a623d;margin-bottom:6px}
.clab-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:#3b2a20}
.clab-description{font-size:.92rem;line-height:1.55;color:#625040;margin-top:6px}
.clab-more{margin-top:auto;padding-top:18px;color:#7b512d;font-weight:800;font-size:.9rem}
.clab-info{max-width:1180px;margin:45px auto 0;padding:42px 48px;display:grid;grid-template-columns:82px 1fr;gap:28px;align-items:center;background:#4b3325;color:#fffdf8;border-radius:24px}
.clab-info-ornament{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(255,253,248,.25);border-radius:18px;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:38px;color:#ead3a7}
.clab-info .clab-kicker{color:#ead3a7}
.clab-info h2{color:#fffdf8;font-size:2.4rem;margin:7px 0 10px}
.clab-info p{color:#fffdf8;opacity:.94;max-width:760px;line-height:1.75;margin:0}
@media(max-width:1000px){.clab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.clab-hero-inner,.clab-library{padding-left:18px;padding-right:18px}.clab-hero-inner{padding-top:48px;padding-bottom:54px}.clab-search{flex-direction:column}.clab-search button{min-height:52px}.clab-grid{grid-template-columns:1fr}.clab-section-head{align-items:start;flex-direction:column}.clab-info{margin-left:18px;margin-right:18px;padding:30px 24px;grid-template-columns:1fr}.clab-info-ornament{width:64px;height:64px}}


/* V262 — FINAL CONTRAST CORRECTION
   The previous runtime contrast script is no longer enqueued.
   Keep the website's original semantic/component colours intact:
   light/parchment surfaces use dark brown text; dark surfaces use light text. */
body:not(.spa-contrast-runtime) .spa-v262-light-surface,
body:not(.spa-contrast-runtime) .spa-v262-light-surface p,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h1,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h2,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h3,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h4,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h5,
body:not(.spa-contrast-runtime) .spa-v262-light-surface h6,
body:not(.spa-contrast-runtime) .spa-v262-light-surface li,
body:not(.spa-contrast-runtime) .spa-v262-light-surface span,
body:not(.spa-contrast-runtime) .spa-v262-light-surface strong,
body:not(.spa-contrast-runtime) .spa-v262-light-surface a { color:#3f2416; }

/* Cuneiform Lab light surfaces */
.cuneiform-lab-page,
.cuneiform-lab-page p,
.cuneiform-lab-page h1,
.cuneiform-lab-page h2,
.cuneiform-lab-page h3,
.cuneiform-lab-page h4,
.cuneiform-lab-page h5,
.cuneiform-lab-page h6,
.cuneiform-lab-page li,
.cuneiform-lab-page .clab-card,
.cuneiform-lab-page .clab-card strong,
.cuneiform-lab-page .clab-description { color:#3b2a20; }
.cuneiform-lab-page .clab-info,
.cuneiform-lab-page .clab-info h2,
.cuneiform-lab-page .clab-info p { color:#fffdf8; }


/* =========================================================
   V263 — OVER RINUS: nieuwe foto met studenten
   ========================================================= */
.rvh-v263-student-photo{
  width:min(1180px,calc(100% - 72px));
  margin:0 auto 86px;
  padding:0;
}
.rvh-v263-student-photo-inner{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
  align-items:stretch;
  overflow:hidden;
  border-radius:30px;
  background:#fffaf1;
  border:1px solid rgba(128,91,53,.18);
  box-shadow:0 24px 55px rgba(78,48,27,.12);
}
.rvh-v263-student-photo-image{
  min-height:520px;
  background:#d8c1a0;
}
.rvh-v263-student-photo-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center center;
}
.rvh-v263-student-photo-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px 54px;
  background:linear-gradient(145deg,#f8efe0,#ead6b7);
}
.rvh-v263-student-photo-copy h2{
  margin:15px 0 24px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.5rem,4.2vw,4.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  color:#34251d!important;
}
.rvh-v263-student-photo-copy p{
  margin:0!important;
  max-width:45ch;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.08rem!important;
  line-height:1.85!important;
  color:#59483c!important;
}
@media(max-width:920px){
  .rvh-v263-student-photo{width:calc(100% - 44px);}
  .rvh-v263-student-photo-inner{grid-template-columns:1fr;}
  .rvh-v263-student-photo-image,.rvh-v263-student-photo-image img{min-height:430px;}
}
@media(max-width:620px){
  .rvh-v263-student-photo{width:calc(100% - 32px);margin-bottom:58px;}
  .rvh-v263-student-photo-image,.rvh-v263-student-photo-image img{min-height:360px;}
  .rvh-v263-student-photo-copy{padding:40px 28px;}
}


/* =========================================================
   V264 — OVER RINUS: studentenfoto compacter
   ========================================================= */
.rvh-v263-student-photo{
  width:min(1040px,calc(100% - 72px)) !important;
}
.rvh-v263-student-photo-inner{
  grid-template-columns:340px minmax(0,1fr) !important;
  align-items:center !important;
}
.rvh-v263-student-photo-image{
  min-height:0 !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  background:#d8c1a0 !important;
}
.rvh-v263-student-photo-image img{
  width:100% !important;
  max-width:296px !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  border-radius:18px !important;
  box-shadow:0 14px 30px rgba(65,42,25,.16) !important;
}
.rvh-v263-student-photo-copy{
  min-height:0 !important;
  padding:48px 54px !important;
}
@media(max-width:920px){
  .rvh-v263-student-photo{width:calc(100% - 44px) !important;}
  .rvh-v263-student-photo-inner{grid-template-columns:300px minmax(0,1fr) !important;}
  .rvh-v263-student-photo-image{padding:18px !important;}
  .rvh-v263-student-photo-image img{max-width:264px !important;}
}
@media(max-width:720px){
  .rvh-v263-student-photo-inner{grid-template-columns:1fr !important;}
  .rvh-v263-student-photo-image img{max-width:300px !important;}
}


/* =========================================================
   UPDATE V265 — OVER RINUS: lichtere tekst op cursusknop
   ========================================================= */
.rvh-v248-actions a.rvh-v248-btn.rvh-v248-btn-primary,
.rvh-v248-actions a.rvh-v248-btn.rvh-v248-btn-primary span{
  color:#fff3df !important;
  -webkit-text-fill-color:#fff3df !important;
  text-shadow:0 1px 1px rgba(40,22,12,.18) !important;
}
.rvh-v248-actions a.rvh-v248-btn.rvh-v248-btn-primary:hover,
.rvh-v248-actions a.rvh-v248-btn.rvh-v248-btn-primary:hover span{
  color:#fff8ed !important;
  -webkit-text-fill-color:#fff8ed !important;
}


/* =========================================================
   UPDATE V266 — OVER RINUS: tekst in onderwijsblok iets lichter
   ========================================================= */
.rvh-v248-education .rvh-v248-education-copy p{
  color:#f5e6d0 !important;
  -webkit-text-fill-color:#f5e6d0 !important;
}


/* =========================================================
   UPDATE V267 — Kennisbank dropdown voor Labs
   ========================================================= */
.site-header .main-nav .menu-item-has-children,
.site-header .main-nav .spa-fallback-submenu-wrap{position:relative;}
.site-header .main-nav .menu-item-has-children > a::after{content:'⌄';display:inline-block;margin-left:6px;font-size:.72em;transform:translateY(-1px);background:none;width:auto;height:auto;position:static;}
.site-header .main-nav .sub-menu,
.site-header .main-nav .spa-fallback-submenu{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,-6px);min-width:210px;padding:8px;margin:0;list-style:none;background:#fffaf1;border:1px solid rgba(91,65,45,.18);border-radius:12px;box-shadow:0 16px 38px rgba(55,35,22,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:10050;}
.site-header .main-nav .sub-menu li,
.site-header .main-nav .spa-fallback-submenu a{display:block;white-space:nowrap;}
.site-header .main-nav .sub-menu a,
.site-header .main-nav .spa-fallback-submenu a{display:block;padding:10px 13px;color:#4a3325 !important;text-decoration:none;border-radius:8px;font-weight:700;}
.site-header .main-nav .sub-menu a:hover,
.site-header .main-nav .spa-fallback-submenu a:hover{background:#ead9bc;color:#2f2119 !important;}
.site-header .main-nav .menu-item-has-children:hover > .sub-menu,
.site-header .main-nav .menu-item-has-children:focus-within > .sub-menu,
.site-header .main-nav .spa-fallback-submenu-wrap:hover > .spa-fallback-submenu,
.site-header .main-nav .spa-fallback-submenu-wrap:focus-within > .spa-fallback-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
.site-header .main-nav .spa-fallback-parent{white-space:nowrap;}
.site-header .main-nav .spa-fallback-submenu-wrap > .spa-fallback-parent span{font-size:.72em;margin-left:5px;}
@media(max-width:900px){
  .site-header .mobile-menu .main-nav .menu-item-has-children > a::after{content:'⌄';}
  .site-header .mobile-menu .main-nav .sub-menu,
  .site-header .mobile-menu .main-nav .spa-fallback-submenu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;min-width:0;margin:2px 0 8px;padding:4px 0 4px 14px;background:transparent;border:0;border-left:1px solid rgba(113,71,44,.22);box-shadow:none;}
  .site-header .mobile-menu .main-nav .sub-menu a,
  .site-header .mobile-menu .main-nav .spa-fallback-submenu a{padding:8px 10px;color:#5b3e2b !important;}
}

/* V268 — desktop Kennisbank submenu: keep the dropdown connected to the parent so it remains clickable. */
@media (min-width: 1100px){
  .site-header .main-nav .menu-item-has-children > .sub-menu,
  .site-header .main-nav .spa-fallback-submenu{
    top:100% !important;
    margin-top:0 !important;
    transform:translate(-50%,-4px);
  }
  .site-header .main-nav .menu-item-has-children:hover > .sub-menu,
  .site-header .main-nav .menu-item-has-children:focus-within > .sub-menu,
  .site-header .main-nav .spa-fallback-submenu-wrap:hover > .spa-fallback-submenu,
  .site-header .main-nav .spa-fallback-submenu-wrap:focus-within > .spa-fallback-submenu{
    transform:translate(-50%,0) !important;
  }
  .site-header .main-nav .spa-fallback-submenu-wrap,
  .site-header .main-nav .menu-item-has-children{
    padding-bottom:4px;
    margin-bottom:-4px;
  }
}


/* V269 — Uitloggen voor ingelogde studenten in de bestaande header. */
.site-header .spa-header-tools .header-logout{
  display:inline-flex;align-items:center;justify-content:center;
  font:700 12px/1 Arial,sans-serif;text-decoration:none;
  padding:9px 13px;border-radius:999px;
  color:#fff8eb !important;background:#71472c !important;
  border:1px solid rgba(75,43,27,.22);
  box-shadow:0 4px 12px rgba(61,38,24,.10);
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.site-header .spa-header-tools .header-logout:hover{
  color:#fffdf6 !important;background:#5f3a25 !important;
  transform:translateY(-1px);box-shadow:0 6px 15px rgba(61,38,24,.15);
}
@media (max-width:850px){
  .site-header .spa-header-tools .header-logout{font-size:11px;padding:8px 10px;}
}
@media (max-width:560px){
  .site-header .spa-header-tools .header-logout{display:none !important;}
  .site-header .mobile-menu .spa-mobile-logout{
    display:block;padding:10px 12px;margin-top:4px;border-radius:10px;
    background:#71472c;color:#fff8eb !important;text-decoration:none;font-weight:700;
  }
  .site-header .mobile-menu .spa-mobile-logout:hover{background:#5f3a25;color:#fffdf6 !important;}
}


/* ==========================================================
   V270 — UITSPRAAK LAB IN DE HUIDIGE SPIJKERSCHRIFT ACADEMIE-STIJL
   Zelfde warme museum/academie-uitstraling als de vernieuwde
   kennisbank, Cuneiform Lab en Over Rinus-pagina.
   ========================================================== */
.pronunciation-page{
  background:#f7efe2 !important;
  color:#3b2a20 !important;
  min-height:70vh;
  padding-bottom:72px;
}
.pronunciation-page *{box-sizing:border-box}
.pronunciation-ornament{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  overflow:hidden;
  background:#3b2a20;
  color:#ead3a7;
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:18px;
  letter-spacing:.55em;
  border-bottom:3px solid #a97845;
}
.pronunciation-hero{
  position:relative;
  overflow:hidden;
  padding:78px 0 82px !important;
  background:
    radial-gradient(circle at 88% 20%,rgba(184,138,74,.20),transparent 28%),
    linear-gradient(180deg,#fffdf8 0%,#f2e3cf 100%) !important;
  border-bottom:1px solid rgba(91,58,33,.16);
}
.pronunciation-hero:after{
  content:"𒀭  𒂊  𒈗  𒌓";
  position:absolute;
  right:4%;
  bottom:-28px;
  color:rgba(91,58,33,.07);
  font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;
  font-size:92px;
  letter-spacing:16px;
}
.pronunciation-hero .pronunciation-wrap{position:relative;z-index:1;width:min(1180px,calc(100% - 72px))}
.pronunciation-kicker{
  color:#7c542f !important;
  font-family:Arial,sans-serif;
  font-size:.74rem !important;
  letter-spacing:.20em !important;
  font-weight:800 !important;
  text-transform:uppercase;
}
.pronunciation-hero h1{
  max-width:980px;
  margin:12px 0 22px !important;
  color:#3b2a20 !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.4rem,7vw,6.7rem) !important;
  line-height:.94 !important;
  letter-spacing:-.035em;
}
.pronunciation-hero p{
  max-width:820px !important;
  margin:0 !important;
  color:#574536 !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.16rem !important;
  line-height:1.78 !important;
}
.pronunciation-tool-section{
  padding:64px 0 72px !important;
  background:#f7efe2 !important;
}
.pronunciation-tool-section .pronunciation-wrap,
.pronunciation-sounds-section .pronunciation-wrap,
.pronunciation-sentences-section .pronunciation-wrap,
.pronunciation-list-section .pronunciation-wrap{
  width:min(1180px,calc(100% - 72px));
}
.pronunciation-tool-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr) !important;gap:26px !important}
.pronunciation-tool-card,
.pronunciation-method-card{
  border:1px solid rgba(91,58,33,.14) !important;
  border-radius:24px !important;
  padding:38px !important;
  box-shadow:0 14px 36px rgba(70,45,26,.08) !important;
}
.pronunciation-tool-card{background:#fffdf8 !important;color:#3b2a20 !important}
.pronunciation-tool-card h2,
.pronunciation-section-head h2,
.pronunciation-sentence-card h3,
.pronunciation-word-card strong{
  color:#3b2a20 !important;
  font-family:Georgia,"Times New Roman",serif !important;
}
.pronunciation-tool-card p,
.pronunciation-section-head p,
.pronunciation-sentence-card p,
.pronunciation-word-card small{
  color:#57483b !important;
}
.pronunciation-method-card{
  background:linear-gradient(145deg,#3d2d23,#604331) !important;
  color:#fff8ec !important;
  border-color:#76533b !important;
}
.pronunciation-method-card .pronunciation-kicker{color:#ead3a7 !important}
.pronunciation-method-card h2{color:#fff8ec !important}
.pronunciation-method-card p{color:#f1dfc7 !important}
.pronunciation-language-choice{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.meso-language-button,
.pronunciation-sentence-tab{
  border:1px solid rgba(91,58,33,.18) !important;
  background:#f7efe2 !important;
  color:#5a4030 !important;
  border-radius:999px !important;
  padding:9px 14px !important;
  font-weight:800 !important;
  cursor:pointer;
}
.meso-language-button.is-active,
.pronunciation-sentence-tab.is-active{
  background:#5a4030 !important;
  color:#fff4dd !important;
  border-color:#5a4030 !important;
}
.pronunciation-search-row input{
  border-color:#c9b49a !important;
  background:#fffdf8 !important;
  color:#3b2a20 !important;
}
.pronunciation-search-row button{
  background:#5a4030 !important;
  color:#fff8ec !important;
}
.pronunciation-search-row button:hover{background:#71472c !important}
.meso-result{background:#f3e6d5 !important;border-color:rgba(91,58,33,.18) !important}
.pronunciation-sounds-section,
.pronunciation-sentences-section{
  padding:76px 0 !important;
  background:#fffaf2 !important;
}
.pronunciation-sounds-section{background:#eadbc5 !important}
.pronunciation-section-head{
  padding-bottom:22px;
  margin-bottom:28px !important;
  border-bottom:1px solid rgba(91,58,33,.16);
}
.pronunciation-section-head h2{font-size:clamp(2.2rem,4vw,3.4rem) !important;margin:7px 0 0 !important}
.pronunciation-section-head p{max-width:470px !important;line-height:1.75 !important}
.pronunciation-sound-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pronunciation-sound-card{
  border:1px solid rgba(91,58,33,.14) !important;
  border-radius:18px !important;
  background:#fffdf8 !important;
  color:#3b2a20 !important;
  box-shadow:0 10px 24px rgba(70,45,26,.06) !important;
}
.pronunciation-sound-card.is-info{background:#f5eadb !important}
.pronunciation-sound-card .sound-symbol{
  color:#8a5a35 !important;
  font-family:Georgia,"Times New Roman",serif;
}
.pronunciation-sound-card strong{color:#3b2a20 !important}
.pronunciation-sound-card small{color:#57483b !important}
.pronunciation-sound-card b{color:#7b512d !important}
.pronunciation-guide-note,
.pronunciation-sentence-guide{
  margin-top:22px;
  background:#f7efe2 !important;
  border-color:rgba(91,58,33,.16) !important;
  color:#57483b !important;
  border-radius:16px !important;
}
.pronunciation-guide-note strong,
.pronunciation-sentence-guide strong{color:#3b2a20 !important}
.pronunciation-sentence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pronunciation-sentence-card{
  border:1px solid rgba(91,58,33,.14) !important;
  border-radius:20px !important;
  background:#fffdf8 !important;
  color:#3b2a20 !important;
  box-shadow:0 12px 28px rgba(70,45,26,.07) !important;
}
.pronunciation-sentence-card h3{font-size:1.45rem !important}
.sentence-reading{color:#7b512d !important}
.sentence-word-buttons button{
  border-color:#c9b49a !important;
  background:#f7efe2 !important;
  color:#5a4030 !important;
}
.pronunciation-list-section{padding:78px 0 !important;background:#f7efe2 !important}
.pronunciation-word-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:16px !important}
.pronunciation-word-card{
  border-color:rgba(91,58,33,.14) !important;
  background:#fffdf8 !important;
  border-radius:18px !important;
  color:#3b2a20 !important;
  box-shadow:0 10px 24px rgba(70,45,26,.06) !important;
}
.pronunciation-word-card:hover{background:#fffaf2 !important;box-shadow:0 18px 36px rgba(70,45,26,.11) !important}
.pronunciation-word-card b{color:#7b512d !important}
@media(max-width:1000px){
  .pronunciation-sound-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pronunciation-sentence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pronunciation-word-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .pronunciation-hero .pronunciation-wrap,
  .pronunciation-tool-section .pronunciation-wrap,
  .pronunciation-sounds-section .pronunciation-wrap,
  .pronunciation-sentences-section .pronunciation-wrap,
  .pronunciation-list-section .pronunciation-wrap{width:calc(100% - 36px)}
  .pronunciation-hero{padding:58px 0 64px !important}
  .pronunciation-hero h1{font-size:clamp(3rem,14vw,4.6rem) !important}
  .pronunciation-tool-card,.pronunciation-method-card{padding:28px 22px !important}
  .pronunciation-search-row{flex-direction:column}
  .pronunciation-search-row button{min-height:52px}
  .pronunciation-sound-grid,.pronunciation-sentence-grid,.pronunciation-word-grid{grid-template-columns:1fr !important}
  .pronunciation-section-head{display:block}
  .pronunciation-section-head p{margin-top:18px}
}


/* =========================================================
   V271 — CUNEIFORM LAB IN DE HUIDIGE SPIJKERSCHRIFT ACADEMIE-STIJL
   Aangesloten op de vernieuwde Uitspraak Lab / Kennisbank-vormgeving.
   Alleen Cuneiform Lab; geen globale contrastregels.
   ========================================================= */
.cuneiform-lab-page{background:#f7efe2 !important;color:#3b2a20 !important;min-height:70vh;padding-bottom:78px}
.cuneiform-lab-page *{box-sizing:border-box}
.clab-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 20%,rgba(184,138,74,.20),transparent 28%),linear-gradient(180deg,#fffdf8 0%,#f2e3cf 100%);border-bottom:1px solid rgba(91,58,33,.16)}
.clab-ornament{height:44px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;background:#3b2a20;color:#ead3a7;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:18px;letter-spacing:.55em;border-bottom:3px solid #a97845}
.clab-hero:after{content:"𒀭  𒂊  𒈗  𒌓";position:absolute;right:4%;bottom:-28px;color:rgba(91,58,33,.07);font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:92px;letter-spacing:16px;pointer-events:none}
.clab-hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 72px));margin:0 auto;padding:78px 0 82px}
.clab-kicker{font-family:Arial,sans-serif;font-size:.74rem;letter-spacing:.20em;font-weight:800;color:#7c542f;text-transform:uppercase}
.clab-hero h1,.clab-library h2,.clab-info h2{font-family:Georgia,"Times New Roman",serif}
.clab-hero h1{max-width:980px;margin:12px 0 22px;color:#3b2a20;font-size:clamp(3.4rem,7vw,6.7rem);line-height:.94;letter-spacing:-.035em}
.clab-hero p{max-width:820px;margin:0;color:#574536;font-family:Georgia,"Times New Roman",serif;font-size:1.16rem;line-height:1.78}
.clab-search{display:flex;gap:12px;max-width:820px;margin-top:30px}
.clab-search input{flex:1;min-width:0;padding:17px 20px;border:1px solid #c9b49a;border-radius:14px;background:#fffdf8;color:#3b2a20;font-size:16px;box-shadow:0 8px 24px rgba(70,45,26,.06)}
.clab-search input::placeholder{color:#806c59}
.clab-search button{min-height:54px;border:0;border-radius:14px;padding:0 25px;background:#4b3325;color:#fffdf8;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(70,45,26,.14)}
.clab-library{width:min(1180px,calc(100% - 72px));margin:0 auto;padding:64px 0 30px}
.clab-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px;border-bottom:1px solid rgba(91,58,33,.16);padding-bottom:20px}
.clab-library h2{color:#3b2a20;font-size:clamp(2.2rem,4vw,3.35rem);margin:7px 0 0;letter-spacing:-.025em}
.clab-count{font-size:.85rem;font-weight:800;color:#70553f;background:#ead9c3;padding:9px 13px;border-radius:999px;white-space:nowrap}
.clab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.clab-card{display:flex;flex-direction:column;min-height:326px;padding:20px;text-decoration:none;background:#fffdf8;color:#3b2a20;border:1px solid rgba(91,58,33,.12);border-radius:22px;box-shadow:0 14px 36px rgba(70,45,26,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.clab-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(70,45,26,.13);border-color:#b98b52}
.clab-glyph{display:grid;place-items:center;min-height:142px;margin-bottom:18px;border-radius:16px;background:linear-gradient(145deg,#dfcdb0,#ccb58f);color:#4b3325;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:68px;line-height:1}
.clab-card-kicker{font-size:.68rem;letter-spacing:.16em;font-weight:800;color:#8a623d;margin-bottom:6px}
.clab-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.38rem;color:#3b2a20}
.clab-description{font-size:.94rem;line-height:1.58;color:#625040;margin-top:7px}
.clab-more{margin-top:auto;padding-top:18px;color:#7b512d;font-weight:800;font-size:.9rem}
.clab-info{width:min(1180px,calc(100% - 72px));margin:45px auto 0;padding:44px 50px;display:grid;grid-template-columns:82px 1fr;gap:28px;align-items:center;background:#4b3325;color:#fffdf8;border-radius:26px;box-shadow:0 18px 42px rgba(70,45,26,.12)}
.clab-info-ornament{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(255,253,248,.25);border-radius:18px;font-family:"Noto Sans Cuneiform","Segoe UI Historic",serif;font-size:38px;color:#ead3a7}
.clab-info .clab-kicker{color:#ead3a7}
.clab-info h2{color:#fffdf8;font-size:clamp(2rem,3.5vw,2.7rem);margin:7px 0 10px}
.clab-info p{color:#f5e6d0;max-width:760px;line-height:1.75;margin:0}
@media(max-width:1000px){.clab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.clab-hero-inner,.clab-library{width:calc(100% - 36px)}.clab-hero-inner{padding-top:52px;padding-bottom:58px}.clab-search{flex-direction:column}.clab-search button{min-height:54px}.clab-grid{grid-template-columns:1fr}.clab-section-head{align-items:start;flex-direction:column}.clab-info{width:calc(100% - 36px);padding:32px 24px;grid-template-columns:1fr}.clab-info-ornament{width:64px;height:64px}}

/* v2.72 — uitgebreide bio Prof. Rinus van Hagen */
.rvh-v248-bio-grid { align-items: start; }
.rvh-v248-bio { max-width: 860px; }
.rvh-v248-bio p { margin: 0 0 1.25rem; }
.rvh-v248-bio p:last-child { margin-bottom: 0; }
@media (max-width: 800px) {
  .rvh-v248-bio { max-width: none; }
}

/* v2.74 — collegefoto direct onder de titel Onderzoek, onderwijs en publicaties */
.rvh-v248-work-heading {
  min-width: 0;
}
.rvh-v274-bio-photo {
  width: 100%;
  max-width: 520px;
  margin: 42px 0 0;
}
.rvh-v274-bio-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
}
@media (max-width: 920px) {
  .rvh-v274-bio-photo {
    max-width: 560px;
    margin-top: 32px;
  }
}
@media (max-width: 620px) {
  .rvh-v274-bio-photo {
    max-width: none;
    margin-top: 28px;
  }
}
