/* =========================
   Variabelen & Basis
   ========================= */
:root{
  --brand:#b08d57 ;          /* goud/olive accent */
  --brand-strong:#b08d57 ;
  --bg-dark:#0e0f0f;
--bs-link-color: #b08d57;
	--bs-link-color-rgb: rgb(176 141 87);
	--bs-link-hover-color-rgb: rgb(176 141 87);
  --topbar-h:42px;          /* hoogte topbar (>= lg) */
  --mainnav-h:68px;         /* hoogte main menu (>= lg) */
}

@media (max-width: 991.98px){
  :root{
    --topbar-h:0px;         /* topbar verbergen op mobiel (optioneel) */
    --mainnav-h:64px;
  }
	
}

*{ box-sizing:border-box; }

body{
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color:#1a1a1a;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size: 18px;
      font-weight: 300;
}
h1, h2, h3, h4 {
 font-family: "PT Serif", serif;
}
@media (min-width: 992px) and (max-width: 1200px) {
  .container {
    max-width: 98%;
  }
}
/* =========================
   Header: Topbar + Mainnav
   ========================= */
.site-header{
  width:100%;
  z-index:1030;             /* boven hero */
}
a:{color: rgb(176 141 87);}
header.fixed-top {
       position: relative;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    margin-bottom: -110px;
}
.py-6{ padding-top:4rem; padding-bottom:4rem; }
@media (min-width:992px){ .py-6{ padding-top:6rem; padding-bottom:6rem; } }
/* --- Topbar (transparant, niet full width) --- */
.topbar{
  height:var(--topbar-h);
  display:flex; align-items:center;
  background:transparent;   /* hero schijnt door */
  pointer-events:none;      /* laat kliks op lege zones door */
}
.topbar .container{ pointer-events:auto; }
.top-link{ color:#f0f0f0; text-decoration:none; opacity:.9; }
.top-link:hover{ opacity:1; text-decoration:underline; }

/* --- Main menu (donkere balk met blur) --- */
.mainnav{
  height:var(--mainnav-h);
  display:flex; align-items:center;
 
}

/* Bootstrap nav kleine tuning */
.navbar{ --bs-navbar-nav-link-padding-x:1rem; }
.navbar-blur{ --bs-navbar-padding-y:1rem; } /* backward compat */

/* Standaard (zoals je al had) */
.brand-logo{
  height:50px;               /* basis-hoogte die de nav-hoogte respecteert */
  width:auto; object-fit:contain;
}

/* XL logo alleen op desktop/tablet, zonder de main nav hoger te maken */
@media (min-width: 992px){
  .brand-logo--xl{
    height: 70px;             /* 2x zo groot */
    margin-top:-24px;        /* 96 - 48 = 48 → verdeel als -24/-24 */
    margin-bottom:-24px;     /* zo blijft de balk even hoog */
	  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.6));
  }
  /* zorg dat het logo buiten de balk zichtbaar mag zijn */
  .mainnav{ overflow:visible; }
}


/* --- NAV underline: stabiel, zonder ::after --- */
.navbar .nav-link{
  color:#f7f7f7;
  opacity:.95;
  position:relative;
  padding-top:.75rem; 
  padding-bottom:.75rem;
  padding-left: 0px!important;
  padding-right: 0px !important;
  /* de “streep” */
  background-image: linear-gradient(var(--brand), var(--brand));
  background-repeat: no-repeat;
  /* afstand tot tekst mag je fine-tunen via bottom offset in background-position */
  background-position: left 0 bottom .25rem; 
  background-size: 0% 2px;                     /* start: onzichtbaar */
  transition: background-size .25s ease, opacity .15s ease;
}

/* hover & active tonen de streep */
.navbar .nav-link:hover,
.navbar .nav-link:focus{ 
  opacity:1; 
 
}
.navbar .nav-link.active{
  opacity:1;
 
}

/* verwijder oude ::after underline volledig */
.navbar .nav-link::after{ content:none !important; }


/* CTA-knop (kan in topbar of nav staan) */
.btn-accent{
  background:var(--brand);
  color:#1b1b1b;
  border:none;
}
.btn-accent:hover{ background:var(--brand-strong); color:#111; }

/* =========================
   Dropdowns (hover op desktop)
   ========================= */
.dropdown-menu{
  --bs-dropdown-bg:hsl(36.4deg 36.03% 51.57%);
  --bs-dropdown-link-color:#f1f1f1;
  --bs-dropdown-link-hover-bg:rgba(255,255,255,.06);
  --bs-dropdown-link-active-bg:rgba(255,255,255,.10);
  border:0;
  border-radius:12px;
  margin-top:.75rem;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.dropdown-item{ padding:.55rem 1rem; }
@media (min-width: 992px){
  .navbar .dropdown:hover>.dropdown-menu{ display:block; }
  .navbar .dropdown-toggle::after{ transition:transform .2s ease; }
  .navbar .dropdown:hover .dropdown-toggle::after{ transform:rotate(180deg); }
}

/* =========================
   Hero
   ========================= */
.hero{
  position:relative;
  padding-top:calc(var(--topbar-h) + var(--mainnav-h) + 24px); /* ruimte onder fixed header */
  padding-bottom:3rem;
  background:#121212;
  color:#fff;
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:65% center;
  filter:saturate(85%) contrast(95%);
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(80% 60% at 20% 40%, rgba(0,0,0,.05) 0%, rgba(20,11,0,.55) 60%, rgba(11,5,0,.59) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.40));
}
.eyebrow{
  letter-spacing:.25em;
  text-transform:uppercase;
  font-size:.85rem;
  opacity:.9;
font-weight: 400;
}
.text-accent{ color:var(--brand); }

.min-vh-75{ min-height:75vh; }
.min-vh-hero{ min-height:50vh; }

/* Buttons */
.btn {
    background: #fff;
    color: #1b1b1b;
    border: none;
	padding: 10px 20px;
	font-size: 1rem;
	border-radius: 8px;
	font-weight: 400;
}
.btn-primary{
  background:#ffffff; color:#111; border:none;
}
.btn:hover{ background:#2a2724; color:#fff; }
.btn-outline-light{ border-color:#ffffff; }
.btn-outline{     border: 1px solid #000; }
.btn-accent {
    background: var(--brand);
    color: #fff;
    border: none;
	padding: 10px 20px;
	font-size: 1rem;
	border-radius: 8px;
	font-weight: 400;
}
/* =========================
   Extras (optioneel)
   ========================= */
.avatar-stack{ display:inline-flex; }
.avatar{
  width:30px; height:30px; border-radius:999px;
  border:2px solid rgba(255,255,255,.8);
  background:linear-gradient(135deg,#f0f0f0,#cfcfcf);
  display:inline-block; margin-left:-8px;
}
.avatar:first-child{ margin-left:0; }

/* Onderrand met categorieën (als je die gebruikt) */
.hero-categories{
  position:relative;
  margin-top:2.5rem;
  background:rgba(255,255,255,.9);
  border-radius:14px;
  color:#1b1b1b;
}
.hero-categories i{ color:var(--brand-strong); }

/* =========================
   Responsive
   ========================= */
@media (max-width: 991.98px){
  .topbar{ display:none; }                /* topbar uit op mobiel; haal weg als je ‘m wilt tonen */
  .hero{ padding-bottom:2rem;
	        min-height: 650px;
        display: flex;
        align-items: center;
	}
  .navbar .nav-link::after{ display:none; } /* minder druk op mobiel */
}

/* ---------- Dropdown hover fix (desktop) ---------- */
@media (min-width: 992px){
  /* 1) Verwijder de verticale gap */
  .navbar .dropdown-menu{
    margin-top: 0 !important;  /* was .75rem */
    top: 100% !important;       /* strak onder de toggle */
  }

  /* 2) Openen op hover (had je al, laten staan) */
  .navbar .dropdown:hover > .dropdown-menu{
    display: block;
  }

  /* 3) Optioneel: “brug” van 10px die hover vasthoudt */
  .navbar .dropdown{
    position: relative;
  }
  .navbar .dropdown:hover::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 10px;               /* hover-buffer */
  }

  /* 4) Zorg dat de dropdown boven de nav kan uitsteken */
  .mainnav{ overflow: visible; }
}


/* ===== Footer ===== */
    footer { background: #1f1e1e; overflow: hidden;   padding-top: 80px !important; }
	  footer p, footer i, footer span { color: #fff; font-family: "Inter", sans-serif; }
    .footer-title { color: #fff;font-family: "PT Serif", serif; font-size:1.35rem; margin-bottom:.75rem }
    .footer-link { color: #fff; opacity:1; text-decoration:none }
    .footer-link:hover { opacity:1; color: #fff}
    .foot-bottom { color: #fff; border-top:1px solid rgb(255 255 255 / 10%) }
		footer  .list-unstyled {    line-height: 1.8;}


/* collage wrapper */
.feature-split .split-media{
  min-height: 380px;
}
.feature-split .card-img{
  overflow:hidden;
  border-radius: 40px 0px 40px 0px;
  background:#fff;
}
.feature-split .card-img img{
  display:block; width:100%; height:100%; object-fit:cover;
}

/* grote kaart (rechts, afgerond) */
.feature-split .card-img.main{
  position: relative;
  width: 100%;
  height: 360px;
  margin-left: auto;        /* duwt naar rechts */
  border: 0;
}

/* kleine kaart (overlapping) */
.feature-split .card-img.inset{
  position: absolute;
  left: 6%;
  bottom: -32px;
  width: 46%;
  height: 220px;
  border: 0;
}

/* zacht organisch vlak achter de kaarten */
.feature-split .blob{
  position:absolute; inset:auto auto 0 30%;
  width: 340px; height: 240px;
  background: radial-gradient(80% 80% at 50% 50%, rgba(170,112,106,.12), rgba(170,112,106,.06) 60%, transparent 70%);
  filter: blur(2px);
  border-radius: 40% 60% 50% 50%;
  transform: translateY(20%);
  z-index: 0;
}
.feature-split .blob-left{ left: -30px; }

/* potlood-krabbel */
.feature-split .scribble{
  position:absolute; top:-18px; left: 48%;
  transform: translateX(-50%) rotate(-8deg);
  z-index: 2;
}

/* schaduw subtiel */
.feature-split .shadow-sm{
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

/* kleuren volgen je design tokens */
.feature-split h2{ color: var(--brand-dark); }
.feature-split p{  }

/* Responsief */
@media (max-width: 991.98px){
  .feature-split .split-media{
    min-height: 0;
  }
  .feature-split .card-img.main{
    width: 100%;
    height: clamp(260px, 58svh, 420px);
    margin: 0 auto;
  }
  .feature-split .card-img.inset{
    position: absolute;
    left: 12px; bottom: -18px;
    width: 56%; height: 180px;
  }
  .feature-split .blob{ left: 10%; width: 260px; height: 180px; }
  .feature-split .scribble{ left: 32%; top: -10px; }
  .feature-split .badge-soft{ margin-bottom:.75rem; }
  .feature-split .row{ gap: 2.5rem; }
}

/* Optioneel: variant die het beeld links en tekst rechts zet op desktop */
.feature-split--reverse .row{ flex-direction: row-reverse; }
.fade-piece {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease-out;
}

/* When visible */
.fade-piece.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered timing â€” each piece a bit later */
.fade-piece:nth-child(1) { transition-delay: 0.1s; }
.fade-piece:nth-child(2) { transition-delay: 0.3s; }
.fade-piece:nth-child(3) { transition-delay: 0.5s; }
.fade-piece:nth-child(4) { transition-delay: 0.7s; }


/* ===== Over-hero module: positie en spacing ===== */
.over-hero{
  position: relative;
  z-index: 2;                       /* boven de hero */
  margin-top: -120px;               /* overlap hoogte */
  margin-bottom: 48px;
}
.feature-split .badge {
	    letter-spacing: .2em;
    text-transform: uppercase;
    font-size: .85rem;
    color: var(--brand);
    margin: 0 0 .25rem 0;
	    padding: 0px;
    font-weight: 400;
}
@media (max-width: 991.98px){
  .over-hero{ margin-top: -80px; }
}

/* ===== Kaarten ===== */
.oh-card{
  border-radius: 40px 0px 40px 0px;
  box-shadow: 5px 10px 15px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
}
.oh-card-light{
  background: #fff;
}
.oh-card-dark{
  background: var(--brand);              /* warm donker */
  color: #ffffff;
}

/* Subtiele “glow” rand voor diepte */
.oh-card::after{
  content:""; position:absolute; inset:0;
  border-radius: inherit;
  pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

/* Media-blok met afgeronde hoeken binnen de kaart */
.oh-media{
  padding: 24px;
}
.oh-media img{
 display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
    object-fit: cover;
    min-height: 350px;
}

/* Eyebrow + accent link */
.oh-eyebrow{
      letter-spacing: .2em;
    text-transform: uppercase;
    font-size: .85rem;
  color: var(--brand);
  margin: 0 0 .25rem 0;
	font-weight: 400;
}
.oh-link-accent{
  color: var(--brand);
  text-decoration: none;
}
.oh-link-accent:hover{ color: var(--brand-strong); text-decoration: underline; }

/* Steps */
.oh-step{ display:flex; align-items:baseline; gap:.75rem; }
.oh-step-num{
  font-weight: 700;
  color:#e9e6e1;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  padding: .25rem .75rem;
  font-size:.9rem;
}

/* Pijltjes pill-buttons */
.oh-pill{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:999px;
  background: #e0cc9e1f;            /* zacht goud transparant */
  color:#e3c98d;
  border: 1px solid rgba(227,201,141,.35);
}
.oh-pill:hover{
  background:#e3c98d33;
  color:#ffecba;
}

/* Donkere kaart kleine nuance */
.oh-card-dark .oh-step-num{ color:#1c1a18; background:#f5e7c2; }
.oh-card-dark .oh-pill{ background:#2a2724; color:#f0d9a0; border-color:#3a342f; }
.oh-card-dark .oh-pill:hover{ background:#352f2b; }

/* Compactere typografie op mobiel */
@media (max-width: 575.98px){
  .oh-eyebrow{ font-size: 1.4rem; }
  .oh-card .btn{ width: 100%; }
}
@media (min-width: 992px) {
    .py-6 {
        padding-top: 4rem;
        padding-bottom: 5rem;
    }
}
.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgb(176 141 87 / 10%) !important;
}

/* Reviews slider (fade, 1 tegelijk) */
.reviews-slider{
  position: relative;
  min-height: 300px;              /* ruimte zodat content niet springt */
}
.review-item{
  position:absolute; inset:0;
  opacity:0; transform: translateY(6px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
}
.review-item.is-active{
  opacity:1; transform: translateY(0);
  pointer-events: auto;
}
.review-quote{
    margin: .5rem 0 1rem;
    font-size: 1.2rem;
    line-height: 1.55;
    font-style: italic;
}
.review-meta{ 
  opacity:.9; font-weight:600; 
}
.review-stars i{ color: #fff; margin-right:2px; }
@media (min-width: 1200px) {
    .display-6 {
        font-size: 1.75rem;
    }
}
.feature-split blockquote {
    margin: 0 0 1rem;
    font-size: 1.3rem;
    font-style: italic;
    color: #b08d57;
}

  /* ===== Waardenblok ===== */
.waarden {
  background: #fff;
}

.waarden .waarde-item {
 
    border-radius: 40px 0px 40px 0px;
    background: rgb(176 141 87 / 10%) !important;
    padding: 45px 30px;
}
.waarde-item h5 {
  color: var(--brand-dark);
  font-weight: 600;
  margin-bottom: .4rem;
}
.waarde-item p {
  font-size: 0.95rem;
  color: #6b6b6b;
}
.waarde-icon {
  width:100px;
  height: 100px;
  border-radius:  40px 0px 40px 0px;
  background: rgb(176 141 87 / 20%) !important;
  color: #2a2724;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  transition: all .3s ease;
}
.waarde-item:hover .waarde-icon {
  background: rgb(176 141 87 / 20%) !important;
  transform: translateY(-3px);
}

.mod-cta{
    border-radius: 40px 0px 40px 0px;
    background: rgb(176 141 87 / 100%) !important;
    padding: 80px;
    max-width: 1290px;
    margin: 0 auto;	
	color: #fff;
	position: relative;
}
.mod-cta .logo-symbol{
	    position: absolute;
    right: -100px;
    transform: rotate(320deg);
    top: -30px;
    opacity: 0.2;
}
.mod-cta .cta-eyebrow {
    letter-spacing: .2em;
    text-transform: uppercase;
    font-size: .85rem;
    color: #fff;
    margin: 0 0 .25rem 0;
    font-weight: 400;
}

.begeleiding-card {
    border: 0;
    border-radius: 40px 0 40px 0;
    transition: transform .25s 
ease, box-shadow .25s 
ease, border-color .25s 
ease;
      background: rgba(176, 141, 87, .1) !important;
    overflow: hidden;
}
.nieuws .begeleiding-card .image-wrap {
    height: 260px;
    overflow: hidden;
	    background: #b08d56;
}
.begeleiding-card .image-wrap img {
    height: 300px;
    width: 100%;
 object-fit: contain;
}
.nieuws .begeleiding-card .image-wrap {
    height: 260px;
    overflow: hidden;
	    background: #b08d56;
}

.nieuws .card-body {
  padding: 1.75rem;
}

.nieuws .card-title {
 
  font-weight: 600;
  color: var(--brand-dark);
}

.nieuws .more-link {
  font-weight: 600;
  text-decoration: none;
  color: var(--brand-dark);
  transition: color .3s ease;
}

.nieuws .more-link:hover {
  color: var(--brand-green);
}

.nieuws .more-link i {
  transition: transform .3s ease;
}

.nieuws .more-link:hover i {
  transform: translateX(2px);
}

.bio-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(255, 255, 255, .85);
    color: var(--brand-dark);
    font-weight: 600;
    font-size: .85rem;
    padding: .35rem .6rem;
    border-radius: 10px;
    backdrop-filter: blur(2px);
}
.feature-split .image-sep {
    border-radius: 40px 0 40px 0;
    display: block;
    object-fit: cover;
    max-height: auto;
    overflow: hidden;
}