/* FinQDC — huisstijl overgenomen van de bestaande site */
:root{
  --blauw:#1d3d59;
  --blauw-licht:#2d6278;
  --groen:#73a605;
  --groen-hover:#93a605;
  --grijsblauw:#a8b5bf;
  --licht:#f2f2f2;
  --wit:#ffffff;
  --tekst:#212121;
  --schaduw:rgba(33,33,33,.47);
  --radius:6px;
  --max:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--tekst);
  line-height:1.65;
  background:var(--wit);
}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{color:var(--groen);line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4vw,2.6rem)}
h2{font-size:clamp(1.4rem,3vw,1.9rem)}
h3{font-size:1.375rem;color:var(--blauw)}
p{margin:0 0 1.1em}
a{color:var(--blauw)}
a:hover{color:var(--groen-hover)}

/* ---- header ---- */
header.site{background:var(--wit);border-bottom:1px solid #e8e8e8}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;max-width:var(--max);margin:0 auto}
.logo img{display:block;height:64px;width:auto}
nav.hoofdmenu ul{list-style:none;display:flex;align-items:center;gap:26px;margin:0;padding:0}
nav.hoofdmenu a{color:var(--blauw);font-weight:700;font-size:1rem;text-decoration:none}
nav.hoofdmenu a:hover,nav.hoofdmenu a[aria-current=page]{color:var(--groen-hover)}
.dropdown{position:relative}
.dropdown>button{
  background:none;border:0;font:inherit;font-weight:700;color:var(--blauw);
  cursor:pointer;display:flex;align-items:center;gap:6px;padding:0;
}
.dropdown>button:hover{color:var(--groen-hover)}
.dropdown-menu{
  position:absolute;top:calc(100% + 10px);left:0;min-width:230px;
  background:var(--blauw);border-radius:var(--radius);
  box-shadow:4px 4px 10px rgba(29,61,89,.54);
  list-style:none;margin:0;padding:10px;display:none;flex-direction:column;gap:2px;z-index:60;
}
.dropdown[data-open=true] .dropdown-menu{display:flex}
.dropdown-menu a{display:block;color:var(--licht);padding:6px 10px;border-radius:4px;font-weight:400;font-size:.94rem}
.dropdown-menu a:hover{color:var(--groen-hover)}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--blauw)}
.menu-toggle svg{display:block}

/* ---- hero ---- */
.hero{background:var(--blauw);color:var(--licht);padding:52px 0}
.hero h1{color:var(--licht);margin:0}

/* ---- kaarten ---- */
.section{padding:60px 0}
.section--blauw{background:var(--blauw);padding:60px 0}
.kaarten{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.kaart{
  background:var(--licht);border-radius:var(--radius);padding:24px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  box-shadow:10px 10px 10px var(--schaduw);
}
.kaart h3{margin:0;color:var(--blauw);font-size:1.375rem}
.kaart img{width:150px;height:150px;border-radius:var(--radius);object-fit:cover;box-shadow:4px 4px 10px var(--schaduw)}
.kaart p{font-size:.98rem;margin:0}
.kaart .btn{margin-top:auto}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--blauw);color:var(--licht);
  padding:12px 22px;border-radius:var(--radius);
  text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem;
  transition:background .15s ease,color .15s ease;
}
.btn:hover{background:var(--groen-hover);color:var(--blauw)}
.btn--groen{background:var(--groen)}
.btn--groen:hover{background:var(--blauw);color:var(--licht)}

/* ---- intro blok ---- */
.intro{max-width:760px}
.intro .label{color:var(--blauw);font-size:1.125rem;font-weight:700;margin-bottom:.35em}

/* ---- content pagina ---- */
.content{max-width:820px}
.content .lead{font-weight:700;color:var(--blauw);font-size:1.1rem}
.content img{max-width:100%;height:auto;border-radius:var(--radius);margin-top:24px}
.quote{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px}
.quote svg{flex:0 0 auto;color:var(--groen-hover);margin-top:4px}
.quote p{font-style:italic;font-size:1.125rem;margin:0}

/* ---- formulier ---- */
form.contact{max-width:640px}
.veld{margin-bottom:20px}
.veld > label,.veld legend{display:block;font-weight:600;color:var(--blauw);margin-bottom:6px;padding:0}
.req{color:#b3261e;font-weight:400;font-size:.9rem}
.hint{font-size:.85rem;color:#666;margin-top:4px}
input[type=text],input[type=email],input[type=tel],textarea{
  width:100%;padding:11px 13px;border:1px solid #686e77;border-radius:3px;
  font:inherit;color:var(--tekst);background:var(--wit);
}
input:focus,textarea:focus{outline:2px solid var(--groen);outline-offset:1px;border-color:var(--groen)}
textarea{min-height:150px;resize:vertical}
.naam-rij{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sublabel{font-size:.85rem;color:#555;font-weight:400;margin-top:4px;display:block}
fieldset{border:0;padding:0;margin:0 0 20px}
.keuze{display:flex;align-items:flex-start;gap:9px;margin-bottom:8px;font-weight:400;color:var(--tekst)}
.keuze input{margin-top:5px;flex:0 0 auto}
.keuze label{font-weight:400;color:var(--tekst);margin:0}
.formstatus{padding:14px 16px;border-radius:var(--radius);margin-bottom:20px;display:none}
.formstatus.ok{display:block;background:#e8f3d6;border:1px solid var(--groen);color:#31450a}
.formstatus.fout{display:block;background:#fdecea;border:1px solid #b3261e;color:#7f1d16}

/* ---- footer ---- */
footer.site{background:var(--blauw);color:var(--licht);padding:36px 0}
footer.site a{color:var(--licht);text-decoration:none}
footer.site a:hover{color:var(--groen-hover)}
.footer-rij{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;font-size:.96rem}
.footer-item{display:inline-flex;align-items:center;gap:8px}
.footer-sep{width:1px;height:20px;background:var(--grijsblauw);opacity:.6}
.footer-deel{display:flex;flex-direction:column;align-items:center;gap:18px}
.footer-lijn{width:100%;max-width:520px;border-top:1px dashed var(--grijsblauw);opacity:.55}

/* ---- responsive ---- */
@media (max-width:900px){
  .kaarten{grid-template-columns:1fr;gap:24px}
}
@media (max-width:767px){
  .menu-toggle{display:block}
  nav.hoofdmenu{
    position:fixed;inset:0;background:var(--wit);z-index:100;
    display:none;padding:80px 24px 24px;overflow-y:auto;
  }
  nav.hoofdmenu[data-open=true]{display:block}
  nav.hoofdmenu ul{flex-direction:column;align-items:flex-start;gap:18px}
  nav.hoofdmenu a,.dropdown>button{font-size:1.15rem}
  .dropdown-menu{position:static;display:flex;background:transparent;box-shadow:none;padding:10px 0 0 14px}
  .dropdown-menu a{color:var(--blauw)}
  .menu-sluit{position:absolute;top:20px;right:20px;display:block;background:none;border:0;color:var(--groen-hover);cursor:pointer;padding:8px}
  .naam-rij{grid-template-columns:1fr}
}
@media (min-width:768px){.menu-sluit{display:none}}

/* --- Turnstile spam-check --- */
.cf-turnstile{margin:8px 0 4px}

/* --- Call-to-action blok (onderaan dienstenpagina's) --- */
.cta{
  margin-top:48px;
  background:var(--navy,#1d3d59);
  color:#fff;
  border-radius:14px;
  padding:36px 32px;
  text-align:center;
}
.cta h2{color:#fff;margin:0 0 10px;font-size:1.5rem}
.cta p{color:#e6ecf1;margin:0 auto 22px;max-width:52ch}
.cta .btn{background:var(--groen,#73a605);border-color:var(--groen,#73a605);color:#fff}
.cta .btn:hover{background:#93a605;border-color:#93a605}
@media (max-width:600px){.cta{padding:28px 20px}}

/* --- Portretfoto Over-pagina --- */
.over-foto{display:block;max-width:340px;width:100%;height:auto;border-radius:12px;margin:12px 0 4px}
