/* ═══════════════════════════════════════════════
   Intervisionaire — Main Stylesheet
   Version: 1.0.0
═══════════════════════════════════════════════ */

/* ── CSS VARIABELEN ── */
:root {
  --navy:    #0d2137;
  --navy2:   #122840;
  --navy3:   #1a3a54;
  --red:     #c0392b;
  --orange:  #e67e22;
  --amber:   #f0a500;
  --gold:    #f5c42c;
  --blue:    #1a4a7a;
  --blue2:   #2471a3;
  --cream:   #f8f6f2;
  --offwhite:#f0ece5;
  --white:   #ffffff;
  --ink:     #0d1f2d;
  --text:    rgba(13,31,45,.68);
  --text2:   rgba(13,31,45,.42);
  --border:  rgba(13,31,45,.10);
  --border2: rgba(13,31,45,.06);
  --dborder: rgba(255,255,255,.08);
  --dborder2:rgba(255,255,255,.14);
}

/* ── RESET & BASE ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--ink); overflow-x:hidden; cursor:none; }
img { max-width:100%; height:auto; display:block; }
a { transition:color .22s; }
button { cursor:pointer; font-family:inherit; }

/* ── CUSTOM CURSOR ── */
#cur {
  position:fixed; width:6px; height:6px; background:var(--amber);
  border-radius:50%; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); transition:width .15s,height .15s;
}
#cur-ring {
  position:fixed; width:32px; height:32px;
  border:1px solid rgba(240,165,0,.45); border-radius:50%;
  pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%); transition:width .22s,height .22s,border-color .22s;
}

/* ── NAVIGATIE ── */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 72px; transition:all .45s;
}
#nav.stuck {
  background:rgba(248,246,242,.96); backdrop-filter:blur(20px);
  padding:14px 72px; border-bottom:1px solid var(--border);
  box-shadow:0 2px 32px rgba(13,31,45,.06);
}
.nav-brand { display:block; }
.nav-logo { height:48px; width:auto; }
.nav-links { display:flex; gap:40px; list-style:none; }
.nav-links a {
  font-family:'Syne',sans-serif; font-weight:600; font-size:11.5px;
  letter-spacing:1.8px; text-transform:uppercase; color:rgba(255,255,255,.7);
  text-decoration:none; transition:color .25s;
}
#nav.stuck .nav-links a { color:var(--text); }
.nav-links a:hover, #nav.stuck .nav-links a:hover { color:var(--amber) !important; }
.nav-cta {
  font-family:'Syne',sans-serif; font-weight:700; font-size:11.5px;
  letter-spacing:1.8px; text-transform:uppercase;
  color:var(--ink); background:var(--amber);
  padding:10px 24px; text-decoration:none; border-radius:1px;
  transition:background .22s,transform .18s; display:inline-block;
}
.nav-cta:hover { background:var(--gold); transform:translateY(-1px); }
.nav-toggle { display:none; background:none; border:none; padding:8px; }
.nav-toggle span { display:block; width:22px; height:1.5px; background:white; margin:5px 0; transition:all .3s; }
#nav.stuck .nav-toggle span { background:var(--ink); }

/* ── HERO ── */
#hero {
  min-height:100vh; position:relative; overflow:hidden;
  display:flex; align-items:center; background:var(--navy);
}
.hero-bg-gradient {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 85% 50%,rgba(192,57,43,.18) 0%,transparent 65%),
    radial-gradient(ellipse 50% 60% at 10% 80%,rgba(26,74,122,.25) 0%,transparent 55%),
    linear-gradient(160deg,#0a1e30 0%,#0d2137 60%,#122840 100%);
}
.hero-grid {
  position:absolute; inset:0; opacity:.04;
  background-image:
    linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
  background-size:80px 80px;
}
.hero-logo-bg {
  position:absolute; right:-40px; top:50%; transform:translateY(-50%);
  width:600px; opacity:.1; pointer-events:none;
  animation:hfloat 7s ease-in-out infinite;
}
@keyframes hfloat { 0%,100%{transform:translateY(-50%) scale(1)} 50%{transform:translateY(-53%) scale(1.02)} }
.hero-content { position:relative; z-index:2; padding:140px 72px 100px; max-width:780px; }
.h-tag {
  font-family:'Syne',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:4px; text-transform:uppercase; color:var(--amber);
  display:flex; align-items:center; gap:12px; margin-bottom:32px;
  opacity:0; transform:translateY(14px); animation:fadeUp .6s .2s forwards;
}
.h-tag::before { content:''; width:24px; height:1px; background:var(--amber); }
#hero h1 {
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:clamp(54px,6.5vw,100px); line-height:.92;
  text-transform:uppercase; color:white; margin-bottom:32px;
  opacity:0; transform:translateY(22px); animation:fadeUp .7s .4s forwards;
}
#hero h1 em {
  display:block; font-style:italic; font-family:'Playfair Display',serif;
  font-weight:400; font-size:.82em; color:var(--amber); text-transform:none;
}
#hero h1 .dim { color:rgba(255,255,255,.2); }
.hero-sub {
  font-size:17.5px; font-weight:300; line-height:1.76;
  color:rgba(255,255,255,.62); max-width:520px; margin-bottom:48px;
  opacity:0; transform:translateY(14px); animation:fadeUp .6s .65s forwards;
}
.hero-actions {
  display:flex; gap:14px; flex-wrap:wrap;
  opacity:0; transform:translateY(12px); animation:fadeUp .6s .85s forwards;
}
.btn-primary {
  font-family:'Syne',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:1.8px; text-transform:uppercase;
  color:var(--ink); background:var(--amber); padding:14px 34px;
  text-decoration:none; border-radius:1px; display:inline-block;
  transition:background .22s,transform .18s; position:relative; overflow:hidden;
}
.btn-primary::after {
  content:''; position:absolute; inset:0;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .28s;
}
.btn-primary:hover::after { transform:scaleX(1); }
.btn-primary span { position:relative; z-index:1; }
.btn-secondary {
  font-family:'Syne',sans-serif; font-weight:600; font-size:12px;
  letter-spacing:1.8px; text-transform:uppercase;
  color:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.2);
  padding:13px 34px; text-decoration:none; border-radius:1px; display:inline-block;
  transition:color .22s,border-color .22s;
}
.btn-secondary:hover { color:white; border-color:rgba(255,255,255,.5); }
.hero-scroll {
  position:absolute; bottom:36px; left:72px; z-index:2;
  display:flex; align-items:center; gap:14px;
  opacity:0; animation:fadeIn .7s 1.3s forwards;
}
.scroll-line { width:40px; height:1px; background:rgba(255,255,255,.2); position:relative; overflow:hidden; }
.scroll-line::after { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:var(--amber); animation:slideLine 2.2s ease-in-out infinite; }
@keyframes slideLine { 0%{left:-100%} 100%{left:100%} }
.scroll-txt { font-family:'Syne',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.28); }

/* ── STATS STRIP ── */
.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); background:white; border-bottom:1px solid var(--border); }
.stat { padding:38px 48px; border-right:1px solid var(--border); transition:background .25s; }
.stat:last-child { border-right:none; }
.stat:hover { background:var(--offwhite); }
.stat-n {
  font-family:'Syne',sans-serif; font-weight:800; font-size:52px; line-height:1;
  background:linear-gradient(130deg,var(--amber),var(--orange));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block;
}
.stat-l { font-family:'Syne',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--text2); margin-top:6px; display:block; }

/* ── SECTIES ── */
.sec { padding:112px 72px; }
.sec-white { background:white; }
.sec-cream { background:var(--cream); }
.sec-off   { background:var(--offwhite); }
.sec-navy  { background:var(--navy); color:white; }

/* ── LABELS ── */
.label {
  font-family:'Syne',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:4px; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; margin-bottom:18px;
}
.label::before { content:''; width:22px; height:1px; display:inline-block; background:currentColor; }
.label-amber { color:var(--amber); }
.label-red   { color:var(--red); }
.label-orange{ color:var(--orange); }

/* ── HEADINGS ── */
h2 {
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:clamp(32px,3.8vw,58px); line-height:.94;
  text-transform:uppercase; margin-bottom:20px;
}
h2 em { font-style:italic; font-family:'Playfair Display',serif; font-weight:400; font-size:.9em; text-transform:none; }
h2.on-light em { color:var(--amber); }
h2.on-dark { color:white; }
h2.on-dark em { color:var(--orange); }

.intro-text   { font-size:17px; font-weight:300; line-height:1.78; color:var(--text); max-width:600px; }
.intro-text-w { font-size:17px; font-weight:300; line-height:1.78; color:rgba(255,255,255,.58); max-width:600px; }

/* ── MISSIE ── */
.missie-layout { display:grid; grid-template-columns:1fr 480px; gap:96px; align-items:center; margin-top:60px; }
.missie-items { display:flex; flex-direction:column; gap:2px; }
.mi {
  padding:24px 28px; border-left:3px solid var(--c);
  background:white; transition:transform .25s,box-shadow .25s; cursor:default;
}
.mi:hover { transform:translateX(5px); box-shadow:3px 0 20px rgba(13,31,45,.06); }
.mi:nth-child(1){--c:var(--red)} .mi:nth-child(2){--c:var(--blue)} .mi:nth-child(3){--c:var(--amber)}
.mi p { font-size:15px; line-height:1.72; color:var(--text); }
.missie-img { display:flex; justify-content:center; }
.missie-img img { width:100%; max-width:460px; animation:float 5.5s ease-in-out infinite; filter:drop-shadow(0 16px 48px rgba(13,31,45,.12)); }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

/* ── TICKER ── */
.ticker-wrap { background:var(--navy); overflow:hidden; padding:13px 0; }
.ticker { display:flex; animation:tick 40s linear infinite; width:max-content; }
.t-item { font-family:'Syne',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.18); padding:0 52px; display:flex; align-items:center; gap:14px; white-space:nowrap; }
.t-item::after { content:'◈'; color:var(--amber); font-size:7px; }
@keyframes tick { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── EXPERTISES ── */
.exp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-top:56px; }
.exp-card {
  background:white; padding:44px 36px; position:relative; overflow:hidden;
  transition:all .35s; cursor:default;
}
.exp-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--ec); transform:scaleX(0); transform-origin:left; transition:transform .35s;
}
.exp-card:hover::before { transform:scaleX(1); }
.exp-card:hover { background:var(--cream); transform:translateY(-4px); box-shadow:0 16px 48px rgba(13,31,45,.09); }
.exp-card:nth-child(1){--ec:var(--red)} .exp-card:nth-child(2){--ec:var(--orange)} .exp-card:nth-child(3){--ec:var(--amber)}
.exp-card:nth-child(4){--ec:var(--blue)} .exp-card:nth-child(5){--ec:#27ae60} .exp-card:nth-child(6){--ec:#8e44ad}
.exp-n { font-family:'Syne',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:3px; color:var(--ec); margin-bottom:20px; display:block; }
.exp-icon { font-size:30px; display:block; margin-bottom:16px; }
.exp-title { font-family:'Syne',sans-serif; font-weight:700; font-size:16.5px; text-transform:uppercase; letter-spacing:.3px; color:var(--ink); margin-bottom:10px; }
.exp-desc { font-size:14px; line-height:1.68; color:var(--text); }

/* ── SROI ── */
.sroi-split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-bottom:72px; }
.sroi-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(230,126,34,.08); border:1px solid rgba(230,126,34,.2); color:var(--orange); padding:5px 14px; font-family:'Syne',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.sroi-cta-panel { background:var(--navy); padding:40px; color:white; display:flex; flex-direction:column; gap:18px; }
.sroi-cta-lbl { font-family:'Syne',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--amber); }
.sroi-cta-txt { font-size:20px; font-weight:300; line-height:1.55; color:rgba(255,255,255,.85); }
.sroi-cta-btn { font-family:'Syne',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--ink); background:var(--amber); padding:12px 28px; text-decoration:none; display:inline-block; align-self:flex-start; transition:background .22s; }
.sroi-cta-btn:hover { background:var(--gold); }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }
.step { background:white; padding:36px 28px; position:relative; overflow:hidden; transition:all .32s; cursor:default; }
.step::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--sc); transform:scaleX(0); transition:transform .35s; }
.step:hover::after { transform:scaleX(1); }
.step:hover { background:var(--offwhite); transform:translateY(-4px); box-shadow:0 12px 36px rgba(13,31,45,.08); }
.step:nth-child(1){--sc:var(--red)} .step:nth-child(2){--sc:var(--orange)} .step:nth-child(3){--sc:var(--amber)} .step:nth-child(4){--sc:var(--blue2)}
.step-n { font-family:'Syne',sans-serif; font-weight:800; font-size:44px; line-height:1; color:rgba(13,31,45,.04); margin-bottom:16px; display:block; }
.step-ico { font-size:24px; display:block; margin-bottom:12px; }
.step-t { font-family:'Syne',sans-serif; font-weight:700; font-size:14.5px; text-transform:uppercase; letter-spacing:.3px; color:var(--sc); margin-bottom:8px; }
.step-d { font-size:13.5px; line-height:1.65; color:var(--text); }
.targets { text-align:center; }
.targets-lbl { font-family:'Syne',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--text2); margin-bottom:18px; }
.targets-row { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.chip { background:white; border:1px solid var(--border); padding:8px 16px; font-family:'Syne',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:var(--text); transition:all .22s; cursor:default; }
.chip:hover { background:var(--navy); color:var(--amber); border-color:var(--navy); }

/* ── KERNWAARDEN ── */
.waarden-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-bottom:56px; }
.waarden-row { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); }
.waarde { background:var(--cream); padding:36px 24px; text-align:center; position:relative; overflow:hidden; transition:all .35s; cursor:default; }
.waarde::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--wc); transform:scaleX(0); transition:transform .35s; }
.waarde:hover::after { transform:scaleX(1); }
.waarde:hover { background:white; transform:translateY(-5px); box-shadow:0 14px 40px rgba(13,31,45,.08); }
.waarde:nth-child(1){--wc:var(--red)} .waarde:nth-child(2){--wc:var(--blue2)} .waarde:nth-child(3){--wc:var(--orange)} .waarde:nth-child(4){--wc:var(--amber)} .waarde:nth-child(5){--wc:#27ae60}
.w-ico { font-size:28px; display:block; margin-bottom:16px; }
.w-n { font-family:'Syne',sans-serif; font-size:9px; font-weight:700; letter-spacing:3px; color:var(--wc); margin-bottom:10px; display:block; }
.w-name { font-family:'Syne',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; color:var(--ink); display:block; margin-bottom:8px; }
.w-desc { font-size:13px; color:var(--text); line-height:1.58; }

/* ── VISIE ── */
.visie-layout { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; margin-top:56px; }
.vp-list { display:flex; flex-direction:column; }
.vp { display:grid; grid-template-columns:64px 1fr; gap:16px; padding:26px 0; border-bottom:1px solid var(--border); transition:padding-left .25s; cursor:default; }
.vp:first-child { border-top:1px solid var(--border); }
.vp:hover { padding-left:10px; }
.vp-num { font-family:'Syne',sans-serif; font-weight:800; font-size:56px; line-height:1; color:rgba(13,31,45,.05); transition:color .25s; }
.vp:hover .vp-num { color:var(--amber); }
.vp-name { font-family:'Syne',sans-serif; font-weight:700; font-size:16px; text-transform:uppercase; letter-spacing:.3px; margin-bottom:5px; color:var(--ink); transition:color .25s; }
.vp:nth-child(1):hover .vp-name{color:var(--orange)} .vp:nth-child(2):hover .vp-name{color:var(--red)} .vp:nth-child(3):hover .vp-name{color:var(--blue)}
.vp-desc { font-size:13.5px; color:var(--text); line-height:1.65; }
.visie-quote { padding-top:8px; }
blockquote { font-family:'Playfair Display',serif; font-style:italic; font-size:22px; line-height:1.62; color:rgba(13,31,45,.78); padding-left:22px; border-left:3px solid var(--amber); margin-bottom:28px; }
.visie-body { font-size:15.5px; line-height:1.8; color:var(--text); }

/* ── TEAM ── */
.sec-team-premium {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,184,59,.10) 0%, transparent 26%),
    radial-gradient(circle at 84% 78%, rgba(192,57,43,.10) 0%, transparent 24%),
    linear-gradient(160deg,#091a2b 0%,#0d2238 55%,#112a43 100%);
}
.sec-team-premium::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.05;
  background-image: linear-gradient(rgba(255,255,255,1) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
  background-size:72px 72px;
}
.sec-team-premium .team-header,
.sec-team-premium .team-grid { position:relative; z-index:1; }
.sec-team-premium .intro-text { color:rgba(255,255,255,.72); }
.sec-team-premium h2 { color:#fff; }
.sec-team-premium h2 em { color:var(--amber); }
.team-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-bottom:56px; }
.team-grid { display:grid; gap:32px; }
.team-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); }
.team-card {
  display:flex; flex-direction:column; min-height:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  overflow:hidden; transition:transform .35s, box-shadow .35s, border-color .35s;
  border-radius:26px;
}
.team-card-premium { box-shadow:0 18px 54px rgba(0,0,0,.22); }
.team-card:hover { transform:translateY(-8px); box-shadow:0 26px 70px rgba(0,0,0,.28); border-color:rgba(255,184,59,.28); }
.team-photo {
  position:relative; min-height:380px; padding:30px 30px 0;
  background:linear-gradient(180deg,rgba(9,26,43,.68),rgba(14,35,56,.28));
  display:flex; align-items:flex-start; justify-content:center; overflow:hidden;
}
.team-photo::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 18%, rgba(255,184,59,.12) 0%, transparent 28%), radial-gradient(circle at 82% 80%, rgba(192,57,43,.10) 0%, transparent 24%);
  pointer-events:none;
}
.team-photo img {
  position:relative; z-index:1; width:86%; max-width:340px; aspect-ratio:4/5;
  object-fit:cover; display:block; border-radius:18px;
  box-shadow:0 18px 38px rgba(0,0,0,.30);
}
.team-info { padding:24px 26px 28px; display:flex; flex-direction:column; flex:1; }
.team-name { font-family:'Syne',sans-serif; font-weight:700; font-size:17px; color:#fff; margin-bottom:6px; }
.team-role { font-family:'Syne',sans-serif; font-size:10px; font-weight:700; letter-spacing:1.9px; text-transform:uppercase; color:var(--amber); margin-bottom:12px; display:block; min-height:32px; }
.team-bio { font-size:14px; line-height:1.72; color:rgba(255,255,255,.78); margin-top:auto; }
/* ── VOOR WIE ── */
.vw-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:56px; }
.dg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.dg { background:white; padding:36px 30px; transition:all .35s; cursor:default; position:relative; overflow:hidden; }
.dg::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--dc); transform:scaleX(0); transition:transform .35s; }
.dg:hover::before { transform:scaleX(1); }
.dg:hover { background:var(--cream); transform:translateY(-4px); box-shadow:0 14px 40px rgba(13,31,45,.08); }
.dg:nth-child(1){--dc:var(--red)} .dg:nth-child(2){--dc:var(--blue2)} .dg:nth-child(3){--dc:var(--orange)}
.dg:nth-child(4){--dc:var(--amber)} .dg:nth-child(5){--dc:#27ae60} .dg:nth-child(6){--dc:#8e44ad}
.dg-ico { font-size:26px; display:block; margin-bottom:16px; }
.dg-title { font-family:'Syne',sans-serif; font-weight:700; font-size:14.5px; text-transform:uppercase; letter-spacing:.3px; color:var(--dc); margin-bottom:7px; }
.dg-desc { font-size:13.5px; color:var(--text); line-height:1.65; }

/* ── CTA ── */
#cta {
  position:relative; overflow:hidden; text-align:center; padding:112px 72px;
  background:linear-gradient(130deg,#6a1100 0%,var(--red) 22%,var(--orange) 55%,var(--amber) 80%,#f7d45a 100%);
}
#cta::before {
  content:''; position:absolute; inset:0; opacity:.035;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,1) 0,rgba(255,255,255,1) 1px,transparent 0,transparent 50%);
  background-size:18px 18px;
}
.cta-lbl { font-family:'Syne',sans-serif; font-size:10px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:20px; }
.cta-h {
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:clamp(48px,6.5vw,100px); line-height:.92;
  text-transform:uppercase; color:white; margin-bottom:24px;
}
.cta-h em { font-style:italic; font-family:'Playfair Display',serif; font-weight:400; font-size:.84em; text-transform:none; }
.cta-sub { font-size:18px; font-weight:300; color:rgba(255,255,255,.8); max-width:460px; margin:0 auto 44px; line-height:1.65; }
.cta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }
.btn-cw { font-family:'Syne',sans-serif; font-weight:700; font-size:12px; letter-spacing:1.8px; text-transform:uppercase; color:var(--red); background:white; padding:14px 34px; text-decoration:none; display:inline-block; transition:all .22s; }
.btn-cw:hover { background:var(--cream); transform:translateY(-2px); box-shadow:0 10px 32px rgba(0,0,0,.2); }
.btn-co { font-family:'Syne',sans-serif; font-weight:700; font-size:12px; letter-spacing:1.8px; text-transform:uppercase; color:white; border:1.5px solid rgba(255,255,255,.45); padding:12.5px 34px; text-decoration:none; display:inline-block; transition:all .22s; }
.btn-co:hover { border-color:white; transform:translateY(-2px); }
.cta-details { display:flex; gap:40px; justify-content:center; margin-top:52px; flex-wrap:wrap; position:relative; z-index:1; }
.cd { display:flex; align-items:center; gap:9px; font-size:14.5px; color:rgba(255,255,255,.8); }
.cd a { color:white; text-decoration:none; font-weight:600; }
.cd a:hover { opacity:.75; }

/* ── FOOTER ── */
footer {
  background:var(--ink); padding:44px 72px;
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid rgba(255,255,255,.05);
}
.f-logo img { height:38px; }
.f-links { display:flex; gap:28px; list-style:none; }
.f-links a { font-family:'Syne',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); text-decoration:none; transition:color .22s; }
.f-links a:hover { color:var(--amber); }
.f-copy { font-family:'Syne',sans-serif; font-size:10.5px; color:rgba(255,255,255,.18); }

/* ── POPUP ── */
.iv-popup { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px; }
.iv-popup[hidden] { display:none; }
.iv-popup-overlay { position:absolute; inset:0; background:rgba(13,31,45,.7); backdrop-filter:blur(4px); cursor:pointer; }
.iv-popup-box {
  position:relative; z-index:1; background:white; width:100%; max-width:580px;
  max-height:90vh; overflow-y:auto; border-radius:2px;
  box-shadow:0 40px 120px rgba(13,31,45,.3);
  animation:popIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes popIn { from{opacity:0;transform:scale(.95) translateY(10px)} to{opacity:1;transform:none} }
.iv-popup-box-sroi { max-width:640px; }
.iv-popup-close-btn {
  position:absolute; top:16px; right:16px; background:none; border:none;
  font-size:18px; color:var(--text2); padding:6px; line-height:1;
  transition:color .2s; z-index:2;
}
.iv-popup-close-btn:hover { color:var(--ink); }
.popup-header { padding:40px 40px 24px; border-bottom:1px solid var(--border); }
.popup-header-dark { background:var(--navy); color:white; }
.popup-header-dark .popup-tag { color:var(--amber); }
.popup-header-dark h3 { color:white; }
.popup-header-dark p { color:rgba(255,255,255,.6); }
.popup-tag { font-family:'Syne',sans-serif; font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--amber); margin-bottom:12px; }
.popup-header h3 { font-family:'Syne',sans-serif; font-weight:800; font-size:26px; text-transform:uppercase; margin-bottom:8px; }
.popup-header p { font-size:14px; color:var(--text); }
.popup-body { padding:32px 40px 40px; }

/* Form */
.iv-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.iv-field { display:flex; flex-direction:column; gap:6px; }
.iv-field-full { grid-column:1/-1; }
.iv-field label { font-family:'Syne',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text2); }
.iv-field input, .iv-field textarea, .iv-field select {
  border:1px solid var(--border); background:var(--cream); padding:12px 14px;
  font-family:'DM Sans',sans-serif; font-size:14px; color:var(--ink);
  border-radius:1px; transition:border-color .2s, box-shadow .2s;
  width:100%; outline:none;
}
.iv-field input:focus, .iv-field textarea:focus, .iv-field select:focus {
  border-color:var(--amber); box-shadow:0 0 0 3px rgba(240,165,0,.12);
}
.iv-field textarea { resize:vertical; }
.iv-btn-full { width:100%; padding:14px; font-size:13px; border:none; }
.iv-form-message { padding:12px 16px; margin-bottom:16px; border-radius:1px; font-size:14px; display:none; }
.iv-form-message.success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; display:block; }
.iv-form-message.error   { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; display:block; }

/* ── REVEAL ── */
.rv { opacity:0; transform:translateY(24px); transition:opacity .65s ease,transform .65s ease; }
.rv.in { opacity:1; transform:translateY(0); }
.rv.d1{transition-delay:.08s} .rv.d2{transition-delay:.16s} .rv.d3{transition-delay:.24s} .rv.d4{transition-delay:.32s}

@keyframes fadeUp { to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { to{opacity:1} }

/* ── RESPONSIVE ── */
@media(max-width:1200px) {
  .missie-layout { grid-template-columns:1fr; gap:48px; }
  .missie-layout .missie-img { display:none; }
}
@media(max-width:1100px) {
  #nav { padding:16px 24px; }
  #nav.stuck { padding:12px 24px; }
  .nav-links { display:none; }
  .nav-toggle { display:block; }
  .nav-links.open {
    display:flex; flex-direction:column; position:fixed; top:70px; left:0; right:0;
    background:rgba(248,246,242,.98); backdrop-filter:blur(20px);
    padding:24px; gap:0; border-bottom:1px solid var(--border);
  }
  .nav-links.open li a { display:block; padding:14px 0; border-bottom:1px solid var(--border2); color:var(--text) !important; font-size:14px; }
  .sec { padding:80px 28px; }
  #hero .hero-content { padding:120px 28px 80px; }
  .hero-logo-bg { display:none; }
  .sroi-split { grid-template-columns:1fr; gap:40px; }
  .visie-layout { grid-template-columns:1fr; gap:48px; }
  .exp-grid { grid-template-columns:repeat(2,1fr); }
  .dg-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-photo { min-height:340px; }
  .waarden-row { grid-template-columns:repeat(3,1fr); }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .stats-strip { grid-template-columns:repeat(2,1fr); }
  .waarden-header { grid-template-columns:1fr; gap:24px; }
  .team-header { grid-template-columns:1fr; gap:24px; }
  .vw-header { grid-template-columns:1fr; gap:24px; }
  footer { flex-direction:column; gap:24px; text-align:center; padding:40px 24px; }
  .f-links { flex-wrap:wrap; justify-content:center; gap:16px; }
  #cta { padding:80px 28px; }
}
@media(max-width:640px) {
  .exp-grid, .dg-grid { grid-template-columns:1fr; }
  .team-grid-five { grid-template-columns:1fr; }
  .team-photo img { width:74%; max-width:280px; }
  .team-photo { min-height:320px; }
  .waarden-row { grid-template-columns:1fr 1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .stats-strip { grid-template-columns:1fr 1fr; }
  .iv-form-grid { grid-template-columns:1fr; }
  .iv-popup-box { margin:0; max-height:100vh; border-radius:0; }
  .popup-header, .popup-body { padding:24px; }
}
