  <style>
    /* ========== PAGE LAYOUT (testpagina secties) ========== */
    :root{
      --container:1240px;
      --gutter:50px;
      --radius:25px;
      --accent:#E33E0F;
    }
    html{scroll-behavior:smooth}

    section.sec {
  min-height: 100vh;           /* laat iets meer ruimte toe */
  width: 100%;
  display: grid;
  align-items: center;
  scroll-snap-align: start;
  position: relative;
  overflow-x: hidden;          /* horizontaal afsnijden */
  overflow-y: visible;         /* ✅ verticale clipping voorkomen */
}

    section.light{ background:#F6F3E5; color:#000; }
    section.dark { background:#000; color:#fff; }
    .container{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }

    .slope{
      position:absolute; inset:auto 0 0 0; height:18vh; pointer-events:none; z-index:1;
      transform:translateY(16vh); opacity:.08;
      background: radial-gradient(120% 120% at 80% 10%, rgba(227,62,15,.55), transparent 60%);
      filter: blur(28px);
      transition: transform .9s cubic-bezier(.2,.7,.2,1), opacity .6s ease;
    }
    .sec.in .slope{ transform:translateY(0); opacity:.2; }

    /* ======= HERO (service) ======= */
    .hero-wrap--svc .container{ position:relative; z-index:2; }
    .hero-grid-svc{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter); align-items:center; }
    .hero-grid-svc .left h1{
      font-family:'Space Grotesk',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      font-size:clamp(34px,7vw,100px); line-height:1.05; margin:0 0 12px; color:#000;
    }
    .hero-grid-svc .left h1 .boost{ animation:svcBoostBlink 1.2s steps(1,end) infinite; }
    @keyframes svcBoostBlink { 0%,49%{ color:#000 } 50%,100%{ color:#E33E0F } }
    .hero-grid-svc .left h2{ font-size:clamp(19px,3vw,34px); margin:0; color:#000; }
    .hero-grid-svc .right{ display:grid; grid-template-rows:auto 1fr auto; align-items:end; }
    .hero-grid-svc .right .text{ max-width:70ch; }
    .cta-panel--inverted{
      width:420px; height:100px; border-radius:12px; border:3px solid #000; background:#000;
      display:flex; flex-direction:column; justify-content:center; padding:10px 20px; margin-top:12px;
    }
    .cta-panel--inverted .cta-name{ font-family:'Poppins',sans-serif; font-weight:600; font-size:20px; letter-spacing:-0.4px; color:#F6F3E5; margin-left:15px; margin-bottom:5px; white-space:nowrap; }
    .cta-panel--inverted .cta-buttons{ display:flex; gap:20px; margin-left:15px; align-items:flex-end; }
    .cta-panel--inverted .mini-btn{
      height:40px; padding:5px; font-size:14px; display:inline-flex; align-items:center; justify-content:center;
      background:#F6F3E5; color:#000; text-decoration:none; border-radius:8px; font-family:'IBM Plex Mono',monospace; font-weight:700; border:2px solid #000;
      transition:transform .15s ease, box-shadow .15s ease;
    }
    .cta-panel--inverted .mini-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.25); }

    /* ======= CONTENT (2 kolommen + carousel) ======= */
    .split-2-equal{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter); align-items:stretch; }
    .card-box{
      border:2px solid #efefef; border-radius:16px; padding:18px; position:relative; overflow:hidden;
      background:rgba(255,255,255,0.02);
      display:grid; grid-template-rows:auto 1fr auto;
      transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
    }
    .card-box:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.35); }

    .carousel{ position:relative; display:grid; grid-template-rows:auto 1fr auto; gap:12px; }
    .carousel-viewport{ position:relative; border-radius:10px; overflow:hidden; background:#111; border:1px solid #222; }
    .carousel-track{ display:flex; width:100%; height:100%; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
    .slide{ flex:0 0 100%; height:100%; display:grid; place-items:center; padding:24px; color:#F6F3E5; font-weight:600; text-align:center; background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)); }
    .carousel-nav{ display:flex; gap:10px; justify-content:center; align-items:center; margin-top:10px; }
    .nav-btn{
      width:40px; height:40px; border-radius:8px; background:#000; color:#efefef; border:2px solid #efefef; display:grid; place-items:center; cursor:pointer;
      transition:transform .15s ease, background .2s ease;
    }
    .nav-btn:hover{ transform:translateY(-2px); background:#111; }

    /* Reveal helpers */
    .reveal-up{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
    .reveal-left{ opacity:0; transform:translateX(-28px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
    .reveal-right{ opacity:0; transform:translateX(28px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
    .sec.in .reveal-up, .sec.in .reveal-left, .sec.in .reveal-right { opacity:1; transform:none; }

/* === Carousel icons === */
.slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
}

.slide-icon {
  width: 75px;
  height: 75px;
  margin-bottom: 16px;
  opacity: 0.9;
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
}

.slide:hover .slide-icon {
  transform: scale(1.1);
}


    /* ======= FAQ (40/60 split, accordeon) ======= */
    #faq .container { height: 100%; }
    .faq-grid{
      display:grid;
      grid-template-columns: 40% 60%;
      gap: var(--gutter);
      align-items: start;
      height: 100%;
    }
    .faq-title{
      font-family:'Space Grotesk',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      font-size: clamp(36px, 8vw, 100px);
      line-height:1.05; letter-spacing:-0.2px; margin:0 0 12px; color:#fff;
    }
    .faq-title .boost{ animation: faqBlink 2s steps(1,end) infinite; }
    @keyframes faqBlink{ 0%,49%{color:#fff} 50%,100%{color:#E33E0F} }
    .faq-sub{ font:400 18px/1.6 'IBM Plex Mono',monospace; opacity:.9; color:#fff; max-width:65ch; }

    .faq-list{ width:100%; border-top:2px solid #efefef; }
    .faq-item{ border-bottom:2px solid #efefef; }
    .faq-head{ margin:0; }
    .faq-btn{
      -webkit-appearance:none; appearance:none;
      width:100%; background:transparent; border:0; cursor:pointer; text-align:left;
      padding:18px 8px; color:#fff; font-family:'IBM Plex Mono',monospace; font-weight:700; letter-spacing:-0.2px; font-size: clamp(18px,1.8vw,22px);
      display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px;
    }
    .faq-btn:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
    .faq-ind{
      position:relative; width:18px; height:18px; display:inline-block;
    }
    .faq-ind::before, .faq-ind::after{
      content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff;
    }
    .faq-ind::before{ width:18px; height:2px; }
    .faq-ind::after{ width:2px; height:18px; transition:opacity .2s ease; }
    .faq-item.is-open .faq-ind::after{ opacity:0; } /* minus als open */

    .faq-panel{
      overflow:hidden; height:auto; opacity:1; padding:0 8px 16px 8px;
      transition: height .35s cubic-bezier(.2,.7,.2,1), opacity .25s ease, padding .2s ease;
    }
    .faq-item:not(.is-open) .faq-panel{ height:0; opacity:0; padding-bottom:0; }
    .faq-panel p{ margin:0; max-width:70ch; color:#fff; }

    /* ======= Responsive ======= */
 @media (max-width:992px){
  .hero-grid-svc, .split-2-equal, .faq-grid{ grid-template-columns:1fr; }
  .cta-panel--inverted{ width:100%; }
}

@media (max-width:600px){
  .hero-grid-svc .left h1{ font-size:clamp(30px,6.5vw,52px); }  /* iets groter */
  .hero-grid-svc .left h2{ font-size:clamp(16px,4.2vw,30px); }  /* iets groter */
  .cta-panel--inverted{ height:auto; padding:16px; }
}


    @media (prefers-reduced-motion:reduce){
      .slope,.reveal-up,.reveal-left,.reveal-right{ transition:none !important; transform:none !important; opacity:1 !important; }
      section.sec{ scroll-snap-align:none; }
    }
  </style>
<style>
/* === Header klikbaar maken zoals index === */
header{
  position:fixed; top:0; left:0; right:0; height:72px;
  z-index:9999;
  pointer-events:none;
}

/* ✅ Op mobiel: header niet fixed */
@media (max-width: 768px){
  header{
    position:absolute !important;
  }
}


.brand-wrap,
.menu-btn{ pointer-events:auto; } /* klikbaar houden */

/* Brandnaam + bol moeten boven alles, absolute positie buiten stacking context */
/* --- Brand + Menu --- */
header{
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 72px;
  z-index: 9999;
  pointer-events: none;
  display: flex;
  align-items: center;           /* ✅ verticale uitlijning */
  justify-content: space-between;
  padding: 0 1.5rem;             /* zelfde marge links/rechts */
}

/* Klikbaar */
.brand, .menu-btn { pointer-events: auto; }

/* Basisschaling */
.brand span {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  line-height: 1;
}

.menu-btn span {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  line-height: 1;
}

/* ✅ Op mobiel: header niet fixed, maar uitlijning blijft identiek */
@media (max-width:768px){
  header { position:absolute !important; }
}

.brand-link{
  position:absolute;
  inset:-6px;
  z-index:10002;
  display:block;
  text-indent:-9999px;
  pointer-events:auto;
}



/* ===== MENU OVERLAY (zichtbaar maken + kliklogica) ===== */
.menu-overlay {
  position: fixed;
  inset: 0;
  background: #F6F3E5;        /* lichte achtergrond */
  color: #000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition:
    transform .45s cubic-bezier(.2,.7,.2,1),
    opacity .4s ease,
    visibility 0s linear .45s;
  z-index: 4000;              /* menu onder brand */
  pointer-events: none;
}


.menu-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
  pointer-events: auto;
}

/* Veiligheid: secties niet boven header leggen */
section.sec{ z-index:0; position:relative; }
/* ===== HERO VIDEO ACHTERGROND ===== */
.hero-wrap--svc {
  position: relative;
  overflow: visible;
}

/* De video vult de hero volledig */
.hero-bg-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Hero-inhoud iets doorschijnend maken zodat video zichtbaar is */
.hero-wrap--svc .container {
  position: relative;
  z-index: 2;
  background: rgba(246, 243, 229, 0.8); /* #F6F3E5 op 80% */
  backdrop-filter: blur(2px);
  border-radius: var(--radius);
  padding: 40px var(--gutter);
}
/* ===== HERO OVERLAY ===== */
.hero-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: #F6F3E5;
  opacity: 0.0;        /* 20% transparant */
  z-index: 1;          /* boven video, onder tekst */
  pointer-events: none; /* laat clicks door naar knoppen/links */
}

/* ✅ Alleen op mobiel: overlay volledig transparant */
@media (max-width: 768px) {
  .hero-overlay {
    opacity: 0.7 !important;     /* maakt overlay volledig onzichtbaar */
    background: #F6F3E5 !important; /* geen kleur */
  }
}


/* ===== HERO VIDEO – desktop/mobiel + fallback ===== */
.hero-bg-video,
.hero-bg-still {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* standaard: desktopvideo actief, mobiel/still uit */
.desktop-only { display: block; }
.mobile-only, .hero-bg-still { display: none; }

/* mobiel (≤768px): toon mobiele video en still */
@media (max-width: 768px) {
  .desktop-only { display: none; }
  .mobile-only { display: block; }
  .hero-bg-still { display: block; }
}

/* fade out still zodra video geladen is */
.hero-bg-video.loaded + .hero-bg-still {
  opacity: 0;
  transition: opacity .6s ease;
}

.whatsapp-float {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #191919;              /* ✅ zuiver wit, geen transparantie */
  border: 2px solid #F6F3E5;        /* beige rand */
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none;
  z-index: 9998;
  transition:
    transform 0.25s cubic-bezier(.2,.7,.2,1),
    box-shadow 0.25s,
    background 0.25s;
}

.whatsapp-float:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

/* vergroot icoon */
.whatsapp-icon {
  width: 40px !important;
  height: 40px !important;
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}

/* ===== E-mail knop ===== */
.email-float {
  position: fixed;
  bottom: calc(40px + 64px + 16px); /* WhatsApp-knophoogte + 16px marge */
  right: 40px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #191919;
  border: 2px solid #F6F3E5;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none;
  z-index: 9998;
  transition:
    transform 0.25s cubic-bezier(.2,.7,.2,1),
    box-shadow 0.25s,
    background 0.25s;
}

.email-float:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

/* E-mail icoon (zelfde schaal als WhatsApp) */
.email-icon {
  width: 50px;
  height: 50px;
  object-fit: contain;
  display: block;
}



/* =========================================
   RESPONSIVE FIXES – Campagne Partners
   ========================================= */

/* --- Basis fixes --- */
section.sec { min-height: 100vh; height: auto; }
:root {
  --gutter: clamp(16px, 4vw, 50px);
}

/* --- Hero (Book/W – Book/S) --- */
@media (max-width: 1024px) {
  .hero-grid-svc { grid-template-columns: 1fr; gap: 32px; }

  /* ✅ behoud beige achtergrond en blur */
  .hero-wrap--svc .container {
    background: rgba(246, 243, 229, 0.8);
    backdrop-filter: blur(2px);
    border-radius: var(--radius);
  }

  .hero-grid-svc .left h1 {
    font-size: clamp(42px, 9vw, 80px);
  }
  .hero-grid-svc .left h2 {
    font-size: clamp(18px, 5vw, 32px);
  }
  .cta-panel--inverted {
    width: 100%;
    max-width: 420px;
    height: auto;
    padding: 20px;
  }
}

/* ✅ Mobiele hero-padding consistent met AEO */
@media (max-width: 768px) {
  .hero-wrap--svc .container {
    padding: 100px 24px 24px 24px !important; /* top right bottom left */
    background: rgba(246, 243, 229, 0.8);     /* behoud tint */
    backdrop-filter: blur(2px);
    box-sizing: border-box;
  }
}

/* (Optioneel behouden) iets grotere H1 op mobiel */
@media (max-width: 768px) {
  .hero-grid-svc .left h1 {
    font-size: clamp(54px, 13vw, 90px) !important;
    line-height: 1.05;
  }
}


/* --- Sectie 2: split layout + carrousel --- */
@media (max-width: 1024px) {

  /* Sectie vrij laten ademen en juiste buitentekst-ruimte */
  #svc-content {
    height: auto !important;
    min-height: auto !important;
    padding: 50px 25px !important;        /* boven/onder 50px – links/rechts 25px */
    display: block !important;
  }

  /* Container binnen sectie: standaard gutter neutraliseren */
  #svc-content > .container {
    padding: 0 !important;                 /* geen extra horizontale gutter van .container */
    width: 100% !important;
  }

  /* Eén kolom-stack met exact 50px tussenruimte */
  #svc-content .split-2-equal {
    display: flex !important;
    flex-direction: column !important;
    gap: 50px !important;                  /* totale ruimte tussen de twee blokken */
  }

  /* Volgorde correct: carrousel boven, tekst onder */
  #svc-content .split-2-equal > .card-box:first-child { order: 1 !important; }
  #svc-content .split-2-equal > .card-box:last-child  { order: 2 !important; }

  /* Interne padding per kolom = 25px */
  #svc-content .card-box {
    display: block;                         /* basisreset; we overschrijven per kolom hieronder */
    padding: 25px !important;               /* EXACT zoals gevraagd */
    border-radius: 12px;
    box-sizing: border-box;
  }

  /* BOVENSTE kolom (carrousel): horizontaal + verticaal gecentreerd */
  #svc-content .split-2-equal > .card-box:first-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;     /* verticaal centreren */
    align-items: center !important;         /* horizontaal centreren */
    text-align: center;
  }

  /* ONDERSTE kolom (Wat je krijgt): links uitlijnen + verticaal centreren */
  #svc-content .split-2-equal > .card-box:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;     /* verticaal centreren */
    align-items: flex-start !important;     /* links uitlijnen */
    text-align: left;
  }

  /* Typografie binnen sectie 2 schaalbaar houden */
  #svc-content h2 { font-size: clamp(20px, 5.3vw, 28px); line-height: 1.2; }
  #svc-content h3 { font-size: clamp(18px, 4.8vw, 24px); line-height: 1.25; }
  #svc-content p,
  #svc-content li { font-size: clamp(14px, 4vw, 18px); line-height: 1.5; }
  #svc-content ul { padding-left: 1.1em; margin: 0; }

  /* Afbeeldingen & iconen responsief en nooit buiten box */
  #svc-content img { max-width: 100%; height: auto; }
  #svc-content .slide-icon {
    width: clamp(48px, 14vw, 80px) !important;
    height: clamp(48px, 14vw, 80px) !important;
  }

  /* Carousel: hoogte laat zich aanpassen aan content; geen overflow */
  #svc-content .carousel-viewport {
    height: auto !important;
    min-height: clamp(260px, 45vh, 420px) !important;
  }
  #svc-content .carousel-track { height: auto !important; }
  #svc-content .slide {
    height: auto !important;
    padding: clamp(16px, 4vw, 28px) !important;
    box-sizing: border-box;
  }

  /* Touchvriendelijke nav-knoppen */
  #svc-content .nav-btn {
    min-width: 56px !important;
    min-height: 56px !important;
  }

  /* Defensief: geen element binnen card-box mag buiten de rand komen */
  #svc-content .card-box * {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* --- FAQ --- */
@media (max-width: 1024px) {
  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-left, .faq-right { width: 100%; }
  .faq-title {
    font-size: clamp(32px, 8vw, 64px);
    line-height: 1.1;
  }
  .faq-sub { max-width: 100%; }
  .faq-btn { padding: 22px 12px; }
}


/* --- SECTIE 3: FAQ – Mobiele layout & typografie --- */
@media (max-width: 768px) {

  /* 1️⃣ Sectie zelf: padding en hoogte */
  #faq {
    height: auto !important;
    min-height: auto !important;
    padding: 50px 25px !important;      /* boven/onder 50px – zijkanten 25px */
    box-sizing: border-box;
  }

  /* 2️⃣ Container binnen FAQ vrijmaken van height lock */
  #faq .container {
    height: auto !important;
    padding: 0 !important;              /* geen dubbele gutter */
    width: 100% !important;
  }

  /* 3️⃣ Grid enkelvoudig, met nette ruimte tussen kolommen */
  #faq .faq-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
  }

  /* 4️⃣ Titel */
  #faq .faq-title {
    font-size: 48px !important;         /* exacte vraag */
    line-height: 1.2;
    text-align: left;
    margin-bottom: 12px;
  }

  /* 5️⃣ Subtitel onder de hoofd-titel */
  #faq .faq-sub {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.6 !important;
    opacity: 0.9;
    max-width: 100%;
  }

  /* 6️⃣ Vragenlijst volledig zichtbaar en leesbaar */
  #faq .faq-list {
    border-top-width: 1.5px;
  }
  #faq .faq-item {
    border-bottom-width: 1.5px;
  }

  /* 7️⃣ Vraagknoppen */
  #faq .faq-btn {
    padding: 18px 4px !important;
    font-size: clamp(16px, 4.2vw, 18px) !important;
    line-height: 1.4;
  }

  /* 8️⃣ Antwoordpanelen */
  #faq .faq-panel {
    padding: 0 4px 16px 4px !important;
  }
  #faq .faq-panel p {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.6 !important;
  }

  /* 9️⃣ Pictogrammen kleiner */
  #faq .faq-ind {
    width: 14px !important;
    height: 14px !important;
  }
  #faq .faq-ind::before { width: 14px; }
  #faq .faq-ind::after  { height: 14px; }

  /* 🔟 Veilig: alle tekst en elementen binnen FAQ nooit buiten randen */
  #faq * {
    max-width: 100%;
    box-sizing: border-box;
  }
}




/* --- Footer --- */
@media (max-width: 992px) {
  .footer-grid { grid-template-columns: 1fr; gap: 32px; text-align: center; }
  .footer-links, .footer-contact { margin-top: 32px; }
  .footer-brand { position: static; margin-top: 40px; }
}

/* --- SECTIE 5: FOOTER – Mobiele layout & typografie --- */
@media (max-width: 768px) {

  /* 1️⃣ Footer zelf: basis-padding */
  footer {
    padding: 50px 25px !important;           /* boven/onder 50 – zijkanten 25 */
    background: #000;                        /* behoud donkere achtergrond */
    color: #fff;
    box-sizing: border-box;
  }

  /* 2️⃣ Container: verwijder standaard gutter */
  footer > .container {
    padding: 0 !important;
    width: 100% !important;
  }

  /* 3️⃣ Footer-grid stapelen met ruimte tussen kolommen */
  .footer-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;                    /* totale afstand tussen kolommen */
    text-align: left !important;             /* alles links uitlijnen */
    align-items: flex-start !important;
  }

  /* 4️⃣ Titels */
  .footer-grid h3 {
    font-size: 40px !important;              /* “Bouw Boost Bereik” */
    line-height: 1.2;
    margin-bottom: 10px;
  }
  .footer-grid h4 {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.3;
    margin-bottom: 8px;
  }

  /* 5️⃣ Algemene tekst */
  .footer-grid p,
  .footer-grid a,
  .footer-grid li {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.6;
    color: #F6F3E5;
    text-decoration: none;
  }

  /* 6️⃣ Lijsten */
  .footer-grid ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer-grid li + li {
    margin-top: 6px;
  }

  /* 7️⃣ Knoppen responsief */
 /* 7️⃣ Knoppen responsief — BEIGE zoals gevraagd */
.footer-grid .btn,
.footer-grid .btn-hero {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, 4.5vw, 18px);
  padding: 10px 18px;
  border-radius: 10px;
  border: 2px solid #000;        /* zwart, sluit aan bij stijl */
  background: #F6F3E5;           /* ✅ BEIGE, niet rood */
  color: #000;                   /* contrast */
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.footer-grid .btn:hover,
.footer-grid .btn-hero:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

  /* 8️⃣ Footer-brand (Campagne Partners) */
/* 8️⃣ Footer-brand + rode bol */
.footer-brand {
  position: relative !important;            /* ✅ terug relative */
  margin-top: 20px !important;
  text-align: left !important;
}

.footer-brand::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #E33E0F;                      /* ✅ rode bol */
  left: -12px;                              /* finetune indien nodig */
  top: 8px;                                 /* finetune indien nodig */
  z-index: 0;
  opacity: 1;
}

.footer-brand span {
  position: relative;
  z-index: 1;                               /* tekst boven de bol */
}

  /* 9️⃣ Contactinfo en legal onderaan */
  .footer-contact {
    margin-top: 10px;
  }
  .footer-legal {
    font-size: clamp(12px, 3.5vw, 14px);
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  /* 🔟 Veilig: niets mag buiten de randen */
  footer * {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* ✅ Fix dubbele rode bol bij footer op mobiel */
@media (max-width: 768px) {
  footer .brand,
  footer .brand::after {
    display: none !important; /* veiligheid */
  }

  /* verberg de header-brand zodra we in de footer komen */
  body footer ~ header .brand::after,
  header .brand::after {
    display: none !important;
  }

  /* alternatief: header-brand volledig verbergen op mobiele footer */
  footer + .cursor + header .brand {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Verwijder de extra kleine bol in de footer */
.footer-brand::after { content: none !important; }


/* --- Menu / Header --- */

@media (max-width:768px){
  /* ✅ Header niet fixed, enkel container */
  header {
    position: absolute !important;
    pointer-events: none !important;
    height: 72px;
  }

  /* ✅ Brandnaam apart */
  .brand {
    position: absolute !important;
    top: 16px !important;     /* afstand boven */
    left: 16px !important;    /* afstand links */
    pointer-events: auto !important;
  }

  /* ✅ Menu-knop apart */
  .menu-btn {
    position: absolute !important;
    top: 24px !important;     /* afstand boven */
    right: 24px !important;   /* afstand rechts */
    pointer-events: auto !important;
  }

  .brand-link {
    inset: 0 !important;
  }

  .brand span { line-height: 0.95; }
  .menu-btn span { line-height: 1; }
}


.brand {
  margin-top: 24px; /* of padding-top: 16px; */
}

@media (max-width: 768px) {
  .brand { margin-top: 10px; }
}


/* ✅ Mobiel: hero-video exact passend binnen hero */
@media (max-width: 768px) {
  .hero-wrap--svc {
    position: relative;
    overflow: hidden;
  }

  .hero-bg-video.mobile-only {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top; /* ✅ zorgt dat de focus bovenaan blijft */
    z-index: 0;
    max-height: 100%;            /* voorkomt dat hij hoger wordt dan de hero zelf */
  }
}


/* ✅ Mobiel: CTA-panel centreren en knoppen uniform maken */
@media (max-width: 768px) {
  .cta-panel--inverted {
    width: 100%;
    max-width: 380px;              /* iets smaller zodat het mooi past */
    height: auto;
    margin: 40px auto 0 auto;      /* centreer horizontaal in hero */
    display: flex;
    flex-direction: column;
    align-items: center;           /* horizontaal centreren */
    justify-content: center;       /* verticaal centreren */
    text-align: center;
    padding: 24px 16px;
  }

  .cta-panel--inverted .cta-name {
    margin: 0 0 12px 0;
    font-size: 18px;
    color: #F6F3E5;
  }

  .cta-panel--inverted .cta-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    width: 100%;
  }

  .cta-panel--inverted .mini-btn {
    flex: 1;                       /* beide even breed */
    height: 44px;                  /* vaste hoogte voor uniform uiterlijk */
    font-size: 12px;               /* kleinere tekst */
    text-transform: uppercase;     /* hoofdletters */
    white-space: nowrap;           /* enkel één regel tekst */
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 8px;
  }
}

/* ✅ Fix asymmetrische padding in CTA-panel */
@media (max-width: 768px) {
  .cta-panel--inverted .cta-name,
  .cta-panel--inverted .cta-buttons {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .cta-panel--inverted {
    padding-left: 20px;
    padding-right: 20px; /* gelijke binnenruimte links/rechts */
  }
}

/* ✅ Mobiel: grotere tekst in CTA-panel */
@media (max-width: 768px) {
  .cta-panel--inverted .cta-name {
    font-size: 26px !important;   /* vergroot enkel de tekst */
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.3px;
  }
}

@media (max-width: 768px) {
  .brand-link {
    width: 50%;
    height: 20%;
    inset: auto;      /* voorkomt dat het uitschuift */
  }
}




@media (max-width: 600px) {
  .meeting-float,
  .email-float,
  .whatsapp-float {
    right: 20px;
    width: 56px;
    height: 56px;
    transform: scale(0.9);
  }

  .whatsapp-float {
    bottom: 20px;
  }

  .email-float {
    bottom: calc(20px + 56px + 16px);
  }

  .meeting-float {
    bottom: calc(20px + (56px + 16px) * 2);
  }
}

@media (max-width: 600px) {
  .meeting-float .meeting-icon {
    width: 50px;
    height: 50px;
  }
}

/* --- Cookie banner --- */
@media (max-width: 768px) {
  .cookie-banner .cookie-inner {
    max-width: 90vw;
    font-size: clamp(14px, 2vw, 16px);
  }
}

/* === MOBIEL: MENU VOLLEDIG SCHERMVULLEND EN BOVEN ALLES === */
@media (max-width: 768px) {
  .menu-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #F6F3E5 !important;
    z-index: 100000 !important;   /* boven alles */
    transform: translateY(-100%);
    transition: transform .45s cubic-bezier(.2,.7,.2,1), opacity .4s ease;
  }

  .menu-overlay.open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}


</style>


#svc-hero .hero-grid-svc .left h2 {
  white-space: nowrap;      /* blijft goed voor één regel */
  overflow: visible;        /* ✅ voorkomt afsnijden van onderkant */
  text-overflow: clip;      /* geen “…” meer */
  font-size: clamp(18px, 2.8vw, 34px);
  line-height: 1.25;        /* ✅ meer ademruimte voorkomt clipping */
}





/* === FINALE FIX: Brand-link klikbaar zonder verschuiven (desktop + mobiel) === */

/* Header blijft click-through */
header {
  pointer-events: none !important;
}

/* Brand op vaste absolute positie linksboven */
.brand {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  pointer-events: auto !important;
}

/* Link vult volledige brand-bubble en tekst, zonder layoutverschuiving */
.brand-link {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 10002 !important;
  display: block !important;
  text-indent: -9999px;
  pointer-events: auto !important;
}


/* ================================================
   Hero-knoppen op Schedule Marketing – correctie
   ================================================ */
#svc-hero .mini-btn,
#svc-hero .hero-actions a.mini-btn,
#svc-hero .hero-actions button.mini-btn {
  background-color: #F6F3E5 !important;
  color: #191919 !important;
  border: 1px solid #191919 !important;
}

/* Hoverstijl apart om de kleur stabiel te houden */
#svc-hero .mini-btn:hover,
#svc-hero .hero-actions a.mini-btn:hover,
#svc-hero .hero-actions button.mini-btn:hover {
  background-color: #EDE9D8 !important; /* iets donkerder beige bij hover */
  color: #191919 !important;
  border-color: #191919 !important;
}
