/* ============================================================
   FINDEX VERMOGENSBEHEER — gedeelde stijl
   Richting: ingetogen-modern. Diepe nachtblauw-inkt, gedempt
   messing (geen fel goud), royale witruimte. Fraunces + Inter.
   ============================================================ */

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

:root{
  --ink:#16263B;          /* diepe, warme nachtblauw-inkt (anker) */
  --ink-soft:#22384F;     /* iets lichter voor vlakken */
  --brass:#A8895C;        /* gedempt messing/oud-goud */
  --brass-lt:#C2A878;     /* lichter messing op donker */
  --cream:#F8F5EF;        /* rustige crème achtergrond */
  --cream-dk:#ECE6DB;     /* warme beige voor lijnen/kaarten */
  --paper:#FFFFFF;
  --text:#3A4654;         /* leesbare body */
  --text-mute:#6B7682;    /* secundair */
  --sprout:#5A8A3C;       /* groen uit het logo, spaarzaam */
  --line:rgba(22,38,59,0.10);
  --page-max:1600px;
  --page-pad:clamp(1.4rem,4vw,4.5rem);
  --read-max:850px; /* leesbreedte lopende tekst (~12% boven ~760px / 72ch) */
}

html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--text);
  overflow-x:hidden;
  font-size:1rem;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}

/* ---------- Typografische bouwstenen ---------- */
.eyebrow{
  font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--brass); font-weight:500; font-family:'Inter',sans-serif;
  display:inline-flex; align-items:center; gap:0.8rem;
}
.eyebrow::before{ content:''; width:2.2rem; height:1px; background:var(--brass); display:block; }
.eyebrow.center{ justify-content:center; }

h1,h2,h3{ font-family:'Fraunces',serif; font-weight:300; color:var(--ink); line-height:1.12; letter-spacing:-0.01em; }
h1 em, h2 em, h3 em{ font-style:italic; font-weight:300; color:var(--brass); }

.lead{ font-size:1.1rem; line-height:1.8; color:var(--text-mute); font-weight:300; }

/* ---------- Navigatie ---------- */
nav#nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem;
  padding:0.85rem var(--page-pad);
  background:var(--cream);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  backdrop-filter:none;
  transition:padding .3s, box-shadow .3s;
}
nav#nav.scrolled{
  padding:0.7rem var(--page-pad);
  box-shadow:0 2px 12px rgba(22,38,59,0.06);
}
.nav-logo{ display:flex; align-items:center; flex-shrink:0; line-height:0; text-decoration:none; }
.nav-logo img{ height:50px; width:auto; display:block; }
.nav-links{
  display:flex; gap:1.6rem; list-style:none; align-items:center;
  margin:0; padding:0; flex:1; justify-content:center;
}
.nav-links li{ margin:0; padding:0; }
.nav-links a,
.nav-links .nav-portfolio{
  font-size:0.875rem; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; font-weight:500;
  transition:color .2s; position:relative; white-space:nowrap;
}
.nav-links a::after{ content:''; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:var(--brass); transition:width .25s; }
.nav-links a:hover,
.nav-links .nav-portfolio:hover{ color:var(--brass); }
.nav-links a:hover::after{ width:100%; }
.nav-links a.active,
.nav-links .nav-portfolio.active{ color:var(--ink); }
.nav-links a.active::after,
.nav-links .nav-portfolio.active::after{ width:100%; }
.nav-cta{
  font-size:0.8125rem; letter-spacing:0.06em; text-transform:uppercase; font-weight:500;
  padding:0.65rem 1.25rem; background:var(--ink); color:var(--paper); text-decoration:none;
  transition:background .25s; border:1px solid var(--ink); flex-shrink:0; white-space:nowrap;
}
.nav-cta:hover{ background:var(--brass); border-color:var(--brass); color:var(--paper); }
.nav-portfolio{
  font-size:0.875rem; letter-spacing:0.06em; text-transform:uppercase; font-weight:500;
  color:var(--ink); text-decoration:none; padding:0; transition:color .2s;
}
.nav-portfolio:hover{ color:var(--brass); }
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:6px; padding:0.4rem; flex-shrink:0;
}
.nav-toggle span:not(.nav-toggle-label){
  width:26px; height:2px; background:var(--ink); display:block; transition:transform .25s, opacity .25s;
}
.nav-toggle-label{ display:none; }
.nav-mobile-only{ display:none; }

/* ---------- Hero (homepage) ---------- */
.hero{
  min-height:100vh; display:flex; align-items:center; position:relative;
  padding:9rem var(--page-pad) 5rem; overflow:hidden;
}
.hero::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--cream-dk) 20%,var(--cream-dk) 80%,transparent);
}
.hero-inner{ max-width:var(--page-max); margin:0 auto; width:100%; }
.hero h1{ font-size:clamp(2.8rem,6vw,5.2rem); margin:1.8rem 0 2rem; max-width:22ch; }
.hero-sub{ max-width:var(--read-max); font-size:1.1rem; line-height:1.75; margin-bottom:3rem; }
.hero-actions{ display:flex; gap:1.1rem; flex-wrap:wrap; align-items:center; }
.btn{
  font-family:'Inter',sans-serif; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase;
  font-weight:500; padding:1rem 2.4rem; text-decoration:none; cursor:pointer; transition:all .25s; border:1px solid var(--ink);
  display:inline-block;
}
.btn-primary{ background:var(--ink); color:var(--cream); }
.btn-primary:hover{ background:var(--brass); border-color:var(--brass); }
.btn-ghost{ background:transparent; color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--cream); }

.hero-pillars{
  margin-top:4.5rem;
  font-size:0.82rem; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink); font-weight:500;
}

.teaser-link{
  display:inline-block; margin-top:1.5rem;
  font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase;
  font-weight:500; color:var(--brass); text-decoration:none; transition:color .2s;
}
.teaser-link:hover{ color:var(--ink); }
.dark .teaser-link{ color:var(--brass-lt); }
.dark .teaser-link:hover{ color:#fff; }

.split-grid{
  display:grid; grid-template-columns:1fr min(50%, 528px); gap:4rem; align-items:center;
}
.page-hero .split-grid{ align-items:start; }
.split-text h2{ font-size:clamp(2rem,4vw,3.2rem); margin:1.2rem 0 1.4rem; }
.split-text p{ margin-bottom:0; font-size:1rem; line-height:1.8; }
.split-text .lead{ font-size:1.1rem; }
.split-media{
  aspect-ratio:4/5; width:100%; max-width:528px; margin-left:auto;
  overflow:hidden; background:var(--cream-dk);
}
.split-media img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.split-text .split-trust{ margin-top:2rem; }
.split-text .split-trust .trust-row:last-child{ margin-bottom:0; }
.page-hero .split-text h1{ margin:1.2rem 0 1.4rem; max-width:16ch; }
.page-hero .split-text .lead{ max-width:42ch; }
.media-placeholder{
  aspect-ratio:4/3; width:100%;
  background:var(--cream-dk); display:flex; align-items:center; justify-content:center;
}
.media-placeholder span{
  font-family:'Fraunces',serif; font-style:italic; color:var(--text-mute); font-size:0.9rem; letter-spacing:0.04em;
}
.aanpak{ position:relative; z-index:2; }
.aanpak-head{ max-width:var(--read-max); margin-bottom:3.5rem; }
.aanpak-head h2{ font-size:clamp(2rem,4vw,3.2rem); margin:1.2rem 0 1.4rem; }
.aanpak-head p{ font-size:1rem; line-height:1.8; color:rgba(255,255,255,0.7); }
.aanpak-body{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  column-gap:clamp(1.5rem,4vw,4rem);
  align-items:stretch;
}
.aanpak-visual{ display:flex; align-items:center; justify-content:center; min-width:0; }
.aanpak-visual picture{
  width:100%; max-width:100%; display:block;
}
.aanpak-visual img{
  width:100%; max-width:100%; height:auto; display:block;
}
.aanpak-layers{ position:relative; align-self:stretch; min-height:100%; }
.aanpak-layer{
  position:absolute; left:0; right:0;
  transform:translateY(-50%);
  max-width:36rem;
}
.aanpak-layer--overtuiging{ top:17.625%; }
.aanpak-layer--verfijning{ top:45.144%; }
.aanpak-layer--basis{ top:77.519%; }
.aanpak-cta{ margin-top:2.5rem; }
.aanpak-cta .teaser-link{ display:inline-block; }
.aanpak-teaser .aanpak-body{
  align-items:center;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
}
.aanpak-teaser .aanpak-head{
  max-width:none;
  margin-bottom:0;
}
.aanpak-teaser .aanpak-cta{ margin-top:1.35rem; }
.dark .media-placeholder{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1);
}
.dark .media-placeholder span{ color:rgba(255,255,255,0.45); }

.quote-block{ text-align:center; position:relative; z-index:2; }
.quote-block .wrap{ max-width:52rem; }
.quote-text{
  font-family:'Fraunces',serif; font-size:clamp(1.5rem,3vw,2.2rem); font-weight:300;
  font-style:italic; line-height:1.45; margin:0 auto 1.5rem;
}
.quote-source{
  font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text-mute); font-weight:500;
}
.dark.quote-block .quote-text{ color:#fff; }
.dark.quote-block .quote-source{ color:rgba(255,255,255,0.5); }

.member.compact .member-body{ padding:1.4rem 1.5rem 1.6rem; }

/* ---------- Pagina-hero (subpagina's) ---------- */
.page-hero{
  padding:12rem var(--page-pad) 4rem; position:relative; overflow:hidden;
  border-bottom:1px solid var(--cream-dk);
}
.page-hero .wrap{ max-width:var(--page-max); margin:0 auto; }
.page-hero h1{ font-size:clamp(2.4rem,5vw,4rem); margin:1.4rem 0 1.5rem; max-width:24ch; }
.page-hero .lead{ max-width:var(--read-max); }
.contact-points{
  list-style:none; margin:1.15rem 0 1.5rem; padding:0; max-width:var(--read-max);
}
.contact-points li{
  position:relative; padding-left:1.15rem; margin-bottom:0.4rem;
  font-size:1rem; line-height:1.7; color:var(--text-mute); font-weight:300;
}
.contact-points li::before{
  content:''; position:absolute; left:0; top:0.72em;
  width:0.7rem; height:1px; background:var(--brass);
}
.contact-promise{
  max-width:var(--read-max); font-size:1.08rem; line-height:1.7;
  color:var(--ink); font-weight:500;
}
.contact-promise strong{ font-weight:600; }

/* ---------- Sectie-basis ---------- */
section{ padding:6rem var(--page-pad); }
.wrap{ max-width:var(--page-max); margin:0 auto; width:100%; }
.section-head{ max-width:var(--read-max); margin-bottom:3rem; }
.section-head h2{ font-size:clamp(2rem,4vw,3.2rem); margin:1.2rem 0 1.4rem; }
.section-head p{ margin-top:1.2rem; font-size:1rem; line-height:1.8; color:var(--text-mute); }
.section-head .lead{ font-size:1.1rem; }

/* ---------- Over ons ---------- */
.alt-paper{ background:var(--paper); }
.alt-cream{ background:var(--cream); }
.story-grid{ display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.story-text p{ margin-bottom:1.3rem; font-size:1rem; line-height:1.8; }
.story-aside{ background:var(--cream); border:1px solid var(--cream-dk); padding:2.8rem; }
.story-aside.on-cream{ background:var(--paper); }
.story-aside h3{ font-size:1.5rem; margin-bottom:1.2rem; }
.trust-row{ display:flex; gap:0.9rem; padding:1.1rem 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.trust-row:last-child{ border-bottom:none; }
.trust-mark{ color:var(--brass); font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem; line-height:1; flex-shrink:0; }
.trust-title{ font-weight:600; color:var(--ink); font-size:1.05rem; margin-bottom:0.35rem; }
.trust-desc{ font-size:1rem; color:var(--text-mute); line-height:1.8; }

/* ---------- Team ---------- */
.team-intro{ max-width:var(--read-max); margin-bottom:3.5rem; }
.team-intro h2{ margin:1.2rem 0 1.2rem; }
.team-note{ max-width:none; font-size:1rem; line-height:1.8; color:var(--text-mute); }
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.team-grid + p{ margin-top:2.5rem; }
.member{ background:var(--paper); border:1px solid var(--cream-dk); transition:transform .3s, box-shadow .3s; }
.member:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -24px rgba(22,38,59,0.35); }
.member-photo{ aspect-ratio:4/5; background:linear-gradient(160deg,var(--cream) 0%,var(--cream-dk) 100%); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.member-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.member-photo .ph{ font-family:'Fraunces',serif; font-style:italic; color:var(--brass); font-size:0.8rem; letter-spacing:0.1em; }
.member-body{ padding:1.6rem 1.5rem 1.8rem; }
.member-name{ font-family:'Fraunces',serif; font-size:1.35rem; color:var(--ink); margin-bottom:0.25rem; }
.member-name .sub{ color:var(--text-mute); font-style:italic; font-size:0.9rem; }
.member-role{ font-size:0.74rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); font-weight:500; margin-bottom:0.9rem; }
.member-bio{ font-size:0.9rem; color:var(--text-mute); line-height:1.65; }
.member-bio + .member-bio{ margin-top:0.85rem; }
.member-contact{ margin-top:1rem; font-size:0.78rem; color:var(--text-mute); letter-spacing:0.01em; line-height:1.5; }
.member-contact a{ color:var(--text-mute); text-decoration:none; border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.member-contact a:hover{ color:var(--ink); border-bottom-color:var(--brass); }

.platform-band{ margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--cream-dk); }
.platform-band > p{ max-width:var(--read-max); font-size:0.9rem; color:var(--text-mute); margin:0 auto 2.5rem; text-align:center; }
.platform-band > p strong{ color:var(--ink); font-weight:500; }
.team-grid.platform{ grid-template-columns:repeat(4,1fr); }
.member.lite{ background:transparent; border-color:var(--line); }
.member.lite .member-photo{ aspect-ratio:1/1; background:var(--cream-dk); }
.dark .member.lite{ background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.12); position:relative; z-index:2; }
.dark .member.lite .member-name{ color:#fff; }
.dark .member.lite .member-role{ color:var(--brass-lt); }
.dark .member.lite .member-bio{ color:rgba(255,255,255,0.55); }
.dark .team-grid.platform{ margin-top:2.5rem; position:relative; z-index:2; }

/* ---------- Vermogensbeheer (donker blok) ---------- */
.dark{ background:var(--ink); color:rgba(255,255,255,0.7); position:relative; overflow:hidden; }
.dark::before{ content:''; position:absolute; top:-150px; right:-120px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(168,137,92,0.14),transparent 68%); }
.dark .eyebrow{ color:var(--brass-lt); }
.dark .eyebrow::before{ background:var(--brass-lt); }
.dark h2{ color:#fff; }
.dark h2 em{ color:var(--brass-lt); }
.beheer-grid{ display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; position:relative; z-index:2; }
.beheer-text{ position:relative; z-index:2; }
.beheer-text p{ margin-bottom:1.3rem; font-size:1rem; line-height:1.8; }
.dark .beheer-text strong{ color:var(--paper); font-weight:500; }
.beheer-features{ margin-top:2.5rem; display:flex; flex-direction:column; gap:1.6rem; position:relative; z-index:2; }
.bf-row{ display:flex; gap:1.2rem; align-items:flex-start; }
.bf-icon{ width:2.6rem; height:2.6rem; flex-shrink:0; border:1px solid rgba(194,168,120,0.4); color:var(--brass-lt); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-style:italic; }
.bf-title{ color:#fff; font-weight:500; font-size:0.95rem; margin-bottom:0.25rem; }
.bf-desc{ font-size:0.9rem; color:rgba(255,255,255,0.55); line-height:1.6; }
.cost-card{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); padding:2.8rem; }
.cost-card h4{ font-family:'Inter',sans-serif; font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--brass-lt); margin-bottom:1.8rem; font-weight:500; }
.cost-row{ display:flex; justify-content:space-between; align-items:baseline; padding:0.85rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.cost-label{ font-size:0.88rem; color:rgba(255,255,255,0.6); }
.cost-val{ font-family:'Fraunces',serif; font-size:1.15rem; color:#fff; }
.cost-row.total{ border-bottom:none; margin-top:1rem; padding-top:1.4rem; border-top:1px solid rgba(194,168,120,0.4); }
.cost-row.total .cost-label{ color:var(--brass-lt); text-transform:uppercase; letter-spacing:0.08em; font-size:0.78rem; font-weight:500; }
.cost-row.total .cost-val{ color:var(--brass-lt); font-size:1.7rem; }
.cost-note{ margin-top:1.3rem; font-size:0.76rem; color:rgba(255,255,255,0.4); font-style:italic; line-height:1.6; }

/* ---------- Samenwerken ---------- */
.partner-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem 3rem; margin-top:1rem; }
.partner-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.partner-item{ padding:1.8rem 0; border-top:1px solid var(--cream-dk); }
.partner-item h3{ font-size:1.25rem; margin-bottom:0.6rem; }
.partner-item p{ font-size:0.9rem; color:var(--text-mute); line-height:1.7; }
.feature-triad{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem 2.5rem;
  margin-top:3rem; position:relative; z-index:2;
}
.feature-triad-item{ padding-top:1.2rem; border-top:1px solid var(--line); }
.partner-cta{ margin-top:3.5rem; padding:2.5rem 3rem; background:var(--cream); border-left:2px solid var(--brass); display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.partner-cta.on-cream{ background:var(--paper); }
.partner-cta h3{ font-family:'Fraunces',serif; font-size:1.5rem; font-weight:400; margin-bottom:0.6rem; color:var(--ink); }
.partner-cta > div > p:first-of-type{ margin-bottom:0.75rem; }
.partner-cta p{ font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem; color:var(--ink); font-weight:300; max-width:40ch; }
.partner-cta .cta-lead{ font-family:'Inter',sans-serif; font-style:normal; font-size:0.9rem; color:var(--text-mute); line-height:1.7; max-width:var(--read-max); font-weight:300; }

/* ---------- Portfolio (Mijn portefeuille) ---------- */
.depot-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:1rem auto 0; max-width:720px; }
.depot-card{
  background:var(--paper); border:1px solid var(--cream-dk); padding:3rem 2rem;
  display:flex; flex-direction:column; align-items:center; gap:1.5rem; text-decoration:none;
  transition:transform .3s, box-shadow .3s, border-color .3s; text-align:center;
}
.depot-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -24px rgba(22,38,59,0.35); border-color:var(--brass); }
.depot-logo{
  width:100%; max-width:220px; height:88px;
  display:flex; align-items:center; justify-content:center;
  padding:1rem 1.25rem; box-sizing:border-box;
}
.depot-logo img{
  width:100%; height:100%; max-width:100%; max-height:100%;
  object-fit:contain; display:block;
}
.depot-logo--kbc{ background:#ffffff; border:1px solid rgba(22,38,59,0.08); }
.depot-logo--saxo{ background:#0B1F3A; }
.depot-name{ font-family:'Fraunces',serif; font-size:1.4rem; color:var(--ink); }
.depot-sub{ font-size:0.82rem; color:var(--text-mute); letter-spacing:0.04em; }
.depot-action{ font-size:0.74rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); font-weight:500; margin-top:0.5rem; }
.portfolio-note{ margin-top:3rem; font-size:0.9rem; color:var(--text-mute); max-width:var(--read-max); }

/* ---------- Contact ---------- */
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,5rem);
  align-items:stretch;
}
.contact-main{ display:flex; flex-direction:column; gap:2.5rem; min-width:0; }
.contact-form{ display:flex; flex-direction:column; gap:1.2rem; }
.contact-form .btn{ align-self:flex-start; }
.fg{ display:flex; flex-direction:column; gap:0.45rem; }
.required{ color:var(--brass); }
.form-note{ font-size:0.78rem; color:var(--text-mute); margin:0; }
.form-note .required{ color:var(--text-mute); }
label{ font-size:0.74rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mute); font-weight:500; }
input,textarea{ padding:0.9rem 1rem; border:1px solid var(--cream-dk); background:var(--paper); font-family:'Inter',sans-serif; font-size:0.95rem; color:var(--ink); outline:none; transition:border-color .2s; }
input:focus,textarea:focus{ border-color:var(--brass); }
textarea{ resize:vertical; min-height:130px; }
.contact-info h3{ font-size:1.6rem; margin-bottom:1.5rem; }
.ci-row{ display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); align-items:center; }
.ci-row:last-of-type{ border-bottom:none; }
.ci-label{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mute); width:5.5rem; flex-shrink:0; }
.ci-val{ color:var(--ink); font-size:0.95rem; }
.ci-val a{ color:var(--ink); text-decoration:none; }
.ci-val a:hover{ color:var(--brass); }
.contact-media{
  position:relative; min-height:100%; overflow:hidden;
  background:var(--cream-dk);
}
.contact-media img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center; display:block;
}
.map-note{ margin-top:2rem; font-size:0.82rem; color:var(--text-mute); font-style:italic; }

/* ---------- Juridisch / tekstpagina ---------- */
.legal-body{ max-width:var(--read-max); }
.legal-body h2{ font-size:1.6rem; margin:2.5rem 0 1rem; }
.legal-body h2:first-child{ margin-top:0; }
.legal-body h3{
  font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:500;
  color:var(--ink); margin:1.6rem 0 0.7rem; letter-spacing:0;
}
.legal-body p{ margin-bottom:1.1rem; font-size:1rem; color:var(--text); line-height:1.8; }
.legal-body a:not(.teaser-link):not(.btn){
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid rgba(168,137,92,0.45);
  transition:color .2s, border-color .2s;
}
.legal-body a:not(.teaser-link):not(.btn):hover{ color:var(--brass); border-bottom-color:var(--brass); }
.legal-body .placeholder{ color:var(--brass); font-style:italic; font-weight:500; }
.legal-body ul, .legal-body ol{
  margin:0 0 1.1rem; padding-left:1.25rem;
  font-size:1rem; color:var(--text); line-height:1.8;
}
.legal-body li{ margin-bottom:0.4rem; }
.legal-body li::marker{ color:var(--brass); }
.legal-links{ display:flex; flex-direction:column; gap:0.9rem; margin-top:1.2rem; }
.legal-links a{ font-size:1rem; }
.legal-cta{ margin-top:2rem; }
.legal-back{ margin-top:2.5rem; }
.doc-list{
  margin:0 0 0.5rem; padding-left:1.25rem;
  font-size:1rem; color:var(--text); line-height:1.8;
}
.doc-list li{ margin-bottom:0.45rem; padding-left:0.25rem; }
.doc-list li::marker{ color:var(--brass); }

/* ---------- Footer ---------- */
footer{ background:var(--ink); color:rgba(255,255,255,0.5); padding:3.5rem var(--page-pad); }
.footer-inner{ max-width:var(--page-max); margin:0 auto; display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
.footer-logo{ max-width:100%; }
.footer-logo img{
  height:50px;
  width:auto;
  max-width:100%;
  display:block;
  object-fit:contain;
}
.footer-nav{ display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:1rem; }
.footer-nav a{ color:rgba(255,255,255,0.65); text-decoration:none; font-size:0.8rem; letter-spacing:0.06em; transition:color .2s; }
.footer-nav a:hover{ color:var(--brass-lt); }
.footer-legal{ font-size:0.78rem; line-height:1.7; max-width:62ch; }
.footer-legal a{ color:rgba(255,255,255,0.45); text-decoration:none; border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.footer-legal a:hover{ color:var(--brass-lt); border-bottom-color:rgba(194,168,120,0.35); }
.footer-credit{
  display:block; margin-top:1.15rem;
  font-size:0.72rem; color:rgba(255,255,255,0.35); line-height:1.5;
}
.footer-credit a{
  color:rgba(255,255,255,0.4); text-decoration:none;
  border-bottom:1px solid transparent; transition:color .2s, border-color .2s;
}
.footer-credit a:hover{ color:var(--brass-lt); border-bottom-color:rgba(194,168,120,0.35); }

/* ---------- Reveal-animatie ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* ---------- Responsief ---------- */
@media(min-width:901px){
  nav#nav{
    gap:1.5rem;
    padding:0.85rem var(--page-pad);
    z-index:100;
  }
  nav#nav.scrolled{ padding:0.7rem var(--page-pad); }
  .nav-logo{ flex:0 0 auto; }
  .nav-logo img{ height:50px !important; width:auto !important; max-width:none !important; }
  .nav-links{
    display:flex !important; position:static; flex-direction:row; align-items:center;
    gap:1.6rem; padding:0; background:transparent; box-shadow:none; border:none;
  }
  .nav-links a,
  .nav-links .nav-portfolio{ font-size:0.875rem; font-weight:500; padding:0; }
  .nav-cta{ display:inline-block !important; font-size:0.8125rem; font-weight:500; padding:0.65rem 1.25rem; }
  .nav-toggle{ display:none !important; }
  .nav-mobile-only{ display:none !important; }
  .hero{ padding:9rem var(--page-pad) 5rem; }
  .page-hero{ padding:12rem var(--page-pad) 4rem; }
}
@media(max-width:1100px){
  .nav-links{ gap:1.2rem; }
}
@media(max-width:900px){
  nav#nav{
    gap:0.75rem;
    padding:0.9rem 1.2rem;
    z-index:200;
  }
  .nav-logo{ min-width:0; flex:0 1 auto; max-width:calc(100% - 56px); }
  .nav-logo img{
    height:46px !important;
    width:auto !important;
    max-width:100% !important;
    object-fit:contain;
    object-position:left center;
  }
  .nav-cta{ display:none !important; }
  .nav-links{ display:none !important; }
  .nav-toggle{
    display:flex !important;
    flex-direction:column; justify-content:center; align-items:center; gap:5px;
    margin-left:auto; min-width:44px; min-height:44px; padding:0.55rem;
    position:relative; z-index:201;
  }
  .nav-toggle span:not(.nav-toggle-label){ width:22px; }
  .nav-toggle[aria-expanded="true"] span:not(.nav-toggle-label):nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] span:not(.nav-toggle-label):nth-child(2){
    opacity:0;
  }
  .nav-toggle[aria-expanded="true"] span:not(.nav-toggle-label):nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .nav-links.is-open{
    display:flex !important; position:fixed; top:88px; left:0; right:0;
    flex-direction:column; align-items:stretch; background:var(--cream);
    padding:0.4rem 1.4rem 1.6rem; gap:0; z-index:199;
    box-shadow:0 12px 32px rgba(22,38,59,0.12);
    border-bottom:1px solid rgba(22,38,59,0.12);
  }
  .nav-links.is-open .nav-mobile-only{ display:list-item; border-bottom:none; margin-top:0.35rem; }
  .nav-links.is-open li{ border-bottom:1px solid rgba(22,38,59,0.08); }
  .nav-links.is-open li:last-child{ border-bottom:none; }
  .nav-links.is-open a,
  .nav-links.is-open .nav-portfolio{
    display:block; padding:1.05rem 0; font-size:0.92rem; color:var(--ink) !important;
    letter-spacing:0.08em; text-transform:uppercase; font-weight:600;
  }
  nav#nav .nav-links.is-open .nav-mobile-only a,
  nav#nav .nav-links.is-open li.nav-mobile-only > a{
    display:block; margin-top:0.75rem; text-align:center;
    background:var(--ink) !important; color:var(--paper) !important;
    padding:1rem 1.1rem; border:1px solid var(--ink);
    -webkit-text-fill-color:var(--paper);
  }
  .hero{ padding:7rem 1.4rem 4rem; }
  .split-grid{ grid-template-columns:1fr; gap:2rem; }
  .split-grid .split-media{ order:-1; max-width:min(80vw,384px); margin-left:auto; margin-right:auto; }
  .page-hero{ padding:8rem 1.4rem 3.5rem; }
  section{ padding:3.5rem 1.4rem; }
  .story-grid, .beheer-grid, .contact-grid{ grid-template-columns:1fr; gap:2.5rem; }
  .contact-media{ display:none; }
  .aanpak-head{ margin-bottom:2.5rem; }
  .aanpak-body{ grid-template-columns:1fr; gap:2rem; }
  .aanpak-teaser .aanpak-body{ grid-template-columns:1fr; }
  .aanpak-visual{ max-width:100%; width:100%; margin:0; order:2; }
  .aanpak-layers{
    position:static; display:flex; flex-direction:column; gap:1.6rem; min-height:0; order:1;
  }
  .aanpak-layer{
    position:static; transform:none; max-width:none;
  }
  .team-grid, .team-grid.platform{ grid-template-columns:1fr 1fr; }
  .partner-grid,
  .partner-grid.cols-3,
  .feature-triad{ grid-template-columns:1fr; gap:0; }
  .depot-grid{ grid-template-columns:1fr; }
  .footer-inner{ flex-direction:column; align-items:flex-start; }
  .footer-logo img{ height:46px; width:auto; max-width:100%; }
}
@media(max-width:540px){
  .team-grid, .team-grid.platform{ grid-template-columns:1fr; }
}

/* ---------- Aanpak merged (Vermogensbeheer) ---------- */
.aanpak-merged{
  --aanpak-gap:clamp(1.5rem,4vw,4rem);
  column-gap:var(--aanpak-gap);
}
.aanpak-merged .aanpak-visual{
  position:relative; display:block; overflow:visible;
}
.aanpak-merged .aanpak-visual img{
  width:100%; max-width:100%; height:auto; display:block;
}
.aanpak-merged .aanpak-layers{
  position:relative; align-self:stretch; min-height:100%;
}
.aanpak-merged .aanpak-layer{
  position:absolute; left:0; right:0;
  transform:translateY(-50%);
  max-width:36rem;
}
.aanpak-merged .aanpak-layer--overtuiging{ top:17.5%; }
.aanpak-merged .aanpak-layer--verfijning{ top:51.5%; }
.aanpak-merged .aanpak-layer--basis{ top:84%; }
.aanpak-merged .aanpak-layer-name{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:300;
  font-size:30px;
  color:#fff;
  line-height:1.15;
  letter-spacing:-0.01em;
}
.aanpak-merged .aanpak-layer-kicker{
  font-size:0.7rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-lt);
  font-weight:500;
  margin:0.3rem 0 0.65rem;
}
.aanpak-lead{
  position:absolute;
  height:1px;
  background:rgba(194,168,120,0.6);
  transform:translateY(-50%);
  pointer-events:none;
}
.aanpak-lead::before{
  content:"";
  position:absolute;
  left:0; top:50%;
  width:6px; height:6px;
  border-radius:50%;
  background:var(--brass-lt);
  transform:translate(-50%,-50%);
}
.aanpak-lead--iii{ top:17.5%; left:56.16%; right:calc(-1 * var(--aanpak-gap)); }
.aanpak-lead--ii{ top:51.5%; left:72.6%; right:calc(-1 * var(--aanpak-gap)); }
.aanpak-lead--i{ top:84%; left:88.3%; right:calc(-1 * var(--aanpak-gap)); }

@media(max-width:900px){
  .aanpak-merged{
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  }
  .aanpak-merged .aanpak-visual{
    max-width:none; width:100%; margin:0; order:0;
  }
  .aanpak-merged .aanpak-layers{
    position:relative; display:block; flex-direction:unset; gap:unset; min-height:100%; order:0;
  }
  .aanpak-merged .aanpak-layer{
    position:absolute; transform:translateY(-50%); max-width:36rem;
  }
}
@media(max-width:720px){
  .aanpak-merged{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .aanpak-merged .aanpak-visual{
    max-width:100%; width:100%; margin:0; order:0;
  }
  .aanpak-merged .aanpak-layers{
    position:static; display:flex; flex-direction:column; gap:1.6rem; min-height:0; order:0;
  }
  .aanpak-merged .aanpak-layer{
    position:static; transform:none; max-width:none;
  }
  .aanpak-lead{ display:none; }
  .aanpak-merged .aanpak-layer-name{
    display:flex;
    align-items:baseline;
    gap:0.5rem;
  }
  .aanpak-merged .aanpak-layer-name::before{
    font-family:'Fraunces',serif;
    font-style:normal;
    font-weight:300;
    font-size:1.15rem;
    color:var(--brass-lt);
    letter-spacing:0.12em;
    line-height:1;
  }
  .aanpak-merged .aanpak-layer--overtuiging .aanpak-layer-name::before{ content:"III"; }
  .aanpak-merged .aanpak-layer--verfijning .aanpak-layer-name::before{ content:"II"; }
  .aanpak-merged .aanpak-layer--basis .aanpak-layer-name::before{ content:"I"; }
}
