/* =========================================================
   Decibel Control — tokens (bron: app.decibelcontrol.nl dashboard
   + LoginBackground.jsx)
   ========================================================= */
:root{
  --ink-0:#0e1220;
  --ink-1:#14192b;
  --ink-2:#1b2238;

  --paper:#f4f4f5;      /* lichte kaarten (nav, content) */
  --paper-2:#ffffff;    /* binnenste wit (tabel) */
  --paper-3:#f9fafb;    /* afwisselende tabelrij */

  --text-ink:#14192b;   /* donkere tekst op lichte kaarten */
  --text-muted:#6b7281;
  --line-light:#e7e7e8;

  --teal:#2fa88a;
  --mint:#3fc79e;
  --amber:#e8a23d;

  --pill-active:#121827;
  --status-green-bg:#d8f9e6;
  --status-green-text:#235f47;
  --status-gray-bg:#eef0f2;
  --status-gray-text:#6b7281;
  --value-green:#35966a;

  --radius:16px;
  --radius-sm:10px;

  --font-display:'Space Grotesk', sans-serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --container:1180px;
}

/* =========================================================
   Reset & base
   ========================================================= */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
body{
  background:var(--ink-0);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
  width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,.display{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.15;
  margin:0 0 0.5em;
  color:var(--text-ink);
}
p{margin:0 0 1em;}
.mono{font-family:var(--font-mono);}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
.wrap, .container{max-width:var(--container);margin:0 auto;padding:0 24px;}

/* =========================================================
   Vaste donkere achtergrond met ademende equalizer-horizon
   (matcht LoginBackground.jsx)
   ========================================================= */
.dc-bg{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% -10%, #20294480 0%, transparent 55%),
    radial-gradient(140% 100% at 50% 120%, #0b3d3230 0%, transparent 50%),
    linear-gradient(180deg, var(--ink-2) 0%, var(--ink-1) 45%, var(--ink-0) 100%);
}
.dc-bg-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.dc-bg-glow-teal{width:480px;height:480px;background:var(--teal);left:-8%;top:10%;opacity:0.28;animation:dcDrift1 14s ease-in-out infinite alternate;}
.dc-bg-glow-amber{width:360px;height:360px;background:var(--amber);right:-6%;top:30%;opacity:0.14;animation:dcDrift2 18s ease-in-out infinite alternate;}
.dc-bg-horizon{
  position:absolute;left:0;right:0;bottom:0;height:42vh;
  display:flex;align-items:flex-end;justify-content:center;
  gap:clamp(6px, 1.1vw, 16px);
  padding:0 4vw;
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 42%, #000 100%);
  mask-image:linear-gradient(180deg, transparent 0%, #000 42%, #000 100%);
}
.dc-bg-bar{
  flex:1 1 0;max-width:34px;
  border-radius:6px 6px 0 0;
  background:linear-gradient(180deg, var(--mint) 0%, var(--teal) 60%, #226e5c 100%);
  opacity:0.32;
  transform-origin:bottom;
  animation:dcBreathe var(--dur, 4s) ease-in-out infinite;
  animation-delay:var(--delay, 0s);
}
.dc-bg-bar.is-peak{
  background:linear-gradient(180deg, #f0b65c 0%, var(--amber) 70%, #b97a24 100%);
  opacity:0.6;
}
.dc-bg-limit{
  position:absolute;left:0;right:0;bottom:30vh;
  border-top:1.5px dashed rgba(137,147,166,0.55);
}
.dc-bg-limit::after{
  content:attr(data-label);
  position:absolute;right:5vw;top:-22px;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:0.14em;
  color:rgba(137,147,166,0.7);
  text-transform:uppercase;
}
@keyframes dcDrift1{from{transform:translate(0,0);}to{transform:translate(40px,30px);}}
@keyframes dcDrift2{from{transform:translate(0,0);}to{transform:translate(-30px,-20px);}}
@keyframes dcBreathe{0%,100%{transform:scaleY(1);}50%{transform:scaleY(var(--amp, 1.15));}}
@media (prefers-reduced-motion: reduce){
  .dc-bg-glow, .dc-bg-bar{animation:none !important;}
}

/* =========================================================
   Lichte zwevende UI-kaart (nav + content, zoals het dashboard)
   ========================================================= */
.ui-card{
  background:var(--paper);
  border-radius:var(--radius);
  padding:36px 40px;
  box-shadow:0 20px 50px -20px rgba(0,0,0,0.45);
}
.ui-card h3{font-size:1.4rem;margin-bottom:8px;}
.ui-card-sub{color:var(--text-muted);font-size:0.95rem;margin-bottom:24px;}

/* =========================================================
   Buttons
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 22px;border-radius:999px;
  font-size:0.92rem;font-weight:600;font-family:var(--font-display);
  border:1px solid transparent;cursor:pointer;transition:all 0.15s ease;white-space:nowrap;
}
.btn-primary{background:var(--teal);color:#08201d;}
.btn-primary:hover{background:var(--mint);}
.btn-ghost{background:transparent;border-color:rgba(244,244,245,0.25);color:var(--paper);}
.btn-ghost:hover{border-color:rgba(244,244,245,0.55);}
.btn-ghost.on-light{border-color:var(--line-light);color:var(--text-ink);}
.btn-ghost.on-light:hover{border-color:var(--text-muted);}

/* =========================================================
   Header (lichte zwevende kaart, zoals dashboard-nav)
   ========================================================= */
.site-header{padding:16px 0 0;position:sticky;top:16px;z-index:100;}
.site-header .wrap{position:relative;}
.site-header .ui-card{
  padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
  flex-wrap:nowrap;
}
.site-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text-ink);flex-shrink:0;}
.site-logo img{height:30px;width:30px;border-radius:8px;flex-shrink:0;}
.primary-nav ul{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.primary-nav a{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  font-family:var(--font-display);
  font-size:0.92rem;
  font-weight:500;
  color:var(--text-muted);
  transition:background 0.15s ease, color 0.15s ease;
  white-space:nowrap;
}
.primary-nav a:hover{color:var(--text-ink);}
.primary-nav a.current-menu-item-link,
.primary-nav li.current-menu-item a{
  background:var(--pill-active);
  color:var(--paper);
}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.header-actions .btn-ghost{color:var(--text-muted);}
.header-actions .btn-ghost:hover{color:var(--text-ink);}
.header-actions .btn{padding:10px 16px;font-size:0.86rem;}
.primary-nav a.nav-login{display:none;}
.nav-toggle{display:none;background:none;border:1px solid var(--line-light);border-radius:8px;color:var(--text-ink);padding:8px 10px;cursor:pointer;flex-shrink:0;}

@media (max-width:1040px){
  .nav-toggle{display:inline-flex;}
  .primary-nav{
    position:absolute;top:78px;left:0;right:0;
    display:none;
    z-index:150;
    background:var(--paper);
    border-radius:var(--radius);
    padding:16px;
    box-shadow:0 20px 50px -20px rgba(0,0,0,0.45);
  }
  .primary-nav.is-open{display:block;}
  .primary-nav ul{flex-direction:column;align-items:flex-start;width:100%;gap:4px;}
  .primary-nav a{display:block;width:100%;}
  .header-actions .btn-ghost{display:none;}
  .primary-nav a.nav-login{
    display:block;
    margin-top:12px;padding:12px 18px;
    border:1px solid var(--line-light);border-radius:999px;
    font-family:var(--font-display);font-size:0.92rem;font-weight:600;
    text-align:center;color:var(--text-ink);
  }
  .primary-nav a.nav-login:hover{background:var(--pill-active);color:var(--paper);}
}
@media (max-width:420px){
  .site-header .wrap{padding-left:10px;padding-right:10px;}
  .site-header .ui-card{padding:10px 12px;gap:8px;}
  .header-actions{gap:6px;}
  .header-actions .btn-primary{padding:8px 11px;font-size:0.76rem;}
  .nav-toggle{padding:6px 8px;}
  .primary-nav{top:68px;left:10px;right:10px;}
  .site-logo{font-size:0.88rem;gap:7px;}
  .site-logo img{height:24px;width:24px;}
}
@media (max-width:374px){
  .site-logo{font-size:0;gap:0;}
}

/* =========================================================
   Hero
   ========================================================= */
.hero{padding:64px 0 96px;}
.hero-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:56px;align-items:center;}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px;}}

.eyebrow{
  font-family:var(--font-mono);font-size:0.78rem;color:var(--mint);
  letter-spacing:0.08em;text-transform:uppercase;margin-bottom:18px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(63,199,158,0.25);}

.hero h1{font-size:clamp(2.1rem, 4.4vw, 3.3rem);color:var(--paper);max-width:15ch;margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--mint);}
.hero p.lead{color:rgba(244,244,245,0.68);font-size:1.06rem;max-width:44ch;margin-bottom:30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* =========================================================
   Live-tabel kaart (identiek aan het dashboard)
   ========================================================= */
.dc-live-table .dc-table-scroll{overflow-x:auto;}
.dc-table{width:100%;border-collapse:collapse;font-size:0.9rem;}
.dc-table th{
  text-align:left;
  font-family:var(--font-display);
  font-weight:600;
  font-size:0.82rem;
  color:var(--text-muted);
  padding:0 14px 12px;
  border-bottom:1px solid var(--line-light);
  white-space:nowrap;
}
.dc-table td{
  padding:16px 14px;
  border-bottom:1px solid var(--line-light);
  color:var(--text-ink);
  white-space:nowrap;
}
.dc-table tr:last-child td{border-bottom:none;}
.dc-table td.muted{color:var(--text-muted);}
.dc-table td.value-green{color:var(--value-green);font-weight:600;}
.status-pill{
  display:inline-block;padding:5px 14px;border-radius:999px;
  font-size:0.82rem;font-weight:500;
}
.status-pill.status-ok{background:var(--status-green-bg);color:var(--status-green-text);}
.status-pill.status-idle{background:var(--status-gray-bg);color:var(--status-gray-text);}

/* =========================================================
   Secties
   ========================================================= */
section{padding:72px 0;}
.section-head{max-width:56ch;margin-bottom:44px;}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h1, .section-head h2{font-size:clamp(1.6rem, 3vw, 2.2rem);color:var(--paper);margin-bottom:14px;}
.section-head p{color:rgba(244,244,245,0.68);font-size:1.02rem;}

/* feature grid als lichte kaarten */
.feature-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;}
@media (max-width:900px){.feature-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.feature-grid{grid-template-columns:1fr;}}
.feature-card{
  background:var(--paper);
  border-radius:var(--radius);
  padding:26px 24px;
  box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);
}
.feature-card .tag{
  font-family:var(--font-mono);font-size:0.72rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.06em;margin-bottom:12px;display:block;
}
.feature-card h3{font-size:1.05rem;margin-bottom:8px;color:var(--text-ink);}
.feature-card p{color:var(--text-muted);font-size:0.92rem;margin:0;}

/* proces / signal path — lichte kaarten in een rij */
.path{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;}
@media (max-width:900px){.path{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.path{grid-template-columns:1fr;}}
.path-step{background:var(--paper);border-radius:var(--radius);padding:22px 20px;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.path-tag{font-family:var(--font-mono);font-size:0.72rem;color:var(--teal);margin-bottom:12px;display:block;}
.path-step h3{font-size:1rem;margin-bottom:8px;color:var(--text-ink);}
.path-step p{color:var(--text-muted);font-size:0.88rem;}

/* doelgroep tags */
.audience-list{display:flex;flex-wrap:wrap;gap:10px;}
.audience-tag{
  border-radius:999px;padding:10px 18px;font-size:0.9rem;
  background:var(--paper);color:var(--text-ink);
  box-shadow:0 10px 26px -18px rgba(0,0,0,0.4);
}
.audience-tag .mono{color:var(--teal);margin-right:8px;}

/* probleem / log — lichte kaart met rijen */
.log{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.log-row{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line-light);align-items:baseline;}
.log-row:last-child{border-bottom:none;}
.log-time{font-family:var(--font-mono);font-size:0.8rem;color:#c14a4a;}
.log-time span{color:var(--text-muted);}
.log-text{color:var(--text-ink);font-size:0.96rem;}
.log-text b{color:var(--text-ink);}
@media (max-width:640px){.log-row{grid-template-columns:1fr;gap:6px;}}

/* =========================================================
   CTA
   ========================================================= */
.cta{text-align:center;}
.cta h2{color:var(--paper);font-size:clamp(1.7rem, 3.4vw, 2.4rem);max-width:20ch;margin:0 auto 18px;}
.cta p{color:rgba(244,244,245,0.68);max-width:44ch;margin:0 auto 30px;}
.cta .btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* =========================================================
   Prijzen
   ========================================================= */
.pricing-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;align-items:stretch;}
@media (max-width:900px){.pricing-grid{grid-template-columns:1fr;}}
.price-card{
  background:var(--paper);border-radius:var(--radius);padding:30px 26px;
  display:flex;flex-direction:column;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);
}
.price-card.is-featured{outline:2px solid var(--teal);}
.price-card .plan-name{font-family:var(--font-mono);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal);margin-bottom:10px;}
.price-card .plan-price{font-family:var(--font-display);font-size:2rem;color:var(--text-ink);margin-bottom:4px;}
.price-card .plan-price small{font-size:0.85rem;color:var(--text-muted);font-family:var(--font-body);}
.price-card .plan-note{color:var(--text-muted);font-size:0.9rem;margin-bottom:20px;}
.price-card ul{margin:0 0 24px;display:flex;flex-direction:column;gap:9px;}
.price-card li{font-size:0.88rem;color:var(--text-muted);padding-left:22px;position:relative;}
.price-card li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700;}
.price-card .feature-category{
  font-family:var(--font-mono);font-size:0.72rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.05em;
  margin:16px 0 8px;display:flex;align-items:center;gap:6px;
}
.price-card .feature-category:first-of-type{margin-top:4px;}
.price-card .plan-tagline{
  font-family:var(--font-display);font-weight:600;font-size:0.95rem;
  color:var(--text-ink);margin-bottom:18px;
}
.price-card .includes-note{
  font-size:0.85rem;color:var(--teal);font-weight:600;margin:16px 0 4px;
}
.price-card .btn{margin-top:auto;justify-content:center;}
.pricing-note{margin-top:28px;color:rgba(244,244,245,0.5);font-size:0.85rem;text-align:center;}

/* =========================================================
   Over ons
   ========================================================= */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-col-stack{display:flex;flex-direction:column;gap:20px;height:100%;}
.about-col-stack .quote-card, .about-col-stack .stats-card{flex:1;}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:900px){.testimonial-grid{grid-template-columns:1fr;}}
.stats-card{background:var(--paper);border-radius:var(--radius);padding:28px 34px;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);display:flex;align-items:center;}
.stats-card .about-stats{margin-top:0;width:100%;}
.about-card{background:var(--paper);border-radius:var(--radius);padding:34px;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.about-card p{color:var(--text-muted);}
.quote-card{
  background:var(--paper);border-radius:var(--radius);padding:34px;
  box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);
  display:flex;flex-direction:column;justify-content:center;height:100%;
}
.quote-card .quote-stars{color:#e8a23d;font-size:0.95rem;letter-spacing:2px;margin-bottom:10px;display:block;}
.quote-card .quote-mark{font-family:var(--font-display);font-size:3rem;color:var(--teal);line-height:1;margin-bottom:8px;}
.quote-card blockquote{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-ink);margin:0 0 22px;line-height:1.4;}
.quote-card .quote-name{font-weight:600;color:var(--text-ink);font-size:0.95rem;display:block;}
.quote-card .quote-role{color:var(--text-muted);font-size:0.85rem;}
.about-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:18px;margin-top:26px;}
.stat b{font-family:var(--font-display);font-size:1.7rem;color:var(--teal);display:block;}
.stat span{font-size:0.82rem;color:var(--text-muted);}

/* =========================================================
   Contact
   ========================================================= */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info-card h3{font-size:0.85rem;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:18px;}
.contact-info-card dl{display:flex;flex-direction:column;gap:14px;}
.contact-info-card dt{font-size:0.8rem;color:var(--text-muted);}
.contact-info-card dd{margin:2px 0 0;font-size:0.98rem;color:var(--text-ink);}

.form-field{margin-bottom:16px;}
.form-field label{display:block;font-size:0.88rem;color:var(--text-muted);margin-bottom:6px;}
.form-field input, .form-field textarea{
  width:100%;background:var(--paper-3);border:1px solid var(--line-light);
  border-radius:var(--radius-sm);padding:11px 14px;color:var(--text-ink);
  font-family:var(--font-body);font-size:0.94rem;
}
.form-field input:focus, .form-field textarea:focus{border-color:var(--teal);outline:none;}
.form-notice{padding:12px 16px;border-radius:var(--radius-sm);font-size:0.9rem;margin-bottom:18px;}
.form-notice.success{background:var(--status-green-bg);color:var(--status-green-text);}
.form-notice.error{background:#fbe2e2;color:#a33a3a;}

/* =========================================================
   Blog
   ========================================================= */
.post-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;}
@media (max-width:900px){.post-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.post-grid{grid-template-columns:1fr;}}
.post-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.post-card img{aspect-ratio:16/10;object-fit:cover;}
.post-card .post-card-body{padding:20px;}
.post-card .post-date{font-family:var(--font-mono);font-size:0.72rem;color:var(--text-muted);}
.post-card h3{font-size:1.05rem;margin:8px 0;color:var(--text-ink);}
.post-card p{color:var(--text-muted);font-size:0.88rem;}
.single-post-content{max-width:720px;margin:0 auto;background:var(--paper);border-radius:var(--radius);padding:40px;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.single-post-content h1{font-size:clamp(1.9rem, 4vw, 2.5rem);}
.single-post-content img{border-radius:var(--radius-sm);margin:22px 0;}
.single-post-content p{color:var(--text-muted);}
.post-meta{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-muted);margin-bottom:24px;}

/* =========================================================
   Live verloop-grafiek (matcht het dashboard-detailscherm)
   ========================================================= */
.dc-chart-head h3{font-size:1.15rem;margin-bottom:18px;}
.dc-chart-sep{color:var(--text-muted);margin:0 4px;}
.dc-chart-sub{color:var(--text-muted);font-weight:400;font-size:0.9rem;}
.stat-row{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;margin-bottom:24px;}
.stat-box{background:var(--paper-3);border-radius:var(--radius-sm);padding:14px 16px;}
.stat-box .stat-label{display:block;font-size:0.82rem;color:var(--text-muted);margin-bottom:6px;}
.stat-box .stat-value{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-ink);}
.stat-box .stat-value.value-green{color:var(--value-green);}
.dc-chart-subhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.dc-chart-subhead > span:first-child{font-weight:600;color:var(--text-ink);font-size:0.95rem;}
.dc-chart-note{font-size:0.8rem;color:var(--text-muted);}
.dc-chart-wrap{width:100%;}
.dc-chart-wrap svg{width:100%;height:auto;display:block;}
.dc-grid-line{stroke:var(--line-light);stroke-width:1;stroke-dasharray:3 4;}
.dc-axis-label{font-family:var(--font-body);font-size:11px;fill:var(--text-muted);}
.dc-chart-line{fill:none;stroke:var(--text-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}

@media (max-width:640px){
  .stat-row{grid-template-columns:1fr;}
  .stat-box .stat-value{font-size:1.3rem;}
}

/* =========================================================
   "Waar wij mee samengewerkt hebben"-balk
   ========================================================= */
.client-bar{padding:8px 0 0;text-align:center;}
.client-bar-title{
  display:block;font-family:var(--font-mono);font-size:0.78rem;
  color:rgba(244,244,245,0.5);text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:24px;
}
.client-bar-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;}
.client-name{
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;
  color:rgba(244,244,245,0.62);letter-spacing:-0.01em;
}
.client-logo-chip{
  background:#fff;border-radius:10px;padding:10px 22px;
  display:flex;align-items:center;justify-content:center;
  height:56px;box-shadow:0 10px 26px -18px rgba(0,0,0,0.4);
  transition:transform 0.15s ease;
}
.client-link{display:inline-flex;}
.client-link:hover .client-logo-chip{transform:translateY(-2px);}
.client-logo-chip img{max-height:30px;width:auto;max-width:150px;object-fit:contain;display:block;}
@media (max-width:640px){
  .client-bar-list{gap:14px;}
  .client-name{font-size:0.92rem;}
  .client-logo-chip{height:44px;padding:8px 16px;}
  .client-logo-chip img{max-height:22px;max-width:110px;}
}

/* =========================================================
   Footer (op de donkere achtergrond, geen kaart)
   ========================================================= */
.site-footer{padding:48px 0 32px;}
.footer-row{
  display:flex;justify-content:center;align-items:center;gap:10px;
  color:rgba(244,244,245,0.55);font-size:0.85rem;text-align:center;flex-wrap:wrap;
}
.site-footer a{text-decoration:underline;text-underline-offset:3px;}
.site-footer a:hover{color:var(--paper);}
.social-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px;}
.social-links a{
  text-decoration:none;color:rgba(244,244,245,0.65);
  display:inline-flex;align-items:center;justify-content:center;
  transition:color 0.15s ease, transform 0.15s ease;
}
.social-links a:hover{color:var(--mint);transform:translateY(-2px);}

/* generieke WYSIWYG-pagina */
.page-content{max-width:760px;margin:0 auto;padding:72px 0;}
.page-content .ui-card{padding:40px;}
.page-content h1{font-size:clamp(1.9rem, 4vw, 2.5rem);margin-bottom:20px;}
.page-content h2{margin-top:1.3em;}
.page-content p, .page-content li{color:var(--text-muted);}

@media (max-width:640px){
  .ui-card{padding:24px 18px;}
  section{padding:48px 0;}
  .wrap, .container{padding:0 16px;}
  .hero{padding:40px 0 56px;}
  .dc-table{font-size:0.82rem;}
  .dc-table th, .dc-table td{padding:12px 10px;}
  .cta{padding:0;}
}

/* =========================================================
   Kennisbank (blogoverzicht, categorieën, artikel)
   ========================================================= */

/* Afbeeldingen: het height-attribuut van WordPress mag de verhouding niet uitrekken */
.post-card img,
.single-post-content img,
.kb-featured-img img{height:auto;max-width:100%;}
.post-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;}
.post-card{display:flex;flex-direction:column;background:var(--paper);transition:transform .15s ease, box-shadow .15s ease;}
.post-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -24px rgba(0,0,0,.6);}
.post-card-body{flex:1;display:flex;flex-direction:column;gap:6px;}
.post-card h3{margin:0;}

.kb-head{max-width:760px;margin-bottom:36px;}
.kb-head .section-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mint);margin-bottom:10px;}
.kb-head h1{color:var(--paper);font-size:clamp(2rem,4.5vw,3rem);margin-bottom:14px;}
.kb-intro,.kb-intro p{color:rgba(244,244,245,.78);font-size:1.05rem;max-width:62ch;margin:0;}

.kb-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.kb-chip{padding:7px 14px;border-radius:999px;font-size:.88rem;font-weight:500;color:var(--paper);border:1px solid rgba(244,244,245,.22);text-decoration:none;transition:all .15s ease;}
.kb-chip:hover{border-color:var(--mint);color:var(--mint);}
.kb-chip.is-active{background:var(--paper);color:var(--text-ink);border-color:var(--paper);}

.kb-featured{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper);border-radius:var(--radius);overflow:hidden;margin-bottom:20px;text-decoration:none;box-shadow:0 20px 50px -20px rgba(0,0,0,.45);transition:transform .15s ease;}
.kb-featured:hover{transform:translateY(-3px);}
.kb-featured-img img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;}
.kb-featured-body{padding:36px 40px;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.kb-featured-body h2{color:var(--text-ink);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0;}
.kb-featured-body p{color:var(--text-muted);margin:0;}
.kb-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.kb-new{background:var(--status-green-bg);color:var(--status-green-text);padding:3px 9px;border-radius:999px;font-family:var(--font-body);font-weight:600;}
.kb-readmore{color:var(--teal);font-weight:600;font-family:var(--font-display);}

.pagination{margin-top:36px;}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}
.pagination .page-numbers{min-width:40px;padding:8px 14px;border-radius:999px;text-align:center;color:var(--paper);border:1px solid rgba(244,244,245,.18);text-decoration:none;font-family:var(--font-mono);font-size:.9rem;}
.pagination a.page-numbers:hover{border-color:var(--mint);color:var(--mint);}
.pagination .page-numbers.current{background:var(--paper);color:var(--text-ink);border-color:var(--paper);}
.pagination .page-numbers.dots{border-color:transparent;}

.kb-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:56px;}
.kb-cta h2{font-size:1.5rem;margin-bottom:6px;}
.kb-cta p{color:var(--text-muted);margin:0;max-width:56ch;}
.kb-cta-actions{display:flex;flex-wrap:wrap;gap:10px;}
.kb-cta-inline{margin-top:40px;padding:28px;border-radius:var(--radius-sm);background:var(--paper-2);border:1px solid var(--line-light);}
.kb-cta-inline h2{font-size:1.25rem;}

.kb-crumbs{display:flex;gap:8px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-bottom:14px;}
.kb-crumbs a{color:var(--text-muted);text-decoration:none;}
.kb-crumbs a:hover{color:var(--teal);}

.kb-related{max-width:var(--container);margin:56px auto 0;}
.kb-related > h2{color:var(--paper);font-size:1.6rem;margin-bottom:20px;}

@media (max-width:900px){
  .kb-featured{grid-template-columns:1fr;}
  .kb-featured-body{padding:24px;}
  .kb-cta{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  .post-card,.kb-featured{transition:none;}
  .post-card:hover,.kb-featured:hover{transform:none;}
}


/* =========================================================
   Gratis vergunningscheck (homepage)
   ========================================================= */
.hero-permit-link{display:inline-block;margin-top:18px;font-size:0.92rem;color:rgba(244,244,245,0.75);border-bottom:1px solid rgba(63,199,158,0.45);}
.hero-permit-link:hover{color:var(--mint);border-color:var(--mint);}

.permit-check{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;padding:44px;}
.permit-check .eyebrow{margin-bottom:14px;color:var(--teal);}
.permit-check .eyebrow::before{background:var(--teal);}
.permit-check h2{font-size:clamp(1.5rem,2.8vw,2rem);color:var(--text-ink);margin-bottom:14px;}
.permit-check-text > p{color:var(--text-muted);}
.permit-steps{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px;}
.permit-steps li{display:flex;gap:12px;align-items:baseline;color:var(--text-ink);font-weight:500;}
.permit-steps .mono{font-family:var(--font-mono);font-size:0.75rem;color:var(--teal);}
.permit-note{margin-top:12px;font-size:0.82rem;color:var(--text-muted);}

.permit-sample{background:var(--paper-2);border:1px solid var(--line-light);border-radius:var(--radius-sm);padding:20px;display:grid;gap:14px;}
.permit-sample-head{display:flex;justify-content:space-between;align-items:center;font-size:0.78rem;color:var(--text-muted);}
.permit-badge{background:var(--status-green-bg);color:var(--status-green-text);padding:3px 10px;border-radius:999px;font-weight:600;}
.permit-sample-block{background:var(--paper);border-radius:10px;padding:12px 14px;display:grid;gap:6px;}
.permit-sample-label{font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--teal);}
.permit-sample-row{display:flex;justify-content:space-between;gap:12px;font-size:0.88rem;color:var(--text-muted);}
.permit-sample-row b{font-family:var(--font-mono);color:var(--text-ink);white-space:nowrap;}
.permit-sample-item{font-size:0.88rem;color:var(--text-ink);padding-left:18px;position:relative;}
.permit-sample-item::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700;}
.permit-sample-item.is-warn::before{content:'!';color:var(--amber);}

@media (max-width:900px){
  .permit-check{grid-template-columns:1fr;padding:28px 22px;gap:28px;}
}

/* =========================================================
   Vergunningscheck-pagina
   ========================================================= */
.permit-usps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;}
.permit-usps li{color:rgba(244,244,245,0.82);font-size:0.95rem;padding-left:22px;position:relative;}
.permit-usps li::before{content:'✓';position:absolute;left:0;color:var(--mint);font-weight:700;}

.permit-form-card h2{font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--text-ink);margin-bottom:8px;}
.permit-form-lead{color:var(--text-muted);margin-bottom:22px;}
.permit-embed{display:block;width:100%;border:0;background:transparent;}

.path.path-3{grid-template-columns:repeat(3, 1fr);}
@media (max-width:900px){.path.path-3{grid-template-columns:1fr;}}

.faq-list{display:grid;gap:12px;}
.faq-item{background:var(--paper);border-radius:var(--radius-sm);padding:0 22px;box-shadow:0 16px 40px -22px rgba(0,0,0,0.4);}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;position:relative;font-family:var(--font-display);font-weight:600;color:var(--text-ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--teal);font-size:1.3rem;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{color:var(--text-muted);margin:0;padding:0 0 18px;}

.permit-h1{overflow-wrap:break-word;}

@media (max-width:640px){
  .permit-h1{font-size:2rem;}
  .permit-form-card{padding:24px 18px;}
}

/* =========================================================
   Verwijzingen naar de vergunningscheck (diensten, pakketten)
   ========================================================= */
.feature-card .card-link{display:inline-block;margin-top:12px;font-size:0.9rem;font-weight:600;color:var(--teal);}
.feature-card .card-link:hover{color:var(--text-ink);}

.permit-nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:28px;padding:20px 24px;border:1px solid rgba(244,244,245,0.18);border-radius:var(--radius-sm);}
.permit-nudge p{margin:0;color:rgba(244,244,245,0.78);max-width:62ch;}
.permit-nudge strong{color:var(--paper);}
.permit-inline-link{color:var(--teal);font-weight:600;}
.permit-inline-link:hover{text-decoration:underline;}
